db-studio 2.0.1 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) hide show
  1. package/dist/index.js +75 -75
  2. package/dist/index.js.map +1 -1
  3. package/dist/web-dist/assets/{_pathlessLayout-aKKQKRJX.js → _pathlessLayout-CUDS1e28.js} +1 -1
  4. package/dist/web-dist/assets/_pathlessLayout-WZkezfN7.js +2 -0
  5. package/dist/web-dist/assets/{_queryId-DnPgn-AJ.js → _queryId-CEJb62Vl.js} +1 -1
  6. package/dist/web-dist/assets/{_table-DIbpzW3q.js → _table-6SZEx92j.js} +1 -1
  7. package/dist/web-dist/assets/_table-BUNHOVIK.js +1 -0
  8. package/dist/web-dist/assets/_table-CwyP_2EP.js +1 -0
  9. package/dist/web-dist/assets/{abap-DQayJW6v.js → abap-B-HzHdT_.js} +1 -1
  10. package/dist/web-dist/assets/{apex-Djzlm7in.js → apex-t5VcK3BF.js} +1 -1
  11. package/dist/web-dist/assets/{azcli-Bbikkqe4.js → azcli-Ce3iuV2p.js} +1 -1
  12. package/dist/web-dist/assets/{badge-HtbO9hWg.js → badge-COF6gx-2.js} +1 -1
  13. package/dist/web-dist/assets/{bat-BUFda2RT.js → bat-bOBZcLbK.js} +1 -1
  14. package/dist/web-dist/assets/{bicep-CuUgDHWX.js → bicep-TSicgsnM.js} +1 -1
  15. package/dist/web-dist/assets/{browser-B6gU7HWo.js → browser-B-fV6CZb.js} +1 -1
  16. package/dist/web-dist/assets/{bundle-mjs-DEMZsBkP.js → bundle-mjs-CZwf2xtr.js} +1 -1
  17. package/dist/web-dist/assets/{cameligo-DITobApP.js → cameligo-D-9xpPXV.js} +1 -1
  18. package/dist/web-dist/assets/{chat-sidebar-Cr2fVFDF.js → chat-sidebar-DwzCElBd.js} +5 -5
  19. package/dist/web-dist/assets/{clojure-DTFcSI8F.js → clojure-9X3x3csE.js} +1 -1
  20. package/dist/web-dist/assets/{code-editor-BpsclD2u.js → code-editor-tPwHd3zF.js} +4 -4
  21. package/dist/web-dist/assets/{coffee-CmIRg0oP.js → coffee-anOch8Z-.js} +1 -1
  22. package/dist/web-dist/assets/{connect-BM4hZPnz.js → connect-l3LjAClZ.js} +1 -1
  23. package/dist/web-dist/assets/{constants-BBxXyYPa.js → constants-CKAehpPm.js} +3 -3
  24. package/dist/web-dist/assets/{cpp-BwBWpZT1.js → cpp-oW293AoF.js} +1 -1
  25. package/dist/web-dist/assets/{csharp-BnWK75m3.js → csharp-BOXMgm5k.js} +1 -1
  26. package/dist/web-dist/assets/{csp-Dohj3XYI.js → csp-D67JhNKT.js} +1 -1
  27. package/dist/web-dist/assets/{css-DN4GbnxY.js → css-Bk6H7_K_.js} +1 -1
  28. package/dist/web-dist/assets/{cssMode-CiAtMuTk.js → cssMode-G6latsS7.js} +1 -1
  29. package/dist/web-dist/assets/{cypher-CKAK8eD4.js → cypher-DB0LBjic.js} +1 -1
  30. package/dist/web-dist/assets/{dart-imWXBTLy.js → dart-CS3MbwLP.js} +1 -1
  31. package/dist/web-dist/assets/{database.store-73Wsz2L5.js → database.store-BuqVJMY6.js} +7 -7
  32. package/dist/web-dist/assets/{dist-DwRWhVwY.js → dist-Bz0qAN0x.js} +1 -1
  33. package/dist/web-dist/assets/{dist-D4HUXaJv.js → dist-Cf0L32Jd.js} +1 -1
  34. package/dist/web-dist/assets/{dockerfile-CXOK4zpC.js → dockerfile-BGz3qsmk.js} +1 -1
  35. package/dist/web-dist/assets/{ecl-lOrW9o9k.js → ecl-lt3qcklx.js} +1 -1
  36. package/dist/web-dist/assets/{editor.api-DSevzNN8.js → editor.api-BTIrAcm5.js} +1 -1
  37. package/dist/web-dist/assets/{elixir-DgvzEwPU.js → elixir-cMyUafed.js} +1 -1
  38. package/dist/web-dist/assets/{esm-DC8GK2En.js → esm-B-4Q6MuQ.js} +1 -1
  39. package/dist/web-dist/assets/{flow9-l3BJy5NQ.js → flow9-BI9V6TuS.js} +1 -1
  40. package/dist/web-dist/assets/{format-cell-value-CuhjnBNV.js → format-cell-value-CgUtYv8B.js} +1 -1
  41. package/dist/web-dist/assets/{freemarker2-73G2DeCz.js → freemarker2-mnCFA3xV.js} +1 -1
  42. package/dist/web-dist/assets/{fsharp-sfou20I_.js → fsharp-I1kqnt0E.js} +1 -1
  43. package/dist/web-dist/assets/{go-DnjkNg4Q.js → go-Cg4qMFVj.js} +1 -1
  44. package/dist/web-dist/assets/{graphql-BJFXvNDL.js → graphql-CvtHcP49.js} +1 -1
  45. package/dist/web-dist/assets/{handlebars-DXg2L0KG.js → handlebars-BUcE6Uyy.js} +1 -1
  46. package/dist/web-dist/assets/{hcl-B4FYtDde.js → hcl-BkvCdKNu.js} +1 -1
  47. package/dist/web-dist/assets/highlighted-body-OFNGDK62-t8UIAZOZ.js +1 -0
  48. package/dist/web-dist/assets/{html-BvAUQUXw.js → html-BBqcfykD.js} +1 -1
  49. package/dist/web-dist/assets/{htmlMode-hZ3EloXT.js → htmlMode-D8je66Rk.js} +1 -1
  50. package/dist/web-dist/assets/icons-DxFtdMXW.js +1 -0
  51. package/dist/web-dist/assets/index-QVi4Lb9U.css +2 -0
  52. package/dist/web-dist/assets/index-WFVurGCI.js +34 -0
  53. package/dist/web-dist/assets/{indexes-BYqaS45O.js → indexes-C3Qddb5L.js} +1 -1
  54. package/dist/web-dist/assets/{ini-H3EW14Oa.js → ini-CPc8BCWu.js} +1 -1
  55. package/dist/web-dist/assets/{java-Cu5qHMXc.js → java-C9Yie4SH.js} +1 -1
  56. package/dist/web-dist/assets/{javascript-bJHYh6Or.js → javascript-CuGq5ydO.js} +1 -1
  57. package/dist/web-dist/assets/{json-editor-ZcSS1MRc.js → json-editor-Dc1E8Fc-.js} +1 -1
  58. package/dist/web-dist/assets/{jsonMode-CDMOUPss.js → jsonMode-BgdTmYik.js} +1 -1
  59. package/dist/web-dist/assets/{julia-CZ0npMib.js → julia--qJGRfN8.js} +1 -1
  60. package/dist/web-dist/assets/{keys-By5o7bPm.js → keys-Bs0DRbCB.js} +1 -1
  61. package/dist/web-dist/assets/{kotlin-BpW0qHIt.js → kotlin-C3MSe-0N.js} +1 -1
  62. package/dist/web-dist/assets/{label-C93T1BbF.js → label-DzHJlGAx.js} +1 -1
  63. package/dist/web-dist/assets/{less-DTBM-Kxp.js → less-DOBYgWSY.js} +1 -1
  64. package/dist/web-dist/assets/{lexon-CLOvNp8v.js → lexon-Djd2rGvJ.js} +1 -1
  65. package/dist/web-dist/assets/{liquid-IpfBCIUY.js → liquid-DXfHmR66.js} +1 -1
  66. package/dist/web-dist/assets/{logs-CnLvqVtL.js → logs-BortjBc-.js} +1 -1
  67. package/dist/web-dist/assets/{lspLanguageFeatures-CnYZSn_O.js → lspLanguageFeatures-C7-iyD6G.js} +1 -1
  68. package/dist/web-dist/assets/{lua-BERpVknn.js → lua-Ck8vNcPw.js} +1 -1
  69. package/dist/web-dist/assets/{m3-B_gILjHh.js → m3-a6Kl4TV0.js} +1 -1
  70. package/dist/web-dist/assets/{markdown-DamaZSqy.js → markdown-DkcRBwO0.js} +1 -1
  71. package/dist/web-dist/assets/{mdx-BTw_ghf-.js → mdx-QI5o45qz.js} +1 -1
  72. package/dist/web-dist/assets/{mermaid-GHXKKRXX-B7fOqMvZ.js → mermaid-GHXKKRXX-D35eppUc.js} +1 -1
  73. package/dist/web-dist/assets/{middleware-DKaxoFZs.js → middleware-CXk7SlTF.js} +1 -1
  74. package/dist/web-dist/assets/{mips-BkjI-_01.js → mips-Cc1YVI2p.js} +1 -1
  75. package/dist/web-dist/assets/{module-BbdCXsK0.js → module-D_kjbMCc.js} +1 -1
  76. package/dist/web-dist/assets/{monaco-theme-DkPj5STI.js → monaco-theme-C2k_taVU.js} +4 -4
  77. package/dist/web-dist/assets/{msdax-5OSOIuww.js → msdax-Bh41xUoQ.js} +1 -1
  78. package/dist/web-dist/assets/{mysql-CMtxQW5J.js → mysql-BZTZMxPa.js} +1 -1
  79. package/dist/web-dist/assets/{objective-c-CoW52So-.js → objective-c-CxZIMOHQ.js} +1 -1
  80. package/dist/web-dist/assets/{overlay.store-BL-3zX6X.js → overlay.store-DsUdwZjE.js} +1 -1
  81. package/dist/web-dist/assets/{pascal-BxyU4sPJ.js → pascal-I-WmLkmD.js} +1 -1
  82. package/dist/web-dist/assets/{pascaligo-C63_040U.js → pascaligo-DEZ-6bwf.js} +1 -1
  83. package/dist/web-dist/assets/{perl-ayfptt23.js → perl-DfeHQJxJ.js} +1 -1
  84. package/dist/web-dist/assets/{personal-preferences.store-BIr71Re8.js → personal-preferences.store-DXSnKmVN.js} +1 -1
  85. package/dist/web-dist/assets/{pgsql-CPGqMVI3.js → pgsql-OdOoQYPW.js} +1 -1
  86. package/dist/web-dist/assets/{php-DA-YJ6wI.js → php-CF1bUutw.js} +1 -1
  87. package/dist/web-dist/assets/{pla-DesDCKWW.js → pla-BHZr0GrY.js} +1 -1
  88. package/dist/web-dist/assets/{postiats-B8yhii_n.js → postiats-BSB6a63H.js} +1 -1
  89. package/dist/web-dist/assets/{powerquery-CG8tCOct.js → powerquery-Bu0p84Ye.js} +1 -1
  90. package/dist/web-dist/assets/{powershell-C68aZHza.js → powershell-Dcq3YM6T.js} +1 -1
  91. package/dist/web-dist/assets/{preload-helper-DZhPwQp1.js → preload-helper-DF7hIgef.js} +1 -1
  92. package/dist/web-dist/assets/{protobuf-OaVxpJrs.js → protobuf-CsWrQxqX.js} +1 -1
  93. package/dist/web-dist/assets/{pug-0lOSC2rA.js → pug-DLQiv3Bp.js} +1 -1
  94. package/dist/web-dist/assets/{python-C8ab8TeJ.js → python-BvKEpyP9.js} +1 -1
  95. package/dist/web-dist/assets/{qsharp-BmHeDwNl.js → qsharp-D8nrRUNu.js} +1 -1
  96. package/dist/web-dist/assets/{queries.store-Dwdw-Gej.js → queries.store-BaeyNA64.js} +1 -1
  97. package/dist/web-dist/assets/query-runner-f473QQSD.js +17 -0
  98. package/dist/web-dist/assets/{r-DoHxhOJg.js → r-xhyKpGTk.js} +1 -1
  99. package/dist/web-dist/assets/{radix-ui-ByvuE8TW.js → radix-ui-CxCv--D1.js} +2 -2
  100. package/dist/web-dist/assets/{razor-DynaHCXX.js → razor-Ceb9S1Rz.js} +1 -1
  101. package/dist/web-dist/assets/react-DEQ0BgTL.js +1 -0
  102. package/dist/web-dist/assets/{react-dom-DQQG0g0D.js → react-dom-ITw3Lqwx.js} +1 -1
  103. package/dist/web-dist/assets/{redis-CSL-jfR-.js → redis-BnpkEvbr.js} +1 -1
  104. package/dist/web-dist/assets/redis-value-DMk0-Zuc.js +1 -0
  105. package/dist/web-dist/assets/{redshift-Cb-LWZ8f.js → redshift-BpxVXjAI.js} +1 -1
  106. package/dist/web-dist/assets/{restructuredtext-DTqnvYsu.js → restructuredtext-5afXtW7D.js} +1 -1
  107. package/dist/web-dist/assets/{rolldown-runtime-0wqQW3ea.js → rolldown-runtime-fzu9RN21.js} +1 -1
  108. package/dist/web-dist/assets/{ruby-DbgDuslH.js → ruby-CHaoWUHT.js} +1 -1
  109. package/dist/web-dist/assets/{runner-DFzqBXp0.js → runner-NsYjzIZs.js} +1 -1
  110. package/dist/web-dist/assets/{rust-CWzrsIL_.js → rust-Bw0WVsLy.js} +1 -1
  111. package/dist/web-dist/assets/{sb-BghszYt-.js → sb-CEjXmIyG.js} +1 -1
  112. package/dist/web-dist/assets/{scala-Cw9RU1Qz.js → scala-BuaCSaU6.js} +1 -1
  113. package/dist/web-dist/assets/{schema-B_EtHxTf.js → schema-CE1yGygf.js} +1 -1
  114. package/dist/web-dist/assets/{schema-iTfBKwXl.js → schema-rxLBue8Q.js} +1 -1
  115. package/dist/web-dist/assets/{scheme-DeYmvmAH.js → scheme-DIKzlmFG.js} +1 -1
  116. package/dist/web-dist/assets/{scss-D_S6B2H1.js → scss-C2_UsWzg.js} +1 -1
  117. package/dist/web-dist/assets/{select-DU0HoKZ4.js → select-C-nrz7Tx.js} +1 -1
  118. package/dist/web-dist/assets/{separator-CZgXYjVQ.js → separator-DnB61XAO.js} +1 -1
  119. package/dist/web-dist/assets/{sheet-sidebar-KvxY47ZZ.js → sheet-sidebar-BGxJGRbd.js} +1 -1
  120. package/dist/web-dist/assets/{shell-B59ItoUV.js → shell-2aEL2EVH.js} +1 -1
  121. package/dist/web-dist/assets/{solidity-De0h6YhL.js → solidity-D-5XfYE1.js} +1 -1
  122. package/dist/web-dist/assets/{sophia-DWmKHYE0.js → sophia-s4MFSvUF.js} +1 -1
  123. package/dist/web-dist/assets/{sparql-0sKQlAae.js → sparql-Dkv46wS5.js} +1 -1
  124. package/dist/web-dist/assets/{spinner-FJ-tXoFX.js → spinner-CNnB5r0X.js} +1 -1
  125. package/dist/web-dist/assets/{sql-Cafrv7gm.js → sql-Dz9Xhs8s.js} +1 -1
  126. package/dist/web-dist/assets/{st-qkFqcB41.js → st-Cbo0XVmr.js} +1 -1
  127. package/dist/web-dist/assets/{swift-CDPKFfVs.js → swift-B66X97nW.js} +1 -1
  128. package/dist/web-dist/assets/{systemverilog-rjtBmhAJ.js → systemverilog-gGKga8Gf.js} +1 -1
  129. package/dist/web-dist/assets/{table-DmoKTp5U.js → table-C8WK3uAc.js} +1 -1
  130. package/dist/web-dist/assets/tables-D98Kbmcb.js +16 -0
  131. package/dist/web-dist/assets/{tanstack-Cb7WFPRi.js → tanstack-RwHFfmqj.js} +4 -4
  132. package/dist/web-dist/assets/{tcl-C0NrUCCP.js → tcl-BtbeJsUN.js} +1 -1
  133. package/dist/web-dist/assets/{tsMode-C2yuf0pi.js → tsMode-BgtcNcpl.js} +1 -1
  134. package/dist/web-dist/assets/{twig-RBrBABOf.js → twig-0_nXiuYs.js} +1 -1
  135. package/dist/web-dist/assets/{typescript-DWkZjHjp.js → typescript-Cy_CzC_-.js} +1 -1
  136. package/dist/web-dist/assets/{typespec-DfQiGud4.js → typespec-DBO6_WMJ.js} +1 -1
  137. package/dist/web-dist/assets/{use-database-engine-Mwmv8X7V.js → use-database-engine-DZZj7-4J.js} +1 -1
  138. package/dist/web-dist/assets/{use-theme-BLw5dtZV.js → use-theme-DBhPknw6.js} +1 -1
  139. package/dist/web-dist/assets/{utils-awMbhLwX.js → utils-EJLOIroS.js} +1 -1
  140. package/dist/web-dist/assets/{vb-BslxQW9i.js → vb-DFJjBsW2.js} +1 -1
  141. package/dist/web-dist/assets/{visualizer-LoD_yU5U.js → visualizer-CgYlDJ_-.js} +1 -1
  142. package/dist/web-dist/assets/{vscode-Ba8jYSS7.js → vscode-wuSgCuZI.js} +1 -1
  143. package/dist/web-dist/assets/{wgsl-Bq67ZIFU.js → wgsl-U3RBM2M0.js} +1 -1
  144. package/dist/web-dist/assets/{workers-rMl5Xrk2.js → workers-ClRH6A2w.js} +1 -1
  145. package/dist/web-dist/assets/{xml-PfDqoe6w.js → xml-D11j3J2_.js} +1 -1
  146. package/dist/web-dist/assets/{yaml-CIuY3cB5.js → yaml-D7Z_4mnx.js} +1 -1
  147. package/dist/web-dist/index.html +31 -31
  148. package/package.json +1 -1
  149. package/dist/web-dist/assets/_pathlessLayout-s6cwJxH6.js +0 -2
  150. package/dist/web-dist/assets/_table-Bgt0zJ9m.js +0 -1
  151. package/dist/web-dist/assets/_table-CU8PHZQE.js +0 -1
  152. package/dist/web-dist/assets/highlighted-body-OFNGDK62-Bi4CQl8I.js +0 -1
  153. package/dist/web-dist/assets/icons-CheF8KGp.js +0 -1
  154. package/dist/web-dist/assets/index-YCx2RIFq.js +0 -34
  155. package/dist/web-dist/assets/index-mbFBVmHb.css +0 -2
  156. package/dist/web-dist/assets/query-runner-C430BH5I.js +0 -17
  157. package/dist/web-dist/assets/react-CKF1H7h0.js +0 -1
  158. package/dist/web-dist/assets/redis-value-Bf0tOet0.js +0 -1
  159. package/dist/web-dist/assets/tables-By-PTDwU.js +0 -13
@@ -0,0 +1,16 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/json-editor-Dc1E8Fc-.js","assets/rolldown-runtime-fzu9RN21.js","assets/icons-DxFtdMXW.js","assets/radix-ui-CxCv--D1.js","assets/utils-EJLOIroS.js","assets/bundle-mjs-CZwf2xtr.js","assets/personal-preferences.store-DXSnKmVN.js","assets/react-DEQ0BgTL.js","assets/middleware-CXk7SlTF.js","assets/use-theme-DBhPknw6.js","assets/editor.api-BTIrAcm5.js","assets/preload-helper-DF7hIgef.js","assets/editor-1FQrmyyI.css","assets/monaco-theme-C2k_taVU.js","assets/monaco-theme-BnSsSzUH.css","assets/_table-CwyP_2EP.js"])))=>i.map(i=>d[i]);
2
+ import{n as Cr,r as Qa}from"./rolldown-runtime-fzu9RN21.js";import{C as ct,E as tt,a as gs,i as xs,l as Za,m as Xa,n as vs,o as eo,p as to,r as un,v as no,w as jr}from"./tanstack-RwHFfmqj.js";import{Ct as ys,D as ro,Dt as so,E as bs,Et as ao,Ft as oo,G as io,H as ws,It as lo,L as co,Lt as uo,Mt as fo,Ot as mo,Pt as ho,St as Sr,T as po,Tt as fn,Y as go,Z as Cs,a as xo,b as vo,c as js,dt as yo,gt as Qn,jt as bo,n as An,nt as wo,tt as Co,ut as jo,wt as Ss,x as So,xt as No,zt as Do}from"./icons-DxFtdMXW.js";import{_ as Ns,_t as ko,bt as To,c as Eo,d as Oo,f as Mo,g as Ro,gt as _o,h as Ds,ht as Ao,jt as Po,l as Fo,m as ks,mt as Io,pt as Wo,s as zo,u as Lo,vt as Yo,yt as $o}from"./radix-ui-CxCv--D1.js";import{n as we}from"./dist-Cf0L32Jd.js";import{t as F}from"./utils-EJLOIroS.js";import{t as Nr}from"./spinner-CNnB5r0X.js";import{a as at,c as ot,n as I,o as it,r as Kr,t as xe}from"./overlay.store-DsUdwZjE.js";import{n as J,t as Yt}from"./dist-Bz0qAN0x.js";import{A as Ts,G as Bo,J as Ko,K as Vo,M as Es,N as Dr,W as Uo,Y as Ho,_ as Mn,b as qo,c as kr,d as Jo,h as Tr,k as Go,l as Qo,n as Os,q as Zo,s as Er,u as Je,v as ue,w as Te,x as Xo,y as Ms}from"./schema-CE1yGygf.js";import{n as Oe,r as ei,t as Re}from"./label-DzHJlGAx.js";import{f as Xe,r as mn,t as Rt}from"./sheet-sidebar-BGxJGRbd.js";import{t as Kt}from"./react-DEQ0BgTL.js";import{D as ti,E as ni,O as ri,V as si,_ as ai,d as oi,k as Rs,l as ii,m as li,n as ci,t as K,y as ui}from"./constants-CKAehpPm.js";import{i as hn,t as be}from"./database.store-BuqVJMY6.js";import{t as _s}from"./preload-helper-DF7hIgef.js";import{a as Vt,c as yt,d as bt,f as wt,i as nt,l as Ct,m as ye,n as _t,o as jt,p as St,r as di,s as Nt,t as fi,u as Dt}from"./badge-COF6gx-2.js";import{a as $e,i as Be,n as Ke,r as Q,t as Ve}from"./select-C-nrz7Tx.js";import{t as Ut}from"./use-database-engine-DZZj7-4J.js";import{s as pe}from"./keys-Bs0DRbCB.js";import{t as Ie}from"./format-cell-value-CgUtYv8B.js";import{n as mi,r as hi,t as Vr}from"./separator-DnB61XAO.js";import{t as pi}from"./middleware-CXk7SlTF.js";import{r as gi}from"./personal-preferences.store-DXSnKmVN.js";import{n as xi,t as vi}from"./vscode-wuSgCuZI.js";import{t as yi}from"./use-theme-DBhPknw6.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.1.0"};var t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="8f2711a6-5028-49e8-bb49-b1314059bae0",e._sentryDebugIdIdentifier="sentry-dbid-8f2711a6-5028-49e8-bb49-b1314059bae0")}catch{}})();var u=Qa(Do(),1),a=Po();function _e({className:e,...t}){return(0,a.jsx)("kbd",{"data-slot":"kbd",className:F("bg-muted text-muted-foreground border [[data-slot=tooltip-content]_&]:bg-background/20 [[data-slot=tooltip-content]_&]:text-background dark:[[data-slot=tooltip-content]_&]:bg-background/10 h-5 w-fit min-w-5 gap-1 rounded-xs px-1 font-sans text-[0.625rem] font-medium [&_svg:not([class*='size-'])]:size-3 pointer-events-none inline-flex items-center justify-center select-none",e),...t})}var Cm=()=>{const e=tt(),{selectedDatabase:t}=be(),{mutateAsync:n,isPending:r,reset:s}=ct({mutationFn:async({tableName:c,schemaName:l,cascade:m=!1})=>(await ii({tableName:c,schemaName:l,db:t,cascade:m})).data.data,onSuccess:async()=>{await e.invalidateQueries({queryKey:pe.lists()})}});return{deleteTable:async(c,l)=>{const m=n({tableName:c,schemaName:l,cascade:!1});return we.promise(m,{loading:"Deleting table...",success:d=>d.fkViolation?`Table "${c}" has related records`:`Deleted table "${c}" with ${d.deletedCount} rows`,error:d=>d.message||"Failed to delete table"}),m},forceDeleteTable:async(c,l)=>{const m=n({tableName:c,schemaName:l,cascade:!0});return we.promise(m,{loading:"Deleting table...",success:d=>`Force deleted table "${c}" with ${d.deletedCount} rows`,error:d=>d.message||"Failed to delete table"}),m},isDeletingTable:r,resetDeleteResult:s}},jm=()=>{const{selectedDatabase:e,dbType:t}=be(),{mutateAsync:n,isPending:r}=ct({mutationFn:async({tableName:o,schemaName:i,format:c})=>{const l=await oi({tableName:o,schemaName:i,format:c,db:e}),m=l.headers["content-disposition"],d=(typeof m=="string"?m:void 0)?.match(/filename="(.+)"/)?.[1]||`${o}_export.${c}`,f=l.headers["content-type"],h=typeof f=="string"?f:"application/octet-stream",p=new Blob([l.data],{type:h}),w=window.URL.createObjectURL(p),j=document.createElement("a");j.href=w,j.download=d,document.body.appendChild(j),j.click(),document.body.removeChild(j),window.URL.revokeObjectURL(w),t&&hn.capture("record_exported",{db_type:t,format:c})}});return{exportFile:async o=>we.promise(n(o),{loading:"Exporting file...",success:"File exported successfully",error:i=>i.message||"Failed to export file"}),isExportingFile:r}},Sm=({tableName:e,schemaName:t})=>{const n=tt(),{selectedDatabase:r}=be(),{mutateAsync:s,isPending:o}=ct({mutationFn:async c=>(await ui({tableName:e,data:{...c,schemaName:t},db:r})).data.data,onSuccess:async()=>{await n.invalidateQueries({queryKey:pe.lists()}),await n.removeQueries({queryKey:[K.CACHE_KEYS.TABLE_DATA,e]}),await n.removeQueries({queryKey:[K.CACHE_KEYS.TABLE_COLUMNS,e]})}});return{renameTable:async(c,l)=>{const m=s(c,l);return we.promise(m,{loading:"Renaming table...",success:d=>d||"Table renamed successfully",error:d=>typeof d.details=="string"&&d.details||d.message||"Failed to rename table"}),m},isRenamingTable:o}},Nm=()=>{const{selectedDatabase:e}=be(),{data:t,isLoading:n,error:r}=jr({queryKey:pe.list(e),queryFn:()=>ai(e),select:s=>s.data.data,enabled:!!e});return{tablesList:t,isLoadingTablesList:n,errorTablesList:r}},bi=365.2425,wi=Math.pow(10,8)*24*60*60*1e3,Dm=-wi,As=6048e5,Ci=864e5,ji=3600,Ps=ji*24,km=Ps*7,Si=Ps*bi,Ni=Si/12,Tm=Ni*3,Ur=Symbol.for("constructDateFrom");function fe(e,t){return typeof e=="function"?e(t):e&&typeof e=="object"&&Ur in e?e[Ur](t):e instanceof Date?new e.constructor(t):new Date(t)}function re(e,t){return fe(t||e,e)}function Rn(e,t,n){const r=re(e,n?.in);return isNaN(t)?fe(n?.in||e,NaN):(t&&r.setDate(r.getDate()+t),r)}function Fs(e,t,n){const r=re(e,n?.in);if(isNaN(t))return fe(n?.in||e,NaN);if(!t)return r;const s=r.getDate(),o=fe(n?.in||e,r.getTime());return o.setMonth(r.getMonth()+t+1,0),s>=o.getDate()?o:(r.setFullYear(o.getFullYear(),o.getMonth(),s),r)}var Di={};function pn(){return Di}function $t(e,t){const n=pn(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,s=re(e,t?.in),o=s.getDay(),i=(o<r?7:0)+o-r;return s.setDate(s.getDate()-i),s.setHours(0,0,0,0),s}function dn(e,t){return $t(e,{...t,weekStartsOn:1})}function Is(e,t){const n=re(e,t?.in),r=n.getFullYear(),s=fe(n,0);s.setFullYear(r+1,0,4),s.setHours(0,0,0,0);const o=dn(s),i=fe(n,0);i.setFullYear(r,0,4),i.setHours(0,0,0,0);const c=dn(i);return n.getTime()>=o.getTime()?r+1:n.getTime()>=c.getTime()?r:r-1}function Hr(e){const t=re(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),+e-+n}function Ht(e,...t){const n=fe.bind(null,e||t.find(r=>typeof r=="object"));return t.map(n)}function Bt(e,t){const n=re(e,t?.in);return n.setHours(0,0,0,0),n}function Or(e,t,n){const[r,s]=Ht(n?.in,e,t),o=Bt(r),i=Bt(s),c=+o-Hr(o),l=+i-Hr(i);return Math.round((c-l)/Ci)}function ki(e,t){const n=Is(e,t),r=fe(t?.in||e,0);return r.setFullYear(n,0,4),r.setHours(0,0,0,0),dn(r)}function Ti(e,t,n){return Rn(e,t*7,n)}function Ei(e,t,n){return Fs(e,t*12,n)}function Oi(e,t){let n,r=t?.in;return e.forEach(s=>{!r&&typeof s=="object"&&(r=fe.bind(null,s));const o=re(s,r);(!n||n<o||isNaN(+o))&&(n=o)}),fe(r,n||NaN)}function Mi(e,t){let n,r=t?.in;return e.forEach(s=>{!r&&typeof s=="object"&&(r=fe.bind(null,s));const o=re(s,r);(!n||n>o||isNaN(+o))&&(n=o)}),fe(r,n||NaN)}function Ri(e,t,n){const[r,s]=Ht(n?.in,e,t);return+Bt(r)==+Bt(s)}function Ws(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}function _i(e){return!(!Ws(e)&&typeof e!="number"||isNaN(+re(e)))}function zs(e,t,n){const[r,s]=Ht(n?.in,e,t),o=r.getFullYear()-s.getFullYear(),i=r.getMonth()-s.getMonth();return o*12+i}function Ai(e,t){const n=re(e,t?.in),r=n.getMonth();return n.setFullYear(n.getFullYear(),r+1,0),n.setHours(23,59,59,999),n}function Ls(e,t){const[n,r]=Ht(e,t.start,t.end);return{start:n,end:r}}function Pi(e,t){const{start:n,end:r}=Ls(t?.in,e);let s=+n>+r;const o=s?+n:+r,i=s?r:n;i.setHours(0,0,0,0),i.setDate(1);let c=t?.step??1;if(!c)return[];c<0&&(c=-c,s=!s);const l=[];for(;+i<=o;)l.push(fe(n,i)),i.setMonth(i.getMonth()+c);return s?l.reverse():l}function Fi(e,t){const n=re(e,t?.in);return n.setDate(1),n.setHours(0,0,0,0),n}function Ii(e,t){const n=re(e,t?.in),r=n.getFullYear();return n.setFullYear(r+1,0,0),n.setHours(23,59,59,999),n}function Ys(e,t){const n=re(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}function Wi(e,t){const{start:n,end:r}=Ls(t?.in,e);let s=+n>+r;const o=s?+n:+r,i=s?r:n;i.setHours(0,0,0,0),i.setMonth(0,1);let c=t?.step??1;if(!c)return[];c<0&&(c=-c,s=!s);const l=[];for(;+i<=o;)l.push(fe(n,i)),i.setFullYear(i.getFullYear()+c);return s?l.reverse():l}function $s(e,t){const n=pn(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,s=re(e,t?.in),o=s.getDay(),i=(o<r?-7:0)+6-(o-r);return s.setDate(s.getDate()+i),s.setHours(23,59,59,999),s}function zi(e,t){return $s(e,{...t,weekStartsOn:1})}var Li={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},Yi=(e,t,n)=>{let r;const s=Li[e];return typeof s=="string"?r=s:t===1?r=s.one:r=s.other.replace("{{count}}",t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?"in "+r:r+" ago":r};function Zn(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}var $i={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},Bi={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},Ki={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},Vi={date:Zn({formats:$i,defaultWidth:"full"}),time:Zn({formats:Bi,defaultWidth:"full"}),dateTime:Zn({formats:Ki,defaultWidth:"full"})},Ui={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},Hi=(e,t,n,r)=>Ui[e];function Zt(e){return(t,n)=>{const r=n?.context?String(n.context):"standalone";let s;if(r==="formatting"&&e.formattingValues){const i=e.defaultFormattingWidth||e.defaultWidth,c=n?.width?String(n.width):i;s=e.formattingValues[c]||e.formattingValues[i]}else{const i=e.defaultWidth,c=n?.width?String(n.width):e.defaultWidth;s=e.values[c]||e.values[i]}const o=e.argumentCallback?e.argumentCallback(t):t;return s[o]}}var qi={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},Ji={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},Gi={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},Qi={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},Zi={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},Xi={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},el=(e,t)=>{const n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},tl={ordinalNumber:el,era:Zt({values:qi,defaultWidth:"wide"}),quarter:Zt({values:Ji,defaultWidth:"wide",argumentCallback:e=>e-1}),month:Zt({values:Gi,defaultWidth:"wide"}),day:Zt({values:Qi,defaultWidth:"wide"}),dayPeriod:Zt({values:Zi,defaultWidth:"wide",formattingValues:Xi,defaultFormattingWidth:"wide"})};function Xt(e){return(t,n={})=>{const r=n.width,s=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],o=t.match(s);if(!o)return null;const i=o[0],c=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],l=Array.isArray(c)?rl(c,f=>f.test(i)):nl(c,f=>f.test(i));let m;m=e.valueCallback?e.valueCallback(l):l,m=n.valueCallback?n.valueCallback(m):m;const d=t.slice(i.length);return{value:m,rest:d}}}function nl(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function rl(e,t){for(let n=0;n<e.length;n++)if(t(e[n]))return n}function sl(e){return(t,n={})=>{const r=t.match(e.matchPattern);if(!r)return null;const s=r[0],o=t.match(e.parsePattern);if(!o)return null;let i=e.valueCallback?e.valueCallback(o[0]):o[0];i=n.valueCallback?n.valueCallback(i):i;const c=t.slice(s.length);return{value:i,rest:c}}}var al=/^(\d+)(th|st|nd|rd)?/i,ol=/\d+/i,il={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},ll={any:[/^b/i,/^(a|c)/i]},cl={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},ul={any:[/1/i,/2/i,/3/i,/4/i]},dl={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},fl={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},ml={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},hl={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},pl={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},gl={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},xl={ordinalNumber:sl({matchPattern:al,parsePattern:ol,valueCallback:e=>parseInt(e,10)}),era:Xt({matchPatterns:il,defaultMatchWidth:"wide",parsePatterns:ll,defaultParseWidth:"any"}),quarter:Xt({matchPatterns:cl,defaultMatchWidth:"wide",parsePatterns:ul,defaultParseWidth:"any",valueCallback:e=>e+1}),month:Xt({matchPatterns:dl,defaultMatchWidth:"wide",parsePatterns:fl,defaultParseWidth:"any"}),day:Xt({matchPatterns:ml,defaultMatchWidth:"wide",parsePatterns:hl,defaultParseWidth:"any"}),dayPeriod:Xt({matchPatterns:pl,defaultMatchWidth:"any",parsePatterns:gl,defaultParseWidth:"any"})},Lt={code:"en-US",formatDistance:Yi,formatLong:Vi,formatRelative:Hi,localize:tl,match:xl,options:{weekStartsOn:0,firstWeekContainsDate:1}};function vl(e,t){const n=re(e,t?.in);return Or(n,Ys(n))+1}function Mr(e,t){const n=re(e,t?.in),r=+dn(n)-+ki(n);return Math.round(r/As)+1}function Bs(e,t){const n=re(e,t?.in),r=n.getFullYear(),s=pn(),o=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??s.firstWeekContainsDate??s.locale?.options?.firstWeekContainsDate??1,i=fe(t?.in||e,0);i.setFullYear(r+1,0,o),i.setHours(0,0,0,0);const c=$t(i,t),l=fe(t?.in||e,0);l.setFullYear(r,0,o),l.setHours(0,0,0,0);const m=$t(l,t);return+n>=+c?r+1:+n>=+m?r:r-1}function yl(e,t){const n=pn(),r=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,s=Bs(e,t),o=fe(t?.in||e,0);return o.setFullYear(s,0,r),o.setHours(0,0,0,0),$t(o,t)}function Rr(e,t){const n=re(e,t?.in),r=+$t(n,t)-+yl(n,t);return Math.round(r/As)+1}function ne(e,t){return(e<0?"-":"")+Math.abs(e).toString().padStart(t,"0")}var st={y(e,t){const n=e.getFullYear(),r=n>0?n:1-n;return ne(t==="yy"?r%100:r,t.length)},M(e,t){const n=e.getMonth();return t==="M"?String(n+1):ne(n+1,2)},d(e,t){return ne(e.getDate(),t.length)},a(e,t){const n=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];default:return n==="am"?"a.m.":"p.m."}},h(e,t){return ne(e.getHours()%12||12,t.length)},H(e,t){return ne(e.getHours(),t.length)},m(e,t){return ne(e.getMinutes(),t.length)},s(e,t){return ne(e.getSeconds(),t.length)},S(e,t){const n=t.length,r=e.getMilliseconds(),s=Math.trunc(r*Math.pow(10,n-3));return ne(s,t.length)}},Wt={am:"am",pm:"pm",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},qr={G:function(e,t,n){const r=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(r,{width:"abbreviated"});case"GGGGG":return n.era(r,{width:"narrow"});default:return n.era(r,{width:"wide"})}},y:function(e,t,n){if(t==="yo"){const r=e.getFullYear(),s=r>0?r:1-r;return n.ordinalNumber(s,{unit:"year"})}return st.y(e,t)},Y:function(e,t,n,r){const s=Bs(e,r),o=s>0?s:1-s;if(t==="YY"){const i=o%100;return ne(i,2)}return t==="Yo"?n.ordinalNumber(o,{unit:"year"}):ne(o,t.length)},R:function(e,t){const n=Is(e);return ne(n,t.length)},u:function(e,t){const n=e.getFullYear();return ne(n,t.length)},Q:function(e,t,n){const r=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(r);case"QQ":return ne(r,2);case"Qo":return n.ordinalNumber(r,{unit:"quarter"});case"QQQ":return n.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(r,{width:"narrow",context:"formatting"});default:return n.quarter(r,{width:"wide",context:"formatting"})}},q:function(e,t,n){const r=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(r);case"qq":return ne(r,2);case"qo":return n.ordinalNumber(r,{unit:"quarter"});case"qqq":return n.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(r,{width:"narrow",context:"standalone"});default:return n.quarter(r,{width:"wide",context:"standalone"})}},M:function(e,t,n){const r=e.getMonth();switch(t){case"M":case"MM":return st.M(e,t);case"Mo":return n.ordinalNumber(r+1,{unit:"month"});case"MMM":return n.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(r,{width:"narrow",context:"formatting"});default:return n.month(r,{width:"wide",context:"formatting"})}},L:function(e,t,n){const r=e.getMonth();switch(t){case"L":return String(r+1);case"LL":return ne(r+1,2);case"Lo":return n.ordinalNumber(r+1,{unit:"month"});case"LLL":return n.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(r,{width:"narrow",context:"standalone"});default:return n.month(r,{width:"wide",context:"standalone"})}},w:function(e,t,n,r){const s=Rr(e,r);return t==="wo"?n.ordinalNumber(s,{unit:"week"}):ne(s,t.length)},I:function(e,t,n){const r=Mr(e);return t==="Io"?n.ordinalNumber(r,{unit:"week"}):ne(r,t.length)},d:function(e,t,n){return t==="do"?n.ordinalNumber(e.getDate(),{unit:"date"}):st.d(e,t)},D:function(e,t,n){const r=vl(e);return t==="Do"?n.ordinalNumber(r,{unit:"dayOfYear"}):ne(r,t.length)},E:function(e,t,n){const r=e.getDay();switch(t){case"E":case"EE":case"EEE":return n.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(r,{width:"short",context:"formatting"});default:return n.day(r,{width:"wide",context:"formatting"})}},e:function(e,t,n,r){const s=e.getDay(),o=(s-r.weekStartsOn+8)%7||7;switch(t){case"e":return String(o);case"ee":return ne(o,2);case"eo":return n.ordinalNumber(o,{unit:"day"});case"eee":return n.day(s,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(s,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(s,{width:"short",context:"formatting"});default:return n.day(s,{width:"wide",context:"formatting"})}},c:function(e,t,n,r){const s=e.getDay(),o=(s-r.weekStartsOn+8)%7||7;switch(t){case"c":return String(o);case"cc":return ne(o,t.length);case"co":return n.ordinalNumber(o,{unit:"day"});case"ccc":return n.day(s,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(s,{width:"narrow",context:"standalone"});case"cccccc":return n.day(s,{width:"short",context:"standalone"});default:return n.day(s,{width:"wide",context:"standalone"})}},i:function(e,t,n){const r=e.getDay(),s=r===0?7:r;switch(t){case"i":return String(s);case"ii":return ne(s,t.length);case"io":return n.ordinalNumber(s,{unit:"day"});case"iii":return n.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(r,{width:"short",context:"formatting"});default:return n.day(r,{width:"wide",context:"formatting"})}},a:function(e,t,n){const r=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(r,{width:"narrow",context:"formatting"});default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},b:function(e,t,n){const r=e.getHours();let s;switch(r===12?s=Wt.noon:r===0?s=Wt.midnight:s=r/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(s,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(s,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(s,{width:"narrow",context:"formatting"});default:return n.dayPeriod(s,{width:"wide",context:"formatting"})}},B:function(e,t,n){const r=e.getHours();let s;switch(r>=17?s=Wt.evening:r>=12?s=Wt.afternoon:r>=4?s=Wt.morning:s=Wt.night,t){case"B":case"BB":case"BBB":return n.dayPeriod(s,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(s,{width:"narrow",context:"formatting"});default:return n.dayPeriod(s,{width:"wide",context:"formatting"})}},h:function(e,t,n){if(t==="ho"){let r=e.getHours()%12;return r===0&&(r=12),n.ordinalNumber(r,{unit:"hour"})}return st.h(e,t)},H:function(e,t,n){return t==="Ho"?n.ordinalNumber(e.getHours(),{unit:"hour"}):st.H(e,t)},K:function(e,t,n){const r=e.getHours()%12;return t==="Ko"?n.ordinalNumber(r,{unit:"hour"}):ne(r,t.length)},k:function(e,t,n){let r=e.getHours();return r===0&&(r=24),t==="ko"?n.ordinalNumber(r,{unit:"hour"}):ne(r,t.length)},m:function(e,t,n){return t==="mo"?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):st.m(e,t)},s:function(e,t,n){return t==="so"?n.ordinalNumber(e.getSeconds(),{unit:"second"}):st.s(e,t)},S:function(e,t){return st.S(e,t)},X:function(e,t,n){const r=e.getTimezoneOffset();if(r===0)return"Z";switch(t){case"X":return Gr(r);case"XXXX":case"XX":return gt(r);default:return gt(r,":")}},x:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"x":return Gr(r);case"xxxx":case"xx":return gt(r);default:return gt(r,":")}},O:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+Jr(r,":");default:return"GMT"+gt(r,":")}},z:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+Jr(r,":");default:return"GMT"+gt(r,":")}},t:function(e,t,n){const r=Math.trunc(+e/1e3);return ne(r,t.length)},T:function(e,t,n){return ne(+e,t.length)}};function Jr(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),s=Math.trunc(r/60),o=r%60;return o===0?n+String(s):n+String(s)+t+ne(o,2)}function Gr(e,t){return e%60===0?(e>0?"-":"+")+ne(Math.abs(e)/60,2):gt(e,t)}function gt(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),s=ne(Math.trunc(r/60),2),o=ne(r%60,2);return n+s+t+o}var Qr=(e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});default:return t.date({width:"full"})}},Ks=(e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});default:return t.time({width:"full"})}},bl=(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],r=n[1],s=n[2];if(!s)return Qr(e,t);let o;switch(r){case"P":o=t.dateTime({width:"short"});break;case"PP":o=t.dateTime({width:"medium"});break;case"PPP":o=t.dateTime({width:"long"});break;default:o=t.dateTime({width:"full"})}return o.replace("{{date}}",Qr(r,t)).replace("{{time}}",Ks(s,t))},wl={p:Ks,P:bl},Cl=/^D+$/,jl=/^Y+$/,Sl=["D","DD","YY","YYYY"];function Nl(e){return Cl.test(e)}function Dl(e){return jl.test(e)}function kl(e,t,n){const r=Tl(e,t,n);if(console.warn(r),Sl.includes(e))throw new RangeError(r)}function Tl(e,t,n){const r=e[0]==="Y"?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}var El=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Ol=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,Ml=/^'([^]*?)'?$/,Rl=/''/g,_l=/[a-zA-Z]/;function Ye(e,t,n){const r=pn(),s=n?.locale??r.locale??Lt,o=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,i=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,c=re(e,n?.in);if(!_i(c))throw new RangeError("Invalid time value");let l=t.match(Ol).map(d=>{const f=d[0];if(f==="p"||f==="P"){const h=wl[f];return h(d,s.formatLong)}return d}).join("").match(El).map(d=>{if(d==="''")return{isToken:!1,value:"'"};const f=d[0];if(f==="'")return{isToken:!1,value:Al(d)};if(qr[f])return{isToken:!0,value:d};if(f.match(_l))throw new RangeError("Format string contains an unescaped latin alphabet character `"+f+"`");return{isToken:!1,value:d}});s.localize.preprocessor&&(l=s.localize.preprocessor(c,l));const m={firstWeekContainsDate:o,weekStartsOn:i,locale:s};return l.map(d=>{if(!d.isToken)return d.value;const f=d.value;(!n?.useAdditionalWeekYearTokens&&Dl(f)||!n?.useAdditionalDayOfYearTokens&&Nl(f))&&kl(f,t,String(e));const h=qr[f[0]];return h(c,f,s.localize,m)}).join("")}function Al(e){const t=e.match(Ml);return t?t[1].replace(Rl,"'"):e}function Pl(e,t){const n=re(e,t?.in),r=n.getFullYear(),s=n.getMonth(),o=fe(n,0);return o.setFullYear(r,s+1,0),o.setHours(0,0,0,0),o.getDate()}function Fl(e,t){return re(e,t?.in).getMonth()}function Il(e,t){return re(e,t?.in).getFullYear()}function Wl(e,t){return+re(e)>+re(t)}function zl(e,t){return+re(e)<+re(t)}function Ll(e,t,n){const[r,s]=Ht(n?.in,e,t);return r.getFullYear()===s.getFullYear()&&r.getMonth()===s.getMonth()}function Yl(e,t,n){const[r,s]=Ht(n?.in,e,t);return r.getFullYear()===s.getFullYear()}function $l(e,t,n){const r=re(e,n?.in),s=r.getFullYear(),o=r.getDate(),i=fe(n?.in||e,0);i.setFullYear(s,t,15),i.setHours(0,0,0,0);const c=Pl(i);return r.setMonth(t,Math.min(o,c)),r}function Bl(e,t,n){const r=re(e,n?.in);return isNaN(+r)?fe(n?.in||e,NaN):(r.setFullYear(t),r)}function Kl(e,t,n="long"){return new Intl.DateTimeFormat("en-US",{hour:"numeric",timeZone:e,timeZoneName:n}).format(t).split(/\s/g).slice(2).join(" ")}var Vl={},nn={};function vt(e,t){try{const n=(Vl[e]||=new Intl.DateTimeFormat("en-US",{timeZone:e,timeZoneName:"longOffset"}).format)(t).split("GMT")[1];return n in nn?nn[n]:Zr(n,n.split(":"))}catch{if(e in nn)return nn[e];const n=e?.match(Ul);return n?Zr(e,n.slice(1)):NaN}}var Ul=/([+-]\d\d):?(\d\d)?/;function Zr(e,t){const n=+(t[0]||0),r=+(t[1]||0),s=+(t[2]||0)/60;return nn[e]=n*60+r>0?n*60+r+s:n*60-r-s}var rn=class sn extends Date{constructor(...t){super(),t.length>1&&typeof t[t.length-1]=="string"&&(this.timeZone=t.pop()),this.internal=new Date,isNaN(vt(this.timeZone,this))?this.setTime(NaN):t.length?typeof t[0]=="number"&&(t.length===1||t.length===2&&typeof t[1]!="number")?this.setTime(t[0]):typeof t[0]=="string"?this.setTime(+new Date(t[0])):t[0]instanceof Date?this.setTime(+t[0]):(this.setTime(+new Date(...t)),Vs(this,NaN),hr(this)):this.setTime(Date.now())}static tz(t,...n){return n.length?new sn(...n,t):new sn(Date.now(),t)}withTimeZone(t){return new sn(+this,t)}getTimezoneOffset(){const t=-vt(this.timeZone,this);return t>0?Math.floor(t):Math.ceil(t)}setTime(t){return Date.prototype.setTime.apply(this,arguments),hr(this),+this}[Symbol.for("constructDateFrom")](t){return new sn(+new Date(t),this.timeZone)}},Xr=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(!Xr.test(e))return;const t=e.replace(Xr,"$1UTC");rn.prototype[t]&&(e.startsWith("get")?rn.prototype[e]=function(){return this.internal[t]()}:(rn.prototype[e]=function(){return Date.prototype[t].apply(this.internal,arguments),Hl(this),+this},rn.prototype[t]=function(){return Date.prototype[t].apply(this,arguments),hr(this),+this}))});function hr(e){e.internal.setTime(+e),e.internal.setUTCSeconds(e.internal.getUTCSeconds()-Math.round(-vt(e.timeZone,e)*60))}function Hl(e){Date.prototype.setFullYear.call(e,e.internal.getUTCFullYear(),e.internal.getUTCMonth(),e.internal.getUTCDate()),Date.prototype.setHours.call(e,e.internal.getUTCHours(),e.internal.getUTCMinutes(),e.internal.getUTCSeconds(),e.internal.getUTCMilliseconds()),Vs(e)}function Vs(e){const t=vt(e.timeZone,e),n=t>0?Math.floor(t):Math.ceil(t),r=new Date(+e);r.setUTCHours(r.getUTCHours()-1);const s=-new Date(+e).getTimezoneOffset(),o=s- -new Date(+r).getTimezoneOffset(),i=Date.prototype.getHours.apply(e)!==e.internal.getUTCHours();o&&i&&e.internal.setUTCMinutes(e.internal.getUTCMinutes()+o);const c=s-n;c&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+c);const l=new Date(+e);l.setUTCSeconds(0);const m=s>0?l.getSeconds():(l.getSeconds()-60)%60,d=Math.round(-(vt(e.timeZone,e)*60))%60;(d||m)&&(e.internal.setUTCSeconds(e.internal.getUTCSeconds()+d),Date.prototype.setUTCSeconds.call(e,Date.prototype.getUTCSeconds.call(e)+d+m));const f=vt(e.timeZone,e),h=f>0?Math.floor(f):Math.ceil(f),p=-new Date(+e).getTimezoneOffset()-h,w=h!==n,j=p-c;if(w&&j){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+j);const y=vt(e.timeZone,e),N=h-(y>0?Math.floor(y):Math.ceil(y));N&&(e.internal.setUTCMinutes(e.internal.getUTCMinutes()+N),Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+N))}}var Me=class an extends rn{static tz(t,...n){return n.length?new an(...n,t):new an(Date.now(),t)}toISOString(){const[t,n,r]=this.tzComponents(),s=`${t}${n}:${r}`;return this.internal.toISOString().slice(0,-1)+s}toString(){return`${this.toDateString()} ${this.toTimeString()}`}toDateString(){const[t,n,r,s]=this.internal.toUTCString().split(" ");return`${t?.slice(0,-1)} ${r} ${n} ${s}`}toTimeString(){const t=this.internal.toUTCString().split(" ")[4],[n,r,s]=this.tzComponents();return`${t} GMT${n}${r}${s} (${Kl(this.timeZone,this)})`}toLocaleString(t,n){return Date.prototype.toLocaleString.call(this,t,{...n,timeZone:n?.timeZone||this.timeZone})}toLocaleDateString(t,n){return Date.prototype.toLocaleDateString.call(this,t,{...n,timeZone:n?.timeZone||this.timeZone})}toLocaleTimeString(t,n){return Date.prototype.toLocaleTimeString.call(this,t,{...n,timeZone:n?.timeZone||this.timeZone})}tzComponents(){const t=this.getTimezoneOffset();return[t>0?"-":"+",String(Math.floor(Math.abs(t)/60)).padStart(2,"0"),String(Math.abs(t)%60).padStart(2,"0")]}withTimeZone(t){return new an(+this,t)}[Symbol.for("constructDateFrom")](t){return new an(+new Date(t),this.timeZone)}},ql=5,Jl=4;function Gl(e,t){const n=t.startOfMonth(e),r=n.getDay()>0?n.getDay():7,s=t.addDays(e,-r+1),o=t.addDays(s,34);return t.getMonth(e)===t.getMonth(o)?ql:Jl}function Us(e,t){const n=t.startOfMonth(e),r=n.getDay();return r===1?n:r===0?t.addDays(n,-6):t.addDays(n,-1*(r-1))}function Ql(e,t){const n=Us(e,t),r=Gl(e,t);return t.addDays(n,r*7-1)}var Hs={...Lt,labels:{labelDayButton:(e,t,n,r)=>{let s;r&&typeof r.format=="function"?s=r.format.bind(r):s=(i,c)=>Ye(i,c,{locale:Lt,...n});let o=s(e,"PPPP");return t.today&&(o=`Today, ${o}`),t.selected&&(o=`${o}, selected`),o},labelMonthDropdown:"Choose the Month",labelNext:"Go to the Next Month",labelPrevious:"Go to the Previous Month",labelWeekNumber:e=>`Week ${e}`,labelYearDropdown:"Choose the Year",labelGrid:(e,t,n)=>{let r;return n&&typeof n.format=="function"?r=n.format.bind(n):r=(s,o)=>Ye(s,o,{locale:Lt,...t}),r(e,"LLLL yyyy")},labelGridcell:(e,t,n,r)=>{let s;r&&typeof r.format=="function"?s=r.format.bind(r):s=(i,c)=>Ye(i,c,{locale:Lt,...n});let o=s(e,"PPPP");return t?.today&&(o=`Today, ${o}`),o},labelNav:"Navigation bar",labelWeekNumberHeader:"Week Number",labelWeekday:(e,t,n)=>{let r;return n&&typeof n.format=="function"?r=n.format.bind(n):r=(s,o)=>Ye(s,o,{locale:Lt,...t}),r(e,"cccc")}}},Ue=class pr{constructor(t,n){this.today=()=>this.overrides?.today?this.overrides.today():this.options.timeZone?Me.tz(this.options.timeZone):new(this.options.Date??Date),this.newDate=(r,s,o)=>this.overrides?.newDate?this.overrides.newDate(r,s,o):this.options.timeZone?new Me(r,s,o,this.options.timeZone):new Date(r,s,o),this.addDays=(r,s)=>this.overrides?.addDays?this.overrides.addDays(r,s):Rn(r,s),this.addMonths=(r,s)=>this.overrides?.addMonths?this.overrides.addMonths(r,s):Fs(r,s),this.addWeeks=(r,s)=>this.overrides?.addWeeks?this.overrides.addWeeks(r,s):Ti(r,s),this.addYears=(r,s)=>this.overrides?.addYears?this.overrides.addYears(r,s):Ei(r,s),this.differenceInCalendarDays=(r,s)=>this.overrides?.differenceInCalendarDays?this.overrides.differenceInCalendarDays(r,s):Or(r,s),this.differenceInCalendarMonths=(r,s)=>this.overrides?.differenceInCalendarMonths?this.overrides.differenceInCalendarMonths(r,s):zs(r,s),this.eachMonthOfInterval=r=>this.overrides?.eachMonthOfInterval?this.overrides.eachMonthOfInterval(r):Pi(r),this.eachYearOfInterval=r=>{const s=this.overrides?.eachYearOfInterval?this.overrides.eachYearOfInterval(r):Wi(r),o=new Set(s.map(c=>this.getYear(c)));if(o.size===s.length)return s;const i=[];return o.forEach(c=>{i.push(new Date(c,0,1))}),i},this.endOfBroadcastWeek=r=>this.overrides?.endOfBroadcastWeek?this.overrides.endOfBroadcastWeek(r):Ql(r,this),this.endOfISOWeek=r=>this.overrides?.endOfISOWeek?this.overrides.endOfISOWeek(r):zi(r),this.endOfMonth=r=>this.overrides?.endOfMonth?this.overrides.endOfMonth(r):Ai(r),this.endOfWeek=(r,s)=>this.overrides?.endOfWeek?this.overrides.endOfWeek(r,s):$s(r,this.options),this.endOfYear=r=>this.overrides?.endOfYear?this.overrides.endOfYear(r):Ii(r),this.format=(r,s,o)=>{const i=this.overrides?.format?this.overrides.format(r,s,this.options):Ye(r,s,this.options);return this.options.numerals&&this.options.numerals!=="latn"?this.replaceDigits(i):i},this.getISOWeek=r=>this.overrides?.getISOWeek?this.overrides.getISOWeek(r):Mr(r),this.getMonth=(r,s)=>this.overrides?.getMonth?this.overrides.getMonth(r,this.options):Fl(r,this.options),this.getYear=(r,s)=>this.overrides?.getYear?this.overrides.getYear(r,this.options):Il(r,this.options),this.getWeek=(r,s)=>this.overrides?.getWeek?this.overrides.getWeek(r,this.options):Rr(r,this.options),this.isAfter=(r,s)=>this.overrides?.isAfter?this.overrides.isAfter(r,s):Wl(r,s),this.isBefore=(r,s)=>this.overrides?.isBefore?this.overrides.isBefore(r,s):zl(r,s),this.isDate=r=>this.overrides?.isDate?this.overrides.isDate(r):Ws(r),this.isSameDay=(r,s)=>this.overrides?.isSameDay?this.overrides.isSameDay(r,s):Ri(r,s),this.isSameMonth=(r,s)=>this.overrides?.isSameMonth?this.overrides.isSameMonth(r,s):Ll(r,s),this.isSameYear=(r,s)=>this.overrides?.isSameYear?this.overrides.isSameYear(r,s):Yl(r,s),this.max=r=>this.overrides?.max?this.overrides.max(r):Oi(r),this.min=r=>this.overrides?.min?this.overrides.min(r):Mi(r),this.setMonth=(r,s)=>this.overrides?.setMonth?this.overrides.setMonth(r,s):$l(r,s),this.setYear=(r,s)=>this.overrides?.setYear?this.overrides.setYear(r,s):Bl(r,s),this.startOfBroadcastWeek=(r,s)=>this.overrides?.startOfBroadcastWeek?this.overrides.startOfBroadcastWeek(r,this):Us(r,this),this.startOfDay=r=>this.overrides?.startOfDay?this.overrides.startOfDay(r):Bt(r),this.startOfISOWeek=r=>this.overrides?.startOfISOWeek?this.overrides.startOfISOWeek(r):dn(r),this.startOfMonth=r=>this.overrides?.startOfMonth?this.overrides.startOfMonth(r):Fi(r),this.startOfWeek=(r,s)=>this.overrides?.startOfWeek?this.overrides.startOfWeek(r,this.options):$t(r,this.options),this.startOfYear=r=>this.overrides?.startOfYear?this.overrides.startOfYear(r):Ys(r),this.options={locale:Hs,...t},this.overrides=n}getDigitMap(){const{numerals:t="latn"}=this.options,n=new Intl.NumberFormat("en-US",{numberingSystem:t}),r={};for(let s=0;s<10;s++)r[s.toString()]=n.format(s);return r}replaceDigits(t){const n=this.getDigitMap();return t.replace(/\d/g,r=>n[r]||r)}formatNumber(t){return this.replaceDigits(t.toString())}getMonthYearOrder(){const t=this.options.locale?.code;return t&&pr.yearFirstLocales.has(t)?"year-first":"month-first"}formatMonthYear(t){const{locale:n,timeZone:r,numerals:s}=this.options,o=n?.code;if(o&&pr.yearFirstLocales.has(o))try{return new Intl.DateTimeFormat(o,{month:"long",year:"numeric",timeZone:r,numberingSystem:s}).format(t)}catch{}const i=this.getMonthYearOrder()==="year-first"?"y LLLL":"LLLL y";return this.format(t,i)}};Ue.yearFirstLocales=new Set(["eu","hu","ja","ja-Hira","ja-JP","ko","ko-KR","lt","lt-LT","lv","lv-LV","mn","mn-MN","zh","zh-CN","zh-HK","zh-TW"]);var He=new Ue,qs=class{constructor(e,t,n=He){this.date=e,this.displayMonth=t,this.outside=!!(t&&!n.isSameMonth(e,t)),this.dateLib=n,this.isoDate=n.format(e,"yyyy-MM-dd"),this.displayMonthId=n.format(t,"yyyy-MM"),this.dateMonthId=n.format(e,"yyyy-MM")}isEqualTo(e){return this.dateLib.isSameDay(e.date,this.date)&&this.dateLib.isSameMonth(e.displayMonth,this.displayMonth)}},Zl=class{constructor(e,t){this.date=e,this.weeks=t}},Xl=class{constructor(e,t){this.days=t,this.weekNumber=e}};function ec(e){return u.createElement("span",{...e})}function tc(e){const{size:t=24,orientation:n="left",className:r,style:s}=e;return u.createElement("svg",{className:r,style:s,width:t,height:t,viewBox:"0 0 24 24"},n==="up"&&u.createElement("polygon",{points:"6.77 17 12.5 11.43 18.24 17 20 15.28 12.5 8 5 15.28"}),n==="down"&&u.createElement("polygon",{points:"6.77 8 12.5 13.57 18.24 8 20 9.72 12.5 17 5 9.72"}),n==="left"&&u.createElement("polygon",{points:"16 18.112 9.81111111 12 16 5.87733333 14.0888889 4 6 12 14.0888889 20"}),n==="right"&&u.createElement("polygon",{points:"8 18.112 14.18888889 12 8 5.87733333 9.91111111 4 18 12 9.91111111 20"}))}function nc(e){const{day:t,modifiers:n,...r}=e;return u.createElement("td",{...r})}function rc(e){const{day:t,modifiers:n,...r}=e,s=u.useRef(null);return u.useEffect(()=>{n.focused&&s.current?.focus()},[n.focused]),u.createElement("button",{ref:s,...r})}var P;(function(e){e.Root="root",e.Chevron="chevron",e.Day="day",e.DayButton="day_button",e.CaptionLabel="caption_label",e.Dropdowns="dropdowns",e.Dropdown="dropdown",e.DropdownRoot="dropdown_root",e.Footer="footer",e.MonthGrid="month_grid",e.MonthCaption="month_caption",e.MonthsDropdown="months_dropdown",e.Month="month",e.Months="months",e.Nav="nav",e.NextMonthButton="button_next",e.PreviousMonthButton="button_previous",e.Week="week",e.Weeks="weeks",e.Weekday="weekday",e.Weekdays="weekdays",e.WeekNumber="week_number",e.WeekNumberHeader="week_number_header",e.YearsDropdown="years_dropdown"})(P||(P={}));var le;(function(e){e.disabled="disabled",e.hidden="hidden",e.outside="outside",e.focused="focused",e.today="today"})(le||(le={}));var Pe;(function(e){e.range_end="range_end",e.range_middle="range_middle",e.range_start="range_start",e.selected="selected"})(Pe||(Pe={}));var ke;(function(e){e.weeks_before_enter="weeks_before_enter",e.weeks_before_exit="weeks_before_exit",e.weeks_after_enter="weeks_after_enter",e.weeks_after_exit="weeks_after_exit",e.caption_after_enter="caption_after_enter",e.caption_after_exit="caption_after_exit",e.caption_before_enter="caption_before_enter",e.caption_before_exit="caption_before_exit"})(ke||(ke={}));var Js=(0,u.createContext)(void 0);function Pn(){const e=(0,u.useContext)(Js);if(e===void 0)throw new Error("useDayPicker() must be used within a custom component.");return e}function sc(e){const{options:t,className:n,...r}=e,{classNames:s,components:o,styles:i}=Pn(),c=[s[P.Dropdown],n].join(" "),l=t?.find(({value:m})=>m===r.value);return u.createElement("span",{"data-disabled":r.disabled,className:s[P.DropdownRoot],style:i?.[P.DropdownRoot]},u.createElement(o.Select,{className:c,...r},t?.map(({value:m,label:d,disabled:f})=>u.createElement(o.Option,{key:m,value:m,disabled:f},d))),u.createElement("span",{className:s[P.CaptionLabel],style:i?.[P.CaptionLabel],"aria-hidden":!0},l?.label,u.createElement(o.Chevron,{orientation:"down",size:18,className:s[P.Chevron],style:i?.[P.Chevron]})))}function ac(e){return u.createElement("div",{...e})}function oc(e){return u.createElement("div",{...e})}function ic(e){const{calendarMonth:t,displayIndex:n,...r}=e;return u.createElement("div",{...r},e.children)}function lc(e){const{calendarMonth:t,displayIndex:n,...r}=e;return u.createElement("div",{...r})}function cc(e){return u.createElement("table",{...e})}function uc(e){return u.createElement("div",{...e})}function dc(e){const{components:t}=Pn();return u.createElement(t.Dropdown,{...e})}function fc(e){const{onPreviousClick:t,onNextClick:n,previousMonth:r,nextMonth:s,...o}=e,{components:i,classNames:c,styles:l,labels:{labelPrevious:m,labelNext:d}}=Pn(),f=(0,u.useCallback)(p=>{s&&n?.(p)},[s,n]),h=(0,u.useCallback)(p=>{r&&t?.(p)},[r,t]);return u.createElement("nav",{...o},u.createElement(i.PreviousMonthButton,{type:"button",className:c[P.PreviousMonthButton],style:l?.[P.PreviousMonthButton],tabIndex:r?void 0:-1,"aria-disabled":r?void 0:!0,"aria-label":m(r),onClick:h},u.createElement(i.Chevron,{disabled:r?void 0:!0,className:c[P.Chevron],style:l?.[P.Chevron],orientation:"left"})),u.createElement(i.NextMonthButton,{type:"button",className:c[P.NextMonthButton],style:l?.[P.NextMonthButton],tabIndex:s?void 0:-1,"aria-disabled":s?void 0:!0,"aria-label":d(s),onClick:f},u.createElement(i.Chevron,{disabled:s?void 0:!0,orientation:"right",className:c[P.Chevron],style:l?.[P.Chevron]})))}function mc(e){return u.createElement("button",{...e})}function hc(e){return u.createElement("option",{...e})}function pc(e){return u.createElement("button",{...e})}function gc(e){const{rootRef:t,...n}=e;return u.createElement("div",{...n,ref:t})}function xc(e){return u.createElement("select",{...e})}function vc(e){const{week:t,...n}=e;return u.createElement("tr",{...n})}function yc(e){return u.createElement("th",{...e})}function bc(e){return u.createElement("thead",{"aria-hidden":!0},u.createElement("tr",{...e}))}function wc(e){const{week:t,...n}=e;return u.createElement("th",{...n})}function Cc(e){return u.createElement("th",{...e})}function jc(e){return u.createElement("tbody",{...e})}function Sc(e){const{components:t}=Pn();return u.createElement(t.Dropdown,{...e})}var Nc=Cr({CaptionLabel:()=>ec,Chevron:()=>tc,Day:()=>nc,DayButton:()=>rc,Dropdown:()=>sc,DropdownNav:()=>ac,Footer:()=>oc,Month:()=>ic,MonthCaption:()=>lc,MonthGrid:()=>cc,Months:()=>uc,MonthsDropdown:()=>dc,Nav:()=>fc,NextMonthButton:()=>mc,Option:()=>hc,PreviousMonthButton:()=>pc,Root:()=>gc,Select:()=>xc,Week:()=>vc,WeekNumber:()=>wc,WeekNumberHeader:()=>Cc,Weekday:()=>yc,Weekdays:()=>bc,Weeks:()=>jc,YearsDropdown:()=>Sc});function Ge(e,t,n=!1,r=He){let{from:s,to:o}=e;const{differenceInCalendarDays:i,isSameDay:c}=r;return s&&o?(i(o,s)<0&&([s,o]=[o,s]),i(t,s)>=(n?1:0)&&i(o,t)>=(n?1:0)):!n&&o?c(o,t):!n&&s?c(s,t):!1}function _r(e){return!!(e&&typeof e=="object"&&"before"in e&&"after"in e)}function Fn(e){return!!(e&&typeof e=="object"&&"from"in e)}function Ar(e){return!!(e&&typeof e=="object"&&"after"in e)}function Pr(e){return!!(e&&typeof e=="object"&&"before"in e)}function Gs(e){return!!(e&&typeof e=="object"&&"dayOfWeek"in e)}function Qs(e,t){return Array.isArray(e)&&e.every(t.isDate)}function Qe(e,t,n=He){const r=Array.isArray(t)?t:[t],{isSameDay:s,differenceInCalendarDays:o,isAfter:i}=n;return r.some(c=>{if(typeof c=="boolean")return c;if(n.isDate(c))return s(e,c);if(Qs(c,n))return c.some(l=>s(e,l));if(Fn(c))return Ge(c,e,!1,n);if(Gs(c))return Array.isArray(c.dayOfWeek)?c.dayOfWeek.includes(e.getDay()):c.dayOfWeek===e.getDay();if(_r(c)){const l=o(c.before,e),m=o(c.after,e),d=l>0,f=m<0;return i(c.before,c.after)?f&&d:d||f}return Ar(c)?o(e,c.after)>0:Pr(c)?o(c.before,e)>0:typeof c=="function"?c(e):!1})}function Dc(e,t,n,r,s){const{disabled:o,hidden:i,modifiers:c,showOutsideDays:l,broadcastCalendar:m,today:d=s.today()}=t,{isSameDay:f,isSameMonth:h,startOfMonth:p,isBefore:w,endOfMonth:j,isAfter:y}=s,N=n&&p(n),C=r&&j(r),x={[le.focused]:[],[le.outside]:[],[le.disabled]:[],[le.hidden]:[],[le.today]:[]},g={};for(const v of e){const{date:b,displayMonth:D}=v,S=!!(D&&!h(b,D)),k=!!(N&&w(b,N)),O=!!(C&&y(b,C)),T=!!(o&&Qe(b,o,s)),R=!!(i&&Qe(b,i,s))||k||O||!m&&!l&&S||m&&l===!1&&S,E=f(b,d);S&&x.outside.push(v),T&&x.disabled.push(v),R&&x.hidden.push(v),E&&x.today.push(v),c&&Object.keys(c).forEach(z=>{const L=c?.[z];L&&Qe(b,L,s)&&(g[z]?g[z].push(v):g[z]=[v])})}return v=>{const b={[le.focused]:!1,[le.disabled]:!1,[le.hidden]:!1,[le.outside]:!1,[le.today]:!1},D={};for(const S in x)b[S]=x[S].some(k=>k===v);for(const S in g)D[S]=g[S].some(k=>k===v);return{...b,...D}}}function kc(e,t,n={}){return Object.entries(e).filter(([,r])=>r===!0).reduce((r,[s])=>(n[s]?r.push(n[s]):t[le[s]]?r.push(t[le[s]]):t[Pe[s]]&&r.push(t[Pe[s]]),r),[t[P.Day]])}function Tc(e){return{...Nc,...e}}function Ec(e){const t={"data-mode":e.mode??void 0,"data-required":"required"in e?e.required:void 0,"data-multiple-months":e.numberOfMonths&&e.numberOfMonths>1||void 0,"data-week-numbers":e.showWeekNumber||void 0,"data-broadcast-calendar":e.broadcastCalendar||void 0,"data-nav-layout":e.navLayout||void 0};return Object.entries(e).forEach(([n,r])=>{n.startsWith("data-")&&(t[n]=r)}),t}function Fr(){const e={};for(const t in P)e[P[t]]=`rdp-${P[t]}`;for(const t in le)e[le[t]]=`rdp-${le[t]}`;for(const t in Pe)e[Pe[t]]=`rdp-${Pe[t]}`;for(const t in ke)e[ke[t]]=`rdp-${ke[t]}`;return e}function Oc(e,t,n){return(n??new Ue(t)).formatMonthYear(e)}function Mc(e,t,n){return(n??new Ue(t)).format(e,"d")}function Rc(e,t=He){return t.format(e,"LLLL")}function _c(e,t,n){return(n??new Ue(t)).format(e,"cccccc")}function Ac(e,t=He){return e<10?t.formatNumber(`0${e.toLocaleString()}`):t.formatNumber(`${e.toLocaleString()}`)}function Pc(){return""}function Fc(e,t=He){return t.format(e,"yyyy")}var Ic=Cr({formatCaption:()=>Oc,formatDay:()=>Mc,formatMonthDropdown:()=>Rc,formatWeekNumber:()=>Ac,formatWeekNumberHeader:()=>Pc,formatWeekdayName:()=>_c,formatYearDropdown:()=>Fc});function Wc(e){return{...Ic,...e}}function Zs(e,t,n,r){let s=(r??new Ue(n)).format(e,"PPPP");return t.today&&(s=`Today, ${s}`),t.selected&&(s=`${s}, selected`),s}function Xs(e,t,n){return(n??new Ue(t)).formatMonthYear(e)}function ea(e,t,n,r){let s=(r??new Ue(n)).format(e,"PPPP");return t?.today&&(s=`Today, ${s}`),s}function ta(e){return"Choose the Month"}function na(){return""}var zc="Go to the Next Month";function ra(e,t){return zc}function sa(e){return"Go to the Previous Month"}function aa(e,t,n){return(n??new Ue(t)).format(e,"cccc")}function oa(e,t){return`Week ${e}`}function ia(e){return"Week Number"}function la(e){return"Choose the Year"}var Lc=Cr({labelDayButton:()=>Zs,labelGrid:()=>Xs,labelGridcell:()=>ea,labelMonthDropdown:()=>ta,labelNav:()=>na,labelNext:()=>ra,labelPrevious:()=>sa,labelWeekNumber:()=>oa,labelWeekNumberHeader:()=>ia,labelWeekday:()=>aa,labelYearDropdown:()=>la}),Ae=(e,t,n)=>t||(n?typeof n=="function"?n:(...r)=>n:e);function Yc(e,t){const n=t.locale?.labels??{};return{...Lc,...e??{},labelDayButton:Ae(Zs,e?.labelDayButton,n.labelDayButton),labelMonthDropdown:Ae(ta,e?.labelMonthDropdown,n.labelMonthDropdown),labelNext:Ae(ra,e?.labelNext,n.labelNext),labelPrevious:Ae(sa,e?.labelPrevious,n.labelPrevious),labelWeekNumber:Ae(oa,e?.labelWeekNumber,n.labelWeekNumber),labelYearDropdown:Ae(la,e?.labelYearDropdown,n.labelYearDropdown),labelGrid:Ae(Xs,e?.labelGrid,n.labelGrid),labelGridcell:Ae(ea,e?.labelGridcell,n.labelGridcell),labelNav:Ae(na,e?.labelNav,n.labelNav),labelWeekNumberHeader:Ae(ia,e?.labelWeekNumberHeader,n.labelWeekNumberHeader),labelWeekday:Ae(aa,e?.labelWeekday,n.labelWeekday)}}function $c(e,t,n,r,s){const{startOfMonth:o,startOfYear:i,endOfYear:c,eachMonthOfInterval:l,getMonth:m}=s;return l({start:i(e),end:c(e)}).map(d=>{const f=r.formatMonthDropdown(d,s);return{value:m(d),label:f,disabled:t&&d<o(t)||n&&d>o(n)||!1}})}function Bc(e,t={},n={}){let r={...t?.[P.Day]};return Object.entries(e).filter(([,s])=>s===!0).forEach(([s])=>{r={...r,...n?.[s]}}),r}function Kc(e,t,n,r){const s=r??e.today(),o=n?e.startOfBroadcastWeek(s,e):t?e.startOfISOWeek(s):e.startOfWeek(s),i=[];for(let c=0;c<7;c++){const l=e.addDays(o,c);i.push(l)}return i}function Vc(e,t,n,r,s=!1){if(!e||!t)return;const{startOfYear:o,endOfYear:i,eachYearOfInterval:c,getYear:l}=r,m=c({start:o(e),end:i(t)});return s&&m.reverse(),m.map(d=>{const f=n.formatYearDropdown(d,r);return{value:l(d),label:f,disabled:!1}})}function Uc(e,t={}){const{weekStartsOn:n,locale:r}=t,s=n??r?.options?.weekStartsOn??0,o=c=>{const l=typeof c=="number"||typeof c=="string"?new Date(c):c;return new Me(l.getFullYear(),l.getMonth(),l.getDate(),12,0,0,e)},i=c=>{const l=o(c);return new Date(l.getFullYear(),l.getMonth(),l.getDate(),0,0,0,0)};return{today:()=>o(Me.tz(e)),newDate:(c,l,m)=>new Me(c,l,m,12,0,0,e),startOfDay:c=>o(c),startOfWeek:(c,l)=>{const m=o(c),d=l?.weekStartsOn??s,f=(m.getDay()-d+7)%7;return m.setDate(m.getDate()-f),m},startOfISOWeek:c=>{const l=o(c),m=(l.getDay()-1+7)%7;return l.setDate(l.getDate()-m),l},startOfMonth:c=>{const l=o(c);return l.setDate(1),l},startOfYear:c=>{const l=o(c);return l.setMonth(0,1),l},endOfWeek:(c,l)=>{const m=o(c),d=(((l?.weekStartsOn??s)+6)%7-m.getDay()+7)%7;return m.setDate(m.getDate()+d),m},endOfISOWeek:c=>{const l=o(c),m=(7-l.getDay())%7;return l.setDate(l.getDate()+m),l},endOfMonth:c=>{const l=o(c);return l.setMonth(l.getMonth()+1,0),l},endOfYear:c=>{const l=o(c);return l.setMonth(11,31),l},eachMonthOfInterval:c=>{const l=o(c.start),m=o(c.end),d=[],f=new Me(l.getFullYear(),l.getMonth(),1,12,0,0,e),h=m.getFullYear()*12+m.getMonth();for(;f.getFullYear()*12+f.getMonth()<=h;)d.push(new Me(f,e)),f.setMonth(f.getMonth()+1,1);return d},addDays:(c,l)=>{const m=o(c);return m.setDate(m.getDate()+l),m},addWeeks:(c,l)=>{const m=o(c);return m.setDate(m.getDate()+l*7),m},addMonths:(c,l)=>{const m=o(c);return m.setMonth(m.getMonth()+l),m},addYears:(c,l)=>{const m=o(c);return m.setFullYear(m.getFullYear()+l),m},eachYearOfInterval:c=>{const l=o(c.start),m=o(c.end),d=[],f=new Me(l.getFullYear(),0,1,12,0,0,e);for(;f.getFullYear()<=m.getFullYear();)d.push(new Me(f,e)),f.setFullYear(f.getFullYear()+1,0,1);return d},getWeek:(c,l)=>{const m=i(c);return Rr(m,{weekStartsOn:l?.weekStartsOn??s,firstWeekContainsDate:l?.firstWeekContainsDate??r?.options?.firstWeekContainsDate??1})},getISOWeek:c=>{const l=i(c);return Mr(l)},differenceInCalendarDays:(c,l)=>{const m=i(c),d=i(l);return Or(m,d)},differenceInCalendarMonths:(c,l)=>{const m=i(c),d=i(l);return zs(m,d)}}}var gn=e=>e instanceof HTMLElement?e:null,Xn=e=>[...e.querySelectorAll("[data-animated-month]")??[]],Hc=e=>gn(e.querySelector("[data-animated-month]")),er=e=>gn(e.querySelector("[data-animated-caption]")),tr=e=>gn(e.querySelector("[data-animated-weeks]")),qc=e=>gn(e.querySelector("[data-animated-nav]")),Jc=e=>gn(e.querySelector("[data-animated-weekdays]"));function Gc(e,t,{classNames:n,months:r,focused:s,dateLib:o}){const i=(0,u.useRef)(null),c=(0,u.useRef)(r),l=(0,u.useRef)(!1);(0,u.useLayoutEffect)(()=>{const m=c.current;if(c.current=r,!t||!e.current||!(e.current instanceof HTMLElement)||r.length===0||m.length===0||r.length!==m.length)return;const d=o.isSameMonth(r[0].date,m[0].date),f=o.isAfter(r[0].date,m[0].date),h=f?n[ke.caption_after_enter]:n[ke.caption_before_enter],p=f?n[ke.weeks_after_enter]:n[ke.weeks_before_enter],w=i.current,j=e.current.cloneNode(!0);if(j instanceof HTMLElement?(Xn(j).forEach(C=>{if(!(C instanceof HTMLElement))return;const x=Hc(C);x&&C.contains(x)&&C.removeChild(x);const g=er(C);g&&g.classList.remove(h);const v=tr(C);v&&v.classList.remove(p)}),i.current=j):i.current=null,l.current||d||s)return;const y=w instanceof HTMLElement?Xn(w):[],N=Xn(e.current);if(N?.every(C=>C instanceof HTMLElement)&&y?.every(C=>C instanceof HTMLElement)){l.current=!0;const C=[];e.current.style.isolation="isolate";const x=qc(e.current);x&&(x.style.zIndex="1"),N.forEach((g,v)=>{const b=y[v];if(!b)return;g.style.position="relative",g.style.overflow="hidden";const D=er(g);D&&D.classList.add(h);const S=tr(g);S&&S.classList.add(p);const k=()=>{l.current=!1,e.current&&(e.current.style.isolation=""),x&&(x.style.zIndex=""),D&&D.classList.remove(h),S&&S.classList.remove(p),g.style.position="",g.style.overflow="",g.contains(b)&&g.removeChild(b)};C.push(k),b.style.pointerEvents="none",b.style.position="absolute",b.style.overflow="hidden",b.setAttribute("aria-hidden","true");const O=Jc(b);O&&(O.style.opacity="0");const T=er(b);T&&(T.classList.add(f?n[ke.caption_before_exit]:n[ke.caption_after_exit]),T.addEventListener("animationend",k));const R=tr(b);R&&R.classList.add(f?n[ke.weeks_before_exit]:n[ke.weeks_after_exit]),g.insertBefore(b,g.firstChild)})}})}function Qc(e,t,n,r){const s=e[0],o=e[e.length-1],{ISOWeek:i,fixedWeeks:c,broadcastCalendar:l}=n??{},{addDays:m,differenceInCalendarDays:d,differenceInCalendarMonths:f,endOfBroadcastWeek:h,endOfISOWeek:p,endOfMonth:w,endOfWeek:j,isAfter:y,startOfBroadcastWeek:N,startOfISOWeek:C,startOfWeek:x}=r,g=l?N(s,r):i?C(s):x(s),v=l?h(o):i?p(w(o)):j(w(o)),b=t&&(l?h(t):i?p(t):j(t)),D=d(b&&y(v,b)?b:v,g),S=f(o,s)+1,k=[];for(let T=0;T<=D;T++){const R=m(g,T);k.push(R)}const O=(l?35:42)*S;if(c&&k.length<O){const T=O-k.length;for(let R=0;R<T;R++){const E=m(k[k.length-1],1);k.push(E)}}return k}function Zc(e){const t=[];return e.reduce((n,r)=>{const s=r.weeks.reduce((o,i)=>o.concat(i.days.slice()),t.slice());return n.concat(s.slice())},t.slice())}function Xc(e,t,n,r){const{numberOfMonths:s=1}=n,o=[];for(let i=0;i<s;i++){const c=r.addMonths(e,i);if(t&&c>t)break;o.push(c)}return o}function es(e,t,n,r){const{month:s,defaultMonth:o,today:i=r.today(),numberOfMonths:c=1}=e;let l=s||o||i;const{differenceInCalendarMonths:m,addMonths:d,startOfMonth:f}=r;return n&&m(n,l)<c-1&&(l=d(n,-1*(c-1))),t&&m(l,t)<0&&(l=t),f(l)}function eu(e,t,n,r){const{addDays:s,endOfBroadcastWeek:o,endOfISOWeek:i,endOfMonth:c,endOfWeek:l,getISOWeek:m,getWeek:d,startOfBroadcastWeek:f,startOfISOWeek:h,startOfWeek:p}=r,w=e.reduce((j,y)=>{const N=n.broadcastCalendar?f(y,r):n.ISOWeek?h(y):p(y),C=n.broadcastCalendar?o(y):n.ISOWeek?i(c(y)):l(c(y)),x=t.filter(D=>D>=N&&D<=C),g=n.broadcastCalendar?35:42;if(n.fixedWeeks&&x.length<g){const D=t.filter(S=>{const k=g-x.length;return S>C&&S<=s(C,k)});x.push(...D)}const v=x.reduce((D,S)=>{const k=n.ISOWeek?m(S):d(S),O=D.find(R=>R.weekNumber===k),T=new qs(S,y,r);return O?O.days.push(T):D.push(new Xl(k,[T])),D},[]),b=new Zl(y,v);return j.push(b),j},[]);return n.reverseMonths?w.reverse():w}function tu(e,t){let{startMonth:n,endMonth:r}=e;const{startOfYear:s,startOfDay:o,startOfMonth:i,endOfMonth:c,addYears:l,endOfYear:m,today:d}=t,f=e.captionLayout==="dropdown"||e.captionLayout==="dropdown-years";return n?n=i(n):!n&&f&&(n=s(l(e.today??d(),-100))),r?r=c(r):!r&&f&&(r=m(e.today??d())),[n&&o(n),r&&o(r)]}function nu(e,t,n,r){if(n.disableNavigation)return;const{pagedNavigation:s,numberOfMonths:o=1}=n,{startOfMonth:i,addMonths:c,differenceInCalendarMonths:l}=r,m=s?o:1,d=i(e);if(!t)return c(d,m);if(!(l(t,e)<o))return c(d,m)}function ru(e,t,n,r){if(n.disableNavigation)return;const{pagedNavigation:s,numberOfMonths:o}=n,{startOfMonth:i,addMonths:c,differenceInCalendarMonths:l}=r,m=s?o??1:1,d=i(e);if(!t)return c(d,-m);if(!(l(d,t)<=0))return c(d,-m)}function su(e){return e.reduce((t,n)=>t.concat(n.weeks.slice()),[].slice())}function In(e,t){const[n,r]=(0,u.useState)(e);return[t===void 0?n:t,r]}function au(e,t){const[n,r]=tu(e,t),{startOfMonth:s,endOfMonth:o}=t,i=es(e,n,r,t),[c,l]=In(i,e.month?i:void 0);(0,u.useEffect)(()=>{const x=es(e,n,r,t);l(x)},[e.timeZone]);const{months:m,weeks:d,days:f,previousMonth:h,nextMonth:p}=(0,u.useMemo)(()=>{const x=Xc(c,r,{numberOfMonths:e.numberOfMonths},t),g=Qc(x,e.endMonth?o(e.endMonth):void 0,{ISOWeek:e.ISOWeek,fixedWeeks:e.fixedWeeks,broadcastCalendar:e.broadcastCalendar},t),v=eu(x,g,{broadcastCalendar:e.broadcastCalendar,fixedWeeks:e.fixedWeeks,ISOWeek:e.ISOWeek,reverseMonths:e.reverseMonths},t);return{months:v,weeks:su(v),days:Zc(v),previousMonth:ru(c,n,e,t),nextMonth:nu(c,r,e,t)}},[t,c.getTime(),r?.getTime(),n?.getTime(),e.disableNavigation,e.broadcastCalendar,e.endMonth?.getTime(),e.fixedWeeks,e.ISOWeek,e.numberOfMonths,e.pagedNavigation,e.reverseMonths]),{disableNavigation:w,onMonthChange:j}=e,y=x=>d.some(g=>g.days.some(v=>v.isEqualTo(x))),N=x=>{if(w)return;let g=s(x);n&&g<s(n)&&(g=s(n)),r&&g>s(r)&&(g=s(r)),l(g),j?.(g)};return{months:m,weeks:d,days:f,navStart:n,navEnd:r,previousMonth:h,nextMonth:p,goToMonth:N,goToDay:x=>{y(x)||N(x.date)}}}var Le;(function(e){e[e.Today=0]="Today",e[e.Selected=1]="Selected",e[e.LastFocused=2]="LastFocused",e[e.FocusedModifier=3]="FocusedModifier"})(Le||(Le={}));function ts(e){return!e[le.disabled]&&!e[le.hidden]&&!e[le.outside]}function ou(e,t,n,r){let s,o=-1;for(const i of e){const c=t(i);ts(c)&&(c[le.focused]&&o<Le.FocusedModifier?(s=i,o=Le.FocusedModifier):r?.isEqualTo(i)&&o<Le.LastFocused?(s=i,o=Le.LastFocused):n(i.date)&&o<Le.Selected?(s=i,o=Le.Selected):c[le.today]&&o<Le.Today&&(s=i,o=Le.Today))}return s||(s=e.find(i=>ts(t(i)))),s}function iu(e,t,n,r,s,o,i){const{ISOWeek:c,broadcastCalendar:l}=o,{addDays:m,addMonths:d,addWeeks:f,addYears:h,endOfBroadcastWeek:p,endOfISOWeek:w,endOfWeek:j,max:y,min:N,startOfBroadcastWeek:C,startOfISOWeek:x,startOfWeek:g}=i;let v={day:m,week:f,month:d,year:h,startOfWeek:b=>l?C(b,i):c?x(b):g(b),endOfWeek:b=>l?p(b):c?w(b):j(b)}[e](n,t==="after"?1:-1);return t==="before"&&r?v=y([r,v]):t==="after"&&s&&(v=N([s,v])),v}function ca(e,t,n,r,s,o,i,c=0){if(c>365)return;const l=iu(e,t,n.date,r,s,o,i),m=!!(o.disabled&&Qe(l,o.disabled,i)),d=!!(o.hidden&&Qe(l,o.hidden,i)),f=new qs(l,l,i);return!m&&!d?f:ca(e,t,f,r,s,o,i,c+1)}function lu(e,t,n,r,s){const{autoFocus:o}=e,[i,c]=(0,u.useState)(),l=ou(t.days,n,r||(()=>!1),i),[m,d]=(0,u.useState)(o?l:void 0);return{isFocusTarget:w=>!!l?.isEqualTo(w),setFocused:d,focused:m,blur:()=>{c(m),d(void 0)},moveFocus:(w,j)=>{if(!m)return;const y=ca(w,j,m,t.navStart,t.navEnd,e,s);y&&(e.disableNavigation&&!t.days.some(N=>N.isEqualTo(y))||(t.goToDay(y),d(y)))}}}function cu(e,t){const{selected:n,required:r,onSelect:s}=e,[o,i]=In(n,s?n:void 0),c=s?n:o,{isSameDay:l}=t,m=p=>c?.some(w=>l(w,p))??!1,{min:d,max:f}=e;return{selected:c,select:(p,w,j)=>{let y=[...c??[]];if(m(p)){if(c?.length===d||r&&c?.length===1)return;y=c?.filter(N=>!l(N,p))}else c?.length===f?y=[p]:y=[...y,p];return s||i(y),s?.(y,p,w,j),y},isSelected:m}}function uu(e,t,n=0,r=0,s=!1,o=He){const{from:i,to:c}=t||{},{isSameDay:l,isAfter:m,isBefore:d}=o;let f;if(!i&&!c)f={from:e,to:n>0?void 0:e};else if(i&&!c)l(i,e)?n===0?f={from:i,to:e}:s?f={from:i,to:void 0}:f=void 0:d(e,i)?f={from:e,to:i}:f={from:i,to:e};else if(i&&c)if(l(i,e)&&l(c,e))s?f={from:i,to:c}:f=void 0;else if(l(i,e))f={from:i,to:n>0?void 0:e};else if(l(c,e))f={from:e,to:n>0?void 0:e};else if(d(e,i))f={from:e,to:c};else if(m(e,i))f={from:i,to:e};else if(m(e,c))f={from:i,to:e};else throw new Error("Invalid range");if(f?.from&&f?.to){const h=o.differenceInCalendarDays(f.to,f.from);r>0&&h>r?f={from:e,to:void 0}:n>1&&h<n&&(f={from:e,to:void 0})}return f}function du(e,t,n=He){const r=Array.isArray(t)?t:[t];let s=e.from;const o=n.differenceInCalendarDays(e.to,e.from),i=Math.min(o,6);for(let c=0;c<=i;c++){if(r.includes(s.getDay()))return!0;s=n.addDays(s,1)}return!1}function ns(e,t,n=He){return Ge(e,t.from,!1,n)||Ge(e,t.to,!1,n)||Ge(t,e.from,!1,n)||Ge(t,e.to,!1,n)}function fu(e,t,n=He){const r=Array.isArray(t)?t:[t];if(r.filter(o=>typeof o!="function").some(o=>typeof o=="boolean"?o:n.isDate(o)?Ge(e,o,!1,n):Qs(o,n)?o.some(i=>Ge(e,i,!1,n)):Fn(o)?o.from&&o.to?ns(e,{from:o.from,to:o.to},n):!1:Gs(o)?du(e,o.dayOfWeek,n):_r(o)?n.isAfter(o.before,o.after)?ns(e,{from:n.addDays(o.after,1),to:n.addDays(o.before,-1)},n):Qe(e.from,o,n)||Qe(e.to,o,n):Ar(o)||Pr(o)?Qe(e.from,o,n)||Qe(e.to,o,n):!1))return!0;const s=r.filter(o=>typeof o=="function");if(s.length){let o=e.from;const i=n.differenceInCalendarDays(e.to,e.from);for(let c=0;c<=i;c++){if(s.some(l=>l(o)))return!0;o=n.addDays(o,1)}}return!1}function mu(e,t){const{disabled:n,excludeDisabled:r,resetOnSelect:s,selected:o,required:i,onSelect:c}=e,[l,m]=In(o,c?o:void 0),d=c?o:l;return{selected:d,select:(p,w,j)=>{const{min:y,max:N}=e;let C;if(p){const x=d?.from,g=d?.to,v=!!x&&!!g,b=!!x&&!!g&&t.isSameDay(x,g)&&t.isSameDay(p,x);s&&(v||!d?.from)?!i&&b?C=void 0:C={from:p,to:void 0}:C=uu(p,d,y,N,i,t)}return r&&n&&C?.from&&C.to&&fu({from:C.from,to:C.to},n,t)&&(C.from=p,C.to=void 0),c||m(C),c?.(C,p,w,j),C},isSelected:p=>d&&Ge(d,p,!1,t)}}function hu(e,t){const{selected:n,required:r,onSelect:s}=e,[o,i]=In(n,s?n:void 0),c=s?n:o,{isSameDay:l}=t;return{selected:c,select:(f,h,p)=>{let w=f;return!r&&c&&c&&l(f,c)&&(w=void 0),s||i(w),s?.(w,f,h,p),w},isSelected:f=>c?l(c,f):!1}}function pu(e,t){const n=hu(e,t),r=cu(e,t),s=mu(e,t);switch(e.mode){case"single":return n;case"multiple":return r;case"range":return s;default:return}}function De(e,t){return e instanceof Me&&e.timeZone===t?e:new Me(e,t)}function zt(e,t,n){if(!n)return De(e,t);const r=De(e,t),s=new Me(r.getFullYear(),r.getMonth(),r.getDate(),12,0,0,t);return new Date(s.getTime())}function rs(e,t,n){return typeof e=="boolean"||typeof e=="function"?e:e instanceof Date?zt(e,t,n):Array.isArray(e)?e.map(r=>r instanceof Date?zt(r,t,n):r):Fn(e)?{...e,from:e.from?De(e.from,t):e.from,to:e.to?De(e.to,t):e.to}:_r(e)?{before:zt(e.before,t,n),after:zt(e.after,t,n)}:Ar(e)?{after:zt(e.after,t,n)}:Pr(e)?{before:zt(e.before,t,n)}:e}function nr(e,t,n){return e&&(Array.isArray(e)?e.map(r=>rs(r,t,n)):rs(e,t,n))}function gu(e){let t=e;const n=t.timeZone;if(n&&(t={...e,timeZone:n},t.today&&(t.today=De(t.today,n)),t.month&&(t.month=De(t.month,n)),t.defaultMonth&&(t.defaultMonth=De(t.defaultMonth,n)),t.startMonth&&(t.startMonth=De(t.startMonth,n)),t.endMonth&&(t.endMonth=De(t.endMonth,n)),t.mode==="single"&&t.selected?t.selected=De(t.selected,n):t.mode==="multiple"&&t.selected?t.selected=t.selected?.map(A=>De(A,n)):t.mode==="range"&&t.selected&&(t.selected={from:t.selected.from?De(t.selected.from,n):t.selected.from,to:t.selected.to?De(t.selected.to,n):t.selected.to}),t.disabled!==void 0&&(t.disabled=nr(t.disabled,n)),t.hidden!==void 0&&(t.hidden=nr(t.hidden,n)),t.modifiers)){const A={};Object.keys(t.modifiers).forEach(W=>{A[W]=nr(t.modifiers?.[W],n)}),t.modifiers=A}const{components:r,formatters:s,labels:o,dateLib:i,locale:c,classNames:l}=(0,u.useMemo)(()=>{const A={...Hs,...t.locale},W=t.broadcastCalendar?1:t.weekStartsOn,Y=t.noonSafe&&t.timeZone?Uc(t.timeZone,{weekStartsOn:W,locale:A}):void 0,G=t.dateLib&&Y?{...Y,...t.dateLib}:t.dateLib??Y,V=new Ue({locale:A,weekStartsOn:W,firstWeekContainsDate:t.firstWeekContainsDate,useAdditionalWeekYearTokens:t.useAdditionalWeekYearTokens,useAdditionalDayOfYearTokens:t.useAdditionalDayOfYearTokens,timeZone:t.timeZone,numerals:t.numerals},G);return{dateLib:V,components:Tc(t.components),formatters:Wc(t.formatters),labels:Yc(t.labels,V.options),locale:A,classNames:{...Fr(),...t.classNames}}},[t.locale,t.broadcastCalendar,t.weekStartsOn,t.firstWeekContainsDate,t.useAdditionalWeekYearTokens,t.useAdditionalDayOfYearTokens,t.timeZone,t.numerals,t.dateLib,t.noonSafe,t.components,t.formatters,t.labels,t.classNames]);t.today||(t={...t,today:i.today()});const{captionLayout:m,mode:d,navLayout:f,numberOfMonths:h=1,onDayBlur:p,onDayClick:w,onDayFocus:j,onDayKeyDown:y,onDayMouseEnter:N,onDayMouseLeave:C,onNextClick:x,onPrevClick:g,showWeekNumber:v,styles:b}=t,{formatCaption:D,formatDay:S,formatMonthDropdown:k,formatWeekNumber:O,formatWeekNumberHeader:T,formatWeekdayName:R,formatYearDropdown:E}=s,z=au(t,i),{days:L,months:U,navStart:X,navEnd:se,previousMonth:_,nextMonth:$,goToMonth:ce}=z,je=Dc(L,t,X,se,i),{isSelected:ge,select:Se,selected:Ee}=pu(t,i)??{},{blur:We,focused:Ne,isFocusTarget:M,moveFocus:Z,setFocused:te}=lu(t,z,je,ge??(()=>!1),i),{labelDayButton:ae,labelGridcell:he,labelGrid:ft,labelMonthDropdown:H,labelNav:Jt,labelPrevious:vn,labelNext:Gt,labelWeekday:Yn,labelWeekNumber:rt,labelWeekNumberHeader:yn,labelYearDropdown:$n}=o,mt=(0,u.useMemo)(()=>Kc(i,t.ISOWeek,t.broadcastCalendar,t.today),[i,t.ISOWeek,t.broadcastCalendar,t.today]),bn=d!==void 0||w!==void 0,At=(0,u.useCallback)(()=>{_&&(ce(_),g?.(_))},[_,ce,g]),Qt=(0,u.useCallback)(()=>{$&&(ce($),x?.($))},[ce,$,x]),Bn=(0,u.useCallback)((A,W)=>Y=>{Y.preventDefault(),Y.stopPropagation(),te(A),!W.disabled&&(Se?.(A.date,W,Y),w?.(A.date,W,Y))},[Se,w,te]),Pt=(0,u.useCallback)((A,W)=>Y=>{te(A),j?.(A.date,W,Y)},[j,te]),Kn=(0,u.useCallback)((A,W)=>Y=>{We(),p?.(A.date,W,Y)},[We,p]),wn=(0,u.useCallback)((A,W)=>Y=>{const G={ArrowLeft:[Y.shiftKey?"month":"day",t.dir==="rtl"?"after":"before"],ArrowRight:[Y.shiftKey?"month":"day",t.dir==="rtl"?"before":"after"],ArrowDown:[Y.shiftKey?"year":"week","after"],ArrowUp:[Y.shiftKey?"year":"week","before"],PageUp:[Y.shiftKey?"year":"month","before"],PageDown:[Y.shiftKey?"year":"month","after"],Home:["startOfWeek","before"],End:["endOfWeek","after"]};if(G[Y.key]){Y.preventDefault(),Y.stopPropagation();const[V,oe]=G[Y.key];Z(V,oe)}y?.(A.date,W,Y)},[Z,y,t.dir]),Vn=(0,u.useCallback)((A,W)=>Y=>{N?.(A.date,W,Y)},[N]),ht=(0,u.useCallback)((A,W)=>Y=>{C?.(A.date,W,Y)},[C]),Cn=(0,u.useCallback)((A,W)=>Y=>{const G=Number(Y.target.value),V=i.setMonth(i.startOfMonth(A),G);ce(i.addMonths(V,-W))},[i,ce]),Un=(0,u.useCallback)((A,W)=>Y=>{const G=Number(Y.target.value),V=i.setYear(i.startOfMonth(A),G);ce(i.addMonths(V,-W))},[i,ce]),{className:Hn,style:qn}=(0,u.useMemo)(()=>({className:[l[P.Root],t.className].filter(Boolean).join(" "),style:{...b?.[P.Root],...t.style}}),[l,t.className,t.style,b]),Jn=Ec(t),jn=A=>{const W=b?.[P.Dropdown],Y=b?.[A];if(!(!W&&!Y))return{...W,...Y}},B=(0,u.useRef)(null);Gc(B,!!t.animate,{classNames:l,months:U,focused:Ne,dateLib:i});const ee={dayPickerProps:t,selected:Ee,select:Se,isSelected:ge,months:U,nextMonth:$,previousMonth:_,goToMonth:ce,getModifiers:je,components:r,classNames:l,styles:b,labels:o,formatters:s};return u.createElement(Js.Provider,{value:ee},u.createElement(r.Root,{rootRef:t.animate?B:void 0,className:Hn,style:qn,dir:t.dir,id:t.id,lang:t.lang??c.code,nonce:t.nonce,title:t.title,role:t.role,"aria-label":t["aria-label"],"aria-labelledby":t["aria-labelledby"],...Jn},u.createElement(r.Months,{className:l[P.Months],style:b?.[P.Months]},!t.hideNavigation&&!f&&u.createElement(r.Nav,{"data-animated-nav":t.animate?"true":void 0,className:l[P.Nav],style:b?.[P.Nav],"aria-label":Jt(),onPreviousClick:At,onNextClick:Qt,previousMonth:_,nextMonth:$}),U.map((A,W)=>{const Y=t.reverseMonths?U.length-1-W:W;return u.createElement(r.Month,{"data-animated-month":t.animate?"true":void 0,className:l[P.Month],style:b?.[P.Month],key:W,displayIndex:W,calendarMonth:A},f==="around"&&!t.hideNavigation&&W===0&&u.createElement(r.PreviousMonthButton,{type:"button",className:l[P.PreviousMonthButton],style:b?.[P.PreviousMonthButton],tabIndex:_?void 0:-1,"aria-disabled":_?void 0:!0,"aria-label":vn(_),onClick:At,"data-animated-button":t.animate?"true":void 0},u.createElement(r.Chevron,{disabled:_?void 0:!0,className:l[P.Chevron],style:b?.[P.Chevron],orientation:t.dir==="rtl"?"right":"left"})),u.createElement(r.MonthCaption,{"data-animated-caption":t.animate?"true":void 0,className:l[P.MonthCaption],style:b?.[P.MonthCaption],calendarMonth:A,displayIndex:W},m?.startsWith("dropdown")?u.createElement(r.DropdownNav,{className:l[P.Dropdowns],style:b?.[P.Dropdowns]},(()=>{const G=m==="dropdown"||m==="dropdown-months"?u.createElement(r.MonthsDropdown,{key:"month",className:l[P.MonthsDropdown],"aria-label":H(),disabled:!!t.disableNavigation,onChange:Cn(A.date,Y),options:$c(A.date,X,se,s,i),style:jn(P.MonthsDropdown),value:i.getMonth(A.date)}):u.createElement("span",{key:"month"},k(A.date,i)),V=m==="dropdown"||m==="dropdown-years"?u.createElement(r.YearsDropdown,{key:"year",className:l[P.YearsDropdown],"aria-label":$n(i.options),disabled:!!t.disableNavigation,onChange:Un(A.date,Y),options:Vc(X,se,s,i,!!t.reverseYears),style:jn(P.YearsDropdown),value:i.getYear(A.date)}):u.createElement("span",{key:"year"},E(A.date,i));return i.getMonthYearOrder()==="year-first"?[V,G]:[G,V]})(),u.createElement("span",{role:"status","aria-live":"polite",style:{border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",width:"1px",whiteSpace:"nowrap",wordWrap:"normal"}},D(A.date,i.options,i))):u.createElement(r.CaptionLabel,{className:l[P.CaptionLabel],style:b?.[P.CaptionLabel],role:"status","aria-live":"polite"},D(A.date,i.options,i))),f==="around"&&!t.hideNavigation&&W===h-1&&u.createElement(r.NextMonthButton,{type:"button",className:l[P.NextMonthButton],style:b?.[P.NextMonthButton],tabIndex:$?void 0:-1,"aria-disabled":$?void 0:!0,"aria-label":Gt($),onClick:Qt,"data-animated-button":t.animate?"true":void 0},u.createElement(r.Chevron,{disabled:$?void 0:!0,className:l[P.Chevron],style:b?.[P.Chevron],orientation:t.dir==="rtl"?"left":"right"})),W===h-1&&f==="after"&&!t.hideNavigation&&u.createElement(r.Nav,{"data-animated-nav":t.animate?"true":void 0,className:l[P.Nav],style:b?.[P.Nav],"aria-label":Jt(),onPreviousClick:At,onNextClick:Qt,previousMonth:_,nextMonth:$}),u.createElement(r.MonthGrid,{role:"grid","aria-multiselectable":d==="multiple"||d==="range","aria-label":ft(A.date,i.options,i)||void 0,className:l[P.MonthGrid],style:b?.[P.MonthGrid]},!t.hideWeekdays&&u.createElement(r.Weekdays,{"data-animated-weekdays":t.animate?"true":void 0,className:l[P.Weekdays],style:b?.[P.Weekdays]},v&&u.createElement(r.WeekNumberHeader,{"aria-label":yn(i.options),className:l[P.WeekNumberHeader],style:b?.[P.WeekNumberHeader],scope:"col"},T()),mt.map(G=>u.createElement(r.Weekday,{"aria-label":Yn(G,i.options,i),className:l[P.Weekday],key:String(G),style:b?.[P.Weekday],scope:"col"},R(G,i.options,i)))),u.createElement(r.Weeks,{"data-animated-weeks":t.animate?"true":void 0,className:l[P.Weeks],style:b?.[P.Weeks]},A.weeks.map(G=>u.createElement(r.Week,{className:l[P.Week],key:G.weekNumber,style:b?.[P.Week],week:G},v&&u.createElement(r.WeekNumber,{week:G,style:b?.[P.WeekNumber],"aria-label":rt(G.weekNumber,{locale:c}),className:l[P.WeekNumber],scope:"row",role:"rowheader"},O(G.weekNumber,i)),G.days.map(V=>{const{date:oe}=V,q=je(V);if(q[le.focused]=!q.hidden&&!!Ne?.isEqualTo(V),q[Pe.selected]=ge?.(oe)||q.selected,Fn(Ee)){const{from:It,to:Gn}=Ee;q[Pe.range_start]=!!(It&&Gn&&i.isSameDay(oe,It)),q[Pe.range_end]=!!(It&&Gn&&i.isSameDay(oe,Gn)),q[Pe.range_middle]=Ge(Ee,oe,!0,i)}const Ft=Bc(q,b,t.modifiersStyles),ve=kc(q,l,t.modifiersClassNames),qe=!bn&&!q.hidden?he(oe,q,i.options,i):void 0;return u.createElement(r.Day,{key:`${V.isoDate}_${V.displayMonthId}`,day:V,modifiers:q,className:ve.join(" "),style:Ft,role:"gridcell","aria-selected":q.selected||void 0,"aria-label":qe,"data-day":V.isoDate,"data-month":V.outside?V.dateMonthId:void 0,"data-selected":q.selected||void 0,"data-disabled":q.disabled||void 0,"data-hidden":q.hidden||void 0,"data-outside":V.outside||void 0,"data-focused":q.focused||void 0,"data-today":q.today||void 0},!q.hidden&&bn?u.createElement(r.DayButton,{className:l[P.DayButton],style:b?.[P.DayButton],type:"button",day:V,modifiers:q,disabled:!q.focused&&q.disabled||void 0,"aria-disabled":q.focused&&q.disabled||void 0,tabIndex:M(V)?0:-1,"aria-label":ae(oe,q,i.options,i),onClick:Bn(V,q),onBlur:Kn(V,q),onFocus:Pt(V,q),onKeyDown:wn(V,q),onMouseEnter:Vn(V,q),onMouseLeave:ht(V,q)},S(oe,i.options,i)):!q.hidden&&S(V.date,i.options,i))}))))))})),t.footer&&u.createElement(r.Footer,{className:l[P.Footer],style:b?.[P.Footer],role:"status","aria-live":"polite"},t.footer)))}function xu({className:e,classNames:t,showOutsideDays:n=!0,captionLayout:r="label",buttonVariant:s="ghost",formatters:o,components:i,...c}){const l=Fr();return(0,a.jsx)(gu,{showOutsideDays:n,className:F("p-3 [--cell-radius:var(--radius-md)] [--cell-size:--spacing(6)] bg-background group/calendar [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent",String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,e),captionLayout:r,formatters:{formatMonthDropdown:m=>m.toLocaleString("default",{month:"short"}),...o},classNames:{root:F("w-fit",l.root),months:F("flex gap-4 flex-col md:flex-row relative",l.months),month:F("flex flex-col w-full gap-4",l.month),nav:F("flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between",l.nav),button_previous:F(Kr({variant:s}),"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",l.button_previous),button_next:F(Kr({variant:s}),"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",l.button_next),month_caption:F("flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)",l.month_caption),dropdowns:F("w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5",l.dropdowns),dropdown_root:F("relative cn-calendar-dropdown-root rounded-(--cell-radius)",l.dropdown_root),dropdown:F("absolute bg-popover inset-0 opacity-0",l.dropdown),caption_label:F("select-none font-medium",r==="label"?"text-sm":"cn-calendar-caption-label rounded-(--cell-radius) flex items-center gap-1 text-sm [&>svg]:text-muted-foreground [&>svg]:size-3.5",l.caption_label),month_grid:F("w-full border-collapse",l.month_grid),weekdays:F("flex",l.weekdays),weekday:F("text-muted-foreground rounded-(--cell-radius) flex-1 font-normal text-[0.8rem] select-none",l.weekday),week:F("flex w-full mt-2",l.week),week_number_header:F("select-none w-(--cell-size)",l.week_number_header),week_number:F("text-[0.8rem] select-none text-muted-foreground",l.week_number),day:F("relative w-full rounded-(--cell-radius) h-full p-0 text-center [&:last-child[data-selected=true]_button]:rounded-r-(--cell-radius) group/day aspect-square select-none",c.showWeekNumber?"[&:nth-child(2)[data-selected=true]_button]:rounded-l-(--cell-radius)":"[&:first-child[data-selected=true]_button]:rounded-l-(--cell-radius)",l.day),range_start:F("rounded-l-(--cell-radius) bg-muted elative after:bg-muted after:absolute after:inset-y-0 after:w-4 after:right-0 -z-0 isolate",l.range_start),range_middle:F("rounded-none",l.range_middle),range_end:F("rounded-r-(--cell-radius) bg-muted relative after:bg-muted-200 after:absolute after:inset-y-0 after:w-4 after:left-0 -z-0 isolate",l.range_end),today:F("bg-muted text-foreground rounded-(--cell-radius) data-[selected=true]:rounded-none",l.today),outside:F("text-muted-foreground aria-selected:text-muted-foreground",l.outside),disabled:F("text-muted-foreground opacity-50",l.disabled),hidden:F("invisible",l.hidden),...t},components:{Root:({className:m,rootRef:d,...f})=>(0,a.jsx)("div",{"data-slot":"calendar",ref:d,className:F(m),...f}),Chevron:({className:m,orientation:d,...f})=>d==="left"?(0,a.jsx)(Ss,{className:F("size-4",m),...f}):d==="right"?(0,a.jsx)(ys,{className:F("size-4",m),...f}):(0,a.jsx)(fn,{className:F("size-4",m),...f}),DayButton:vu,WeekNumber:({children:m,...d})=>(0,a.jsx)("td",{...d,children:(0,a.jsx)("div",{className:"flex size-(--cell-size) items-center justify-center text-center",children:m})}),...i},...c})}function vu({className:e,day:t,modifiers:n,...r}){const s=Fr(),o=u.useRef(null);return u.useEffect(()=>{n.focused&&o.current?.focus()},[n.focused]),(0,a.jsx)(I,{ref:o,variant:"ghost",size:"icon","data-day":t.date.toLocaleDateString(),"data-selected-single":n.selected&&!n.range_start&&!n.range_end&&!n.range_middle,"data-range-start":n.range_start,"data-range-end":n.range_end,"data-range-middle":n.range_middle,className:F("data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-muted data-[range-middle=true]:text-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 dark:hover:text-foreground relative isolate z-10 flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 border-0 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-(--cell-radius) data-[range-end=true]:rounded-r-(--cell-radius) data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-(--cell-radius) data-[range-start=true]:rounded-l-(--cell-radius) [&>span]:text-xs [&>span]:opacity-70",s.day,e),...r})}function xt({value:e,onChange:t,placeholder:n="Pick a date",className:r,disabled:s,startYear:o=1980,endYear:i=new Date().getFullYear()+10,icon:c=!0,isFormatted:l=!0,showTime:m=!1,modal:d,open:f,onOpenChange:h}){const[p,w]=(0,u.useState)(!1),j=f??p,y=E=>{w(E),h?.(E)},[N]=(0,u.useState)(()=>new Date),C=e?e.getHours():0,x=e?e.getMinutes():0,g=e?e.getSeconds():0,v=(E,z)=>{z({target:{value:String(E)}})},b=E=>{E&&e&&(E.setHours(e.getHours()),E.setMinutes(e.getMinutes()),E.setSeconds(e.getSeconds())),t?.(E),m||y(!1)},D=(E,z)=>{const L=e?new Date(e):new Date;E==="hours"&&L.setHours(z),E==="minutes"&&L.setMinutes(z),E==="seconds"&&L.setSeconds(z),t?.(L)},S=E=>{const z=Bt(new Date);switch(E){case"NULL":t?.(null);break;case"NOW":t?.(new Date);break;case"TODAY":t?.(z);break;case"YESTERDAY":t?.(Rn(z,-1));break;case"TOMORROW":t?.(Rn(z,1))}},k=Array.from({length:24},(E,z)=>z),O=Array.from({length:60},(E,z)=>z),T=Array.from({length:60},(E,z)=>z),R=e&&e instanceof Date&&!Number.isNaN(e.getTime())?l?m?Ye(e,"dd/MM/yyyy HH:mm:ss"):Ye(e,"dd/MM/yyyy"):m?Ye(e,"yyyy-MM-dd HH:mm:ss"):Ye(e,"yyyy-MM-dd"):e===null?"NULL":n;return(0,a.jsxs)(_t,{modal:d,open:j,onOpenChange:y,children:[(0,a.jsx)(Vt,{asChild:!0,children:(0,a.jsxs)(I,{variant:"outline",className:F("w-full justify-start text-left font-normal",!e&&"text-muted-foreground",r),disabled:s,children:[c&&(0,a.jsx)(mo,{className:"mr-2 size-4"}),R]})}),(0,a.jsx)(nt,{className:"w-auto p-0",align:"end",children:(0,a.jsxs)("div",{className:"flex",children:[(0,a.jsxs)("div",{className:"flex flex-col gap-1 p-2 border-r",children:[(0,a.jsx)(I,{variant:"ghost",size:"sm",className:"justify-start text-xs h-7",onClick:()=>S("NULL"),children:"NULL"}),(0,a.jsx)(I,{variant:"ghost",size:"sm",className:"justify-start text-xs h-7",onClick:()=>S("NOW"),children:"NOW"}),(0,a.jsx)(I,{variant:"ghost",size:"sm",className:"justify-start text-xs h-7",onClick:()=>S("TODAY"),children:"TODAY"}),(0,a.jsx)(I,{variant:"ghost",size:"sm",className:"justify-start text-xs h-7",onClick:()=>S("YESTERDAY"),children:"YESTERDAY"}),(0,a.jsx)(I,{variant:"ghost",size:"sm",className:"justify-start text-xs h-7",onClick:()=>S("TOMORROW"),children:"TOMORROW"})]}),(0,a.jsx)(xu,{components:{Dropdown:E=>(0,a.jsxs)(Ve,{onValueChange:z=>{E.onChange&&v(z,E.onChange)},value:String(E.value),children:[(0,a.jsx)(Be,{className:"h-8 w-fit font-medium first-letter:capitalize focus:ring-0 focus:ring-offset-0",children:(0,a.jsx)($e,{})}),(0,a.jsx)(Ke,{children:E.options?.map(z=>(0,a.jsx)(Q,{value:String(z.value),children:z.label},z.value))})]}),DropdownNav:E=>(0,a.jsx)("div",{className:"flex w-full items-center gap-2",children:E.children})},defaultMonth:e||N,hideNavigation:!0,mode:"single",onSelect:b,selected:e||void 0,startMonth:new Date(o,0),endMonth:new Date(i,11)}),m&&(0,a.jsxs)("div",{className:"flex border-l",children:[(0,a.jsx)(rr,{label:"H",values:k,selected:C,onChange:E=>D("hours",E)}),(0,a.jsx)(rr,{label:"M",values:O,selected:x,onChange:E=>D("minutes",E)}),(0,a.jsx)(rr,{label:"S",values:T,selected:g,onChange:E=>D("seconds",E)})]})]})})]})}function rr({label:e,values:t,selected:n,onChange:r}){const s=(0,u.useRef)(new Map);return(0,u.useEffect)(()=>{const o=s.current.get(n);o&&o.scrollIntoView({block:"center",behavior:"auto"})},[n]),(0,a.jsxs)("div",{className:"flex flex-col",children:[(0,a.jsx)("div",{className:"px-3 py-2 text-xs font-medium text-muted-foreground text-center border-b",children:e}),(0,a.jsx)(hi,{className:"h-[224px]",children:(0,a.jsx)("div",{className:"flex flex-col p-1",children:t.map(o=>(0,a.jsx)("button",{ref:i=>{i&&s.current.set(o,i)},type:"button",onClick:()=>r(o),className:F("w-10 h-8 text-sm rounded-md hover:bg-accent flex items-center justify-center",n===o&&"bg-primary text-primary-foreground hover:bg-primary"),children:o.toString().padStart(2,"0")},o))})})]})}var ua=Kt()(e=>({tableName:null,columnName:null,referencedColumn:null,setRecordReference:(t,n,r)=>e({tableName:t,columnName:n,referencedColumn:r}),clearRecordReference:()=>e({tableName:null,columnName:null,referencedColumn:null})})),Sn=e=>String(e).padStart(2,"0"),sr=e=>`${e.getFullYear()}-${Sn(e.getMonth()+1)}-${Sn(e.getDate())}T${Sn(e.getHours())}:${Sn(e.getMinutes())}`,da=({columnName:e,dataTypeLabel:t,columnDefault:n,enumValues:r,isForeignKey:s,referencedTable:o,referencedColumn:i,hideLabel:c=!1})=>{const[,l]=J(K.REFERENCED_TABLE_STATE_KEYS.ACTIVE_TABLE),{control:m}=Dr(),{openOverlay:d}=xe(),{setRecordReference:f}=ua(),h=p=>{const w={...p,value:p.value??""},j=c?e:void 0;if(s)return(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsxs)("div",{className:"flex",children:[(0,a.jsx)(Oe,{id:e,"aria-label":j,placeholder:n??"",className:"-me-px flex-1 rounded-e-none shadow-none focus-visible:z-10",...w}),(0,a.jsxs)(at,{children:[(0,a.jsx)(ot,{asChild:!0,children:(0,a.jsx)("button",{"aria-label":"Go to table",className:"inline-flex w-9 items-center justify-center rounded-e-sm 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",type:"button",onClick:()=>{o&&e&&i&&f(o,e,i),d("records.record-reference"),l(o)},children:(0,a.jsx)(ws,{"aria-hidden":"true",className:"size-4",size:16})})}),(0,a.jsx)(it,{className:"px-2 py-1 text-xs",children:"Go to table"})]})]}),(0,a.jsxs)("span",{className:"text-xs text-muted-foreground",children:["Has a foreign key relation to"," ",(0,a.jsx)("button",{type:"button",className:"font-mono text-primary",onClick:()=>{o&&e&&i&&f(o,e,i),d("records.record-reference"),l(o)},children:o})," ","table"]})]});if(t==="int"||t==="bigint"||t==="smallint"||t==="numeric"||t==="float"||t==="double"||t==="money")return(0,a.jsx)(Oe,{id:e,"aria-label":j,type:"number",placeholder:n??"0",...w});if(t==="boolean")return(0,a.jsxs)(Ve,{value:p.value,onValueChange:y=>p.onChange(y),children:[(0,a.jsx)(Be,{"aria-label":j,className:"w-full",children:(0,a.jsx)($e,{placeholder:n??"true"})}),(0,a.jsxs)(Ke,{children:[(0,a.jsx)(Q,{value:"true",children:"true"}),(0,a.jsx)(Q,{value:"false",children:"false"})]})]});if(t==="text"||t==="xml")return(0,a.jsx)(Xe,{id:e,"aria-label":j,placeholder:n??"",rows:4,...w});if(t==="json"||t==="jsonb")return(0,a.jsx)(Xe,{id:e,"aria-label":j,placeholder:n??'{"key": "value"}',rows:6,...w});if(t==="date")return n?.toLowerCase().includes("current_date")||n?.toLowerCase().includes("now()")||n?.toLowerCase().includes("curdate()")?(0,a.jsxs)("div",{className:"flex",children:[(0,a.jsx)(xt,{value:p.value?new Date(p.value):p.value===""?null:void 0,onChange:y=>p.onChange(y?y.toISOString().split("T")[0]:""),placeholder:n??"Select a date",className:"-me-px flex-1 rounded-e-none shadow-none focus-visible:z-10"}),(0,a.jsxs)(at,{children:[(0,a.jsx)(ot,{asChild:!0,children:(0,a.jsx)("button",{"aria-label":"Set to now",className:"inline-flex w-7 items-center justify-center rounded-e-sm 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",type:"button",onClick:()=>{const y=new Date().toISOString().split("T")[0];p.onChange(y)},children:(0,a.jsx)(Qn,{"aria-hidden":"true",className:"size-4",size:16})})}),(0,a.jsx)(it,{className:"px-2 py-1 text-xs",children:"Set to now"})]})]}):(0,a.jsx)(xt,{value:p.value?new Date(p.value):p.value===""?null:void 0,onChange:y=>p.onChange(y?y.toISOString().split("T")[0]:""),placeholder:n??"Select a date"});if(t==="timestamptz")return n?.toLowerCase().includes("current_timestamp")||n?.toLowerCase().includes("now()")||n?.toLowerCase().includes("localtimestamp")?(0,a.jsxs)("div",{className:"flex",children:[(0,a.jsx)(xt,{value:p.value?new Date(p.value):p.value===""?null:void 0,onChange:y=>p.onChange(y?y.toISOString():""),showTime:!0,isFormatted:!1,placeholder:n??"Select a date and time",className:"-me-px flex-1 rounded-e-none shadow-none focus-visible:z-10"}),(0,a.jsxs)(at,{children:[(0,a.jsx)(ot,{asChild:!0,children:(0,a.jsx)("button",{"aria-label":"Set to now",className:"inline-flex w-7 items-center justify-center rounded-e-sm 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",type:"button",onClick:()=>{const y=new Date().toISOString();p.onChange(y)},children:(0,a.jsx)(Qn,{"aria-hidden":"true",className:"size-4",size:16})})}),(0,a.jsx)(it,{className:"px-2 py-1 text-xs",children:"Set to now"})]})]}):(0,a.jsx)(xt,{value:p.value?new Date(p.value):p.value===""?null:void 0,onChange:y=>p.onChange(y?y.toISOString():""),showTime:!0,isFormatted:!1,placeholder:n??"Select a date and time"});if(t==="timestamp")return n?.toLowerCase().includes("current_timestamp")||n?.toLowerCase().includes("now()")||n?.toLowerCase().includes("localtimestamp")?(0,a.jsxs)("div",{className:"flex",children:[(0,a.jsx)(xt,{value:p.value?new Date(p.value):p.value===""?null:void 0,onChange:y=>p.onChange(y?sr(y):""),showTime:!0,isFormatted:!1,placeholder:n??"Select a date and time",className:"-me-px flex-1 rounded-e-none shadow-none focus-visible:z-10"}),(0,a.jsxs)(at,{children:[(0,a.jsx)(ot,{asChild:!0,children:(0,a.jsx)("button",{"aria-label":"Set to now",className:"inline-flex w-7 items-center justify-center rounded-e-sm 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",type:"button",onClick:()=>{p.onChange(sr(new Date))},children:(0,a.jsx)(Qn,{"aria-hidden":"true",className:"size-4",size:16})})}),(0,a.jsx)(it,{className:"px-2 py-1 text-xs",children:"Set to now"})]})]}):(0,a.jsx)(xt,{value:p.value?new Date(p.value):p.value===""?null:void 0,onChange:y=>p.onChange(y?sr(y):""),showTime:!0,isFormatted:!1,placeholder:n??"Select a date and time"});if(t==="uuid")return(0,a.jsxs)("div",{className:"flex",children:[(0,a.jsx)(Oe,{id:e,"aria-label":j,type:"text",placeholder:n??"",pattern:"[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}",className:"-me-px flex-1 rounded-e-none shadow-none focus-visible:z-10",...w}),(0,a.jsxs)(at,{children:[(0,a.jsx)(ot,{asChild:!0,children:(0,a.jsx)("button",{"aria-label":"Generate UUID",className:"inline-flex w-9 items-center justify-center rounded-e-sm 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",type:"button",onClick:()=>{const y=crypto.randomUUID();p.onChange(y)},children:(0,a.jsx)(bs,{"aria-hidden":"true",className:"size-4",size:16})})}),(0,a.jsx)(it,{className:"px-2 py-1 text-xs",children:"Generate UUID"})]})]});if(t==="array")return(0,a.jsx)(Xe,{id:e,"aria-label":j,placeholder:n??'["item1", "item2"]',rows:3,...w});if(t==="enum")return r&&r.length>0?(0,a.jsxs)(Ve,{value:p.value,onValueChange:y=>p.onChange(y),children:[(0,a.jsx)(Be,{"aria-label":j,className:"w-full",children:(0,a.jsx)($e,{placeholder:n??"Select a value"})}),(0,a.jsx)(Ke,{children:r.map(y=>(0,a.jsx)(Q,{value:y,children:y},y))})]}):(0,a.jsx)(Oe,{id:e,"aria-label":j,placeholder:n??"",...w});if(t==="interval")return(0,a.jsx)(Oe,{id:e,"aria-label":j,type:"text",placeholder:n??"1 day",...w});if(t==="bytea"){const{value:y,...N}=w,C=typeof y=="string"?y:"";return(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[C&&(0,a.jsx)("div",{role:"group","aria-label":`${e} stored value`,className:"truncate rounded-md border border-input bg-muted/40 px-3 py-2 font-mono text-xs",children:C}),(0,a.jsx)(Oe,{id:e,"aria-label":j,type:"file",...N})]})}return t==="inet"||t==="cidr"||t==="macaddr"||t==="macaddr8"?(0,a.jsx)(Oe,{id:e,"aria-label":j,type:"text",placeholder:t==="inet"?"192.168.1.1":t==="cidr"?"192.168.1.0/24":t==="macaddr"?"08:00:2b:01:02:03":"08:00:2b:01:02:03:04:05",...w}):t==="point"||t==="line"||t==="polygon"?(0,a.jsx)(Oe,{id:e,"aria-label":j,type:"text",placeholder:t==="point"?"(x,y)":t==="line"?"{A,B,C}":"((x1,y1),(x2,y2),...)",...w}):(0,a.jsx)(Oe,{id:e,"aria-label":j,type:"text",placeholder:n??"",...w})};return(0,a.jsx)(Go,{control:m,name:e,render:({field:p})=>c?(0,a.jsx)("div",{role:"group","aria-label":e,children:h(p)}):(0,a.jsxs)("div",{className:"grid grid-cols-3 gap-4",children:[(0,a.jsxs)("div",{className:"col-span-1 flex flex-col gap-1",children:[(0,a.jsx)(Re,{htmlFor:e,children:e}),(0,a.jsx)("span",{className:"text-xs text-muted-foreground",children:t})]}),(0,a.jsx)("div",{className:"col-span-2 w-full",children:h(p)})]})},e)},yu=({tableName:e,schemaName:t})=>{const n=tt(),{closeOverlay:r}=xe(),{selectedDatabase:s,dbType:o}=be(),{mutateAsync:i,isPending:c}=ct({mutationFn:async m=>(await ti({tableName:e,schemaName:t,data:m,db:s})).data.data,onSuccess:async()=>{await Promise.all([n.invalidateQueries({queryKey:pe.dataByTable(e),exact:!1}),n.invalidateQueries({queryKey:pe.lists()})]),r("records.add-record"),o&&hn.capture("record_created",{db_type:o})}});return{createRecord:async(m,d)=>{if(!m||Object.keys(m).length===0)throw new Error("At least one field is required");return we.promise(i(m,d),{loading:"Creating record...",success:f=>f||"Record created successfully",error:f=>f.detail||f.message||"Failed to create record"})},isCreatingRecord:c}},fa=Kt()(e=>({prefill:null,setPrefill:t=>e({prefill:t})}));function bu({className:e,...t}){return(0,a.jsx)("div",{"data-slot":"table-container",className:"relative w-full overflow-x-auto",children:(0,a.jsx)("table",{"data-slot":"table",className:F("w-full caption-bottom text-xs",e),...t})})}function wu({className:e,...t}){return(0,a.jsx)("thead",{"data-slot":"table-header",className:F("[&_tr]:border-b",e),...t})}function Cu({className:e,...t}){return(0,a.jsx)("tbody",{"data-slot":"table-body",className:F("[&_tr:last-child]:border-0",e),...t})}function ar({className:e,...t}){return(0,a.jsx)("tr",{"data-slot":"table-row",className:F("hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",e),...t})}function ju({className:e,...t}){return(0,a.jsx)("th",{"data-slot":"table-head",className:F("text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0",e),...t})}function ss({className:e,...t}){return(0,a.jsx)("td",{"data-slot":"table-cell",className:F("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0",e),...t})}var Wn=({tableName:e,schemaName:t,isReferencedTable:n=!1})=>{const{selectedDatabase:r}=be(),[s]=J(K.REFERENCED_TABLE_STATE_KEYS.ACTIVE_TABLE),o=e||s||"",[i]=J(n?K.REFERENCED_TABLE_STATE_KEYS.CURSOR:K.TABLE_STATE_KEYS.CURSOR),[c]=J(n?K.REFERENCED_TABLE_STATE_KEYS.LIMIT.toString():K.TABLE_STATE_KEYS.LIMIT),[l]=J(n?K.REFERENCED_TABLE_STATE_KEYS.DIRECTION:K.TABLE_STATE_KEYS.DIRECTION),[m]=J(K.REFERENCED_TABLE_STATE_KEYS.SORT,Yt(b=>b).withDefault([]).withOptions({history:"push"})),[d]=J(K.TABLE_STATE_KEYS.SORT),[f]=J(K.TABLE_STATE_KEYS.ORDER),[h]=J(n?K.REFERENCED_TABLE_STATE_KEYS.FILTERS:K.TABLE_STATE_KEYS.FILTERS,Yt(b=>b).withDefault([]).withOptions({history:"push"})),p={tableName:o,cursor:i,limit:c,direction:l,sort:n&&m?.length>0?JSON.stringify(m):d,order:f,filters:h?.length>0?JSON.stringify(h):void 0,db:r,schemaName:t},w=b=>li({tableName:b.tableName,schemaName:b.schemaName,limit:b.limit?.toString()||K.CACHE_KEYS.TABLE_DEFAULT_LIMIT.toString(),db:b.db??void 0,cursor:b.cursor,direction:b.direction,sort:b.sort??void 0,order:b.order,filters:b.filters}),{data:j,isLoading:y,isRefetching:N,refetch:C,error:x}=jr({queryKey:pe.data(p),queryFn:()=>w(p),select:b=>b.data.data,enabled:!!o}),g=tt();return{tableData:j,prefetchPage:(b,D)=>{const S={...p,cursor:b,direction:D};g.prefetchQuery({queryKey:pe.data(S),queryFn:()=>w(S)})},pageKey:JSON.stringify(pe.data(p)),isLoadingTableData:y,isRefetchingTableData:N,errorTableData:x,refetchTableData:C}},Su=({tableName:e})=>{const[t,n]=J(K.REFERENCED_TABLE_STATE_KEYS.FILTERS,Yt(x=>x).withDefault([]).withOptions({history:"push"})),[,r]=J(K.REFERENCED_TABLE_STATE_KEYS.CURSOR),[,s]=J(K.REFERENCED_TABLE_STATE_KEYS.DIRECTION),{tableCols:o}=Te({tableName:e,schemaName:ue()}),[i,c]=(0,u.useState)(!1),[l,m]=(0,u.useState)([]),d=()=>{const x=o?.[0]?.columnName??"";m(g=>[...g,{columnName:x,operator:"=",value:""}])},f=x=>{m(l.filter((g,v)=>v!==x))},h=(x,g)=>{m(l.map((v,b)=>b===x?{...v,columnName:g}:v))},p=(x,g)=>{m(l.map((v,b)=>b===x?{...v,value:g}:v))},w=(x,g)=>{m(l.map((v,b)=>b===x?{...v,operator:g}:v))},j=()=>{m([]),n([]),r(null),s(null),c(!1)},y=()=>{const x=l.filter(g=>g.columnName&&g.operator&&g.value!=="");n(x),r(null),s(null),c(!1)},N=t.length>0,C=x=>{x&&m(t),c(x)};return(0,a.jsxs)(_t,{modal:!0,open:i,onOpenChange:C,children:[(0,a.jsx)(Vt,{asChild:!0,children:(0,a.jsxs)(I,{type:"button",variant:"ghost",className:"border-r border-l-0 border-y-0 border-border rounded-none text-xs h-full text-muted-foreground hover:text-foreground hover:bg-muted/60 transition-colors","aria-label":"Filter table data","data-active":N,children:[(0,a.jsx)(Cs,{className:"size-4"}),"Filter",N&&(0,a.jsx)(_e,{className:"text-[10px] font-normal text-primary bg-primary/10 border border-primary/30 px-1.5 py-0.5",children:t.length})]})}),(0,a.jsxs)(nt,{className:"w-md space-y-2",align:"start",children:[(0,a.jsx)("div",{className:"flex items-center gap-4",children:(0,a.jsxs)(I,{variant:"outline",size:"lg",className:"text-sm",onClick:d,children:["Add filter",l&&l.length>0&&(0,a.jsx)(_e,{className:"text-xs font-normal text-primary bg-primary/10 border border-primary/30 px-1.5 py-0.5",children:l.length})]})}),(0,a.jsx)("div",{className:"flex flex-col gap-4",children:l.length>0?l.map((x,g)=>(0,a.jsxs)("div",{className:"flex-1 flex h-9 gap-2",children:[(0,a.jsxs)(Ve,{value:x.columnName,onValueChange:v=>h(g,v),children:[(0,a.jsx)(Be,{className:"w-full flex-1",children:(0,a.jsx)($e,{placeholder:"Select column"})}),(0,a.jsx)(Ke,{children:o?.map(v=>(0,a.jsx)(Q,{value:v.columnName,children:v.columnName},v.columnName))})]}),(0,a.jsxs)(Ve,{value:x.operator,onValueChange:v=>w(g,v),children:[(0,a.jsx)(Be,{children:(0,a.jsx)($e,{placeholder:"Op"})}),(0,a.jsxs)(Ke,{children:[(0,a.jsx)(Q,{value:"=",children:"="}),(0,a.jsx)(Q,{value:"!=",children:"!="}),(0,a.jsx)(Q,{value:">",children:">"}),(0,a.jsx)(Q,{value:">=",children:">="}),(0,a.jsx)(Q,{value:"<",children:"<"}),(0,a.jsx)(Q,{value:"<=",children:"<="}),(0,a.jsx)(Q,{value:"is",children:"is"}),(0,a.jsx)(Q,{value:"is not",children:"is not"}),(0,a.jsx)(Q,{value:"like",children:"like"}),(0,a.jsx)(Q,{value:"not like",children:"not like"}),(0,a.jsx)(Q,{value:"ilike",children:"ilike"}),(0,a.jsx)(Q,{value:"not ilike",children:"not ilike"})]})]}),(0,a.jsx)(Oe,{type:"text",placeholder:"Value",value:x.value,onChange:v=>p(g,v.target.value)}),(0,a.jsx)(I,{variant:"ghost",size:"icon",className:"text-xs",onClick:()=>f(g),children:(0,a.jsx)(An,{className:"size-4"})})]},`${x.columnName}-${g}`)):(0,a.jsx)("div",{className:"flex-1 flex h-9 gap-2 items-center justify-center",children:(0,a.jsx)("p",{className:"text-sm text-muted-foreground text-center",children:"No filters applied"})})}),(0,a.jsxs)("div",{className:"gap-2 flex justify-end",children:[(0,a.jsx)(I,{variant:"outline",size:"lg",className:"text-sm",onClick:j,children:"Reset"}),(0,a.jsx)(I,{variant:"default",size:"lg",className:"text-sm",onClick:y,children:"Apply"})]})]})]})},Nu=({tableName:e})=>{const{tableCols:t}=Te({tableName:e,schemaName:ue()}),[n,r]=J(K.REFERENCED_TABLE_STATE_KEYS.SORT,Yt(C=>C).withDefault([]).withOptions({history:"push"})),[,s]=J(K.REFERENCED_TABLE_STATE_KEYS.CURSOR),[,o]=J(K.REFERENCED_TABLE_STATE_KEYS.DIRECTION),[i,c]=(0,u.useState)(!1),[l,m]=(0,u.useState)([]),d=()=>{const C=t?.[0]?.columnName??"";m(x=>[...x,{columnName:C,direction:"asc"}])},f=C=>{m(l.filter((x,g)=>g!==C))},h=(C,x)=>{m(l.map((g,v)=>v===C?{...g,columnName:x}:g))},p=(C,x)=>{m(l.map((g,v)=>v===C?{...g,direction:x}:g))},w=()=>{m([]),r([]),s(null),o(null),c(!1)},j=()=>{const C=l.filter(x=>x.columnName);r(C),s(null),o(null),c(!1)},y=n.length>0,N=C=>{C&&m(n),c(C)};return(0,a.jsxs)(_t,{modal:!0,open:i,onOpenChange:N,children:[(0,a.jsx)(Vt,{asChild:!0,children:(0,a.jsxs)(I,{variant:"ghost",className:"border-r border-l-0 border-y-0 border-border rounded-none text-xs h-full text-muted-foreground hover:text-foreground hover:bg-muted/60 transition-colors",children:[(0,a.jsx)(ho,{className:"size-4"}),"Sort",y&&(0,a.jsx)(_e,{className:"text-[10px] font-normal text-primary bg-primary/10 border border-primary/30 px-1.5 py-0.5",children:n.length})]})}),(0,a.jsxs)(nt,{className:"w-md space-y-2",align:"start",children:[(0,a.jsx)("div",{className:"flex items-center gap-4",children:(0,a.jsxs)(I,{variant:"outline",size:"lg",className:"text-sm",onClick:d,children:["Add sort",l&&l.length>0&&(0,a.jsx)(_e,{className:"text-xs font-normal text-primary bg-primary/10 border border-primary/30 px-1.5 py-0.5",children:l.length})]})}),(0,a.jsx)("div",{className:"flex flex-col gap-4",children:l.length>0?l.map((C,x)=>(0,a.jsxs)("div",{className:"flex-1 flex h-9 gap-2 items-center",children:[(0,a.jsxs)(Ve,{value:C.columnName,onValueChange:g=>h(x,g),children:[(0,a.jsx)(Be,{className:"w-full flex-1",children:(0,a.jsx)($e,{placeholder:"Select column"})}),(0,a.jsx)(Ke,{children:t?.map(g=>(0,a.jsx)(Q,{value:g.columnName,children:g.columnName},g.columnName))})]}),(0,a.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,a.jsx)(Re,{htmlFor:`sort-direction-${x}`,children:"Asc"}),(0,a.jsx)(mi,{id:`sort-direction-${x}`,checked:C.direction==="desc",onCheckedChange:g=>p(x,g?"desc":"asc")}),(0,a.jsx)(Re,{htmlFor:`sort-direction-${x}`,children:"Desc"})]}),(0,a.jsx)(I,{variant:"ghost",size:"icon",className:"text-xs",onClick:()=>f(x),children:(0,a.jsx)(An,{className:"size-4"})})]},`${C.columnName}-${x}`)):(0,a.jsx)("div",{className:"flex-1 flex h-9 gap-2 items-center justify-center",children:(0,a.jsx)("p",{className:"text-sm text-muted-foreground text-center",children:"No sorts applied"})})}),(0,a.jsxs)("div",{className:"gap-2 flex justify-end",children:[(0,a.jsx)(I,{variant:"outline",size:"lg",className:"text-sm",onClick:w,children:"Reset"}),(0,a.jsx)(I,{variant:"default",size:"lg",className:"text-sm",onClick:j,children:"Apply"})]})]})]})},Du=({tableName:e,referencedColumn:t,columnName:n})=>{const{setValue:r}=Dr(),{closeOverlay:s}=xe(),o=ue(),{tableCols:i,isLoadingTableCols:c}=Te({tableName:e,schemaName:o}),[l,m]=J(K.REFERENCED_TABLE_STATE_KEYS.ACTIVE_TABLE),{tableData:d,isLoadingTableData:f}=Wn({tableName:e,schemaName:o,isReferencedTable:!0}),[,h]=J(K.REFERENCED_TABLE_STATE_KEYS.CURSOR),[,p]=J(K.REFERENCED_TABLE_STATE_KEYS.DIRECTION),[w,j]=J(K.REFERENCED_TABLE_STATE_KEYS.LIMIT.toString());(0,u.useEffect)(()=>{e&&l!==e&&m(e),e&&!w&&j(K.REFERENCED_TABLE_STATE_KEYS.DEFAULT_LIMIT.toString())},[e,l,w,m,j]);const y=()=>{d?.meta?.nextCursor&&(h(d.meta.nextCursor),p("forward"))},N=()=>{d?.meta?.prevCursor&&(h(d.meta.prevCursor),p("backward"))},C=(0,u.useMemo)(()=>i?.map(v=>({id:v.columnName,accessorKey:v.columnName,header:v.columnName,cell:({row:b})=>(0,a.jsx)("div",{className:"font-medium max-w-[200px] truncate",children:Ie(b.getValue(v.columnName))})}))??[],[i]),x=xs({columns:C??[],data:d?.data??[],getCoreRowModel:gs()}),g=v=>{r(n??"",v.original[t??""]),s("records.record-reference")};return c||f?(0,a.jsx)("div",{className:"flex items-center justify-center h-full",children:(0,a.jsx)(Nr,{size:"size-8"})}):(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"sticky top-0 left-0 right-0 h-8 border-b border-border w-full flex items-center justify-between bg-background z-50",children:[(0,a.jsxs)("div",{className:"flex items-center h-full",children:[(0,a.jsx)(Su,{tableName:e}),(0,a.jsx)(Nu,{tableName:e})]}),(0,a.jsxs)("div",{className:"flex items-center h-full",children:[(0,a.jsx)(I,{variant:"ghost",size:"icon",className:"border-l border-r-0 border-y-0 border-border rounded-none text-xs h-full aspect-square size-8 text-muted-foreground hover:text-foreground hover:bg-muted/60 transition-colors",onClick:N,disabled:!d?.meta?.hasPreviousPage,children:(0,a.jsx)(lo,{className:"size-3"})}),(0,a.jsx)(I,{variant:"ghost",size:"icon",className:"border-r border-l border-y-0 border-border rounded-none text-xs h-full aspect-square size-8 text-muted-foreground hover:text-foreground hover:bg-muted/60 transition-colors",onClick:y,disabled:!d?.meta?.hasNextPage,children:(0,a.jsx)(oo,{className:"size-3"})})]})]}),(0,a.jsxs)(bu,{children:[(0,a.jsx)(wu,{children:x.getHeaderGroups().map(v=>(0,a.jsx)(ar,{className:"hover:bg-transparent text-xs sticky top-0 right-0 left-0 supports-backdrop-filter:backdrop-blur-sm",children:v.headers.map(b=>(0,a.jsx)(ju,{className:"border-r border-border",children:b.isPlaceholder?null:un(b.column.columnDef.header,b.getContext())},b.id))},v.id))}),(0,a.jsx)(Cu,{children:x.getRowModel().rows?.length?x.getRowModel().rows.map(v=>(0,a.jsx)(ar,{className:"text-xs cursor-pointer",onClick:()=>g(v),children:v.getVisibleCells().map(b=>(0,a.jsx)(ss,{className:"border-r border-border",children:un(b.column.columnDef.cell,b.getContext())},b.id))},v.id)):(0,a.jsx)(ar,{children:(0,a.jsx)(ss,{className:"h-24 text-center",colSpan:C.length,children:"No results."})})})]})]})},ma=()=>{const{closeOverlay:e,isOverlayOpen:t}=xe(),{tableName:n,referencedColumn:r,columnName:s,clearRecordReference:o}=ua(),[,i]=J(K.REFERENCED_TABLE_STATE_KEYS.ACTIVE_TABLE),[,c]=J(K.REFERENCED_TABLE_STATE_KEYS.CURSOR),[,l]=J(K.REFERENCED_TABLE_STATE_KEYS.DIRECTION),[,m]=J(K.REFERENCED_TABLE_STATE_KEYS.LIMIT.toString()),[,d]=J(K.REFERENCED_TABLE_STATE_KEYS.SORT.toString()),[,f]=J(K.REFERENCED_TABLE_STATE_KEYS.ORDER.toString()),[,h]=J(K.REFERENCED_TABLE_STATE_KEYS.FILTERS,Yt(w=>w).withDefault([]).withOptions({history:"push"}));if(!n||!r)return null;const p=()=>{e("records.record-reference"),o(),i(null),c(null),l(null),m(null),d(null),f(null),h(null)};return(0,a.jsx)(Rt,{title:`View records in the table ${n}`,size:"max-w-lg!",contentClassName:"p-0",open:t("records.record-reference"),onOpenChange:w=>{w||p()},children:(0,a.jsx)(Du,{tableName:n,referencedColumn:r,columnName:s??""})})},ku=({tableName:e})=>{const{closeOverlay:t,isOverlayOpen:n}=xe(),r=ue(),{tableCols:s,isLoadingTableCols:o}=Te({tableName:e,schemaName:r}),{createRecord:i,isCreatingRecord:c}=yu({tableName:e,schemaName:r}),l=Es(),{prefill:m,setPrefill:d}=fa();(0,u.useEffect)(()=>{m&&(l.reset(m,{keepDefaultValues:!0}),d(null))},[m,l,d]);const f=async w=>{i(w,{onSuccess:()=>{l.reset(),t("records.add-record")},onError:j=>{console.error("Failed to create record:",j)}})},h=()=>{l.reset(),t("records.add-record")},p=()=>s&&s.length>0?(0,a.jsxs)(Ts,{...l,children:[(0,a.jsxs)("form",{onSubmit:l.handleSubmit(f),className:"flex flex-col h-full",children:[(0,a.jsx)("div",{className:"space-y-6",children:s&&s.length>0&&!o?s.map(w=>(0,a.jsx)(da,{...w},w.columnName)):null}),(0,a.jsxs)("div",{className:"flex justify-end gap-2 py-6",children:[(0,a.jsx)(mn,{asChild:!0,onClick:h,disabled:c,children:(0,a.jsx)(I,{variant:"outline",size:"lg",children:"Close"})}),(0,a.jsx)(I,{type:"submit",size:"lg",disabled:c||!l.formState.isDirty,children:"Save"})]})]}),(0,a.jsx)(ma,{})]}):(0,a.jsx)("div",{className:"flex flex-col h-full",children:(0,a.jsx)("div",{className:"space-y-6",children:(0,a.jsx)(ye,{variant:"info",title:"No columns found",message:"Please add at least one column to the table before adding a record."})})});return(0,a.jsx)(Rt,{title:`Add a new record to the table: ${e}`,open:n("records.add-record"),onOpenChange:w=>{w||h()},children:p()})},Ir=Ro,zn=({className:e,ref:t,...n})=>(0,a.jsx)(Ds,{ref:t,className:F("inline-flex h-7 items-center justify-center rounded-sm border text-muted-foreground",e),...n});zn.displayName=Ds.displayName;var kt=({className:e,ref:t,...n})=>(0,a.jsx)(Ns,{ref:t,className:F("inline-flex h-full items-center justify-center whitespace-nowrap border-l px-2 text-xs font-medium transition-colors first:rounded-l-sm first:border-l-0 last:rounded-r-sm hover:bg-muted hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-accent data-[state=active]:text-accent-foreground",e),...n});kt.displayName=Ns.displayName;var Tt=({className:e,ref:t,...n})=>(0,a.jsx)(ks,{ref:t,className:F("mt-2 focus-visible:outline-none",e),...n});Tt.displayName=ks.displayName;var Et=e=>{const t=e.trim();if(t.startsWith("[")||t.startsWith("{"))try{const n=JSON.parse(t);if(Array.isArray(n))return n;if(typeof n=="object"&&n!==null)return[n];throw new Error("Invalid JSON format")}catch(n){throw n instanceof SyntaxError?new Error(`Invalid JSON format: ${n.message.replace("JSON.","")}`):n}return Tu(t)},Tu=e=>{const t=Ou(e.split(`
3
+ `,1)[0]),[n,...r]=Mu(e,t);if(!n)throw new Error("No data to parse");const s=n.map(i=>i.trim()),o=r.map((i,c)=>{if(i.length!==s.length)throw new Error(`Row ${c+2} has ${i.length} ${i.length===1?"value":"values"} but ${s.length} columns are expected`);return Object.fromEntries(s.map((l,m)=>[l,Ru(i[m].trim())]))});if(o.length===0)throw new Error("No records found in CSV");return o},Eu={",":/,/g," ":/\t/g,";":/;/g},Ou=e=>{const t=[","," ",";"];let n=0,r=",";for(const s of t){const o=(e.match(Eu[s])||[]).length;o>n&&(n=o,r=s)}return r},Mu=(e,t)=>{const n=[];let r=[],s="",o=!1,i=!1;const c=()=>{r.push(s),(i||r.length>1||r[0].trim()!=="")&&n.push(r),r=[],s="",i=!1};for(let l=0;l<e.length;l++){const m=e[l];m==='"'?o&&e[l+1]==='"'?(s+='"',l++):(o=!o,i=!0):o?s+=m:m===t?(r.push(s),s=""):m===`
4
+ `?c():m!=="\r"&&(s+=m)}if(o)throw new Error("CSV has a quoted field without a closing quote");return c(),n},Ru=e=>{if(e===""||e==="null")return null;if(e==="true")return!0;if(e==="false")return!1;if(!Number.isNaN(Number(e))&&e!==""){const t=Number(e);if(String(t)===e||e.includes(".")&&!Number.isNaN(parseFloat(e)))return t}if(e.startsWith("{")&&e.endsWith("}")||e.startsWith("[")&&e.endsWith("]"))try{return JSON.parse(e)}catch{}return e},Ln=({tableName:e,schemaName:t})=>{const n=tt(),{selectedDatabase:r,dbType:s}=be(),{mutateAsync:o,isPending:i}=ct({mutationFn:async l=>(await ni({tableName:e,schemaName:t,records:l,db:r})).data.data,onSuccess:async()=>{await Promise.all([n.invalidateQueries({queryKey:pe.dataByTable(e),exact:!1}),n.invalidateQueries({queryKey:pe.lists(),exact:!1}),n.invalidateQueries({queryKey:pe.columnsByTable(e),exact:!1})])}});return{bulkInsertRecords:async(l,m)=>{if(!l||l.length===0)throw new Error("At least one record is required");return we.promise(o(l),{loading:`Inserting ${l.length} record${l.length!==1?"s":""}...`,success:d=>(m?.onSuccess?.(d),s&&m?.format&&hn.capture("bulk_insert",{db_type:s,format:m.format}),d.failureCount>0?`${d.successCount} records inserted, ${d.failureCount} failed`:d.message),error:d=>(m?.onError?.(d),d.detail||d.message||"Failed to insert records")})},isInserting:i}},_u=({tableName:e})=>{const{closeOverlay:t,isOverlayOpen:n}=xe(),{bulkInsertRecords:r,isInserting:s}=Ln({tableName:e,schemaName:ue()}),o=(0,u.useRef)(null),[i,c]=(0,u.useState)(""),[l,m]=(0,u.useState)(null),[d,f]=(0,u.useState)([]),[h,p]=(0,u.useState)(null),[w,j]=(0,u.useState)("file"),y=g=>{const v=g.target.files?.[0];v&&(m(v),f([]),p(null))},N=(0,u.useCallback)(()=>{p(null),f([]);try{if(w==="file"&&l){const g=new FileReader;g.onload=v=>{try{const b=v.target?.result,D=Et(b);f(D)}catch(b){p(b instanceof Error?b.message:"Failed to parse file")}},g.readAsText(l)}else if(i.trim()){const g=Et(i);f(g)}else p(w==="file"?"No file selected":"Input is empty")}catch(g){p(g instanceof Error?g.message:"Failed to format data")}},[i,l,w]),C=async()=>{if(d.length===0){p("No records to insert");return}try{await r(d,{format:"csv",onSuccess:()=>{c(""),m(null),f([]),p(null),t("records.bulk-insert-csv")}})}catch(g){console.error("Error inserting records:",g)}},x=()=>{c(""),m(null),f([]),p(null),t("records.bulk-insert-csv")};return(0,a.jsx)(Rt,{title:`Add data from CSV into: ${e}`,open:n("records.bulk-insert-csv"),onOpenChange:g=>{g||x()},children:(0,a.jsxs)("div",{className:"flex flex-col h-full gap-4",children:[(0,a.jsx)(ye,{variant:"info",title:"CSV Import",message:"Enter CSV data with headers. Supports comma, tab, or semicolon delimiters. First row should be column names."}),(0,a.jsxs)(Ir,{value:w,onValueChange:g=>j(g),children:[(0,a.jsxs)(zn,{className:"grid w-full grid-cols-2",children:[(0,a.jsx)(kt,{value:"file",children:"File"}),(0,a.jsx)(kt,{value:"text",children:"Text"})]}),(0,a.jsx)(Tt,{value:"file",className:"flex-1 flex flex-col gap-4",children:(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)(Re,{htmlFor:"file-input",className:"mb-2 text-sm font-medium text-foreground",children:"Select CSV file"}),(0,a.jsx)("input",{id:"file-input",ref:o,type:"file",accept:".csv",onChange:y,disabled:s,className:"text-sm text-muted-foreground file:mr-4 file:py-2 file:px-4 file:rounded-md file:border-0 file:text-sm file:font-semibold file:bg-primary file:text-primary-foreground hover:file:bg-primary/90 cursor-pointer disabled:opacity-50"})]})}),(0,a.jsx)(Tt,{value:"text",className:"flex-1 flex flex-col gap-4",children:(0,a.jsxs)("div",{className:"flex-1 flex flex-col",children:[(0,a.jsx)(Re,{htmlFor:"text-input",className:"text-sm font-medium mb-2 text-foreground",children:"Data Input"}),(0,a.jsx)(Xe,{id:"text-input",value:i,onChange:g=>{c(g.target.value),f([]),p(null)},placeholder:`column1,column2,column3
5
+ value1,value2,value3
6
+ value4,value5,value6`,className:"flex-1 resize-none font-mono text-sm",disabled:s})]})})]}),h&&(0,a.jsx)(ye,{variant:"error",title:"Parse Error",message:h}),d.length>0&&(0,a.jsx)(ye,{variant:"success",title:"Ready to Insert",message:`${d.length} record${d.length!==1?"s":""} parsed successfully`}),(0,a.jsxs)("div",{className:"flex justify-between gap-2",children:[(0,a.jsx)(I,{variant:"secondary",size:"lg",onClick:N,disabled:w==="file"?!l:!i.trim()||s,children:"Format"}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)(mn,{asChild:!0,onClick:x,disabled:s,children:(0,a.jsx)(I,{variant:"outline",size:"lg",children:"Close"})}),(0,a.jsx)(I,{type:"button",size:"lg",onClick:C,disabled:d.length===0||s,children:s?"Inserting...":"Insert"})]})]})]})})},Au=({tableName:e})=>{const{closeOverlay:t,isOverlayOpen:n}=xe(),{bulkInsertRecords:r,isInserting:s}=Ln({tableName:e,schemaName:ue()}),o=(0,u.useRef)(null),[i,c]=(0,u.useState)(""),[l,m]=(0,u.useState)(null),[d,f]=(0,u.useState)([]),[h,p]=(0,u.useState)(null),[w,j]=(0,u.useState)("file"),y=g=>{const v=g.target.files?.[0];v&&(m(v),f([]),p(null))},N=(0,u.useCallback)(()=>{p(null),f([]);try{if(w==="file"&&l){const g=new FileReader;g.onload=v=>{try{const b=v.target?.result,D=Et(b);f(D)}catch(b){p(b instanceof Error?b.message:"Failed to parse file")}},g.readAsText(l)}else if(i.trim()){const g=Et(i);f(g)}else p(w==="file"?"No file selected":"Input is empty")}catch(g){p(g instanceof Error?g.message:"Failed to format data")}},[i,l,w]),C=async()=>{if(d.length===0){p("No records to insert");return}try{await r(d,{format:"excel",onSuccess:()=>{c(""),m(null),f([]),p(null),t("records.bulk-insert-excel")}})}catch(g){console.error("Error inserting records:",g)}},x=()=>{c(""),m(null),f([]),p(null),t("records.bulk-insert-excel")};return(0,a.jsx)(Rt,{title:`Add data from Excel into: ${e}`,open:n("records.bulk-insert-excel"),onOpenChange:g=>{g||x()},children:(0,a.jsxs)("div",{className:"flex flex-col h-full gap-4",children:[(0,a.jsx)(ye,{variant:"info",title:"Excel Import",message:"Upload an Excel file (.xlsx, .xls) with headers in the first row. Column names should match your table schema."}),(0,a.jsxs)(Ir,{value:w,onValueChange:g=>j(g),children:[(0,a.jsxs)(zn,{className:"grid w-full grid-cols-2",children:[(0,a.jsx)(kt,{value:"file",children:"File"}),(0,a.jsx)(kt,{value:"text",children:"Text"})]}),(0,a.jsx)(Tt,{value:"file",className:"flex-1 flex flex-col gap-4",children:(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)(Re,{htmlFor:"file-input",className:"mb-2 text-sm font-medium text-foreground",children:"Select Excel file"}),(0,a.jsx)("input",{id:"file-input",ref:o,type:"file",accept:".xlsx,.xls",onChange:y,disabled:s,className:"text-sm text-muted-foreground file:mr-4 file:py-2 file:px-4 file:rounded-md file:border-0 file:text-sm file:font-semibold file:bg-primary file:text-primary-foreground hover:file:bg-primary/90 cursor-pointer disabled:opacity-50"})]})}),(0,a.jsx)(Tt,{value:"text",className:"flex-1 flex flex-col gap-4",children:(0,a.jsxs)("div",{className:"flex-1 flex flex-col",children:[(0,a.jsx)(Re,{htmlFor:"text-input",className:"mb-2 text-sm font-medium text-foreground",children:"Data Input"}),(0,a.jsx)(Xe,{id:"text-input",value:i,onChange:g=>{c(g.target.value),f([]),p(null)},placeholder:`column1 column2 column3
7
+ value1 value2 value3
8
+ value4 value5 value6`,className:"flex-1 resize-none font-mono text-sm",disabled:s})]})})]}),h&&(0,a.jsx)(ye,{variant:"error",title:"Parse Error",message:h}),d.length>0&&(0,a.jsx)(ye,{variant:"success",title:"Ready to Insert",message:`${d.length} record${d.length!==1?"s":""} parsed successfully`}),(0,a.jsxs)("div",{className:"flex justify-between gap-2",children:[(0,a.jsx)(I,{variant:"secondary",size:"lg",onClick:N,disabled:w==="file"?!l:!i.trim()||s,children:"Format"}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)(mn,{asChild:!0,onClick:x,disabled:s,children:(0,a.jsx)(I,{variant:"outline",size:"lg",children:"Close"})}),(0,a.jsx)(I,{type:"button",size:"lg",onClick:C,disabled:d.length===0||s,children:s?"Inserting...":"Insert"})]})]})]})})},Pu=({tableName:e})=>{const{closeOverlay:t,isOverlayOpen:n}=xe(),{bulkInsertRecords:r,isInserting:s}=Ln({tableName:e,schemaName:ue()}),o=(0,u.useRef)(null),[i,c]=(0,u.useState)(""),[l,m]=(0,u.useState)(null),[d,f]=(0,u.useState)([]),[h,p]=(0,u.useState)(null),[w,j]=(0,u.useState)("file"),y=g=>{const v=g.target.files?.[0];v&&(m(v),f([]),p(null))},N=(0,u.useCallback)(()=>{p(null),f([]);try{if(w==="file"&&l){const g=new FileReader;g.onload=v=>{try{const b=v.target?.result,D=Et(b);f(D)}catch(b){p(b instanceof Error?b.message:"Failed to parse file")}},g.readAsText(l)}else if(i.trim()){const g=Et(i);f(g)}else p(w==="file"?"No file selected":"Input is empty")}catch(g){p(g instanceof Error?g.message:"Failed to format data")}},[i,l,w]),C=async()=>{if(d.length===0){p("No records to insert");return}try{await r(d,{format:"json",onSuccess:()=>{c(""),m(null),f([]),p(null),t("records.bulk-insert-json")}})}catch(g){console.error("Error inserting records:",g)}},x=()=>{c(""),m(null),f([]),p(null),t("records.bulk-insert-json")};return(0,a.jsx)(Rt,{title:`Add data from JSON into: ${e}`,open:n("records.bulk-insert-json"),onOpenChange:g=>{g||x()},children:(0,a.jsxs)("div",{className:"flex flex-col h-full gap-4",children:[(0,a.jsx)(ye,{variant:"info",title:"JSON Import",message:'Enter JSON array or single object. Example: [{"name": "John", "age": 30}, {"name": "Jane", "age": 28}]'}),(0,a.jsxs)(Ir,{value:w,onValueChange:g=>j(g),children:[(0,a.jsxs)(zn,{className:"grid w-full grid-cols-2",children:[(0,a.jsx)(kt,{value:"file",children:"File"}),(0,a.jsx)(kt,{value:"text",children:"Text"})]}),(0,a.jsx)(Tt,{value:"file",className:"flex-1 flex flex-col gap-4",children:(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)(Re,{htmlFor:"file-input",className:"mb-2 text-sm font-medium text-foreground",children:"Select JSON file"}),(0,a.jsx)("input",{id:"file-input",ref:o,type:"file",accept:".json",onChange:y,disabled:s,className:"text-sm text-muted-foreground file:mr-4 file:py-2 file:px-4 file:rounded-md file:border-0 file:text-sm file:font-semibold file:bg-primary file:text-primary-foreground hover:file:bg-primary/90 cursor-pointer disabled:opacity-50"})]})}),(0,a.jsx)(Tt,{value:"text",className:"flex-1 flex flex-col gap-4",children:(0,a.jsxs)("div",{className:"flex-1 flex flex-col",children:[(0,a.jsx)(Re,{htmlFor:"text-input",className:"mb-2 text-sm font-medium text-foreground",children:"Data Input"}),(0,a.jsx)(Xe,{id:"text-input",value:i,onChange:g=>{c(g.target.value),f([]),p(null)},placeholder:'[{"column1": "value1", "column2": "value2"}]',className:"flex-1 resize-none font-mono text-sm",disabled:s})]})})]}),h&&(0,a.jsx)(ye,{variant:"error",title:"Parse Error",message:h}),d.length>0&&(0,a.jsx)(ye,{variant:"success",title:"Ready to Insert",message:`${d.length} record${d.length!==1?"s":""} parsed successfully`}),(0,a.jsxs)("div",{className:"flex justify-between gap-2",children:[(0,a.jsx)(I,{variant:"secondary",size:"lg",onClick:N,disabled:w==="file"?!l:!i.trim()||s,children:"Format"}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)(mn,{asChild:!0,onClick:x,disabled:s,children:(0,a.jsx)(I,{variant:"outline",size:"lg",children:"Close"})}),(0,a.jsx)(I,{type:"button",size:"lg",onClick:C,disabled:d.length===0||s,children:s?"Inserting...":"Insert"})]})]})]})})},Fu=({tableName:e})=>{const{closeOverlay:t,isOverlayOpen:n}=xe(),{bulkInsertRecords:r,isInserting:s}=Ln({tableName:e,schemaName:ue()}),[o,i]=(0,u.useState)(""),[c,l]=(0,u.useState)([]),[m,d]=(0,u.useState)(null),[f,h]=(0,u.useState)("auto"),p=(0,u.useCallback)(()=>{d(null),l([]);try{if(!o.trim()){d("Input is empty");return}const N=Et(o);l(N)}catch(N){d(N instanceof Error?N.message:"Failed to parse data")}},[o]),w=async()=>{if(c.length===0){d("No records to insert");return}try{await r(c,{onSuccess:()=>{i(""),l([]),d(null)}})}catch(N){console.error("Error inserting records:",N)}},j=()=>{i(""),l([]),d(null),t("records.bulk-insert")},y=()=>{i(""),l([]),d(null)};return(0,a.jsx)(Rt,{title:`Bulk Insert Records into: ${e}`,open:n("records.bulk-insert"),onOpenChange:N=>{N||j()},children:(0,a.jsxs)("div",{className:"flex flex-col h-full gap-4",children:[(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("button",{onClick:()=>h("auto"),type:"button",className:F("px-3 py-1 text-sm rounded-md transition-colors",f==="auto"?"bg-primary text-primary-foreground font-medium":"bg-muted text-muted-foreground hover:bg-muted/80 hover:text-foreground"),children:"Auto"}),(0,a.jsx)("button",{onClick:()=>h("csv"),type:"button",className:F("px-3 py-1 text-sm rounded-md transition-colors",f==="csv"?"bg-primary text-primary-foreground font-medium":"bg-muted text-muted-foreground hover:bg-muted/80 hover:text-foreground"),children:"CSV"}),(0,a.jsx)("button",{onClick:()=>h("json"),type:"button",className:F("px-3 py-1 text-sm rounded-md transition-colors",f==="json"?"bg-primary text-primary-foreground font-medium":"bg-muted text-muted-foreground hover:bg-muted/80 hover:text-foreground"),children:"JSON"})]}),(0,a.jsx)(ye,{variant:"info",title:"Bulk Insert",message:f==="json"?'Enter JSON array or single object. Example: [{"name": "John", "age": 30}, {"name": "Jane", "age": 28}]':"Enter CSV data with headers. Supports comma, tab, or semicolon delimiters. First row should be column names."}),(0,a.jsxs)("div",{className:"flex-1 flex flex-col",children:[(0,a.jsx)(Re,{htmlFor:"text-input",className:"mb-2 text-sm font-medium text-foreground",children:"Data Input"}),(0,a.jsx)(Xe,{id:"text-input",value:o,onChange:N=>{i(N.target.value),l([]),d(null)},placeholder:f==="json"?'[{"column1": "value1", "column2": "value2"}]':`column1,column2,column3
9
+ value1,value2,value3
10
+ value4,value5,value6`,className:"flex-1 resize-none font-mono text-sm"})]}),m&&(0,a.jsx)(ye,{variant:"error",title:"Parse Error",message:m}),c.length>0&&(0,a.jsx)(ye,{variant:"success",title:"Ready to Insert",message:`${c.length} record${c.length!==1?"s":""} parsed successfully`}),(0,a.jsxs)("div",{className:"flex justify-between gap-2",children:[(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)(I,{variant:"outline",size:"lg",onClick:y,disabled:!o||s,children:"Clear"}),(0,a.jsx)(I,{variant:"secondary",size:"lg",onClick:p,disabled:!o||s,children:"Preview"})]}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)(mn,{asChild:!0,onClick:j,disabled:s,children:(0,a.jsx)(I,{variant:"outline",size:"lg",children:"Close"})}),(0,a.jsx)(I,{type:"button",size:"lg",onClick:w,disabled:c.length===0||s,children:s?"Inserting...":"Insert"})]})]})]})})},pt=null,ze=null,Ze=Kt()((e,t)=>({isLive:!1,status:"idle",isPulsing:!1,activeTable:null,generation:0,highlightedRowIds:new Set,highlightedCellKeys:new Set,setLive:(n,r)=>{e(n?{isLive:!0,status:"healthy",activeTable:r??t().activeTable,generation:t().generation+1}:{isLive:!1,status:"idle",isPulsing:!1,generation:t().generation+1})},pauseLive:()=>{e({isLive:!1,status:"paused",isPulsing:!1,generation:t().generation+1})},setStatus:n=>{e({status:n})},triggerPulse:()=>{pt&&clearTimeout(pt),e({isPulsing:!0}),pt=setTimeout(()=>{e({isPulsing:!1}),pt=null},800)},setHighlights:(n,r,s=1500)=>{if(n.length===0&&r.length===0){t().clearHighlights();return}ze&&clearTimeout(ze),e({highlightedRowIds:new Set(n),highlightedCellKeys:new Set(r)}),ze=setTimeout(()=>{e({highlightedRowIds:new Set,highlightedCellKeys:new Set}),ze=null},s)},clearHighlights:()=>{ze&&(clearTimeout(ze),ze=null),e({highlightedRowIds:new Set,highlightedCellKeys:new Set})},isRowHighlighted:n=>t().highlightedRowIds.has(n),isCellHighlighted:(n,r)=>t().highlightedCellKeys.has(`${n}:${r}`),reset:()=>{pt&&(clearTimeout(pt),pt=null),ze&&(clearTimeout(ze),ze=null),e({isLive:!1,status:"idle",isPulsing:!1,activeTable:null,generation:t().generation+1,highlightedRowIds:new Set,highlightedCellKeys:new Set})}})),Ot=Kt()(e=>({tableName:null,rowIndex:null,isDirty:!1,setRowDetails:(t,n)=>e({tableName:t,rowIndex:n}),selectRowDetails:t=>e({rowIndex:t}),clearRowDetails:()=>e({tableName:null,rowIndex:null,isDirty:!1}),setDirty:t=>e({isDirty:t})})),et=e=>{if(e===void 0)return"undefined";if(e===null||typeof e!="object")return JSON.stringify(e);if(Array.isArray(e))return`[${e.map(et).join(",")}]`;const t=e;return`{${Object.keys(t).sort().map(n=>`${JSON.stringify(n)}:${et(t[n])}`).join(",")}}`},gr=(e,t=[])=>t.length===1?String(e[t[0]]??""):t.length>1?et(t.map(n=>e[n])):e.id!==void 0&&e.id!==null?String(e.id):e._id!==void 0&&e._id!==null?String(e._id):et(e),Iu=(e,t)=>e===t?!0:typeof e=="object"&&typeof t=="object"&&e!==null&&t!==null?et(e)===et(t):!1,Wu=(e,t,n=[])=>{if(!e||!t)return{hasVisibleChanges:!1,insertedRowIds:[],changedCellKeys:[]};const r=e.map(d=>gr(d,n)),s=t.map(d=>gr(d,n));let o=!1;(e.length!==t.length||r.some((d,f)=>d!==s[f]))&&(o=!0);const i=new Map;for(let d=0;d<e.length;d++)i.set(r[d],e[d]);const c=new Set(s),l=[],m=[];for(let d=0;d<t.length;d++){const f=s[d],h=t[d],p=i.get(f);if(!p)l.push(f),o=!0;else{const w=new Set([...Object.keys(p),...Object.keys(h)]);for(const j of w)Iu(p[j],h[j])||(m.push(`${f}:${j}`),o=!0)}}for(const d of r)if(!c.has(d)){o=!0;break}return{hasVisibleChanges:o,insertedRowIds:l,changedCellKeys:m}},ln=Object.freeze({default:!0}),cn={id:"global",keyColumns:[]},xr=(e,t=cn)=>t.keyColumns.length>0?t.keyColumns.map(n=>e[n]):e.id??e._id??e,vr=(e,t,n=cn)=>et([n.id,xr(e,n),t]),as=({rowData:e,columnName:t,newValue:n,originalValue:r},s)=>[vr(e,t,s),n===r?void 0:{scope:s.id,rowData:e,columnName:t,newValue:n,originalValue:r}],Nn=(e,t,n)=>{const r=new Map(e.updates),s=[];for(const[o,i]of n)s.push([o,r.get(o)]),i?r.set(o,i):r.delete(o);return s.every(([,o],i)=>o===n[i][1])?e:{updates:r,history:[...e.history,{scope:t,previous:s}]}},Ce=Kt()((e,t)=>({updates:new Map,history:[],setUpdate:(n,r,s,o,i=cn)=>e(c=>Nn(c,i.id,[as({rowData:n,columnName:r,newValue:s,originalValue:o},i)])),setUpdates:(n,r=cn)=>e(s=>Nn(s,r.id,n.map(o=>as(o,r)))),clearUpdates:n=>e(r=>n===void 0?{updates:new Map,history:[]}:Nn(r,n,[...r.updates].filter(([,s])=>s.scope===n).map(([s])=>[s,void 0]))),clearUpdate:(n,r,s=cn)=>e(o=>Nn(o,s.id,[[vr(n,r,s),void 0]])),removeUpdates:n=>{const r=new Set(n),s=new Set(n.map(o=>o.scope));e(o=>({updates:new Map([...o.updates].filter(([,i])=>!r.has(i))),history:o.history.filter(i=>!s.has(i.scope))}))},undo:n=>{const{updates:r,history:s}=t(),o=s.map(l=>l.scope).lastIndexOf(n);if(o<0)return 0;const i=new Map(r),{previous:c}=s[o];for(const[l,m]of[...c].reverse())m?i.set(l,m):i.delete(l);return e({updates:i,history:s.filter((l,m)=>m!==o)}),new Set(c.map(([l])=>l)).size},getUpdates:n=>Array.from(t().updates.values()).filter(r=>r.scope===n),getUpdate:(n,r,s)=>{const{updates:o}=t();return o.size===0?null:o.get(vr(n,r,s))??null},getUpdateCount:n=>t().getUpdates(n).length})),zu=1e3,Lu=({tableName:e,tableCols:t,tableDataRows:n,refetchTableData:r,isEditingCell:s=!1})=>{const o=Ut()?.liveMode??!1,{isLive:i,status:c,isPulsing:l,setLive:m,pauseLive:d,setStatus:f,triggerPulse:h,setHighlights:p,isRowHighlighted:w,isCellHighlighted:j,reset:y}=Ze(),{selectedDatabase:N}=be(),{updates:C}=Ce(),{openOverlays:x}=xe(),{isDirty:g}=Ot(),v=C.size>0,b=x.some(U=>U.startsWith("records.")),D=g&&x.includes("tables.row-details"),S=s||v||b||D,k=(0,u.useMemo)(()=>t?.filter(U=>U.isPrimaryKey).map(U=>U.columnName)??[],[t]),O=(0,u.useRef)(null),T=(0,u.useRef)(r);T.current=r;const R=(0,u.useRef)(!1),E=(0,u.useRef)(e);E.current=e;const z=(0,u.useRef)(N);z.current=N,(0,u.useEffect)(()=>{i&&S&&d()},[i,S,d]),(0,u.useEffect)(()=>{if(i&&O.current!==null){const U=Wu(O.current,n,k);U.hasVisibleChanges&&(h(),p(U.insertedRowIds,U.changedCellKeys))}O.current=n},[n,i,k,h,p]);const L=(0,u.useCallback)(async()=>{if(typeof document<"u"&&document.hidden)return;if(S){d();return}if(R.current)return;const U=Ze.getState().generation,X=E.current,se=z.current;R.current=!0;try{const _=await T.current(),$=Ze.getState();if($.generation!==U||!$.isLive||E.current!==X||z.current!==se)return;_&&typeof _=="object"&&"isError"in _&&_.isError?f("disconnected"):f("healthy")}catch{const _=Ze.getState();if(_.generation!==U||!_.isLive||E.current!==X||z.current!==se)return;f("disconnected")}finally{R.current=!1}},[S,d,f]);return(0,u.useEffect)(()=>{if(!i||!o)return;L();const U=setInterval(()=>{L()},zu);return()=>{clearInterval(U)}},[i,o,L]),(0,u.useEffect)(()=>{if(!i||!o)return;const U=()=>{!document.hidden&&i&&L()};return document.addEventListener("visibilitychange",U),()=>{document.removeEventListener("visibilitychange",U)}},[i,o,L]),(0,u.useEffect)(()=>()=>{y()},[e,N,y]),{canLiveMode:o,isLive:i,status:c,isPulsing:l,isRowHighlighted:w,isCellHighlighted:j,toggleLive:(0,u.useCallback)(()=>{o&&(i?m(!1):m(!0,e))},[o,i,e,m])}};function Yu(e){if(!e||typeof document>"u")return;let t=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css",t.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}var ha=u.createContext({drawerRef:{current:null},overlayRef:{current:null},onPress:()=>{},onRelease:()=>{},onDrag:()=>{},onNestedDrag:()=>{},onNestedOpenChange:()=>{},onNestedRelease:()=>{},openProp:void 0,dismissible:!1,isOpen:!1,isDragging:!1,keyboardIsOpen:{current:!1},snapPointsOffset:null,snapPoints:null,handleOnly:!1,modal:!1,shouldFade:!1,activeSnapPoint:null,onOpenChange:()=>{},setActiveSnapPoint:()=>{},closeDrawer:()=>{},direction:"bottom",shouldAnimate:{current:!0},shouldScaleBackground:!1,setBackgroundColorOnScale:!0,noBodyStyles:!1,container:null,autoFocus:!1}),qt=()=>{const e=u.useContext(ha);if(!e)throw new Error("useDrawerContext must be used within a Drawer.Root");return e};Yu(`[data-vaul-drawer]{touch-action:none;will-change:transform;transition:transform .5s cubic-bezier(.32, .72, 0, 1);animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=open]{animation-name:slideFromBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=closed]{animation-name:slideToBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=open]{animation-name:slideFromTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=closed]{animation-name:slideToTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=open]{animation-name:slideFromLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=closed]{animation-name:slideToLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=open]{animation-name:slideFromRight}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=closed]{animation-name:slideToRight}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--initial-transform,100%),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--initial-transform,100%),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-overlay][data-vaul-snap-points=false]{animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-overlay][data-vaul-snap-points=false][data-state=open]{animation-name:fadeIn}[data-vaul-overlay][data-state=closed]{animation-name:fadeOut}[data-vaul-animate=false]{animation:none!important}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:0;transition:opacity .5s cubic-bezier(.32, .72, 0, 1)}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:1}[data-vaul-drawer]:not([data-vaul-custom-container=true])::after{content:'';position:absolute;background:inherit;background-color:inherit}[data-vaul-drawer][data-vaul-drawer-direction=top]::after{top:initial;bottom:100%;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=bottom]::after{top:100%;bottom:initial;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=left]::after{left:initial;right:100%;top:0;bottom:0;width:200%}[data-vaul-drawer][data-vaul-drawer-direction=right]::after{left:100%;right:initial;top:0;bottom:0;width:200%}[data-vaul-overlay][data-vaul-snap-points=true]:not([data-vaul-snap-points-overlay=true]):not(
11
+ [data-state=closed]
12
+ ){opacity:0}[data-vaul-overlay][data-vaul-snap-points-overlay=true]{opacity:1}[data-vaul-handle]{display:block;position:relative;opacity:.7;background:#e2e2e4;margin-left:auto;margin-right:auto;height:5px;width:32px;border-radius:1rem;touch-action:pan-y}[data-vaul-handle]:active,[data-vaul-handle]:hover{opacity:1}[data-vaul-handle-hitarea]{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max(100%,2.75rem);height:max(100%,2.75rem);touch-action:inherit}@media (hover:hover) and (pointer:fine){[data-vaul-drawer]{user-select:none}}@media (pointer:fine){[data-vaul-handle-hitarea]:{width:100%;height:100%}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeOut{to{opacity:0}}@keyframes slideFromBottom{from{transform:translate3d(0,var(--initial-transform,100%),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToBottom{to{transform:translate3d(0,var(--initial-transform,100%),0)}}@keyframes slideFromTop{from{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToTop{to{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}}@keyframes slideFromLeft{from{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToLeft{to{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}}@keyframes slideFromRight{from{transform:translate3d(var(--initial-transform,100%),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToRight{to{transform:translate3d(var(--initial-transform,100%),0,0)}}`);function $u(){const e=navigator.userAgent;return typeof window<"u"&&(/Firefox/.test(e)&&/Mobile/.test(e)||/FxiOS/.test(e))}function Bu(){return Wr(/^Mac/)}function Ku(){return Wr(/^iPhone/)}function os(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function Vu(){return Wr(/^iPad/)||Bu()&&navigator.maxTouchPoints>1}function pa(){return Ku()||Vu()}function Wr(e){return typeof window<"u"&&window.navigator!=null?e.test(window.navigator.platform):void 0}var Uu=24,Hu=typeof window<"u"?u.useLayoutEffect:u.useEffect;function is(...e){return(...t)=>{for(let n of e)typeof n=="function"&&n(...t)}}var or=typeof document<"u"&&window.visualViewport;function ls(e){let t=window.getComputedStyle(e);return/(auto|scroll)/.test(t.overflow+t.overflowX+t.overflowY)}function ga(e){for(ls(e)&&(e=e.parentElement);e&&!ls(e);)e=e.parentElement;return e||document.scrollingElement||document.documentElement}var qu=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]),Dn=0,cs;function Ju(e={}){let{isDisabled:t}=e;Hu(()=>{if(!t)return Dn++,Dn===1&&pa()&&(cs=Gu()),()=>{Dn--,Dn===0&&cs?.()}},[t])}function Gu(){let e,t=0,n=f=>{e=ga(f.target),!(e===document.documentElement&&e===document.body)&&(t=f.changedTouches[0].pageY)},r=f=>{if(!e||e===document.documentElement||e===document.body){f.preventDefault();return}let h=f.changedTouches[0].pageY,p=e.scrollTop,w=e.scrollHeight-e.clientHeight;w!==0&&((p<=0&&h>t||p>=w&&h<t)&&f.preventDefault(),t=h)},s=f=>{let h=f.target;yr(h)&&h!==document.activeElement&&(f.preventDefault(),h.style.transform="translateY(-2000px)",h.focus(),requestAnimationFrame(()=>{h.style.transform=""}))},o=f=>{let h=f.target;yr(h)&&(h.style.transform="translateY(-2000px)",requestAnimationFrame(()=>{h.style.transform="",or&&(or.height<window.innerHeight?requestAnimationFrame(()=>{us(h)}):or.addEventListener("resize",()=>us(h),{once:!0}))}))},i=()=>{window.scrollTo(0,0)},c=window.pageXOffset,l=window.pageYOffset,m=is(Qu(document.documentElement,"paddingRight",`${window.innerWidth-document.documentElement.clientWidth}px`));window.scrollTo(0,0);let d=is(en(document,"touchstart",n,{passive:!1,capture:!0}),en(document,"touchmove",r,{passive:!1,capture:!0}),en(document,"touchend",s,{passive:!1,capture:!0}),en(document,"focus",o,!0),en(window,"scroll",i));return()=>{m(),d(),window.scrollTo(c,l)}}function Qu(e,t,n){let r=e.style[t];return e.style[t]=n,()=>{e.style[t]=r}}function en(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}function us(e){let t=document.scrollingElement||document.documentElement;for(;e&&e!==t;){let n=ga(e);if(n!==document.documentElement&&n!==document.body&&n!==e){let r=n.getBoundingClientRect().top,s=e.getBoundingClientRect().top;e.getBoundingClientRect().bottom>n.getBoundingClientRect().bottom+Uu&&(n.scrollTop+=s-r)}e=n.parentElement}}function yr(e){return e instanceof HTMLInputElement&&!qu.has(e.type)||e instanceof HTMLTextAreaElement||e instanceof HTMLElement&&e.isContentEditable}function Zu(e,t){typeof e=="function"?e(t):e!=null&&(e.current=t)}function Xu(...e){return t=>e.forEach(n=>Zu(n,t))}function xa(...e){return u.useCallback(Xu(...e),e)}var va=new WeakMap;function me(e,t,n=!1){if(!e||!(e instanceof HTMLElement))return;let r={};Object.entries(t).forEach(([s,o])=>{if(s.startsWith("--")){e.style.setProperty(s,o);return}r[s]=e.style[s],e.style[s]=o}),!n&&va.set(e,r)}function ed(e,t){if(!e||!(e instanceof HTMLElement))return;let n=va.get(e);n&&(e.style[t]=n[t])}var de=e=>{switch(e){case"top":case"bottom":return!0;case"left":case"right":return!1;default:return e}};function kn(e,t){if(!e)return null;const n=window.getComputedStyle(e),r=n.transform||n.webkitTransform||n.mozTransform;let s=r.match(/^matrix3d\((.+)\)$/);return s?parseFloat(s[1].split(", ")[de(t)?13:12]):(s=r.match(/^matrix\((.+)\)$/),s?parseFloat(s[1].split(", ")[de(t)?5:4]):null)}function td(e){return 8*(Math.log(e+1)-2)}function ir(e,t){if(!e)return()=>{};const n=e.style.cssText;return Object.assign(e.style,t),()=>{e.style.cssText=n}}var ie={DURATION:.5,EASE:[.32,.72,0,1]},ya=.4,nd=.25,rd=100,ba=8,Tn=16,br=26,lr="vaul-dragging";function wa(e){const t=u.useRef(e);return u.useEffect(()=>{t.current=e}),u.useMemo(()=>(...n)=>t.current==null?void 0:t.current.call(t,...n),[])}function sd({defaultProp:e,onChange:t}){const n=u.useState(e),[r]=n,s=u.useRef(r),o=wa(t);return u.useEffect(()=>{s.current!==r&&(o(r),s.current=r)},[r,s,o]),n}function Ca({prop:e,defaultProp:t,onChange:n=()=>{}}){const[r,s]=sd({defaultProp:t,onChange:n}),o=e!==void 0,i=o?e:r,c=wa(n);return[i,u.useCallback(l=>{if(o){const m=typeof l=="function"?l(e):l;m!==e&&c(m)}else s(l)},[o,e,s,c])]}function ad({activeSnapPointProp:e,setActiveSnapPointProp:t,snapPoints:n,drawerRef:r,overlayRef:s,fadeFromIndex:o,onSnapPointChange:i,direction:c="bottom",container:l,snapToSequentialPoint:m}){const[d,f]=Ca({prop:e,defaultProp:n?.[0],onChange:t}),[h,p]=u.useState(typeof window<"u"?{innerWidth:window.innerWidth,innerHeight:window.innerHeight}:void 0);u.useEffect(()=>{function D(){p({innerWidth:window.innerWidth,innerHeight:window.innerHeight})}return window.addEventListener("resize",D),()=>window.removeEventListener("resize",D)},[]);const w=u.useMemo(()=>d===n?.[n.length-1]||null,[n,d]),j=u.useMemo(()=>{var D;return(D=n?.findIndex(S=>S===d))!=null?D:null},[n,d]),y=n&&n.length>0&&(o||o===0)&&!Number.isNaN(o)&&n[o]===d||!n,N=u.useMemo(()=>{const D=l?{width:l.getBoundingClientRect().width,height:l.getBoundingClientRect().height}:typeof window<"u"?{width:window.innerWidth,height:window.innerHeight}:{width:0,height:0};var S;return(S=n?.map(k=>{const O=typeof k=="string";let T=0;if(O&&(T=parseInt(k,10)),de(c)){const E=O?T:h?k*D.height:0;return h?c==="bottom"?D.height-E:-D.height+E:E}const R=O?T:h?k*D.width:0;return h?c==="right"?D.width-R:-D.width+R:R}))!=null?S:[]},[n,h,l]),C=u.useMemo(()=>j!==null?N?.[j]:null,[N,j]),x=u.useCallback(D=>{var S;const k=(S=N?.findIndex(O=>O===D))!=null?S:null;i(k),me(r.current,{transition:`transform ${ie.DURATION}s cubic-bezier(${ie.EASE.join(",")})`,transform:de(c)?`translate3d(0, ${D}px, 0)`:`translate3d(${D}px, 0, 0)`}),N&&k!==N.length-1&&o!==void 0&&k!==o&&k<o?me(s.current,{transition:`opacity ${ie.DURATION}s cubic-bezier(${ie.EASE.join(",")})`,opacity:"0"}):me(s.current,{transition:`opacity ${ie.DURATION}s cubic-bezier(${ie.EASE.join(",")})`,opacity:"1"}),f(n?.[Math.max(k,0)])},[r.current,n,N,o,s,f]);u.useEffect(()=>{if(d||e){var D;const S=(D=n?.findIndex(k=>k===e||k===d))!=null?D:-1;N&&S!==-1&&typeof N[S]=="number"&&x(N[S])}},[d,e,n,N,x]);function g({draggedDistance:D,closeDrawer:S,velocity:k,dismissible:O}){if(o===void 0)return;const T=c==="bottom"||c==="right"?(C??0)-D:(C??0)+D,R=j===o-1,E=j===0,z=D>0;if(R&&me(s.current,{transition:`opacity ${ie.DURATION}s cubic-bezier(${ie.EASE.join(",")})`}),!m&&k>2&&!z){O?S():x(N[0]);return}if(!m&&k>2&&z&&N&&n){x(N[n.length-1]);return}const L=N?.reduce((X,se)=>typeof X!="number"||typeof se!="number"?X:Math.abs(se-T)<Math.abs(X-T)?se:X),U=de(c)?window.innerHeight:window.innerWidth;if(k>ya&&Math.abs(D)<U*.4){const X=z?1:-1;if(X>0&&w&&n){x(N[n.length-1]);return}if(E&&X<0&&O&&S(),j===null)return;x(N[j+X]);return}x(L)}function v({draggedDistance:D}){if(C===null)return;const S=c==="bottom"||c==="right"?C-D:C+D;(c==="bottom"||c==="right")&&S<N[N.length-1]||(c==="top"||c==="left")&&S>N[N.length-1]||me(r.current,{transform:de(c)?`translate3d(0, ${S}px, 0)`:`translate3d(${S}px, 0, 0)`})}function b(D,S){if(!n||typeof j!="number"||!N||o===void 0)return null;const k=j===o-1;if(j>=o&&S)return 0;if(k&&!S)return 1;if(!y&&!k)return null;const O=k?j+1:j-1,T=k?N[O]-N[O-1]:N[O+1]-N[O],R=D/Math.abs(T);return k?1-R:R}return{isLastSnapPoint:w,activeSnapPoint:d,shouldFade:y,getPercentageDragged:b,setActiveSnapPoint:f,activeSnapPointIndex:j,onRelease:g,onDrag:v,snapPointsOffset:N}}function od(){const{direction:e,isOpen:t,shouldScaleBackground:n,setBackgroundColorOnScale:r,noBodyStyles:s}=qt(),o=u.useRef(null),i=(0,u.useMemo)(()=>document.body.style.backgroundColor,[]);function c(){return(window.innerWidth-br)/window.innerWidth}u.useEffect(()=>{if(t&&n){o.current&&clearTimeout(o.current);const l=document.querySelector("[data-vaul-drawer-wrapper]")||document.querySelector("[vaul-drawer-wrapper]");if(!l)return;r&&!s&&ir(document.body,{background:"black"}),ir(l,{transformOrigin:de(e)?"top":"left",transitionProperty:"transform, border-radius",transitionDuration:`${ie.DURATION}s`,transitionTimingFunction:`cubic-bezier(${ie.EASE.join(",")})`});const m=ir(l,{borderRadius:`${ba}px`,overflow:"hidden",...de(e)?{transform:`scale(${c()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`}:{transform:`scale(${c()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`}});return()=>{m(),o.current=window.setTimeout(()=>{i?document.body.style.background=i:document.body.style.removeProperty("background")},ie.DURATION*1e3)}}},[t,n,i])}var tn=null;function id({isOpen:e,modal:t,nested:n,hasBeenOpened:r,preventScrollRestoration:s,noBodyStyles:o}){const[i,c]=u.useState(()=>typeof window<"u"?window.location.href:""),l=u.useRef(0),m=u.useCallback(()=>{if(os()&&tn===null&&e&&!o){tn={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left,height:document.body.style.height,right:"unset"};const{scrollX:f,innerHeight:h}=window;document.body.style.setProperty("position","fixed","important"),Object.assign(document.body.style,{top:`${-l.current}px`,left:`${-f}px`,right:"0px",height:"auto"}),window.setTimeout(()=>window.requestAnimationFrame(()=>{const p=h-window.innerHeight;p&&l.current>=h&&(document.body.style.top=`${-(l.current+p)}px`)}),300)}},[e]),d=u.useCallback(()=>{if(os()&&tn!==null&&!o){const f=-parseInt(document.body.style.top,10),h=-parseInt(document.body.style.left,10);Object.assign(document.body.style,tn),window.requestAnimationFrame(()=>{if(s&&i!==window.location.href){c(window.location.href);return}window.scrollTo(h,f)}),tn=null}},[i]);return u.useEffect(()=>{function f(){l.current=window.scrollY}return f(),window.addEventListener("scroll",f),()=>{window.removeEventListener("scroll",f)}},[]),u.useEffect(()=>{if(t)return()=>{typeof document>"u"||document.querySelector("[data-vaul-drawer]")||d()}},[t,d]),u.useEffect(()=>{n||!r||(e?(!window.matchMedia("(display-mode: standalone)").matches&&m(),t||window.setTimeout(()=>{d()},500)):d())},[e,r,i,t,n,m,d]),{restorePositionSetting:d}}function ja({open:e,onOpenChange:t,children:n,onDrag:r,onRelease:s,snapPoints:o,shouldScaleBackground:i=!1,setBackgroundColorOnScale:c=!0,closeThreshold:l=nd,scrollLockTimeout:m=rd,dismissible:d=!0,handleOnly:f=!1,fadeFromIndex:h=o&&o.length-1,activeSnapPoint:p,setActiveSnapPoint:w,fixed:j,modal:y=!0,onClose:N,nested:C,noBodyStyles:x=!1,direction:g="bottom",defaultOpen:v=!1,disablePreventScroll:b=!0,snapToSequentialPoint:D=!1,preventScrollRestoration:S=!1,repositionInputs:k=!0,onAnimationEnd:O,container:T,autoFocus:R=!1}){var E,z;const[L=!1,U]=Ca({defaultProp:v,prop:e,onChange:B=>{t?.(B),!B&&!C&&Bn(),setTimeout(()=>{O?.(B)},ie.DURATION*1e3),B&&!y&&typeof window<"u"&&window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"}),B||(document.body.style.pointerEvents="auto")}}),[X,se]=u.useState(!1),[_,$]=u.useState(!1),[ce,je]=u.useState(!1),ge=u.useRef(null),Se=u.useRef(null),Ee=u.useRef(null),We=u.useRef(null),Ne=u.useRef(null),M=u.useRef(!1),Z=u.useRef(null),te=u.useRef(0),ae=u.useRef(!1),he=u.useRef(!v),ft=u.useRef(0),H=u.useRef(null),Jt=u.useRef(((E=H.current)==null?void 0:E.getBoundingClientRect().height)||0),vn=u.useRef(((z=H.current)==null?void 0:z.getBoundingClientRect().width)||0),Gt=u.useRef(0),{activeSnapPoint:Yn,activeSnapPointIndex:rt,setActiveSnapPoint:yn,onRelease:$n,snapPointsOffset:mt,onDrag:bn,shouldFade:At,getPercentageDragged:Qt}=ad({snapPoints:o,activeSnapPointProp:p,setActiveSnapPointProp:w,drawerRef:H,fadeFromIndex:h,overlayRef:ge,onSnapPointChange:u.useCallback(B=>{o&&B===mt.length-1&&(Se.current=new Date)},[]),direction:g,container:T,snapToSequentialPoint:D});Ju({isDisabled:!L||_||!y||ce||!X||!k||!b});const{restorePositionSetting:Bn}=id({isOpen:L,modal:y,nested:C??!1,hasBeenOpened:X,preventScrollRestoration:S,noBodyStyles:x});function Pt(){return(window.innerWidth-br)/window.innerWidth}function Kn(B){var ee,A;!d&&!o||H.current&&!H.current.contains(B.target)||(Jt.current=((ee=H.current)==null?void 0:ee.getBoundingClientRect().height)||0,vn.current=((A=H.current)==null?void 0:A.getBoundingClientRect().width)||0,$(!0),Ee.current=new Date,pa()&&window.addEventListener("touchend",()=>M.current=!1,{once:!0}),B.target.setPointerCapture(B.pointerId),te.current=de(g)?B.pageY:B.pageX)}function wn(B,ee){var A;let W=B;const Y=(A=window.getSelection())==null?void 0:A.toString(),G=H.current?kn(H.current,g):null,V=new Date;if(W.tagName==="SELECT"||W.hasAttribute("data-vaul-no-drag")||W.closest("[data-vaul-no-drag]"))return!1;if(g==="right"||g==="left")return!0;if(Se.current&&V.getTime()-Se.current.getTime()<500)return!1;if(G!==null&&(g==="bottom"?G>0:G<0))return!0;if(Y&&Y.length>0)return!1;if(Ne.current&&V.getTime()-Ne.current.getTime()<m&&G===0||ee)return Ne.current=V,!1;for(;W;){if(W.scrollHeight>W.clientHeight){if(W.scrollTop!==0)return Ne.current=new Date,!1;if(W.getAttribute("role")==="dialog")return!0}W=W.parentNode}return!0}function Vn(B){if(H.current&&_){const ee=g==="bottom"||g==="right"?1:-1,A=(te.current-(de(g)?B.pageY:B.pageX))*ee,W=A>0,Y=o&&!d&&!W;if(Y&&rt===0)return;const G=Math.abs(A),V=document.querySelector("[data-vaul-drawer-wrapper]");let oe=G/(g==="bottom"||g==="top"?Jt.current:vn.current);const q=Qt(G,W);if(q!==null&&(oe=q),Y&&oe>=1||!M.current&&!wn(B.target,W))return;if(H.current.classList.add(lr),M.current=!0,me(H.current,{transition:"none"}),me(ge.current,{transition:"none"}),o&&bn({draggedDistance:A}),W&&!o){const ve=td(A),qe=Math.min(ve*-1,0)*ee;me(H.current,{transform:de(g)?`translate3d(0, ${qe}px, 0)`:`translate3d(${qe}px, 0, 0)`});return}const Ft=1-oe;if((At||h&&rt===h-1)&&(r?.(B,oe),me(ge.current,{opacity:`${Ft}`,transition:"none"},!0)),V&&ge.current&&i){const ve=Math.min(Pt()+oe*(1-Pt()),1),qe=8-oe*8,It=Math.max(0,14-oe*14);me(V,{borderRadius:`${qe}px`,transform:de(g)?`scale(${ve}) translate3d(0, ${It}px, 0)`:`scale(${ve}) translate3d(${It}px, 0, 0)`,transition:"none"},!0)}if(!o){const ve=G*ee;me(H.current,{transform:de(g)?`translate3d(0, ${ve}px, 0)`:`translate3d(${ve}px, 0, 0)`})}}}u.useEffect(()=>{window.requestAnimationFrame(()=>{he.current=!0})},[]),u.useEffect(()=>{var B;function ee(){if(!H.current||!k)return;const A=document.activeElement;if(yr(A)||ae.current){var W;const Y=((W=window.visualViewport)==null?void 0:W.height)||0,G=window.innerHeight;let V=G-Y;const oe=H.current.getBoundingClientRect().height||0,q=oe>G*.8;Gt.current||(Gt.current=oe);const Ft=H.current.getBoundingClientRect().top;if(Math.abs(ft.current-V)>60&&(ae.current=!ae.current),o&&o.length>0&&mt&&rt){const ve=mt[rt]||0;V+=ve}if(ft.current=V,oe>Y||ae.current){const ve=H.current.getBoundingClientRect().height;let qe=ve;ve>Y&&(qe=Y-(q?Ft:br)),j?H.current.style.height=`${ve-Math.max(V,0)}px`:H.current.style.height=`${Math.max(qe,Y-Ft)}px`}else $u()||(H.current.style.height=`${Gt.current}px`);o&&o.length>0&&!ae.current?H.current.style.bottom="0px":H.current.style.bottom=`${Math.max(V,0)}px`}}return(B=window.visualViewport)==null||B.addEventListener("resize",ee),()=>{var A;return(A=window.visualViewport)==null?void 0:A.removeEventListener("resize",ee)}},[rt,o,mt]);function ht(B){Un(),N?.(),B||U(!1),setTimeout(()=>{o&&yn(o[0])},ie.DURATION*1e3)}function Cn(){if(!H.current)return;const B=document.querySelector("[data-vaul-drawer-wrapper]"),ee=kn(H.current,g);me(H.current,{transform:"translate3d(0, 0, 0)",transition:`transform ${ie.DURATION}s cubic-bezier(${ie.EASE.join(",")})`}),me(ge.current,{transition:`opacity ${ie.DURATION}s cubic-bezier(${ie.EASE.join(",")})`,opacity:"1"}),i&&ee&&ee>0&&L&&me(B,{borderRadius:`${ba}px`,overflow:"hidden",...de(g)?{transform:`scale(${Pt()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,transformOrigin:"top"}:{transform:`scale(${Pt()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`,transformOrigin:"left"},transitionProperty:"transform, border-radius",transitionDuration:`${ie.DURATION}s`,transitionTimingFunction:`cubic-bezier(${ie.EASE.join(",")})`},!0)}function Un(){!_||!H.current||(H.current.classList.remove(lr),M.current=!1,$(!1),We.current=new Date)}function Hn(B){if(!_||!H.current)return;H.current.classList.remove(lr),M.current=!1,$(!1),We.current=new Date;const ee=kn(H.current,g);if(!B||!wn(B.target,!1)||!ee||Number.isNaN(ee)||Ee.current===null)return;const A=We.current.getTime()-Ee.current.getTime(),W=te.current-(de(g)?B.pageY:B.pageX),Y=Math.abs(W)/A;if(Y>.05&&(je(!0),setTimeout(()=>{je(!1)},200)),o){$n({draggedDistance:W*(g==="bottom"||g==="right"?1:-1),closeDrawer:ht,velocity:Y,dismissible:d}),s?.(B,!0);return}if(g==="bottom"||g==="right"?W>0:W<0){Cn(),s?.(B,!0);return}if(Y>ya){ht(),s?.(B,!1);return}var G;const V=Math.min((G=H.current.getBoundingClientRect().height)!=null?G:0,window.innerHeight);var oe;const q=Math.min((oe=H.current.getBoundingClientRect().width)!=null?oe:0,window.innerWidth);if(Math.abs(ee)>=(g==="left"||g==="right"?q:V)*l){ht(),s?.(B,!1);return}s?.(B,!0),Cn()}u.useEffect(()=>(L&&(me(document.documentElement,{scrollBehavior:"auto"}),Se.current=new Date),()=>{ed(document.documentElement,"scrollBehavior")}),[L]);function qn(B){const ee=B?(window.innerWidth-Tn)/window.innerWidth:1,A=B?-16:0;Z.current&&window.clearTimeout(Z.current),me(H.current,{transition:`transform ${ie.DURATION}s cubic-bezier(${ie.EASE.join(",")})`,transform:de(g)?`scale(${ee}) translate3d(0, ${A}px, 0)`:`scale(${ee}) translate3d(${A}px, 0, 0)`}),!B&&H.current&&(Z.current=setTimeout(()=>{const W=kn(H.current,g);me(H.current,{transition:"none",transform:de(g)?`translate3d(0, ${W}px, 0)`:`translate3d(${W}px, 0, 0)`})},500))}function Jn(B,ee){if(ee<0)return;const A=(window.innerWidth-Tn)/window.innerWidth,W=A+ee*(1-A),Y=-16+ee*Tn;me(H.current,{transform:de(g)?`scale(${W}) translate3d(0, ${Y}px, 0)`:`scale(${W}) translate3d(${Y}px, 0, 0)`,transition:"none"})}function jn(B,ee){const A=de(g)?window.innerHeight:window.innerWidth,W=ee?(A-Tn)/A:1,Y=ee?-16:0;ee&&me(H.current,{transition:`transform ${ie.DURATION}s cubic-bezier(${ie.EASE.join(",")})`,transform:de(g)?`scale(${W}) translate3d(0, ${Y}px, 0)`:`scale(${W}) translate3d(${Y}px, 0, 0)`})}return u.useEffect(()=>{y||window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"})},[y]),u.createElement(Yo,{defaultOpen:v,onOpenChange:B=>{!d&&!B||(B?se(!0):ht(!0),U(B))},open:L},u.createElement(ha.Provider,{value:{activeSnapPoint:Yn,snapPoints:o,setActiveSnapPoint:yn,drawerRef:H,overlayRef:ge,onOpenChange:t,onPress:Kn,onRelease:Hn,onDrag:Vn,dismissible:d,shouldAnimate:he,handleOnly:f,isOpen:L,isDragging:_,shouldFade:At,closeDrawer:ht,onNestedDrag:Jn,onNestedOpenChange:qn,onNestedRelease:jn,keyboardIsOpen:ae,modal:y,snapPointsOffset:mt,activeSnapPointIndex:rt,direction:g,shouldScaleBackground:i,setBackgroundColorOnScale:c,noBodyStyles:x,container:T,autoFocus:R}},n))}var Sa=u.forwardRef(function({...e},t){const{overlayRef:n,snapPoints:r,onRelease:s,shouldFade:o,isOpen:i,modal:c,shouldAnimate:l}=qt(),m=xa(t,n),d=r&&r.length>0;if(!c)return null;const f=u.useCallback(h=>s(h),[s]);return u.createElement(_o,{onMouseUp:f,ref:m,"data-vaul-overlay":"","data-vaul-snap-points":i&&d?"true":"false","data-vaul-snap-points-overlay":i&&o?"true":"false","data-vaul-animate":l?.current?"true":"false",...e})});Sa.displayName="Drawer.Overlay";var Na=u.forwardRef(function({onPointerDownOutside:e,style:t,onOpenAutoFocus:n,...r},s){const{drawerRef:o,onPress:i,onRelease:c,onDrag:l,keyboardIsOpen:m,snapPointsOffset:d,activeSnapPointIndex:f,modal:h,isOpen:p,direction:w,snapPoints:j,container:y,handleOnly:N,shouldAnimate:C,autoFocus:x}=qt(),[g,v]=u.useState(!1),b=xa(s,o),D=u.useRef(null),S=u.useRef(null),k=u.useRef(!1),O=j&&j.length>0;od();const T=(E,z,L=0)=>{if(k.current)return!0;const U=Math.abs(E.y),X=Math.abs(E.x),se=X>U,_=["bottom","right"].includes(z)?1:-1;if(z==="left"||z==="right"){if(!(E.x*_<0)&&X>=0&&X<=L)return se}else if(!(E.y*_<0)&&U>=0&&U<=L)return!se;return k.current=!0,!0};u.useEffect(()=>{O&&window.requestAnimationFrame(()=>{v(!0)})},[]);function R(E){D.current=null,k.current=!1,c(E)}return u.createElement(Io,{"data-vaul-drawer-direction":w,"data-vaul-drawer":"","data-vaul-delayed-snap-points":g?"true":"false","data-vaul-snap-points":p&&O?"true":"false","data-vaul-custom-container":y?"true":"false","data-vaul-animate":C?.current?"true":"false",...r,ref:b,style:d&&d.length>0?{"--snap-point-height":`${d[f??0]}px`,...t}:t,onPointerDown:E=>{N||(r.onPointerDown==null||r.onPointerDown.call(r,E),D.current={x:E.pageX,y:E.pageY},i(E))},onOpenAutoFocus:E=>{n?.(E),x||E.preventDefault()},onPointerDownOutside:E=>{if(e?.(E),!h||E.defaultPrevented){E.preventDefault();return}m.current&&(m.current=!1)},onFocusOutside:E=>{if(!h){E.preventDefault();return}},onPointerMove:E=>{if(S.current=E,N||(r.onPointerMove==null||r.onPointerMove.call(r,E),!D.current))return;const z=E.pageY-D.current.y,L=E.pageX-D.current.x,U=E.pointerType==="touch"?10:2;T({x:L,y:z},w,U)?l(E):(Math.abs(L)>U||Math.abs(z)>U)&&(D.current=null)},onPointerUp:E=>{r.onPointerUp==null||r.onPointerUp.call(r,E),D.current=null,k.current=!1,c(E)},onPointerOut:E=>{r.onPointerOut==null||r.onPointerOut.call(r,E),R(S.current)},onContextMenu:E=>{r.onContextMenu==null||r.onContextMenu.call(r,E),S.current&&R(S.current)}})});Na.displayName="Drawer.Content";var ld=250,cd=120,Da=u.forwardRef(function({preventCycle:e=!1,children:t,...n},r){const{closeDrawer:s,isDragging:o,snapPoints:i,activeSnapPoint:c,setActiveSnapPoint:l,dismissible:m,handleOnly:d,isOpen:f,onPress:h,onDrag:p}=qt(),w=u.useRef(null),j=u.useRef(!1);function y(){if(j.current){x();return}window.setTimeout(()=>{N()},cd)}function N(){if(o||e||j.current){x();return}if(x(),!i||i.length===0){m||s();return}if(c===i[i.length-1]&&m){s();return}const g=i.findIndex(b=>b===c);if(g===-1)return;const v=i[g+1];l(v)}function C(){w.current=window.setTimeout(()=>{j.current=!0},ld)}function x(){w.current&&window.clearTimeout(w.current),j.current=!1}return u.createElement("div",{onClick:y,onPointerCancel:x,onPointerDown:g=>{d&&h(g),C()},onPointerMove:g=>{d&&p(g)},ref:r,"data-vaul-drawer-visible":f?"true":"false","data-vaul-handle":"","aria-hidden":"true",...n},u.createElement("span",{"data-vaul-handle-hitarea":"","aria-hidden":"true"},t))});Da.displayName="Drawer.Handle";function ud({onDrag:e,onOpenChange:t,open:n,...r}){const{onNestedDrag:s,onNestedOpenChange:o,onNestedRelease:i}=qt();if(!s)throw new Error("Drawer.NestedRoot must be placed in another drawer");return u.createElement(ja,{nested:!0,open:n,onClose:()=>{o(!1)},onDrag:(c,l)=>{s(c,l),e?.(c,l)},onOpenChange:c=>{c&&o(c),t?.(c)},onRelease:i,...r})}function dd(e){const t=qt(),{container:n=t.container,...r}=e;return u.createElement(ko,{container:n,...r})}var xn={Root:ja,NestedRoot:ud,Content:Na,Overlay:Sa,Trigger:To,Portal:dd,Handle:Da,Close:Wo,Title:$o,Description:Ao};function fd({...e}){return(0,a.jsx)(xn.Root,{"data-slot":"drawer",...e})}function md({...e}){return(0,a.jsx)(xn.Portal,{"data-slot":"drawer-portal",...e})}function hd({className:e,...t}){return(0,a.jsx)(xn.Overlay,{"data-slot":"drawer-overlay",className:F("fixed inset-0 z-50 bg-black/80 data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",e),...t})}function pd({className:e,children:t,...n}){return(0,a.jsxs)(md,{"data-slot":"drawer-portal",children:[(0,a.jsx)(hd,{}),(0,a.jsx)(xn.Content,{"data-slot":"drawer-content",className:F("group/drawer-content fixed z-50 flex h-auto flex-col bg-transparent p-2 text-xs/relaxed text-popover-foreground before:absolute before:inset-2 before:-z-10 before:rounded-xl before:border before:border-border before:bg-popover data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:left-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=left]:sm:max-w-sm data-[vaul-drawer-direction=right]:sm:max-w-sm",e),...n,children:(0,a.jsx)(ei.Provider,{value:!0,children:t})})]})}function gd({className:e,...t}){return(0,a.jsx)("div",{"data-slot":"drawer-header",className:F("flex flex-col gap-1 p-4 group-data-[vaul-drawer-direction=bottom]/drawer-content:text-center group-data-[vaul-drawer-direction=top]/drawer-content:text-center md:text-left",e),...t})}function xd({className:e,...t}){return(0,a.jsx)(xn.Title,{"data-slot":"drawer-title",className:F("text-sm font-medium text-foreground",e),...t})}var ka=["shift","alt","meta","mod","ctrl","control"];function vd(){return typeof navigator>"u"?!1:/mac/i.test(navigator.userAgent)&&!/iphone|ipad|ipod/i.test(navigator.userAgent)}var yd={esc:"escape",return:"enter",left:"arrowleft",right:"arrowright",up:"arrowup",down:"arrowdown",ShiftLeft:"shift",ShiftRight:"shift",AltLeft:"alt",AltRight:"alt",MetaLeft:"meta",MetaRight:"meta",OSLeft:"meta",OSRight:"meta",ControlLeft:"ctrl",ControlRight:"ctrl"};function lt(e){return(yd[e.trim()]||e.trim()).toLowerCase().replace(/key|digit|numpad/,"")}function Ta(e){return ka.includes(e)}function cr(e,t=","){return e.toLowerCase().split(t)}function ur(e,t="+",n=">",r=!1,s,o){let i=[],c=!1;e=e.trim(),e.includes(n)?(c=!0,i=e.toLocaleLowerCase().split(n).map(d=>lt(d))):i=e.toLocaleLowerCase().split(t).map(d=>lt(d));const l={alt:i.includes("alt"),ctrl:i.includes("ctrl")||i.includes("control"),shift:i.includes("shift"),meta:i.includes("meta"),mod:i.includes("mod"),useKey:r},m=i.filter(d=>!ka.includes(d));return{...l,keys:m,description:s,isSequence:c,hotkey:e,metadata:o}}typeof document<"u"&&(document.addEventListener("keydown",e=>{e.code!==void 0&&Ea([lt(e.code)])}),document.addEventListener("keyup",e=>{e.code!==void 0&&Oa([lt(e.code)])})),typeof window<"u"&&(window.addEventListener("blur",()=>{Fe.clear()}),window.addEventListener("focus",()=>{Fe.clear()}),window.addEventListener("contextmenu",()=>{setTimeout(()=>{Fe.clear()},0)})),typeof document<"u"&&document.addEventListener("visibilitychange",()=>{Fe.clear()});var Fe=new Set;function zr(e){return Array.isArray(e)}function bd(e,t=","){return(zr(e)?e:e.split(t)).every(n=>Fe.has(n.trim().toLowerCase()))}function Ea(e){const t=Array.isArray(e)?e:[e];Fe.has("meta")&&Fe.forEach(n=>{Ta(n)||Fe.delete(n.toLowerCase())}),t.forEach(n=>{Fe.add(n.toLowerCase())})}function Oa(e){e==="meta"?Fe.clear():(Array.isArray(e)?e:[e]).forEach(t=>{Fe.delete(t.toLowerCase())})}function wd(e,t,n){(typeof n=="function"&&n(e,t)||n===!0)&&e.preventDefault()}function Cd(e,t,n){return typeof n=="function"?n(e,t):n===!0||n===void 0}var jd=["input","textarea","select","searchbox","slider","spinbutton","menuitem","menuitemcheckbox","menuitemradio","option","radio","textbox"];function Sd(e){return Ma(e,jd)}function Ma(e,t=!1){const{target:n,composed:r}=e;let s,o;return Nd(n)&&r?(s=e.composedPath()[0]&&e.composedPath()[0].tagName,o=e.composedPath()[0]&&e.composedPath()[0].role):(s=n&&n.tagName,o=n&&n.role),zr(t)?!!(s&&t?.some(i=>i.toLowerCase()===s.toLowerCase()||i===o)):!!(s&&t&&t)}function Nd(e){return!!e.tagName&&!e.tagName.startsWith("-")&&e.tagName.includes("-")}function Dd(e,t){return e.length===0&&t?!1:t?e.some(n=>t.includes(n))||e.includes("*"):!0}var kd=(e,t,n=!1)=>{const{alt:r,meta:s,mod:o,shift:i,ctrl:c,keys:l,useKey:m}=t,{code:d,key:f,ctrlKey:h,metaKey:p,shiftKey:w,altKey:j}=e,y=lt(d);if(m&&l?.length===1&&l.includes(f.toLowerCase()))return!0;if(!l?.includes(y)&&!["ctrl","control","unknown","meta","alt","shift","os"].includes(y))return!1;if(!n){if(r!==j&&y!=="alt"||i!==w&&y!=="shift")return!1;if(o){if(vd()?!p:!h)return!1}else if(s!==p&&y!=="meta"&&y!=="os"||c!==h&&y!=="ctrl"&&y!=="control")return!1}return l&&l.length===1&&l.includes(y)?!0:l&&l.length>0?l.includes(y)?bd(l):!1:!l||l.length===0},Td=(0,u.createContext)(void 0),Ed=()=>(0,u.useContext)(Td);function Ra(e,t){return e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(e).length===Object.keys(t).length&&Object.keys(e).reduce((n,r)=>n&&Ra(e[r],t[r]),!0):e===t}var Od=(0,u.createContext)({hotkeys:[],activeScopes:[],toggleScope:()=>{},enableScope:()=>{},disableScope:()=>{}}),Md=()=>(0,u.useContext)(Od);function Rd(e){const t=(0,u.useRef)(void 0);return Ra(t.current,e)||(t.current=e),t.current}var _d=e=>{e.stopPropagation(),e.preventDefault(),e.stopImmediatePropagation()},Ad=typeof window<"u"?u.useLayoutEffect:u.useEffect;function Pd(e){if(!e)return;const{enabled:t,preventDefault:n,ignoreEventWhen:r,...s}=e;return s}function Mt(e,t,n,r){const[s,o]=(0,u.useState)(null),i=(0,u.useCallback)(x=>(o(x),()=>o(null)),[]),c=(0,u.useRef)(!1),l=Array.isArray(n)?Array.isArray(r)?void 0:r:n,m=zr(e)?e.join(l?.delimiter):e,d=Array.isArray(n)?n:Array.isArray(r)?r:void 0,f=(0,u.useCallback)(t,d??[]),h=(0,u.useRef)(f);d?h.current=f:h.current=t;const p=Rd(Pd(l)),w=(0,u.useRef)(l?.enabled);w.current=l?.enabled;const j=(0,u.useRef)(l?.preventDefault);j.current=l?.preventDefault;const y=(0,u.useRef)(l?.ignoreEventWhen);y.current=l?.ignoreEventWhen;const{activeScopes:N}=Md(),C=Ed();return Ad(()=>{if(w.current===!1||!Dd(N,p?.scopes))return;let x=[],g;const v=(k,O=!1)=>{if(!(Sd(k)&&!Ma(k,p?.enableOnFormTags))){if(s!==null){const T=s.getRootNode();if((T instanceof Document||T instanceof ShadowRoot)&&T.activeElement!==s&&!s.contains(T.activeElement)){_d(k);return}}k.target?.isContentEditable&&!p?.enableOnContentEditable||cr(m,p?.delimiter).forEach(T=>{if(T.includes(p?.splitKey??"+")&&T.includes(p?.sequenceSplitKey??">")){console.warn(`Hotkey ${T} contains both ${p?.splitKey??"+"} and ${p?.sequenceSplitKey??">"} which is not supported.`);return}const R=ur(T,p?.splitKey,p?.sequenceSplitKey,p?.useKey,p?.description,p?.metadata);if(R.isSequence){g=setTimeout(()=>{x=[]},p?.sequenceTimeoutMs??1e3);const E=R.useKey?k.key:lt(k.code);if(Ta(E.toLowerCase()))return;if(x.push(E),E!==R.keys?.[x.length-1]){x=[],g&&clearTimeout(g);return}x.length===R.keys?.length&&(h.current(k,R),g&&clearTimeout(g),x=[])}else if(kd(k,R,p?.ignoreModifiers)||R.keys?.includes("*")){if(y.current?.(k)||O&&c.current||(wd(k,R,j.current),!Cd(k,R,w.current)))return;h.current(k,R),O||(c.current=!0)}})}},b=k=>{k.code!==void 0&&(Ea(lt(k.code)),(p?.keydown===void 0&&p?.keyup!==!0||p?.keydown)&&v(k))},D=k=>{k.code!==void 0&&(Oa(lt(k.code)),c.current=!1,p?.keyup&&v(k,!0))},S=s||l?.document||document;return S.addEventListener("keyup",D,l?.eventListenerOptions),S.addEventListener("keydown",b,l?.eventListenerOptions),C&&cr(m,p?.delimiter).forEach(k=>{C.addHotkey(ur(k,p?.splitKey,p?.sequenceSplitKey,p?.useKey,p?.description,p?.metadata))}),()=>{S.removeEventListener("keyup",D,l?.eventListenerOptions),S.removeEventListener("keydown",b,l?.eventListenerOptions),C&&cr(m,p?.delimiter).forEach(k=>{C.removeHotkey(ur(k,p?.splitKey,p?.sequenceSplitKey,p?.useKey,p?.description,p?.metadata))}),x=[],g&&clearTimeout(g)}},[s,p,N,m]),i}var Fd=({referencedTable:e,referencedColumn:t,fkValue:n})=>{const{selectedDatabase:r}=be(),s=ue(),{tableCols:o}=Te({tableName:e,schemaName:s}),i=(0,u.useMemo)(()=>({columnName:t,operator:"=",value:n}),[t,n]),{data:c,isLoading:l}=jr({queryKey:["fk-drawer",e,t,n,r],queryFn:async()=>(await si.get(`/tables/${e}/data`,{params:{db:r??"",limit:"50",filters:JSON.stringify([i])}})).data.data,enabled:!!e&&!!r&&n!==""}),m=(0,u.useMemo)(()=>o?.map(h=>({accessorKey:h.columnName,header:h.columnName,meta:{variant:h.enumValues?"enum":h.dataType,isPrimaryKey:h.isPrimaryKey,isForeignKey:h.isForeignKey,referencedTable:h.referencedTable,referencedColumn:h.referencedColumn,enumValues:h.enumValues,dataTypeLabel:h.dataTypeLabel},size:(h.columnName.length+(h.dataTypeLabel?.length||0))*5+100,minSize:100,maxSize:500}))??[],[o]),d=no(),f=()=>{d({to:"/table/$table",params:{table:e},search:{filters:[i],[K.TABLE_SCHEMA]:s}})};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(gd,{className:"flex flex-row items-center justify-between py-3",children:[(0,a.jsx)(xd,{children:e}),(0,a.jsxs)(I,{variant:"outline",size:"sm",onClick:f,children:[(0,a.jsx)(wo,{size:14}),"Open table"]})]}),(0,a.jsx)("div",{className:"flex flex-1 overflow-hidden border-t",children:l?(0,a.jsx)("div",{className:"flex items-center justify-center w-full text-sm text-muted-foreground",children:(0,a.jsx)(Nr,{})}):(0,a.jsx)(qo,{columns:m,data:c?.data??[],renderCellAccessory:h=>(0,a.jsx)(Ms,{value:h})})})]})},Id={ArrowUp:"up",ArrowDown:"down",ArrowLeft:"left",ArrowRight:"right",Home:"home",End:"end",Tab:"right"};function ut({table:e,cell:t,rowIndex:n,columnId:r,isEditing:s,isFocused:o,isSelected:i,className:c,onClick:l,onKeyDown:m,...d}){const{getUpdate:f}=Ce(),h=e.options.meta,p=t.row.original,w=!!f(p,r,e.options.meta?.editScope),j=(0,u.useCallback)(S=>{s||(S.preventDefault(),l?.(S),h?.onCellClick?.(n,r,S))},[h,n,r,s,l]),y=(0,u.useCallback)(S=>{s?S.stopPropagation():h?.onCellContextMenu?.(n,r,S)},[h,n,r,s]),N=(0,u.useCallback)(S=>{s||h?.onCellMouseDown?.(n,r,S)},[h,n,r,s]),C=(0,u.useCallback)(S=>{s||h?.onCellMouseEnter?.(n,r,S)},[h,n,r,s]),x=(0,u.useCallback)(()=>{s||h?.onCellMouseUp?.()},[h,s]),g=(0,u.useCallback)(S=>{s||(S.preventDefault(),h?.onCellDoubleClick?.(n,r))},[h,n,r,s]),v=(0,u.useCallback)(S=>{if(m?.(S),S.defaultPrevented||!o||s)return;const k=Id[S.key];if(k){const O=S.key==="Tab"&&S.shiftKey?"left":k;((h?.onCellNavigate?.(n,r,O)??!1)||S.key!=="Tab")&&S.preventDefault();return}if(S.key==="F2"||S.key==="Enter"){S.preventDefault(),S.stopPropagation(),h?.onCellEditingStart?.(n,r);return}if(S.key===" "){S.preventDefault(),S.stopPropagation(),h?.onRowDetailsOpen?.(n);return}S.key.length===1&&!S.ctrlKey&&!S.metaKey&&(S.preventDefault(),S.stopPropagation(),h?.onCellEditingStart?.(n,r))},[m,o,s,h,n,r]),{highlightedCellKeys:b}=Ze(),D=b.has(`${t.row.id}:${r}`);return(0,a.jsx)("div",{role:"button","data-slot":"grid-cell-wrapper","data-editing":s?"":void 0,"data-focused":o?"":void 0,"data-selected":i?"":void 0,"data-has-update":w?"":void 0,tabIndex:o&&!s?0:-1,className:F("size-full px-2 py-1.5 text-left text-sm outline-none has-data-[slot=checkbox]:pt-2.5","**:data-[slot=grid-cell-content]:line-clamp-1",{"ring-1 ring-ring ring-inset":o,"bg-primary/25":i&&!s,"cursor-default":!s,"ring-2 ring-primary":w,"bg-emerald-500/20 dark:bg-emerald-500/25 transition-colors duration-1000 ease-in-out":D},c),onClick:j,onContextMenu:y,onDoubleClick:g,onMouseDown:N,onMouseEnter:C,onMouseUp:x,onKeyDown:v,...d})}var dt=({value:e,className:t,children:n})=>{const r=e==null?"NULL":e===ln?"DEFAULT":e===""?"EMPTY":null;return(0,a.jsx)("span",{"data-slot":"grid-cell-content","data-marker":r??void 0,className:F(t,r&&"font-mono text-xs text-muted-foreground/70"),children:r??n??Ie(e)})},Wd=(0,u.lazy)(()=>_s(()=>import("./json-editor-Dc1E8Fc-.js").then(e=>({default:e.JsonEditor})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]))),Lr=({active:e,open:t,onOpenChange:n,anchor:r,children:s})=>{const[o,i]=(0,u.useState)(e);return e&&!o&&i(!0),o?(0,a.jsxs)(_t,{open:t,onOpenChange:n,children:[(0,a.jsx)(di,{asChild:!0,children:r}),s]}):r},En=(0,u.memo)(({cell:e,table:t,rowIndex:n,columnId:r,isEditing:s,isFocused:o,isSelected:i})=>{const{setUpdate:c,clearUpdate:l,getUpdate:m}=Ce(),d=e.getValue(),[f,h]=(0,u.useState)(""),[p,w]=(0,u.useState)(!1),j=(0,u.useRef)(!1),y=(0,u.useRef)(null),N=(0,u.useRef)(null),C=t.options.meta,x=e.column.columnDef.meta,g=e.row.original,v=r,b=m(g,v,C?.editScope),D=b?b.newValue:d,S=D===ln?"":Ie(D),k=(0,u.useCallback)(_=>{j.current=!1,C?.onCellEditingStop?.({direction:_}),w(!1)},[C]),O=(0,u.useCallback)((_,$)=>{c(g,v,_,d,C?.editScope),k($)},[k,g,v,d,C?.editScope,c]),T=(0,u.useCallback)(_=>{j.current&&(f===S?k(_):O(f,_))},[f,S,k,O]),R=(0,u.useCallback)(()=>{l(g,v,C?.editScope),k()},[k,v,g,l,C?.editScope]),E=(0,u.useCallback)(_=>{h(_.target.value)},[]),z=(0,u.useCallback)(_=>{_?w(!0):T()},[T]),L=(0,u.useCallback)(_=>{if(_.preventDefault(),y.current){y.current.focus();const $=y.current.value.length;y.current.setSelectionRange($,$)}},[]),U=(0,u.useCallback)(_=>{s&&!p&&(_.key==="Escape"?(_.preventDefault(),C?.onCellEditingStop?.()):_.key==="Tab"&&(_.preventDefault(),C?.onCellEditingStop?.({direction:_.shiftKey?"left":"right"})))},[s,p,C]),X=(0,u.useCallback)(_=>{_.key==="Escape"?(_.preventDefault(),R()):_.key==="Enter"&&!_.shiftKey&&!_.nativeEvent.isComposing?(_.preventDefault(),T()):_.key==="Tab"&&(_.preventDefault(),T(_.shiftKey?"left":"right")),_.stopPropagation()},[R,T]);(0,u.useEffect)(()=>{s&&!p?(h(S),j.current=!0,w(!0)):!s&&p&&w(!1)},[s,p,S]),(0,u.useEffect)(()=>{o&&!s&&!C?.isScrolling&&N.current&&N.current.focus()},[o,s,C?.isScrolling]),Mt("enter",()=>T(),{enabled:p}),Mt("esc",()=>R(),{enabled:p});const se=[...x?.isNullable?[{label:"NULL",title:"Set NULL",value:null}]:[],{label:"EMPTY",title:"Set empty string",value:""},...x?.hasDefault?[{label:"DEFAULT",title:"Use column default",value:ln}]:[]];return(0,a.jsx)(Lr,{active:p||s,open:p,onOpenChange:z,anchor:(0,a.jsx)(ut,{ref:N,cell:e,table:t,rowIndex:n,columnId:r,isEditing:s,isFocused:o,isSelected:i,onKeyDown:U,children:(0,a.jsx)(dt,{value:D})}),children:(0,a.jsxs)(nt,{"data-grid-cell-editor":"",align:"start",side:"bottom",sideOffset:0,className:"w-[400px] rounded-none p-0 gap-0",onOpenAutoFocus:L,children:[(0,a.jsx)(Xe,{ref:y,value:f,onChange:E,onKeyDown:X,onBlur:()=>T(),className:"min-h-[150px] resize-none rounded-none border-0 shadow-none focus-visible:ring-0",placeholder:D==null?"NULL":D===ln?"DEFAULT":"Enter text..."}),(0,a.jsxs)("div",{className:"flex h-8 items-center gap-1 border-t px-1.5",children:[(0,a.jsx)("span",{className:"px-1 text-[0.625rem] text-muted-foreground/70",children:"Set"}),se.map(_=>{const $=(D??null)===_.value;return(0,a.jsx)(I,{variant:"ghost",size:"xs","aria-pressed":$,"aria-label":_.title,title:_.title,disabled:$,className:"font-mono disabled:opacity-100 aria-pressed:bg-muted aria-pressed:text-foreground aria-pressed:ring-1 aria-pressed:ring-border aria-pressed:ring-inset",onMouseDown:ce=>ce.preventDefault(),onClick:()=>O(_.value),children:_.label},_.label)}),(0,a.jsxs)(I,{variant:"ghost",size:"xs",className:"ml-auto",onMouseDown:_=>_.preventDefault(),onClick:R,children:[(0,a.jsx)(_e,{className:"h-4 min-w-4",children:"esc"}),"Cancel"]}),(0,a.jsxs)(I,{variant:"ghost",size:"xs",onMouseDown:_=>_.preventDefault(),onClick:()=>T(),children:[(0,a.jsx)(_e,{className:"h-4 min-w-4",children:"↵"}),"Save"]})]})]})})});En.displayName="TableTextCell";var _a=(0,u.memo)(({cell:e,table:t,rowIndex:n,columnId:r,isEditing:s,isFocused:o,isSelected:i})=>{const{setUpdate:c,clearUpdate:l,getUpdate:m}=Ce(),d=e.getValue(),f=t.options.meta,h=e.row.original,p=r,w=m(h,p,f?.editScope),j=w?w.newValue:d,[y,N]=(0,u.useState)(j),[C,x]=(0,u.useState)(!1),g=(0,u.useRef)(null);s!==C&&(s&&N(j),x(s));const v=(0,u.useCallback)(T=>{c(h,p,y,d,t.options.meta?.editScope),x(!1),f?.onCellEditingStop?.({direction:T})},[f,y,d,p,h,c]),b=(0,u.useCallback)(()=>{N(d),l(h,p,t.options.meta?.editScope),x(!1),f?.onCellEditingStop?.()},[f,d,p,h,l,y]),D=(0,u.useCallback)(T=>{const R=T.target.value;N(Number(R)),c(h,p,Number(R),d,t.options.meta?.editScope)},[p,y,d,h,c]),S=(0,u.useCallback)(T=>{T.key==="Escape"?(T.preventDefault(),b()):T.key==="Enter"?(T.preventDefault(),v()):T.key==="Tab"&&(T.preventDefault(),v(T.shiftKey?"left":"right")),T.stopPropagation()},[b,v,y,d]),k=(0,u.useCallback)(()=>{y!==d&&c(h,p,y,d,t.options.meta?.editScope),x(!1),f?.onCellEditingStop?.()},[f,y,d,p,h,c]),O=(0,u.useCallback)(T=>{if(!T)return;T.focus();const R=T.value;T.value="",T.value=R},[]);return(0,u.useEffect)(()=>{o&&!s&&!f?.isScrolling&&g.current&&g.current.focus()},[o,s,f?.isScrolling]),Mt("enter",()=>v(),{enabled:C}),Mt("esc",()=>b(),{enabled:C}),(0,a.jsx)(ut,{ref:g,cell:e,table:t,rowIndex:n,columnId:r,isEditing:s,isFocused:o,isSelected:i,children:C?(0,a.jsx)(Oe,{type:"number",variant:"outline",ref:O,value:y??"",onChange:T=>D(T),onKeyDown:T=>S(T),onBlur:k,className:"size-full rounded-none border-none p-0 shadow-none hover:bg-transparent! focus-visible:ring-0 bg-transparent [appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none"}):(0,a.jsx)(dt,{value:j})})});_a.displayName="TableNumberCell";var Aa=(0,u.memo)(({cell:e,table:t,rowIndex:n,columnId:r,isEditing:s,isFocused:o,isSelected:i})=>{const{setUpdate:c,clearUpdate:l,getUpdate:m}=Ce(),d=e.getValue(),[f,h]=(0,u.useState)(!1),p=(0,u.useRef)(null),w=(0,u.useRef)(null),j=(0,u.useRef)(s),y=t.options.meta;(0,u.useEffect)(()=>{j.current=s},[s]);const N=e.row.original,C=r,x=m(N,C,t.options.meta?.editScope),g=x?x.newValue:d,v=(0,u.useMemo)(()=>g==null?"null":g?"true":"false",[g]),b=(0,u.useCallback)(O=>{let T;O==="null"?T=null:T=O==="true",c(N,C,T,d,t.options.meta?.editScope),h(!1),y?.onCellEditingStop?.()},[C,N,d,c,y]),D=(0,u.useCallback)(()=>{l(N,C,t.options.meta?.editScope),h(!1),y?.onCellEditingStop?.()},[N,C,l,y]),S=(0,u.useCallback)(O=>{h(O),!O&&s&&y?.onCellEditingStop?.()},[s,y]),k=(0,u.useCallback)(O=>{s&&!f&&(O.key==="Escape"?(O.preventDefault(),D()):O.key==="Tab"&&(O.preventDefault(),D(),y?.onCellEditingStop?.({direction:O.shiftKey?"left":"right"})))},[s,f,y,D]);return(0,u.useEffect)(()=>{if(s){const O=setTimeout(()=>{j.current&&(h(!0),setTimeout(()=>{j.current&&w.current?.click()},0))},0);return()=>{clearTimeout(O),h(!1)}}},[s]),(0,u.useEffect)(()=>{o&&!s&&!y?.isScrolling&&p.current&&p.current.focus()},[o,s,y?.isScrolling]),(0,a.jsx)(ut,{ref:p,cell:e,table:t,rowIndex:n,columnId:r,isEditing:s,isFocused:o,isSelected:i,onKeyDown:k,className:"p-0!",children:s?(0,a.jsxs)(Ve,{value:v,onValueChange:b,open:f,onOpenChange:S,children:[(0,a.jsx)(Be,{ref:w,variant:"outline",className:"size-full px-2 py-1.5 rounded-none border-none p-0 shadow-none hover:bg-transparent! focus-visible:ring-0 bg-transparent [&_svg]:hidden",children:(0,a.jsx)($e,{})}),(0,a.jsxs)(Ke,{"data-grid-cell-editor":"",alignOffset:-8,sideOffset:-8,className:"min-w-[calc(var(--radix-select-trigger-width)+16px)]",onEscapeKeyDown:D,onPointerDownOutside:O=>{O.preventDefault(),h(!1),y?.onCellEditingStop?.()},children:[(0,a.jsx)(Q,{value:"true",children:"true"}),(0,a.jsx)(Q,{value:"false",children:"false"}),(0,a.jsx)(Q,{value:"null",children:"NULL"})]})]}):(0,a.jsx)("span",{className:"flex items-center size-full px-2 py-1.5",children:(0,a.jsx)(dt,{value:g,children:g?"true":"false"})})})});Aa.displayName="TableBooleanCell";var Pa=(0,u.memo)(({cell:e,table:t,rowIndex:n,columnId:r,isEditing:s,isFocused:o,isSelected:i})=>{const{setUpdate:c,clearUpdate:l,getUpdate:m}=Ce(),d=e.getValue(),[f,h]=(0,u.useState)(!1),p=(0,u.useRef)(null),w=(0,u.useRef)(null),j=(0,u.useRef)(s),y=t.options.meta,N=e.column.columnDef.meta?.enumValues;(0,u.useEffect)(()=>{j.current=s},[s]);const C=e.row.original,x=r,g=m(C,x,t.options.meta?.editScope),v=g?g.newValue:d,b=(0,u.useCallback)(O=>{c(C,x,O==="null"?null:O,d,t.options.meta?.editScope),h(!1),y?.onCellEditingStop?.()},[x,C,d,c,y]),D=(0,u.useCallback)(()=>{l(C,x,t.options.meta?.editScope),h(!1),y?.onCellEditingStop?.()},[C,x,l,y]),S=(0,u.useCallback)(O=>{h(O),!O&&s&&y?.onCellEditingStop?.()},[s,y]),k=(0,u.useCallback)(O=>{s&&!f&&(O.key==="Escape"?(O.preventDefault(),D()):O.key==="Tab"&&(O.preventDefault(),D(),y?.onCellEditingStop?.({direction:O.shiftKey?"left":"right"})))},[s,f,y,D]);return(0,u.useEffect)(()=>{if(s){const O=setTimeout(()=>{j.current&&(h(!0),setTimeout(()=>{j.current&&w.current?.click()},0))},0);return()=>{clearTimeout(O),h(!1)}}},[s]),(0,u.useEffect)(()=>{o&&!s&&!y?.isScrolling&&p.current&&p.current.focus()},[o,s,y?.isScrolling]),(0,a.jsx)(ut,{ref:p,cell:e,table:t,rowIndex:n,columnId:r,isEditing:s,isFocused:o,isSelected:i,onKeyDown:k,className:"p-0!",children:s?(0,a.jsxs)(Ve,{value:v===null?"null":v,onValueChange:b,open:f,onOpenChange:S,children:[(0,a.jsx)(Be,{ref:w,variant:"outline",className:"size-full px-2 py-1.5 rounded-none border-none p-0 shadow-none hover:bg-transparent! focus-visible:ring-0 bg-transparent [&_svg]:hidden",children:(0,a.jsx)($e,{})}),(0,a.jsxs)(Ke,{"data-grid-cell-editor":"",alignOffset:-8,sideOffset:-8,className:"min-w-[calc(var(--radix-select-trigger-width)+16px)]",onEscapeKeyDown:D,onPointerDownOutside:O=>{O.preventDefault(),h(!1),y?.onCellEditingStop?.()},children:[N?.map(O=>(0,a.jsx)(Q,{value:O,children:O},O)),(0,a.jsx)(Q,{value:"null",children:"NULL"})]})]}):(0,a.jsx)("span",{className:"flex items-center size-full px-2 py-1.5 truncate",children:(0,a.jsx)(dt,{value:v})})})});Pa.displayName="TableEnumCell";var Fa=(0,u.memo)(({cell:e,table:t,rowIndex:n,columnId:r,isEditing:s,isFocused:o,isSelected:i})=>{const{setUpdate:c,clearUpdate:l,getUpdate:m}=Ce(),d=e.getValue(),f=(0,u.useRef)(null),h=t.options.meta,p=e.row.original,w=r,j=m(p,w,t.options.meta?.editScope),y=j?j.newValue:d,N=(0,u.useCallback)(b=>{const D=b?b.toISOString():null;c(p,w,D,d,t.options.meta?.editScope),h?.onCellEditingStop?.()},[w,d,p,c,h]),C=(0,u.useCallback)(()=>{l(p,w,t.options.meta?.editScope),h?.onCellEditingStop?.()},[p,w,l,h,y,d]),x=(0,u.useCallback)(b=>{s&&(b.key==="Escape"||b.key==="Tab")&&(b.preventDefault(),C())},[s,C]),g=(0,u.useCallback)(b=>{b||h?.onCellEditingStop?.()},[h]);(0,u.useEffect)(()=>{o&&!s&&!h?.isScrolling&&f.current&&f.current.focus()},[o,s,h?.isScrolling]);const v=y?new Date(y):void 0;return(0,a.jsx)(ut,{ref:f,cell:e,table:t,rowIndex:n,columnId:r,isEditing:s,isFocused:o,isSelected:i,onKeyDown:x,className:s?"p-0!":void 0,children:s?(0,a.jsx)(xt,{isFormatted:!1,icon:!1,value:v,onChange:N,open:!0,onOpenChange:g,placeholder:"Pick a date",className:"size-full px-2! py-1.5! rounded-none border-none p-0 text-sm shadow-none hover:bg-transparent! focus-visible:ring-0 bg-transparent dark:bg-transparent! [&_svg]:hidden"}):(0,a.jsx)(dt,{value:y,children:v&&!Number.isNaN(v.getTime())?Ye(v,"yyyy-MM-dd"):y})})});Fa.displayName="TableDateCell";var Ia=(0,u.memo)(({cell:e,table:t,rowIndex:n,columnId:r,isEditing:s,isFocused:o,isSelected:i})=>{const{setUpdate:c,clearUpdate:l,getUpdate:m}=Ce(),{editor:d}=gi(),f=e.getValue();let h;if(typeof f=="string")try{h=JSON.parse(f),console.warn(`TableJsonCell ${r}: initialValue was a string, parsed it to object`,h)}catch(L){console.error(`TableJsonCell ${r}: Failed to parse initialValue string`,f,L),h={}}else h=f;const[p,w]=(0,u.useState)(()=>JSON.stringify(h,null,d.tabSize)??""),[j,y]=(0,u.useState)(!1),N=(0,u.useRef)(null),C=t.options.meta,x=e.row.original,g=r,v=m(x,g,t.options.meta?.editScope),b=v?v.newValue:h,D=JSON.stringify(b),S=(0,u.useMemo)(()=>{try{return JSON.parse(p),null}catch(L){return L instanceof Error?L.message:"Invalid JSON"}},[p]),k=(0,u.useCallback)(()=>{let L;try{L=JSON.parse(p)}catch{return!1}return JSON.stringify(L)===JSON.stringify(h)?l(x,g,t.options.meta?.editScope):c(x,g,L,h,t.options.meta?.editScope),!0},[p,h,g,x,c,l]),O=(0,u.useCallback)(()=>{k()&&(C?.onCellEditingStop?.(),y(!1))},[k,C]),T=(0,u.useCallback)(()=>{w(JSON.stringify(h,null,d.tabSize)??""),l(x,g,t.options.meta?.editScope),C?.onCellEditingStop?.(),y(!1)},[C,h,g,x,l,d.tabSize]),R=(0,u.useCallback)(L=>{y(L),L||(k(),C?.onCellEditingStop?.())},[k,C]),E=(0,u.useCallback)(L=>{L.preventDefault()},[]),z=(0,u.useCallback)(L=>{s&&!j&&(L.key==="Escape"?(L.preventDefault(),C?.onCellEditingStop?.()):L.key==="Tab"&&(L.preventDefault(),C?.onCellEditingStop?.({direction:L.shiftKey?"left":"right"})))},[s,j,C]);return(0,u.useEffect)(()=>{s&&!j?(w(JSON.stringify(b,null,d.tabSize)),y(!0)):!s&&j&&y(!1)},[s,j,b]),(0,u.useEffect)(()=>{o&&!s&&!C?.isScrolling&&N.current&&N.current.focus()},[o,s,C?.isScrolling]),Mt("enter",()=>O(),{enabled:j}),Mt("esc",()=>T(),{enabled:j}),(0,a.jsx)(Lr,{active:j||s,open:j,onOpenChange:R,anchor:(0,a.jsx)(ut,{ref:N,cell:e,table:t,rowIndex:n,columnId:r,isEditing:s,isFocused:o,isSelected:i,onKeyDown:z,children:(0,a.jsx)(dt,{value:b,children:D})}),children:(0,a.jsxs)(nt,{"data-grid-cell-editor":"",align:"start",side:"bottom",sideOffset:0,className:"w-[440px] rounded-none p-0 gap-0",onOpenAutoFocus:E,children:[(0,a.jsx)(u.Suspense,{fallback:(0,a.jsx)("div",{className:"h-[240px]"}),children:(0,a.jsx)(Wd,{value:p,onChange:w,onSave:O,onCancel:T,className:"h-[240px]"})}),S&&(0,a.jsx)("p",{className:"border-t px-2 py-1.5 text-xs text-destructive truncate",children:S}),(0,a.jsxs)("div",{className:"flex flex-col border-t",children:[(0,a.jsxs)(I,{variant:"ghost",size:"sm",disabled:!!S,onClick:O,className:"rounded-none justify-start text-xs py-4 px-2",children:[(0,a.jsx)(_e,{className:"text-xs font-normal",children:"⌘↵"}),(0,a.jsx)("span",{className:"ml-1 text-xs",children:"Save Changes"})]}),(0,a.jsxs)(I,{variant:"ghost",size:"sm",onClick:T,className:"rounded-none justify-start text-xs py-4 px-2",children:[(0,a.jsx)(_e,{className:"text-xs font-normal",children:"esc"}),(0,a.jsx)("span",{className:"ml-1 text-xs",children:"Cancel Changes"})]})]})]})})});Ia.displayName="TableJsonCell";var Wa=(0,u.memo)(({cell:e,table:t,rowIndex:n,columnId:r,isEditing:s,isFocused:o,isSelected:i})=>{const{setUpdate:c,clearUpdate:l,getUpdate:m}=Ce(),d=e.getValue(),f=Ie(d),[h,p]=(0,u.useState)(()=>f??""),[w,j]=(0,u.useState)(!1),[y,N]=(0,u.useState)(!1),[C,x]=(0,u.useState)(!1);y&&!C&&x(!0);const g=(0,u.useRef)(null),v=(0,u.useRef)(null),b=t.options.meta,D=e.column.columnDef.meta?.referencedTable,S=e.row.original,k=r,O=m(S,k,t.options.meta?.editScope),T=O?Ie(O.newValue):f??"",R=(0,u.useCallback)(()=>{c(S,k,h,d,t.options.meta?.editScope),b?.onCellEditingStop?.(),j(!1)},[b,h,d,k,S,c]),E=(0,u.useCallback)(()=>{p(f??""),l(S,k,t.options.meta?.editScope),b?.onCellEditingStop?.(),j(!1)},[b,f,k,S,l]),z=(0,u.useCallback)($=>{p($.target.value)},[]),L=(0,u.useCallback)($=>{j($),$||(h!==f&&c(S,k,h,f,t.options.meta?.editScope),b?.onCellEditingStop?.())},[b,h,f,k,S,c]),U=(0,u.useCallback)($=>{if($.preventDefault(),g.current){g.current.focus();const ce=g.current.value.length;g.current.setSelectionRange(ce,ce)}},[]),X=(0,u.useCallback)($=>{s&&!w&&($.key==="Escape"?($.preventDefault(),b?.onCellEditingStop?.()):$.key==="Tab"&&($.preventDefault(),b?.onCellEditingStop?.({direction:$.shiftKey?"left":"right"})))},[s,w,b]),se=(0,u.useCallback)($=>{$.key==="Escape"?($.preventDefault(),E()):$.key==="Enter"&&($.ctrlKey||$.metaKey)&&($.preventDefault(),R()),$.stopPropagation()},[E,R]),_=(0,u.useCallback)(()=>{h!==f&&c(S,k,h,f,t.options.meta?.editScope),b?.onCellEditingStop?.(),j(!1)},[b,h,f,k,S,c]);return(0,u.useEffect)(()=>{s&&!w?(p(T),j(!0)):!s&&w&&j(!1)},[s,w,T]),(0,u.useEffect)(()=>{o&&!s&&!b?.isScrolling&&v.current&&v.current.focus()},[o,s,b?.isScrolling]),(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(Lr,{active:w||s,open:w,onOpenChange:L,anchor:(0,a.jsx)(ut,{ref:v,cell:e,table:t,rowIndex:n,columnId:r,isEditing:s,isFocused:o,isSelected:i,onKeyDown:X,children:O?.newValue===null||!O&&d==null?(0,a.jsx)(dt,{value:null}):(0,a.jsxs)("span",{className:"flex items-center gap-1.5 size-full overflow-hidden",children:[D&&(0,a.jsx)(fi,{variant:"outline",className:"shrink-0 cursor-pointer hover:bg-muted",onClick:$=>{$.stopPropagation(),N(!0)},children:D}),(0,a.jsx)("span",{className:"truncate text-muted-foreground",children:T})]})}),children:(0,a.jsxs)(nt,{"data-grid-cell-editor":"",align:"start",side:"bottom",sideOffset:0,className:"w-[400px] rounded-none p-0 gap-0",onOpenAutoFocus:U,children:[(0,a.jsx)(Xe,{ref:g,value:h,onChange:z,onKeyDown:se,onBlur:_,className:"min-h-[150px] resize-none rounded-none border-0 shadow-none focus-visible:ring-0",placeholder:"Enter value..."}),(0,a.jsxs)("div",{className:"flex flex-col border-t",children:[(0,a.jsxs)(I,{variant:"ghost",size:"sm",className:"rounded-none justify-start text-xs py-4 px-2",children:[(0,a.jsx)(_e,{className:"text-xs font-normal",children:"⌘↵"}),(0,a.jsx)("span",{className:"ml-1 text-xs",children:"Save Changes"})]}),(0,a.jsxs)(I,{variant:"ghost",size:"sm",className:"rounded-none justify-start text-xs py-4 px-2",children:[(0,a.jsx)(_e,{className:"text-xs font-normal",children:"esc"}),(0,a.jsx)("span",{className:"ml-1 text-xs",children:"Cancel Changes"})]})]})]})}),C&&(0,a.jsx)(fd,{open:y,onOpenChange:N,children:(0,a.jsx)(pd,{className:"h-[70vh]",children:D&&(0,a.jsx)(Fd,{referencedTable:D,referencedColumn:e.column.columnDef.meta?.referencedColumn??"id",fkValue:T})})})]})});Wa.displayName="TableForeignKeyCell";var zd=({cell:e,table:t})=>{const n=t.options.meta,r=t.getRowModel().rows,s=(0,u.useMemo)(()=>{const h=r.findIndex(p=>p.original===e.row.original);return h>=0?h:e.row.index},[r,e.row.original,e.row.index]),o=e.column.id,i=n?.focusedCell?.rowIndex===s&&n?.focusedCell?.columnId===o,c=n?.editingCell?.rowIndex===s&&n?.editingCell?.columnId===o,l=n?.getIsCellSelected?.(s,o)??!1,m=e.column.columnDef.meta?.variant,d=e.column.columnDef.meta?.isForeignKey,f=e.column.columnDef.meta?.referencedTable;if(n?.canMutateRows===!1){const h=e.getValue();return(0,a.jsx)(ut,{cell:e,table:t,rowIndex:s,columnId:o,isEditing:!1,isFocused:i,isSelected:l,"aria-readonly":"true",title:n.rowMutationReason,className:"pr-7",children:(0,a.jsx)(dt,{value:h})})}if(d&&f)return(0,a.jsx)(Wa,{cell:e,table:t,rowIndex:s,columnId:o,isEditing:c,isFocused:i,isSelected:l});switch(m){case"text":return(0,a.jsx)(En,{cell:e,table:t,rowIndex:s,columnId:o,isEditing:c,isFocused:i,isSelected:l});case"boolean":return(0,a.jsx)(Aa,{cell:e,table:t,rowIndex:s,columnId:o,isEditing:c,isFocused:i,isSelected:l});case"number":return(0,a.jsx)(_a,{cell:e,table:t,rowIndex:s,columnId:o,isEditing:c,isFocused:i,isSelected:l});case"enum":return(0,a.jsx)(Pa,{cell:e,table:t,rowIndex:s,columnId:o,isEditing:c,isFocused:i,isSelected:l});case"date":return(0,a.jsx)(Fa,{cell:e,table:t,rowIndex:s,columnId:o,isEditing:c,isFocused:i,isSelected:l});case"json":return(0,a.jsx)(Ia,{cell:e,table:t,rowIndex:s,columnId:o,isEditing:c,isFocused:i,isSelected:l});case"array":return(0,a.jsx)(En,{cell:e,table:t,rowIndex:s,columnId:o,isEditing:c,isFocused:i,isSelected:l});default:return(0,a.jsx)(En,{cell:e,table:t,rowIndex:s,columnId:o,isEditing:c,isFocused:i,isSelected:l})}},Ld=()=>({id:"select",accessorKey:"select",header:({table:e})=>(0,a.jsx)("div",{className:"w-full h-full flex items-center justify-center",children:(0,a.jsx)(Mn,{checked:e.getIsAllRowsSelected(),onCheckedChange:()=>e.toggleAllRowsSelected()})}),cell:({row:e})=>(0,a.jsx)("div",{className:"w-full h-full flex items-center justify-center",children:(0,a.jsx)(Mn,{checked:e.getIsSelected(),onCheckedChange:()=>e.toggleSelected()})}),size:20,enableSorting:!1}),za={order:[],hidden:[]},ds=(e,t)=>e.order.length===t.order.length&&e.hidden.length===t.hidden.length&&e.order.every((n,r)=>n===t.order[r])&&e.hidden.every((n,r)=>n===t.hidden[r]),_n=({dbType:e,database:t,tableName:n})=>JSON.stringify([e,t,n]),La=e=>{const t=e??{};return{order:Array.isArray(t.order)?t.order.filter(n=>typeof n=="string"):[],hidden:Array.isArray(t.hidden)?t.hidden.filter(n=>typeof n=="string"):[]}},Yd=e=>!e||typeof e!="object"?{}:Object.fromEntries(Object.entries(e).map(([t,n])=>[t,La(n)])),Ya=Kt()(pi(e=>({prefsByTable:{},setColumnPrefs:(t,n)=>e(r=>({prefsByTable:{...r.prefsByTable,[_n(t)]:La(n)}})),clearColumnPrefs:t=>e(n=>{const{[_n(t)]:r,...s}=n.prefsByTable;return{prefsByTable:s}})}),{name:"dbstudio-column-preferences",partialize:e=>({prefsByTable:e.prefsByTable}),merge:(e,t)=>({...t,prefsByTable:Yd(e?.prefsByTable)})})),dr=e=>Ya.getState().prefsByTable[_n(e)]??za,on=(e,t)=>{const n=new Set(e),r=new Set,s=[];for(const o of t.order)n.has(o)&&!r.has(o)&&(s.push(o),r.add(o));for(const o of e)r.has(o)||(s.push(o),r.add(o));return{order:s,hidden:t.hidden.filter(o=>n.has(o)&&typeof o=="string")}},$d=(e,t)=>{const{order:n,hidden:r}=on(e,t),s=new Set(r);return[...n.filter(o=>!s.has(o))].sort((o,i)=>n.indexOf(o)-n.indexOf(i))},wr=(e,t,n,r)=>{if(t===n)return e;const s=e.indexOf(t),o=e.indexOf(n);if(s===-1||o===-1)return e;const i=[...e];i.splice(s,1);const c=i.indexOf(n),l=(r??(s<o?"after":"before"))==="after"?c+1:c;return i.splice(l,0,t),i},$a=({tableName:e,tableCols:t})=>{const{dbType:n,selectedDatabase:r}=be(),{prefsByTable:s,setColumnPrefs:o,clearColumnPrefs:i}=Ya(),c=(0,u.useMemo)(()=>(t??[]).map(x=>x.columnName),[t]),l=(0,u.useMemo)(()=>c.join(`
13
+ `),[c]),m=(0,u.useMemo)(()=>({dbType:n??"",database:r??"",tableName:e}),[n,r,e]),d=s[_n(m)]??za,f=(0,u.useRef)(c);(0,u.useLayoutEffect)(()=>{f.current=c},[c]),(0,u.useEffect)(()=>{if(l.length===0)return;const x=dr(m),g=on(f.current,x);ds(x,g)||o(m,g)},[m,l,o]);const h=(0,u.useCallback)(x=>{const g=on(f.current,x);ds(dr(m),g)||o(m,g)},[m,o]),p=(0,u.useCallback)(()=>on(f.current,dr(m)),[m]),w=(0,u.useCallback)(x=>{const g=p(),v=new Set(g.hidden);v.has(x)?v.delete(x):v.add(x),h({...g,hidden:[...v]})},[p,h]),j=(0,u.useCallback)((x,g,v)=>{const b=p(),D=v??b.order,S=D.indexOf(x),k=S+g;if(S===-1||k<0||k>=D.length)return;const O=D[k],T=wr(b.order,x,O,g===-1?"before":"after");h({...b,order:T})},[p,h]),y=(0,u.useCallback)((x,g,v)=>{const b=p(),D=wr(b.order,x,g,v);h({...b,order:D})},[p,h]),N=(0,u.useCallback)(()=>{const x=p();h({...x,hidden:[]})},[p,h]),C=(0,u.useCallback)(()=>{i(m)},[m,i]);return{orderedColumns:(0,u.useMemo)(()=>on(c,d).order,[c,d]),visibleColumns:(0,u.useMemo)(()=>$d(c,d),[c,d]),toggleColumn:w,moveColumn:j,reorderColumn:y,showAllColumns:N,resetColumns:C}},Bd=["nextval(","next_value","auto_increment","autoincrement","identity","uuid_generate","gen_random_uuid","newid(","newsequentialid("],Ba=e=>{const t=e.columnDefault?.toLowerCase()??"";return Bd.some(n=>t.includes(n))},Yr=e=>e?.filter(t=>t.isPrimaryKey)??[],Kd=e=>Yr(e)[0],Ka=e=>{const t=Yr(e);if(t.length>0)return t.map(r=>r.columnName);const n=e?.find(r=>r.columnName==="id");return n?[n.columnName]:[]},Vd=(e,t)=>{if(!e||!t)return;const n=t.filter(s=>s.isPrimaryKey);if(n.length>0)return JSON.stringify(n.map(s=>[s.columnName,String(e[s.columnName])]));const r=t.find(s=>s.columnName==="id");if(r&&e[r.columnName]!==void 0&&e[r.columnName]!==null)return JSON.stringify([r.columnName,String(e[r.columnName])])},On=(e,t)=>{const n={};if(!e||!t)return n;for(const r of t){const s=e[r.columnName];if(s==null)n[r.columnName]="";else if(typeof s=="boolean")n[r.columnName]=s?"true":"false";else if(typeof s=="object")try{n[r.columnName]=JSON.stringify(s)}catch{n[r.columnName]=String(s)}else n[r.columnName]=String(s)}return n},Ud=(e,t)=>Object.keys(e).filter(n=>e[n]).map(n=>({columnName:n,value:t[n]??""})),Va=async e=>{await navigator.clipboard.writeText(e)},Ua=(e,t)=>{const n=ue(),{selectedDatabase:r}=be();return(0,u.useMemo)(()=>({id:JSON.stringify([r,n??null,e]),keyColumns:Ka(t)}),[r,n,e,t])},$r=()=>{const e=Ut();return{canMutateRows:e?.rowMutation??!0,rowMutationReason:e?.rowMutation===!1?e.rowMutationReason:void 0}},Hd=({tableName:e,tableCols:t,tableDataRows:n,isRowHighlighted:r,isCellHighlighted:s})=>{const[o]=J(K.COLUMN_NAME),[i]=J(K.TABLE_STATE_KEYS.ORDER),{canMutateRows:c,rowMutationReason:l}=$r(),m=Ut()?.cellDefault??!1,d=Ua(e,t),[f,h]=(0,u.useState)({}),[p,w]=(0,u.useState)({}),[j,y]=(0,u.useState)(null),[N,C]=(0,u.useState)(null),[x,g]=(0,u.useState)(null),v=(0,u.useRef)(!1),{visibleColumns:b}=$a({tableName:e,tableCols:t}),D=(0,u.useMemo)(()=>{if(!t)return;const M=new Map(t.map(Z=>[Z.columnName,Z]));return b.map(Z=>M.get(Z)).filter(Z=>!!Z)},[t,b]),S=(0,u.useMemo)(()=>Ld(),[]),k=(0,u.useMemo)(()=>[S,...D?.map(M=>({accessorKey:M.columnName,header:M.columnName,meta:{variant:M.enumValues?"enum":M.dataType,isPrimaryKey:M.isPrimaryKey,isForeignKey:M.isForeignKey,referencedTable:M.referencedTable,referencedColumn:M.referencedColumn,enumValues:M.enumValues,dataTypeLabel:M.dataTypeLabel,isNullable:M.isNullable,hasDefault:m&&M.columnDefault!==null},size:(M.columnName.length+(M.dataTypeLabel?.length||0))*5+100,minSize:100,maxSize:500}))||[]],[D,S,m]);(0,u.useEffect)(()=>{h({})},[e]),(0,u.useEffect)(()=>{c||C(null)},[c]);const O=(0,u.useMemo)(()=>o&&i?[{id:o,desc:i==="desc"}]:[],[o,i]);(0,u.useEffect)(()=>{g(null)},[n,O,D]);const T=(0,u.useCallback)((M,Z)=>{y({rowIndex:M,columnId:Z})},[]),R=(0,u.useCallback)((M,Z)=>{c&&C({rowIndex:M,columnId:Z})},[c]),E=(0,u.useCallback)((M,Z)=>{c&&C({rowIndex:M,columnId:Z})},[c]),z=(0,u.useMemo)(()=>D?.map(M=>M.columnName)??[],[D]),L=n.length,U=(0,u.useCallback)((M,Z,te)=>{let ae=M,he=z.indexOf(Z);return te==="up"?ae--:te==="down"?ae++:te==="left"?he--:te==="right"?he++:te==="home"?he=0:te==="end"&&(he=z.length-1),ae<0||ae>=L||he<0||he>=z.length?!1:(y({rowIndex:ae,columnId:z[he]}),g(null),!0)},[z,L]),X=(0,u.useCallback)(M=>{C(null),M?.direction&&N&&U(N.rowIndex,N.columnId,M.direction)},[N,U]),se=(0,u.useCallback)(M=>{Ot.getState().setRowDetails(e,M),xe.getState().openOverlay("tables.row-details")},[e]),_=(0,u.useCallback)(()=>{},[]),$=(0,u.useCallback)((M,Z,te)=>{if(te.button!==0)return;te.preventDefault(),te.currentTarget.focus();const ae={rowIndex:M,columnId:Z};g(he=>te.shiftKey&&he?{...he,focus:ae}:{anchor:ae,focus:ae}),te.shiftKey||y(ae),v.current=!0,window.addEventListener("mouseup",()=>v.current=!1,{once:!0})},[]),ce=(0,u.useCallback)((M,Z)=>{v.current&&g(te=>te&&{...te,focus:{rowIndex:M,columnId:Z}})},[]),je=(0,u.useMemo)(()=>new Map(D?.map((M,Z)=>[M.columnName,Z])),[D]),ge=(0,u.useCallback)((M,Z)=>{if(!x)return!1;const{anchor:te,focus:ae}=x;if(te.rowIndex===ae.rowIndex&&te.columnId===ae.columnId)return!1;const he=je.get(Z)??-1,[ft,H]=[je.get(te.columnId)??-1,je.get(ae.columnId)??-1];return M>=Math.min(te.rowIndex,ae.rowIndex)&&M<=Math.max(te.rowIndex,ae.rowIndex)&&he>=Math.min(ft,H)&&he<=Math.max(ft,H)},[x,je]),Se=(0,u.useMemo)(()=>t?.filter(M=>M.isPrimaryKey).map(M=>M.columnName)??[],[t]),Ee=(0,u.useCallback)(M=>gr(M,Se),[Se]),We=(0,u.useMemo)(()=>({editScope:d,canMutateRows:c,rowMutationReason:l,focusedCell:j,editingCell:N,selection:x,onCellClick:T,onCellMouseDown:$,onCellMouseEnter:ce,onCellDoubleClick:R,onCellEditingStart:E,onCellEditingStop:X,onCellNavigate:U,onRowDetailsOpen:se,onDataUpdate:_,getIsCellSelected:ge,isRowHighlighted:r??(M=>Ze.getState().isRowHighlighted(M)),isCellHighlighted:s??((M,Z)=>Ze.getState().isCellHighlighted(M,Z))}),[e,c,l,j,N,x,T,$,ce,R,E,X,U,se,_,ge,r,s]),Ne=xs({data:n,columns:k,defaultColumn:{cell:zd,size:50,minSize:100,maxSize:500},getRowId:Ee,getCoreRowModel:gs(),getSortedRowModel:eo(),state:{sorting:O,rowSelection:f,columnSizing:p},manualSorting:!1,enableRowSelection:!0,enableMultiRowSelection:!0,enableColumnResizing:!0,columnResizeMode:"onChange",onRowSelectionChange:h,onColumnSizingChange:w,meta:We});return{table:Ne,selectedRows:Ne.getSelectedRowModel().rows,setRowSelection:h,isEditingCell:!!N}},Ha=({tableName:e,schemaName:t})=>{const n=tt(),{tableCols:r}=Te({tableName:e,schemaName:t}),{selectedDatabase:s,dbType:o}=be(),{mutateAsync:i,isPending:c,reset:l,error:m}=ct({mutationFn:async({rowData:h,force:p=!1})=>{if(!e)throw new Error("No active table selected");if(!r||r.length===0)throw new Error("No table columns found");return await qd(e,t,r,h,p,s||void 0)},onSuccess:async h=>(await Promise.all([n.invalidateQueries({queryKey:pe.dataByTable(e),exact:!1}),n.invalidateQueries({queryKey:pe.lists()})]),o&&hn.capture("record_deleted",{db_type:o}),h)});return{deleteCells:async h=>{const p=i({rowData:h,force:!1});return we.promise(p,{loading:"Deleting records...",success:w=>`Deleted ${w.deletedCount} records from "${e}"`,error:w=>w.message||"Failed to delete records"}),p},forceDeleteCells:async h=>{const p=i({rowData:h,force:!0});return we.promise(p,{loading:"Deleting records...",success:w=>`Deleted ${w.deletedCount} records from "${e}"`,error:w=>w.message||"Failed to delete records"}),p},isDeletingCells:c,resetDeleteResult:l,deleteCellsError:m}},qd=async(e,t,n,r,s,o)=>{const i=n.find(l=>l.isPrimaryKey);if(!i)throw new Error("No primary key found for this table");const c={tableName:e,schemaName:t,primaryKeys:r.map(l=>({columnName:i.columnName,value:l[i.columnName]}))};try{const l=await ri({...c,force:s,db:o});return{deletedCount:l.data.data.deletedCount,fkViolation:l.data.data.fkViolation,relatedRecords:l.data.data.relatedRecords}}catch(l){const m=l;if(m.response?.status===409)return{deletedCount:m.response.data.deletedCount};throw l}},Jd=({tableName:e,tableCols:t,row:n,rowIndex:r})=>{const{setDirty:s}=Ot(),o=(0,u.useMemo)(()=>Kd(t),[t]),i=(0,u.useMemo)(()=>Yr(t),[t]),c=(0,u.useMemo)(()=>Ka(t),[t]),l=(0,u.useMemo)(()=>JSON.stringify((t??[]).map(C=>C.columnName)),[t]),m=Es({defaultValues:(0,u.useMemo)(()=>On(n,t),[n,t])}),{formState:d}=m,f=d.isDirty;(0,u.useEffect)(()=>{s(f)},[f,s]);const h=i.some(C=>!!d.dirtyFields[C.columnName]),p=(0,u.useRef)(void 0),w=(0,u.useRef)(void 0),j=(0,u.useRef)(null),y=(0,u.useRef)(null),N=(0,u.useRef)(l);return(0,u.useEffect)(()=>{const C=Vd(n,t);if(!(e===y.current&&r===j.current&&l===N.current)){y.current=e,j.current=r,N.current=l,p.current=n,w.current=C,m.reset(On(n,t));return}if(n===p.current)return;p.current=n;const x=On(n,t);if(!f){w.current=C,m.reset(x);return}C!==void 0&&w.current!==void 0&&C===w.current?m.reset(x,{keepDirtyValues:!0}):(w.current=C,m.reset(x))},[n,t,e,r,l,m,f]),{methods:m,isDirty:f,pkDirty:h,primaryKeyColumn:o,identityColumnNames:c}},Gd=({tableName:e,schemaName:t})=>{const n=tt(),{selectedDatabase:r,dbType:s}=be(),{mutateAsync:o,isPending:i}=ct({mutationFn:async({rowData:l,updates:m,primaryKey:d,primaryKeys:f})=>{if(!e)throw new Error("No table selected");if(m.length===0)throw new Error("At least one field is required");return(await Rs({tableName:e,schemaName:t,updates:m.map(h=>({rowData:l,...h})),...d?{primaryKey:d}:{},...f?.length?{primaryKeys:f}:{},db:r})).data.data},onSuccess:async()=>{await Promise.all([n.invalidateQueries({queryKey:pe.dataByTable(e),exact:!1}),n.invalidateQueries({queryKey:pe.lists()})]),s&&hn.capture("record_updated",{db_type:s})}});return{updateRecord:async({rowData:l,updates:m,primaryKey:d,primaryKeys:f})=>{if(m.length===0)throw new Error("At least one field is required");return we.promise(o({rowData:l,updates:m,primaryKey:d,primaryKeys:f}),{loading:"Saving changes...",success:h=>h||"Record updated successfully",error:h=>h.message||"Failed to update record"}).unwrap()},isUpdatingRecord:i}},Qd=({value:e})=>{const[t,n]=(0,u.useState)(!1);return(0,u.useEffect)(()=>{if(!t)return;const r=window.setTimeout(()=>n(!1),1200);return()=>window.clearTimeout(r)},[t]),e?(0,a.jsx)("button",{type:"button","aria-label":t?"Copied":"Copy value",className:"inline-flex size-7 shrink-0 items-center justify-center rounded-md border border-input bg-background text-muted-foreground transition-colors hover:text-foreground",onClick:()=>{Va(e).then(()=>n(!0)).catch(()=>{})},children:t?(0,a.jsx)(ao,{className:"size-3.5"}):(0,a.jsx)(jo,{className:"size-3.5"})}):null},Zd=({column:e,displayValue:t,readOnly:n})=>{const{watch:r,formState:s}=Dr(),o=r(e.columnName)??"",i=!!s.dirtyFields[e.columnName];return(0,a.jsxs)("div",{className:"grid grid-cols-3 gap-4",children:[(0,a.jsxs)("div",{className:"col-span-1 flex flex-col gap-1",children:[(0,a.jsxs)("span",{className:"text-sm font-medium",children:[e.columnName,i&&(0,a.jsx)("span",{className:"ml-1.5 inline-block size-1.5 rounded-full bg-primary",children:(0,a.jsx)("span",{className:"sr-only",children:"(modified)"})})]}),(0,a.jsxs)("span",{className:"flex items-center gap-1.5 text-xs text-muted-foreground",children:[e.dataTypeLabel,e.isPrimaryKey&&(0,a.jsx)("span",{className:"rounded border border-border bg-muted px-1 font-mono text-[10px]",children:"PK"})]})]}),(0,a.jsxs)("div",{className:"col-span-2 flex w-full items-start gap-2",children:[(0,a.jsx)("div",{className:"min-w-0 flex-1",children:n?(0,a.jsx)("div",{role:"group","aria-label":e.columnName,className:"break-all rounded-md border border-input bg-muted/40 px-3 py-2 text-sm",children:t||(0,a.jsx)("span",{className:"text-muted-foreground",children:"NULL"})}):(0,a.jsx)(da,{...e,hideLabel:!0})}),(0,a.jsx)(Qd,{value:n?t:Ie(o)})]})]})},Xd=({tableName:e,rows:t})=>{const{openOverlay:n,closeOverlay:r,isOverlayOpen:s}=xe(),{rowIndex:o,selectRowDetails:i,clearRowDetails:c}=Ot(),l=ue(),{tableCols:m,isLoadingTableCols:d}=Te({tableName:e,schemaName:l}),{canMutateRows:f,rowMutationReason:h}=$r(),{updateRecord:p,isUpdatingRecord:w}=Gd({tableName:e,schemaName:l}),{deleteCells:j,isDeletingCells:y}=Ha({tableName:e,schemaName:l}),[N,C]=(0,u.useState)(null),[x,g]=(0,u.useState)(null),v=M=>{C(M),n("tables.row-discard-changes")},b=()=>{C(null),r("tables.row-discard-changes")},D=s("tables.row-details")&&o!==null,S=o===null?void 0:t[o],k=w||y,{methods:O,isDirty:T,pkDirty:R,primaryKeyColumn:E,identityColumnNames:z}=Jd({tableName:e,tableCols:m,row:S,rowIndex:o}),{formState:L,reset:U,handleSubmit:X}=O;(0,u.useEffect)(()=>{D&&o!==null&&!t[o]&&(T?v("close"):(c(),r("tables.row-details")))},[D,o,t,T,c,r]);const se=()=>{c(),r("tables.row-change-primary-key"),r("tables.row-delete-record"),r("tables.row-discard-changes"),r("tables.row-details")},_=()=>{k||(T?v("close"):se())},$=M=>{k||M===o||M<0||M>=t.length||(T?v(M):i(M))},ce=()=>{k||!f||(T?v("delete"):n("tables.row-delete-record"))},je=()=>{const M=N;b(),M==="close"?se():M==="delete"?n("tables.row-delete-record"):typeof M=="number"&&i(M)},ge=async M=>{if(!S||!f)return;const Z=Ud(L.dirtyFields,M);if(Z.length!==0)try{await p({rowData:S,updates:Z,primaryKey:z[0],primaryKeys:z}),U(M),se()}catch{}},Se=M=>{if(f){if(R){g(M),n("tables.row-change-primary-key");return}ge(M)}},Ee=async()=>{if(!(!S||!f)){r("tables.row-delete-record");try{(await j([S])).deletedCount>0&&se()}catch{}}},We=o!==null&&o>0,Ne=o!==null&&o<t.length-1;return Mt("up, down",M=>{o!==null&&(M.preventDefault(),$(M.key==="ArrowUp"?o-1:o+1))},{enabled:D&&!k},[D,k,o,t.length,T]),(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(Rt,{title:"Row details",description:o!==null?`${e} · Row ${o+1} of ${t.length}`:e,cta:(0,a.jsxs)("div",{className:"flex items-center gap-1",children:[(0,a.jsx)(I,{type:"button",variant:"ghost",size:"icon-sm","aria-label":"Previous row",disabled:!We||k,onClick:()=>o!==null&&$(o-1),children:(0,a.jsx)(Sr,{className:"size-4"})}),(0,a.jsx)(I,{type:"button",variant:"ghost",size:"icon-sm","aria-label":"Next row",disabled:!Ne||k,onClick:()=>o!==null&&$(o+1),children:(0,a.jsx)(fn,{className:"size-4"})})]}),closeButton:!1,modal:!1,onFocusOutside:M=>M.preventDefault(),onPointerDownOutside:M=>{M.target?.closest("table, [role=alertdialog]")&&M.preventDefault()},open:D,onOpenChange:M=>{M||_()},children:m&&m.length>0&&S?(0,a.jsxs)(Ts,{...O,children:[(0,a.jsxs)("form",{onSubmit:X(Se),className:"flex flex-col h-full",children:[(0,a.jsxs)("div",{className:"space-y-6",children:[h&&(0,a.jsx)(ye,{variant:"info",title:"Row editing unavailable",message:h}),m.map(M=>(0,a.jsx)(Zd,{column:M,displayValue:Ie(S[M.columnName]),readOnly:!f||Ba(M)},M.columnName))]}),(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2 py-6",children:[(0,a.jsxs)(I,{type:"button",variant:"destructive",size:"lg",disabled:k||!f||!E,title:h??(E?void 0:"Records in tables without a primary key can't be deleted"),onClick:ce,children:[(0,a.jsx)(js,{className:"size-4"}),"Delete"]}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)(I,{type:"button",variant:"outline",size:"lg",disabled:k,onClick:_,children:"Close"}),(0,a.jsx)(I,{type:"submit",size:"lg",disabled:k||!f||!T||z.length===0,title:h??(z.length>0?void 0:"Saving needs a primary key or an id column to address the record"),children:"Save changes"})]})]})]}),(0,a.jsx)(ma,{})]}):(0,a.jsx)("div",{className:"flex flex-col h-full",children:(0,a.jsx)("div",{className:"space-y-6",children:d?(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:"Loading row details..."}):(0,a.jsx)(ye,{variant:"info",title:"No columns found",message:"Please add at least one column to the table before viewing records."})})})}),(0,a.jsx)(jt,{open:s("tables.row-discard-changes"),onOpenChange:M=>{M||b()},children:(0,a.jsxs)(Ct,{children:[(0,a.jsxs)(wt,{children:[(0,a.jsx)(St,{children:"Discard unsaved changes?"}),(0,a.jsx)(Dt,{children:"This record has unsaved changes. Discard them and continue?"})]}),(0,a.jsxs)(bt,{children:[(0,a.jsx)(yt,{children:"Keep editing"}),(0,a.jsx)(Nt,{onClick:je,children:"Discard changes"})]})]})}),(0,a.jsx)(jt,{open:s("tables.row-change-primary-key"),onOpenChange:M=>{M||(r("tables.row-change-primary-key"),g(null))},children:(0,a.jsxs)(Ct,{children:[(0,a.jsxs)(wt,{children:[(0,a.jsx)(St,{children:"Change the primary key?"}),(0,a.jsx)(Dt,{children:"Changing the primary key changes the identity of this record. Existing references to the old key may break. Are you sure?"})]}),(0,a.jsxs)(bt,{children:[(0,a.jsx)(yt,{children:"Cancel"}),(0,a.jsx)(Nt,{onClick:()=>{r("tables.row-change-primary-key"),x&&(ge(x),g(null))},children:"Change primary key"})]})]})}),(0,a.jsx)(jt,{open:s("tables.row-delete-record"),onOpenChange:M=>{M||r("tables.row-delete-record")},children:(0,a.jsxs)(Ct,{children:[(0,a.jsxs)(wt,{children:[(0,a.jsx)(St,{children:"Delete record"}),(0,a.jsxs)(Dt,{children:['Are you sure you want to delete this record from "',e,'"? This action cannot be undone.']})]}),(0,a.jsxs)(bt,{children:[(0,a.jsx)(yt,{children:"Cancel"}),(0,a.jsx)(Nt,{variant:"destructive",onClick:()=>{Ee()},children:"Delete"})]})]})})]})},ef={"--w-rjv-font-family":"monospace","--w-rjv-color":"#6f42c1","--w-rjv-key-string":"#6f42c1","--w-rjv-background-color":"#ffffff","--w-rjv-line-color":"#ddd","--w-rjv-arrow-color":"#6e7781","--w-rjv-edit-color":"var(--w-rjv-color)","--w-rjv-info-color":"#0000004d","--w-rjv-update-color":"#ebcb8b","--w-rjv-copied-color":"#002b36","--w-rjv-copied-success-color":"#28a745","--w-rjv-curlybraces-color":"#6a737d","--w-rjv-colon-color":"#24292e","--w-rjv-brackets-color":"#6a737d","--w-rjv-quotes-color":"var(--w-rjv-key-string)","--w-rjv-quotes-string-color":"var(--w-rjv-type-string-color)","--w-rjv-type-string-color":"#032f62","--w-rjv-type-int-color":"#005cc5","--w-rjv-type-float-color":"#005cc5","--w-rjv-type-bigint-color":"#005cc5","--w-rjv-type-boolean-color":"#d73a49","--w-rjv-type-date-color":"#005cc5","--w-rjv-type-url-color":"#0969da","--w-rjv-type-null-color":"#d73a49","--w-rjv-type-nan-color":"#859900","--w-rjv-type-undefined-color":"#005cc5"};function tf({className:e,...t}){return(0,a.jsx)("nav",{"aria-label":"pagination","data-slot":"pagination",className:F("mx-auto flex w-full justify-center",e),...t})}function nf({className:e,...t}){return(0,a.jsx)("ul",{"data-slot":"pagination-content",className:F("flex flex-row items-center gap-1",e),...t})}function fs({...e}){return(0,a.jsx)("li",{"data-slot":"pagination-item",...e})}var qa=({tableName:e,variant:t="row"})=>{const[n,r]=J(K.TABLE_STATE_KEYS.LIMIT),[,s]=J(K.TABLE_STATE_KEYS.CURSOR),[,o]=J(K.TABLE_STATE_KEYS.DIRECTION),{tableData:i,prefetchPage:c}=Wn({tableName:e,schemaName:ue()}),l=i?.meta?.total??0,m=i?.data?.length??0,d=t==="document"?"documents":"rows",f=t==="document"?"Documents per page":"Rows per page",h=n??"50",p=(0,u.useRef)(null),w=g=>{const v=parseInt(g,10);if(Number.isNaN(v)||v<1)return;const b=Math.min(v,1e4).toString();r(b),s(null),o(null)},j=()=>{i?.meta?.nextCursor&&(s(i.meta.nextCursor),o("asc"))},y=()=>{i?.meta?.prevCursor&&(s(i.meta.prevCursor),o("desc"))},N=()=>{i?.meta?.prevCursor&&c(i.meta.prevCursor,"desc")},C=()=>{i?.meta?.nextCursor&&c(i.meta.nextCursor,"asc")},x=()=>{s(null),o(null)};return(0,a.jsxs)("footer",{className:"absolute bottom-0 inset-x-0 h-9 border-t border-border flex items-center justify-between bg-background px-2 text-foreground",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(Re,{className:"text-xs text-muted-foreground whitespace-nowrap",children:f}),(0,a.jsxs)("div",{className:"flex items-center h-6 rounded-sm border border-transparent hover:border-border focus-within:border-ring transition-colors",children:[(0,a.jsx)("input",{ref:p,type:"number",min:1,max:1e4,defaultValue:h,onBlur:g=>w(g.target.value),onKeyDown:g=>{g.key==="Enter"&&p.current?.blur()},className:"w-12 min-w-8 px-1 field-sizing-content supports-[field-sizing:content]:w-auto h-full bg-transparent text-xs text-center text-foreground outline-none [appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none"},h),(0,a.jsxs)(Er,{children:[(0,a.jsx)(Tr,{asChild:!0,children:(0,a.jsx)("button",{type:"button",className:"flex items-center h-full px-0.5 text-muted-foreground hover:text-foreground transition-colors focus:outline-none","aria-label":"Choose preset row count",children:(0,a.jsx)(fn,{className:"size-3"})})}),(0,a.jsx)(kr,{align:"start",className:"min-w-16 border-border",children:ci.map(g=>(0,a.jsx)(Je,{onSelect:()=>w(g.toString()),className:"text-xs justify-center",children:g},g))})]})]})]}),(0,a.jsx)("div",{className:"flex items-center justify-center text-xs text-muted-foreground",children:(0,a.jsxs)("p",{className:"whitespace-nowrap","aria-live":"polite",children:["Showing ",(0,a.jsx)("span",{className:"text-foreground font-medium",children:m})," of"," ",(0,a.jsxs)("span",{className:"text-foreground font-medium",children:[i?.meta?.totalEstimated&&"~",l]})," ",d]})}),(0,a.jsxs)("div",{className:"flex items-center gap-0.5",children:[(0,a.jsx)(I,{size:"sm",variant:"ghost",className:"size-6 disabled:opacity-30",onClick:x,disabled:!i?.meta?.hasPreviousPage||l===0,"aria-label":"Go to first page",children:(0,a.jsx)(No,{"aria-hidden":"true"})}),(0,a.jsx)(tf,{children:(0,a.jsxs)(nf,{className:"gap-0.5",children:[(0,a.jsx)(fs,{children:(0,a.jsx)(I,{size:"icon-sm",variant:"ghost",className:"size-6 disabled:opacity-30",onClick:y,onPointerEnter:N,onFocus:N,disabled:!i?.meta?.hasPreviousPage||l===0,"aria-label":"Go to previous page",children:(0,a.jsx)(Ss,{"aria-hidden":"true"})})}),(0,a.jsx)(fs,{children:(0,a.jsx)(I,{size:"icon-sm",variant:"ghost",className:"size-6 disabled:opacity-30",onClick:j,onPointerEnter:C,onFocus:C,disabled:!i?.meta?.hasNextPage||l===0,"aria-label":"Go to next page",children:(0,a.jsx)(ys,{"aria-hidden":"true"})})})]})})]})]})},rf=({tableName:e,rows:t})=>{const{isDark:n}=yi();return(0,a.jsxs)("div",{className:"flex-1 w-full flex flex-col overflow-hidden pb-9",children:[(0,a.jsx)("div",{className:"flex-1 overflow-auto bg-background p-3",children:(0,a.jsx)(xi,{value:t,keyName:e,objectSortKeys:!1,displayObjectSize:!0,displayDataTypes:!1,indentWidth:14,collapsed:1,shortenTextAfterLength:120,highlightUpdates:!1,style:n?vi:ef,enableClipboard:!0,className:"size-full"})}),(0,a.jsx)(qa,{tableName:e,variant:"document"})]})},sf=()=>{const{openOverlay:e}=xe();return(0,a.jsxs)(Er,{children:[(0,a.jsx)(Tr,{asChild:!0,children:(0,a.jsxs)(I,{type:"button",variant:"default",className:"h-8! border-l-0 border-y-0 border-r border-border rounded-none flex items-center gap-2","aria-label":"Add records to the table",children:[(0,a.jsx)(ro,{className:"size-4"}),"Add Record"]})}),(0,a.jsxs)(kr,{align:"start",className:"w-48",children:[(0,a.jsx)(Je,{onClick:()=>e("records.add-record"),children:"Add Record"}),(0,a.jsx)(Je,{onClick:()=>e("records.bulk-insert-csv"),children:"Add data from CSV"}),(0,a.jsx)(Je,{onClick:()=>e("records.bulk-insert-excel"),children:"Add data from Excel"}),(0,a.jsx)(Je,{onClick:()=>e("records.bulk-insert-json"),children:"Add data from JSON"})]})]})},af=()=>_s(()=>import("./_table-CwyP_2EP.js"),__vite__mapDeps([15,3,1,2])),Ja=Xa("/_pathlessLayout/table/$table")({component:to(af,"component")}),Br=()=>{const e=tt(),{table:t}=Ja.useParams(),n=ue(),{removeUpdates:r}=Ce(),{selectedDatabase:s}=be(),{tableCols:o}=Te({tableName:t,schemaName:n??void 0}),i=Ua(t,o),{mutateAsync:c,isPending:l}=ct({mutationFn:async d=>{if(!t)throw new Error("No table selected");const f=i.keyColumns,h={tableName:t,updates:d.map(p=>({rowData:p.rowData,columnName:p.columnName,...p.newValue===ln?{value:null,useDefault:!0}:{value:p.newValue}})),...f.length>0?{primaryKey:f[0],primaryKeys:f}:{}};return(await Rs({...h,schemaName:n,db:s})).data.data},onSuccess:async(d,f)=>{r(f),await Promise.all([e.invalidateQueries({queryKey:pe.dataByTable(t),exact:!1})])}});return{updateCell:async d=>{const f=d.length;return we.promise(c(d),{loading:"Saving changes...",success:h=>h||`${f} ${f===1?"change":"changes"} saved successfully`,error:h=>h.message||"Failed to save changes"})},isUpdatingCell:l,editScope:i}},of=()=>{const{getUpdateCount:e,clearUpdates:t}=Ce(),{isUpdatingCell:n,editScope:r}=Br(),s=(0,u.useCallback)(()=>{t(r.id)},[t,r.id]);return e(r.id)===0?null:(0,a.jsx)(I,{type:"button",variant:"secondary",className:"h-8! border-l-0 border-y-0 border-r border-border rounded-none",onClick:s,"aria-label":"Clear changes to the table",disabled:n,children:"Clear Changes"})},lf=({tableName:e})=>{const[t,n]=(0,u.useState)(""),[r,s]=(0,u.useState)(null),o=(0,u.useRef)(null),{tableCols:i}=Te({tableName:e,schemaName:ue()}),{orderedColumns:c,visibleColumns:l,toggleColumn:m,moveColumn:d,reorderColumn:f,showAllColumns:h,resetColumns:p}=$a({tableName:e,tableCols:i}),w=(0,u.useMemo)(()=>{const v=t.trim().toLowerCase();return v?c.filter(b=>b.toLowerCase().includes(v)):c},[c,t]),j=r?.order??w,y=()=>{if(!r)return;const v=r.order.indexOf(r.name);v>0?f(r.name,r.order[v-1],"after"):r.order.length>1&&f(r.name,r.order[1],"before")},N=(0,u.useMemo)(()=>new Set(l),[l]),C=i?.length??0,x=C-l.length,g=x>0||c.some((v,b)=>(i??[])[b]?.columnName!==v);return(0,a.jsxs)(_t,{children:[(0,a.jsx)(Vt,{asChild:!0,children:(0,a.jsx)(I,{type:"button",variant:"ghost",className:F("size-8! aspect-square border-l-0 border-y-0 border-r border-border rounded-none text-muted-foreground hover:text-foreground hover:bg-muted/60 transition-colors",g&&"text-foreground"),"aria-label":"Manage columns","data-active":g,children:(0,a.jsx)(vo,{className:"size-4"})})}),(0,a.jsxs)(nt,{align:"start",className:"w-72 gap-0 p-0",onOpenAutoFocus:v=>{v.preventDefault(),o.current?.focus()},children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 p-2",children:[(0,a.jsxs)("div",{className:"relative flex-1",children:[(0,a.jsx)(So,{className:"absolute left-2 top-1/2 -translate-y-1/2 size-3.5 text-muted-foreground pointer-events-none"}),(0,a.jsx)("input",{ref:o,type:"text",placeholder:"Search columns...",value:t,onChange:v=>n(v.target.value),className:"w-full h-8 pl-7 pr-2 text-sm bg-transparent rounded-md border border-border focus:outline-none focus:ring-1 focus:ring-ring","aria-label":"Search columns"})]}),(0,a.jsxs)("span",{className:"text-xs text-muted-foreground tabular-nums whitespace-nowrap",title:`${l.length} of ${C} columns shown`,children:[l.length,"/",C]})]}),(0,a.jsx)(Vr,{className:"my-0"}),(0,a.jsxs)("div",{className:"max-h-72 overflow-y-auto py-1",role:"list","aria-label":"Database columns",onDragOver:v=>{r&&(v.preventDefault(),v.dataTransfer.dropEffect="move")},onDrop:v=>{v.preventDefault(),y()},children:[j.map((v,b)=>{const D=N.has(v);return(0,a.jsxs)("div",{role:"listitem",draggable:!0,onDragStart:S=>{S.dataTransfer.effectAllowed="move",S.dataTransfer.setData("text/plain",v),s({name:v,order:w})},onDragEnter:()=>s(S=>S&&S.name!==v?{...S,order:wr(S.order,S.name,v)}:S),onDragEnd:()=>s(null),className:F("group flex items-center gap-1.5 px-2 py-1 rounded-md",r?.name===v&&"bg-muted text-muted-foreground"),children:[(0,a.jsx)("span",{role:"button",tabIndex:0,"aria-label":`Reorder ${v}`,"aria-roledescription":"sortable",title:"Drag, or focus and press ArrowUp or ArrowDown to move",className:"cursor-grab active:cursor-grabbing text-muted-foreground/70 hover:text-muted-foreground focus-visible:outline focus-visible:outline-1 focus-visible:outline-ring rounded-sm",onKeyDown:S=>{S.key==="ArrowUp"?(S.preventDefault(),S.stopPropagation(),d(v,-1,w)):S.key==="ArrowDown"&&(S.preventDefault(),S.stopPropagation(),d(v,1,w))},children:(0,a.jsx)(go,{className:"size-4"})}),(0,a.jsx)(Mn,{checked:D,onCheckedChange:()=>m(v),"aria-label":`Show ${v}`}),(0,a.jsx)("span",{className:"text-sm flex-1 cursor-pointer select-none truncate",onClick:()=>m(v),children:v}),(0,a.jsxs)("span",{className:"flex flex-col opacity-0 group-hover:opacity-100 focus-within:opacity-100",children:[(0,a.jsx)("button",{type:"button",tabIndex:0,disabled:b===0,"aria-label":`Move ${v} up`,className:"text-muted-foreground/70 hover:text-foreground disabled:opacity-30 disabled:pointer-events-none",onClick:()=>d(v,-1,w),children:(0,a.jsx)(Sr,{className:"size-3.5"})}),(0,a.jsx)("button",{type:"button",tabIndex:0,disabled:b===j.length-1,"aria-label":`Move ${v} down`,className:"text-muted-foreground/70 hover:text-foreground disabled:opacity-30 disabled:pointer-events-none",onClick:()=>d(v,1,w),children:(0,a.jsx)(fn,{className:"size-3.5"})})]})]},v)}),w.length===0&&(0,a.jsxs)("p",{className:"text-sm text-muted-foreground text-center py-4 px-2",children:['No columns match "',t,'"']})]}),(0,a.jsx)(Vr,{className:"my-0"}),(0,a.jsxs)("div",{className:"p-2 flex gap-2",children:[(0,a.jsxs)(I,{variant:"outline",size:"sm",className:"flex-1 text-xs",disabled:x===0,onClick:h,children:[(0,a.jsx)(so,{className:"size-3.5"}),"Show all"]}),(0,a.jsxs)(I,{variant:"outline",size:"sm",className:"flex-1 text-xs",disabled:!g,onClick:p,children:[(0,a.jsx)(po,{className:"size-3.5"}),"Reset"]})]})]})]})},cf=({isOpenFkDialog:e,handleDialogClose:t,relatedRecords:n,handleCancelForceDelete:r,handleForceDelete:s,isDeletingCells:o})=>(0,a.jsx)(Uo,{open:e,onOpenChange:t,children:(0,a.jsxs)(Bo,{className:"max-w-2xl z-500",children:[(0,a.jsxs)(Ko,{children:[(0,a.jsx)(Ho,{children:"Cannot Delete - Foreign Key Constraint"}),(0,a.jsx)(Vo,{children:"The selected records cannot be deleted because they are referenced by records in other tables. You can either cancel the operation or force delete, which will also delete all related records."})]}),(0,a.jsx)(uf,{relatedRecords:n}),(0,a.jsxs)(Zo,{className:"gap-2",children:[(0,a.jsx)(I,{variant:"outline",onClick:r,disabled:o,children:"Cancel"}),(0,a.jsx)(I,{variant:"destructive",onClick:s,disabled:o,children:o?"Deleting...":"Force Delete All"})]})]})}),uf=({relatedRecords:e})=>(0,a.jsx)("div",{className:"space-y-4 max-h-64 overflow-y-auto",children:e.map((t,n)=>(0,a.jsxs)("div",{className:"border border-border rounded-md p-3",children:[(0,a.jsxs)("div",{className:"font-medium text-sm mb-2",children:["Table: ",(0,a.jsx)("span",{className:"text-primary",children:t.tableName}),(0,a.jsxs)("span",{className:"text-muted-foreground ml-2",children:["(",t.records.length," record",t.records.length!==1?"s":"",")"]})]}),(0,a.jsxs)("div",{className:"text-xs text-muted-foreground mb-2",children:["References column: ",t.columnName]}),(0,a.jsx)("div",{className:"bg-muted rounded p-2 text-xs overflow-x-auto",children:(0,a.jsxs)("pre",{className:"whitespace-pre-wrap",children:[JSON.stringify(t.records.slice(0,5),null,2),t.records.length>5&&(0,a.jsxs)("div",{className:"text-muted-foreground mt-2",children:["... and ",t.records.length-5," more"]})]})})]},`${t.tableName}-${t.columnName}-${n}`))}),df=({selectedRows:e,setRowSelection:t,tableName:n,disabledReason:r})=>{const{deleteCells:s,forceDeleteCells:o,isDeletingCells:i,resetDeleteResult:c}=Ha({tableName:n,schemaName:ue()}),[l,m]=(0,u.useState)([]),[d,f]=(0,u.useState)(!1),[h,p]=(0,u.useState)(!1),[w,j]=(0,u.useState)([]),y=(0,u.useCallback)(()=>{r||p(!0)},[r]),N=(0,u.useCallback)(async()=>{if(r)return;const v=e.map(b=>b.original);p(!1);try{await s(v),t({})}catch{m(v),j([]),f(!0)}},[r,s,e,t]),C=async()=>{r||l.length===0||(await o(l))?.deletedCount>0&&(f(!1),m([]),j([]),c(),t({}))},x=(0,u.useCallback)(()=>{f(!1),m([]),j([]),c()},[c]),g=v=>{i||(v?f(v):x())};return e?.length===0?null:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(I,{type:"button",variant:"destructive",className:"h-8! border-l-0 border-y-0 border-r border-border text-white rounded-none",onClick:y,"aria-label":"Delete the selected record",disabled:i||!!r,title:r,children:["Delete Record",e?.length>1&&(0,a.jsx)("span",{className:"ml-1.5 px-1.5 text-[10px] bg-white/20 border border-white/20 rounded",children:e?.length})]}),(0,a.jsx)(jt,{open:h,onOpenChange:p,children:(0,a.jsxs)(Ct,{children:[(0,a.jsxs)(wt,{children:[(0,a.jsxs)(St,{children:["Delete ",e.length===1?"Record":"Records"]}),(0,a.jsxs)(Dt,{children:["Are you sure you want to delete"," ",e.length===1?"this record":`${e.length} records`," ",'from "',n,'"? This action cannot be undone.']})]}),(0,a.jsxs)(bt,{children:[(0,a.jsx)(yt,{children:"Cancel"}),(0,a.jsx)(Nt,{variant:"destructive",onClick:N,children:"Delete"})]})]})}),(0,a.jsx)(cf,{isOpenFkDialog:d,handleDialogClose:g,relatedRecords:w,handleCancelForceDelete:x,handleForceDelete:C,isDeletingCells:i})]})},ff=({tableName:e})=>{const[t,n]=J(K.TABLE_STATE_KEYS.FILTERS,Yt(x=>x).withDefault([]).withOptions({history:"push"})),[,r]=J(K.TABLE_STATE_KEYS.CURSOR),[,s]=J(K.TABLE_STATE_KEYS.DIRECTION),{tableCols:o}=Te({tableName:e,schemaName:ue()}),[i,c]=(0,u.useState)(!1),[l,m]=(0,u.useState)([]),d=()=>{const x=o?.[0]?.columnName??"";m(g=>[...g,{columnName:x,operator:"=",value:""}])},f=x=>{m(l.filter((g,v)=>v!==x))},h=(x,g)=>{m(l.map((v,b)=>b===x?{...v,columnName:g}:v))},p=(x,g)=>{m(l.map((v,b)=>b===x?{...v,value:g}:v))},w=(x,g)=>{m(l.map((v,b)=>b===x?{...v,operator:g}:v))},j=()=>{m([]),n([]),r(null),s(null),c(!1)},y=()=>{const x=l.filter(g=>g.columnName&&g.operator&&g.value!=="");n(x),r(null),s(null),c(!1)},N=t.length>0,C=x=>{x&&m(t),c(x)};return(0,a.jsxs)(_t,{open:i,onOpenChange:C,children:[(0,a.jsx)(Vt,{asChild:!0,children:(0,a.jsx)(I,{type:"button",variant:"ghost",className:"size-8! aspect-square border-l-0 border-y-0 border-r border-border rounded-none text-muted-foreground hover:text-foreground hover:bg-muted/60 transition-colors","aria-label":"Filter table data","data-active":N,children:(0,a.jsx)(Cs,{className:"size-4"})})}),(0,a.jsxs)(nt,{className:"w-md space-y-2",align:"start",children:[(0,a.jsx)("div",{className:"flex items-center gap-4",children:(0,a.jsxs)(I,{variant:"outline",size:"lg",className:"text-sm",onClick:d,children:["Add filter",l&&l.length>0&&(0,a.jsx)(_e,{className:"text-xs font-normal text-primary bg-primary/10 border border-primary/30 px-1.5 py-0.5",children:l.length})]})}),(0,a.jsx)("div",{className:"flex flex-col gap-4",children:l.length>0?l.map((x,g)=>(0,a.jsxs)("div",{className:"flex-1 flex h-9 gap-2",children:[(0,a.jsxs)(Ve,{value:x.columnName,onValueChange:v=>h(g,v),children:[(0,a.jsx)(Be,{className:"w-full flex-1",children:(0,a.jsx)($e,{placeholder:"Select column"})}),(0,a.jsx)(Ke,{children:o?.map(v=>(0,a.jsx)(Q,{value:v.columnName,children:v.columnName},v.columnName))})]}),(0,a.jsxs)(Ve,{value:x.operator,onValueChange:v=>w(g,v),children:[(0,a.jsx)(Be,{children:(0,a.jsx)($e,{placeholder:"Op"})}),(0,a.jsxs)(Ke,{children:[(0,a.jsx)(Q,{value:"=",children:"="}),(0,a.jsx)(Q,{value:"!=",children:"!="}),(0,a.jsx)(Q,{value:">",children:">"}),(0,a.jsx)(Q,{value:">=",children:">="}),(0,a.jsx)(Q,{value:"<",children:"<"}),(0,a.jsx)(Q,{value:"<=",children:"<="}),(0,a.jsx)(Q,{value:"is",children:"is"}),(0,a.jsx)(Q,{value:"is not",children:"is not"}),(0,a.jsx)(Q,{value:"like",children:"like"}),(0,a.jsx)(Q,{value:"not like",children:"not like"}),(0,a.jsx)(Q,{value:"ilike",children:"ilike"}),(0,a.jsx)(Q,{value:"not ilike",children:"not ilike"})]})]}),(0,a.jsx)(Oe,{type:"text",placeholder:"Value",value:x.value,onChange:v=>p(g,v.target.value)}),(0,a.jsx)(I,{variant:"ghost",size:"icon",className:"text-xs",onClick:()=>f(g),children:(0,a.jsx)(An,{className:"size-4"})})]},`${x.columnName}-${g}`)):(0,a.jsx)("div",{className:"flex-1 flex h-9 gap-2 items-center justify-center",children:(0,a.jsx)("p",{className:"text-sm text-muted-foreground text-center",children:"No filters applied"})})}),(0,a.jsxs)("div",{className:"gap-2 flex justify-end",children:[(0,a.jsx)(I,{variant:"outline",size:"lg",className:"text-sm",onClick:j,children:"Reset"}),(0,a.jsx)(I,{variant:"default",size:"lg",className:"text-sm",onClick:y,children:"Apply"})]})]})]})},mf=({tableName:e})=>{const{isLive:t,status:n,isPulsing:r,setLive:s}=Ze(),o=(0,u.useCallback)(()=>{s(!t,e)},[t,e,s]);let i="Live mode: Automatic updates (Off)";return n==="paused"?i="Live mode paused while editing. Click to resume.":t&&n==="healthy"?i="Live mode: Active":t&&n==="disconnected"&&(i="Live mode: Disconnected. Attempting to reconnect..."),(0,a.jsxs)(at,{children:[(0,a.jsx)(ot,{asChild:!0,children:(0,a.jsxs)(I,{type:"button",variant:"ghost",onClick:o,"aria-label":"Toggle Live mode","aria-pressed":t,"data-active":t,className:F("h-8! px-2.5 border-l-0 border-y-0 border-r border-border rounded-none text-xs font-medium gap-1.5 flex items-center text-muted-foreground hover:text-foreground hover:bg-muted/60 transition-colors",t&&"text-foreground"),children:[(0,a.jsxs)("span",{className:"relative flex size-2 items-center justify-center",children:[t&&n==="healthy"&&r&&(0,a.jsx)("span",{"data-testid":"live-pulse-indicator",className:"absolute inline-flex size-3.5 rounded-full bg-emerald-400 opacity-75 animate-ping"}),(0,a.jsx)("span",{"data-testid":"live-status-dot",className:F("relative inline-flex size-2 rounded-full transition-colors",{"bg-emerald-500":t&&n==="healthy","bg-amber-500":t&&n==="disconnected","bg-amber-400":!t&&n==="paused","bg-muted-foreground/40":!t&&n!=="paused"})})]}),(0,a.jsx)("span",{children:"Live"}),n==="paused"&&(0,a.jsx)("span",{className:"text-[10px] text-amber-500 font-normal",children:"(Paused)"})]})}),(0,a.jsx)(it,{side:"bottom",children:i})]})},hf=({tableName:e})=>{const t=ue(),{refetchTableData:n,isRefetchingTableData:r}=Wn({tableName:e,schemaName:t}),{refetchTableCols:s,isRefetchingTableCols:o}=Te({tableName:e,schemaName:t}),i=(0,u.useCallback)(()=>{Promise.all([n(),s()])},[n,s]);return(0,a.jsx)(I,{type:"button",variant:"ghost",className:"size-8! aspect-square border-l-0 border-y-0 border-r border-border rounded-none text-muted-foreground hover:text-foreground hover:bg-muted/60 transition-colors",onClick:i,"aria-label":"Refetch table data and columns",disabled:r||o,children:(0,a.jsx)(bs,{className:"size-4"})})},pf=typeof navigator<"u"&&/Mac|iPhone|iPad/.test(navigator.platform),ms=({value:e,added:t})=>{const n=Ie(e),r=e==null?"NULL":n===""?"EMPTY":null;return(0,a.jsxs)(t?"ins":"del",{className:F("flex min-w-0 gap-1.5 px-1.5 no-underline",t?"bg-emerald-500/10 text-emerald-700 dark:text-emerald-300":"bg-red-500/10 text-red-700 dark:text-red-300"),title:r??n,children:[(0,a.jsx)("span",{"aria-hidden":!0,className:"select-none opacity-60",children:t?"+":"-"}),(0,a.jsx)("span",{className:F("truncate",r&&"text-[0.625rem]"),children:r??n})]})},gf=()=>{const{getUpdates:e,clearUpdate:t,undo:n}=Ce(),{isUpdatingCell:r,editScope:s}=Br(),[o,i]=(0,u.useState)(!1),c=e(s.id);if((0,u.useEffect)(()=>{const d=f=>{if(f.key.toLowerCase()!=="z"||!(f.metaKey||f.ctrlKey)||f.shiftKey||f.altKey||r||f.target instanceof Element&&f.target.closest("input, textarea, select, [contenteditable='true']"))return;const h=n(s.id);h!==0&&(f.preventDefault(),we(`Undid ${h} ${h===1?"change":"changes"}`))};return window.addEventListener("keydown",d),()=>window.removeEventListener("keydown",d)},[n,s.id,r]),c.length===0)return null;const l=new Map;for(const d of c){const f=et(xr(d.rowData,s));l.set(f,[...l.get(f)??[],d])}const m=(d,f)=>{const h=s.keyColumns.length>0?s.keyColumns:["id","_id"].filter(p=>p in d).slice(0,1);return h.length>0?h.map(p=>`${p} = ${Ie(d[p])}`).join(", "):`Row ${f+1}`};return(0,a.jsxs)(_t,{open:o,onOpenChange:i,children:[(0,a.jsx)(Vt,{asChild:!0,children:(0,a.jsx)(I,{type:"button",variant:"ghost",className:"h-8! border-l-0 border-y-0 border-r border-border rounded-none","aria-label":"Review unsaved changes",children:"Review"})}),(0,a.jsxs)(nt,{align:"start",className:"w-[28rem] gap-0 overflow-hidden rounded-sm p-0",children:[(0,a.jsxs)("div",{className:"flex h-8 items-center justify-between border-b px-3 text-muted-foreground",children:[(0,a.jsxs)("span",{children:[(0,a.jsx)("span",{className:"text-foreground",children:c.length})," ",c.length===1?"change":"changes"," in"," ",(0,a.jsx)("span",{className:"text-foreground",children:l.size})," ",l.size===1?"row":"rows"]}),(0,a.jsxs)("span",{className:"flex items-center gap-1.5 text-[0.625rem]",children:[(0,a.jsx)(_e,{children:pf?"⌘Z":"Ctrl+Z"}),"undo last"]})]}),(0,a.jsx)("div",{className:"max-h-96 overflow-auto font-mono",children:[...l.values()].map((d,f)=>(0,a.jsxs)("section",{children:[(0,a.jsx)("h3",{className:"sticky top-0 z-10 flex min-h-6 items-center py-1 border-b bg-popover px-3 text-[0.625rem] text-muted-foreground",children:m(d[0].rowData,f)}),(0,a.jsx)("ul",{className:"divide-y",children:d.map(h=>(0,a.jsxs)("li",{className:"group/change grid grid-cols-[7rem_minmax(0,1fr)_auto] items-start gap-x-2 py-1.5 pr-1.5 pl-3",children:[(0,a.jsx)("span",{className:"truncate pt-px text-foreground",title:h.columnName,children:h.columnName}),(0,a.jsxs)("div",{className:"grid gap-px",children:[(0,a.jsx)(ms,{value:h.originalValue,added:!1}),(0,a.jsx)(ms,{value:h.newValue,added:!0})]}),(0,a.jsx)(I,{type:"button",variant:"ghost",size:"icon-sm",className:"self-center pointer-fine:opacity-0 pointer-fine:group-hover/change:opacity-100 pointer-fine:focus-visible:opacity-100",onClick:()=>t(h.rowData,h.columnName,s),disabled:r,"aria-label":`Revert ${h.columnName}`,title:"Revert to the original value",children:(0,a.jsx)(xo,{})})]},h.columnName))})]},et(xr(d[0].rowData,s))))})]})]})},xf=({setRowSelection:e,disabledReason:t})=>{const{getUpdates:n,getUpdateCount:r}=Ce(),{updateCell:s,isUpdatingCell:o,editScope:i}=Br(),c=(0,u.useCallback)(async()=>{if(t)return;const m=n(i.id);if(m.length!==0)try{await s(m),e({})}catch(d){console.error("Failed to save updates:",d)}},[t,n,i.id,s,e]),l=r(i.id);return l===0?null:(0,a.jsxs)(I,{type:"button",variant:"default",className:"h-8! border-l-0 border-y-0 border-r border-border rounded-none bg-green-700 text-white hover:bg-green-800",onClick:c,"aria-label":"Save changes to the table",disabled:o||!!t,title:t,children:["Save Changes",l>0&&(0,a.jsx)("span",{className:"ml-1.5 px-1.5 text-[10px] bg-white/20 border border-white/20 rounded",children:l})]})},Ga=({selectedRows:e,setRowSelection:t,tableName:n})=>{const r=Os(),s=Ut()?.liveMode??!1,{rowMutationReason:o}=$r();return(0,a.jsx)("header",{className:"max-h-8 overflow-hidden border-b border-border w-full flex items-center justify-between bg-background sticky top-0 left-0 right-0 z-0",children:(0,a.jsxs)("div",{className:"flex items-center ",children:[(0,a.jsx)(hf,{tableName:n}),s&&(0,a.jsx)(mf,{tableName:n}),!r&&(0,a.jsx)(ff,{tableName:n}),(0,a.jsx)(lf,{tableName:n}),(0,a.jsx)(sf,{}),(0,a.jsx)(xf,{setRowSelection:t,disabledReason:o}),(0,a.jsx)(gf,{}),(0,a.jsx)(of,{}),(0,a.jsx)(df,{tableName:n,selectedRows:e,setRowSelection:t,disabledReason:o})]})})},vf=({tableName:e,selectedRows:t,setRowSelection:n})=>(0,a.jsxs)("div",{className:"size-full flex flex-col items-center justify-center",children:[(0,a.jsx)(Ga,{selectedRows:t,setRowSelection:n,tableName:e}),(0,a.jsxs)("div",{className:"text-sm text-muted-foreground flex-1 flex items-center justify-center",children:['No data available for "',e,'" table']})]}),yf=({tableName:e,errorTableData:t,errorTableCols:n})=>{const r=t||n,s=r?.message||"",o=s.includes("does not exist")||s.includes("404")||r?.status===404,i=s.includes("Network Error")||s.includes("Failed to fetch");let c="Something went wrong",l=s||"An unexpected error occurred";return o?(c="Table not found",l=s||`The table "${e}" does not exist or has been deleted`):i&&(c="Connection failed",l="Unable to connect to the database server. Please check your connection."),(0,a.jsx)("div",{className:"size-full flex flex-col items-center justify-center",children:(0,a.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center gap-2",children:[(0,a.jsx)("div",{className:"text-sm font-medium",children:c}),(0,a.jsx)("div",{className:"text-sm text-muted-foreground",children:l})]})})},bf=e=>/[\t\n\r"]/.test(e)?`"${e.replaceAll('"','""')}"`:e,wf=e=>e.map(t=>t.map(bf).join(" ")).join(`
14
+ `),Cf=e=>{const t=[];let n=[],r=0;const s=e.replace(/\r?\n$/,"");for(;r<=s.length;){let o="";if(s[r]==='"')if(s.indexOf('"',r+1)===-1)o=s.slice(r),r=s.length;else for(r++;r<s.length;r++)if(s[r]==='"'&&s[r+1]==='"')o+='"',r++;else if(s[r]==='"'){r++;break}else o+=s[r];for(;r<s.length&&s[r]!==" "&&s[r]!==`
15
+ `&&s[r]!=="\r";)o+=s[r++];if(n.push(o),s[r]===" "){r++;continue}t.push(n),n=[],r+=s[r]==="\r"&&s[r+1]===`
16
+ `?2:1}return t},jf=new Set(["int","bigint","smallint","tinyint","mediumint"]),Sf=new Set(["date","timestamp","timestamptz","datetime"]),Nf={true:!0,t:!0,yes:!0,1:!0,false:!1,f:!1,no:!1,0:!1},Df=(e,t)=>{if(e==="")return t.isNullable?{value:null}:t.variant==="text"||!t.variant?{value:""}:{error:"Required"};switch(t.variant){case"number":{const n=Number(e.trim());return e.trim()===""||!Number.isFinite(n)?{error:"Not a number"}:jf.has(t.dataTypeLabel??"")&&!Number.isSafeInteger(n)?{error:Number.isInteger(n)?"Too large to paste exactly":"Not a whole number"}:{value:n}}case"boolean":{const n=Nf[e.trim().toLowerCase()];return n===void 0?{error:"Not true or false"}:{value:n}}case"enum":return t.enumValues?.includes(e)?{value:e}:{error:`Not one of ${t.enumValues?.join(", ")}`};case"json":try{return{value:JSON.parse(e)}}catch{return{error:"Invalid JSON"}}case"date":return Sf.has(t.dataTypeLabel??"")&&Number.isNaN(Date.parse(e))?{error:"Not a date"}:{value:e};default:return{value:e}}},hs=(e,t)=>`${e} ${t}${e===1?"":"s"}`,kf=e=>{const{getUpdate:t,setUpdates:n}=Ce(),[r,s]=(0,u.useState)(null),o=e.options.meta,i=f=>{const h=o?.selection??(o?.focusedCell&&{anchor:o.focusedCell,focus:o.focusedCell});if(!h||o?.editingCell||!f.target.closest('[data-slot="grid-cell-wrapper"]'))return null;const p=e.getVisibleLeafColumns().filter(N=>N.id!=="select"),w=N=>p.findIndex(C=>C.id===N),[j,y]=[w(h.anchor.columnId),w(h.focus.columnId)];return j<0||y<0?null:{columns:p,rows:e.getRowModel().rows,top:Math.min(h.anchor.rowIndex,h.focus.rowIndex),bottom:Math.max(h.anchor.rowIndex,h.focus.rowIndex),left:Math.min(j,y),right:Math.max(j,y)}},c=(f,h)=>{const p=t(f,h,o?.editScope);return p?p.newValue:f[h]},l=f=>n(f.map(({rowData:h,columnId:p,value:w})=>({rowData:h,columnName:p,newValue:w,originalValue:h[p]})),o?.editScope);return{onCopy:f=>{const h=i(f);if(!h)return;const p=h.columns.slice(h.left,h.right+1),w=[p.map(j=>j.id),...h.rows.slice(h.top,h.bottom+1).map(j=>p.map(y=>Ie(c(j.original,y.id))))];f.clipboardData.setData("text/plain",wf(w)),f.preventDefault()},onPaste:f=>{const h=i(f),p=f.clipboardData.getData("text/plain");if(!h||!p)return;if(f.preventDefault(),o?.canMutateRows===!1){we.error(o.rowMutationReason??"This table can't be edited");return}const w=h.columns.slice(h.left);let j=Cf(p);j.length>1&&j[0].every((C,x)=>C===w[x]?.id)&&(j=j.slice(1));const y={changes:[],problems:[],skipped:0};if(j.forEach((C,x)=>{const g=h.rows[h.top+x];C.forEach((v,b)=>{const D=w[b];if(!g||!D){y.skipped++;return}if(Ie(c(g.original,D.id))===v)return;const S=Df(v,D.columnDef.meta??{});"error"in S?y.problems.push({rowNumber:h.top+x+1,columnId:D.id,text:v,error:S.error}):y.changes.push({rowData:g.original,columnId:D.id,value:S.value})})}),y.problems.length>0){s(y);return}l(y.changes);const N=y.skipped>0?`; ${hs(y.skipped,"cell")} outside the grid skipped`:"";we.success(`${hs(y.changes.length,"change")} staged${N}`)},preview:r,stagePreview:()=>{r&&l(r.changes),s(null)},closePreview:()=>s(null)}},Tf=({preview:e,onStage:t,onClose:n})=>{const r=e?.problems??[],s=e?.changes.length??0;return(0,a.jsx)(jt,{open:e!==null,onOpenChange:o=>{o||n()},children:(0,a.jsxs)(Ct,{className:"gap-0 overflow-hidden rounded-sm p-0 data-[size=default]:sm:max-w-lg",children:[(0,a.jsxs)(wt,{className:"gap-1 border-b px-4 py-3",children:[(0,a.jsxs)(St,{children:[r.length," pasted ",r.length===1?"value doesn't":"values don't"," ","fit"]}),(0,a.jsxs)(Dt,{children:["These cells keep their current values. Nothing is saved until you press Save.",e?.skipped?` ${e.skipped} cells past the grid's edge are skipped.`:""]})]}),(0,a.jsx)("div",{className:"max-h-64 overflow-auto",children:(0,a.jsxs)("table",{className:"w-full table-fixed font-mono text-xs",children:[(0,a.jsx)("thead",{className:"sticky top-0 bg-background text-left text-[0.625rem] text-muted-foreground",children:(0,a.jsxs)("tr",{className:"h-7 border-b",children:[(0,a.jsx)("th",{className:"w-12 px-3 text-right font-normal sm:w-14 sm:px-4",children:"Row"}),(0,a.jsx)("th",{className:"w-20 px-2 font-normal sm:w-28",children:"Column"}),(0,a.jsx)("th",{className:"w-24 px-2 font-normal sm:w-36",children:"Value"}),(0,a.jsx)("th",{className:"px-2 pr-4 font-normal",children:"Problem"})]})}),(0,a.jsx)("tbody",{className:"divide-y",children:r.map(o=>(0,a.jsxs)("tr",{className:"h-8 whitespace-nowrap",children:[(0,a.jsx)("td",{className:"px-3 text-right tabular-nums text-muted-foreground sm:px-4",children:o.rowNumber}),(0,a.jsx)("td",{className:"truncate px-2",title:o.columnId,children:o.columnId}),(0,a.jsx)("td",{className:"truncate px-2",title:o.text,children:o.text?(0,a.jsx)("span",{className:"underline decoration-destructive/70 decoration-wavy underline-offset-4",children:o.text}):(0,a.jsx)("span",{className:"text-[0.625rem] text-muted-foreground/70",children:"EMPTY"})}),(0,a.jsx)("td",{className:"whitespace-normal break-words px-2 py-1.5 pr-4 text-destructive",children:o.error})]},`${o.rowNumber}:${o.columnId}`))})]})}),(0,a.jsxs)(bt,{className:"border-t bg-muted/30 px-4 py-2.5",children:[(0,a.jsx)(yt,{children:"Cancel paste"}),(0,a.jsxs)(Nt,{disabled:s===0,onClick:t,children:["Stage ",s," ",s===1?"change":"changes"]})]})]})})},Ef=(0,u.memo)(function({row:t,tableMeta:n,virtualColumns:r,virtualPaddingLeft:s,virtualPaddingRight:o,virtualRow:i,isMenuOpen:c}){const l=t.getVisibleCells(),{highlightedRowIds:m}=Ze(),d=m.has(t.id);return(0,a.jsxs)("tr",{"data-index":i.index,"data-state":c?"open":void 0,className:F("group/row flex absolute w-fit border-b items-center justify-between text-sm hover:bg-accent/20 data-[state=open]:bg-accent/40 [&_svg]:size-4",d&&"bg-emerald-500/15 dark:bg-emerald-500/20 transition-colors duration-1000 ease-in-out"),style:{transform:`translateY(${i.start}px)`},children:[s?(0,a.jsx)("td",{style:{display:"flex",width:s}}):null,r.map(f=>{const h=l[f.index];return(0,a.jsxs)("td",{className:"group relative flex border-r border-border h-8",style:{width:f.index===0?"64px":h.column.getSize()},children:[un(h.column.columnDef.cell,h.getContext()),f.index===0?(0,a.jsx)("button",{type:"button",className:"absolute right-1 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/row:opacity-100",onClick:()=>n?.onRowDetailsOpen?.(i.index),"aria-label":"Open row details",title:"Open row details (Space)",children:(0,a.jsx)(co,{className:"size-3.5!"})}):(0,a.jsx)(Ms,{value:h.getValue()})]},h.id)}),o?(0,a.jsx)("td",{style:{display:"flex",width:o}}):null]},t.id)});function Of({...e}){return(0,a.jsx)(Lo,{"data-slot":"context-menu",...e})}function Mf({className:e,...t}){return(0,a.jsx)(Mo,{"data-slot":"context-menu-trigger",className:F("select-none",e),...t})}function Rf({className:e,...t}){return(0,a.jsx)(Fo,{children:(0,a.jsx)(zo,{"data-slot":"context-menu-content",className:F("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",e),...t})})}function fr({className:e,inset:t,variant:n="default",...r}){return(0,a.jsx)(Eo,{"data-slot":"context-menu-item","data-inset":t,"data-variant":n,className:F("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",e),...r})}function Em({className:e,...t}){return(0,a.jsx)(Oo,{"data-slot":"context-menu-separator",className:F("bg-border/50 -mx-1 my-1 h-px",e),...t})}var mr=(e,{quote:t})=>{const n=t==="["?"]":t;return`${t}${e.replaceAll(n,n+n)}${n}`},_f=(e,t)=>{if(e==null)return"NULL";if(typeof e=="boolean")return t.booleanKeywords?e?"TRUE":"FALSE":e?"1":"0";if(typeof e=="number")return String(e);let n=typeof e=="object"?JSON.stringify(e):String(e);return t.backslashEscapes&&(n=n.replaceAll("\\","\\\\")),`${t.unicodePrefix?"N":""}'${n.replaceAll("'","''")}'`},Af=({tableName:e,schemaName:t,row:n,dialect:r})=>{const s=`${t?`${mr(t,r)}.`:""}${mr(e,r)}`,o=Object.keys(n);return`INSERT INTO ${s} (${o.map(i=>mr(i,r)).join(", ")}) VALUES (${o.map(i=>_f(n[i],r)).join(", ")});`},Pf=(e,t)=>{const n=t.filter(s=>s.isPrimaryKey).length===1,r=new Set(t.filter(s=>Ba(s)||s.isPrimaryKey&&n).map(s=>s.columnName));return Object.fromEntries(Object.entries(On(e,t)).filter(([s])=>!r.has(s)&&e[s]!==null&&e[s]!==void 0))},ps=(e,t)=>we.promise(Va(e),{success:t,error:"Could not write to the clipboard"}),Ff=({table:e,tableName:t,row:n,onOpenChange:r,children:s})=>{const o=ue(),{tableCols:i}=Te({tableName:t,schemaName:o}),c=Ut()?.sqlInsert,{openOverlay:l}=xe();return(0,a.jsxs)(Of,{onOpenChange:r,children:[(0,a.jsx)(Mf,{asChild:!0,children:s}),n?(0,a.jsxs)(Rf,{children:[(0,a.jsxs)(fr,{onClick:()=>ps(JSON.stringify(n,null,2),"Row copied as JSON"),children:[(0,a.jsx)(bo,{className:"size-4"}),"Copy row as JSON"]}),c?(0,a.jsxs)(fr,{onClick:()=>ps(Af({tableName:t,schemaName:o,row:n,dialect:c}),"Row copied as SQL INSERT"),children:[(0,a.jsx)(Co,{className:"size-4"}),"Copy as SQL INSERT"]}):null,(0,a.jsxs)(fr,{disabled:!e.options.meta?.canMutateRows||!i,onClick:()=>{i&&(fa.getState().setPrefill(Pf(n,i)),l("records.add-record"))},children:[(0,a.jsx)(yo,{className:"size-4"}),"Duplicate row"]})]}):null]})},If=33,Wf=({columnVirtualizer:e,table:t,tableName:n,tableContainerRef:r,virtualPaddingLeft:s,virtualPaddingRight:o})=>{const{rows:i}=t.getRowModel(),c=vs({count:i.length,estimateSize:()=>If,getScrollElement:()=>r.current,overscan:5}),l=c.getVirtualItems(),m=e.getVirtualItems(),[d,f]=(0,u.useState)();return(0,a.jsx)(Ff,{table:t,tableName:n,row:d===void 0?void 0:i[d]?.original,onOpenChange:h=>{h||f(void 0)},children:(0,a.jsx)("tbody",{onContextMenu:h=>{const p=h.target.closest("tr")?.dataset.index;f(p===void 0?void 0:Number(p))},style:{display:"grid",height:`${c.getTotalSize()}px`,position:"relative"},children:l.map(h=>{const p=i[h.index];return(0,a.jsx)(Ef,{row:p,tableState:t.getState(),tableMeta:t.options.meta,virtualColumns:m,virtualPaddingLeft:s,virtualPaddingRight:o,virtualRow:h,isMenuOpen:h.index===d},p.id)})})})},zf=(0,u.memo)(Lf,(e,t)=>{const n=e.header.column,r=t.header.column;return!(n.getIsResizing()!==r.getIsResizing()||n.getSize()!==r.getSize()||e.label!==t.label)});function Lf({header:e,table:t,label:n}){const r=t._getDefaultColumnDef(),s=(0,u.useCallback)(()=>{t.setColumnSizing(o=>{const i={...o};return delete i[e.column.id],i})},[e.column.id,t]);return(0,a.jsx)("div",{role:"separator","aria-orientation":"vertical","aria-label":`Resize ${n} column`,"aria-valuenow":e.column.getSize(),"aria-valuemin":r.minSize,"aria-valuemax":r.maxSize,tabIndex:0,className:F("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:s,onMouseDown:e.getResizeHandler(),onTouchStart:e.getResizeHandler()})}var Yf=({columnVirtualizer:e,headerGroup:t,virtualPaddingLeft:n,virtualPaddingRight:r,table:s})=>{const{table:o}=Ja.useParams(),i=Os(),[c,l]=(0,u.useState)(!1),[m,d]=(0,u.useState)(null),[f,h]=(0,u.useState)(!1),{deleteColumn:p}=Xo(),w=ue(),[,j]=J(K.COLUMN_NAME),[,y]=J(K.TABLE_STATE_KEYS.SORT),[,N]=J(K.TABLE_STATE_KEYS.ORDER),[,C]=J(K.TABLE_STATE_KEYS.CURSOR),[,x]=J(K.TABLE_STATE_KEYS.DIRECTION),g=e.getVirtualItems(),v=s.getState().columnSizingInfo.isResizingColumn,b=(0,u.useCallback)(T=>R=>{R===null?(j(null),y(null),N(null)):(j(T),y(T),N(R==="desc"?"desc":"asc")),C(null),x(null)},[j,y,N,C,x]),D=(0,u.useCallback)(T=>{d(T),h(!1),l(!0)},[]),S=(0,u.useCallback)(T=>{l(T),T||(d(null),h(!1))},[]),k=(0,u.useCallback)(async()=>{!m||!o||(await p({db:o,tableName:o,schemaName:w,columnName:m,cascade:f}),l(!1),d(null),h(!1))},[m,o,p,f]),O=(0,u.useCallback)(()=>{l(!1),d(null),h(!1)},[]);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("tr",{className:F("flex w-fit bg-muted/40 border-b border-border items-center justify-between text-sm data-[state=open]:bg-accent/40 [&_svg]:size-4",v&&"pointer-events-none"),children:[n?(0,a.jsx)("th",{style:{display:"flex",width:n}}):null,g.map(T=>{const R=t.headers[T.index],E=R.column.columnDef.meta?.isPrimaryKey,z=R.column.columnDef.meta?.isForeignKey,L=R.column.columnDef.meta?.dataTypeLabel;return(0,a.jsx)("th",{className:"h-full flex z-100! relative",style:{display:"flex",width:T.index===0?"64px":R.getSize()},children:(0,a.jsx)("div",{className:F("relative w-full h-full flex items-center justify-between gap-2 text-sm hover:bg-accent/20 data-[state=open]:bg-accent/40 [&_svg]:size-4","border-r border-border",R.column.getCanSort()?"cursor-pointer select-none":""),children:T.index===0?un(R.column.columnDef.header,R.getContext()):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(Er,{children:[(0,a.jsx)(Tr,{asChild:!0,children:(0,a.jsxs)(I,{variant:"outline",className:"relative border-none w-full h-full bg-transparent! rounded-none justify-between",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1",children:[E&&(0,a.jsxs)(at,{children:[(0,a.jsx)(ot,{asChild:!0,children:(0,a.jsx)("span",{className:"inline-flex",children:(0,a.jsx)(io,{size:20,className:"text-primary"})})}),(0,a.jsx)(it,{className:"text-[10px]",children:"primary key"})]}),z&&(0,a.jsxs)(at,{children:[(0,a.jsx)(ot,{asChild:!0,children:(0,a.jsx)("span",{className:"inline-flex",children:(0,a.jsx)(ws,{size:20,className:"text-primary"})})}),(0,a.jsx)(it,{className:"text-[10px]",children:"foreign key"})]}),un(R.column.columnDef.header,R.getContext())]}),(0,a.jsxs)("div",{className:"flex items-center gap-1",children:[L&&(0,a.jsx)("span",{className:"text-xs leading-none text-muted-foreground",children:L}),(0,a.jsx)("span",{className:"text-xs leading-none text-muted-foreground",children:{asc:(0,a.jsx)(fn,{}),desc:(0,a.jsx)(Sr,{})}[R.column.getIsSorted()]??null})]})]})}),(0,a.jsxs)(kr,{className:"w-44",align:"start",children:[!i&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(Qo,{children:[(0,a.jsxs)(Je,{onClick:()=>b(R.column.id)("asc"),children:[(0,a.jsx)(fo,{}),"Sort ascending"]}),(0,a.jsxs)(Je,{onClick:()=>b(R.column.id)("desc"),children:[(0,a.jsx)(uo,{}),"Sort descending"]}),R.column.getIsSorted()&&(0,a.jsxs)(Je,{onClick:()=>b(R.column.id)(null),children:[(0,a.jsx)(An,{}),"Remove sort"]})]}),(0,a.jsx)(Jo,{})]}),(0,a.jsxs)(Je,{variant:"destructive",disabled:i,onClick:()=>D(R.column.id),children:[(0,a.jsx)(js,{}),"Delete column"]})]})]}),R.column.getCanResize()&&(0,a.jsx)(zf,{header:R,table:s,label:R.column.id})]})})},R.id)}),r?(0,a.jsx)("th",{style:{display:"flex",width:r}}):null]},t.id),(0,a.jsx)(jt,{open:c,onOpenChange:S,children:(0,a.jsxs)(Ct,{children:[(0,a.jsxs)(wt,{children:[(0,a.jsx)(St,{children:"Delete Column"}),(0,a.jsxs)(Dt,{children:['Are you sure you want to delete the column "',m,'"? This action cannot be undone and will permanently remove all data in this column.']})]}),(0,a.jsxs)("div",{className:"flex gap-2 py-2",children:[(0,a.jsx)(Mn,{id:"cascade-delete",checked:f,onCheckedChange:T=>h(T===!0)}),(0,a.jsx)(Re,{htmlFor:"cascade-delete",className:"text-xs text-muted-foreground cursor-pointer",children:"Drop with CASCADE (also remove dependent indexes, constraints, and foreign key references)"})]}),(0,a.jsxs)(bt,{children:[(0,a.jsx)(yt,{onClick:O,children:"Cancel"}),(0,a.jsx)(Nt,{variant:"destructive",onClick:k,children:"Delete"})]})]})})]})},$f=({columnVirtualizer:e,table:t,virtualPaddingLeft:n,virtualPaddingRight:r})=>(0,a.jsx)("thead",{className:"h-9 grid sticky top-0 z-10 supports-backdrop-filter:backdrop-blur-sm",children:t.getHeaderGroups().map(s=>(0,a.jsx)(Yf,{columnVirtualizer:e,headerGroup:s,table:t,virtualPaddingLeft:n,virtualPaddingRight:r},s.id))}),Bf=({table:e,tableName:t,pageKey:n})=>{const r=e.getVisibleLeafColumns(),s=(0,u.useRef)(null),{onCopy:o,onPaste:i,preview:c,stagePreview:l,closePreview:m}=kf(e);(0,u.useLayoutEffect)(()=>{s.current?.scrollTo({top:0})},[n]);const d=vs({count:r.length,estimateSize:w=>r[w].getSize(),getScrollElement:()=>s.current,horizontal:!0,overscan:3}),f=d.getVirtualItems();let h,p;return d&&f?.length&&(h=f[0]?.start??0,p=d.getTotalSize()-(f[f.length-1]?.end??0)),(0,a.jsxs)("div",{className:"w-full flex-1 overflow-auto bg-background text-foreground",ref:s,style:{position:"relative"},onCopy:o,onPaste:i,children:[(0,a.jsxs)("table",{style:{display:"grid"},className:"text-foreground",children:[(0,a.jsx)($f,{columnVirtualizer:d,table:e,virtualPaddingLeft:h,virtualPaddingRight:p}),(0,a.jsx)(Wf,{columnVirtualizer:d,table:e,tableName:t,tableContainerRef:s,virtualPaddingLeft:h,virtualPaddingRight:p})]}),(0,a.jsx)(Tf,{preview:c,onStage:l,onClose:m})]})},Kf=({table:e,tableName:t,pageKey:n,selectedRows:r,setRowSelection:s})=>(0,a.jsxs)("div",{className:F("flex-1 w-full flex flex-col overflow-hidden pb-9"),children:[(0,a.jsx)(Ga,{selectedRows:r,setRowSelection:s,tableName:t}),(0,a.jsx)(Bf,{table:e,tableName:t,pageKey:n}),(0,a.jsx)(qa,{tableName:t})]}),Vf=()=>(0,a.jsx)("div",{className:"size-full flex items-center justify-center",children:(0,a.jsx)(Nr,{size:"size-7"})}),Uf=()=>{const{clearRowDetails:e}=Ot(),{closeOverlay:t}=xe(),{status:n,proceed:r,reset:s}=Za({shouldBlockFn:()=>Ot.getState().isDirty,withResolver:!0});return{isBlocked:n==="blocked",discardAndContinue:()=>{e(),t("tables.row-details"),r?.()},keepEditing:()=>s?.()}},Hf=()=>{const{isBlocked:e,discardAndContinue:t,keepEditing:n}=Uf();return(0,a.jsx)(jt,{open:e,onOpenChange:r=>{r||n()},children:(0,a.jsxs)(Ct,{children:[(0,a.jsxs)(wt,{children:[(0,a.jsx)(St,{children:"Discard unsaved changes?"}),(0,a.jsx)(Dt,{children:"This record has unsaved changes. Leaving discards them. Continue?"})]}),(0,a.jsxs)(bt,{children:[(0,a.jsx)(yt,{children:"Keep editing"}),(0,a.jsx)(Nt,{onClick:t,children:"Discard changes"})]})]})})},qf=({tableName:e})=>{const t=Ut(),n=ue(),r=tt(),{selectedDatabase:s}=be(),{tableData:o,pageKey:i,isLoadingTableData:c,errorTableData:l,refetchTableData:m}=Wn({tableName:e,schemaName:n}),{tableCols:d,isLoadingTableCols:f,errorTableCols:h}=Te({tableName:e,schemaName:n}),p=(0,u.useMemo)(()=>o?.data||[],[o?.data]),{table:w,selectedRows:j,setRowSelection:y,isEditingCell:N}=Hd({tableName:e,tableCols:d,tableDataRows:p}),C=w.getRowModel(),x=(0,u.useMemo)(()=>C.rows.map(g=>g.original),[C]);return(0,u.useEffect)(()=>()=>{Ot.getState().clearRowDetails();const{closeOverlay:g}=xe.getState();g("tables.row-change-primary-key"),g("tables.row-delete-record"),g("tables.row-discard-changes"),g("tables.row-details")},[e]),Lu({tableName:e,tableCols:d,tableDataRows:p,refetchTableData:()=>(r.refetchQueries({queryKey:pe.list(s),exact:!0},{cancelRefetch:!1}),m()),isEditingCell:N}),c||f?(0,a.jsx)(Vf,{}):!o&&l||!d&&h?(0,a.jsx)(yf,{tableName:e,errorTableData:l,errorTableCols:h}):!o?.data||o.data.length===0?(0,a.jsx)(vf,{tableName:e,selectedRows:j,setRowSelection:y}):t?.dataModel==="document"?(0,a.jsx)(rf,{tableName:e,rows:p}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(Kf,{table:w,tableName:e,pageKey:i,selectedRows:j,setRowSelection:y}),(0,a.jsx)(Xd,{tableName:e,rows:x}),(0,a.jsx)(Hf,{})]})},Jf=qf,Om=({tableName:e})=>{const t=ue();return(0,a.jsxs)("main",{className:"flex-1 flex flex-col overflow-hidden",children:[(0,a.jsx)(Jf,{tableName:e}),(0,a.jsx)(ku,{tableName:e}),(0,a.jsx)(Fu,{tableName:e}),(0,a.jsx)(_u,{tableName:e}),(0,a.jsx)(Au,{tableName:e}),(0,a.jsx)(Pu,{tableName:e})]},`${t}.${e}`)};export{Em as a,Mt as c,Ye as d,Nm as f,_e as g,Cm as h,fr as i,Ce as l,jm as m,Of as n,Mf as o,Sm as p,Rf as r,Ja as s,Om as t,Ot as u};