db-studio 1.19.0 → 1.20.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 (171) hide show
  1. package/README.md +12 -10
  2. package/dist/index.js +81 -79
  3. package/dist/index.js.map +1 -1
  4. package/dist/web-dist/assets/_pathlessLayout-2KoDg70R.js +2 -0
  5. package/dist/web-dist/assets/_pathlessLayout-B9IWhcuu.js +1 -0
  6. package/dist/web-dist/assets/_queryId-Cj11TVS_.js +1 -0
  7. package/dist/web-dist/assets/_table-79-Gj3DB.js +1 -0
  8. package/dist/web-dist/assets/_table-DqwiXW8K.js +1 -0
  9. package/dist/web-dist/assets/_table-wnnWEyoW.js +1 -0
  10. package/dist/web-dist/assets/{abap-dxRygfPH.js → abap-CgG5wVNY.js} +1 -1
  11. package/dist/web-dist/assets/{apex-zgJPDUJP.js → apex-j_kA3haI.js} +1 -1
  12. package/dist/web-dist/assets/{azcli-wJHaoZMB.js → azcli-0Mg388XK.js} +1 -1
  13. package/dist/web-dist/assets/{badge-DKcWcYUF.js → badge-B60VPytI.js} +1 -1
  14. package/dist/web-dist/assets/{bat-C1wIr6Fe.js → bat-DASZ2LNG.js} +1 -1
  15. package/dist/web-dist/assets/{bicep-BvxsFQ8r.js → bicep-CL7heJBl.js} +1 -1
  16. package/dist/web-dist/assets/browser-CeHHi7P0.js +1 -0
  17. package/dist/web-dist/assets/{bundle-mjs-DnfzKk33.js → bundle-mjs-CYj7goeC.js} +1 -1
  18. package/dist/web-dist/assets/{cameligo-DrYvjD55.js → cameligo-BsOg99gn.js} +1 -1
  19. package/dist/web-dist/assets/{chat-sidebar-Cq9VUD6G.js → chat-sidebar-DwFbnKXs.js} +6 -6
  20. package/dist/web-dist/assets/{clojure-74_l0zQh.js → clojure-CxO9AHQp.js} +1 -1
  21. package/dist/web-dist/assets/code-editor-DOm0leY6.js +9 -0
  22. package/dist/web-dist/assets/{coffee-C0rQZbWl.js → coffee-BAckyzYj.js} +1 -1
  23. package/dist/web-dist/assets/connect-BpkSEPls.js +1 -0
  24. package/dist/web-dist/assets/{constants-Ma2YHUjt.js → constants-BgZGgQU-.js} +7 -7
  25. package/dist/web-dist/assets/{cpp-B5zY1E3k.js → cpp-BunR1P49.js} +1 -1
  26. package/dist/web-dist/assets/{csharp-DwtW3NHZ.js → csharp-BaO8aYxy.js} +1 -1
  27. package/dist/web-dist/assets/{csp-JrZi5CVH.js → csp-BLTGBZQe.js} +1 -1
  28. package/dist/web-dist/assets/{css-C3v_G68F.js → css-CF98ZCAA.js} +1 -1
  29. package/dist/web-dist/assets/cssMode-C5TixMh2.js +1 -0
  30. package/dist/web-dist/assets/{cypher-BTD8b27B.js → cypher-D4JtjRxz.js} +1 -1
  31. package/dist/web-dist/assets/{dart-CwL-_kqb.js → dart-DQ9U8EMP.js} +1 -1
  32. package/dist/web-dist/assets/database.store-CzI49QG8.js +57 -0
  33. package/dist/web-dist/assets/{dist-BXhLQctj.js → dist-CxVc5ukz.js} +1 -1
  34. package/dist/web-dist/assets/dist-DFHV2Ot7.js +2 -0
  35. package/dist/web-dist/assets/{dockerfile-CdgVtJCK.js → dockerfile-BrZMt6pR.js} +1 -1
  36. package/dist/web-dist/assets/{ecl-BVdxv81-.js → ecl-BJCwcmJ1.js} +1 -1
  37. package/dist/web-dist/assets/{editor.api-CYxF2O7b.js → editor.api-C4TX16wd.js} +1 -1
  38. package/dist/web-dist/assets/{elixir-DfatOM0G.js → elixir-DHsCS2On.js} +1 -1
  39. package/dist/web-dist/assets/{esm-D-gZMxcU.js → esm-B9MwAMFl.js} +1 -1
  40. package/dist/web-dist/assets/{flow9-a4YAXy8S.js → flow9-DGeMNykd.js} +1 -1
  41. package/dist/web-dist/assets/format-cell-value-B8ovgCmo.js +1 -0
  42. package/dist/web-dist/assets/{freemarker2-CfPBr1kT.js → freemarker2-CaCcWbsU.js} +2 -2
  43. package/dist/web-dist/assets/{fsharp-DPMv4wkA.js → fsharp-4YY9n89U.js} +1 -1
  44. package/dist/web-dist/assets/{go-IiZtrnqs.js → go-DyNUrTHL.js} +1 -1
  45. package/dist/web-dist/assets/{graphql-CXNuaSRA.js → graphql-D9bqCG0h.js} +1 -1
  46. package/dist/web-dist/assets/{handlebars-DxY2nPcz.js → handlebars-p4ZPMA_H.js} +1 -1
  47. package/dist/web-dist/assets/{hcl-SxWYdXh8.js → hcl-CFjL6tj1.js} +1 -1
  48. package/dist/web-dist/assets/highlighted-body-OFNGDK62-CGCmu3bn.js +1 -0
  49. package/dist/web-dist/assets/{html-drmbqc-0.js → html-Nr8D0sMZ.js} +1 -1
  50. package/dist/web-dist/assets/{htmlMode-_WyzBcs8.js → htmlMode-BM6myHlS.js} +1 -1
  51. package/dist/web-dist/assets/{icons-D00FvbYk.js → icons-CjWX45lj.js} +1 -1
  52. package/dist/web-dist/assets/index-CSMKcupk.js +34 -0
  53. package/dist/web-dist/assets/index-DFMk_Cii.css +2 -0
  54. package/dist/web-dist/assets/{indexes-DKdMLQaQ.js → indexes-B64ZI_Wn.js} +1 -1
  55. package/dist/web-dist/assets/{ini-dRlOWwKj.js → ini-BDn4k5vX.js} +1 -1
  56. package/dist/web-dist/assets/{java-6BlUAALm.js → java-D-YO2VWR.js} +1 -1
  57. package/dist/web-dist/assets/{javascript-BDJbGhjO.js → javascript-DXRDGeAZ.js} +1 -1
  58. package/dist/web-dist/assets/json-editor-S2xJY2Kx.js +1 -0
  59. package/dist/web-dist/assets/{jsonMode-CMZrI5JG.js → jsonMode-rO2Ftta6.js} +4 -4
  60. package/dist/web-dist/assets/{julia-D9gAObN3.js → julia-B-8U-d1l.js} +1 -1
  61. package/dist/web-dist/assets/keys-BPprzJmP.js +1 -0
  62. package/dist/web-dist/assets/{kotlin-BkNKxUBx.js → kotlin-CmXAhpPa.js} +1 -1
  63. package/dist/web-dist/assets/{label-r_iGrn1k.js → label-CVNOUqUm.js} +1 -1
  64. package/dist/web-dist/assets/{less-CXD3UefM.js → less-SOSfAhzX.js} +1 -1
  65. package/dist/web-dist/assets/{lexon-C_fFLl-m.js → lexon-De12xV5T.js} +1 -1
  66. package/dist/web-dist/assets/{liquid-DK-C1kNz.js → liquid-DFx6O1UA.js} +1 -1
  67. package/dist/web-dist/assets/logs-CRFlPvlu.js +1 -0
  68. package/dist/web-dist/assets/{lspLanguageFeatures-C43gbr5Q.js → lspLanguageFeatures-fx3r8Nlp.js} +1 -1
  69. package/dist/web-dist/assets/{lua-D9zIDNVg.js → lua-BZS2kSaZ.js} +1 -1
  70. package/dist/web-dist/assets/{m3-BOUXBH8W.js → m3-BDc8kTWm.js} +1 -1
  71. package/dist/web-dist/assets/{markdown-HYv7mtUU.js → markdown-BeZnE8gM.js} +1 -1
  72. package/dist/web-dist/assets/{mdx-CyR2pftH.js → mdx-BYpfwnmS.js} +1 -1
  73. package/dist/web-dist/assets/mermaid-GHXKKRXX-CF_KGDPe.js +1 -0
  74. package/dist/web-dist/assets/{middleware-z4uSElcP.js → middleware-DNv5JLGa.js} +1 -1
  75. package/dist/web-dist/assets/{mips-BYotwMVA.js → mips-CNrGtpRe.js} +1 -1
  76. package/dist/web-dist/assets/{module-BcWVk-SL.js → module-CDi4rXzC.js} +1 -1
  77. package/dist/web-dist/assets/{monaco-theme-BIjVxdNP.js → monaco-theme-BqD8Tii6.js} +4 -4
  78. package/dist/web-dist/assets/{msdax-B5L4PZsP.js → msdax-CKWZS4Cj.js} +1 -1
  79. package/dist/web-dist/assets/{mysql-B58bnHpg.js → mysql-BZr3Z3DP.js} +1 -1
  80. package/dist/web-dist/assets/{objective-c-CFqy6rAv.js → objective-c-hKzp1cvd.js} +1 -1
  81. package/dist/web-dist/assets/{pascal-CLsa5WGA.js → pascal-BEkAd_lG.js} +1 -1
  82. package/dist/web-dist/assets/{pascaligo-DziJFYKK.js → pascaligo-DZTnedDs.js} +1 -1
  83. package/dist/web-dist/assets/{perl-CmwL-QR-.js → perl-BnkE5QAU.js} +1 -1
  84. package/dist/web-dist/assets/{personal-preferences.store-D5exZVZQ.js → personal-preferences.store-BLvzSXGN.js} +1 -1
  85. package/dist/web-dist/assets/{pgsql-Do7fvYVV.js → pgsql-DG7pXIvN.js} +1 -1
  86. package/dist/web-dist/assets/{php-Dj9jihN6.js → php-8QVKEp8Q.js} +1 -1
  87. package/dist/web-dist/assets/{pla-L8RfOkFM.js → pla-BWA8UBJB.js} +1 -1
  88. package/dist/web-dist/assets/{postiats-BXpJZeqC.js → postiats-DqXXSDbr.js} +1 -1
  89. package/dist/web-dist/assets/{powerquery-BXkVIUru.js → powerquery-BhShmvHk.js} +1 -1
  90. package/dist/web-dist/assets/{powershell-DwW-M4zK.js → powershell-C73oG-kA.js} +1 -1
  91. package/dist/web-dist/assets/{preload-helper-ThWhQeFm.js → preload-helper-B_WR4Z6T.js} +1 -1
  92. package/dist/web-dist/assets/{protobuf-K907XPEr.js → protobuf-uezV85qf.js} +1 -1
  93. package/dist/web-dist/assets/{pug-C-RaYi9h.js → pug-DKgkwPxK.js} +1 -1
  94. package/dist/web-dist/assets/{python-CP4tLlJS.js → python-CtKtLi7e.js} +1 -1
  95. package/dist/web-dist/assets/{qsharp-CzL8Ss6l.js → qsharp-QwebvYs2.js} +1 -1
  96. package/dist/web-dist/assets/{queries.store-BY932Cz6.js → queries.store-BY1UGAw9.js} +1 -1
  97. package/dist/web-dist/assets/query-runner-YYCt8TAF.js +17 -0
  98. package/dist/web-dist/assets/{r-CRucCfm1.js → r-CMjDtWZm.js} +1 -1
  99. package/dist/web-dist/assets/{radix-ui-C1Muznox.js → radix-ui-deSt0_b9.js} +1 -1
  100. package/dist/web-dist/assets/{razor-D5MHZkbo.js → razor-CuD2w6HS.js} +1 -1
  101. package/dist/web-dist/assets/react-BH8Cquhy.js +1 -0
  102. package/dist/web-dist/assets/{react-dom-DtHnGHi-.js → react-dom-Cqz4asVS.js} +1 -1
  103. package/dist/web-dist/assets/{redis-D2ruGQTE.js → redis-BaWLot6X.js} +1 -1
  104. package/dist/web-dist/assets/redis-value-YP_133ws.js +1 -0
  105. package/dist/web-dist/assets/{redshift-ClhJ3UDf.js → redshift-Cq-2Y1GO.js} +1 -1
  106. package/dist/web-dist/assets/{restructuredtext-CDSduErp.js → restructuredtext-DAg3h1uA.js} +1 -1
  107. package/dist/web-dist/assets/{rolldown-runtime-DglIe7XP.js → rolldown-runtime-CFc_0XbV.js} +1 -1
  108. package/dist/web-dist/assets/{ruby-BOYci4GS.js → ruby-gR3Rx_yB.js} +1 -1
  109. package/dist/web-dist/assets/runner-B76n9Lso.js +1 -0
  110. package/dist/web-dist/assets/{rust-C6GsoKwD.js → rust-C7v-4s8H.js} +1 -1
  111. package/dist/web-dist/assets/{sb-Byu7SwWe.js → sb-BjQMj6Ck.js} +1 -1
  112. package/dist/web-dist/assets/{scala-BXABW78T.js → scala-CDlk2JGU.js} +1 -1
  113. package/dist/web-dist/assets/schema-BtwO4zbG.js +1 -0
  114. package/dist/web-dist/assets/{schema-BG-MIF2O.js → schema-CswsqIrC.js} +1 -1
  115. package/dist/web-dist/assets/{scheme-8OXsCVoc.js → scheme-C4uQvWwl.js} +1 -1
  116. package/dist/web-dist/assets/{scss-osYiZxfm.js → scss-DR_HbFxm.js} +1 -1
  117. package/dist/web-dist/assets/{select-DIrPycKO.js → select-BJvLgK98.js} +1 -1
  118. package/dist/web-dist/assets/{separator-DXlD6ZPI.js → separator-DFU6yRp6.js} +1 -1
  119. package/dist/web-dist/assets/{sheet-sidebar-K2TU7XMc.js → sheet-sidebar-lG9Hd9mf.js} +1 -1
  120. package/dist/web-dist/assets/{shell-xb0sqli5.js → shell-3nbA3ckv.js} +1 -1
  121. package/dist/web-dist/assets/{solidity-BaiP98Rq.js → solidity-B22K_RR3.js} +1 -1
  122. package/dist/web-dist/assets/{sophia-CQgWshwN.js → sophia-Szu0pGax.js} +1 -1
  123. package/dist/web-dist/assets/{sparql-XOTzL0Lh.js → sparql--gEADTS8.js} +1 -1
  124. package/dist/web-dist/assets/spinner-Dihgug3b.js +1 -0
  125. package/dist/web-dist/assets/{sql-DGJWoFiH.js → sql-Bzxx_ZMh.js} +1 -1
  126. package/dist/web-dist/assets/{st-BD5QOETo.js → st-feo0KJe0.js} +1 -1
  127. package/dist/web-dist/assets/{swift-lLfOkw1g.js → swift-cvOE23v2.js} +1 -1
  128. package/dist/web-dist/assets/{systemverilog-BYxoqTfR.js → systemverilog-BvUnJocc.js} +1 -1
  129. package/dist/web-dist/assets/{table-DoAtaSpv.js → table-BeBhifQ8.js} +1 -1
  130. package/dist/web-dist/assets/tables-BPDra69x.js +12 -0
  131. package/dist/web-dist/assets/{tanstack-DeB5Eprq.js → tanstack-BGvcrEX1.js} +4 -4
  132. package/dist/web-dist/assets/{tcl-BFpZjjdK.js → tcl-CHfkQ04m.js} +1 -1
  133. package/dist/web-dist/assets/{tooltip-B_5geL0k.js → tooltip-Hxe7NIhG.js} +1 -1
  134. package/dist/web-dist/assets/{tsMode-8DDkjaCA.js → tsMode-BnlkAORX.js} +1 -1
  135. package/dist/web-dist/assets/{twig-Ds4bsmPZ.js → twig-aSRp1yim.js} +1 -1
  136. package/dist/web-dist/assets/{typescript-BD4P_hvn.js → typescript-BkyDopbB.js} +1 -1
  137. package/dist/web-dist/assets/{typespec-DMwDmafU.js → typespec-CzVXGIfQ.js} +1 -1
  138. package/dist/web-dist/assets/use-database-engine-B9THCU8i.js +1 -0
  139. package/dist/web-dist/assets/use-theme-C5b04JBO.js +1 -0
  140. package/dist/web-dist/assets/{utils-vY5qZZPu.js → utils-CshH-ggy.js} +1 -1
  141. package/dist/web-dist/assets/{vb-B3EULsLk.js → vb-D2DjuDpT.js} +1 -1
  142. package/dist/web-dist/assets/visualizer-CEPsKhJ9.js +1 -0
  143. package/dist/web-dist/assets/vscode-D3Om2tQ2.js +1 -0
  144. package/dist/web-dist/assets/{wgsl-BCYPO-gR.js → wgsl-oQCq0OjX.js} +1 -1
  145. package/dist/web-dist/assets/{workers-DiwDrKYe.js → workers-3R2slzS3.js} +1 -1
  146. package/dist/web-dist/assets/{xml-CPmvJeqm.js → xml-nigv0Hak.js} +1 -1
  147. package/dist/web-dist/assets/{yaml-CGAao1xZ.js → yaml-DMxBC2Lp.js} +1 -1
  148. package/dist/web-dist/index.html +31 -23
  149. package/package.json +1 -1
  150. package/dist/web-dist/assets/_pathlessLayout-DFRv9XCB.js +0 -1
  151. package/dist/web-dist/assets/_pathlessLayout-DFy4SGet.js +0 -2
  152. package/dist/web-dist/assets/_queryId-BMByB2oT.js +0 -1
  153. package/dist/web-dist/assets/_table-Bg2023_C.js +0 -1
  154. package/dist/web-dist/assets/_table-CNv5UFxx.js +0 -1
  155. package/dist/web-dist/assets/_table-DFikg2By.js +0 -1
  156. package/dist/web-dist/assets/browser-K0FP9iu-.js +0 -1
  157. package/dist/web-dist/assets/code-editor-BjMRNGGr.js +0 -9
  158. package/dist/web-dist/assets/cssMode-DEx5wjaw.js +0 -1
  159. package/dist/web-dist/assets/database.store-1pbPyu5t.js +0 -57
  160. package/dist/web-dist/assets/highlighted-body-OFNGDK62-CrpnFH8F.js +0 -1
  161. package/dist/web-dist/assets/index-De1y1AW6.css +0 -2
  162. package/dist/web-dist/assets/index-DvUqe2GZ.js +0 -45
  163. package/dist/web-dist/assets/json-editor-CWN4Qxy5.js +0 -1
  164. package/dist/web-dist/assets/keys-BNEHyGRj.js +0 -1
  165. package/dist/web-dist/assets/logs-DYp_nXQS.js +0 -1
  166. package/dist/web-dist/assets/mermaid-GHXKKRXX-BVKgPqVX.js +0 -1
  167. package/dist/web-dist/assets/query-runner-DE3oEoYe.js +0 -17
  168. package/dist/web-dist/assets/react-HGZFyY1j.js +0 -1
  169. package/dist/web-dist/assets/redis-value-DvqdrDxN.js +0 -1
  170. package/dist/web-dist/assets/runner-CdvyQd_7.js +0 -1
  171. package/dist/web-dist/assets/visualizer-CsdVT6fl.js +0 -1
@@ -1,45 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/json-editor-CWN4Qxy5.js","assets/rolldown-runtime-DglIe7XP.js","assets/icons-D00FvbYk.js","assets/radix-ui-C1Muznox.js","assets/utils-vY5qZZPu.js","assets/bundle-mjs-DnfzKk33.js","assets/personal-preferences.store-D5exZVZQ.js","assets/react-HGZFyY1j.js","assets/middleware-z4uSElcP.js","assets/editor.api-CYxF2O7b.js","assets/preload-helper-ThWhQeFm.js","assets/editor-1FQrmyyI.css","assets/monaco-theme-BIjVxdNP.js","assets/monaco-theme-BnSsSzUH.css","assets/_table-DFikg2By.js","assets/_pathlessLayout-DFy4SGet.js","assets/tanstack-DeB5Eprq.js","assets/dist-BXhLQctj.js","assets/label-r_iGrn1k.js","assets/tooltip-B_5geL0k.js","assets/sheet-sidebar-K2TU7XMc.js","assets/constants-Ma2YHUjt.js","assets/database.store-1pbPyu5t.js","assets/badge-DKcWcYUF.js","assets/select-DIrPycKO.js","assets/keys-BNEHyGRj.js","assets/separator-DXlD6ZPI.js","assets/queries.store-BY932Cz6.js","assets/redis-value-DvqdrDxN.js","assets/_pathlessLayout-DFRv9XCB.js","assets/browser-K0FP9iu-.js","assets/logs-DYp_nXQS.js","assets/visualizer-CsdVT6fl.js","assets/indexes-DKdMLQaQ.js","assets/_table-Bg2023_C.js","assets/runner-CdvyQd_7.js","assets/query-runner-DE3oEoYe.js","assets/_queryId-BMByB2oT.js","assets/schema-BG-MIF2O.js","assets/_table-CNv5UFxx.js","assets/table-DoAtaSpv.js"])))=>i.map(i=>d[i]);
2
- import{n as Bc,r as Yo,t as Jm}from"./rolldown-runtime-DglIe7XP.js";import{C as Yn,D as pw,E as gw,S as It,T as At,_ as Uc,a as Hc,b as vw,c as yw,d as xw,f as Bt,h as Qm,i as qc,l as bw,m as ww,n as Go,o as Sw,p as Ut,r as $r,s as Xm,t as Cw,u as Nw,v as Ew,w as Iw,y as jw}from"./tanstack-DeB5Eprq.js";import{$ as Tw,A as Rw,At as kw,B as Wc,C as _w,Ct as Aw,D as Mw,E as bo,Et as Ow,Ft as Dw,H as Pw,I as Lw,J as Zm,K as Fw,L as Md,M as $w,Mt as zw,Nt as Vw,O as Bw,Ot as Uw,P as Hw,St as Zr,T as Kc,U as qw,V as Jo,_ as Ww,_t as Kw,a as Yw,at as Vi,b as Yc,bt as Gc,dt as Gw,f as wo,ft as Bi,i as Jw,j as Qw,jt as So,k as Xw,kt as Zw,mt as eS,n as _s,nt as Od,o as tS,p as nS,q as rS,rt as Yl,s as Jc,st as Qc,tt as sS,ut as aS,v as ep,vt as Xc,w as tp,wt as oS,xt as es,y as iS,yt as Zc,z as Qo}from"./icons-D00FvbYk.js";import{A as lS,At as cS,Ct as eu,D as uS,E as dS,Et as fS,F as hS,I as mS,L as pS,M as gS,N as vS,O as yS,Ot as ms,P as xS,R as bS,St as tu,T as wS,Tt as np,_ as rp,_t as ur,bt as nu,d as SS,f as CS,g as NS,h as sp,j as ES,jt as IS,k as jS,kt as ga,m as ap,u as TS,wt as ru,xt as op,yt as su}from"./radix-ui-C1Muznox.js";import{t as RS}from"./react-dom-DtHnGHi-.js";import{n as Be,t as kS}from"./dist-BXhLQctj.js";import{t as G}from"./utils-vY5qZZPu.js";import{n as ot,r as ip,t as Ne}from"./label-r_iGrn1k.js";import{a as Oe,c as lp,i as En,n as In,o as te,r as Vs,s as Dd,t as jn}from"./tooltip-B_5geL0k.js";import{a as _S,c as AS,f as Wn,i as MS,l as OS,n as DS,o as PS,r as ka,t as nn}from"./sheet-sidebar-K2TU7XMc.js";import{t as dr}from"./react-HGZFyY1j.js";import{D as LS,E as FS,I as $S,M as zS,N as VS,O as BS,P as cp,R as up,_ as US,a as dp,c as HS,d as qS,f as WS,g as KS,i as YS,k as fp,l as GS,m as JS,n as QS,p as XS,s as ZS,t as me,v as hp,y as eC,z as tC}from"./constants-Ma2YHUjt.js";import{_ as nC,c as Pd,d as Ld,g as Gn,h as Rt,i as _n,l as Fd,m as Gl,p as $d,r as rC,s as sC,t as Ue,u as zd,v as Zt,y as mp}from"./database.store-1pbPyu5t.js";import{t as Mt}from"./preload-helper-ThWhQeFm.js";import{a as ts,c as Tr,d as Rr,f as kr,i as Mn,l as _r,m as vt,n as fr,o as Ar,p as Mr,r as aC,s as Or,t as ys,u as Dr}from"./badge-DKcWcYUF.js";import{a as wt,i as St,n as Ct,r as Se,t as Nt}from"./select-DIrPycKO.js";import{n as Co,o as Me}from"./keys-BNEHyGRj.js";import{n as au,r as oC,t as Jl}from"./separator-DXlD6ZPI.js";import{t as pp}from"./middleware-z4uSElcP.js";import{i as gp,n as iC,r as Xo,t as lC}from"./personal-preferences.store-D5exZVZQ.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@1.19.0"};var t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="d2d3b266-73ef-4610-851b-d372d6248954",e._sentryDebugIdIdentifier="sentry-dbid-d2d3b266-73ef-4610-851b-d372d6248954")}catch{}})();(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const a of s)if(a.type==="childList")for(const o of a.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function n(s){const a={};return s.integrity&&(a.integrity=s.integrity),s.referrerPolicy&&(a.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?a.credentials="include":s.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function r(s){if(s.ep)return;s.ep=!0;const a=n(s);fetch(s.href,a)}})();var p=Yo(Dw(),1),cC=Yo(RS(),1),Ui,Vd=()=>new gw({defaultOptions:{queries:{staleTime:3e4,gcTime:3e5,retry:0,retryDelay:e=>Math.min(1e3*2**e,3e4),refetchOnWindowFocus:!1,refetchOnMount:!1,refetchOnReconnect:!0},mutations:{retry:0,networkMode:"online"},dehydrate:{shouldDehydrateQuery:e=>pw(e)||e.state.status==="pending"}}}),vp=()=>typeof window>"u"?Vd():(Ui||(Ui=Vd()),Ui),uC=(e,t,n,r,s,a,o,i)=>{let c=document.documentElement,u=["light","dark"];function d(m){(Array.isArray(e)?e:[e]).forEach(v=>{let S=v==="class",b=S&&a?s.map(N=>a[N]||N):s;S?(c.classList.remove(...b),c.classList.add(a&&a[m]?a[m]:m)):c.setAttribute(v,m)}),f(m)}function f(m){i&&u.includes(m)&&(c.style.colorScheme=m)}function h(){return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}if(r)d(r);else try{let m=localStorage.getItem(t)||n;d(o&&m==="system"?h():m)}catch{}},dC=p.createContext(void 0),fC={setTheme:e=>{},themes:[]},hC=()=>{var e;return(e=p.useContext(dC))!=null?e:fC},PV=p.memo(({forcedTheme:e,storageKey:t,attribute:n,enableSystem:r,enableColorScheme:s,defaultTheme:a,value:o,themes:i,nonce:c,scriptProps:u})=>{let d=JSON.stringify([n,t,a,e,i,o,r,s]).slice(1,-1);return p.createElement("script",{...u,suppressHydrationWarning:!0,nonce:typeof window>"u"?c:"",dangerouslySetInnerHTML:{__html:`(${uC.toString()})(${d})`}})}),l=IS(),mC=({...e})=>{const{theme:t="system"}=hC();return(0,l.jsx)(kS,{theme:t,className:"toaster group",icons:{success:(0,l.jsx)(eS,{className:"size-4 text-emerald-500"}),info:(0,l.jsx)(qw,{className:"size-4 text-blue-500"}),warning:(0,l.jsx)(tS,{className:"size-4 text-amber-500"}),error:(0,l.jsx)(Qw,{className:"size-4 text-red-500"}),loading:(0,l.jsx)(Lw,{className:"size-4 animate-spin text-blue-500"})},style:{"--normal-bg":"var(--popover)","--normal-text":"var(--popover-foreground)","--normal-border":"var(--border)","--border-radius":"var(--radius)"},toastOptions:{classNames:{toast:"cn-toast"}},...e})};function As({size:e="size-6",color:t="bg-primary",className:n,...r}){const s=Array(12).fill(0);return(0,l.jsx)("div",{className:G(e),children:(0,l.jsx)("div",{className:G("relative top-1/2 left-1/2 h-[inherit] w-[inherit]"),children:s.map((a,o)=>(0,l.jsx)("div",{className:G("-left-[10%] -top-[3.9%] absolute h-[8%] w-[24%] animate-spinner rounded-md",t,`bar:nth-child(${o+1})`,n),style:{animationDelay:`-${1.3-o*.1}s`,transform:`rotate(${30*o}deg) translate(146%)`},...r},`spinner-bar-${String(o)}`))})})}var ou=vC();function Ge(e,...t){if(!ou)return;const n=gC(e,...t);performance.mark(n);try{console.log(e,...t)}catch{console.log(n)}}function pC(e,...t){ou&&console.warn(e,...t)}function gC(e,...t){return e.replace(/%[sfdO]/g,n=>{const r=t.shift();return n==="%O"&&r?JSON.stringify(r).replace(/"([^"]+)":/g,"$1:"):String(r)})}function vC(){if(typeof window>"u")return({}.DEBUG||"").includes("nuqs");try{const e="nuqs-localStorage-test";if(typeof localStorage>"u")return!1;localStorage.setItem(e,e);const t=localStorage.getItem(e)===e;return localStorage.removeItem(e),t&&(localStorage.getItem("debug")||"").includes("nuqs")}catch{return!1}}var yC={303:"Multiple adapter contexts detected. This might happen in monorepos.",404:"nuqs requires an adapter to work with your framework.",409:"Multiple versions of the library are loaded. This may lead to unexpected behavior. Currently using `%s`, but `%s` (via the %s adapter) was about to load on top.",414:"Max safe URL length exceeded. Some browsers may not be able to accept this URL. Consider limiting the amount of state stored in the URL.",422:"Invalid options combination: `limitUrlUpdates: debounce` should be used in SSR scenarios, with `shallow: false`",429:"URL update rate-limited by the browser. Consider increasing `throttleMs` for key(s) `%s`. %O",500:"Empty search params cache. Search params can't be accessed in Layouts.",501:"Search params cache already populated. Have you called `parse` twice?"};function _a(e){return`[nuqs] ${yC[e]}
3
- See https://nuqs.dev/NUQS-${e}`}function xC(e){if(e.size===0)return"";const t=[];for(const[n,r]of e.entries()){const s=n.replace(/#/g,"%23").replace(/&/g,"%26").replace(/\+/g,"%2B").replace(/=/g,"%3D").replace(/\?/g,"%3F");t.push(`${s}=${bC(r)}`)}return"?"+t.join("&")}function bC(e){return e.replace(/%/g,"%25").replace(/\+/g,"%2B").replace(/ /g,"+").replace(/#/g,"%23").replace(/&/g,"%26").replace(/"/g,"%22").replace(/'/g,"%27").replace(/`/g,"%60").replace(/</g,"%3C").replace(/>/g,"%3E").replace(/[\x00-\x1F]/g,t=>encodeURIComponent(t))}var zr=(0,p.createContext)({useAdapter(){throw new Error(_a(404))}});zr.displayName="NuqsAdapterContext";ou&&typeof window<"u"&&(window.__NuqsAdapterContext&&window.__NuqsAdapterContext!==zr&&console.error(_a(303)),window.__NuqsAdapterContext=zr);function wC(e){return({children:t,defaultOptions:n,processUrlSearchParams:r,...s})=>(0,p.createElement)(zr.Provider,{...s,value:{useAdapter:e,defaultOptions:n,processUrlSearchParams:r}},t)}function SC(e){const t=(0,p.useContext)(zr);if(!("useAdapter"in t))throw new Error(_a(404));return t.useAdapter(e)}var CC=()=>(0,p.useContext)(zr).defaultOptions,NC=()=>(0,p.useContext)(zr).processUrlSearchParams;function EC(){if(typeof window>"u"||!window.GestureEvent)return 50;try{const e=navigator.userAgent?.match(/version\/([\d\.]+) safari/i);return parseFloat(e[1])>=17?120:320}catch{return 320}}function IC(e){return{method:"throttle",timeMs:e}}var fa=IC(EC());function jC(e){return e===null||Array.isArray(e)&&e.length===0}function TC(e,t,n){if(typeof e=="string")n.set(t,e);else{n.delete(t);for(const r of e)n.append(t,r);n.has(t)||n.set(t,"")}return n}function iu(){const e=new Map;return{on(t,n){const r=e.get(t)||[];return r.push(n),e.set(t,r),()=>this.off(t,n)},off(t,n){const r=e.get(t);r&&e.set(t,r.filter(s=>s!==n))},emit(t,n){e.get(t)?.forEach(r=>r(n))}}}function Ql(e,t,n){function r(){e(),n.removeEventListener("abort",a)}const s=setTimeout(r,t);function a(){clearTimeout(s),n.removeEventListener("abort",a)}n.addEventListener("abort",a)}function Xl(){const e=Promise;if(Promise.hasOwnProperty("withResolvers"))return Promise.withResolvers();let t=()=>{},n=()=>{};return{promise:new e((r,s)=>{t=r,n=s}),resolve:t,reject:n}}function RC(e,t){let n=t;for(let r=e.length-1;r>=0;r--){const s=e[r];if(!s)continue;const a=n;n=()=>s(a)}n()}function Zl(){return new URLSearchParams(location.search)}var yp=class{updateMap=new Map;options={history:"replace",scroll:!1,shallow:!0};timeMs=fa.timeMs;transitions=new Set;resolvers=null;controller=null;lastFlushedAt=0;resetQueueOnNextPush=!1;push({key:e,query:t,options:n},r=fa.timeMs){this.resetQueueOnNextPush&&(this.reset(),this.resetQueueOnNextPush=!1),Ge("[nuqs gtq] Enqueueing %s=%s %O",e,t,n),this.updateMap.set(e,t),n.history==="push"&&(this.options.history="push"),n.scroll&&(this.options.scroll=!0),n.shallow===!1&&(this.options.shallow=!1),n.startTransition&&this.transitions.add(n.startTransition),(!Number.isFinite(this.timeMs)||r>this.timeMs)&&(this.timeMs=r)}getQueuedQuery(e){return this.updateMap.get(e)}getPendingPromise({getSearchParamsSnapshot:e=Zl}){return this.resolvers?.promise??Promise.resolve(e())}flush({getSearchParamsSnapshot:e=Zl,rateLimitFactor:t=1,...n},r){if(this.controller??=new AbortController,!Number.isFinite(this.timeMs))return Ge("[nuqs gtq] Skipping flush due to throttleMs=Infinity"),Promise.resolve(e());if(this.resolvers)return this.resolvers.promise;this.resolvers=Xl();const s=()=>{this.lastFlushedAt=performance.now();const[o,i]=this.applyPendingUpdates({...n,autoResetQueueOnUpdate:n.autoResetQueueOnUpdate??!0,getSearchParamsSnapshot:e},r);i===null?(this.resolvers.resolve(o),this.resetQueueOnNextPush=!0):this.resolvers.reject(o),this.resolvers=null};return Ql(()=>{const o=performance.now()-this.lastFlushedAt,i=this.timeMs,c=t*Math.max(0,i-o);Ge("[nuqs gtq] Scheduling flush in %f ms. Throttled at %f ms (x%f)",c,i,t),c===0?s():Ql(s,c,this.controller.signal)},0,this.controller.signal),this.resolvers.promise}abort(){return this.controller?.abort(),this.controller=new AbortController,this.resolvers?.resolve(new URLSearchParams),this.resolvers=null,this.reset()}reset(){const e=Array.from(this.updateMap.keys());return Ge("[nuqs gtq] Resetting queue %s",JSON.stringify(Object.fromEntries(this.updateMap))),this.updateMap.clear(),this.transitions.clear(),this.options={history:"replace",scroll:!1,shallow:!0},this.timeMs=fa.timeMs,e}applyPendingUpdates(e,t){const{updateUrl:n,getSearchParamsSnapshot:r}=e;let s=r();if(Ge("[nuqs gtq] Applying %d pending update(s) on top of %s",this.updateMap.size,s.toString()),this.updateMap.size===0)return[s,null];const a=Array.from(this.updateMap.entries()),o={...this.options},i=Array.from(this.transitions);e.autoResetQueueOnUpdate&&this.reset(),Ge("[nuqs gtq] Flushing queue %O with options %O",a,o);for(const[c,u]of a)u===null?s.delete(c):s=TC(u,c,s);t&&(s=t(s));try{return RC(i,()=>{n(s,o)}),[s,null]}catch(c){return console.error(_a(429),a.map(([u])=>u).join(),c),[s,c]}}},po=new yp;function kC(e,t,n){const r=(0,p.useCallback)(()=>{const a=Object.fromEntries(e.map(o=>[o,n(o)]));return[JSON.stringify(a),a]},[e.join(","),n]),s=(0,p.useRef)(null);return s.current===null&&(s.current=r()),(0,p.useSyncExternalStore)((0,p.useCallback)(a=>{const o=e.map(i=>t(i,a));return()=>o.forEach(i=>i())},[e.join(","),t]),()=>{const[a,o]=r();return s.current[0]===a?s.current[1]:(s.current=[a,o],o)},()=>s.current[1])}var _C=class{callback;resolvers=Xl();controller=new AbortController;queuedValue=void 0;constructor(e){this.callback=e}abort(){this.controller.abort(),this.queuedValue=void 0}push(e,t){return this.queuedValue=e,this.controller.abort(),this.controller=new AbortController,Ql(()=>{const n=this.resolvers;try{Ge("[nuqs dq] Flushing debounce queue",e);const r=this.callback(e);Ge("[nuqs dq] Reset debounce queue %O",this.queuedValue),this.queuedValue=void 0,this.resolvers=Xl(),r.then(s=>n.resolve(s)).catch(s=>n.reject(s))}catch(r){this.queuedValue=void 0,n.reject(r)}},t,this.controller.signal),this.resolvers.promise}},AC=class{throttleQueue;queues=new Map;queuedQuerySync=iu();constructor(e=new yp){this.throttleQueue=e}useQueuedQueries(e){return kC(e,(t,n)=>this.queuedQuerySync.on(t,n),t=>this.getQueuedQuery(t))}push(e,t,n,r){if(!Number.isFinite(t)){const o=n.getSearchParamsSnapshot??Zl;return Promise.resolve(o())}const s=e.key;if(!this.queues.has(s)){Ge("[nuqs dqc] Creating debounce queue for `%s`",s);const o=new _C(i=>(this.throttleQueue.push(i),this.throttleQueue.flush(n,r).finally(()=>{this.queues.get(i.key)?.queuedValue===void 0&&(Ge("[nuqs dqc] Cleaning up empty queue for `%s`",i.key),this.queues.delete(i.key)),this.queuedQuerySync.emit(i.key)})));this.queues.set(s,o)}Ge("[nuqs dqc] Enqueueing debounce update %O",e);const a=this.queues.get(s).push(e,t);return this.queuedQuerySync.emit(s),a}abort(e){const t=this.queues.get(e);return t?(Ge("[nuqs dqc] Aborting debounce queue %s=%s",e,t.queuedValue?.query),this.queues.delete(e),t.abort(),this.queuedQuerySync.emit(e),n=>(n.then(t.resolvers.resolve,t.resolvers.reject),n)):n=>n}abortAll(){for(const[e,t]of this.queues.entries())Ge("[nuqs dqc] Aborting debounce queue %s=%s",e,t.queuedValue?.query),t.abort(),t.resolvers.resolve(new URLSearchParams),this.queuedQuerySync.emit(e);this.queues.clear()}getQueuedQuery(e){const t=this.queues.get(e)?.queuedValue?.query;return t!==void 0?t:this.throttleQueue.getQueuedQuery(e)}},Hi=new AC(po);function xp(e,t){return e===t?!0:e===null||t===null||typeof e=="string"||typeof t=="string"||e.length!==t.length?!1:e.every((n,r)=>n===t[r])}function Bd(e,t,n){return r=>{if(!(t.length===0||t.some(a=>!xp(r.getAll(a),e.getAll(a)))))return Ge("[nuqs `%s`] no change, returning previous",t.join(","),r),r;const s=bp(e,t,n);return Ge("[nuqs `%s`] subbed search params change\n from %O\n to %O",t.join(","),r,s),s}}function bp(e,t,n){if(t.length===0)return e;const r=n?new URLSearchParams(e):e;for(const s of e.keys())t.includes(s)||r.delete(s);return r}var MC="__nuqs__",ec=iu();function OC(e){return function(n,r){const s=new URL(location.href);s.search=xC(n),Ge("[nuqs react] Updating url: %s",s),e&&r.shallow===!1?(r.history==="push"?location.assign:location.replace).call(location,s):(r.history==="push"?history.pushState:history.replaceState).call(history,history.state,MC,s),ec.emit("update",n),r.scroll===!0&&window.scrollTo({top:0})}}var wp=(0,p.createContext)({fullPageNavigationOnShallowFalseUpdates:!1});function DC(e){const{fullPageNavigationOnShallowFalseUpdates:t}=(0,p.useContext)(wp),[n,r]=(0,p.useState)(()=>typeof location>"u"?new URLSearchParams:bp(new URLSearchParams(location.search),e,!1));return(0,p.useEffect)(()=>{const s=()=>{r(Bd(new URLSearchParams(location.search),e,!1))},a=o=>{r(Bd(o,e,!0))};return ec.on("update",a),window.addEventListener("popstate",s),()=>{ec.off("update",a),window.removeEventListener("popstate",s)}},[e.join("&")]),{searchParams:n,updateUrl:(0,p.useMemo)(()=>OC(t),[t])}}var PC=wC(DC);function LC({children:e,fullPageNavigationOnShallowFalseUpdates:t=!1,...n}){return(0,p.createElement)(wp.Provider,{value:{fullPageNavigationOnShallowFalseUpdates:t}},(0,p.createElement)(PC,{...n,children:e}))}var Ud=1,FC=.9,$C=.8,zC=.17,qi=.1,Wi=.999,VC=.9999,BC=.99,UC=/[\\\/_+.#"@\[\(\{&]/,HC=/[\\\/_+.#"@\[\(\{&]/g,qC=/[\s-]/,Sp=/[\s-]/g;function tc(e,t,n,r,s,a,o){if(a===t.length)return s===e.length?Ud:BC;var i=`${s},${a}`;if(o[i]!==void 0)return o[i];for(var c=r.charAt(a),u=n.indexOf(c,s),d=0,f,h,m,v;u>=0;)f=tc(e,t,n,r,u+1,a+1,o),f>d&&(u===s?f*=Ud:UC.test(e.charAt(u-1))?(f*=$C,m=e.slice(s,u-1).match(HC),m&&s>0&&(f*=Math.pow(Wi,m.length))):qC.test(e.charAt(u-1))?(f*=FC,v=e.slice(s,u-1).match(Sp),v&&s>0&&(f*=Math.pow(Wi,v.length))):(f*=zC,s>0&&(f*=Math.pow(Wi,u-s))),e.charAt(u)!==t.charAt(a)&&(f*=VC)),(f<qi&&n.charAt(u-1)===r.charAt(a+1)||r.charAt(a+1)===r.charAt(a)&&n.charAt(u-1)!==r.charAt(a))&&(h=tc(e,t,n,r,u+1,a+2,o),h*qi>f&&(f=h*qi)),f>d&&(d=f),u=n.indexOf(c,u+1);return o[i]=d,d}function Hd(e){return e.toLowerCase().replace(Sp," ")}function WC(e,t,n){return e=n&&n.length>0?`${e+" "+n.join(" ")}`:e,tc(e,t,Hd(e),Hd(t),0,0,{})}var Bs='[cmdk-group=""]',Ki='[cmdk-group-items=""]',KC='[cmdk-group-heading=""]',Cp='[cmdk-item=""]',qd=`${Cp}:not([aria-disabled="true"])`,nc="cmdk-item-select",cs="data-value",YC=(e,t,n)=>WC(e,t,n),Np=p.createContext(void 0),Aa=()=>p.useContext(Np),Ep=p.createContext(void 0),lu=()=>p.useContext(Ep),Ip=p.createContext(void 0),jp=p.forwardRef((e,t)=>{let n=us(()=>{var F,K;return{search:"",value:(K=(F=e.value)!=null?F:e.defaultValue)!=null?K:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),r=us(()=>new Set),s=us(()=>new Map),a=us(()=>new Map),o=us(()=>new Set),i=Tp(e),{label:c,children:u,value:d,onValueChange:f,filter:h,shouldFilter:m,loop:v,disablePointerSelection:S=!1,vimBindings:b=!0,...N}=e,w=ms(),y=ms(),g=ms(),x=p.useRef(null),C=aN();Vr(()=>{if(d!==void 0){let F=d.trim();n.current.value=F,j.emit()}},[d]),Vr(()=>{C(6,A)},[]);let j=p.useMemo(()=>({subscribe:F=>(o.current.add(F),()=>o.current.delete(F)),snapshot:()=>n.current,setState:(F,K,H)=>{var Y,ne,ee,$;if(!Object.is(n.current[F],K)){if(n.current[F]=K,F==="search")_(),O(),C(1,k);else if(F==="value"){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let Q=document.getElementById(g);Q?Q.focus():(Y=document.getElementById(w))==null||Y.focus()}if(C(7,()=>{var Q;n.current.selectedItemId=(Q=I())==null?void 0:Q.id,j.emit()}),H||C(5,A),((ne=i.current)==null?void 0:ne.value)!==void 0){let Q=K??"";($=(ee=i.current).onValueChange)==null||$.call(ee,Q);return}}j.emit()}},emit:()=>{o.current.forEach(F=>F())}}),[]),E=p.useMemo(()=>({value:(F,K,H)=>{var Y;K!==((Y=a.current.get(F))==null?void 0:Y.value)&&(a.current.set(F,{value:K,keywords:H}),n.current.filtered.items.set(F,R(K,H)),C(2,()=>{O(),j.emit()}))},item:(F,K)=>(r.current.add(F),K&&(s.current.has(K)?s.current.get(K).add(F):s.current.set(K,new Set([F]))),C(3,()=>{_(),O(),n.current.value||k(),j.emit()}),()=>{a.current.delete(F),r.current.delete(F),n.current.filtered.items.delete(F);let H=I();C(4,()=>{_(),H?.getAttribute("id")===F&&k(),j.emit()})}),group:F=>(s.current.has(F)||s.current.set(F,new Set),()=>{a.current.delete(F),s.current.delete(F)}),filter:()=>i.current.shouldFilter,label:c||e["aria-label"],getDisablePointerSelection:()=>i.current.disablePointerSelection,listId:w,inputId:g,labelId:y,listInnerRef:x}),[]);function R(F,K){var H,Y;let ne=(Y=(H=i.current)==null?void 0:H.filter)!=null?Y:YC;return F?ne(F,n.current.search,K):0}function O(){if(!n.current.search||i.current.shouldFilter===!1)return;let F=n.current.filtered.items,K=[];n.current.filtered.groups.forEach(Y=>{let ne=s.current.get(Y),ee=0;ne.forEach($=>{let Q=F.get($);ee=Math.max(Q,ee)}),K.push([Y,ee])});let H=x.current;T().sort((Y,ne)=>{var ee,$;let Q=Y.getAttribute("id"),he=ne.getAttribute("id");return((ee=F.get(he))!=null?ee:0)-(($=F.get(Q))!=null?$:0)}).forEach(Y=>{let ne=Y.closest(Ki);ne?ne.appendChild(Y.parentElement===ne?Y:Y.closest(`${Ki} > *`)):H.appendChild(Y.parentElement===H?Y:Y.closest(`${Ki} > *`))}),K.sort((Y,ne)=>ne[1]-Y[1]).forEach(Y=>{var ne;let ee=(ne=x.current)==null?void 0:ne.querySelector(`${Bs}[${cs}="${encodeURIComponent(Y[0])}"]`);ee?.parentElement.appendChild(ee)})}function k(){let F=T().find(H=>H.getAttribute("aria-disabled")!=="true"),K=F?.getAttribute(cs);j.setState("value",K||void 0)}function _(){var F,K,H,Y;if(!n.current.search||i.current.shouldFilter===!1){n.current.filtered.count=r.current.size;return}n.current.filtered.groups=new Set;let ne=0;for(let ee of r.current){let $=R((K=(F=a.current.get(ee))==null?void 0:F.value)!=null?K:"",(Y=(H=a.current.get(ee))==null?void 0:H.keywords)!=null?Y:[]);n.current.filtered.items.set(ee,$),$>0&&ne++}for(let[ee,$]of s.current)for(let Q of $)if(n.current.filtered.items.get(Q)>0){n.current.filtered.groups.add(ee);break}n.current.filtered.count=ne}function A(){var F,K,H;let Y=I();Y&&(((F=Y.parentElement)==null?void 0:F.firstChild)===Y&&((H=(K=Y.closest(Bs))==null?void 0:K.querySelector(KC))==null||H.scrollIntoView({block:"nearest"})),Y.scrollIntoView({block:"nearest"}))}function I(){var F;return(F=x.current)==null?void 0:F.querySelector(`${Cp}[aria-selected="true"]`)}function T(){var F;return Array.from(((F=x.current)==null?void 0:F.querySelectorAll(qd))||[])}function M(F){let K=T()[F];K&&j.setState("value",K.getAttribute(cs))}function P(F){var K;let H=I(),Y=T(),ne=Y.findIndex($=>$===H),ee=Y[ne+F];(K=i.current)!=null&&K.loop&&(ee=ne+F<0?Y[Y.length-1]:ne+F===Y.length?Y[0]:Y[ne+F]),ee&&j.setState("value",ee.getAttribute(cs))}function V(F){let K=I(),H=K?.closest(Bs),Y;for(;H&&!Y;)H=F>0?rN(H,Bs):sN(H,Bs),Y=H?.querySelector(qd);Y?j.setState("value",Y.getAttribute(cs)):P(F)}let L=()=>M(T().length-1),B=F=>{F.preventDefault(),F.metaKey?L():F.altKey?V(1):P(1)},q=F=>{F.preventDefault(),F.metaKey?M(0):F.altKey?V(-1):P(-1)};return p.createElement(ur.div,{ref:t,tabIndex:-1,...N,"cmdk-root":"",onKeyDown:F=>{var K;(K=N.onKeyDown)==null||K.call(N,F);let H=F.nativeEvent.isComposing||F.keyCode===229;if(!(F.defaultPrevented||H))switch(F.key){case"n":case"j":b&&F.ctrlKey&&B(F);break;case"ArrowDown":B(F);break;case"p":case"k":b&&F.ctrlKey&&q(F);break;case"ArrowUp":q(F);break;case"Home":F.preventDefault(),M(0);break;case"End":F.preventDefault(),L();break;case"Enter":{F.preventDefault();let Y=I();if(Y){let ne=new Event(nc);Y.dispatchEvent(ne)}}}}},p.createElement("label",{"cmdk-label":"",htmlFor:E.inputId,id:E.labelId,style:iN},c),Zo(e,F=>p.createElement(Ep.Provider,{value:j},p.createElement(Np.Provider,{value:E},F))))}),GC=p.forwardRef((e,t)=>{var n,r;let s=ms(),a=p.useRef(null),o=p.useContext(Ip),i=Aa(),c=Tp(e),u=(r=(n=c.current)==null?void 0:n.forceMount)!=null?r:o?.forceMount;Vr(()=>{if(!u)return i.item(s,o?.id)},[u]);let d=Rp(s,a,[e.value,e.children,a],e.keywords),f=lu(),h=ir(C=>C.value&&C.value===d.current),m=ir(C=>u||i.filter()===!1?!0:C.search?C.filtered.items.get(s)>0:!0);p.useEffect(()=>{let C=a.current;if(!(!C||e.disabled))return C.addEventListener(nc,v),()=>C.removeEventListener(nc,v)},[m,e.onSelect,e.disabled]);function v(){var C,j;S(),(j=(C=c.current).onSelect)==null||j.call(C,d.current)}function S(){f.setState("value",d.current,!0)}if(!m)return null;let{disabled:b,value:N,onSelect:w,forceMount:y,keywords:g,...x}=e;return p.createElement(ur.div,{ref:ga(a,t),...x,id:s,"cmdk-item":"",role:"option","aria-disabled":!!b,"aria-selected":!!h,"data-disabled":!!b,"data-selected":!!h,onPointerMove:b||i.getDisablePointerSelection()?void 0:S,onClick:b?void 0:v},e.children)}),JC=p.forwardRef((e,t)=>{let{heading:n,children:r,forceMount:s,...a}=e,o=ms(),i=p.useRef(null),c=p.useRef(null),u=ms(),d=Aa(),f=ir(m=>s||d.filter()===!1?!0:m.search?m.filtered.groups.has(o):!0);Vr(()=>d.group(o),[]),Rp(o,i,[e.value,e.heading,c]);let h=p.useMemo(()=>({id:o,forceMount:s}),[s]);return p.createElement(ur.div,{ref:ga(i,t),...a,"cmdk-group":"",role:"presentation",hidden:f?void 0:!0},n&&p.createElement("div",{ref:c,"cmdk-group-heading":"","aria-hidden":!0,id:u},n),Zo(e,m=>p.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":n?u:void 0},p.createElement(Ip.Provider,{value:h},m))))}),QC=p.forwardRef((e,t)=>{let{alwaysRender:n,...r}=e,s=p.useRef(null),a=ir(o=>!o.search);return!n&&!a?null:p.createElement(ur.div,{ref:ga(s,t),...r,"cmdk-separator":"",role:"separator"})}),XC=p.forwardRef((e,t)=>{let{onValueChange:n,...r}=e,s=e.value!=null,a=lu(),o=ir(u=>u.search),i=ir(u=>u.selectedItemId),c=Aa();return p.useEffect(()=>{e.value!=null&&a.setState("search",e.value)},[e.value]),p.createElement(ur.input,{ref:t,...r,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":c.listId,"aria-labelledby":c.labelId,"aria-activedescendant":i,id:c.inputId,type:"text",value:s?e.value:o,onChange:u=>{s||a.setState("search",u.target.value),n?.(u.target.value)}})}),ZC=p.forwardRef((e,t)=>{let{children:n,label:r="Suggestions",...s}=e,a=p.useRef(null),o=p.useRef(null),i=ir(u=>u.selectedItemId),c=Aa();return p.useEffect(()=>{if(o.current&&a.current){let u=o.current,d=a.current,f,h=new ResizeObserver(()=>{f=requestAnimationFrame(()=>{let m=u.offsetHeight;d.style.setProperty("--cmdk-list-height",m.toFixed(1)+"px")})});return h.observe(u),()=>{cancelAnimationFrame(f),h.unobserve(u)}}},[]),p.createElement(ur.div,{ref:ga(a,t),...s,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":i,"aria-label":r,id:c.listId},Zo(e,u=>p.createElement("div",{ref:ga(o,c.listInnerRef),"cmdk-list-sizer":""},u)))}),eN=p.forwardRef((e,t)=>{let{open:n,onOpenChange:r,overlayClassName:s,contentClassName:a,container:o,...i}=e;return p.createElement(ru,{open:n,onOpenChange:r},p.createElement(eu,{container:o},p.createElement(tu,{"cmdk-overlay":"",className:s}),p.createElement(nu,{"aria-label":e.label,"cmdk-dialog":"",className:a},p.createElement(jp,{ref:t,...i}))))}),tN=p.forwardRef((e,t)=>ir(n=>n.filtered.count===0)?p.createElement(ur.div,{ref:t,...e,"cmdk-empty":"",role:"presentation"}):null),nN=p.forwardRef((e,t)=>{let{progress:n,children:r,label:s="Loading...",...a}=e;return p.createElement(ur.div,{ref:t,...a,"cmdk-loading":"",role:"progressbar","aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":s},Zo(e,o=>p.createElement("div",{"aria-hidden":!0},o)))}),ns=Object.assign(jp,{List:ZC,Item:GC,Input:XC,Group:JC,Separator:QC,Dialog:eN,Empty:tN,Loading:nN});function rN(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}}function sN(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}}function Tp(e){let t=p.useRef(e);return Vr(()=>{t.current=e}),t}var Vr=typeof window>"u"?p.useEffect:p.useLayoutEffect;function us(e){let t=p.useRef();return t.current===void 0&&(t.current=e()),t}function ir(e){let t=lu(),n=()=>e(t.snapshot());return p.useSyncExternalStore(t.subscribe,n,n)}function Rp(e,t,n,r=[]){let s=p.useRef(),a=Aa();return Vr(()=>{var o;let i=(()=>{var u;for(let d of n){if(typeof d=="string")return d.trim();if(typeof d=="object"&&"current"in d)return d.current?(u=d.current.textContent)==null?void 0:u.trim():s.current}})(),c=r.map(u=>u.trim());a.value(e,i,c),(o=t.current)==null||o.setAttribute(cs,i),s.current=i}),s}var aN=()=>{let[e,t]=p.useState(),n=us(()=>new Map);return Vr(()=>{n.current.forEach(r=>r()),n.current=new Map},[e]),(r,s)=>{n.current.set(r,s),t({})}};function oN(e){let t=e.type;return typeof t=="function"?t(e.props):"render"in t?t.render(e.props):e}function Zo({asChild:e,children:t},n){return e&&p.isValidElement(t)?p.cloneElement(oN(t),{ref:t.ref},n(t.props.children)):n(t)}var iN={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};function ei({...e}){return(0,l.jsx)(ru,{"data-slot":"dialog",...e})}function lN({...e}){return(0,l.jsx)(eu,{"data-slot":"dialog-portal",...e})}function cN({className:e,...t}){return(0,l.jsx)(tu,{"data-slot":"dialog-overlay",className:G("data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 bg-black/80 duration-100 supports-backdrop-filter:backdrop-blur-xs fixed inset-0 isolate z-50",e),...t})}function ti({className:e,children:t,showCloseButton:n=!0,...r}){return(0,l.jsxs)(lN,{children:[(0,l.jsx)(cN,{}),(0,l.jsxs)(nu,{"data-slot":"dialog-content",className:G("bg-background data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 ring-foreground/10 grid max-w-[calc(100%-2rem)] gap-4 rounded-xl p-4 text-xs/relaxed ring-1 duration-100 sm:max-w-sm fixed top-1/2 left-1/2 z-50 w-full -translate-x-1/2 -translate-y-1/2",e),...r,children:[(0,l.jsx)(ip.Provider,{value:!0,children:t}),n&&(0,l.jsx)(su,{"data-slot":"dialog-close",asChild:!0,children:(0,l.jsxs)(te,{variant:"ghost",className:"absolute top-2 right-2",size:"icon-sm",children:[(0,l.jsx)(_s,{}),(0,l.jsx)("span",{className:"sr-only",children:"Close"})]})})]})]})}function ni({className:e,...t}){return(0,l.jsx)("div",{"data-slot":"dialog-header",className:G("gap-1 flex flex-col",e),...t})}function cu({className:e,showCloseButton:t=!1,children:n,...r}){return(0,l.jsxs)("div",{"data-slot":"dialog-footer",className:G("gap-2 flex flex-col-reverse sm:flex-row sm:justify-end",e),...r,children:[n,t&&(0,l.jsx)(su,{asChild:!0,children:(0,l.jsx)(te,{variant:"outline",children:"Close"})})]})}function ri({className:e,...t}){return(0,l.jsx)(np,{"data-slot":"dialog-title",className:G("text-sm font-medium",e),...t})}function si({className:e,...t}){return(0,l.jsx)(op,{"data-slot":"dialog-description",className:G("text-muted-foreground *:[a]:hover:text-foreground text-xs/relaxed *:[a]:underline *:[a]:underline-offset-3",e),...t})}function uu({className:e,...t}){return(0,l.jsx)(ns,{"data-slot":"command",className:G("bg-popover text-popover-foreground rounded-xl flex size-full flex-col overflow-hidden",e),...t})}function uN({title:e="Command Palette",description:t="Search for a command to run...",children:n,className:r,showCloseButton:s=!1,...a}){return(0,l.jsxs)(ei,{...a,children:[(0,l.jsxs)(ni,{className:"sr-only",children:[(0,l.jsx)(ri,{children:e}),(0,l.jsx)(si,{children:t})]}),(0,l.jsx)(ti,{className:G("rounded-xl! p-0 overflow-hidden",r),showCloseButton:s,children:(0,l.jsx)(uu,{className:"[&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-2 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5",children:n})})]})}function du({className:e,...t}){return(0,l.jsx)("div",{"data-slot":"command-input-wrapper",className:"p-2 w-full",children:(0,l.jsxs)(AS,{className:"bg-input/20 dark:bg-input/30 h-8!",children:[(0,l.jsx)(ns.Input,{"data-slot":"command-input",className:G("w-full text-xs/relaxed outline-hidden disabled:cursor-not-allowed disabled:opacity-50",e),...t}),(0,l.jsx)(OS,{children:(0,l.jsx)(Yc,{className:"size-3.5 shrink-0 opacity-50"})})]})})}function fu({className:e,...t}){return(0,l.jsx)(ns.List,{"data-slot":"command-list",className:G("max-h-72 scroll-py-1 outline-none overflow-x-hidden overflow-y-auto",e),...t})}function hu({className:e,...t}){return(0,l.jsx)(ns.Empty,{"data-slot":"command-empty",className:G("py-6 text-center text-xs/relaxed",e),...t})}function Vn({className:e,...t}){return(0,l.jsx)(ns.Group,{"data-slot":"command-group",className:G("text-foreground **:[[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2.5 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium",e),...t})}function Us({className:e,...t}){return(0,l.jsx)(ns.Separator,{"data-slot":"command-separator",className:G("bg-border/50 -mx-1 my-1 h-px",e),...t})}function Fe({className:e,children:t,...n}){return(0,l.jsxs)(ns.Item,{"data-slot":"command-item",className:G("data-selected:bg-muted data-selected:text-foreground data-selected:*:[svg]:text-foreground relative flex min-h-3 cursor-default items-center gap-2 rounded-md px-2.5 py-1.5 text-xs/relaxed outline-hidden select-none [&_svg:not([class*='size-'])]:size-3.5 [[data-slot=dialog-content]_&]:rounded-md group/command-item data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",e),...n,children:[t,(0,l.jsx)(Zr,{className:"ml-auto opacity-0 group-has-[[data-slot=command-shortcut]]/command-item:hidden group-data-[checked=true]/command-item:opacity-100"})]})}function dN({className:e,...t}){return(0,l.jsx)("span",{"data-slot":"command-shortcut",className:G("text-muted-foreground group-data-selected/command-item:text-foreground ml-auto text-[0.625rem] tracking-widest",e),...t})}function ht({className:e,...t}){return(0,l.jsx)("kbd",{"data-slot":"kbd",className:G("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 fN=dr()(e=>({pendingPrompt:null,requestAssistant:t=>e({pendingPrompt:t}),consumePrompt:()=>e({pendingPrompt:null})})),hN=()=>{const{selectedDatabase:e}=Ue(),{mutateAsync:t,isPending:n}=It({mutationFn:async({tableName:s,schemaName:a})=>{const o=(await KS(s,e,a)).data.data.schema;return await navigator.clipboard.writeText(o),o}});return{copyTableSchema:async(s,a)=>Be.promise(t({tableName:s,schemaName:a}),{loading:"Copying table schema...",success:"Table schema copied to clipboard",error:o=>o.message||"Failed to copy table schema"}),isCopyingSchema:n}},Ma=e=>e.type==="checkbox",Er=e=>e instanceof Date,Et=e=>e==null,kp=e=>typeof e=="object",tt=e=>!Et(e)&&!Array.isArray(e)&&kp(e)&&!Er(e),_p=e=>tt(e)&&e.target?Ma(e.target)?e.target.checked:e.target.value:e,Ap=(e,t)=>t.split(".").some((n,r,s)=>!isNaN(Number(n))&&e.has(s.slice(0,r).join("."))),mN=e=>{const t=e.constructor&&e.constructor.prototype;return tt(t)&&t.hasOwnProperty("isPrototypeOf")},mu=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function $e(e){if(e instanceof Date)return new Date(e);const t=typeof FileList<"u"&&e instanceof FileList;if(mu&&(e instanceof Blob||t))return e;const n=Array.isArray(e);if(!n&&!(tt(e)&&mN(e)))return e;const r=n?[]:Object.create(Object.getPrototypeOf(e));for(const s in e)Object.prototype.hasOwnProperty.call(e,s)&&(r[s]=$e(e[s]));return r}var ai=e=>/^\w*$/.test(e),Pe=e=>e===void 0,oi=e=>Array.isArray(e)?e.filter(Boolean):[],pu=e=>oi(e.replace(/["|']|\]/g,"").split(/\.|\[/)),re=(e,t,n)=>{if(!t||!tt(e))return n;const r=(ai(t)?[t]:pu(t)).reduce((s,a)=>Et(s)?void 0:s[a],e);return Pe(r)||r===e?Pe(e[t])?n:e[t]:r},Lt=e=>typeof e=="boolean",xt=e=>typeof e=="function",_e=(e,t,n)=>{let r=-1;const s=ai(t)?[t]:pu(t),a=s.length,o=a-1;for(;++r<a;){const i=s[r];let c=n;if(r!==o){const u=e[i];c=tt(u)||Array.isArray(u)?u:isNaN(+s[r+1])?{}:[]}if(i==="__proto__"||i==="constructor"||i==="prototype")return;e[i]=c,e=e[i]}},rr={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change",SUBMIT:"submit",TRIGGER:"trigger",VALID:"valid"},Jt={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},ln={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},Yi="form",Mp="root",gu=p.createContext(null);gu.displayName="HookFormControlContext";var ii=()=>p.useContext(gu),Op=(e,t,n,r=!0)=>{const s={};for(const a in e)Object.defineProperty(s,a,{get:()=>{const o=a;return t._proxyFormState[o]!==Jt.all&&(t._proxyFormState[o]=!r||Jt.all),n&&(n[o]=!0),e[o]}});return s},li=typeof window<"u"?p.useLayoutEffect:p.useEffect;function pN(e){const t=ii(),{control:n=t,disabled:r,name:s,exact:a}=e||{},[o,i]=p.useState(()=>({...n._formState,defaultValues:n._defaultValues})),c=p.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1});return li(()=>n._subscribe({name:s,formState:c.current,exact:a,callback:u=>{!r&&i({...n._formState,...u,defaultValues:n._defaultValues})}}),[s,r,a]),p.useEffect(()=>{c.current.isValid&&n._setValid(!0)},[n]),p.useMemo(()=>Op(o,n,c.current,!1),[o,n])}var bt=e=>typeof e=="string",rc=(e,t,n,r,s)=>bt(e)?(r&&t.watch.add(e),re(n,e,s)):Array.isArray(e)?e.map(a=>(r&&t.watch.add(a),re(n,a))):(r&&(t.watchAll=!0),n),sc=e=>Et(e)||!kp(e);function Ft(e,t,n=new WeakSet){if(e===t)return!0;if(sc(e)||sc(t))return Object.is(e,t);if(Er(e)&&Er(t))return Object.is(e.getTime(),t.getTime());const r=Object.keys(e),s=Object.keys(t);if(r.length!==s.length)return!1;if(n.has(e)||n.has(t))return!0;n.add(e),n.add(t);for(const a of r){const o=e[a];if(!(a in t))return!1;if(a!=="ref"){const i=t[a];if(Er(o)&&Er(i)||(tt(o)||Array.isArray(o))&&(tt(i)||Array.isArray(i))?!Ft(o,i,n):!Object.is(o,i))return!1}}return!0}function Gt(e){const t=ii(),{control:n=t,name:r,defaultValue:s,disabled:a,exact:o,compute:i}=e||{},c=p.useRef(s),u=p.useRef(i),d=p.useRef(void 0),f=p.useRef(n),h=p.useRef(r);u.current=i;const[m,v]=p.useState(()=>{const g=n._getWatch(r,c.current);return u.current?u.current(g):g}),S=p.useCallback(g=>{const x=rc(r,n._names,g||n._formValues,!1,c.current);return u.current?u.current(x):x},[n._formValues,n._names,r]),b=p.useCallback(g=>{if(!a){const x=rc(r,n._names,g||n._formValues,!1,c.current);if(u.current){const C=u.current(x);Ft(C,d.current)||(v(C),d.current=C)}else v(x)}},[n._formValues,n._names,a,r]);li(()=>((f.current!==n||!Ft(h.current,r))&&(f.current=n,h.current=r,b()),n._subscribe({name:r,formState:{values:!0},exact:o,callback:g=>{b(g.values)}})),[n,o,r,b]),p.useEffect(()=>n._removeUnmounted());const N=f.current!==n,w=h.current,y=p.useMemo(()=>{if(a)return null;const g=!N&&!Ft(w,r);return N||g?S():null},[a,N,r,w,S]);return y!==null?y:m}function gN(e){const t=ii(),{name:n,disabled:r,control:s=t,shouldUnregister:a,defaultValue:o,exact:i=!0}=e,c=Ap(s._names.array,n),u=Gt({control:s,name:n,defaultValue:p.useMemo(()=>re(s._formValues,n,re(s._defaultValues,n,o)),[s,n,o]),exact:i}),d=pN({control:s,name:n,exact:i}),f=p.useRef(e),h=p.useRef(s.register(n,{...e.rules,value:u,...Lt(e.disabled)?{disabled:e.disabled}:{}}));f.current=e;const m=p.useMemo(()=>Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!re(d.errors,n)},isDirty:{enumerable:!0,get:()=>!!re(d.dirtyFields,n)},isTouched:{enumerable:!0,get:()=>!!re(d.touchedFields,n)},isValidating:{enumerable:!0,get:()=>!!re(d.validatingFields,n)},error:{enumerable:!0,get:()=>re(d.errors,n)}}),[d,n]),v=p.useCallback(w=>h.current.onChange({target:{value:_p(w),name:n},type:rr.CHANGE}),[n]),S=p.useCallback(()=>h.current.onBlur({target:{value:re(s._formValues,n),name:n},type:rr.BLUR}),[n,s._formValues]),b=p.useCallback(w=>{const y=re(s._fields,n);y&&y._f&&w&&(y._f.ref={focus:()=>xt(w.focus)&&w.focus(),select:()=>xt(w.select)&&w.select(),setCustomValidity:g=>xt(w.setCustomValidity)&&w.setCustomValidity(g),reportValidity:()=>xt(w.reportValidity)&&w.reportValidity()})},[s._fields,n]),N=p.useMemo(()=>({name:n,value:u,...Lt(r)||d.disabled?{disabled:d.disabled||r}:{},onChange:v,onBlur:S,ref:b}),[n,r,d.disabled,v,S,b,u]);return p.useEffect(()=>{const w=s._options.shouldUnregister||a;s.register(n,{...f.current.rules,...Lt(f.current.disabled)?{disabled:f.current.disabled}:{}});const y=(g,x)=>{const C=re(s._fields,g);C&&C._f&&(C._f.mount=x)};if(y(n,!0),w){const g=$e(re(s._options.defaultValues,n,f.current.defaultValue));_e(s._defaultValues,n,g),Pe(re(s._formValues,n))&&_e(s._formValues,n,g)}return!c&&s.register(n),()=>{(c?w&&!s._state.action:w)?s.unregister(n):y(n,!1)}},[n,s,c,a]),p.useEffect(()=>{s._setDisabledField({disabled:r,name:n})},[r,n,s]),p.useMemo(()=>({field:N,formState:d,fieldState:m}),[N,d,m])}var Ht=e=>e.render(gN(e)),vu=p.createContext(null);vu.displayName="HookFormContext";var lt=()=>p.useContext(vu),Ms=e=>{const{children:t,watch:n,getValues:r,getFieldState:s,setError:a,clearErrors:o,setValue:i,setValues:c,trigger:u,formState:d,resetField:f,reset:h,handleSubmit:m,unregister:v,control:S,register:b,setFocus:N,subscribe:w}=e,y=p.useMemo(()=>({watch:n,getValues:r,getFieldState:s,setError:a,clearErrors:o,setValue:i,setValues:c,trigger:u,formState:d,resetField:f,reset:h,handleSubmit:m,unregister:v,control:S,register:b,setFocus:N,subscribe:w}),[o,S,d,s,r,m,b,h,f,a,N,i,c,w,u,v,n]);return p.createElement(vu.Provider,{value:y},p.createElement(gu.Provider,{value:y.control},t))},yu=(e,t,n,r,s)=>t?{...n[e],types:{...n[e]&&n[e].types?n[e].types:{},[r]:s||!0}}:{},kt=e=>Array.isArray(e)?e:[e],Wd=()=>{let e=[];return{get observers(){return e},next:s=>{for(const a of e)a.next&&a.next(s)},subscribe:s=>(e.push(s),{unsubscribe:()=>{e=e.filter(a=>a!==s)}}),unsubscribe:()=>{e=[]}}};function Dp(e,t){const n={};for(const r in e)if(e.hasOwnProperty(r)){const s=e[r],a=t[r];if(s&&tt(s)&&a){const o=Dp(s,a);tt(o)&&(n[r]=o)}else e[r]&&(n[r]=a)}return n}var gt=e=>tt(e)&&!Object.keys(e).length,xu=e=>e.type==="file",No=e=>{if(!mu)return!1;const t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},Pp=e=>e.type==="select-multiple",bu=e=>e.type==="radio",vN=e=>bu(e)||Ma(e),Gi=e=>No(e)&&e.isConnected;function yN(e,t){const n=t.slice(0,-1).length;let r=0;for(;r<n;){if(Et(e)){e=void 0;break}e=e[t[r]],r++}return e}function xN(e){for(const t in e)if(e.hasOwnProperty(t)&&!Pe(e[t]))return!1;return!0}function rt(e,t){if(bt(t)&&Object.prototype.hasOwnProperty.call(e,t))return delete e[t],e;const n=Array.isArray(t)?t:ai(t)?[t]:pu(t),r=n.length===1?e:yN(e,n),s=n.length-1,a=n[s];return r&&delete r[a],s!==0&&(tt(r)&&gt(r)||Array.isArray(r)&&xN(r))&&rt(e,n.slice(0,-1)),e}var bN=e=>{for(const t in e)if(xt(e[t]))return!0;return!1};function Lp(e){return Array.isArray(e)||tt(e)&&!bN(e)}function ac(e,t={}){for(const n in e){const r=e[n];Lp(r)?(t[n]=Array.isArray(r)?[]:{},ac(r,t[n])):Pe(r)||(t[n]=!0)}return t}function oc(e){if(e!==!1){if(e===!0)return!0;if(Array.isArray(e)){const t=e.map(n=>oc(n));return t.some(n=>n!==void 0)?t:void 0}if(tt(e)){const t={};for(const n in e){const r=oc(e[n]);Pe(r)||(t[n]=r)}return Object.keys(t).length?t:void 0}}}function Zs(e,t,n){n||(n=ac(t));for(const r in e){const s=e[r];if(Lp(s))Pe(t)||sc(n[r])?n[r]=ac(s,Array.isArray(s)?[]:{}):Zs(s,Et(t)?{}:t[r],n[r]);else{const a=t[r];n[r]=!Ft(s,a)}}return oc(n)||{}}var Kd={value:!1,isValid:!1},Yd={value:!0,isValid:!0},Fp=e=>{if(Array.isArray(e)){if(e.length>1){const t=e.filter(n=>n&&n.checked&&!n.disabled).map(n=>n.value);return{value:t,isValid:!!t.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!Pe(e[0].attributes.value)?Pe(e[0].value)||e[0].value===""?Yd:{value:e[0].value,isValid:!0}:Yd:Kd}return Kd},$p=(e,{valueAsNumber:t,valueAsDate:n,setValueAs:r})=>Pe(e)?e:t?e===""?NaN:e&&+e:n&&bt(e)?new Date(e):r?r(e):e,Gd={isValid:!1,value:null},zp=e=>Array.isArray(e)?e.reduce((t,n)=>n&&n.checked&&!n.disabled?{isValid:!0,value:n.value}:t,Gd):Gd;function Jd(e){const t=e.ref;return xu(t)?t.files:bu(t)?zp(e.refs).value:Pp(t)?[...t.selectedOptions].map(({value:n})=>n):Ma(t)?Fp(e.refs).value:$p(Pe(t.value)?e.ref.value:t.value,e)}var wN=(e,t,n,r)=>{const s={};for(const a of e){const o=re(t,a);o&&_e(s,a,o._f)}return{criteriaMode:n,names:[...e],fields:s,shouldUseNativeValidation:r}},Eo=e=>e instanceof RegExp,Hs=e=>Pe(e)?e:Eo(e)?e.source:tt(e)?Eo(e.value)?e.value.source:e.value:e,fs=e=>({isOnSubmit:!e||e===Jt.onSubmit,isOnBlur:e===Jt.onBlur,isOnChange:e===Jt.onChange,isOnAll:e===Jt.all,isOnTouch:e===Jt.onTouched}),Qd="AsyncFunction",SN=e=>!!e&&!!e.validate&&!!(xt(e.validate)&&e.validate.constructor.name===Qd||tt(e.validate)&&Object.values(e.validate).find(t=>t.constructor.name===Qd)),CN=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),ic=(e,t,n)=>!n&&(t.watchAll||t.watch.has(e)||[...t.watch].some(r=>e.startsWith(r)&&/^\.\w+/.test(e.slice(r.length)))),ps=(e,t,n,r)=>{for(const s of n||Object.keys(e)){const a=re(e,s);if(a){const{_f:o,...i}=a;if(o){if(o.refs&&o.refs[0]&&t(o.refs[0],s)&&!r)return!0;if(o.ref&&t(o.ref,o.name)&&!r)return!0;if(ps(i,t))break}else if(tt(i)&&ps(i,t))break}}};function Xd(e,t,n){const r=re(e,n);if(r||ai(n))return{error:r,name:n};const s=n.split(".");for(;s.length;){const a=s.join("."),o=re(t,a),i=re(e,a);if(o&&!Array.isArray(o)&&n!==a)return{name:n};if(i&&i.type)return{name:a,error:i};if(i&&i.root&&i.root.type)return{name:`${a}.root`,error:i.root};s.pop()}return{name:n}}var NN=(e,t,n,r)=>{n(e);const{name:s,...a}=e;return gt(a)||r&&Object.keys(a).length>=Object.keys(t).length||Object.keys(a).find(o=>t[o]===(!r||Jt.all))},EN=(e,t,n)=>!e||!t||e===t||kt(e).some(r=>r&&(n?r===t:r.startsWith(t)||t.startsWith(r))),IN=(e,t,n,r,s)=>s.isOnAll?!1:!n&&s.isOnTouch?!(t||e):(n?r.isOnBlur:s.isOnBlur)?!e:(n?r.isOnChange:s.isOnChange)?e:!0,jN=(e,t)=>!oi(re(e,t)).length&&rt(e,t),Vp=(e,t,n)=>{const r=kt(re(e,n));return _e(r,Mp,t[n]),_e(e,n,r),e};function Zd(e,t,n="validate"){if(bt(e)||Array.isArray(e)&&e.every(bt)||Lt(e)&&!e)return{type:n,message:bt(e)?e:"",ref:t}}var as=e=>tt(e)&&!Eo(e)?e:{value:e,message:""},lc=async(e,t,n,r,s,a)=>{const{ref:o,refs:i,required:c,maxLength:u,minLength:d,min:f,max:h,pattern:m,validate:v,name:S,valueAsNumber:b,mount:N}=e._f,w=re(n,S);if(!N||t.has(S))return{};const y=i?i[0]:o,g=_=>{s&&y.reportValidity&&(y.setCustomValidity(Lt(_)?"":_||""),y.reportValidity())},x={},C=bu(o),j=Ma(o),E=C||j,R=(b||xu(o))&&Pe(o.value)&&Pe(w)||No(o)&&o.value===""||w===""||Array.isArray(w)&&!w.length||b&&typeof w=="number"&&isNaN(w),O=yu.bind(null,S,r,x),k=(_,A,I,T=ln.maxLength,M=ln.minLength)=>{const P=_?A:I;x[S]={type:_?T:M,message:P,ref:o,...O(_?T:M,P)}};if(a?!Array.isArray(w)||!w.length:c&&(!E&&(R||Et(w))||Lt(w)&&!w||j&&!Fp(i).isValid||C&&!zp(i).isValid)){const{value:_,message:A}=bt(c)?{value:!!c,message:c}:as(c);if(_&&(x[S]={type:ln.required,message:A,ref:y,...O(ln.required,A)},!r))return g(A),x}if(!R&&(!Et(f)||!Et(h))){let _,A;const I=as(h),T=as(f);if(!Et(w)&&!isNaN(w)){const M=o.valueAsNumber||w&&+w;Et(I.value)||(_=M>I.value),Et(T.value)||(A=M<T.value)}else{const M=o.valueAsDate||new Date(w),P=B=>new Date(new Date().toDateString()+" "+B),V=o.type=="time",L=o.type=="week";bt(I.value)&&w&&(_=V?P(w)>P(I.value):L?w>I.value:M>new Date(I.value)),bt(T.value)&&w&&(A=V?P(w)<P(T.value):L?w<T.value:M<new Date(T.value))}if((_||A)&&(k(!!_,I.message,T.message,ln.max,ln.min),!r))return g(x[S].message),x}if((u||d)&&!R&&(bt(w)||a&&Array.isArray(w))){const _=as(u),A=as(d),I=!Et(_.value)&&w.length>+_.value,T=!Et(A.value)&&w.length<+A.value;if((I||T)&&(k(I,_.message,A.message),!r))return g(x[S].message),x}if(m&&!R&&bt(w)){const{value:_,message:A}=as(m);if(Eo(_)&&!w.match(_)&&(x[S]={type:ln.pattern,message:A,ref:o,...O(ln.pattern,A)},!r))return g(A),x}if(v){if(xt(v)){const _=Zd(await v(w,n),y);if(_&&(x[S]={..._,...O(ln.validate,_.message)},!r))return g(_.message),x}else if(tt(v)){let _={};for(const A in v){if(!gt(_)&&!r)break;const I=Zd(await v[A](w,n),y,A);I&&(_={...I,...O(A,I.message)},g(I.message),r&&(x[S]=_))}if(!gt(_)&&(x[S]={ref:y,..._},!r))return x}}return g(!0),x},TN={mode:Jt.onSubmit,reValidateMode:Jt.onChange,shouldFocusError:!0},Bp={submitCount:0,isDirty:!1,isReady:!1,isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{}};function RN(e={}){let t={...TN,...e},n={...$e(Bp),isLoading:xt(t.defaultValues),errors:t.errors||{},disabled:t.disabled||!1},r={},s=tt(t.defaultValues)||tt(t.values)?$e(t.defaultValues||t.values)||{}:{},a=t.shouldUnregister?{}:$e(s),o={action:!1,mount:!1,watch:!1,keepIsValid:!1},i={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set,registerName:new Set},c,u=0;const d={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},f={...d};let h={...f};const m={array:Wd(),state:Wd()},v=t.criteriaMode===Jt.all,S=D=>z=>{clearTimeout(u),u=setTimeout(D,z)},b=async D=>{if(!o.keepIsValid&&!t.disabled&&(f.isValid||h.isValid||D)){let z;t.resolver?(z=gt((await R()).errors),N()):z=await _({fields:r,onlyCheckValid:!0,eventType:rr.VALID}),z!==n.isValid&&m.state.next({isValid:z})}},N=(D,z)=>{!t.disabled&&(f.isValidating||f.validatingFields||h.isValidating||h.validatingFields)&&((D||Array.from(i.mount)).forEach(U=>{U&&(z?_e(n.validatingFields,U,z):rt(n.validatingFields,U))}),m.state.next({validatingFields:n.validatingFields,isValidating:!gt(n.validatingFields)}))},w=()=>{n.dirtyFields=Zs(s,a)},y=(D,z=[],U,X,se=!0,Z=!0)=>{if(X&&U&&!t.disabled){if(o.action=!0,Z&&Array.isArray(re(r,D))){const oe=U(re(r,D),X.argA,X.argB);se&&_e(r,D,oe)}if(Z&&Array.isArray(re(n.errors,D))){const oe=U(re(n.errors,D),X.argA,X.argB);se&&_e(n.errors,D,oe),jN(n.errors,D)}if((f.touchedFields||h.touchedFields)&&Z&&Array.isArray(re(n.touchedFields,D))){const oe=U(re(n.touchedFields,D),X.argA,X.argB);se&&_e(n.touchedFields,D,oe)}(f.dirtyFields||h.dirtyFields)&&w(),m.state.next({name:D,isDirty:I(D,z),dirtyFields:n.dirtyFields,errors:n.errors,isValid:n.isValid})}else _e(a,D,z)},g=(D,z)=>{_e(n.errors,D,z),m.state.next({errors:n.errors})},x=D=>{n.errors=D,m.state.next({errors:n.errors,isValid:!1})},C=(D,z,U,X)=>{const se=re(r,D);if(se){const Z=Pe(re(a,D)),oe=re(a,D,Pe(U)?re(s,D):U);Pe(oe)||X&&X.defaultChecked||z?_e(a,D,z?oe:Jd(se._f)):P(D,oe),o.mount&&!o.action&&(b(),Z&&n.isDirty&&(f.isDirty||h.isDirty)&&(I()||(n.isDirty=!1,m.state.next({...n}))))}},j=(D,z,U,X,se)=>{let Z=!1,oe=!1;const xe={name:D};if(!t.disabled){if(!U||X){(f.isDirty||h.isDirty)&&(oe=n.isDirty,n.isDirty=xe.isDirty=I(),Z=oe!==xe.isDirty);const je=Ft(re(s,D),z);oe=!!re(n.dirtyFields,D),je?rt(n.dirtyFields,D):_e(n.dirtyFields,D,!0),xe.dirtyFields=n.dirtyFields,Z=Z||(f.dirtyFields||h.dirtyFields)&&oe!==!je}if(U){const je=re(n.touchedFields,D);je||(_e(n.touchedFields,D,U),xe.touchedFields=n.touchedFields,Z=Z||(f.touchedFields||h.touchedFields)&&je!==U)}Z&&se&&m.state.next(xe)}return Z?xe:{}},E=(D,z,U,X)=>{const se=re(n.errors,D),Z=(f.isValid||h.isValid)&&Lt(z)&&n.isValid!==z;if(t.delayError&&U?(c=S(()=>g(D,U)),c(t.delayError)):(clearTimeout(u),c=null,U?_e(n.errors,D,U):rt(n.errors,D)),(U?!Ft(se,U):se)||!gt(X)||Z){const oe={...X,...Z&&Lt(z)?{isValid:z}:{},errors:n.errors,name:D};n={...n,...oe},m.state.next(oe)}},R=async D=>(N(D,!0),await t.resolver(a,t.context,wN(D||i.mount,r,t.criteriaMode,t.shouldUseNativeValidation))),O=async D=>{const{errors:z}=await R(D);if(N(D),D)for(const U of D){const X=re(z,U);X?_e(n.errors,U,X):rt(n.errors,U)}else n.errors=z;return z},k=async({name:D,eventType:z})=>{if(e.validate){const U=await e.validate({formValues:a,formState:n,name:D,eventType:z});if(tt(U))for(const X in U)U[X]&&ee(`${Yi}.${X}`,{message:bt(U.message)?U.message:"",type:ln.validate});else bt(U)||!U?ee(Yi,{message:U||"",type:ln.validate}):ne(Yi);return U}return!0},_=async({fields:D,onlyCheckValid:z,name:U,eventType:X,context:se={valid:!0,runRootValidation:!1}})=>{if(e.validate&&(se.runRootValidation=!0,!await k({name:U,eventType:X})&&(se.valid=!1,z)))return se.valid;for(const Z in D){const oe=D[Z];if(oe){const{_f:xe,...je}=oe;if(xe){const nt=i.array.has(xe.name),yt=oe._f&&SN(oe._f);yt&&f.validatingFields&&N([xe.name],!0);const st=await lc(oe,i.disabled,a,v,t.shouldUseNativeValidation&&!z,nt);if(yt&&f.validatingFields&&N([xe.name]),st[xe.name]&&(se.valid=!1,z)||(!z&&(re(st,xe.name)?nt?Vp(n.errors,st,xe.name):_e(n.errors,xe.name,st[xe.name]):rt(n.errors,xe.name)),e.shouldUseNativeValidation&&st[xe.name]))break}!gt(je)&&await _({context:se,onlyCheckValid:z,fields:je,name:Z,eventType:X})}}return se.valid},A=()=>{for(const D of i.unMount){const z=re(r,D);z&&(z._f.refs?z._f.refs.every(U=>!Gi(U)):!Gi(z._f.ref))&&pe(D)}i.unMount=new Set},I=(D,z)=>!t.disabled&&(D&&z&&_e(a,D,z),!Ft(H(),s)),T=(D,z,U)=>rc(D,i,{...o.mount?a:Pe(z)?s:bt(D)?{[D]:z}:z},U,z),M=D=>oi(re(o.mount?a:s,D,t.shouldUnregister?re(s,D,[]):[])),P=(D,z,U={})=>{const X=re(r,D);let se=z;if(X){const Z=X._f;Z&&(!Z.disabled&&_e(a,D,$p(z,Z)),se=No(Z.ref)&&Et(z)?"":z,Pp(Z.ref)?[...Z.ref.options].forEach(oe=>oe.selected=se.includes(oe.value)):Z.refs?Ma(Z.ref)?Z.refs.forEach(oe=>{(!oe.defaultChecked||!oe.disabled)&&(Array.isArray(se)?oe.checked=!!se.find(xe=>xe===oe.value):oe.checked=se===oe.value||!!se)}):Z.refs.forEach(oe=>oe.checked=oe.value===se):xu(Z.ref)?Z.ref.value="":(Z.ref.value=se,Z.ref.type||m.state.next({name:D,values:$e(a)})))}(U.shouldDirty||U.shouldTouch)&&j(D,se,U.shouldTouch,U.shouldDirty,!0),U.shouldValidate&&K(D)},V=(D,z,U)=>{for(const X in z){if(!z.hasOwnProperty(X))return;const se=z[X],Z=D+"."+X,oe=re(r,Z);(i.array.has(D)||tt(se)||oe&&!oe._f)&&!Er(se)?V(Z,se,U):P(Z,se,U)}},L=(D,z,U={})=>{const X=re(r,D),se=i.array.has(D),Z=$e(z),oe=Ft(re(a,D),Z);if(_e(a,D,Z),se)m.array.next({name:D,values:$e(a)}),(f.isDirty||f.dirtyFields||h.isDirty||h.dirtyFields)&&U.shouldDirty&&(w(),m.state.next({name:D,dirtyFields:n.dirtyFields,isDirty:I(D,Z)}));else{const xe=Array.isArray(Z)&&!Z.length||gt(Z);!X||X._f||Et(Z)||xe?P(D,Z,U):V(D,Z,U)}if(!oe){const xe=ic(D,i);m.state.next({...xe&&n,name:o.mount||xe?D:void 0,values:$e(a)})}},B=D=>{const z=xt(D)?D(a):D;Ft(a,z)||(a={...a,...z},m.state.next({...n,values:a}))},q=async D=>{o.mount=!0;const z=D.target;let U=z.name,X=!0;const se=re(r,U),Z=je=>{X=Number.isNaN(je)||Er(je)&&isNaN(je.getTime())||Ft(je,re(a,U,je))},oe=fs(t.mode),xe=fs(t.reValidateMode);if(se){let je,nt;const yt=z.type?Jd(se._f):_p(D),st=D.type===rr.BLUR||D.type===rr.FOCUS_OUT,vr=!CN(se._f)&&!e.validate&&!t.resolver&&!re(n.errors,U)&&!se._f.deps||IN(st,re(n.touchedFields,U),n.isSubmitted,xe,oe),xn=ic(U,i,st);_e(a,U,yt),st?(!z||!z.readOnly)&&(se._f.onBlur&&se._f.onBlur(D),c&&c(0)):se._f.onChange&&se._f.onChange(D);const ge=j(U,yt,st),Te=!gt(ge)||xn;if(!st&&m.state.next({name:U,type:D.type,values:$e(a)}),vr)return(f.isValid||h.isValid)&&(t.mode==="onBlur"?st&&b():st||b()),Te&&m.state.next({name:U,...xn?{}:ge});if(!t.resolver&&e.validate&&await k({name:U,eventType:D.type}),!st&&xn&&m.state.next({...n}),t.resolver){const{errors:ie}=await R([U]);if(N([U]),Z(yt),X){const ce=Xd(n.errors,r,U),fe=Xd(ie,r,ce.name||U);je=fe.error,U=fe.name,nt=gt(ie)}}else N([U],!0),je=(await lc(se,i.disabled,a,v,t.shouldUseNativeValidation))[U],N([U]),Z(yt),X&&(je?nt=!1:(f.isValid||h.isValid)&&(nt=await _({fields:r,onlyCheckValid:!0,name:U,eventType:D.type})));X&&(se._f.deps&&(!Array.isArray(se._f.deps)||se._f.deps.length>0)&&K(se._f.deps),E(U,nt,je,ge))}},F=(D,z)=>{if(re(n.errors,z)&&D.focus)return D.focus(),1},K=async(D,z={})=>{let U,X;const se=kt(D);if(t.resolver){const Z=await O(Pe(D)?D:se);U=gt(Z),X=D?!se.some(oe=>re(Z,oe)):U}else D?(X=(await Promise.all(se.map(async Z=>{const oe=re(r,Z);return await _({fields:oe&&oe._f?{[Z]:oe}:oe,eventType:rr.TRIGGER})}))).every(Boolean),!(!X&&!n.isValid)&&b()):X=U=await _({fields:r,name:D,eventType:rr.TRIGGER});return m.state.next({...!bt(D)||(f.isValid||h.isValid)&&U!==n.isValid?{}:{name:D},...t.resolver||!D?{isValid:U}:{},errors:n.errors}),z.shouldFocus&&!X&&ps(r,F,D?se:i.mount),X},H=(D,z)=>{let U={...o.mount?a:s};return z&&(U=Dp(z.dirtyFields?n.dirtyFields:n.touchedFields,U)),Pe(D)?U:bt(D)?re(U,D):D.map(X=>re(U,X))},Y=(D,z)=>({invalid:!!re((z||n).errors,D),isDirty:!!re((z||n).dirtyFields,D),error:re((z||n).errors,D),isValidating:!!re(n.validatingFields,D),isTouched:!!re((z||n).touchedFields,D)}),ne=D=>{const z=D?kt(D):void 0;z?.forEach(U=>rt(n.errors,U)),z?z.forEach(U=>{m.state.next({name:U,errors:n.errors})}):m.state.next({errors:{}})},ee=(D,z,U)=>{const X=(re(r,D,{_f:{}})._f||{}).ref,{ref:se,message:Z,type:oe,...xe}=re(n.errors,D)||{};_e(n.errors,D,{...xe,...z,ref:X}),m.state.next({name:D,errors:n.errors,isValid:!1}),U&&U.shouldFocus&&X&&X.focus&&X.focus()},$=(D,z)=>xt(D)?m.state.subscribe({next:U=>"values"in U&&D(U.values||T(void 0,z),U)}):T(D,z,!0),Q=D=>m.state.subscribe({next:z=>{if(EN(D.name,z.name,D.exact)&&NN(z,D.formState||f,Ae,D.reRenderRoot)){const U={...a};D.callback({values:U,...n,...z,defaultValues:s})}}}).unsubscribe,he=D=>(o.mount=!0,h={...h,...D.formState},Q({...D,formState:{...d,...D.formState}})),pe=(D,z={})=>{for(const U of D?kt(D):i.mount)i.mount.delete(U),i.array.delete(U),z.keepValue||(rt(r,U),rt(a,U)),!z.keepError&&rt(n.errors,U),!z.keepDirty&&rt(n.dirtyFields,U),!z.keepTouched&&rt(n.touchedFields,U),!z.keepIsValidating&&rt(n.validatingFields,U),!t.shouldUnregister&&!z.keepDefaultValue&&rt(s,U);m.state.next({values:$e(a)}),m.state.next({...n,...z.keepDirty?{isDirty:I()}:{}}),!z.keepIsValid&&b()},ae=({disabled:D,name:z})=>{if(Lt(D)&&o.mount||D||i.disabled.has(z)){const U=i.disabled.has(z)!==!!D;D?i.disabled.add(z):i.disabled.delete(z),U&&o.mount&&!o.action&&b()}},be=(D,z={})=>{let U=re(r,D);const X=Lt(z.disabled)||Lt(t.disabled),se=!i.registerName.has(D)&&U&&U._f&&!U._f.mount;return _e(r,D,{...U||{},_f:{...U&&U._f?U._f:{ref:{name:D}},name:D,mount:!0,...z}}),i.mount.add(D),U&&!se?ae({disabled:Lt(z.disabled)?z.disabled:t.disabled,name:D}):C(D,!0,z.value),{...X?{disabled:z.disabled||t.disabled}:{},...t.progressive?{required:!!z.required,min:Hs(z.min),max:Hs(z.max),minLength:Hs(z.minLength),maxLength:Hs(z.maxLength),pattern:Hs(z.pattern)}:{},name:D,onChange:q,onBlur:q,ref:Z=>{if(Z){i.registerName.add(D),be(D,z),i.registerName.delete(D),U=re(r,D);const oe=Pe(Z.value)&&Z.querySelectorAll&&Z.querySelectorAll("input,select,textarea")[0]||Z,xe=vN(oe),je=U._f.refs||[];if(xe?je.find(nt=>nt===oe):oe===U._f.ref)return;_e(r,D,{_f:{...U._f,...xe?{refs:[...je.filter(Gi),oe,...Array.isArray(re(s,D))?[{}]:[]],ref:{type:oe.type,name:D}}:{ref:oe}}}),C(D,!1,void 0,oe)}else U=re(r,D,{}),U._f&&(U._f.mount=!1),(t.shouldUnregister||z.shouldUnregister)&&!(Ap(i.array,D)&&o.action)&&i.unMount.add(D)}}},J=()=>t.shouldFocusError&&ps(r,F,i.mount),le=D=>{Lt(D)&&(m.state.next({disabled:D}),ps(r,(z,U)=>{const X=re(r,U);X&&(z.disabled=X._f.disabled||D,Array.isArray(X._f.refs)&&X._f.refs.forEach(se=>{se.disabled=X._f.disabled||D}))},0,!1))},ue=(D,z)=>async U=>{let X;U&&(U.preventDefault&&U.preventDefault(),U.persist&&U.persist());let se=$e(a);if(m.state.next({isSubmitting:!0}),t.resolver){const{errors:Z,values:oe}=await R();N(),n.errors=Z,se=$e(oe)}else await _({fields:r,eventType:rr.SUBMIT});if(i.disabled.size)for(const Z of i.disabled)rt(se,Z);if(rt(n.errors,Mp),gt(n.errors)){m.state.next({errors:{}});try{await D(se,U)}catch(Z){X=Z}}else z&&await z({...n.errors},U),J(),setTimeout(J);if(m.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:gt(n.errors)&&!X,submitCount:n.submitCount+1,errors:n.errors}),X)throw X},We=(D,z={})=>{re(r,D)&&(Pe(z.defaultValue)?L(D,$e(re(s,D))):(L(D,z.defaultValue),_e(s,D,$e(z.defaultValue))),z.keepTouched||rt(n.touchedFields,D),z.keepDirty||(rt(n.dirtyFields,D),n.isDirty=z.defaultValue?I(D,$e(re(s,D))):I()),z.keepError||(rt(n.errors,D),f.isValid&&b()),m.state.next({...n}))},Ye=(D,z={})=>{const U=D?$e(D):s,X=$e(U),se=gt(D),Z=se?s:X;if(z.keepDefaultValues||(s=U),!z.keepValues){if(z.keepDirtyValues){const oe=new Set([...i.mount,...Object.keys(Zs(s,a))]);for(const xe of Array.from(oe)){const je=re(n.dirtyFields,xe),nt=re(a,xe),yt=re(Z,xe);je&&!Pe(nt)?_e(Z,xe,nt):!je&&!Pe(yt)&&L(xe,yt)}}else{if(mu&&Pe(D))for(const oe of i.mount){const xe=re(r,oe);if(xe&&xe._f){const je=Array.isArray(xe._f.refs)?xe._f.refs[0]:xe._f.ref;if(No(je)){const nt=je.closest("form");if(nt){nt.reset();break}}}}if(z.keepFieldsRef)for(const oe of i.mount)L(oe,re(Z,oe));else r={}}a=t.shouldUnregister?z.keepDefaultValues?$e(s):{}:$e(Z),m.array.next({values:{...Z}}),m.state.next({values:{...Z}})}i={mount:z.keepDirtyValues?i.mount:new Set,unMount:new Set,array:new Set,registerName:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},o.mount=!f.isValid||!!z.keepIsValid||!!z.keepDirtyValues||!t.shouldUnregister&&!gt(Z),o.watch=!!t.shouldUnregister,o.keepIsValid=!!z.keepIsValid,o.action=!1,z.keepErrors||(n.errors={}),m.state.next({submitCount:z.keepSubmitCount?n.submitCount:0,isDirty:se?!1:z.keepDirty?n.isDirty:!!(z.keepDefaultValues&&!Ft(D,s)),isSubmitted:z.keepIsSubmitted?n.isSubmitted:!1,dirtyFields:se?{}:z.keepDirtyValues?z.keepDefaultValues&&a?Zs(s,a):n.dirtyFields:z.keepDefaultValues&&D?Zs(s,D):z.keepDirty?n.dirtyFields:{},touchedFields:z.keepTouched?n.touchedFields:{},errors:z.keepErrors?n.errors:{},isSubmitSuccessful:z.keepIsSubmitSuccessful?n.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:s})},Ve=(D,z)=>Ye(xt(D)?D(a):D,{...t.resetOptions,...z}),ft=(D,z={})=>{const U=re(r,D),X=U&&U._f;if(X){const se=X.refs?X.refs[0]:X.ref;se.focus&&setTimeout(()=>{se.focus(),z.shouldSelect&&xt(se.select)&&se.select()})}},Ae=D=>{n={...n,...D}},ye={control:{register:be,unregister:pe,getFieldState:Y,handleSubmit:ue,setError:ee,_subscribe:Q,_runSchema:R,_updateIsValidating:N,_focusError:J,_getWatch:T,_getDirty:I,_setValid:b,_setFieldArray:y,_setDisabledField:ae,_setErrors:x,_getFieldArray:M,_reset:Ye,_resetDefaultValues:()=>xt(t.defaultValues)&&t.defaultValues().then(D=>{Ve(D,t.resetOptions),m.state.next({isLoading:!1})}),_removeUnmounted:A,_disableForm:le,_subjects:m,_proxyFormState:f,get _fields(){return r},get _formValues(){return a},get _state(){return o},set _state(D){o=D},get _defaultValues(){return s},get _names(){return i},set _names(D){i=D},get _formState(){return n},get _options(){return t},set _options(D){t={...t,...D}}},subscribe:he,trigger:K,register:be,handleSubmit:ue,watch:$,setValue:L,setValues:B,getValues:H,reset:Ve,resetField:We,clearErrors:ne,unregister:pe,setError:ee,setFocus:ft,getFieldState:Y};return{...ye,formControl:ye}}var Zn=()=>{if(typeof crypto<"u"&&crypto.randomUUID)return crypto.randomUUID();const e=typeof performance>"u"?Date.now():performance.now()*1e3;return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,t=>{const n=(Math.random()*16+e)%16|0;return(t=="x"?n:n&3|8).toString(16)})},Ji=(e,t,n={})=>n.shouldFocus||Pe(n.shouldFocus)?n.focusName||`${e}.${Pe(n.focusIndex)?t:n.focusIndex}.`:"",Qi=(e,t)=>[...e,...kt(t)],Xi=e=>Array.isArray(e)?e.map(()=>{}):void 0;function Zi(e,t,n){return[...e.slice(0,t),...kt(n),...e.slice(t)]}var el=(e,t,n)=>Array.isArray(e)?(Pe(e[n])&&(e[n]=void 0),e.splice(n,0,e.splice(t,1)[0]),e):[],tl=(e,t)=>[...kt(t),...kt(e)];function kN(e,t){let n=0;const r=[...e];for(const s of t)r.splice(s-n,1),n++;return oi(r).length?r:[]}var nl=(e,t)=>Pe(t)?[]:kN(e,kt(t).sort((n,r)=>n-r)),rl=(e,t,n)=>{[e[t],e[n]]=[e[n],e[t]]},ef=(e,t,n)=>(e[t]=n,e);function cc(e){const t=ii(),{control:n=t,name:r,keyName:s="id",shouldUnregister:a,rules:o}=e,[i,c]=p.useState(n._getFieldArray(r)),u=p.useRef(n._getFieldArray(r).map(Zn)),d=p.useRef(!1);n._names.array.add(r),p.useMemo(()=>o&&i.length>=0&&n.register(r,o),[n,r,i.length,o]),li(()=>n._subjects.array.subscribe({next:({values:g,name:x})=>{if(x===r||!x){const C=re(g,r);Array.isArray(C)&&(c(C),u.current=C.map(Zn))}}}).unsubscribe,[n,r]);const f=p.useCallback(g=>{d.current=!0,n._setFieldArray(r,g)},[n,r]),h=(g,x)=>{const C=kt($e(g)),j=Qi(n._getFieldArray(r),C);n._names.focus=Ji(r,j.length-1,x),u.current=Qi(u.current,C.map(Zn)),f(j),c(j),n._setFieldArray(r,j,Qi,{argA:Xi(g)})},m=(g,x)=>{const C=kt($e(g)),j=tl(n._getFieldArray(r),C);n._names.focus=Ji(r,0,x),u.current=tl(u.current,C.map(Zn)),f(j),c(j),n._setFieldArray(r,j,tl,{argA:Xi(g)})},v=g=>{const x=nl(n._getFieldArray(r),g);u.current=nl(u.current,g),f(x),c(x),!Array.isArray(re(n._fields,r))&&_e(n._fields,r,void 0),n._setFieldArray(r,x,nl,{argA:g})},S=(g,x,C)=>{const j=kt($e(x)),E=Zi(n._getFieldArray(r),g,j);n._names.focus=Ji(r,g,C),u.current=Zi(u.current,g,j.map(Zn)),f(E),c(E),n._setFieldArray(r,E,Zi,{argA:g,argB:Xi(x)})},b=(g,x)=>{const C=n._getFieldArray(r);rl(C,g,x),rl(u.current,g,x),f(C),c(C),n._setFieldArray(r,C,rl,{argA:g,argB:x},!1)},N=(g,x)=>{const C=n._getFieldArray(r);el(C,g,x),el(u.current,g,x),f(C),c(C),n._setFieldArray(r,C,el,{argA:g,argB:x},!1)},w=(g,x)=>{const C=$e(x),j=ef(n._getFieldArray(r),g,C);u.current=[...j].map((E,R)=>!E||R===g?Zn():u.current[R]),f(j),c([...j]),n._setFieldArray(r,j,ef,{argA:g,argB:C},!0,!1)},y=g=>{const x=kt($e(g));u.current=x.map(Zn),f([...x]),c([...x]),n._setFieldArray(r,[...x],C=>C,{},!0,!1)};return p.useEffect(()=>{n._state.action=!1,ic(r,n._names)&&n._subjects.state.next({...n._formState});const g=fs(n._options.mode);if(d.current&&(!g.isOnSubmit||n._formState.isSubmitted)&&!fs(n._options.reValidateMode).isOnSubmit&&!g.isOnBlur)if(n._options.resolver)n._runSchema([r]).then(x=>{n._updateIsValidating([r]);const C=re(x.errors,r),j=re(n._formState.errors,r);(j?!C&&j.type||C&&(j.type!==C.type||j.message!==C.message):C&&C.type)&&(C?_e(n._formState.errors,r,C):rt(n._formState.errors,r),n._subjects.state.next({errors:n._formState.errors}))});else{const x=re(n._fields,r);x&&x._f&&!(fs(n._options.reValidateMode).isOnSubmit&&fs(n._options.mode).isOnSubmit)&&lc(x,n._names.disabled,n._formValues,n._options.criteriaMode===Jt.all,n._options.shouldUseNativeValidation,!0).then(C=>!gt(C)&&n._subjects.state.next({errors:Vp(n._formState.errors,C,r)}))}n._subjects.state.next({name:r,values:$e(n._formValues)}),n._names.focus&&ps(n._fields,(x,C)=>{if(n._names.focus&&C.startsWith(n._names.focus)&&x.focus)return x.focus(),1}),n._names.focus="",n._setValid(),d.current=!1},[i,r,n]),p.useEffect(()=>(!re(n._formValues,r)&&n._setFieldArray(r),()=>{const g=!(n._options.shouldUnregister||a),x=(C,j)=>{const E=re(n._fields,C);E&&E._f&&(E._f.mount=j)};d.current&&g&&n._subjects.state.next({name:r,values:$e(n._formValues)}),g?x(r,!1):n.unregister(r)}),[r,n,s,a]),{swap:p.useCallback(b,[f,r,n]),move:p.useCallback(N,[f,r,n]),prepend:p.useCallback(m,[f,r,n]),append:p.useCallback(h,[f,r,n]),remove:p.useCallback(v,[f,r,n]),insert:p.useCallback(S,[f,r,n]),update:p.useCallback(w,[f,r,n]),replace:p.useCallback(y,[f,r,n]),fields:p.useMemo(()=>i.map((g,x)=>({...g,[s]:u.current[x]||Zn()})),[i,s])}}function Os(e={}){const t=p.useRef(void 0),n=p.useRef(void 0),[r,s]=p.useState(()=>({...$e(Bp),isLoading:xt(e.defaultValues),errors:e.errors||{},disabled:e.disabled||!1,defaultValues:xt(e.defaultValues)?void 0:e.defaultValues}));if(!t.current)if(e.formControl)t.current={...e.formControl,formState:r},e.defaultValues&&!xt(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:o,...i}=RN(e);t.current={...i,formState:r}}const a=t.current.control;return a._options=e,li(()=>{const o=a._subscribe({formState:a._proxyFormState,callback:()=>s({...a._formState}),reRenderRoot:!0});return s(i=>({...i,isReady:!0})),a._formState.isReady=!0,o},[a]),p.useEffect(()=>a._disableForm(e.disabled),[a,e.disabled]),p.useEffect(()=>{e.mode&&(a._options.mode=e.mode),e.reValidateMode&&(a._options.reValidateMode=e.reValidateMode)},[a,e.mode,e.reValidateMode]),p.useEffect(()=>{e.errors&&(a._setErrors(e.errors),a._focusError())},[a,e.errors]),p.useEffect(()=>{e.shouldUnregister&&a._subjects.state.next({values:a._getWatch()})},[a,e.shouldUnregister]),p.useEffect(()=>{if(a._proxyFormState.isDirty){const o=a._getDirty();o!==r.isDirty&&a._subjects.state.next({isDirty:o})}},[a,r.isDirty]),p.useEffect(()=>{var o;e.values&&!Ft(e.values,n.current)?(a._reset(e.values,{keepFieldsRef:!0,...a._options.resetOptions}),!((o=a._options.resetOptions)===null||o===void 0)&&o.keepIsValid||a._setValid(),n.current=e.values,s(i=>({...i}))):a._resetDefaultValues()},[a,e.values]),p.useEffect(()=>{a._state.mount||(a._setValid(),a._state.mount=!0),a._state.watch&&(a._state.watch=!1,a._subjects.state.next({...a._formState})),a._removeUnmounted()}),t.current.formState=p.useMemo(()=>Op(r,a),[a,r]),t.current}var tf=(e,t,n)=>{if(e&&"reportValidity"in e){const r=re(n,t);e.setCustomValidity(r&&r.message||""),e.reportValidity()}},uc=(e,t)=>{for(const n in t.fields){const r=t.fields[n];r&&r.ref&&"reportValidity"in r.ref?tf(r.ref,n,e):r&&r.refs&&r.refs.forEach(s=>tf(s,n,e))}},nf=(e,t)=>{t.shouldUseNativeValidation&&uc(e,t);const n={};for(const r in e){const s=re(t.fields,r),a=Object.assign(e[r]||{},{ref:s&&s.ref});if(_N(t.names||Object.keys(e),r)){const o=Object.assign({},re(n,r));_e(o,"root",a),_e(n,r,o)}else _e(n,r,a)}return n},_N=(e,t)=>{const n=rf(t);return e.some(r=>rf(r).match(`^${n}\\.\\d+`))};function rf(e){return e.replace(/\]|\[/g,"")}var sf;function Up(e,t,n){function r(i,c){if(i._zod||Object.defineProperty(i,"_zod",{value:{def:c,constr:o,traits:new Set},enumerable:!1}),i._zod.traits.has(e))return;i._zod.traits.add(e),t(i,c);const u=o.prototype,d=Object.keys(u);for(let f=0;f<d.length;f++){const h=d[f];h in i||(i[h]=u[h].bind(i))}}const s=n?.Parent??Object;class a extends s{}Object.defineProperty(a,"name",{value:e});function o(i){var c;const u=n?.Parent?new a:this;r(u,i),(c=u._zod).deferred??(c.deferred=[]);for(const d of u._zod.deferred)d();return u}return Object.defineProperty(o,"init",{value:r}),Object.defineProperty(o,Symbol.hasInstance,{value:i=>n?.Parent&&i instanceof n.Parent?!0:i?._zod?.traits?.has(e)}),Object.defineProperty(o,"name",{value:e}),o}var AN=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}};(sf=globalThis).__zod_globalConfig??(sf.__zod_globalConfig={});var af=globalThis.__zod_globalConfig;function Hp(e){return e&&Object.assign(af,e),af}function MN(e,t){return typeof t=="bigint"?t.toString():t}var qp="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{},LV={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function Wa(e){return typeof e=="string"?e:e?.message}function Wp(e,t,n){const r=e.message?e.message:Wa(e.inst?._zod.def?.error?.(e))??Wa(t?.error?.(e))??Wa(n.customError?.(e))??Wa(n.localeError?.(e))??"Invalid input",{inst:s,continue:a,input:o,...i}=e;return i.path??(i.path=[]),i.message=r,t?.reportInput&&(i.input=o),i}var Kp=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,MN,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},ON=Up("$ZodError",Kp),Yp=Up("$ZodError",Kp,{Parent:Error}),DN=e=>(t,n,r,s)=>{const a=r?{...r,async:!1}:{async:!1},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise)throw new AN;if(o.issues.length){const i=new(s?.Err??e)(o.issues.map(c=>Wp(c,a,Hp())));throw qp(i,s?.callee),i}return o.value},PN=DN(Yp),LN=e=>async(t,n,r,s)=>{const a=r?{...r,async:!0}:{async:!0};let o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise&&(o=await o),o.issues.length){const i=new(s?.Err??e)(o.issues.map(c=>Wp(c,a,Hp())));throw qp(i,s?.callee),i}return o.value},FN=LN(Yp);function of(e,t){try{var n=e()}catch(r){return t(r)}return n&&n.then?n.then(void 0,t):n}function $N(e,t){for(var n={};e.length;){var r=e[0],s=r.code,a=r.message,o=r.path.join(".");if(!n[o])if("unionErrors"in r){var i=r.unionErrors[0].errors[0];n[o]={message:i.message,type:i.code}}else n[o]={message:a,type:s};if("unionErrors"in r&&r.unionErrors.forEach(function(d){return d.errors.forEach(function(f){return e.push(f)})}),t){var c=n[o].types,u=c&&c[r.code];n[o]=yu(o,t,n,s,u?[].concat(u,r.message):r.message)}e.shift()}return n}function zN(e,t){for(var n={};e.length;){var r=e[0],s=r.code,a=r.message,o=r.path.join(".");if(!n[o])if(r.code==="invalid_union"&&r.errors.length>0){var i=r.errors[0][0];n[o]={message:i.message,type:i.code}}else n[o]={message:a,type:s};if(r.code==="invalid_union"&&r.errors.forEach(function(d){return d.forEach(function(f){return e.push(f)})}),t){var c=n[o].types,u=c&&c[r.code];n[o]=yu(o,t,n,s,u?[].concat(u,r.message):r.message)}e.shift()}return n}function ci(e,t,n){if(n===void 0&&(n={}),(function(r){return"_def"in r&&typeof r._def=="object"&&"typeName"in r._def})(e))return function(r,s,a){try{return Promise.resolve(of(function(){return Promise.resolve(e[n.mode==="sync"?"parse":"parseAsync"](r,t)).then(function(o){return a.shouldUseNativeValidation&&uc({},a),{errors:{},values:n.raw?Object.assign({},r):o}})},function(o){if((function(i){return Array.isArray(i?.issues)})(o))return{values:{},errors:nf($N(o.errors,!a.shouldUseNativeValidation&&a.criteriaMode==="all"),a)};throw o}))}catch(o){return Promise.reject(o)}};if((function(r){return"_zod"in r&&typeof r._zod=="object"})(e))return function(r,s,a){try{return Promise.resolve(of(function(){return Promise.resolve((n.mode==="sync"?PN:FN)(e,r,t)).then(function(o){return a.shouldUseNativeValidation&&uc({},a),{errors:{},values:n.raw?Object.assign({},r):o}})},function(o){if((function(i){return i instanceof ON})(o))return{values:{},errors:nf(zN(o.issues,!a.shouldUseNativeValidation&&a.criteriaMode==="all"),a)};throw o}))}catch(o){return Promise.reject(o)}};throw new Error("Invalid input: not a Zod schema")}var wu=({onCancel:e,isLoading:t})=>(0,l.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,l.jsx)(te,{type:"button",variant:"outline",size:"lg",onClick:e,disabled:t,children:"Cancel"}),(0,l.jsx)(te,{type:"submit",variant:"default",size:"lg",disabled:t,children:"Save"})]}),VN=({index:e})=>{const{control:t,watch:n}=lt(),r=n("fields")?.filter(a=>a.columnName?.trim()),s=n(`fields.${e}.columnName`);return(0,l.jsx)(Ht,{control:t,name:`foreignKeys.${e}`,render:({field:a})=>(0,l.jsx)("div",{className:"flex flex-col gap-2 flex-1",children:(0,l.jsxs)(Nt,{defaultValue:s||"none",value:a.value?.columnName,onValueChange:o=>a.onChange({...a.value,columnName:o}),children:[(0,l.jsx)(St,{className:"w-full flex-1",children:(0,l.jsx)(wt,{placeholder:r?.length?"Select a column":"No columns found"})}),(0,l.jsx)(Ct,{children:r?.length>0?r.map(o=>(0,l.jsx)(Se,{value:o.columnName,children:o.columnName},o.columnName)):(0,l.jsx)(Se,{value:"none",disabled:!0,children:"No columns found"})})]})})})},hr=()=>{const{dbType:e}=Ue();return e?sC[e]:void 0},BN={numeric:[{value:"int2",label:"int2",description:"Signed two-byte integer"},{value:"int4",label:"int4",description:"Signed four-byte integer"},{value:"int8",label:"int8",description:"Signed eight-byte integer"},{value:"float4",label:"float4",description:"Single precision floating-point number (4 bytes)"},{value:"float8",label:"float8",description:"Double precision floating-point number (8 bytes)"},{value:"numeric",label:"numeric",description:"Exact numeric of selectable precision"},{value:"serial",label:"serial",description:"Auto-incrementing four-byte integer"},{value:"bigserial",label:"bigserial",description:"Auto-incrementing eight-byte integer"}],text:[{value:"text",label:"text",description:"Variable-length character string"},{value:"varchar",label:"varchar",description:"Variable-length character string"},{value:"char",label:"char",description:"Fixed-length character string"},{value:"uuid",label:"uuid",description:"Universally unique identifier"}],boolean:[{value:"boolean",label:"boolean",description:"Logical boolean (true/false)"}],datetime:[{value:"date",label:"date",description:"Calendar date (year, month, day)"},{value:"time",label:"time",description:"Time of day (no time zone)"},{value:"timestamp",label:"timestamp",description:"Date and time (no time zone)"},{value:"timestamptz",label:"timestamptz",description:"Date and time with time zone"},{value:"interval",label:"interval",description:"Time span"}],json:[{value:"json",label:"json",description:"Textual JSON data"},{value:"jsonb",label:"jsonb",description:"Binary JSON data, decomposed"}],binary:[{value:"bytea",label:"bytea",description:'Binary data ("byte array")'}],network:[{value:"inet",label:"inet",description:"IPv4 or IPv6 host address"},{value:"cidr",label:"cidr",description:"IPv4 or IPv6 network address"},{value:"macaddr",label:"macaddr",description:"MAC (Media Access Control) address"},{value:"macaddr8",label:"macaddr8",description:"MAC address (EUI-64 format)"}],geometric:[{value:"point",label:"point",description:"Geometric point on a plane"},{value:"line",label:"line",description:"Infinite line on a plane"},{value:"polygon",label:"polygon",description:"Closed geometric path on a plane"}],other:[{value:"xml",label:"xml",description:"XML data"}]},UN={numeric:[{value:"double",label:"double",description:"64-bit floating point number"},{value:"int",label:"int",description:"32-bit signed integer"},{value:"long",label:"long",description:"64-bit signed integer"},{value:"decimal",label:"decimal",description:"128-bit decimal value"}],text:[{value:"string",label:"string",description:"UTF-8 string"},{value:"javascript",label:"javascript",description:"JavaScript code"},{value:"javascriptWithScope",label:"javascriptWithScope",description:"JavaScript code with scope"},{value:"symbol",label:"symbol",description:"Symbol (deprecated)"}],boolean:[{value:"bool",label:"bool",description:"Boolean true/false"}],datetime:[{value:"date",label:"date",description:"UTC datetime"},{value:"timestamp",label:"timestamp",description:"MongoDB timestamp"}],document:[{value:"object",label:"object",description:"Embedded document"},{value:"array",label:"array",description:"Array value"},{value:"objectId",label:"objectId",description:"ObjectId value"}],binary:[{value:"binData",label:"binData",description:"Binary data"},{value:"regex",label:"regex",description:"Regular expression"}],legacy:[{value:"undefined",label:"undefined",description:"Undefined (deprecated)"},{value:"dbPointer",label:"dbPointer",description:"DB pointer (deprecated)"}],special:[{value:"null",label:"null",description:"Null value"},{value:"minKey",label:"minKey",description:"Minimum BSON value"},{value:"maxKey",label:"maxKey",description:"Maximum BSON value"}]},Gp=["serial","bigserial"],Jp=["int2","int4","int8","float4","float8","numeric","text","varchar","char","uuid","boolean","date","time","timestamp","timestamptz","interval","json","jsonb","bytea","inet","cidr","macaddr","macaddr8"],lf=[{name:"isNullable",label:"Is Nullable",description:"Specify if the column can assume a NULL value if no value is provided"},{name:"isUnique",label:"Is Unique",description:"Enforce if values in the column should be unique across rows"},{name:"isIdentity",label:"Is Identity",description:"Automatically assign a sequential unique number to the column"},{name:"isArray",label:"Define as Array",description:"Define your column as a variable-length multidimensional array"}],Qp=[{value:"NO ACTION",label:"No action"},{value:"RESTRICT",label:"Restrict"},{value:"CASCADE",label:"Cascade"},{value:"SET NULL",label:"Set null"},{value:"SET DEFAULT",label:"Set default"}],ui=({index:e})=>{const[t,n]=(0,p.useState)(!1),r=hr()?.dataModel==="document",s=r?UN:BN,{control:a,setValue:o,formState:{errors:i}}=lt();return(0,l.jsx)(Ht,{control:a,name:`fields.${e}.columnType`,render:({field:c})=>(0,l.jsxs)(fr,{modal:!0,open:t,onOpenChange:n,children:[(0,l.jsx)(ts,{asChild:!0,children:(0,l.jsxs)(te,{id:`columnType-${e}`,role:"combobox","aria-expanded":t,"aria-controls":`columnType-${e}-listbox`,variant:"outline",className:G("w-full justify-between border-input bg-background px-3 font-normal hover:bg-background",i?.fields?.[e]?.columnType?"border-destructive ring-destructive ring-1":""),children:[c.value||"Select type",(0,l.jsx)(es,{"aria-hidden":"true",className:"-me-1 opacity-60",size:16})]})}),(0,l.jsx)(Mn,{id:`columnType-${e}-listbox`,align:"start",className:"w-full min-w-[--radix-popper-anchor-width] border-input p-0",children:(0,l.jsxs)(uu,{children:[(0,l.jsx)(du,{placeholder:"Search type..."}),(0,l.jsxs)(fu,{children:[(0,l.jsx)(hu,{children:"No type found."}),Object.entries(s).map(([u,d])=>(0,l.jsx)(Vn,{heading:u,children:d.map(f=>(0,l.jsxs)(Fe,{value:`${f.label} ${f.description}`,onSelect:()=>{c.onChange(f.value),!r&&Gp.includes(f.value)&&o(`fields.${e}.isIdentity`,!1),!r&&f.value&&!Jp.includes(f.value)&&o(`fields.${e}.isArray`,!1),n(!1)},children:[(0,l.jsxs)("div",{className:"flex flex-col gap-1 items-start flex-1",children:[(0,l.jsx)("p",{className:"font-medium",children:f.label}),(0,l.jsx)("span",{className:"text-xs text-muted-foreground",children:f.description})]}),c.value===f.value&&(0,l.jsx)(Zr,{className:"ml-auto shrink-0",size:16})]},f.value))},u))]})]})})]})})},cf=(e,t)=>e.flatMap((n,r)=>{const s=t.fields[r];if(!s)return[];const a=s.columnType!==n.dataTypeLabel?{columnType:s.columnType,isNullable:n.isNullable,defaultValue:n.columnDefault}:void 0,o=s.columnName.trim(),i=o!==n.columnName?o:void 0;return a||i!==void 0?[{columnName:n.columnName,alter:a,newColumnName:i}]:[]}),HN=({tableName:e,schemaName:t})=>{const n=At(),{selectedDatabase:r}=Ue(),{mutateAsync:s,isPending:a}=It({mutationFn:async i=>{for(const{columnName:c,alter:u,newColumnName:d}of i)u&&await dp({tableName:e,schemaName:t,columnName:c,data:u,db:r}),d!==void 0&&await hp({tableName:e,schemaName:t,columnName:c,data:{newColumnName:d},db:r});return i.length},onSettled:async()=>{await Promise.all([n.invalidateQueries({queryKey:Me.columnsByTable(e),exact:!1}),n.invalidateQueries({queryKey:Me.dataByTable(e),exact:!1})])}});return{editTable:i=>Be.promise(s(i),{loading:"Saving table changes...",success:c=>`Updated ${c} ${c===1?"column":"columns"}`,error:c=>typeof c.details=="string"&&c.details||c.message||"Failed to update table"}).unwrap(),isEditingTable:a}},jt=({tableName:e,schemaName:t})=>{const{selectedDatabase:n}=Ue(),{data:r,isLoading:s,isRefetching:a,error:o,refetch:i}=Yn({queryKey:Me.columns(e,n,t),queryFn:()=>XS(e,n,t),select:c=>c.data.data,enabled:!!e&&!!n});return{tableCols:r,isLoadingTableCols:s,isRefetchingTableCols:a,errorTableCols:o,refetchTableCols:i}},di=dr()(e=>({editingColumn:null,setEditingColumn:t=>e({editingColumn:t}),editingTable:null,setEditingTable:t=>e({editingTable:t})})),qN=Gn({fields:Gl(Gn({columnName:Zt().trim().min(1,"Column name is required"),columnType:Zt()})).superRefine((e,t)=>{const n=new Set;e.forEach((r,s)=>{const a=r.columnName.toLowerCase();n.has(a)&&t.addIssue({code:"custom",message:"Column name must be unique",path:[s,"columnName"]}),n.add(a)})})}),sl=e=>({fields:e.map(t=>({columnName:t.columnName,columnType:t.dataTypeLabel}))}),FV=()=>{const{editingTable:e}=di();return(0,l.jsx)(WN,{tableName:e?.tableName??"",schemaName:e?.schemaName},e?`${e.schemaName}.${e.tableName}`:"")},WN=({tableName:e,schemaName:t})=>{const{openOverlay:n,closeOverlay:r,isOverlayOpen:s}=Oe(),{tableCols:a,isLoadingTableCols:o}=jt({tableName:e,schemaName:t}),{editTable:i,isEditingTable:c}=HN({tableName:e,schemaName:t}),u=Os({mode:"onSubmit",defaultValues:sl(a??[]),resolver:ci(qN)}),{handleSubmit:d,watch:f,reset:h}=u;(0,p.useEffect)(()=>{a&&h(sl(a),{keepDirtyValues:!0})},[a,h]);const m=f("fields"),v=a!==void 0&&m.length===a.length,S=v?cf(a,{fields:m}):[],b=S.length>0,N=new Map(S.map(C=>[C.columnName,C])),w=()=>r("schema.edit-table"),y=()=>{c||(b?n("schema.edit-table-discard-changes"):w())},g=()=>{h(sl(a??[])),r("schema.edit-table-discard-changes"),w()},x=async C=>{if(!a)return;const j=cf(a,C);if(j.length!==0)try{await i(j),h(C),w()}catch{}};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(nn,{title:"Edit table",description:e,open:s("schema.edit-table"),onOpenChange:C=>{C||y()},children:a&&a.length>0&&v?(0,l.jsx)(Ms,{...u,children:(0,l.jsxs)("form",{onSubmit:d(x),className:"flex flex-col h-full",children:[(0,l.jsx)("div",{className:"-mx-5 -mt-6 divide-y divide-border",children:a.map((C,j)=>(0,l.jsx)(KN,{col:C,index:j,change:N.get(C.columnName),newColumnName:m[j]?.columnName.trim()??""},C.columnName))}),(0,l.jsxs)("div",{className:"sticky -bottom-6 -mx-5 -mb-6 flex items-center justify-between gap-2 border-t border-border bg-background px-5 py-4",children:[(0,l.jsx)("span",{className:"text-xs text-muted-foreground",children:b?`${S.length} ${S.length===1?"column":"columns"} changed`:"No changes"}),(0,l.jsxs)("div",{className:"flex gap-2",children:[(0,l.jsx)(te,{type:"button",variant:"outline",size:"lg",disabled:c,onClick:y,children:"Close"}),(0,l.jsx)(te,{type:"submit",size:"lg",disabled:c||!b,children:"Save changes"})]})]})]})}):(0,l.jsx)("div",{className:"flex flex-col h-full",children:(0,l.jsx)("div",{className:"space-y-6",children:o||a&&a.length>0?(0,l.jsx)("p",{className:"text-sm text-muted-foreground",children:"Loading columns..."}):(0,l.jsx)(vt,{variant:"info",title:"No columns found",message:"This table has no columns to edit."})})})}),(0,l.jsx)(Ar,{open:s("schema.edit-table-discard-changes"),onOpenChange:C=>{C||r("schema.edit-table-discard-changes")},children:(0,l.jsxs)(_r,{children:[(0,l.jsxs)(kr,{children:[(0,l.jsx)(Mr,{children:"Discard unsaved changes?"}),(0,l.jsx)(Dr,{children:"This table has unsaved column changes. Discard them and close?"})]}),(0,l.jsxs)(Rr,{children:[(0,l.jsx)(Tr,{children:"Keep editing"}),(0,l.jsx)(Or,{onClick:g,children:"Discard changes"})]})]})})]})},qs=({children:e,className:t,title:n})=>(0,l.jsx)("span",{title:n,className:G("truncate rounded border border-border bg-muted/40 px-1.5 font-mono text-[10px] leading-4 text-muted-foreground",t),children:e}),KN=({col:e,index:t,change:n,newColumnName:r})=>{const{register:s,formState:a}=lt(),o=a.errors.fields?.[t]?.columnName?.message;return(0,l.jsxs)("div",{className:G("grid grid-cols-3 gap-4 px-5 py-3",n&&"bg-primary/5"),children:[(0,l.jsxs)("div",{className:"col-span-1 flex min-w-0 flex-col gap-1.5",children:[(0,l.jsxs)("span",{className:"flex items-center gap-1.5",children:[e.isPrimaryKey?(0,l.jsx)(Jo,{"aria-label":"Primary key",className:"size-3.5 shrink-0 text-amber-500"}):e.isForeignKey?(0,l.jsx)(Wc,{"aria-label":`References ${e.referencedTable}.${e.referencedColumn}`,className:"size-3.5 shrink-0 text-sky-500"}):(0,l.jsx)("span",{className:"size-3.5 shrink-0"}),(0,l.jsx)("span",{className:"truncate font-mono text-sm font-medium",children:e.columnName})]}),(0,l.jsxs)("div",{className:"flex min-w-0 flex-wrap items-center gap-1 pl-5",children:[n?.alter?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(qs,{className:"line-through",children:e.dataTypeLabel}),(0,l.jsx)(So,{className:"size-3 text-muted-foreground"}),(0,l.jsx)(qs,{className:"border-primary/40 text-primary",children:n.alter.columnType})]}):(0,l.jsx)(qs,{children:e.dataTypeLabel}),!e.isNullable&&(0,l.jsx)(qs,{children:"not null"}),e.columnDefault&&(0,l.jsxs)(qs,{title:e.columnDefault,className:"max-w-full",children:["default ",e.columnDefault]})]}),n?.newColumnName!==void 0&&(0,l.jsxs)("span",{className:"flex min-w-0 items-center gap-1 pl-5 font-mono text-[11px] text-primary",children:[(0,l.jsx)(So,{className:"size-3 shrink-0"}),(0,l.jsx)("span",{className:"truncate",children:r})]})]}),(0,l.jsxs)("div",{className:"col-span-2 grid grid-cols-2 items-start gap-2",children:[(0,l.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,l.jsx)(ot,{"aria-label":`Name of ${e.columnName}`,"aria-invalid":o?!0:void 0,className:"font-mono",...s(`fields.${t}.columnName`)}),o&&(0,l.jsx)("span",{className:"text-xs text-destructive",children:o})]}),(0,l.jsx)(ui,{index:t})]})]})},Xp=()=>{const e=At(),{selectedDatabase:t}=Ue(),{mutateAsync:n,isPending:r}=It({mutationFn:async({tableName:a,schemaName:o,columnName:i,cascade:c})=>(await HS({tableName:a,schemaName:o,columnName:i,cascade:c,db:t??""})).data.data,onSuccess:async(a,o)=>{await Promise.all([e.invalidateQueries({queryKey:Me.columnsByTable(o.tableName),exact:!1}),e.invalidateQueries({queryKey:Me.dataByTable(o.tableName),exact:!1}),e.invalidateQueries({queryKey:Me.lists(),exact:!1})])}});return{deleteColumn:async({tableName:a,schemaName:o,columnName:i,cascade:c})=>Be.promise(n({tableName:a,schemaName:o,columnName:i,cascade:c,db:""}),{loading:"Deleting column...",success:u=>u||"Column deleted successfully",error:u=>u.message||"Failed to delete column"}),isDeletingColumn:r}},YN=({columnVirtualizer:e,renderCellAccessory:t,row:n,rowVirtualizer:r,virtualPaddingLeft:s,virtualPaddingRight:a,virtualRow:o})=>{const i=n.getVisibleCells(),c=e.getVirtualItems();return(0,l.jsxs)("tr",{"data-index":o.index,ref:u=>r.measureElement(u),className:"flex absolute w-fit border-b items-center text-sm hover:bg-accent/20 data-[state=open]:bg-accent/40 [&_svg]:size-4",style:{transform:`translateY(${o.start}px)`},children:[s?(0,l.jsx)("td",{style:{display:"flex",width:s}}):null,c.map(u=>{const d=i[u.index];return(0,l.jsxs)("td",{className:"group relative flex border-r border-border h-8 items-center px-3 truncate",style:{width:d.column.getSize()},children:[$r(d.column.columnDef.cell,d.getContext()),t?.(d.getValue())]},d.id)}),a?(0,l.jsx)("td",{style:{display:"flex",width:a}}):null]},n.id)},GN=({columnVirtualizer:e,renderCellAccessory:t,table:n,tableContainerRef:r,virtualPaddingLeft:s,virtualPaddingRight:a})=>{const{rows:o}=n.getRowModel(),i=Go({count:o.length,estimateSize:()=>33,getScrollElement:()=>r.current,measureElement:typeof window<"u"&&navigator.userAgent.indexOf("Firefox")===-1?u=>u?.getBoundingClientRect().height:void 0,overscan:5}),c=i.getVirtualItems();return(0,l.jsx)("tbody",{style:{display:"grid",height:`${i.getTotalSize()}px`,position:"relative"},children:c.map(u=>{const d=o[u.index];return(0,l.jsx)(YN,{columnVirtualizer:e,renderCellAccessory:t,row:d,rowVirtualizer:i,virtualPaddingLeft:s,virtualPaddingRight:a,virtualRow:u},d.id)})})};function JN({header:e,table:t,label:n}){const r=t._getDefaultColumnDef(),s=(0,p.useCallback)(()=>{t.setColumnSizing(a=>{const o={...a};return delete o[e.column.id],o})},[e.column.id,t]);return(0,l.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:G("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 QN=(0,p.memo)(JN,(e,t)=>{const n=e.header.column,r=t.header.column;return!(n.getIsResizing()!==r.getIsResizing()||n.getSize()!==r.getSize()||e.label!==t.label)}),XN=({columnVirtualizer:e,table:t,virtualPaddingLeft:n,virtualPaddingRight:r})=>{const s=e.getVirtualItems(),a=t.getState().columnSizingInfo.isResizingColumn;return(0,l.jsx)("thead",{className:"h-9 grid sticky top-0 z-10 supports-backdrop-filter:backdrop-blur-sm",children:t.getHeaderGroups().map(o=>(0,l.jsxs)("tr",{className:G("flex w-fit bg-muted/40 border-b border-border items-center text-sm [&_svg]:size-4",a&&"pointer-events-none"),children:[n?(0,l.jsx)("th",{style:{display:"flex",width:n}}):null,s.map(i=>{const c=o.headers[i.index];return(0,l.jsxs)("th",{className:"relative h-full flex items-center border-r border-border text-xs font-medium text-muted-foreground",style:{width:c.getSize()},children:[(0,l.jsx)("div",{className:"flex w-full h-full items-center px-3",children:$r(c.column.columnDef.header,c.getContext())}),c.column.getCanResize()&&(0,l.jsx)(QN,{header:c,table:t,label:c.column.id})]},c.id)}),r?(0,l.jsx)("th",{style:{display:"flex",width:r}}):null]},o.id))})},ZN=({table:e,renderCellAccessory:t})=>{const n=e.getVisibleLeafColumns(),r=(0,p.useRef)(null),s=Go({count:n.length,estimateSize:c=>n[c].getSize(),getScrollElement:()=>r.current,horizontal:!0,overscan:3}),a=s.getVirtualItems();let o,i;return s&&a?.length&&(o=a[0]?.start??0,i=s.getTotalSize()-(a[a.length-1]?.end??0)),(0,l.jsx)("div",{className:"w-full flex-1 overflow-auto",ref:r,style:{position:"relative"},children:(0,l.jsxs)("table",{style:{display:"grid"},children:[(0,l.jsx)(XN,{columnVirtualizer:s,table:e,virtualPaddingLeft:o,virtualPaddingRight:i}),(0,l.jsx)(GN,{columnVirtualizer:s,renderCellAccessory:t,table:e,tableContainerRef:r,virtualPaddingLeft:o,virtualPaddingRight:i})]})})},Zp=({columns:e,data:t,renderCellAccessory:n})=>{const r=qc({data:t,columns:e,getCoreRowModel:Hc(),enableColumnResizing:!0,columnResizeMode:"onChange"});return(0,l.jsx)(ZN,{table:r,renderCellAccessory:n})},An=e=>{if(e==null)return"";if(typeof e=="object")try{return JSON.stringify(e)}catch{return String(e)}return String(e)},Su=({value:e,className:t})=>{const[n,r]=(0,p.useState)(!1),s=(0,p.useRef)(null);(0,p.useEffect)(()=>()=>{s.current&&window.clearTimeout(s.current)},[]);const a=An(e),o=(0,p.useCallback)(async i=>{i.stopPropagation();try{await navigator.clipboard.writeText(a),r(!0)}catch(c){console.error("Failed to copy cell value:",c);return}s.current&&window.clearTimeout(s.current),s.current=window.setTimeout(()=>{r(!1)},1200)},[a]);return a?(0,l.jsx)("button",{type:"button",className:G("absolute right-0.5 top-1/2 inline-flex size-5 -translate-y-1/2 items-center justify-center","text-muted-foreground opacity-0 transition-opacity","hover:text-foreground focus-visible:opacity-100 focus-visible:outline-none","group-hover:opacity-100",t),onClick:o,"aria-label":n?"Copied":"Copy",children:n?(0,l.jsx)(Zr,{className:"size-3.5"}):(0,l.jsx)(Qc,{className:"size-3.5"})}):null},Je=()=>{const e=Ew({strict:!1}),t=me.TABLE_SCHEMA in e&&e[me.TABLE_SCHEMA];return typeof t=="string"?t:void 0};function lr({className:e,...t}){return(0,l.jsx)(pS,{"data-slot":"checkbox",className:G("border-input dark:bg-input/20 dark:bg-input/30 data-checked:bg-primary data-checked:text-primary-foreground dark:data-checked:bg-primary data-checked:border-primary aria-invalid:aria-checked:border-primary aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 focus-visible:border-ring focus-visible:ring-ring/30 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 flex size-4 items-center justify-center rounded-[4px] border transition-shadow group-has-disabled/field:opacity-50 focus-visible:ring-[2px] aria-invalid:ring-[2px] peer relative shrink-0 outline-none after:absolute after:-inset-x-3 after:-inset-y-2 disabled:cursor-not-allowed disabled:opacity-50",e),...t,children:(0,l.jsx)(bS,{"data-slot":"checkbox-indicator",className:"[&>svg]:size-3.5 grid place-content-center text-current transition-none",children:(0,l.jsx)(Zr,{})})})}function Oa({...e}){return(0,l.jsx)(ES,{"data-slot":"dropdown-menu",...e})}function Da({...e}){return(0,l.jsx)(mS,{"data-slot":"dropdown-menu-trigger",...e})}function Pa({className:e,align:t="start",sideOffset:n=4,...r}){return(0,l.jsx)(lS,{children:(0,l.jsx)(dS,{"data-slot":"dropdown-menu-content",sideOffset:n,align:t,className:G("data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 bg-popover text-popover-foreground min-w-32 rounded-lg p-1 shadow-md ring-1 duration-100 z-50 max-h-(--radix-dropdown-menu-content-available-height) w-(--radix-dropdown-menu-trigger-width) origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto data-[state=closed]:overflow-hidden",e),...r})})}function eg({...e}){return(0,l.jsx)(uS,{"data-slot":"dropdown-menu-group",...e})}function Xt({className:e,inset:t,variant:n="default",...r}){return(0,l.jsx)(yS,{"data-slot":"dropdown-menu-item","data-inset":t,"data-variant":n,className:G("focus:bg-accent cursor-pointer focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:text-destructive not-data-[variant=destructive]:focus:**:text-accent-foreground min-h-7 gap-2 rounded-sm px-2 py-1 text-xs/relaxed [&_svg:not([class*='size-'])]:size-3.5 group/dropdown-menu-item relative flex items-center outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0",e),...r})}function $V({className:e,children:t,checked:n,...r}){return(0,l.jsxs)(wS,{"data-slot":"dropdown-menu-checkbox-item",className:G("focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground min-h-7 gap-2 rounded-sm py-1.5 pr-8 pl-2 text-xs [&_svg:not([class*='size-'])]:size-3.5 relative flex cursor-default items-center outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",e),checked:n,...r,children:[(0,l.jsx)("span",{className:"pointer-events-none absolute right-2 flex items-center justify-center pointer-events-none","data-slot":"dropdown-menu-checkbox-item-indicator",children:(0,l.jsx)(jS,{children:(0,l.jsx)(Zr,{})})}),t]})}function tg({className:e,...t}){return(0,l.jsx)(gS,{"data-slot":"dropdown-menu-separator",className:G("bg-border/50 -mx-1 my-1 h-px",e),...t})}function zV({...e}){return(0,l.jsx)(vS,{"data-slot":"dropdown-menu-sub",...e})}function VV({className:e,inset:t,children:n,...r}){return(0,l.jsxs)(hS,{"data-slot":"dropdown-menu-sub-trigger","data-inset":t,className:G("focus:bg-accent focus:text-accent-foreground data-open:bg-accent data-open:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground min-h-7 gap-2 rounded-sm px-2 py-1 text-xs [&_svg:not([class*='size-'])]:size-3.5 flex cursor-default items-center outline-hidden select-none data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0",e),...r,children:[n,(0,l.jsx)(Zc,{className:"ml-auto"})]})}function BV({className:e,...t}){return(0,l.jsx)(xS,{"data-slot":"dropdown-menu-sub-content",className:G("data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 bg-popover text-popover-foreground min-w-32 rounded-lg p-1 shadow-md ring-1 duration-100 z-50 origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden",e),...t})}var ng=({index:e,isDisabled:t})=>{const{control:n}=lt(),r=hr()?.dataModel==="document",s=Gt({control:n,name:`fields.${e}.columnType`}),a=Gt({control:n,name:`fields.${e}.isPrimaryKey`}),o=Gt({control:n,name:`fields.${e}.isNullable`}),i=Gt({control:n,name:`fields.${e}.isUnique`}),c=Gt({control:n,name:`fields.${e}.isIdentity`}),u=Gt({control:n,name:`fields.${e}.isArray`}),d=(0,p.useCallback)(h=>{if(r)switch(h){case"isIdentity":return!1;case"isArray":return!!s&&s!=="array";default:return!0}switch(h){case"isNullable":return!a;case"isIdentity":return!Gp.includes(s);case"isArray":return Jp.includes(s);default:return!0}},[r,a,s]),f=(0,p.useMemo)(()=>{const h={isNullable:o,isUnique:i,isIdentity:c,isArray:u};return lf.filter(m=>d(m.name)?!!h[m.name]:!1).length},[o,i,c,u,d]);return(0,l.jsx)("div",{className:"flex items-end justify-end",children:(0,l.jsxs)(Oa,{children:[(0,l.jsx)(Da,{asChild:!0,children:(0,l.jsxs)(te,{"aria-label":"Advanced options",type:"button",variant:"ghost",size:"icon",disabled:t,className:"size-9 relative",children:[(0,l.jsx)(ep,{className:"size-4"}),f>0&&(0,l.jsx)(ys,{className:"absolute -top-2 leading-0! left-full -translate-x-1/2 size-5 flex items-center justify-center text-xs",children:f>99?"99+":f})]})}),(0,l.jsx)(Pa,{className:"w-96 space-y-1",side:"bottom",align:"end",children:lf.map(h=>d(h.name)?(0,l.jsx)(Ht,{control:n,name:`fields.${e}.${h.name}`,render:({field:m})=>(0,l.jsxs)(Ne,{htmlFor:`${h.name}-${e}`,className:"flex items-start gap-3 rounded-lg p-3 cursor-pointer hover:bg-accent/50 has-checked:bg-primary-foreground has-checked:border-blue-600",children:[(0,l.jsx)(lr,{id:`${h.name}-${e}`,checked:!!m.value,onCheckedChange:v=>m.onChange(!!v),className:"data-[state=checked]:bg-blue-600 data-[state=checked]:border-blue-600",type:"button"}),(0,l.jsxs)("div",{className:"grid gap-1.5 font-normal",children:[(0,l.jsx)("p",{className:"text-sm leading-none font-medium",children:h.label}),(0,l.jsx)("p",{className:"text-sm text-muted-foreground",children:h.description})]})]})},h.name):null)})]})})},rg=({index:e,showForeignKeyButton:t=!0})=>{const{openOverlay:n}=Oe(),{control:r,register:s,formState:{errors:a},watch:o}=lt(),i=t?o(`foreignKeys.${e}.referencedTable`):void 0,c=()=>{n(`table-builder.add-foreign-key-${e}`)};return(0,l.jsx)(Ht,{control:r,name:`fields.${e}.columnName`,render:()=>(0,l.jsxs)("div",{className:"flex",children:[(0,l.jsx)(ot,{id:`fields.${e}.columnName`,...s(`fields.${e}.columnName`,{required:"Column name is required"}),placeholder:"column_name",className:G(t?"-me-px flex-1 rounded-e-none shadow-none focus-visible:z-10":"flex-1",a?.fields?.[e]?.columnName?"border-destructive ring-destructive ring-1":"")}),t&&(0,l.jsx)("button",{"aria-label":"Generate column name",className:G("inline-flex w-7 h-7 items-center justify-center rounded-e-md border border-input bg-background text-muted-foreground/80 text-sm outline-none transition-[color,box-shadow] hover:text-accent-foreground focus:z-10 focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",i?"":"border-dashed"),type:"button",onClick:c,children:(0,l.jsx)(Qo,{"aria-hidden":"true",className:"size-3"})})]})})},Cu=({index:e,isRequired:t=!0})=>{const{control:n,register:r,formState:{errors:s}}=lt();return(0,l.jsx)(Ht,{control:n,name:`fields.${e}.defaultValue`,render:()=>(0,l.jsx)("div",{className:"flex flex-col gap-2",children:(0,l.jsx)(ot,{id:`fields.${e}.defaultValue`,...r(`fields.${e}.defaultValue`,t?{required:"Default value is required"}:void 0),placeholder:"NULL",className:s?.fields?.[e]?.defaultValue?"border-destructive ring-destructive ring-1":""})})})},sg=({index:e})=>{const{watch:t,control:n,register:r,setValue:s}=lt(),a=t(`fields.${e}.isPrimaryKey`);return(0,l.jsx)(Ht,{control:n,name:`fields.${e}.isPrimaryKey`,render:()=>(0,l.jsx)("div",{className:"flex flex-1 items-center justify-start",children:(0,l.jsx)(lr,{id:`fields.${e}.isPrimaryKey`,...r(`fields.${e}.isPrimaryKey`),onCheckedChange:o=>{s(`fields.${e}.isPrimaryKey`,!!o),s(`fields.${e}.isNullable`,!1)},checked:a,className:"size-5"})})})},eE=e=>({...e,defaultValue:e.defaultValue?.trim()?e.defaultValue.trim():void 0}),tE=({tableName:e,schemaName:t})=>{const n=At(),{closeOverlay:r}=Oe(),{selectedDatabase:s,dbType:a}=Ue(),{mutateAsync:o,isPending:i}=It({mutationFn:async u=>(await YS({tableName:e,schemaName:t,data:eE(u),db:s})).data.data,onSuccess:async()=>{await Promise.all([n.invalidateQueries({queryKey:Me.columnsByTable(e),exact:!1}),n.invalidateQueries({queryKey:Me.dataByTable(e),exact:!1})]),r("schema.add-column"),a&&_n.capture("column_added",{db_type:a})}});return{addColumn:async(u,d)=>Be.promise(o(u,d),{loading:"Adding column...",success:f=>f||"Column added successfully",error:f=>typeof f.details=="string"&&f.details||f.message||"Failed to add column"}),isAddingColumn:i}},nE=Gn({fields:mp([Gn({columnName:Ld.shape.columnName,columnType:Ld.shape.columnType,defaultValue:Zt(),isPrimaryKey:Rt(),isNullable:Rt(),isUnique:Rt(),isIdentity:Rt(),isArray:Rt()})])}),al={fields:[{columnName:"",columnType:"",defaultValue:"",isPrimaryKey:!1,isNullable:!0,isUnique:!1,isIdentity:!1,isArray:!1}]},rE=()=>{const e=lt(),t=Gt({control:e.control,name:"fields.0.isPrimaryKey"});return(0,l.jsxs)("div",{className:"space-y-4",children:[(0,l.jsxs)("div",{className:"grid grid-cols-4 px-2",children:[(0,l.jsx)(Ne,{className:"text-xs",children:"Column Name"}),(0,l.jsx)(Ne,{className:"text-xs",children:"Column Type"}),(0,l.jsx)(Ne,{className:"text-xs",children:"Default Value"}),(0,l.jsx)(Ne,{className:"text-xs",children:"Primary"})]}),(0,l.jsx)("div",{className:"px-2 py-3",children:(0,l.jsxs)("div",{className:"grid grid-cols-4 gap-4",children:[(0,l.jsx)(rg,{index:0,showForeignKeyButton:!1}),(0,l.jsx)(ui,{index:0}),(0,l.jsx)(Cu,{index:0,isRequired:!1}),(0,l.jsxs)("div",{className:"flex gap-2",children:[(0,l.jsx)(sg,{index:0}),(0,l.jsx)(ng,{index:0,isDisabled:!!t})]})]})})]})},sE=({tableName:e})=>{const{closeOverlay:t,isOverlayOpen:n}=Oe(),{addColumn:r,isAddingColumn:s}=tE({tableName:e,schemaName:Je()}),a=Os({mode:"onSubmit",defaultValues:al,resolver:ci(nE)}),o=()=>{a.reset(al),t("schema.add-column")},i=async c=>{await r(c.fields[0]),a.reset(al)};return(0,l.jsx)(nn,{title:"Add column",description:`Add a new column to "${e}".`,open:n("schema.add-column"),onOpenChange:c=>{c||o()},children:(0,l.jsx)(Ms,{...a,children:(0,l.jsxs)("form",{onSubmit:a.handleSubmit(i),className:"space-y-6",children:[(0,l.jsx)(rE,{}),(0,l.jsx)(wu,{onCancel:o,isLoading:s})]})})})},aE=e=>({...e,defaultValue:e.defaultValue?.trim()?e.defaultValue.trim():null}),oE=({tableName:e,schemaName:t,columnName:n})=>{const r=At(),{closeOverlay:s}=Oe(),{setEditingColumn:a}=di(),{selectedDatabase:o}=Ue(),{mutateAsync:i,isPending:c}=It({mutationFn:async d=>(await dp({tableName:e,schemaName:t,columnName:n,data:aE(d),db:o})).data.data,onSuccess:async()=>{await r.invalidateQueries({queryKey:Me.columnsByTable(e),exact:!1}),a(null),s("schema.edit-column")}});return{alterColumn:async(d,f)=>Be.promise(i(d,f),{loading:"Updating column...",success:h=>h||"Column updated successfully",error:h=>typeof h.details=="string"&&h.details||h.message||"Failed to update column"}),isAlteringColumn:c}},iE=Gn({fields:mp([Gn({columnName:Zt(),columnType:Pd.shape.columnType,defaultValue:Zt(),isPrimaryKey:Rt(),isNullable:Pd.shape.isNullable,isUnique:Rt(),isIdentity:Rt(),isArray:Rt()})])}),Ka=e=>({fields:[{columnName:e?.columnName??"",columnType:e?.dataTypeLabel??"",defaultValue:e?.columnDefault??"",isPrimaryKey:!1,isNullable:e?.isNullable??!0,isUnique:!1,isIdentity:!1,isArray:e?.dataType==="array"}]}),lE=({tableName:e})=>{const{closeOverlay:t,isOverlayOpen:n}=Oe(),{editingColumn:r,setEditingColumn:s}=di(),a=Os({mode:"onSubmit",defaultValues:Ka(null),resolver:ci(iE)}),{alterColumn:o,isAlteringColumn:i}=oE({tableName:e,schemaName:Je(),columnName:r?.columnName??""});(0,p.useEffect)(()=>{a.reset(Ka(r))},[r,a]);const c=()=>{s(null),a.reset(Ka(null)),t("schema.edit-column")},u=async d=>{await o({columnType:d.fields[0].columnType,isNullable:d.fields[0].isNullable,defaultValue:d.fields[0].defaultValue}),a.reset(Ka(null))};return(0,l.jsx)(nn,{title:r?`Edit ${r.columnName}`:"Edit column",description:r?`Update the type, nullability, and default value for "${r.columnName}".`:"Update the selected column.",open:n("schema.edit-column"),onOpenChange:d=>{d||c()},children:(0,l.jsx)(Ms,{...a,children:(0,l.jsxs)("form",{onSubmit:a.handleSubmit(u),className:"space-y-6",children:[(0,l.jsxs)("div",{className:"space-y-4",children:[(0,l.jsxs)("div",{className:"space-y-2",children:[(0,l.jsx)(Ne,{htmlFor:"edit-column-name",children:"Column name"}),(0,l.jsx)(ot,{id:"edit-column-name",value:r?.columnName??"",readOnly:!0,disabled:!0})]}),(0,l.jsxs)("div",{className:"space-y-2",children:[(0,l.jsx)(Ne,{children:"Column type"}),(0,l.jsx)(ui,{index:0})]}),(0,l.jsxs)("div",{className:"space-y-2",children:[(0,l.jsx)(Ne,{children:"Default value"}),(0,l.jsx)(Cu,{index:0,isRequired:!1})]}),(0,l.jsx)(Ht,{control:a.control,name:"fields.0.isNullable",render:({field:d})=>(0,l.jsxs)("div",{className:"flex items-center gap-3 rounded-lg border border-border p-3",children:[(0,l.jsx)(lr,{id:"edit-column-nullable",checked:!!d.value,onCheckedChange:f=>d.onChange(f===!0)}),(0,l.jsxs)("div",{className:"space-y-1",children:[(0,l.jsx)(Ne,{htmlFor:"edit-column-nullable",className:"cursor-pointer",children:"Nullable"}),(0,l.jsx)("p",{className:"text-xs text-muted-foreground",children:"Allow this column to store NULL values."})]})]})})]}),(0,l.jsx)(wu,{onCancel:c,isLoading:i})]})})})},cE=({tableName:e,schemaName:t,columnName:n})=>{const r=At(),{selectedDatabase:s}=Ue(),{mutateAsync:a,isPending:o}=It({mutationFn:async c=>(await hp({tableName:e,schemaName:t,columnName:n,data:c,db:s})).data.data,onSuccess:async()=>{await Promise.all([r.invalidateQueries({queryKey:Me.columnsByTable(e),exact:!1}),r.invalidateQueries({queryKey:Me.dataByTable(e),exact:!1})])}});return{renameColumn:async(c,u)=>Be.promise(a(c,u),{loading:"Renaming column...",success:d=>d||"Column renamed successfully",error:d=>typeof d.details=="string"&&d.details||d.message||"Failed to rename column"}),isRenamingColumn:o}},uE=({col:e,tableName:t})=>{const{openOverlay:n}=Oe(),{setEditingColumn:r}=di(),s=Je(),{renameColumn:a,isRenamingColumn:o}=cE({tableName:t,schemaName:s,columnName:e.columnName}),{deleteColumn:i,isDeletingColumn:c}=Xp(),[u,d]=(0,p.useState)(!1),[f,h]=(0,p.useState)(!1),[m,v]=(0,p.useState)(e.columnName),[S,b]=(0,p.useState)(!1),N=()=>{r(e),n("schema.edit-column")},w=C=>{d(C),C||v(e.columnName)},y=C=>{h(C),C||b(!1)},g=async()=>{await a({newColumnName:m.trim()}),w(!1)},x=async()=>{await i({db:"",tableName:t,schemaName:s,columnName:e.columnName,cascade:S}),y(!1)};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(Oa,{children:[(0,l.jsx)(Da,{asChild:!0,children:(0,l.jsx)(te,{variant:"ghost",size:"icon-sm",children:(0,l.jsx)(sS,{className:"size-4"})})}),(0,l.jsx)(Pa,{align:"end",className:"w-48",children:(0,l.jsxs)(eg,{children:[(0,l.jsxs)(Xt,{onClick:N,children:[(0,l.jsx)(Xw,{className:"size-4"}),"Edit Column"]}),(0,l.jsxs)(Xt,{onClick:()=>w(!0),children:[(0,l.jsx)(Yw,{className:"size-4"}),"Rename Column"]}),(0,l.jsx)(tg,{}),(0,l.jsxs)(Xt,{variant:"destructive",onClick:()=>y(!0),children:[(0,l.jsx)(Jc,{className:"size-4"}),"Drop Column"]})]})})]}),(0,l.jsx)(dE,{columnName:e.columnName,newColumnName:m,setNewColumnName:v,isOpen:u,onOpenChange:w,onRename:g,isRenaming:o}),(0,l.jsx)(fE,{columnName:e.columnName,isOpen:f,onOpenChange:y,cascadeDelete:S,setCascadeDelete:b,onDrop:x,isDropping:c})]})},dE=({columnName:e,newColumnName:t,setNewColumnName:n,isOpen:r,onOpenChange:s,onRename:a,isRenaming:o})=>{const i=!t.trim()||t.trim()===e;return(0,l.jsx)(ei,{open:r,onOpenChange:s,children:(0,l.jsxs)(ti,{className:"max-w-md",children:[(0,l.jsxs)(ni,{children:[(0,l.jsx)(ri,{children:"Rename Column"}),(0,l.jsx)(si,{children:"Update the column name while keeping the rest of the schema unchanged."})]}),(0,l.jsxs)("div",{className:"space-y-4",children:[(0,l.jsxs)("div",{className:"space-y-2",children:[(0,l.jsx)(Ne,{htmlFor:"current-column-name",children:"Current name"}),(0,l.jsx)(ot,{id:"current-column-name",value:e,readOnly:!0,disabled:!0})]}),(0,l.jsxs)("div",{className:"space-y-2",children:[(0,l.jsx)(Ne,{htmlFor:"new-column-name",children:"New name"}),(0,l.jsx)(ot,{id:"new-column-name",value:t,onChange:c=>n(c.target.value),placeholder:"column_name",autoFocus:!0})]})]}),(0,l.jsxs)(cu,{className:"gap-2",children:[(0,l.jsx)(te,{variant:"outline",onClick:()=>s(!1),disabled:o,children:"Cancel"}),(0,l.jsx)(te,{onClick:a,disabled:i||o,children:o?"Renaming...":"Rename Column"})]})]})})},fE=({columnName:e,isOpen:t,onOpenChange:n,cascadeDelete:r,setCascadeDelete:s,onDrop:a,isDropping:o})=>(0,l.jsx)(ei,{open:t,onOpenChange:n,children:(0,l.jsxs)(ti,{className:"max-w-md",children:[(0,l.jsxs)(ni,{children:[(0,l.jsx)(ri,{children:"Drop Column"}),(0,l.jsxs)(si,{children:["Are you sure you want to drop the column"," ",(0,l.jsxs)("span",{className:"font-semibold text-foreground",children:['"',e,'"']}),"? This action cannot be undone and permanently removes the data stored in it."]})]}),(0,l.jsxs)("div",{className:"flex gap-3 rounded-lg border border-border p-3",children:[(0,l.jsx)(lr,{id:`drop-column-cascade-${e}`,checked:r,onCheckedChange:i=>s(i===!0)}),(0,l.jsxs)("div",{className:"space-y-1",children:[(0,l.jsx)(Ne,{htmlFor:`drop-column-cascade-${e}`,className:"cursor-pointer",children:"Drop with CASCADE"}),(0,l.jsx)("p",{className:"text-xs text-muted-foreground",children:"Also remove dependent indexes, constraints, and foreign key references."})]})]}),(0,l.jsxs)(cu,{className:"gap-2",children:[(0,l.jsx)(te,{variant:"outline",onClick:()=>n(!1),disabled:o,children:"Cancel"}),(0,l.jsx)(te,{variant:"destructive",onClick:a,disabled:o,children:o?"Dropping...":"Drop Column"})]})]})}),fi=()=>{const e=hr();return e!==void 0&&e.dataModel!=="relational"},hE=({tableName:e,refetch:t,isRefetching:n=!1})=>{const{openOverlay:r}=Oe(),s=fi();return(0,l.jsxs)("header",{className:"max-h-8 overflow-hidden border-b border-border w-full flex items-center bg-background text-foreground sticky top-0 left-0 right-0 z-0",children:[(0,l.jsx)(te,{type:"button",variant:"ghost",className:"size-8! aspect-square border-x-0 border-y-0 border-border rounded-none text-muted-foreground hover:text-foreground hover:bg-muted/60 transition-colors",onClick:()=>{t()},"aria-label":`Refetch schema for ${e}`,disabled:n,children:(0,l.jsx)(Kc,{className:"size-4"})}),(0,l.jsx)(te,{variant:"ghost",asChild:!0,className:"h-8! border-l border-y-0 border-r-0 border-border rounded-none flex items-center gap-2 text-muted-foreground hover:text-foreground",children:(0,l.jsxs)(Qm,{to:"/table/$table",params:{table:e},"aria-label":`View data for ${e}`,children:[(0,l.jsx)(wo,{className:"size-4"}),"View data"]})}),!s&&(0,l.jsxs)(te,{type:"button",variant:"default",className:"h-8! border-l border-y-0 border-r-0 border-border rounded-none flex items-center gap-2",onClick:()=>r("schema.add-column"),children:[(0,l.jsx)(bo,{className:"size-4"}),"Add Column"]})]})},mE=({col:e})=>e.dataTypeLabel==="enum"&&e.enumValues&&e.enumValues.length>0?(0,l.jsxs)(jn,{children:[(0,l.jsx)(En,{asChild:!0,children:(0,l.jsx)(ys,{variant:"outline",className:"font-mono cursor-default truncate",children:e.dataTypeLabel})}),(0,l.jsx)(In,{side:"right",children:(0,l.jsxs)("div",{className:"text-xs space-y-0.5",children:[(0,l.jsx)("p",{className:"text-muted-foreground mb-1",children:"Enum values:"}),e.enumValues.map(t=>(0,l.jsx)("p",{className:"font-mono",children:t},t))]})})]}):(0,l.jsx)(ys,{variant:"outline",className:"font-mono",children:e.dataTypeLabel}),UV=({tableName:e})=>{const{tableCols:t,isLoadingTableCols:n,isRefetchingTableCols:r,errorTableCols:s,refetchTableCols:a}=jt({tableName:e,schemaName:Je()}),o=(0,p.useMemo)(()=>[{id:"index",header:"",cell:({row:i})=>(0,l.jsx)("span",{className:"text-xs text-muted-foreground/60",children:i.index+1}),size:47,minSize:47,enableResizing:!1},{id:"columnName",header:"Name",accessorKey:"columnName",cell:({getValue:i})=>(0,l.jsx)("span",{className:"font-mono text-foreground font-medium truncate",children:i()}),minSize:100,size:200},{id:"dataTypeLabel",header:"Type",cell:({row:i})=>(0,l.jsx)(mE,{col:i.original}),size:100,minSize:100},{id:"columnDefault",header:"Default",accessorKey:"columnDefault",cell:({getValue:i})=>{const c=i();return c?(0,l.jsx)("span",{className:"font-mono text-xs text-muted-foreground truncate",children:c}):(0,l.jsx)("span",{className:"text-muted-foreground/50",children:"—"})},minSize:100,size:180},{id:"isNullable",header:"Nullable",accessorKey:"isNullable",cell:({getValue:i})=>i()?(0,l.jsx)("span",{className:"text-xs text-muted-foreground",children:"yes"}):(0,l.jsx)("span",{className:"text-xs text-muted-foreground/50",children:"no"}),minSize:100},{id:"key",header:"Key",cell:({row:i})=>{const{isPrimaryKey:c,isForeignKey:u}=i.original;return(0,l.jsxs)("div",{className:"flex items-center gap-1",children:[c&&(0,l.jsx)(ys,{variant:"default",className:"text-[0.6rem] px-1.5",children:"PK"}),u&&(0,l.jsx)(ys,{variant:"secondary",className:"text-[0.6rem] px-1.5",children:"FK"})]})},minSize:100,size:90},{id:"references",header:"References",cell:({row:i})=>{const{isForeignKey:c,referencedTable:u,referencedColumn:d}=i.original;return!c||!u||!d?(0,l.jsx)("span",{className:"text-muted-foreground/50",children:"—"}):(0,l.jsxs)(jn,{children:[(0,l.jsx)(En,{asChild:!0,children:(0,l.jsxs)("span",{className:"inline-flex items-center gap-1 text-xs text-muted-foreground cursor-default",children:[(0,l.jsx)(Qo,{className:"size-3 text-muted-foreground/70"}),(0,l.jsxs)("span",{className:"font-mono",children:[u,".",d]})]})}),(0,l.jsx)(In,{side:"left",children:(0,l.jsxs)("p",{children:["References"," ",(0,l.jsxs)("span",{className:"font-mono font-medium",children:[u,".",d]})]})})]})},size:160,minSize:100},{id:"actions",header:"",cell:({row:i})=>(0,l.jsx)("div",{className:"flex justify-center items-center",children:(0,l.jsx)(uE,{col:i.original,tableName:e})}),size:50,enableResizing:!1}],[e]);return n?(0,l.jsx)("div",{className:"size-full flex items-center justify-center",children:(0,l.jsx)(As,{size:"size-7"})}):s?(0,l.jsxs)("div",{className:"size-full flex flex-col items-center justify-center gap-2",children:[(0,l.jsx)("div",{className:"text-sm font-medium",children:"Failed to load schema"}),(0,l.jsx)("div",{className:"text-sm text-muted-foreground",children:s.message})]}):(0,l.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden",children:[(0,l.jsx)(hE,{tableName:e,refetch:a,isRefetching:r}),(0,l.jsx)(Zp,{columns:o,data:t??[],renderCellAccessory:i=>(0,l.jsx)(Su,{value:i})}),(0,l.jsx)(sE,{tableName:e}),(0,l.jsx)(lE,{tableName:e})]})},pE=({index:e,tableName:t})=>{const{tableCols:n,isLoadingTableCols:r}=jt({tableName:t,schemaName:void 0}),{control:s}=lt();return Gt({control:s,name:`foreignKeys.${e}`})?(0,l.jsx)(Ht,{control:s,name:`foreignKeys.${e}`,render:({field:a})=>(0,l.jsxs)(Nt,{value:a.value?.referencedColumn,onValueChange:o=>a.onChange({...a.value,referencedColumn:o}),disabled:r,children:[(0,l.jsx)(St,{className:"w-full flex-1",disabled:r||!n?.length,children:(0,l.jsx)(wt,{placeholder:n?.length?"Select a column":"No columns found"})}),(0,l.jsx)(Ct,{children:n&&n.length>0&&r?(0,l.jsx)(Se,{value:"none",disabled:!0,children:"No columns found"}):n?.flatMap(o=>o.columnName?.trim()?[(0,l.jsx)(Se,{value:o.columnName,children:o.columnName},o.columnName)]:[])})]})}):null},gE=({index:e})=>{const{control:t}=lt();return(0,l.jsx)(Ht,{control:t,name:`foreignKeys.${e}.onDelete`,defaultValue:"NO ACTION",render:({field:n})=>(0,l.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,l.jsx)(Ne,{htmlFor:`foreignKeys.${e}.onDelete`,children:"Action if referenced row is deleted"}),(0,l.jsxs)(Nt,{value:n.value,onValueChange:r=>n.onChange(r),children:[(0,l.jsx)(St,{className:"w-full flex-1",children:(0,l.jsx)(wt,{placeholder:"Select an action"})}),(0,l.jsx)(Ct,{children:Qp.map(r=>(0,l.jsx)(Se,{value:r.value,children:r.label},r.value))})]})]})})},vE=({index:e})=>{const{control:t}=lt();return(0,l.jsx)(Ht,{control:t,name:`foreignKeys.${e}.onUpdate`,defaultValue:"NO ACTION",render:({field:n})=>(0,l.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,l.jsx)(Ne,{htmlFor:`foreignKeys.${e}.onUpdate`,children:"Action if referenced row is updated"}),(0,l.jsxs)(Nt,{value:n.value,onValueChange:r=>n.onChange(r),children:[(0,l.jsx)(St,{className:"w-full flex-1",children:(0,l.jsx)(wt,{placeholder:"Select an action"})}),(0,l.jsx)(Ct,{children:Qp.map(r=>(0,l.jsx)(Se,{value:r.value,children:r.label},r.value))})]})]})})},yE=({index:e})=>{const{control:t,watch:n}=lt(),r=n(`foreignKeys.${e}.referencedTable`),s=Gt({control:t,name:`foreignKeys.${e}`});return!r||!s?null:(0,l.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,l.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Select columns from"," ",(0,l.jsx)("span",{className:"font-mono text-primary",children:s.referencedTable||"Unnamed table"})," ","to reference to"]}),(0,l.jsxs)("div",{className:"space-y-2",children:[(0,l.jsxs)("div",{className:"grid grid-cols-2 gap-2",children:[(0,l.jsx)(Ne,{htmlFor:`foreignKeys.${e}.columnName`,children:n("tableName")||"Unnamed table"}),(0,l.jsx)(Ne,{htmlFor:`foreignKeys.${e}.referencedColumn`,children:s.referencedTable||"Unnamed table"})]}),(0,l.jsxs)("div",{className:"grid grid-cols-2 gap-2",children:[(0,l.jsxs)("div",{className:"flex items-center gap-2 flex-1",children:[(0,l.jsx)(VN,{index:e}),(0,l.jsx)(So,{className:"size-4 aspect-square text-muted-foreground"})]}),(0,l.jsx)("div",{className:"flex items-center gap-2 flex-1",children:(0,l.jsx)(pE,{index:e,tableName:s.referencedTable})})]}),(0,l.jsx)("hr",{className:"my-8 border-border"}),(0,l.jsxs)("div",{className:"flex flex-col gap-6",children:[(0,l.jsx)(vE,{index:e}),(0,l.jsx)(gE,{index:e})]})]})]})},HV=()=>{const e=At(),{selectedDatabase:t}=Ue(),{mutateAsync:n,isPending:r,reset:s}=It({mutationFn:async({tableName:i,schemaName:c,cascade:u=!1})=>(await GS({tableName:i,schemaName:c,db:t,cascade:u})).data.data,onSuccess:async()=>{await e.invalidateQueries({queryKey:Me.lists()})}});return{deleteTable:async(i,c)=>{const u=n({tableName:i,schemaName:c,cascade:!1});return Be.promise(u,{loading:"Deleting table...",success:d=>d.fkViolation?`Table "${i}" has related records`:`Deleted table "${i}" with ${d.deletedCount} rows`,error:d=>d.message||"Failed to delete table"}),u},forceDeleteTable:async(i,c)=>{const u=n({tableName:i,schemaName:c,cascade:!0});return Be.promise(u,{loading:"Deleting table...",success:d=>`Force deleted table "${i}" with ${d.deletedCount} rows`,error:d=>d.message||"Failed to delete table"}),u},isDeletingTable:r,resetDeleteResult:s}},xE=()=>{const{selectedDatabase:e,dbType:t}=Ue(),{mutateAsync:n,isPending:r}=It({mutationFn:async({tableName:a,schemaName:o,format:i})=>{const c=await qS({tableName:a,schemaName:o,format:i,db:e}),u=c.headers["content-disposition"],d=(typeof u=="string"?u:void 0)?.match(/filename="(.+)"/)?.[1]||`${a}_export.${i}`,f=c.headers["content-type"],h=typeof f=="string"?f:"application/octet-stream",m=new Blob([c.data],{type:h}),v=window.URL.createObjectURL(m),S=document.createElement("a");S.href=v,S.download=d,document.body.appendChild(S),S.click(),document.body.removeChild(S),window.URL.revokeObjectURL(v),t&&_n.capture("record_exported",{db_type:t,format:i})}});return{exportFile:async a=>Be.promise(n(a),{loading:"Exporting file...",success:"File exported successfully",error:o=>o.message||"Failed to export file"}),isExportingFile:r}},qV=({tableName:e,schemaName:t})=>{const n=At(),{selectedDatabase:r}=Ue(),{mutateAsync:s,isPending:a}=It({mutationFn:async i=>(await eC({tableName:e,data:{...i,schemaName:t},db:r})).data.data,onSuccess:async()=>{await n.invalidateQueries({queryKey:Me.lists()}),await n.removeQueries({queryKey:[me.CACHE_KEYS.TABLE_DATA,e]}),await n.removeQueries({queryKey:[me.CACHE_KEYS.TABLE_COLUMNS,e]})}});return{renameTable:async(i,c)=>{const u=s(i,c);return Be.promise(u,{loading:"Renaming table...",success:d=>d||"Table renamed successfully",error:d=>typeof d.details=="string"&&d.details||d.message||"Failed to rename table"}),u},isRenamingTable:a}},ag=()=>{const{selectedDatabase:e}=Ue(),{data:t,isLoading:n,error:r}=Yn({queryKey:Me.list(e),queryFn:()=>US(e),select:s=>s.data.data,enabled:!!e});return{tablesList:t,isLoadingTablesList:n,errorTablesList:r}},bE=365.2425,wE=Math.pow(10,8)*24*60*60*1e3,WV=-wE,og=6048e5,SE=864e5,CE=3600,ig=CE*24,KV=ig*7,NE=ig*bE,EE=NE/12,YV=EE*3,uf=Symbol.for("constructDateFrom");function it(e,t){return typeof e=="function"?e(t):e&&typeof e=="object"&&uf in e?e[uf](t):e instanceof Date?new e.constructor(t):new Date(t)}function ze(e,t){return it(t||e,e)}function Io(e,t,n){const r=ze(e,n?.in);return isNaN(t)?it(n?.in||e,NaN):(t&&r.setDate(r.getDate()+t),r)}function lg(e,t,n){const r=ze(e,n?.in);if(isNaN(t))return it(n?.in||e,NaN);if(!t)return r;const s=r.getDate(),a=it(n?.in||e,r.getTime());return a.setMonth(r.getMonth()+t+1,0),s>=a.getDate()?a:(r.setFullYear(a.getFullYear(),a.getMonth(),s),r)}var IE={};function La(){return IE}function xs(e,t){const n=La(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,s=ze(e,t?.in),a=s.getDay(),o=(a<r?7:0)+a-r;return s.setDate(s.getDate()-o),s.setHours(0,0,0,0),s}function va(e,t){return xs(e,{...t,weekStartsOn:1})}function cg(e,t){const n=ze(e,t?.in),r=n.getFullYear(),s=it(n,0);s.setFullYear(r+1,0,4),s.setHours(0,0,0,0);const a=va(s),o=it(n,0);o.setFullYear(r,0,4),o.setHours(0,0,0,0);const i=va(o);return n.getTime()>=a.getTime()?r+1:n.getTime()>=i.getTime()?r:r-1}function df(e){const t=ze(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 Ds(e,...t){const n=it.bind(null,e||t.find(r=>typeof r=="object"));return t.map(n)}function bs(e,t){const n=ze(e,t?.in);return n.setHours(0,0,0,0),n}function Nu(e,t,n){const[r,s]=Ds(n?.in,e,t),a=bs(r),o=bs(s),i=+a-df(a),c=+o-df(o);return Math.round((i-c)/SE)}function jE(e,t){const n=cg(e,t),r=it(t?.in||e,0);return r.setFullYear(n,0,4),r.setHours(0,0,0,0),va(r)}function TE(e,t,n){return Io(e,t*7,n)}function RE(e,t,n){return lg(e,t*12,n)}function kE(e,t){let n,r=t?.in;return e.forEach(s=>{!r&&typeof s=="object"&&(r=it.bind(null,s));const a=ze(s,r);(!n||n<a||isNaN(+a))&&(n=a)}),it(r,n||NaN)}function _E(e,t){let n,r=t?.in;return e.forEach(s=>{!r&&typeof s=="object"&&(r=it.bind(null,s));const a=ze(s,r);(!n||n>a||isNaN(+a))&&(n=a)}),it(r,n||NaN)}function AE(e,t,n){const[r,s]=Ds(n?.in,e,t);return+bs(r)==+bs(s)}function ug(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}function ME(e){return!(!ug(e)&&typeof e!="number"||isNaN(+ze(e)))}function dg(e,t,n){const[r,s]=Ds(n?.in,e,t),a=r.getFullYear()-s.getFullYear(),o=r.getMonth()-s.getMonth();return a*12+o}function OE(e,t){const n=ze(e,t?.in),r=n.getMonth();return n.setFullYear(n.getFullYear(),r+1,0),n.setHours(23,59,59,999),n}function fg(e,t){const[n,r]=Ds(e,t.start,t.end);return{start:n,end:r}}function DE(e,t){const{start:n,end:r}=fg(t?.in,e);let s=+n>+r;const a=s?+n:+r,o=s?r:n;o.setHours(0,0,0,0),o.setDate(1);let i=t?.step??1;if(!i)return[];i<0&&(i=-i,s=!s);const c=[];for(;+o<=a;)c.push(it(n,o)),o.setMonth(o.getMonth()+i);return s?c.reverse():c}function PE(e,t){const n=ze(e,t?.in);return n.setDate(1),n.setHours(0,0,0,0),n}function LE(e,t){const n=ze(e,t?.in),r=n.getFullYear();return n.setFullYear(r+1,0,0),n.setHours(23,59,59,999),n}function hg(e,t){const n=ze(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}function FE(e,t){const{start:n,end:r}=fg(t?.in,e);let s=+n>+r;const a=s?+n:+r,o=s?r:n;o.setHours(0,0,0,0),o.setMonth(0,1);let i=t?.step??1;if(!i)return[];i<0&&(i=-i,s=!s);const c=[];for(;+o<=a;)c.push(it(n,o)),o.setFullYear(o.getFullYear()+i);return s?c.reverse():c}function mg(e,t){const n=La(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,s=ze(e,t?.in),a=s.getDay(),o=(a<r?-7:0)+6-(a-r);return s.setDate(s.getDate()+o),s.setHours(23,59,59,999),s}function $E(e,t){return mg(e,{...t,weekStartsOn:1})}var zE={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"}},VE=(e,t,n)=>{let r;const s=zE[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 ol(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}var BE={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},UE={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},HE={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},qE={date:ol({formats:BE,defaultWidth:"full"}),time:ol({formats:UE,defaultWidth:"full"}),dateTime:ol({formats:HE,defaultWidth:"full"})},WE={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},KE=(e,t,n,r)=>WE[e];function Ws(e){return(t,n)=>{const r=n?.context?String(n.context):"standalone";let s;if(r==="formatting"&&e.formattingValues){const o=e.defaultFormattingWidth||e.defaultWidth,i=n?.width?String(n.width):o;s=e.formattingValues[i]||e.formattingValues[o]}else{const o=e.defaultWidth,i=n?.width?String(n.width):e.defaultWidth;s=e.values[i]||e.values[o]}const a=e.argumentCallback?e.argumentCallback(t):t;return s[a]}}var YE={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},GE={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},JE={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"]},QE={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"]},XE={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"}},ZE={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"}},eI=(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"},tI={ordinalNumber:eI,era:Ws({values:YE,defaultWidth:"wide"}),quarter:Ws({values:GE,defaultWidth:"wide",argumentCallback:e=>e-1}),month:Ws({values:JE,defaultWidth:"wide"}),day:Ws({values:QE,defaultWidth:"wide"}),dayPeriod:Ws({values:XE,defaultWidth:"wide",formattingValues:ZE,defaultFormattingWidth:"wide"})};function Ks(e){return(t,n={})=>{const r=n.width,s=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],a=t.match(s);if(!a)return null;const o=a[0],i=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],c=Array.isArray(i)?rI(i,f=>f.test(o)):nI(i,f=>f.test(o));let u;u=e.valueCallback?e.valueCallback(c):c,u=n.valueCallback?n.valueCallback(u):u;const d=t.slice(o.length);return{value:u,rest:d}}}function nI(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function rI(e,t){for(let n=0;n<e.length;n++)if(t(e[n]))return n}function sI(e){return(t,n={})=>{const r=t.match(e.matchPattern);if(!r)return null;const s=r[0],a=t.match(e.parsePattern);if(!a)return null;let o=e.valueCallback?e.valueCallback(a[0]):a[0];o=n.valueCallback?n.valueCallback(o):o;const i=t.slice(s.length);return{value:o,rest:i}}}var aI=/^(\d+)(th|st|nd|rd)?/i,oI=/\d+/i,iI={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},lI={any:[/^b/i,/^(a|c)/i]},cI={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},uI={any:[/1/i,/2/i,/3/i,/4/i]},dI={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},fI={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]},hI={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},mI={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]},pI={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},gI={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}},vI={ordinalNumber:sI({matchPattern:aI,parsePattern:oI,valueCallback:e=>parseInt(e,10)}),era:Ks({matchPatterns:iI,defaultMatchWidth:"wide",parsePatterns:lI,defaultParseWidth:"any"}),quarter:Ks({matchPatterns:cI,defaultMatchWidth:"wide",parsePatterns:uI,defaultParseWidth:"any",valueCallback:e=>e+1}),month:Ks({matchPatterns:dI,defaultMatchWidth:"wide",parsePatterns:fI,defaultParseWidth:"any"}),day:Ks({matchPatterns:hI,defaultMatchWidth:"wide",parsePatterns:mI,defaultParseWidth:"any"}),dayPeriod:Ks({matchPatterns:pI,defaultMatchWidth:"any",parsePatterns:gI,defaultParseWidth:"any"})},ds={code:"en-US",formatDistance:VE,formatLong:qE,formatRelative:KE,localize:tI,match:vI,options:{weekStartsOn:0,firstWeekContainsDate:1}};function yI(e,t){const n=ze(e,t?.in);return Nu(n,hg(n))+1}function Eu(e,t){const n=ze(e,t?.in),r=+va(n)-+jE(n);return Math.round(r/og)+1}function pg(e,t){const n=ze(e,t?.in),r=n.getFullYear(),s=La(),a=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??s.firstWeekContainsDate??s.locale?.options?.firstWeekContainsDate??1,o=it(t?.in||e,0);o.setFullYear(r+1,0,a),o.setHours(0,0,0,0);const i=xs(o,t),c=it(t?.in||e,0);c.setFullYear(r,0,a),c.setHours(0,0,0,0);const u=xs(c,t);return+n>=+i?r+1:+n>=+u?r:r-1}function xI(e,t){const n=La(),r=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,s=pg(e,t),a=it(t?.in||e,0);return a.setFullYear(s,0,r),a.setHours(0,0,0,0),xs(a,t)}function Iu(e,t){const n=ze(e,t?.in),r=+xs(n,t)-+xI(n,t);return Math.round(r/og)+1}function De(e,t){return(e<0?"-":"")+Math.abs(e).toString().padStart(t,"0")}var er={y(e,t){const n=e.getFullYear(),r=n>0?n:1-n;return De(t==="yy"?r%100:r,t.length)},M(e,t){const n=e.getMonth();return t==="M"?String(n+1):De(n+1,2)},d(e,t){return De(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 De(e.getHours()%12||12,t.length)},H(e,t){return De(e.getHours(),t.length)},m(e,t){return De(e.getMinutes(),t.length)},s(e,t){return De(e.getSeconds(),t.length)},S(e,t){const n=t.length,r=e.getMilliseconds(),s=Math.trunc(r*Math.pow(10,n-3));return De(s,t.length)}},os={am:"am",pm:"pm",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},ff={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 er.y(e,t)},Y:function(e,t,n,r){const s=pg(e,r),a=s>0?s:1-s;if(t==="YY"){const o=a%100;return De(o,2)}return t==="Yo"?n.ordinalNumber(a,{unit:"year"}):De(a,t.length)},R:function(e,t){const n=cg(e);return De(n,t.length)},u:function(e,t){const n=e.getFullYear();return De(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 De(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 De(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 er.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 De(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=Iu(e,r);return t==="wo"?n.ordinalNumber(s,{unit:"week"}):De(s,t.length)},I:function(e,t,n){const r=Eu(e);return t==="Io"?n.ordinalNumber(r,{unit:"week"}):De(r,t.length)},d:function(e,t,n){return t==="do"?n.ordinalNumber(e.getDate(),{unit:"date"}):er.d(e,t)},D:function(e,t,n){const r=yI(e);return t==="Do"?n.ordinalNumber(r,{unit:"dayOfYear"}):De(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(),a=(s-r.weekStartsOn+8)%7||7;switch(t){case"e":return String(a);case"ee":return De(a,2);case"eo":return n.ordinalNumber(a,{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(),a=(s-r.weekStartsOn+8)%7||7;switch(t){case"c":return String(a);case"cc":return De(a,t.length);case"co":return n.ordinalNumber(a,{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 De(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=os.noon:r===0?s=os.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=os.evening:r>=12?s=os.afternoon:r>=4?s=os.morning:s=os.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 er.h(e,t)},H:function(e,t,n){return t==="Ho"?n.ordinalNumber(e.getHours(),{unit:"hour"}):er.H(e,t)},K:function(e,t,n){const r=e.getHours()%12;return t==="Ko"?n.ordinalNumber(r,{unit:"hour"}):De(r,t.length)},k:function(e,t,n){let r=e.getHours();return r===0&&(r=24),t==="ko"?n.ordinalNumber(r,{unit:"hour"}):De(r,t.length)},m:function(e,t,n){return t==="mo"?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):er.m(e,t)},s:function(e,t,n){return t==="so"?n.ordinalNumber(e.getSeconds(),{unit:"second"}):er.s(e,t)},S:function(e,t){return er.S(e,t)},X:function(e,t,n){const r=e.getTimezoneOffset();if(r===0)return"Z";switch(t){case"X":return mf(r);case"XXXX":case"XX":return wr(r);default:return wr(r,":")}},x:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"x":return mf(r);case"xxxx":case"xx":return wr(r);default:return wr(r,":")}},O:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+hf(r,":");default:return"GMT"+wr(r,":")}},z:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+hf(r,":");default:return"GMT"+wr(r,":")}},t:function(e,t,n){const r=Math.trunc(+e/1e3);return De(r,t.length)},T:function(e,t,n){return De(+e,t.length)}};function hf(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),s=Math.trunc(r/60),a=r%60;return a===0?n+String(s):n+String(s)+t+De(a,2)}function mf(e,t){return e%60===0?(e>0?"-":"+")+De(Math.abs(e)/60,2):wr(e,t)}function wr(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),s=De(Math.trunc(r/60),2),a=De(r%60,2);return n+s+t+a}var pf=(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"})}},gg=(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"})}},bI=(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],r=n[1],s=n[2];if(!s)return pf(e,t);let a;switch(r){case"P":a=t.dateTime({width:"short"});break;case"PP":a=t.dateTime({width:"medium"});break;case"PPP":a=t.dateTime({width:"long"});break;default:a=t.dateTime({width:"full"})}return a.replace("{{date}}",pf(r,t)).replace("{{time}}",gg(s,t))},wI={p:gg,P:bI},SI=/^D+$/,CI=/^Y+$/,NI=["D","DD","YY","YYYY"];function EI(e){return SI.test(e)}function II(e){return CI.test(e)}function jI(e,t,n){const r=TI(e,t,n);if(console.warn(r),NI.includes(e))throw new RangeError(r)}function TI(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 RI=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,kI=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,_I=/^'([^]*?)'?$/,AI=/''/g,MI=/[a-zA-Z]/;function Tn(e,t,n){const r=La(),s=n?.locale??r.locale??ds,a=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,o=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,i=ze(e,n?.in);if(!ME(i))throw new RangeError("Invalid time value");let c=t.match(kI).map(d=>{const f=d[0];if(f==="p"||f==="P"){const h=wI[f];return h(d,s.formatLong)}return d}).join("").match(RI).map(d=>{if(d==="''")return{isToken:!1,value:"'"};const f=d[0];if(f==="'")return{isToken:!1,value:OI(d)};if(ff[f])return{isToken:!0,value:d};if(f.match(MI))throw new RangeError("Format string contains an unescaped latin alphabet character `"+f+"`");return{isToken:!1,value:d}});s.localize.preprocessor&&(c=s.localize.preprocessor(i,c));const u={firstWeekContainsDate:a,weekStartsOn:o,locale:s};return c.map(d=>{if(!d.isToken)return d.value;const f=d.value;(!n?.useAdditionalWeekYearTokens&&II(f)||!n?.useAdditionalDayOfYearTokens&&EI(f))&&jI(f,t,String(e));const h=ff[f[0]];return h(i,f,s.localize,u)}).join("")}function OI(e){const t=e.match(_I);return t?t[1].replace(AI,"'"):e}function DI(e,t){const n=ze(e,t?.in),r=n.getFullYear(),s=n.getMonth(),a=it(n,0);return a.setFullYear(r,s+1,0),a.setHours(0,0,0,0),a.getDate()}function PI(e,t){return ze(e,t?.in).getMonth()}function LI(e,t){return ze(e,t?.in).getFullYear()}function FI(e,t){return+ze(e)>+ze(t)}function $I(e,t){return+ze(e)<+ze(t)}function zI(e,t,n){const[r,s]=Ds(n?.in,e,t);return r.getFullYear()===s.getFullYear()&&r.getMonth()===s.getMonth()}function VI(e,t,n){const[r,s]=Ds(n?.in,e,t);return r.getFullYear()===s.getFullYear()}function BI(e,t,n){const r=ze(e,n?.in),s=r.getFullYear(),a=r.getDate(),o=it(n?.in||e,0);o.setFullYear(s,t,15),o.setHours(0,0,0,0);const i=DI(o);return r.setMonth(t,Math.min(a,i)),r}function UI(e,t,n){const r=ze(e,n?.in);return isNaN(+r)?it(n?.in||e,NaN):(r.setFullYear(t),r)}function HI(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 qI={},ea={};function Ir(e,t){try{const n=(qI[e]||=new Intl.DateTimeFormat("en-US",{timeZone:e,timeZoneName:"longOffset"}).format)(t).split("GMT")[1];return n in ea?ea[n]:gf(n,n.split(":"))}catch{if(e in ea)return ea[e];const n=e?.match(WI);return n?gf(e,n.slice(1)):NaN}}var WI=/([+-]\d\d):?(\d\d)?/;function gf(e,t){const n=+(t[0]||0),r=+(t[1]||0),s=+(t[2]||0)/60;return ea[e]=n*60+r>0?n*60+r+s:n*60-r-s}var ta=class na extends Date{constructor(...t){super(),t.length>1&&typeof t[t.length-1]=="string"&&(this.timeZone=t.pop()),this.internal=new Date,isNaN(Ir(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)),vg(this,NaN),dc(this)):this.setTime(Date.now())}static tz(t,...n){return n.length?new na(...n,t):new na(Date.now(),t)}withTimeZone(t){return new na(+this,t)}getTimezoneOffset(){const t=-Ir(this.timeZone,this);return t>0?Math.floor(t):Math.ceil(t)}setTime(t){return Date.prototype.setTime.apply(this,arguments),dc(this),+this}[Symbol.for("constructDateFrom")](t){return new na(+new Date(t),this.timeZone)}},vf=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(!vf.test(e))return;const t=e.replace(vf,"$1UTC");ta.prototype[t]&&(e.startsWith("get")?ta.prototype[e]=function(){return this.internal[t]()}:(ta.prototype[e]=function(){return Date.prototype[t].apply(this.internal,arguments),KI(this),+this},ta.prototype[t]=function(){return Date.prototype[t].apply(this,arguments),dc(this),+this}))});function dc(e){e.internal.setTime(+e),e.internal.setUTCSeconds(e.internal.getUTCSeconds()-Math.round(-Ir(e.timeZone,e)*60))}function KI(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()),vg(e)}function vg(e){const t=Ir(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(),a=s- -new Date(+r).getTimezoneOffset(),o=Date.prototype.getHours.apply(e)!==e.internal.getUTCHours();a&&o&&e.internal.setUTCMinutes(e.internal.getUTCMinutes()+a);const i=s-n;i&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+i);const c=new Date(+e);c.setUTCSeconds(0);const u=s>0?c.getSeconds():(c.getSeconds()-60)%60,d=Math.round(-(Ir(e.timeZone,e)*60))%60;(d||u)&&(e.internal.setUTCSeconds(e.internal.getUTCSeconds()+d),Date.prototype.setUTCSeconds.call(e,Date.prototype.getUTCSeconds.call(e)+d+u));const f=Ir(e.timeZone,e),h=f>0?Math.floor(f):Math.ceil(f),m=-new Date(+e).getTimezoneOffset()-h,v=h!==n,S=m-i;if(v&&S){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+S);const b=Ir(e.timeZone,e),N=h-(b>0?Math.floor(b):Math.ceil(b));N&&(e.internal.setUTCMinutes(e.internal.getUTCMinutes()+N),Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+N))}}var Yt=class ra extends ta{static tz(t,...n){return n.length?new ra(...n,t):new ra(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} (${HI(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 ra(+this,t)}[Symbol.for("constructDateFrom")](t){return new ra(+new Date(t),this.timeZone)}},YI=5,GI=4;function JI(e,t){const n=t.startOfMonth(e),r=n.getDay()>0?n.getDay():7,s=t.addDays(e,-r+1),a=t.addDays(s,34);return t.getMonth(e)===t.getMonth(a)?YI:GI}function yg(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 QI(e,t){const n=yg(e,t),r=JI(e,t);return t.addDays(n,r*7-1)}var xg={...ds,labels:{labelDayButton:(e,t,n,r)=>{let s;r&&typeof r.format=="function"?s=r.format.bind(r):s=(o,i)=>Tn(o,i,{locale:ds,...n});let a=s(e,"PPPP");return t.today&&(a=`Today, ${a}`),t.selected&&(a=`${a}, selected`),a},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,a)=>Tn(s,a,{locale:ds,...t}),r(e,"LLLL yyyy")},labelGridcell:(e,t,n,r)=>{let s;r&&typeof r.format=="function"?s=r.format.bind(r):s=(o,i)=>Tn(o,i,{locale:ds,...n});let a=s(e,"PPPP");return t?.today&&(a=`Today, ${a}`),a},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,a)=>Tn(s,a,{locale:ds,...t}),r(e,"cccc")}}},On=class fc{constructor(t,n){this.today=()=>this.overrides?.today?this.overrides.today():this.options.timeZone?Yt.tz(this.options.timeZone):new(this.options.Date??Date),this.newDate=(r,s,a)=>this.overrides?.newDate?this.overrides.newDate(r,s,a):this.options.timeZone?new Yt(r,s,a,this.options.timeZone):new Date(r,s,a),this.addDays=(r,s)=>this.overrides?.addDays?this.overrides.addDays(r,s):Io(r,s),this.addMonths=(r,s)=>this.overrides?.addMonths?this.overrides.addMonths(r,s):lg(r,s),this.addWeeks=(r,s)=>this.overrides?.addWeeks?this.overrides.addWeeks(r,s):TE(r,s),this.addYears=(r,s)=>this.overrides?.addYears?this.overrides.addYears(r,s):RE(r,s),this.differenceInCalendarDays=(r,s)=>this.overrides?.differenceInCalendarDays?this.overrides.differenceInCalendarDays(r,s):Nu(r,s),this.differenceInCalendarMonths=(r,s)=>this.overrides?.differenceInCalendarMonths?this.overrides.differenceInCalendarMonths(r,s):dg(r,s),this.eachMonthOfInterval=r=>this.overrides?.eachMonthOfInterval?this.overrides.eachMonthOfInterval(r):DE(r),this.eachYearOfInterval=r=>{const s=this.overrides?.eachYearOfInterval?this.overrides.eachYearOfInterval(r):FE(r),a=new Set(s.map(i=>this.getYear(i)));if(a.size===s.length)return s;const o=[];return a.forEach(i=>{o.push(new Date(i,0,1))}),o},this.endOfBroadcastWeek=r=>this.overrides?.endOfBroadcastWeek?this.overrides.endOfBroadcastWeek(r):QI(r,this),this.endOfISOWeek=r=>this.overrides?.endOfISOWeek?this.overrides.endOfISOWeek(r):$E(r),this.endOfMonth=r=>this.overrides?.endOfMonth?this.overrides.endOfMonth(r):OE(r),this.endOfWeek=(r,s)=>this.overrides?.endOfWeek?this.overrides.endOfWeek(r,s):mg(r,this.options),this.endOfYear=r=>this.overrides?.endOfYear?this.overrides.endOfYear(r):LE(r),this.format=(r,s,a)=>{const o=this.overrides?.format?this.overrides.format(r,s,this.options):Tn(r,s,this.options);return this.options.numerals&&this.options.numerals!=="latn"?this.replaceDigits(o):o},this.getISOWeek=r=>this.overrides?.getISOWeek?this.overrides.getISOWeek(r):Eu(r),this.getMonth=(r,s)=>this.overrides?.getMonth?this.overrides.getMonth(r,this.options):PI(r,this.options),this.getYear=(r,s)=>this.overrides?.getYear?this.overrides.getYear(r,this.options):LI(r,this.options),this.getWeek=(r,s)=>this.overrides?.getWeek?this.overrides.getWeek(r,this.options):Iu(r,this.options),this.isAfter=(r,s)=>this.overrides?.isAfter?this.overrides.isAfter(r,s):FI(r,s),this.isBefore=(r,s)=>this.overrides?.isBefore?this.overrides.isBefore(r,s):$I(r,s),this.isDate=r=>this.overrides?.isDate?this.overrides.isDate(r):ug(r),this.isSameDay=(r,s)=>this.overrides?.isSameDay?this.overrides.isSameDay(r,s):AE(r,s),this.isSameMonth=(r,s)=>this.overrides?.isSameMonth?this.overrides.isSameMonth(r,s):zI(r,s),this.isSameYear=(r,s)=>this.overrides?.isSameYear?this.overrides.isSameYear(r,s):VI(r,s),this.max=r=>this.overrides?.max?this.overrides.max(r):kE(r),this.min=r=>this.overrides?.min?this.overrides.min(r):_E(r),this.setMonth=(r,s)=>this.overrides?.setMonth?this.overrides.setMonth(r,s):BI(r,s),this.setYear=(r,s)=>this.overrides?.setYear?this.overrides.setYear(r,s):UI(r,s),this.startOfBroadcastWeek=(r,s)=>this.overrides?.startOfBroadcastWeek?this.overrides.startOfBroadcastWeek(r,this):yg(r,this),this.startOfDay=r=>this.overrides?.startOfDay?this.overrides.startOfDay(r):bs(r),this.startOfISOWeek=r=>this.overrides?.startOfISOWeek?this.overrides.startOfISOWeek(r):va(r),this.startOfMonth=r=>this.overrides?.startOfMonth?this.overrides.startOfMonth(r):PE(r),this.startOfWeek=(r,s)=>this.overrides?.startOfWeek?this.overrides.startOfWeek(r,this.options):xs(r,this.options),this.startOfYear=r=>this.overrides?.startOfYear?this.overrides.startOfYear(r):hg(r),this.options={locale:xg,...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&&fc.yearFirstLocales.has(t)?"year-first":"month-first"}formatMonthYear(t){const{locale:n,timeZone:r,numerals:s}=this.options,a=n?.code;if(a&&fc.yearFirstLocales.has(a))try{return new Intl.DateTimeFormat(a,{month:"long",year:"numeric",timeZone:r,numberingSystem:s}).format(t)}catch{}const o=this.getMonthYearOrder()==="year-first"?"y LLLL":"LLLL y";return this.format(t,o)}};On.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 Dn=new On,bg=class{constructor(e,t,n=Dn){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)}},XI=class{constructor(e,t){this.date=e,this.weeks=t}},ZI=class{constructor(e,t){this.days=t,this.weekNumber=e}};function ej(e){return p.createElement("span",{...e})}function tj(e){const{size:t=24,orientation:n="left",className:r,style:s}=e;return p.createElement("svg",{className:r,style:s,width:t,height:t,viewBox:"0 0 24 24"},n==="up"&&p.createElement("polygon",{points:"6.77 17 12.5 11.43 18.24 17 20 15.28 12.5 8 5 15.28"}),n==="down"&&p.createElement("polygon",{points:"6.77 8 12.5 13.57 18.24 8 20 9.72 12.5 17 5 9.72"}),n==="left"&&p.createElement("polygon",{points:"16 18.112 9.81111111 12 16 5.87733333 14.0888889 4 6 12 14.0888889 20"}),n==="right"&&p.createElement("polygon",{points:"8 18.112 14.18888889 12 8 5.87733333 9.91111111 4 18 12 9.91111111 20"}))}function nj(e){const{day:t,modifiers:n,...r}=e;return p.createElement("td",{...r})}function rj(e){const{day:t,modifiers:n,...r}=e,s=p.useRef(null);return p.useEffect(()=>{n.focused&&s.current?.focus()},[n.focused]),p.createElement("button",{ref:s,...r})}var de;(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"})(de||(de={}));var Xe;(function(e){e.disabled="disabled",e.hidden="hidden",e.outside="outside",e.focused="focused",e.today="today"})(Xe||(Xe={}));var dn;(function(e){e.range_end="range_end",e.range_middle="range_middle",e.range_start="range_start",e.selected="selected"})(dn||(dn={}));var Pt;(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"})(Pt||(Pt={}));var wg=(0,p.createContext)(void 0);function hi(){const e=(0,p.useContext)(wg);if(e===void 0)throw new Error("useDayPicker() must be used within a custom component.");return e}function sj(e){const{options:t,className:n,...r}=e,{classNames:s,components:a,styles:o}=hi(),i=[s[de.Dropdown],n].join(" "),c=t?.find(({value:u})=>u===r.value);return p.createElement("span",{"data-disabled":r.disabled,className:s[de.DropdownRoot],style:o?.[de.DropdownRoot]},p.createElement(a.Select,{className:i,...r},t?.map(({value:u,label:d,disabled:f})=>p.createElement(a.Option,{key:u,value:u,disabled:f},d))),p.createElement("span",{className:s[de.CaptionLabel],style:o?.[de.CaptionLabel],"aria-hidden":!0},c?.label,p.createElement(a.Chevron,{orientation:"down",size:18,className:s[de.Chevron],style:o?.[de.Chevron]})))}function aj(e){return p.createElement("div",{...e})}function oj(e){return p.createElement("div",{...e})}function ij(e){const{calendarMonth:t,displayIndex:n,...r}=e;return p.createElement("div",{...r},e.children)}function lj(e){const{calendarMonth:t,displayIndex:n,...r}=e;return p.createElement("div",{...r})}function cj(e){return p.createElement("table",{...e})}function uj(e){return p.createElement("div",{...e})}function dj(e){const{components:t}=hi();return p.createElement(t.Dropdown,{...e})}function fj(e){const{onPreviousClick:t,onNextClick:n,previousMonth:r,nextMonth:s,...a}=e,{components:o,classNames:i,styles:c,labels:{labelPrevious:u,labelNext:d}}=hi(),f=(0,p.useCallback)(m=>{s&&n?.(m)},[s,n]),h=(0,p.useCallback)(m=>{r&&t?.(m)},[r,t]);return p.createElement("nav",{...a},p.createElement(o.PreviousMonthButton,{type:"button",className:i[de.PreviousMonthButton],style:c?.[de.PreviousMonthButton],tabIndex:r?void 0:-1,"aria-disabled":r?void 0:!0,"aria-label":u(r),onClick:h},p.createElement(o.Chevron,{disabled:r?void 0:!0,className:i[de.Chevron],style:c?.[de.Chevron],orientation:"left"})),p.createElement(o.NextMonthButton,{type:"button",className:i[de.NextMonthButton],style:c?.[de.NextMonthButton],tabIndex:s?void 0:-1,"aria-disabled":s?void 0:!0,"aria-label":d(s),onClick:f},p.createElement(o.Chevron,{disabled:s?void 0:!0,orientation:"right",className:i[de.Chevron],style:c?.[de.Chevron]})))}function hj(e){return p.createElement("button",{...e})}function mj(e){return p.createElement("option",{...e})}function pj(e){return p.createElement("button",{...e})}function gj(e){const{rootRef:t,...n}=e;return p.createElement("div",{...n,ref:t})}function vj(e){return p.createElement("select",{...e})}function yj(e){const{week:t,...n}=e;return p.createElement("tr",{...n})}function xj(e){return p.createElement("th",{...e})}function bj(e){return p.createElement("thead",{"aria-hidden":!0},p.createElement("tr",{...e}))}function wj(e){const{week:t,...n}=e;return p.createElement("th",{...n})}function Sj(e){return p.createElement("th",{...e})}function Cj(e){return p.createElement("tbody",{...e})}function Nj(e){const{components:t}=hi();return p.createElement(t.Dropdown,{...e})}var Ej=Bc({CaptionLabel:()=>ej,Chevron:()=>tj,Day:()=>nj,DayButton:()=>rj,Dropdown:()=>sj,DropdownNav:()=>aj,Footer:()=>oj,Month:()=>ij,MonthCaption:()=>lj,MonthGrid:()=>cj,Months:()=>uj,MonthsDropdown:()=>dj,Nav:()=>fj,NextMonthButton:()=>hj,Option:()=>mj,PreviousMonthButton:()=>pj,Root:()=>gj,Select:()=>vj,Week:()=>yj,WeekNumber:()=>wj,WeekNumberHeader:()=>Sj,Weekday:()=>xj,Weekdays:()=>bj,Weeks:()=>Cj,YearsDropdown:()=>Nj});function Bn(e,t,n=!1,r=Dn){let{from:s,to:a}=e;const{differenceInCalendarDays:o,isSameDay:i}=r;return s&&a?(o(a,s)<0&&([s,a]=[a,s]),o(t,s)>=(n?1:0)&&o(a,t)>=(n?1:0)):!n&&a?i(a,t):!n&&s?i(s,t):!1}function ju(e){return!!(e&&typeof e=="object"&&"before"in e&&"after"in e)}function mi(e){return!!(e&&typeof e=="object"&&"from"in e)}function Tu(e){return!!(e&&typeof e=="object"&&"after"in e)}function Ru(e){return!!(e&&typeof e=="object"&&"before"in e)}function Sg(e){return!!(e&&typeof e=="object"&&"dayOfWeek"in e)}function Cg(e,t){return Array.isArray(e)&&e.every(t.isDate)}function Un(e,t,n=Dn){const r=Array.isArray(t)?t:[t],{isSameDay:s,differenceInCalendarDays:a,isAfter:o}=n;return r.some(i=>{if(typeof i=="boolean")return i;if(n.isDate(i))return s(e,i);if(Cg(i,n))return i.some(c=>s(e,c));if(mi(i))return Bn(i,e,!1,n);if(Sg(i))return Array.isArray(i.dayOfWeek)?i.dayOfWeek.includes(e.getDay()):i.dayOfWeek===e.getDay();if(ju(i)){const c=a(i.before,e),u=a(i.after,e),d=c>0,f=u<0;return o(i.before,i.after)?f&&d:d||f}return Tu(i)?a(e,i.after)>0:Ru(i)?a(i.before,e)>0:typeof i=="function"?i(e):!1})}function Ij(e,t,n,r,s){const{disabled:a,hidden:o,modifiers:i,showOutsideDays:c,broadcastCalendar:u,today:d=s.today()}=t,{isSameDay:f,isSameMonth:h,startOfMonth:m,isBefore:v,endOfMonth:S,isAfter:b}=s,N=n&&m(n),w=r&&S(r),y={[Xe.focused]:[],[Xe.outside]:[],[Xe.disabled]:[],[Xe.hidden]:[],[Xe.today]:[]},g={};for(const x of e){const{date:C,displayMonth:j}=x,E=!!(j&&!h(C,j)),R=!!(N&&v(C,N)),O=!!(w&&b(C,w)),k=!!(a&&Un(C,a,s)),_=!!(o&&Un(C,o,s))||R||O||!u&&!c&&E||u&&c===!1&&E,A=f(C,d);E&&y.outside.push(x),k&&y.disabled.push(x),_&&y.hidden.push(x),A&&y.today.push(x),i&&Object.keys(i).forEach(I=>{const T=i?.[I];T&&Un(C,T,s)&&(g[I]?g[I].push(x):g[I]=[x])})}return x=>{const C={[Xe.focused]:!1,[Xe.disabled]:!1,[Xe.hidden]:!1,[Xe.outside]:!1,[Xe.today]:!1},j={};for(const E in y)C[E]=y[E].some(R=>R===x);for(const E in g)j[E]=g[E].some(R=>R===x);return{...C,...j}}}function jj(e,t,n={}){return Object.entries(e).filter(([,r])=>r===!0).reduce((r,[s])=>(n[s]?r.push(n[s]):t[Xe[s]]?r.push(t[Xe[s]]):t[dn[s]]&&r.push(t[dn[s]]),r),[t[de.Day]])}function Tj(e){return{...Ej,...e}}function Rj(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 ku(){const e={};for(const t in de)e[de[t]]=`rdp-${de[t]}`;for(const t in Xe)e[Xe[t]]=`rdp-${Xe[t]}`;for(const t in dn)e[dn[t]]=`rdp-${dn[t]}`;for(const t in Pt)e[Pt[t]]=`rdp-${Pt[t]}`;return e}function kj(e,t,n){return(n??new On(t)).formatMonthYear(e)}function _j(e,t,n){return(n??new On(t)).format(e,"d")}function Aj(e,t=Dn){return t.format(e,"LLLL")}function Mj(e,t,n){return(n??new On(t)).format(e,"cccccc")}function Oj(e,t=Dn){return e<10?t.formatNumber(`0${e.toLocaleString()}`):t.formatNumber(`${e.toLocaleString()}`)}function Dj(){return""}function Pj(e,t=Dn){return t.format(e,"yyyy")}var Lj=Bc({formatCaption:()=>kj,formatDay:()=>_j,formatMonthDropdown:()=>Aj,formatWeekNumber:()=>Oj,formatWeekNumberHeader:()=>Dj,formatWeekdayName:()=>Mj,formatYearDropdown:()=>Pj});function Fj(e){return{...Lj,...e}}function Ng(e,t,n,r){let s=(r??new On(n)).format(e,"PPPP");return t.today&&(s=`Today, ${s}`),t.selected&&(s=`${s}, selected`),s}function Eg(e,t,n){return(n??new On(t)).formatMonthYear(e)}function Ig(e,t,n,r){let s=(r??new On(n)).format(e,"PPPP");return t?.today&&(s=`Today, ${s}`),s}function jg(e){return"Choose the Month"}function Tg(){return""}var $j="Go to the Next Month";function Rg(e,t){return $j}function kg(e){return"Go to the Previous Month"}function _g(e,t,n){return(n??new On(t)).format(e,"cccc")}function Ag(e,t){return`Week ${e}`}function Mg(e){return"Week Number"}function Og(e){return"Choose the Year"}var zj=Bc({labelDayButton:()=>Ng,labelGrid:()=>Eg,labelGridcell:()=>Ig,labelMonthDropdown:()=>jg,labelNav:()=>Tg,labelNext:()=>Rg,labelPrevious:()=>kg,labelWeekNumber:()=>Ag,labelWeekNumberHeader:()=>Mg,labelWeekday:()=>_g,labelYearDropdown:()=>Og}),on=(e,t,n)=>t||(n?typeof n=="function"?n:(...r)=>n:e);function Vj(e,t){const n=t.locale?.labels??{};return{...zj,...e??{},labelDayButton:on(Ng,e?.labelDayButton,n.labelDayButton),labelMonthDropdown:on(jg,e?.labelMonthDropdown,n.labelMonthDropdown),labelNext:on(Rg,e?.labelNext,n.labelNext),labelPrevious:on(kg,e?.labelPrevious,n.labelPrevious),labelWeekNumber:on(Ag,e?.labelWeekNumber,n.labelWeekNumber),labelYearDropdown:on(Og,e?.labelYearDropdown,n.labelYearDropdown),labelGrid:on(Eg,e?.labelGrid,n.labelGrid),labelGridcell:on(Ig,e?.labelGridcell,n.labelGridcell),labelNav:on(Tg,e?.labelNav,n.labelNav),labelWeekNumberHeader:on(Mg,e?.labelWeekNumberHeader,n.labelWeekNumberHeader),labelWeekday:on(_g,e?.labelWeekday,n.labelWeekday)}}function Bj(e,t,n,r,s){const{startOfMonth:a,startOfYear:o,endOfYear:i,eachMonthOfInterval:c,getMonth:u}=s;return c({start:o(e),end:i(e)}).map(d=>{const f=r.formatMonthDropdown(d,s);return{value:u(d),label:f,disabled:t&&d<a(t)||n&&d>a(n)||!1}})}function Uj(e,t={},n={}){let r={...t?.[de.Day]};return Object.entries(e).filter(([,s])=>s===!0).forEach(([s])=>{r={...r,...n?.[s]}}),r}function Hj(e,t,n,r){const s=r??e.today(),a=n?e.startOfBroadcastWeek(s,e):t?e.startOfISOWeek(s):e.startOfWeek(s),o=[];for(let i=0;i<7;i++){const c=e.addDays(a,i);o.push(c)}return o}function qj(e,t,n,r,s=!1){if(!e||!t)return;const{startOfYear:a,endOfYear:o,eachYearOfInterval:i,getYear:c}=r,u=i({start:a(e),end:o(t)});return s&&u.reverse(),u.map(d=>{const f=n.formatYearDropdown(d,r);return{value:c(d),label:f,disabled:!1}})}function Wj(e,t={}){const{weekStartsOn:n,locale:r}=t,s=n??r?.options?.weekStartsOn??0,a=i=>{const c=typeof i=="number"||typeof i=="string"?new Date(i):i;return new Yt(c.getFullYear(),c.getMonth(),c.getDate(),12,0,0,e)},o=i=>{const c=a(i);return new Date(c.getFullYear(),c.getMonth(),c.getDate(),0,0,0,0)};return{today:()=>a(Yt.tz(e)),newDate:(i,c,u)=>new Yt(i,c,u,12,0,0,e),startOfDay:i=>a(i),startOfWeek:(i,c)=>{const u=a(i),d=c?.weekStartsOn??s,f=(u.getDay()-d+7)%7;return u.setDate(u.getDate()-f),u},startOfISOWeek:i=>{const c=a(i),u=(c.getDay()-1+7)%7;return c.setDate(c.getDate()-u),c},startOfMonth:i=>{const c=a(i);return c.setDate(1),c},startOfYear:i=>{const c=a(i);return c.setMonth(0,1),c},endOfWeek:(i,c)=>{const u=a(i),d=(((c?.weekStartsOn??s)+6)%7-u.getDay()+7)%7;return u.setDate(u.getDate()+d),u},endOfISOWeek:i=>{const c=a(i),u=(7-c.getDay())%7;return c.setDate(c.getDate()+u),c},endOfMonth:i=>{const c=a(i);return c.setMonth(c.getMonth()+1,0),c},endOfYear:i=>{const c=a(i);return c.setMonth(11,31),c},eachMonthOfInterval:i=>{const c=a(i.start),u=a(i.end),d=[],f=new Yt(c.getFullYear(),c.getMonth(),1,12,0,0,e),h=u.getFullYear()*12+u.getMonth();for(;f.getFullYear()*12+f.getMonth()<=h;)d.push(new Yt(f,e)),f.setMonth(f.getMonth()+1,1);return d},addDays:(i,c)=>{const u=a(i);return u.setDate(u.getDate()+c),u},addWeeks:(i,c)=>{const u=a(i);return u.setDate(u.getDate()+c*7),u},addMonths:(i,c)=>{const u=a(i);return u.setMonth(u.getMonth()+c),u},addYears:(i,c)=>{const u=a(i);return u.setFullYear(u.getFullYear()+c),u},eachYearOfInterval:i=>{const c=a(i.start),u=a(i.end),d=[],f=new Yt(c.getFullYear(),0,1,12,0,0,e);for(;f.getFullYear()<=u.getFullYear();)d.push(new Yt(f,e)),f.setFullYear(f.getFullYear()+1,0,1);return d},getWeek:(i,c)=>{const u=o(i);return Iu(u,{weekStartsOn:c?.weekStartsOn??s,firstWeekContainsDate:c?.firstWeekContainsDate??r?.options?.firstWeekContainsDate??1})},getISOWeek:i=>{const c=o(i);return Eu(c)},differenceInCalendarDays:(i,c)=>{const u=o(i),d=o(c);return Nu(u,d)},differenceInCalendarMonths:(i,c)=>{const u=o(i),d=o(c);return dg(u,d)}}}var Fa=e=>e instanceof HTMLElement?e:null,il=e=>[...e.querySelectorAll("[data-animated-month]")??[]],Kj=e=>Fa(e.querySelector("[data-animated-month]")),ll=e=>Fa(e.querySelector("[data-animated-caption]")),cl=e=>Fa(e.querySelector("[data-animated-weeks]")),Yj=e=>Fa(e.querySelector("[data-animated-nav]")),Gj=e=>Fa(e.querySelector("[data-animated-weekdays]"));function Jj(e,t,{classNames:n,months:r,focused:s,dateLib:a}){const o=(0,p.useRef)(null),i=(0,p.useRef)(r),c=(0,p.useRef)(!1);(0,p.useLayoutEffect)(()=>{const u=i.current;if(i.current=r,!t||!e.current||!(e.current instanceof HTMLElement)||r.length===0||u.length===0||r.length!==u.length)return;const d=a.isSameMonth(r[0].date,u[0].date),f=a.isAfter(r[0].date,u[0].date),h=f?n[Pt.caption_after_enter]:n[Pt.caption_before_enter],m=f?n[Pt.weeks_after_enter]:n[Pt.weeks_before_enter],v=o.current,S=e.current.cloneNode(!0);if(S instanceof HTMLElement?(il(S).forEach(w=>{if(!(w instanceof HTMLElement))return;const y=Kj(w);y&&w.contains(y)&&w.removeChild(y);const g=ll(w);g&&g.classList.remove(h);const x=cl(w);x&&x.classList.remove(m)}),o.current=S):o.current=null,c.current||d||s)return;const b=v instanceof HTMLElement?il(v):[],N=il(e.current);if(N?.every(w=>w instanceof HTMLElement)&&b?.every(w=>w instanceof HTMLElement)){c.current=!0;const w=[];e.current.style.isolation="isolate";const y=Yj(e.current);y&&(y.style.zIndex="1"),N.forEach((g,x)=>{const C=b[x];if(!C)return;g.style.position="relative",g.style.overflow="hidden";const j=ll(g);j&&j.classList.add(h);const E=cl(g);E&&E.classList.add(m);const R=()=>{c.current=!1,e.current&&(e.current.style.isolation=""),y&&(y.style.zIndex=""),j&&j.classList.remove(h),E&&E.classList.remove(m),g.style.position="",g.style.overflow="",g.contains(C)&&g.removeChild(C)};w.push(R),C.style.pointerEvents="none",C.style.position="absolute",C.style.overflow="hidden",C.setAttribute("aria-hidden","true");const O=Gj(C);O&&(O.style.opacity="0");const k=ll(C);k&&(k.classList.add(f?n[Pt.caption_before_exit]:n[Pt.caption_after_exit]),k.addEventListener("animationend",R));const _=cl(C);_&&_.classList.add(f?n[Pt.weeks_before_exit]:n[Pt.weeks_after_exit]),g.insertBefore(C,g.firstChild)})}})}function Qj(e,t,n,r){const s=e[0],a=e[e.length-1],{ISOWeek:o,fixedWeeks:i,broadcastCalendar:c}=n??{},{addDays:u,differenceInCalendarDays:d,differenceInCalendarMonths:f,endOfBroadcastWeek:h,endOfISOWeek:m,endOfMonth:v,endOfWeek:S,isAfter:b,startOfBroadcastWeek:N,startOfISOWeek:w,startOfWeek:y}=r,g=c?N(s,r):o?w(s):y(s),x=c?h(a):o?m(v(a)):S(v(a)),C=t&&(c?h(t):o?m(t):S(t)),j=d(C&&b(x,C)?C:x,g),E=f(a,s)+1,R=[];for(let k=0;k<=j;k++){const _=u(g,k);R.push(_)}const O=(c?35:42)*E;if(i&&R.length<O){const k=O-R.length;for(let _=0;_<k;_++){const A=u(R[R.length-1],1);R.push(A)}}return R}function Xj(e){const t=[];return e.reduce((n,r)=>{const s=r.weeks.reduce((a,o)=>a.concat(o.days.slice()),t.slice());return n.concat(s.slice())},t.slice())}function Zj(e,t,n,r){const{numberOfMonths:s=1}=n,a=[];for(let o=0;o<s;o++){const i=r.addMonths(e,o);if(t&&i>t)break;a.push(i)}return a}function yf(e,t,n,r){const{month:s,defaultMonth:a,today:o=r.today(),numberOfMonths:i=1}=e;let c=s||a||o;const{differenceInCalendarMonths:u,addMonths:d,startOfMonth:f}=r;return n&&u(n,c)<i-1&&(c=d(n,-1*(i-1))),t&&u(c,t)<0&&(c=t),f(c)}function eT(e,t,n,r){const{addDays:s,endOfBroadcastWeek:a,endOfISOWeek:o,endOfMonth:i,endOfWeek:c,getISOWeek:u,getWeek:d,startOfBroadcastWeek:f,startOfISOWeek:h,startOfWeek:m}=r,v=e.reduce((S,b)=>{const N=n.broadcastCalendar?f(b,r):n.ISOWeek?h(b):m(b),w=n.broadcastCalendar?a(b):n.ISOWeek?o(i(b)):c(i(b)),y=t.filter(j=>j>=N&&j<=w),g=n.broadcastCalendar?35:42;if(n.fixedWeeks&&y.length<g){const j=t.filter(E=>{const R=g-y.length;return E>w&&E<=s(w,R)});y.push(...j)}const x=y.reduce((j,E)=>{const R=n.ISOWeek?u(E):d(E),O=j.find(_=>_.weekNumber===R),k=new bg(E,b,r);return O?O.days.push(k):j.push(new ZI(R,[k])),j},[]),C=new XI(b,x);return S.push(C),S},[]);return n.reverseMonths?v.reverse():v}function tT(e,t){let{startMonth:n,endMonth:r}=e;const{startOfYear:s,startOfDay:a,startOfMonth:o,endOfMonth:i,addYears:c,endOfYear:u,today:d}=t,f=e.captionLayout==="dropdown"||e.captionLayout==="dropdown-years";return n?n=o(n):!n&&f&&(n=s(c(e.today??d(),-100))),r?r=i(r):!r&&f&&(r=u(e.today??d())),[n&&a(n),r&&a(r)]}function nT(e,t,n,r){if(n.disableNavigation)return;const{pagedNavigation:s,numberOfMonths:a=1}=n,{startOfMonth:o,addMonths:i,differenceInCalendarMonths:c}=r,u=s?a:1,d=o(e);if(!t)return i(d,u);if(!(c(t,e)<a))return i(d,u)}function rT(e,t,n,r){if(n.disableNavigation)return;const{pagedNavigation:s,numberOfMonths:a}=n,{startOfMonth:o,addMonths:i,differenceInCalendarMonths:c}=r,u=s?a??1:1,d=o(e);if(!t)return i(d,-u);if(!(c(d,t)<=0))return i(d,-u)}function sT(e){return e.reduce((t,n)=>t.concat(n.weeks.slice()),[].slice())}function pi(e,t){const[n,r]=(0,p.useState)(e);return[t===void 0?n:t,r]}function aT(e,t){const[n,r]=tT(e,t),{startOfMonth:s,endOfMonth:a}=t,o=yf(e,n,r,t),[i,c]=pi(o,e.month?o:void 0);(0,p.useEffect)(()=>{const y=yf(e,n,r,t);c(y)},[e.timeZone]);const{months:u,weeks:d,days:f,previousMonth:h,nextMonth:m}=(0,p.useMemo)(()=>{const y=Zj(i,r,{numberOfMonths:e.numberOfMonths},t),g=Qj(y,e.endMonth?a(e.endMonth):void 0,{ISOWeek:e.ISOWeek,fixedWeeks:e.fixedWeeks,broadcastCalendar:e.broadcastCalendar},t),x=eT(y,g,{broadcastCalendar:e.broadcastCalendar,fixedWeeks:e.fixedWeeks,ISOWeek:e.ISOWeek,reverseMonths:e.reverseMonths},t);return{months:x,weeks:sT(x),days:Xj(x),previousMonth:rT(i,n,e,t),nextMonth:nT(i,r,e,t)}},[t,i.getTime(),r?.getTime(),n?.getTime(),e.disableNavigation,e.broadcastCalendar,e.endMonth?.getTime(),e.fixedWeeks,e.ISOWeek,e.numberOfMonths,e.pagedNavigation,e.reverseMonths]),{disableNavigation:v,onMonthChange:S}=e,b=y=>d.some(g=>g.days.some(x=>x.isEqualTo(y))),N=y=>{if(v)return;let g=s(y);n&&g<s(n)&&(g=s(n)),r&&g>s(r)&&(g=s(r)),c(g),S?.(g)};return{months:u,weeks:d,days:f,navStart:n,navEnd:r,previousMonth:h,nextMonth:m,goToMonth:N,goToDay:y=>{b(y)||N(y.date)}}}var Cn;(function(e){e[e.Today=0]="Today",e[e.Selected=1]="Selected",e[e.LastFocused=2]="LastFocused",e[e.FocusedModifier=3]="FocusedModifier"})(Cn||(Cn={}));function xf(e){return!e[Xe.disabled]&&!e[Xe.hidden]&&!e[Xe.outside]}function oT(e,t,n,r){let s,a=-1;for(const o of e){const i=t(o);xf(i)&&(i[Xe.focused]&&a<Cn.FocusedModifier?(s=o,a=Cn.FocusedModifier):r?.isEqualTo(o)&&a<Cn.LastFocused?(s=o,a=Cn.LastFocused):n(o.date)&&a<Cn.Selected?(s=o,a=Cn.Selected):i[Xe.today]&&a<Cn.Today&&(s=o,a=Cn.Today))}return s||(s=e.find(o=>xf(t(o)))),s}function iT(e,t,n,r,s,a,o){const{ISOWeek:i,broadcastCalendar:c}=a,{addDays:u,addMonths:d,addWeeks:f,addYears:h,endOfBroadcastWeek:m,endOfISOWeek:v,endOfWeek:S,max:b,min:N,startOfBroadcastWeek:w,startOfISOWeek:y,startOfWeek:g}=o;let x={day:u,week:f,month:d,year:h,startOfWeek:C=>c?w(C,o):i?y(C):g(C),endOfWeek:C=>c?m(C):i?v(C):S(C)}[e](n,t==="after"?1:-1);return t==="before"&&r?x=b([r,x]):t==="after"&&s&&(x=N([s,x])),x}function Dg(e,t,n,r,s,a,o,i=0){if(i>365)return;const c=iT(e,t,n.date,r,s,a,o),u=!!(a.disabled&&Un(c,a.disabled,o)),d=!!(a.hidden&&Un(c,a.hidden,o)),f=new bg(c,c,o);return!u&&!d?f:Dg(e,t,f,r,s,a,o,i+1)}function lT(e,t,n,r,s){const{autoFocus:a}=e,[o,i]=(0,p.useState)(),c=oT(t.days,n,r||(()=>!1),o),[u,d]=(0,p.useState)(a?c:void 0);return{isFocusTarget:v=>!!c?.isEqualTo(v),setFocused:d,focused:u,blur:()=>{i(u),d(void 0)},moveFocus:(v,S)=>{if(!u)return;const b=Dg(v,S,u,t.navStart,t.navEnd,e,s);b&&(e.disableNavigation&&!t.days.some(N=>N.isEqualTo(b))||(t.goToDay(b),d(b)))}}}function cT(e,t){const{selected:n,required:r,onSelect:s}=e,[a,o]=pi(n,s?n:void 0),i=s?n:a,{isSameDay:c}=t,u=m=>i?.some(v=>c(v,m))??!1,{min:d,max:f}=e;return{selected:i,select:(m,v,S)=>{let b=[...i??[]];if(u(m)){if(i?.length===d||r&&i?.length===1)return;b=i?.filter(N=>!c(N,m))}else i?.length===f?b=[m]:b=[...b,m];return s||o(b),s?.(b,m,v,S),b},isSelected:u}}function uT(e,t,n=0,r=0,s=!1,a=Dn){const{from:o,to:i}=t||{},{isSameDay:c,isAfter:u,isBefore:d}=a;let f;if(!o&&!i)f={from:e,to:n>0?void 0:e};else if(o&&!i)c(o,e)?n===0?f={from:o,to:e}:s?f={from:o,to:void 0}:f=void 0:d(e,o)?f={from:e,to:o}:f={from:o,to:e};else if(o&&i)if(c(o,e)&&c(i,e))s?f={from:o,to:i}:f=void 0;else if(c(o,e))f={from:o,to:n>0?void 0:e};else if(c(i,e))f={from:e,to:n>0?void 0:e};else if(d(e,o))f={from:e,to:i};else if(u(e,o))f={from:o,to:e};else if(u(e,i))f={from:o,to:e};else throw new Error("Invalid range");if(f?.from&&f?.to){const h=a.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 dT(e,t,n=Dn){const r=Array.isArray(t)?t:[t];let s=e.from;const a=n.differenceInCalendarDays(e.to,e.from),o=Math.min(a,6);for(let i=0;i<=o;i++){if(r.includes(s.getDay()))return!0;s=n.addDays(s,1)}return!1}function bf(e,t,n=Dn){return Bn(e,t.from,!1,n)||Bn(e,t.to,!1,n)||Bn(t,e.from,!1,n)||Bn(t,e.to,!1,n)}function fT(e,t,n=Dn){const r=Array.isArray(t)?t:[t];if(r.filter(a=>typeof a!="function").some(a=>typeof a=="boolean"?a:n.isDate(a)?Bn(e,a,!1,n):Cg(a,n)?a.some(o=>Bn(e,o,!1,n)):mi(a)?a.from&&a.to?bf(e,{from:a.from,to:a.to},n):!1:Sg(a)?dT(e,a.dayOfWeek,n):ju(a)?n.isAfter(a.before,a.after)?bf(e,{from:n.addDays(a.after,1),to:n.addDays(a.before,-1)},n):Un(e.from,a,n)||Un(e.to,a,n):Tu(a)||Ru(a)?Un(e.from,a,n)||Un(e.to,a,n):!1))return!0;const s=r.filter(a=>typeof a=="function");if(s.length){let a=e.from;const o=n.differenceInCalendarDays(e.to,e.from);for(let i=0;i<=o;i++){if(s.some(c=>c(a)))return!0;a=n.addDays(a,1)}}return!1}function hT(e,t){const{disabled:n,excludeDisabled:r,resetOnSelect:s,selected:a,required:o,onSelect:i}=e,[c,u]=pi(a,i?a:void 0),d=i?a:c;return{selected:d,select:(m,v,S)=>{const{min:b,max:N}=e;let w;if(m){const y=d?.from,g=d?.to,x=!!y&&!!g,C=!!y&&!!g&&t.isSameDay(y,g)&&t.isSameDay(m,y);s&&(x||!d?.from)?!o&&C?w=void 0:w={from:m,to:void 0}:w=uT(m,d,b,N,o,t)}return r&&n&&w?.from&&w.to&&fT({from:w.from,to:w.to},n,t)&&(w.from=m,w.to=void 0),i||u(w),i?.(w,m,v,S),w},isSelected:m=>d&&Bn(d,m,!1,t)}}function mT(e,t){const{selected:n,required:r,onSelect:s}=e,[a,o]=pi(n,s?n:void 0),i=s?n:a,{isSameDay:c}=t;return{selected:i,select:(f,h,m)=>{let v=f;return!r&&i&&i&&c(f,i)&&(v=void 0),s||o(v),s?.(v,f,h,m),v},isSelected:f=>i?c(i,f):!1}}function pT(e,t){const n=mT(e,t),r=cT(e,t),s=hT(e,t);switch(e.mode){case"single":return n;case"multiple":return r;case"range":return s;default:return}}function Dt(e,t){return e instanceof Yt&&e.timeZone===t?e:new Yt(e,t)}function is(e,t,n){if(!n)return Dt(e,t);const r=Dt(e,t),s=new Yt(r.getFullYear(),r.getMonth(),r.getDate(),12,0,0,t);return new Date(s.getTime())}function wf(e,t,n){return typeof e=="boolean"||typeof e=="function"?e:e instanceof Date?is(e,t,n):Array.isArray(e)?e.map(r=>r instanceof Date?is(r,t,n):r):mi(e)?{...e,from:e.from?Dt(e.from,t):e.from,to:e.to?Dt(e.to,t):e.to}:ju(e)?{before:is(e.before,t,n),after:is(e.after,t,n)}:Tu(e)?{after:is(e.after,t,n)}:Ru(e)?{before:is(e.before,t,n)}:e}function ul(e,t,n){return e&&(Array.isArray(e)?e.map(r=>wf(r,t,n)):wf(e,t,n))}function gT(e){let t=e;const n=t.timeZone;if(n&&(t={...e,timeZone:n},t.today&&(t.today=Dt(t.today,n)),t.month&&(t.month=Dt(t.month,n)),t.defaultMonth&&(t.defaultMonth=Dt(t.defaultMonth,n)),t.startMonth&&(t.startMonth=Dt(t.startMonth,n)),t.endMonth&&(t.endMonth=Dt(t.endMonth,n)),t.mode==="single"&&t.selected?t.selected=Dt(t.selected,n):t.mode==="multiple"&&t.selected?t.selected=t.selected?.map(ie=>Dt(ie,n)):t.mode==="range"&&t.selected&&(t.selected={from:t.selected.from?Dt(t.selected.from,n):t.selected.from,to:t.selected.to?Dt(t.selected.to,n):t.selected.to}),t.disabled!==void 0&&(t.disabled=ul(t.disabled,n)),t.hidden!==void 0&&(t.hidden=ul(t.hidden,n)),t.modifiers)){const ie={};Object.keys(t.modifiers).forEach(ce=>{ie[ce]=ul(t.modifiers?.[ce],n)}),t.modifiers=ie}const{components:r,formatters:s,labels:a,dateLib:o,locale:i,classNames:c}=(0,p.useMemo)(()=>{const ie={...xg,...t.locale},ce=t.broadcastCalendar?1:t.weekStartsOn,fe=t.noonSafe&&t.timeZone?Wj(t.timeZone,{weekStartsOn:ce,locale:ie}):void 0,Ie=t.dateLib&&fe?{...fe,...t.dateLib}:t.dateLib??fe,we=new On({locale:ie,weekStartsOn:ce,firstWeekContainsDate:t.firstWeekContainsDate,useAdditionalWeekYearTokens:t.useAdditionalWeekYearTokens,useAdditionalDayOfYearTokens:t.useAdditionalDayOfYearTokens,timeZone:t.timeZone,numerals:t.numerals},Ie);return{dateLib:we,components:Tj(t.components),formatters:Fj(t.formatters),labels:Vj(t.labels,we.options),locale:ie,classNames:{...ku(),...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:o.today()});const{captionLayout:u,mode:d,navLayout:f,numberOfMonths:h=1,onDayBlur:m,onDayClick:v,onDayFocus:S,onDayKeyDown:b,onDayMouseEnter:N,onDayMouseLeave:w,onNextClick:y,onPrevClick:g,showWeekNumber:x,styles:C}=t,{formatCaption:j,formatDay:E,formatMonthDropdown:R,formatWeekNumber:O,formatWeekNumberHeader:k,formatWeekdayName:_,formatYearDropdown:A}=s,I=aT(t,o),{days:T,months:M,navStart:P,navEnd:V,previousMonth:L,nextMonth:B,goToMonth:q}=I,F=Ij(T,t,P,V,o),{isSelected:K,select:H,selected:Y}=pT(t,o)??{},{blur:ne,focused:ee,isFocusTarget:$,moveFocus:Q,setFocused:he}=lT(t,I,F,K??(()=>!1),o),{labelDayButton:pe,labelGridcell:ae,labelGrid:be,labelMonthDropdown:J,labelNav:le,labelPrevious:ue,labelNext:We,labelWeekday:Ye,labelWeekNumber:Ve,labelWeekNumberHeader:ft,labelYearDropdown:Ae}=a,mt=(0,p.useMemo)(()=>Hj(o,t.ISOWeek,t.broadcastCalendar,t.today),[o,t.ISOWeek,t.broadcastCalendar,t.today]),ye=d!==void 0||v!==void 0,D=(0,p.useCallback)(()=>{L&&(q(L),g?.(L))},[L,q,g]),z=(0,p.useCallback)(()=>{B&&(q(B),y?.(B))},[q,B,y]),U=(0,p.useCallback)((ie,ce)=>fe=>{fe.preventDefault(),fe.stopPropagation(),he(ie),!ce.disabled&&(H?.(ie.date,ce,fe),v?.(ie.date,ce,fe))},[H,v,he]),X=(0,p.useCallback)((ie,ce)=>fe=>{he(ie),S?.(ie.date,ce,fe)},[S,he]),se=(0,p.useCallback)((ie,ce)=>fe=>{ne(),m?.(ie.date,ce,fe)},[ne,m]),Z=(0,p.useCallback)((ie,ce)=>fe=>{const Ie={ArrowLeft:[fe.shiftKey?"month":"day",t.dir==="rtl"?"after":"before"],ArrowRight:[fe.shiftKey?"month":"day",t.dir==="rtl"?"before":"after"],ArrowDown:[fe.shiftKey?"year":"week","after"],ArrowUp:[fe.shiftKey?"year":"week","before"],PageUp:[fe.shiftKey?"year":"month","before"],PageDown:[fe.shiftKey?"year":"month","after"],Home:["startOfWeek","before"],End:["endOfWeek","after"]};if(Ie[fe.key]){fe.preventDefault(),fe.stopPropagation();const[we,He]=Ie[fe.key];Q(we,He)}b?.(ie.date,ce,fe)},[Q,b,t.dir]),oe=(0,p.useCallback)((ie,ce)=>fe=>{N?.(ie.date,ce,fe)},[N]),xe=(0,p.useCallback)((ie,ce)=>fe=>{w?.(ie.date,ce,fe)},[w]),je=(0,p.useCallback)((ie,ce)=>fe=>{const Ie=Number(fe.target.value),we=o.setMonth(o.startOfMonth(ie),Ie);q(o.addMonths(we,-ce))},[o,q]),nt=(0,p.useCallback)((ie,ce)=>fe=>{const Ie=Number(fe.target.value),we=o.setYear(o.startOfMonth(ie),Ie);q(o.addMonths(we,-ce))},[o,q]),{className:yt,style:st}=(0,p.useMemo)(()=>({className:[c[de.Root],t.className].filter(Boolean).join(" "),style:{...C?.[de.Root],...t.style}}),[c,t.className,t.style,C]),vr=Rj(t),xn=ie=>{const ce=C?.[de.Dropdown],fe=C?.[ie];if(!(!ce&&!fe))return{...ce,...fe}},ge=(0,p.useRef)(null);Jj(ge,!!t.animate,{classNames:c,months:M,focused:ee,dateLib:o});const Te={dayPickerProps:t,selected:Y,select:H,isSelected:K,months:M,nextMonth:B,previousMonth:L,goToMonth:q,getModifiers:F,components:r,classNames:c,styles:C,labels:a,formatters:s};return p.createElement(wg.Provider,{value:Te},p.createElement(r.Root,{rootRef:t.animate?ge:void 0,className:yt,style:st,dir:t.dir,id:t.id,lang:t.lang??i.code,nonce:t.nonce,title:t.title,role:t.role,"aria-label":t["aria-label"],"aria-labelledby":t["aria-labelledby"],...vr},p.createElement(r.Months,{className:c[de.Months],style:C?.[de.Months]},!t.hideNavigation&&!f&&p.createElement(r.Nav,{"data-animated-nav":t.animate?"true":void 0,className:c[de.Nav],style:C?.[de.Nav],"aria-label":le(),onPreviousClick:D,onNextClick:z,previousMonth:L,nextMonth:B}),M.map((ie,ce)=>{const fe=t.reverseMonths?M.length-1-ce:ce;return p.createElement(r.Month,{"data-animated-month":t.animate?"true":void 0,className:c[de.Month],style:C?.[de.Month],key:ce,displayIndex:ce,calendarMonth:ie},f==="around"&&!t.hideNavigation&&ce===0&&p.createElement(r.PreviousMonthButton,{type:"button",className:c[de.PreviousMonthButton],style:C?.[de.PreviousMonthButton],tabIndex:L?void 0:-1,"aria-disabled":L?void 0:!0,"aria-label":ue(L),onClick:D,"data-animated-button":t.animate?"true":void 0},p.createElement(r.Chevron,{disabled:L?void 0:!0,className:c[de.Chevron],style:C?.[de.Chevron],orientation:t.dir==="rtl"?"right":"left"})),p.createElement(r.MonthCaption,{"data-animated-caption":t.animate?"true":void 0,className:c[de.MonthCaption],style:C?.[de.MonthCaption],calendarMonth:ie,displayIndex:ce},u?.startsWith("dropdown")?p.createElement(r.DropdownNav,{className:c[de.Dropdowns],style:C?.[de.Dropdowns]},(()=>{const Ie=u==="dropdown"||u==="dropdown-months"?p.createElement(r.MonthsDropdown,{key:"month",className:c[de.MonthsDropdown],"aria-label":J(),disabled:!!t.disableNavigation,onChange:je(ie.date,fe),options:Bj(ie.date,P,V,s,o),style:xn(de.MonthsDropdown),value:o.getMonth(ie.date)}):p.createElement("span",{key:"month"},R(ie.date,o)),we=u==="dropdown"||u==="dropdown-years"?p.createElement(r.YearsDropdown,{key:"year",className:c[de.YearsDropdown],"aria-label":Ae(o.options),disabled:!!t.disableNavigation,onChange:nt(ie.date,fe),options:qj(P,V,s,o,!!t.reverseYears),style:xn(de.YearsDropdown),value:o.getYear(ie.date)}):p.createElement("span",{key:"year"},A(ie.date,o));return o.getMonthYearOrder()==="year-first"?[we,Ie]:[Ie,we]})(),p.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"}},j(ie.date,o.options,o))):p.createElement(r.CaptionLabel,{className:c[de.CaptionLabel],style:C?.[de.CaptionLabel],role:"status","aria-live":"polite"},j(ie.date,o.options,o))),f==="around"&&!t.hideNavigation&&ce===h-1&&p.createElement(r.NextMonthButton,{type:"button",className:c[de.NextMonthButton],style:C?.[de.NextMonthButton],tabIndex:B?void 0:-1,"aria-disabled":B?void 0:!0,"aria-label":We(B),onClick:z,"data-animated-button":t.animate?"true":void 0},p.createElement(r.Chevron,{disabled:B?void 0:!0,className:c[de.Chevron],style:C?.[de.Chevron],orientation:t.dir==="rtl"?"left":"right"})),ce===h-1&&f==="after"&&!t.hideNavigation&&p.createElement(r.Nav,{"data-animated-nav":t.animate?"true":void 0,className:c[de.Nav],style:C?.[de.Nav],"aria-label":le(),onPreviousClick:D,onNextClick:z,previousMonth:L,nextMonth:B}),p.createElement(r.MonthGrid,{role:"grid","aria-multiselectable":d==="multiple"||d==="range","aria-label":be(ie.date,o.options,o)||void 0,className:c[de.MonthGrid],style:C?.[de.MonthGrid]},!t.hideWeekdays&&p.createElement(r.Weekdays,{"data-animated-weekdays":t.animate?"true":void 0,className:c[de.Weekdays],style:C?.[de.Weekdays]},x&&p.createElement(r.WeekNumberHeader,{"aria-label":ft(o.options),className:c[de.WeekNumberHeader],style:C?.[de.WeekNumberHeader],scope:"col"},k()),mt.map(Ie=>p.createElement(r.Weekday,{"aria-label":Ye(Ie,o.options,o),className:c[de.Weekday],key:String(Ie),style:C?.[de.Weekday],scope:"col"},_(Ie,o.options,o)))),p.createElement(r.Weeks,{"data-animated-weeks":t.animate?"true":void 0,className:c[de.Weeks],style:C?.[de.Weeks]},ie.weeks.map(Ie=>p.createElement(r.Week,{className:c[de.Week],key:Ie.weekNumber,style:C?.[de.Week],week:Ie},x&&p.createElement(r.WeekNumber,{week:Ie,style:C?.[de.WeekNumber],"aria-label":Ve(Ie.weekNumber,{locale:i}),className:c[de.WeekNumber],scope:"row",role:"rowheader"},O(Ie.weekNumber,o)),Ie.days.map(we=>{const{date:He}=we,Ee=F(we);if(Ee[Xe.focused]=!Ee.hidden&&!!ee?.isEqualTo(we),Ee[dn.selected]=K?.(He)||Ee.selected,mi(Y)){const{from:Xn,to:zs}=Y;Ee[dn.range_start]=!!(Xn&&zs&&o.isSameDay(He,Xn)),Ee[dn.range_end]=!!(Xn&&zs&&o.isSameDay(He,zs)),Ee[dn.range_middle]=Bn(Y,He,!0,o)}const Qn=Uj(Ee,C,t.modifiersStyles),pt=jj(Ee,c,t.modifiersClassNames),an=!ye&&!Ee.hidden?ae(He,Ee,o.options,o):void 0;return p.createElement(r.Day,{key:`${we.isoDate}_${we.displayMonthId}`,day:we,modifiers:Ee,className:pt.join(" "),style:Qn,role:"gridcell","aria-selected":Ee.selected||void 0,"aria-label":an,"data-day":we.isoDate,"data-month":we.outside?we.dateMonthId:void 0,"data-selected":Ee.selected||void 0,"data-disabled":Ee.disabled||void 0,"data-hidden":Ee.hidden||void 0,"data-outside":we.outside||void 0,"data-focused":Ee.focused||void 0,"data-today":Ee.today||void 0},!Ee.hidden&&ye?p.createElement(r.DayButton,{className:c[de.DayButton],style:C?.[de.DayButton],type:"button",day:we,modifiers:Ee,disabled:!Ee.focused&&Ee.disabled||void 0,"aria-disabled":Ee.focused&&Ee.disabled||void 0,tabIndex:$(we)?0:-1,"aria-label":pe(He,Ee,o.options,o),onClick:U(we,Ee),onBlur:se(we,Ee),onFocus:X(we,Ee),onKeyDown:Z(we,Ee),onMouseEnter:oe(we,Ee),onMouseLeave:xe(we,Ee)},E(He,o.options,o)):!Ee.hidden&&E(we.date,o.options,o))}))))))})),t.footer&&p.createElement(r.Footer,{className:c[de.Footer],style:C?.[de.Footer],role:"status","aria-live":"polite"},t.footer)))}function vT({className:e,classNames:t,showOutsideDays:n=!0,captionLayout:r="label",buttonVariant:s="ghost",formatters:a,components:o,...i}){const c=ku();return(0,l.jsx)(gT,{showOutsideDays:n,className:G("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:u=>u.toLocaleString("default",{month:"short"}),...a},classNames:{root:G("w-fit",c.root),months:G("flex gap-4 flex-col md:flex-row relative",c.months),month:G("flex flex-col w-full gap-4",c.month),nav:G("flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between",c.nav),button_previous:G(Dd({variant:s}),"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",c.button_previous),button_next:G(Dd({variant:s}),"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",c.button_next),month_caption:G("flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)",c.month_caption),dropdowns:G("w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5",c.dropdowns),dropdown_root:G("relative cn-calendar-dropdown-root rounded-(--cell-radius)",c.dropdown_root),dropdown:G("absolute bg-popover inset-0 opacity-0",c.dropdown),caption_label:G("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",c.caption_label),month_grid:G("w-full border-collapse",c.month_grid),weekdays:G("flex",c.weekdays),weekday:G("text-muted-foreground rounded-(--cell-radius) flex-1 font-normal text-[0.8rem] select-none",c.weekday),week:G("flex w-full mt-2",c.week),week_number_header:G("select-none w-(--cell-size)",c.week_number_header),week_number:G("text-[0.8rem] select-none text-muted-foreground",c.week_number),day:G("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",i.showWeekNumber?"[&:nth-child(2)[data-selected=true]_button]:rounded-l-(--cell-radius)":"[&:first-child[data-selected=true]_button]:rounded-l-(--cell-radius)",c.day),range_start:G("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",c.range_start),range_middle:G("rounded-none",c.range_middle),range_end:G("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",c.range_end),today:G("bg-muted text-foreground rounded-(--cell-radius) data-[selected=true]:rounded-none",c.today),outside:G("text-muted-foreground aria-selected:text-muted-foreground",c.outside),disabled:G("text-muted-foreground opacity-50",c.disabled),hidden:G("invisible",c.hidden),...t},components:{Root:({className:u,rootRef:d,...f})=>(0,l.jsx)("div",{"data-slot":"calendar",ref:d,className:G(u),...f}),Chevron:({className:u,orientation:d,...f})=>d==="left"?(0,l.jsx)(Gc,{className:G("size-4",u),...f}):d==="right"?(0,l.jsx)(Zc,{className:G("size-4",u),...f}):(0,l.jsx)(es,{className:G("size-4",u),...f}),DayButton:yT,WeekNumber:({children:u,...d})=>(0,l.jsx)("td",{...d,children:(0,l.jsx)("div",{className:"flex size-(--cell-size) items-center justify-center text-center",children:u})}),...o},...i})}function yT({className:e,day:t,modifiers:n,...r}){const s=ku(),a=p.useRef(null);return p.useEffect(()=>{n.focused&&a.current?.focus()},[n.focused]),(0,l.jsx)(te,{ref:a,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:G("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 Sr({value:e,onChange:t,placeholder:n="Pick a date",className:r,disabled:s,startYear:a=1980,endYear:o=new Date().getFullYear()+10,icon:i=!0,isFormatted:c=!0,showTime:u=!1,modal:d,open:f,onOpenChange:h}){const[m,v]=(0,p.useState)(!1),S=f??m,b=A=>{v(A),h?.(A)},[N]=(0,p.useState)(()=>new Date),w=e?e.getHours():0,y=e?e.getMinutes():0,g=e?e.getSeconds():0,x=(A,I)=>{I({target:{value:String(A)}})},C=A=>{A&&e&&(A.setHours(e.getHours()),A.setMinutes(e.getMinutes()),A.setSeconds(e.getSeconds())),t?.(A),u||b(!1)},j=(A,I)=>{const T=e?new Date(e):new Date;A==="hours"&&T.setHours(I),A==="minutes"&&T.setMinutes(I),A==="seconds"&&T.setSeconds(I),t?.(T)},E=A=>{const I=bs(new Date);switch(A){case"NULL":t?.(null);break;case"NOW":t?.(new Date);break;case"TODAY":t?.(I);break;case"YESTERDAY":t?.(Io(I,-1));break;case"TOMORROW":t?.(Io(I,1))}},R=Array.from({length:24},(A,I)=>I),O=Array.from({length:60},(A,I)=>I),k=Array.from({length:60},(A,I)=>I),_=e&&e instanceof Date&&!Number.isNaN(e.getTime())?c?u?Tn(e,"dd/MM/yyyy HH:mm:ss"):Tn(e,"dd/MM/yyyy"):u?Tn(e,"yyyy-MM-dd HH:mm:ss"):Tn(e,"yyyy-MM-dd"):e===null?"NULL":n;return(0,l.jsxs)(fr,{modal:d,open:S,onOpenChange:b,children:[(0,l.jsx)(ts,{asChild:!0,children:(0,l.jsxs)(te,{variant:"outline",className:G("w-full justify-start text-left font-normal",!e&&"text-muted-foreground",r),disabled:s,children:[i&&(0,l.jsx)(oS,{className:"mr-2 size-4"}),_]})}),(0,l.jsx)(Mn,{className:"w-auto p-0",align:"end",children:(0,l.jsxs)("div",{className:"flex",children:[(0,l.jsxs)("div",{className:"flex flex-col gap-1 p-2 border-r",children:[(0,l.jsx)(te,{variant:"ghost",size:"sm",className:"justify-start text-xs h-7",onClick:()=>E("NULL"),children:"NULL"}),(0,l.jsx)(te,{variant:"ghost",size:"sm",className:"justify-start text-xs h-7",onClick:()=>E("NOW"),children:"NOW"}),(0,l.jsx)(te,{variant:"ghost",size:"sm",className:"justify-start text-xs h-7",onClick:()=>E("TODAY"),children:"TODAY"}),(0,l.jsx)(te,{variant:"ghost",size:"sm",className:"justify-start text-xs h-7",onClick:()=>E("YESTERDAY"),children:"YESTERDAY"}),(0,l.jsx)(te,{variant:"ghost",size:"sm",className:"justify-start text-xs h-7",onClick:()=>E("TOMORROW"),children:"TOMORROW"})]}),(0,l.jsx)(vT,{components:{Dropdown:A=>(0,l.jsxs)(Nt,{onValueChange:I=>{A.onChange&&x(I,A.onChange)},value:String(A.value),children:[(0,l.jsx)(St,{className:"h-8 w-fit font-medium first-letter:capitalize focus:ring-0 focus:ring-offset-0",children:(0,l.jsx)(wt,{})}),(0,l.jsx)(Ct,{children:A.options?.map(I=>(0,l.jsx)(Se,{value:String(I.value),children:I.label},I.value))})]}),DropdownNav:A=>(0,l.jsx)("div",{className:"flex w-full items-center gap-2",children:A.children})},defaultMonth:e||N,hideNavigation:!0,mode:"single",onSelect:C,selected:e||void 0,startMonth:new Date(a,0),endMonth:new Date(o,11)}),u&&(0,l.jsxs)("div",{className:"flex border-l",children:[(0,l.jsx)(dl,{label:"H",values:R,selected:w,onChange:A=>j("hours",A)}),(0,l.jsx)(dl,{label:"M",values:O,selected:y,onChange:A=>j("minutes",A)}),(0,l.jsx)(dl,{label:"S",values:k,selected:g,onChange:A=>j("seconds",A)})]})]})})]})}function dl({label:e,values:t,selected:n,onChange:r}){const s=(0,p.useRef)(new Map);return(0,p.useEffect)(()=>{const a=s.current.get(n);a&&a.scrollIntoView({block:"center",behavior:"auto"})},[n]),(0,l.jsxs)("div",{className:"flex flex-col",children:[(0,l.jsx)("div",{className:"px-3 py-2 text-xs font-medium text-muted-foreground text-center border-b",children:e}),(0,l.jsx)(oC,{className:"h-[224px]",children:(0,l.jsx)("div",{className:"flex flex-col p-1",children:t.map(a=>(0,l.jsx)("button",{ref:o=>{o&&s.current.set(a,o)},type:"button",onClick:()=>r(a),className:G("w-10 h-8 text-sm rounded-md hover:bg-accent flex items-center justify-center",n===a&&"bg-primary text-primary-foreground hover:bg-primary"),children:a.toString().padStart(2,"0")},a))})})]})}function Pg(e,t,n){try{return e(t)}catch(r){return pC("[nuqs] Error while parsing value `%s`: %O"+(n?" (for key `%s`)":""),t,r,n),null}}function Pn(e){function t(n){if(typeof n>"u")return null;let r="";if(Array.isArray(n)){if(n[0]===void 0)return null;r=n[0]}return typeof n=="string"&&(r=n),Pg(e.parse,r)}return{type:"single",eq:(n,r)=>n===r,...e,parseServerSide:t,withDefault(n){return{...this,defaultValue:n,parseServerSide(r){return t(r)??n}}},withOptions(n){return{...this,...n}}}}var GV=Pn({parse:e=>e,serialize:String}),JV=Pn({parse:e=>{const t=parseInt(e);return t==t?t:null},serialize:e=>""+Math.round(e)}),QV=Pn({parse:e=>{const t=parseInt(e);return t==t?t-1:null},serialize:e=>""+Math.round(e+1)}),XV=Pn({parse:e=>{const t=parseInt(e,16);return t==t?t:null},serialize:e=>{const t=Math.round(e).toString(16);return(t.length&1?"0":"")+t}}),ZV=Pn({parse:e=>{const t=parseFloat(e);return t==t?t:null},serialize:String}),eB=Pn({parse:e=>e.toLowerCase()==="true",serialize:String});function _u(e,t){return e.valueOf()===t.valueOf()}var tB=Pn({parse:e=>{const t=parseInt(e);return t==t?new Date(t):null},serialize:e=>""+e.valueOf(),eq:_u}),nB=Pn({parse:e=>{const t=new Date(e);return t.valueOf()==t.valueOf()?t:null},serialize:e=>e.toISOString(),eq:_u}),rB=Pn({parse:e=>{const t=new Date(e.slice(0,10));return t.valueOf()==t.valueOf()?t:null},serialize:e=>e.toISOString().slice(0,10),eq:_u});function ws(e){return Pn({parse:t=>{try{const n=JSON.parse(t);if("~standard"in e){const r=e["~standard"].validate(n);if(r instanceof Promise)throw new Error("[nuqs] Only synchronous Standard Schemas are supported in parseAsJson.");return r.issues?null:r.value}return e(n)}catch{return null}},serialize:t=>JSON.stringify(t),eq(t,n){return t===n||JSON.stringify(t)===JSON.stringify(n)}})}var fl=iu(),xT={};function bT(e,t={}){const n=(0,p.useId)(),r=CC(),s=NC(),{history:a="replace",scroll:o=r?.scroll??!1,shallow:i=r?.shallow??!0,throttleMs:c=fa.timeMs,limitUrlUpdates:u=r?.limitUrlUpdates,clearOnDefault:d=r?.clearOnDefault??!0,startTransition:f,urlKeys:h=xT}=t,m=Object.keys(e).join(","),v=(0,p.useMemo)(()=>Object.fromEntries(Object.keys(e).map(E=>[E,h[E]??E])),[m,JSON.stringify(h)]),S=SC(Object.values(v)),b=S.searchParams,N=(0,p.useRef)({}),w=(0,p.useMemo)(()=>Object.fromEntries(Object.keys(e).map(E=>[E,e[E].defaultValue??null])),[Object.values(e).map(({defaultValue:E})=>E).join(",")]),y=Hi.useQueuedQueries(Object.values(v)),[g,x]=(0,p.useState)(()=>hl(e,h,b??new URLSearchParams,y).state),C=(0,p.useRef)(g);if(Ge("[nuq+ %s `%s`] render - state: %O, iSP: %s",n,m,g,b),Object.keys(N.current).join("&")!==Object.values(v).join("&")){const{state:E,hasChanged:R}=hl(e,h,b,y,N.current,C.current);R&&(Ge("[nuq+ %s `%s`] State changed: %O",n,m,{state:E,initialSearchParams:b,queuedQueries:y,queryRef:N.current,stateRef:C.current}),C.current=E,x(E)),N.current=Object.fromEntries(Object.entries(v).map(([O,k])=>[k,e[O]?.type==="multi"?b?.getAll(k):b?.get(k)??null]))}(0,p.useEffect)(()=>{const{state:E,hasChanged:R}=hl(e,h,b,y,N.current,C.current);R&&(Ge("[nuq+ %s `%s`] State changed: %O",n,m,{state:E,initialSearchParams:b,queuedQueries:y,queryRef:N.current,stateRef:C.current}),C.current=E,x(E))},[Object.values(v).map(E=>`${E}=${b?.getAll(E)}`).join("&"),JSON.stringify(y)]),(0,p.useEffect)(()=>{const E=Object.keys(e).reduce((R,O)=>(R[O]=({state:k,query:_})=>{x(A=>{const{defaultValue:I}=e[O],T=v[O],M=k??I??null,P=A[O]??I??null;return Object.is(P,M)?(Ge("[nuq+ %s `%s`] Cross-hook key sync %s: %O (default: %O). no change, skipping, resolved: %O",n,m,T,k,I,C.current),A):(C.current={...C.current,[O]:M},N.current[T]=_,Ge("[nuq+ %s `%s`] Cross-hook key sync %s: %O (default: %O). updateInternalState, resolved: %O",n,m,T,k,I,C.current),C.current)})},R),{});for(const R of Object.keys(e)){const O=v[R];Ge("[nuq+ %s `%s`] Subscribing to sync for `%s`",n,O,m),fl.on(O,E[R])}return()=>{for(const R of Object.keys(e)){const O=v[R];Ge("[nuq+ %s `%s`] Unsubscribing to sync for `%s`",n,O,m),fl.off(O,E[R])}}},[m,v]);const j=(0,p.useCallback)((E,R={})=>{const O=Object.fromEntries(Object.keys(e).map(P=>[P,null])),k=typeof E=="function"?E(Sf(C.current,w))??O:E??O;Ge("[nuq+ %s `%s`] setState: %O",n,m,k);let _,A=0,I=!1;const T=[];for(let[P,V]of Object.entries(k)){const L=e[P],B=v[P];if(!L||V===void 0)continue;(R.clearOnDefault??L.clearOnDefault??d)&&V!==null&&L.defaultValue!==void 0&&(L.eq??((K,H)=>K===H))(V,L.defaultValue)&&(V=null);const q=V===null?null:(L.serialize??String)(V);fl.emit(B,{state:V,query:q});const F={key:B,query:q,options:{history:R.history??L.history??a,shallow:R.shallow??L.shallow??i,scroll:R.scroll??L.scroll??o,startTransition:R.startTransition??L.startTransition??f}};if(R?.limitUrlUpdates?.method==="debounce"||u?.method==="debounce"||L.limitUrlUpdates?.method==="debounce"){F.options.shallow===!0&&console.warn(_a(422));const K=R?.limitUrlUpdates?.timeMs??u?.timeMs??L.limitUrlUpdates?.timeMs??fa.timeMs,H=Hi.push(F,K,S,s);A<K&&(_=H,A=K)}else{const K=R?.limitUrlUpdates?.timeMs??L?.limitUrlUpdates?.timeMs??u?.timeMs??R.throttleMs??L.throttleMs??c;T.push(Hi.abort(B)),po.push(F,K),I=!0}}const M=T.reduce((P,V)=>V(P),I?po.flush(S,s):po.getPendingPromise(S));return _??M},[m,a,i,o,c,u?.method,u?.timeMs,f,v,S.updateUrl,S.getSearchParamsSnapshot,S.rateLimitFactor,s,w]);return[(0,p.useMemo)(()=>Sf(g,w),[g,w]),j]}function hl(e,t,n,r,s,a){let o=!1;const i=Object.entries(e).reduce((c,[u,d])=>{const f=t?.[u]??u,h=r[f],m=d.type==="multi"?[]:null,v=h===void 0?(d.type==="multi"?n?.getAll(f):n?.get(f))??m:h;return s&&a&&xp(s[f]??m,v)?(c[u]=a[u]??null,c):(o=!0,c[u]=(jC(v)?null:Pg(d.parse,v,f))??null,s&&(s[f]=v),c)},{});if(!o){const c=Object.keys(e),u=Object.keys(a??{});o=c.length!==u.length||c.some(d=>!u.includes(d))}return{state:i,hasChanged:o}}function Sf(e,t){return Object.fromEntries(Object.keys(e).map(n=>[n,e[n]??t[n]??null]))}function Ce(e,t={}){const{parse:n,type:r,serialize:s,eq:a,defaultValue:o,...i}=t,[{[e]:c},u]=bT({[e]:{parse:n??(d=>d),type:r,serialize:s,eq:a,defaultValue:o}},i);return[c,(0,p.useCallback)((d,f={})=>u(h=>({[e]:typeof d=="function"?d(h[e]):d}),f),[e,u])]}var Lg=dr()(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})})),Ya=e=>String(e).padStart(2,"0"),ml=e=>`${e.getFullYear()}-${Ya(e.getMonth()+1)}-${Ya(e.getDate())}T${Ya(e.getHours())}:${Ya(e.getMinutes())}`,Fg=({columnName:e,dataTypeLabel:t,columnDefault:n,enumValues:r,isForeignKey:s,referencedTable:a,referencedColumn:o,hideLabel:i=!1})=>{const[,c]=Ce(me.REFERENCED_TABLE_STATE_KEYS.ACTIVE_TABLE),{control:u}=lt(),{openOverlay:d}=Oe(),{setRecordReference:f}=Lg(),h=m=>{const v={...m,value:m.value??""},S=i?e:void 0;if(s)return(0,l.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,l.jsxs)("div",{className:"flex",children:[(0,l.jsx)(ot,{id:e,"aria-label":S,placeholder:n??"",className:"-me-px flex-1 rounded-e-none shadow-none focus-visible:z-10",...v}),(0,l.jsx)(Vs,{delayDuration:0,children:(0,l.jsxs)(jn,{children:[(0,l.jsx)(En,{asChild:!0,children:(0,l.jsx)("button",{"aria-label":"Go to table",className:"inline-flex w-9 items-center justify-center rounded-e-md border border-input bg-background text-muted-foreground/80 text-sm outline-none transition-[color,box-shadow] hover:text-accent-foreground focus:z-10 focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",type:"button",onClick:()=>{a&&e&&o&&f(a,e,o),d("records.record-reference"),c(a)},children:(0,l.jsx)(Qo,{"aria-hidden":"true",className:"size-4",size:16})})}),(0,l.jsx)(In,{className:"px-2 py-1 text-xs",children:"Go to table"})]})})]}),(0,l.jsxs)("span",{className:"text-xs text-muted-foreground",children:["Has a foreign key relation to"," ",(0,l.jsx)("button",{type:"button",className:"font-mono text-primary",onClick:()=>{a&&e&&o&&f(a,e,o),d("records.record-reference"),c(a)},children:a})," ","table"]})]});if(t==="int"||t==="bigint"||t==="smallint"||t==="numeric"||t==="float"||t==="double"||t==="money")return(0,l.jsx)(ot,{id:e,"aria-label":S,type:"number",placeholder:n??"0",...v});if(t==="boolean")return(0,l.jsxs)(Nt,{value:m.value,onValueChange:b=>m.onChange(b),children:[(0,l.jsx)(St,{"aria-label":S,className:"w-full",children:(0,l.jsx)(wt,{placeholder:n??"true"})}),(0,l.jsxs)(Ct,{children:[(0,l.jsx)(Se,{value:"true",children:"true"}),(0,l.jsx)(Se,{value:"false",children:"false"})]})]});if(t==="text"||t==="xml")return(0,l.jsx)(Wn,{id:e,"aria-label":S,placeholder:n??"",rows:4,...v});if(t==="json"||t==="jsonb")return(0,l.jsx)(Wn,{id:e,"aria-label":S,placeholder:n??'{"key": "value"}',rows:6,...v});if(t==="date")return n?.toLowerCase().includes("current_date")||n?.toLowerCase().includes("now()")||n?.toLowerCase().includes("curdate()")?(0,l.jsxs)("div",{className:"flex",children:[(0,l.jsx)(Sr,{value:m.value?new Date(m.value):m.value===""?null:void 0,onChange:b=>m.onChange(b?b.toISOString().split("T")[0]:""),placeholder:n??"Select a date",className:"-me-px flex-1 rounded-e-none shadow-none focus-visible:z-10"}),(0,l.jsx)(Vs,{delayDuration:0,children:(0,l.jsxs)(jn,{children:[(0,l.jsx)(En,{asChild:!0,children:(0,l.jsx)("button",{"aria-label":"Set to now",className:"inline-flex w-7 items-center justify-center rounded-e-md border border-input bg-background text-muted-foreground/80 text-sm outline-none transition-[color,box-shadow] hover:text-accent-foreground focus:z-10 focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",type:"button",onClick:()=>{const b=new Date().toISOString().split("T")[0];m.onChange(b)},children:(0,l.jsx)(Bi,{"aria-hidden":"true",className:"size-4",size:16})})}),(0,l.jsx)(In,{className:"px-2 py-1 text-xs",children:"Set to now"})]})})]}):(0,l.jsx)(Sr,{value:m.value?new Date(m.value):m.value===""?null:void 0,onChange:b=>m.onChange(b?b.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,l.jsxs)("div",{className:"flex",children:[(0,l.jsx)(Sr,{value:m.value?new Date(m.value):m.value===""?null:void 0,onChange:b=>m.onChange(b?b.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,l.jsx)(Vs,{delayDuration:0,children:(0,l.jsxs)(jn,{children:[(0,l.jsx)(En,{asChild:!0,children:(0,l.jsx)("button",{"aria-label":"Set to now",className:"inline-flex w-7 items-center justify-center rounded-e-md border border-input bg-background text-muted-foreground/80 text-sm outline-none transition-[color,box-shadow] hover:text-accent-foreground focus:z-10 focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",type:"button",onClick:()=>{const b=new Date().toISOString();m.onChange(b)},children:(0,l.jsx)(Bi,{"aria-hidden":"true",className:"size-4",size:16})})}),(0,l.jsx)(In,{className:"px-2 py-1 text-xs",children:"Set to now"})]})})]}):(0,l.jsx)(Sr,{value:m.value?new Date(m.value):m.value===""?null:void 0,onChange:b=>m.onChange(b?b.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,l.jsxs)("div",{className:"flex",children:[(0,l.jsx)(Sr,{value:m.value?new Date(m.value):m.value===""?null:void 0,onChange:b=>m.onChange(b?ml(b):""),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,l.jsx)(Vs,{delayDuration:0,children:(0,l.jsxs)(jn,{children:[(0,l.jsx)(En,{asChild:!0,children:(0,l.jsx)("button",{"aria-label":"Set to now",className:"inline-flex w-7 items-center justify-center rounded-e-md border border-input bg-background text-muted-foreground/80 text-sm outline-none transition-[color,box-shadow] hover:text-accent-foreground focus:z-10 focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",type:"button",onClick:()=>{m.onChange(ml(new Date))},children:(0,l.jsx)(Bi,{"aria-hidden":"true",className:"size-4",size:16})})}),(0,l.jsx)(In,{className:"px-2 py-1 text-xs",children:"Set to now"})]})})]}):(0,l.jsx)(Sr,{value:m.value?new Date(m.value):m.value===""?null:void 0,onChange:b=>m.onChange(b?ml(b):""),showTime:!0,isFormatted:!1,placeholder:n??"Select a date and time"});if(t==="uuid")return(0,l.jsxs)("div",{className:"flex",children:[(0,l.jsx)(ot,{id:e,"aria-label":S,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",...v}),(0,l.jsx)(Vs,{delayDuration:0,children:(0,l.jsxs)(jn,{children:[(0,l.jsx)(En,{asChild:!0,children:(0,l.jsx)("button",{"aria-label":"Generate UUID",className:"inline-flex w-9 items-center justify-center rounded-e-md border border-input bg-background text-muted-foreground/80 text-sm outline-none transition-[color,box-shadow] hover:text-accent-foreground focus:z-10 focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",type:"button",onClick:()=>{const b=crypto.randomUUID();m.onChange(b)},children:(0,l.jsx)(Kc,{"aria-hidden":"true",className:"size-4",size:16})})}),(0,l.jsx)(In,{className:"px-2 py-1 text-xs",children:"Generate UUID"})]})})]});if(t==="array")return(0,l.jsx)(Wn,{id:e,"aria-label":S,placeholder:n??'["item1", "item2"]',rows:3,...v});if(t==="enum")return r&&r.length>0?(0,l.jsxs)(Nt,{value:m.value,onValueChange:b=>m.onChange(b),children:[(0,l.jsx)(St,{"aria-label":S,className:"w-full",children:(0,l.jsx)(wt,{placeholder:n??"Select a value"})}),(0,l.jsx)(Ct,{children:r.map(b=>(0,l.jsx)(Se,{value:b,children:b},b))})]}):(0,l.jsx)(ot,{id:e,"aria-label":S,placeholder:n??"",...v});if(t==="interval")return(0,l.jsx)(ot,{id:e,"aria-label":S,type:"text",placeholder:n??"1 day",...v});if(t==="bytea"){const{value:b,...N}=v,w=typeof b=="string"?b:"";return(0,l.jsxs)("div",{className:"flex flex-col gap-2",children:[w&&(0,l.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:w}),(0,l.jsx)(ot,{id:e,"aria-label":S,type:"file",...N})]})}return t==="inet"||t==="cidr"||t==="macaddr"||t==="macaddr8"?(0,l.jsx)(ot,{id:e,"aria-label":S,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",...v}):t==="point"||t==="line"||t==="polygon"?(0,l.jsx)(ot,{id:e,"aria-label":S,type:"text",placeholder:t==="point"?"(x,y)":t==="line"?"{A,B,C}":"((x1,y1),(x2,y2),...)",...v}):(0,l.jsx)(ot,{id:e,"aria-label":S,type:"text",placeholder:n??"",...v})};return(0,l.jsx)(Ht,{control:u,name:e,render:({field:m})=>i?(0,l.jsx)("div",{role:"group","aria-label":e,children:h(m)}):(0,l.jsxs)("div",{className:"grid grid-cols-3 gap-4",children:[(0,l.jsxs)("div",{className:"col-span-1 flex flex-col gap-1",children:[(0,l.jsx)(Ne,{htmlFor:e,children:e}),(0,l.jsx)("span",{className:"text-xs text-muted-foreground",children:t})]}),(0,l.jsx)("div",{className:"col-span-2 w-full",children:h(m)})]})},e)},wT=({tableName:e,schemaName:t})=>{const n=At(),{closeOverlay:r}=Oe(),{selectedDatabase:s,dbType:a}=Ue(),{mutateAsync:o,isPending:i}=It({mutationFn:async u=>(await LS({tableName:e,schemaName:t,data:u,db:s})).data.data,onSuccess:async()=>{await Promise.all([n.invalidateQueries({queryKey:Me.dataByTable(e),exact:!1}),n.invalidateQueries({queryKey:Me.lists()})]),r("records.add-record"),a&&_n.capture("record_created",{db_type:a})}});return{createRecord:async(u,d)=>{if(!u||Object.keys(u).length===0)throw new Error("At least one field is required");return Be.promise(o(u,d),{loading:"Creating record...",success:f=>f||"Record created successfully",error:f=>f.detail||f.message||"Failed to create record"})},isCreatingRecord:i}};function ST({className:e,...t}){return(0,l.jsx)("div",{"data-slot":"table-container",className:"relative w-full overflow-x-auto",children:(0,l.jsx)("table",{"data-slot":"table",className:G("w-full caption-bottom text-xs",e),...t})})}function CT({className:e,...t}){return(0,l.jsx)("thead",{"data-slot":"table-header",className:G("[&_tr]:border-b",e),...t})}function NT({className:e,...t}){return(0,l.jsx)("tbody",{"data-slot":"table-body",className:G("[&_tr:last-child]:border-0",e),...t})}function pl({className:e,...t}){return(0,l.jsx)("tr",{"data-slot":"table-row",className:G("hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",e),...t})}function ET({className:e,...t}){return(0,l.jsx)("th",{"data-slot":"table-head",className:G("text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0",e),...t})}function Cf({className:e,...t}){return(0,l.jsx)("td",{"data-slot":"table-cell",className:G("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0",e),...t})}var gi=({tableName:e,schemaName:t,isReferencedTable:n=!1})=>{const{selectedDatabase:r}=Ue(),[s]=Ce(me.REFERENCED_TABLE_STATE_KEYS.ACTIVE_TABLE),a=e||s||"",[o]=Ce(n?me.REFERENCED_TABLE_STATE_KEYS.CURSOR:me.TABLE_STATE_KEYS.CURSOR),[i]=Ce(n?me.REFERENCED_TABLE_STATE_KEYS.LIMIT.toString():me.TABLE_STATE_KEYS.LIMIT),[c]=Ce(n?me.REFERENCED_TABLE_STATE_KEYS.DIRECTION:me.TABLE_STATE_KEYS.DIRECTION),[u]=Ce(me.REFERENCED_TABLE_STATE_KEYS.SORT,ws(C=>C).withDefault([]).withOptions({history:"push"})),[d]=Ce(me.TABLE_STATE_KEYS.SORT),[f]=Ce(me.TABLE_STATE_KEYS.ORDER),[h]=Ce(n?me.REFERENCED_TABLE_STATE_KEYS.FILTERS:me.TABLE_STATE_KEYS.FILTERS,ws(C=>C).withDefault([]).withOptions({history:"push"})),m={tableName:a,cursor:o,limit:i,direction:c,sort:n&&u?.length>0?JSON.stringify(u):d,order:f,filters:h?.length>0?JSON.stringify(h):void 0,db:r,schemaName:t},v=C=>JS({tableName:C.tableName,schemaName:C.schemaName,limit:C.limit?.toString()||me.CACHE_KEYS.TABLE_DEFAULT_LIMIT.toString(),db:C.db??void 0,cursor:C.cursor,direction:C.direction,sort:C.sort??void 0,order:C.order,filters:C.filters}),{data:S,isLoading:b,isRefetching:N,refetch:w,error:y}=Yn({queryKey:Me.data(m),queryFn:()=>v(m),select:C=>C.data.data,enabled:!!a}),g=At();return{tableData:S,prefetchPage:(C,j)=>{const E={...m,cursor:C,direction:j};g.prefetchQuery({queryKey:Me.data(E),queryFn:()=>v(E)})},pageKey:JSON.stringify(Me.data(m)),isLoadingTableData:b,isRefetchingTableData:N,errorTableData:y,refetchTableData:w}},IT=({tableName:e})=>{const[t,n]=Ce(me.REFERENCED_TABLE_STATE_KEYS.FILTERS,ws(y=>y).withDefault([]).withOptions({history:"push"})),[,r]=Ce(me.REFERENCED_TABLE_STATE_KEYS.CURSOR),[,s]=Ce(me.REFERENCED_TABLE_STATE_KEYS.DIRECTION),{tableCols:a}=jt({tableName:e,schemaName:Je()}),[o,i]=(0,p.useState)(!1),[c,u]=(0,p.useState)([]),d=()=>{const y=a?.[0]?.columnName??"";u(g=>[...g,{columnName:y,operator:"=",value:""}])},f=y=>{u(c.filter((g,x)=>x!==y))},h=(y,g)=>{u(c.map((x,C)=>C===y?{...x,columnName:g}:x))},m=(y,g)=>{u(c.map((x,C)=>C===y?{...x,value:g}:x))},v=(y,g)=>{u(c.map((x,C)=>C===y?{...x,operator:g}:x))},S=()=>{u([]),n([]),r(null),s(null),i(!1)},b=()=>{const y=c.filter(g=>g.columnName&&g.operator&&g.value!=="");n(y),r(null),s(null),i(!1)},N=t.length>0,w=y=>{y&&u(t),i(y)};return(0,l.jsxs)(fr,{modal:!0,open:o,onOpenChange:w,children:[(0,l.jsx)(ts,{asChild:!0,children:(0,l.jsxs)(te,{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,l.jsx)(Zm,{className:"size-4"}),"Filter",N&&(0,l.jsx)(ht,{className:"text-[10px] font-normal text-primary bg-primary/10 border border-primary/30 px-1.5 py-0.5",children:t.length})]})}),(0,l.jsxs)(Mn,{className:"w-md space-y-2",align:"start",children:[(0,l.jsx)("div",{className:"flex items-center gap-4",children:(0,l.jsxs)(te,{variant:"outline",size:"lg",className:"text-sm",onClick:d,children:["Add filter",c&&c.length>0&&(0,l.jsx)(ht,{className:"text-xs font-normal text-primary bg-primary/10 border border-primary/30 px-1.5 py-0.5",children:c.length})]})}),(0,l.jsx)("div",{className:"flex flex-col gap-4",children:c.length>0?c.map((y,g)=>(0,l.jsxs)("div",{className:"flex-1 flex h-9 gap-2",children:[(0,l.jsxs)(Nt,{value:y.columnName,onValueChange:x=>h(g,x),children:[(0,l.jsx)(St,{className:"w-full flex-1",children:(0,l.jsx)(wt,{placeholder:"Select column"})}),(0,l.jsx)(Ct,{children:a?.map(x=>(0,l.jsx)(Se,{value:x.columnName,children:x.columnName},x.columnName))})]}),(0,l.jsxs)(Nt,{value:y.operator,onValueChange:x=>v(g,x),children:[(0,l.jsx)(St,{children:(0,l.jsx)(wt,{placeholder:"Op"})}),(0,l.jsxs)(Ct,{children:[(0,l.jsx)(Se,{value:"=",children:"="}),(0,l.jsx)(Se,{value:"!=",children:"!="}),(0,l.jsx)(Se,{value:">",children:">"}),(0,l.jsx)(Se,{value:">=",children:">="}),(0,l.jsx)(Se,{value:"<",children:"<"}),(0,l.jsx)(Se,{value:"<=",children:"<="}),(0,l.jsx)(Se,{value:"is",children:"is"}),(0,l.jsx)(Se,{value:"is not",children:"is not"}),(0,l.jsx)(Se,{value:"like",children:"like"}),(0,l.jsx)(Se,{value:"not like",children:"not like"}),(0,l.jsx)(Se,{value:"ilike",children:"ilike"}),(0,l.jsx)(Se,{value:"not ilike",children:"not ilike"})]})]}),(0,l.jsx)(ot,{type:"text",placeholder:"Value",value:y.value,onChange:x=>m(g,x.target.value)}),(0,l.jsx)(te,{variant:"ghost",size:"icon",className:"text-xs",onClick:()=>f(g),children:(0,l.jsx)(_s,{className:"size-4"})})]},`${y.columnName}-${g}`)):(0,l.jsx)("div",{className:"flex-1 flex h-9 gap-2 items-center justify-center",children:(0,l.jsx)("p",{className:"text-sm text-muted-foreground text-center",children:"No filters applied"})})}),(0,l.jsxs)("div",{className:"gap-2 flex justify-end",children:[(0,l.jsx)(te,{variant:"outline",size:"lg",className:"text-sm",onClick:S,children:"Reset"}),(0,l.jsx)(te,{variant:"default",size:"lg",className:"text-sm",onClick:b,children:"Apply"})]})]})]})},jT=({tableName:e})=>{const{tableCols:t}=jt({tableName:e,schemaName:Je()}),[n,r]=Ce(me.REFERENCED_TABLE_STATE_KEYS.SORT,ws(w=>w).withDefault([]).withOptions({history:"push"})),[,s]=Ce(me.REFERENCED_TABLE_STATE_KEYS.CURSOR),[,a]=Ce(me.REFERENCED_TABLE_STATE_KEYS.DIRECTION),[o,i]=(0,p.useState)(!1),[c,u]=(0,p.useState)([]),d=()=>{const w=t?.[0]?.columnName??"";u(y=>[...y,{columnName:w,direction:"asc"}])},f=w=>{u(c.filter((y,g)=>g!==w))},h=(w,y)=>{u(c.map((g,x)=>x===w?{...g,columnName:y}:g))},m=(w,y)=>{u(c.map((g,x)=>x===w?{...g,direction:y}:g))},v=()=>{u([]),r([]),s(null),a(null),i(!1)},S=()=>{const w=c.filter(y=>y.columnName);r(w),s(null),a(null),i(!1)},b=n.length>0,N=w=>{w&&u(n),i(w)};return(0,l.jsxs)(fr,{modal:!0,open:o,onOpenChange:N,children:[(0,l.jsx)(ts,{asChild:!0,children:(0,l.jsxs)(te,{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,l.jsx)(kw,{className:"size-4"}),"Sort",b&&(0,l.jsx)(ht,{className:"text-[10px] font-normal text-primary bg-primary/10 border border-primary/30 px-1.5 py-0.5",children:n.length})]})}),(0,l.jsxs)(Mn,{className:"w-md space-y-2",align:"start",children:[(0,l.jsx)("div",{className:"flex items-center gap-4",children:(0,l.jsxs)(te,{variant:"outline",size:"lg",className:"text-sm",onClick:d,children:["Add sort",c&&c.length>0&&(0,l.jsx)(ht,{className:"text-xs font-normal text-primary bg-primary/10 border border-primary/30 px-1.5 py-0.5",children:c.length})]})}),(0,l.jsx)("div",{className:"flex flex-col gap-4",children:c.length>0?c.map((w,y)=>(0,l.jsxs)("div",{className:"flex-1 flex h-9 gap-2 items-center",children:[(0,l.jsxs)(Nt,{value:w.columnName,onValueChange:g=>h(y,g),children:[(0,l.jsx)(St,{className:"w-full flex-1",children:(0,l.jsx)(wt,{placeholder:"Select column"})}),(0,l.jsx)(Ct,{children:t?.map(g=>(0,l.jsx)(Se,{value:g.columnName,children:g.columnName},g.columnName))})]}),(0,l.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,l.jsx)(Ne,{htmlFor:`sort-direction-${y}`,children:"Asc"}),(0,l.jsx)(au,{id:`sort-direction-${y}`,checked:w.direction==="desc",onCheckedChange:g=>m(y,g?"desc":"asc")}),(0,l.jsx)(Ne,{htmlFor:`sort-direction-${y}`,children:"Desc"})]}),(0,l.jsx)(te,{variant:"ghost",size:"icon",className:"text-xs",onClick:()=>f(y),children:(0,l.jsx)(_s,{className:"size-4"})})]},`${w.columnName}-${y}`)):(0,l.jsx)("div",{className:"flex-1 flex h-9 gap-2 items-center justify-center",children:(0,l.jsx)("p",{className:"text-sm text-muted-foreground text-center",children:"No sorts applied"})})}),(0,l.jsxs)("div",{className:"gap-2 flex justify-end",children:[(0,l.jsx)(te,{variant:"outline",size:"lg",className:"text-sm",onClick:v,children:"Reset"}),(0,l.jsx)(te,{variant:"default",size:"lg",className:"text-sm",onClick:S,children:"Apply"})]})]})]})},TT=({tableName:e,referencedColumn:t,columnName:n})=>{const{setValue:r}=lt(),{closeOverlay:s}=Oe(),a=Je(),{tableCols:o,isLoadingTableCols:i}=jt({tableName:e,schemaName:a}),[c,u]=Ce(me.REFERENCED_TABLE_STATE_KEYS.ACTIVE_TABLE),{tableData:d,isLoadingTableData:f}=gi({tableName:e,schemaName:a,isReferencedTable:!0}),[,h]=Ce(me.REFERENCED_TABLE_STATE_KEYS.CURSOR),[,m]=Ce(me.REFERENCED_TABLE_STATE_KEYS.DIRECTION),[v,S]=Ce(me.REFERENCED_TABLE_STATE_KEYS.LIMIT.toString());(0,p.useEffect)(()=>{e&&c!==e&&u(e),e&&!v&&S(me.REFERENCED_TABLE_STATE_KEYS.DEFAULT_LIMIT.toString())},[e,c,v,u,S]);const b=()=>{d?.meta?.nextCursor&&(h(d.meta.nextCursor),m("forward"))},N=()=>{d?.meta?.prevCursor&&(h(d.meta.prevCursor),m("backward"))},w=(0,p.useMemo)(()=>o?.map(x=>({id:x.columnName,accessorKey:x.columnName,header:x.columnName,cell:({row:C})=>(0,l.jsx)("div",{className:"font-medium max-w-[200px] truncate",children:An(C.getValue(x.columnName))})}))??[],[o]),y=qc({columns:w??[],data:d?.data??[],getCoreRowModel:Hc()}),g=x=>{r(n??"",x.original[t??""]),s("records.record-reference")};return i||f?(0,l.jsx)("div",{className:"flex items-center justify-center h-full",children:(0,l.jsx)(As,{size:"size-8"})}):(0,l.jsxs)("div",{children:[(0,l.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,l.jsxs)("div",{className:"flex items-center h-full",children:[(0,l.jsx)(IT,{tableName:e}),(0,l.jsx)(jT,{tableName:e})]}),(0,l.jsxs)("div",{className:"flex items-center h-full",children:[(0,l.jsx)(te,{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,l.jsx)(zw,{className:"size-3"})}),(0,l.jsx)(te,{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:b,disabled:!d?.meta?.hasNextPage,children:(0,l.jsx)(So,{className:"size-3"})})]})]}),(0,l.jsxs)(ST,{children:[(0,l.jsx)(CT,{children:y.getHeaderGroups().map(x=>(0,l.jsx)(pl,{className:"hover:bg-transparent text-xs sticky top-0 right-0 left-0 supports-backdrop-filter:backdrop-blur-sm",children:x.headers.map(C=>(0,l.jsx)(ET,{className:"border-r border-border",children:C.isPlaceholder?null:$r(C.column.columnDef.header,C.getContext())},C.id))},x.id))}),(0,l.jsx)(NT,{children:y.getRowModel().rows?.length?y.getRowModel().rows.map(x=>(0,l.jsx)(pl,{className:"text-xs cursor-pointer",onClick:()=>g(x),children:x.getVisibleCells().map(C=>(0,l.jsx)(Cf,{className:"border-r border-border",children:$r(C.column.columnDef.cell,C.getContext())},C.id))},x.id)):(0,l.jsx)(pl,{children:(0,l.jsx)(Cf,{className:"h-24 text-center",colSpan:w.length,children:"No results."})})})]})]})},$g=()=>{const{closeOverlay:e,isOverlayOpen:t}=Oe(),{tableName:n,referencedColumn:r,columnName:s,clearRecordReference:a}=Lg(),[,o]=Ce(me.REFERENCED_TABLE_STATE_KEYS.ACTIVE_TABLE),[,i]=Ce(me.REFERENCED_TABLE_STATE_KEYS.CURSOR),[,c]=Ce(me.REFERENCED_TABLE_STATE_KEYS.DIRECTION),[,u]=Ce(me.REFERENCED_TABLE_STATE_KEYS.LIMIT.toString()),[,d]=Ce(me.REFERENCED_TABLE_STATE_KEYS.SORT.toString()),[,f]=Ce(me.REFERENCED_TABLE_STATE_KEYS.ORDER.toString()),[,h]=Ce(me.REFERENCED_TABLE_STATE_KEYS.FILTERS,ws(v=>v).withDefault([]).withOptions({history:"push"}));if(!n||!r)return null;const m=()=>{e("records.record-reference"),a(),o(null),i(null),c(null),u(null),d(null),f(null),h(null)};return(0,l.jsx)(nn,{title:`View records in the table ${n}`,size:"max-w-lg!",contentClassName:"p-0",open:t("records.record-reference"),onOpenChange:v=>{v||m()},children:(0,l.jsx)(TT,{tableName:n,referencedColumn:r,columnName:s??""})})},RT=({tableName:e})=>{const{closeOverlay:t,isOverlayOpen:n}=Oe(),r=Je(),{tableCols:s,isLoadingTableCols:a}=jt({tableName:e,schemaName:r}),{createRecord:o,isCreatingRecord:i}=wT({tableName:e,schemaName:r}),c=Os(),u=async h=>{o(h,{onSuccess:()=>{c.reset(),t("records.add-record")},onError:m=>{console.error("Failed to create record:",m)}})},d=()=>{c.reset(),t("records.add-record")},f=()=>s&&s.length>0?(0,l.jsxs)(Ms,{...c,children:[(0,l.jsxs)("form",{onSubmit:c.handleSubmit(u),className:"flex flex-col h-full",children:[(0,l.jsx)("div",{className:"space-y-6",children:s&&s.length>0&&!a?s.map(h=>(0,l.jsx)(Fg,{...h},h.columnName)):null}),(0,l.jsxs)("div",{className:"flex justify-end gap-2 py-6",children:[(0,l.jsx)(ka,{asChild:!0,onClick:d,disabled:i,children:(0,l.jsx)(te,{variant:"outline",size:"lg",children:"Close"})}),(0,l.jsx)(te,{type:"submit",size:"lg",disabled:i||!c.formState.isDirty,children:"Save"})]})]}),(0,l.jsx)($g,{})]}):(0,l.jsx)("div",{className:"flex flex-col h-full",children:(0,l.jsx)("div",{className:"space-y-6",children:(0,l.jsx)(vt,{variant:"info",title:"No columns found",message:"Please add at least one column to the table before adding a record."})})});return(0,l.jsx)(nn,{title:`Add a new record to the table: ${e}`,open:n("records.add-record"),onOpenChange:h=>{h||d()},children:f()})},Au=NS,vi=({className:e,ref:t,...n})=>(0,l.jsx)(sp,{ref:t,className:G("inline-flex h-10 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground",e),...n});vi.displayName=sp.displayName;var Br=({className:e,ref:t,...n})=>(0,l.jsx)(rp,{ref:t,className:G("inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm",e),...n});Br.displayName=rp.displayName;var Ur=({className:e,ref:t,...n})=>(0,l.jsx)(ap,{ref:t,className:G("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",e),...n});Ur.displayName=ap.displayName;var Hr=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 kT(t)},kT=e=>{const t=e.split(`
4
- `).filter(o=>o.trim());if(t.length<1)throw new Error("No data to parse");const n=t[0],r=AT(n),s=Nf(n,r).map(o=>o.trim());if(s.length===0)throw new Error("No headers found in CSV");const a=[];for(let o=1;o<t.length;o++){const i=Nf(t[o],r);i.length!==s.length&&console.warn(`Row ${o+1} has ${i.length} values but ${s.length} headers expected`);const c={};s.forEach((u,d)=>{const f=i[d]?.trim()??"";c[u]=MT(f)}),a.push(c)}if(a.length===0)throw new Error("No records found in CSV");return a},_T={",":/,/g," ":/\t/g,";":/;/g},AT=e=>{const t=[","," ",";"];let n=0,r=",";for(const s of t){const a=(e.match(_T[s])||[]).length;a>n&&(n=a,r=s)}return r},Nf=(e,t)=>{const n=[];let r="",s=!1;for(let a=0;a<e.length;a++){const o=e[a],i=e[a+1];o==='"'?s&&i==='"'?(r+='"',a++):s=!s:o===t&&!s?(n.push(r),r=""):r+=o}return n.push(r),n},MT=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},yi=({tableName:e,schemaName:t})=>{const n=At(),{selectedDatabase:r,dbType:s}=Ue(),{mutateAsync:a,isPending:o}=It({mutationFn:async c=>(await FS({tableName:e,schemaName:t,records:c,db:r})).data.data,onSuccess:async()=>{await Promise.all([n.invalidateQueries({queryKey:Me.dataByTable(e),exact:!1}),n.invalidateQueries({queryKey:Me.lists(),exact:!1}),n.invalidateQueries({queryKey:Me.columnsByTable(e),exact:!1})])}});return{bulkInsertRecords:async(c,u)=>{if(!c||c.length===0)throw new Error("At least one record is required");return Be.promise(a(c),{loading:`Inserting ${c.length} record${c.length!==1?"s":""}...`,success:d=>(u?.onSuccess?.(d),s&&u?.format&&_n.capture("bulk_insert",{db_type:s,format:u.format}),d.failureCount>0?`${d.successCount} records inserted, ${d.failureCount} failed`:d.message),error:d=>(u?.onError?.(d),d.detail||d.message||"Failed to insert records")})},isInserting:o}},OT=({tableName:e})=>{const{closeOverlay:t,isOverlayOpen:n}=Oe(),{bulkInsertRecords:r,isInserting:s}=yi({tableName:e,schemaName:Je()}),a=(0,p.useRef)(null),[o,i]=(0,p.useState)(""),[c,u]=(0,p.useState)(null),[d,f]=(0,p.useState)([]),[h,m]=(0,p.useState)(null),[v,S]=(0,p.useState)("file"),b=g=>{const x=g.target.files?.[0];x&&(u(x),f([]),m(null))},N=(0,p.useCallback)(()=>{m(null),f([]);try{if(v==="file"&&c){const g=new FileReader;g.onload=x=>{try{const C=x.target?.result,j=Hr(C);f(j)}catch(C){m(C instanceof Error?C.message:"Failed to parse file")}},g.readAsText(c)}else if(o.trim()){const g=Hr(o);f(g)}else m(v==="file"?"No file selected":"Input is empty")}catch(g){m(g instanceof Error?g.message:"Failed to format data")}},[o,c,v]),w=async()=>{if(d.length===0){m("No records to insert");return}try{await r(d,{format:"csv",onSuccess:()=>{i(""),u(null),f([]),m(null),t("records.bulk-insert-csv")}})}catch(g){console.error("Error inserting records:",g)}},y=()=>{i(""),u(null),f([]),m(null),t("records.bulk-insert-csv")};return(0,l.jsx)(nn,{title:`Add data from CSV into: ${e}`,open:n("records.bulk-insert-csv"),onOpenChange:g=>{g||y()},children:(0,l.jsxs)("div",{className:"flex flex-col h-full gap-4",children:[(0,l.jsx)(vt,{variant:"info",title:"CSV Import",message:"Enter CSV data with headers. Supports comma, tab, or semicolon delimiters. First row should be column names."}),(0,l.jsxs)(Au,{value:v,onValueChange:g=>S(g),children:[(0,l.jsxs)(vi,{className:"grid w-full grid-cols-2",children:[(0,l.jsx)(Br,{value:"file",children:"File"}),(0,l.jsx)(Br,{value:"text",children:"Text"})]}),(0,l.jsx)(Ur,{value:"file",className:"flex-1 flex flex-col gap-4",children:(0,l.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,l.jsx)(Ne,{htmlFor:"file-input",className:"mb-2 text-sm font-medium text-foreground",children:"Select CSV file"}),(0,l.jsx)("input",{id:"file-input",ref:a,type:"file",accept:".csv",onChange:b,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,l.jsx)(Ur,{value:"text",className:"flex-1 flex flex-col gap-4",children:(0,l.jsxs)("div",{className:"flex-1 flex flex-col",children:[(0,l.jsx)(Ne,{htmlFor:"text-input",className:"text-sm font-medium mb-2 text-foreground",children:"Data Input"}),(0,l.jsx)(Wn,{id:"text-input",value:o,onChange:g=>{i(g.target.value),f([]),m(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,l.jsx)(vt,{variant:"error",title:"Parse Error",message:h}),d.length>0&&(0,l.jsx)(vt,{variant:"success",title:"Ready to Insert",message:`${d.length} record${d.length!==1?"s":""} parsed successfully`}),(0,l.jsxs)("div",{className:"flex justify-between gap-2",children:[(0,l.jsx)(te,{variant:"secondary",size:"lg",onClick:N,disabled:v==="file"?!c:!o.trim()||s,children:"Format"}),(0,l.jsxs)("div",{className:"flex gap-2",children:[(0,l.jsx)(ka,{asChild:!0,onClick:y,disabled:s,children:(0,l.jsx)(te,{variant:"outline",size:"lg",children:"Close"})}),(0,l.jsx)(te,{type:"button",size:"lg",onClick:w,disabled:d.length===0||s,children:s?"Inserting...":"Insert"})]})]})]})})},DT=({tableName:e})=>{const{closeOverlay:t,isOverlayOpen:n}=Oe(),{bulkInsertRecords:r,isInserting:s}=yi({tableName:e,schemaName:Je()}),a=(0,p.useRef)(null),[o,i]=(0,p.useState)(""),[c,u]=(0,p.useState)(null),[d,f]=(0,p.useState)([]),[h,m]=(0,p.useState)(null),[v,S]=(0,p.useState)("file"),b=g=>{const x=g.target.files?.[0];x&&(u(x),f([]),m(null))},N=(0,p.useCallback)(()=>{m(null),f([]);try{if(v==="file"&&c){const g=new FileReader;g.onload=x=>{try{const C=x.target?.result,j=Hr(C);f(j)}catch(C){m(C instanceof Error?C.message:"Failed to parse file")}},g.readAsText(c)}else if(o.trim()){const g=Hr(o);f(g)}else m(v==="file"?"No file selected":"Input is empty")}catch(g){m(g instanceof Error?g.message:"Failed to format data")}},[o,c,v]),w=async()=>{if(d.length===0){m("No records to insert");return}try{await r(d,{format:"excel",onSuccess:()=>{i(""),u(null),f([]),m(null),t("records.bulk-insert-excel")}})}catch(g){console.error("Error inserting records:",g)}},y=()=>{i(""),u(null),f([]),m(null),t("records.bulk-insert-excel")};return(0,l.jsx)(nn,{title:`Add data from Excel into: ${e}`,open:n("records.bulk-insert-excel"),onOpenChange:g=>{g||y()},children:(0,l.jsxs)("div",{className:"flex flex-col h-full gap-4",children:[(0,l.jsx)(vt,{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,l.jsxs)(Au,{value:v,onValueChange:g=>S(g),children:[(0,l.jsxs)(vi,{className:"grid w-full grid-cols-2",children:[(0,l.jsx)(Br,{value:"file",children:"File"}),(0,l.jsx)(Br,{value:"text",children:"Text"})]}),(0,l.jsx)(Ur,{value:"file",className:"flex-1 flex flex-col gap-4",children:(0,l.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,l.jsx)(Ne,{htmlFor:"file-input",className:"mb-2 text-sm font-medium text-foreground",children:"Select Excel file"}),(0,l.jsx)("input",{id:"file-input",ref:a,type:"file",accept:".xlsx,.xls",onChange:b,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,l.jsx)(Ur,{value:"text",className:"flex-1 flex flex-col gap-4",children:(0,l.jsxs)("div",{className:"flex-1 flex flex-col",children:[(0,l.jsx)(Ne,{htmlFor:"text-input",className:"mb-2 text-sm font-medium text-foreground",children:"Data Input"}),(0,l.jsx)(Wn,{id:"text-input",value:o,onChange:g=>{i(g.target.value),f([]),m(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,l.jsx)(vt,{variant:"error",title:"Parse Error",message:h}),d.length>0&&(0,l.jsx)(vt,{variant:"success",title:"Ready to Insert",message:`${d.length} record${d.length!==1?"s":""} parsed successfully`}),(0,l.jsxs)("div",{className:"flex justify-between gap-2",children:[(0,l.jsx)(te,{variant:"secondary",size:"lg",onClick:N,disabled:v==="file"?!c:!o.trim()||s,children:"Format"}),(0,l.jsxs)("div",{className:"flex gap-2",children:[(0,l.jsx)(ka,{asChild:!0,onClick:y,disabled:s,children:(0,l.jsx)(te,{variant:"outline",size:"lg",children:"Close"})}),(0,l.jsx)(te,{type:"button",size:"lg",onClick:w,disabled:d.length===0||s,children:s?"Inserting...":"Insert"})]})]})]})})},PT=({tableName:e})=>{const{closeOverlay:t,isOverlayOpen:n}=Oe(),{bulkInsertRecords:r,isInserting:s}=yi({tableName:e,schemaName:Je()}),a=(0,p.useRef)(null),[o,i]=(0,p.useState)(""),[c,u]=(0,p.useState)(null),[d,f]=(0,p.useState)([]),[h,m]=(0,p.useState)(null),[v,S]=(0,p.useState)("file"),b=g=>{const x=g.target.files?.[0];x&&(u(x),f([]),m(null))},N=(0,p.useCallback)(()=>{m(null),f([]);try{if(v==="file"&&c){const g=new FileReader;g.onload=x=>{try{const C=x.target?.result,j=Hr(C);f(j)}catch(C){m(C instanceof Error?C.message:"Failed to parse file")}},g.readAsText(c)}else if(o.trim()){const g=Hr(o);f(g)}else m(v==="file"?"No file selected":"Input is empty")}catch(g){m(g instanceof Error?g.message:"Failed to format data")}},[o,c,v]),w=async()=>{if(d.length===0){m("No records to insert");return}try{await r(d,{format:"json",onSuccess:()=>{i(""),u(null),f([]),m(null),t("records.bulk-insert-json")}})}catch(g){console.error("Error inserting records:",g)}},y=()=>{i(""),u(null),f([]),m(null),t("records.bulk-insert-json")};return(0,l.jsx)(nn,{title:`Add data from JSON into: ${e}`,open:n("records.bulk-insert-json"),onOpenChange:g=>{g||y()},children:(0,l.jsxs)("div",{className:"flex flex-col h-full gap-4",children:[(0,l.jsx)(vt,{variant:"info",title:"JSON Import",message:'Enter JSON array or single object. Example: [{"name": "John", "age": 30}, {"name": "Jane", "age": 28}]'}),(0,l.jsxs)(Au,{value:v,onValueChange:g=>S(g),children:[(0,l.jsxs)(vi,{className:"grid w-full grid-cols-2",children:[(0,l.jsx)(Br,{value:"file",children:"File"}),(0,l.jsx)(Br,{value:"text",children:"Text"})]}),(0,l.jsx)(Ur,{value:"file",className:"flex-1 flex flex-col gap-4",children:(0,l.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,l.jsx)(Ne,{htmlFor:"file-input",className:"mb-2 text-sm font-medium text-foreground",children:"Select JSON file"}),(0,l.jsx)("input",{id:"file-input",ref:a,type:"file",accept:".json",onChange:b,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,l.jsx)(Ur,{value:"text",className:"flex-1 flex flex-col gap-4",children:(0,l.jsxs)("div",{className:"flex-1 flex flex-col",children:[(0,l.jsx)(Ne,{htmlFor:"text-input",className:"mb-2 text-sm font-medium text-foreground",children:"Data Input"}),(0,l.jsx)(Wn,{id:"text-input",value:o,onChange:g=>{i(g.target.value),f([]),m(null)},placeholder:'[{"column1": "value1", "column2": "value2"}]',className:"flex-1 resize-none font-mono text-sm",disabled:s})]})})]}),h&&(0,l.jsx)(vt,{variant:"error",title:"Parse Error",message:h}),d.length>0&&(0,l.jsx)(vt,{variant:"success",title:"Ready to Insert",message:`${d.length} record${d.length!==1?"s":""} parsed successfully`}),(0,l.jsxs)("div",{className:"flex justify-between gap-2",children:[(0,l.jsx)(te,{variant:"secondary",size:"lg",onClick:N,disabled:v==="file"?!c:!o.trim()||s,children:"Format"}),(0,l.jsxs)("div",{className:"flex gap-2",children:[(0,l.jsx)(ka,{asChild:!0,onClick:y,disabled:s,children:(0,l.jsx)(te,{variant:"outline",size:"lg",children:"Close"})}),(0,l.jsx)(te,{type:"button",size:"lg",onClick:w,disabled:d.length===0||s,children:s?"Inserting...":"Insert"})]})]})]})})},LT=({tableName:e})=>{const{closeOverlay:t,isOverlayOpen:n}=Oe(),{bulkInsertRecords:r,isInserting:s}=yi({tableName:e,schemaName:Je()}),[a,o]=(0,p.useState)(""),[i,c]=(0,p.useState)([]),[u,d]=(0,p.useState)(null),[f,h]=(0,p.useState)("auto"),m=(0,p.useCallback)(()=>{d(null),c([]);try{if(!a.trim()){d("Input is empty");return}const N=Hr(a);c(N)}catch(N){d(N instanceof Error?N.message:"Failed to parse data")}},[a]),v=async()=>{if(i.length===0){d("No records to insert");return}try{await r(i,{onSuccess:()=>{o(""),c([]),d(null)}})}catch(N){console.error("Error inserting records:",N)}},S=()=>{o(""),c([]),d(null),t("records.bulk-insert")},b=()=>{o(""),c([]),d(null)};return(0,l.jsx)(nn,{title:`Bulk Insert Records into: ${e}`,open:n("records.bulk-insert"),onOpenChange:N=>{N||S()},children:(0,l.jsxs)("div",{className:"flex flex-col h-full gap-4",children:[(0,l.jsxs)("div",{className:"flex gap-2",children:[(0,l.jsx)("button",{onClick:()=>h("auto"),type:"button",className:G("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,l.jsx)("button",{onClick:()=>h("csv"),type:"button",className:G("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,l.jsx)("button",{onClick:()=>h("json"),type:"button",className:G("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,l.jsx)(vt,{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,l.jsxs)("div",{className:"flex-1 flex flex-col",children:[(0,l.jsx)(Ne,{htmlFor:"text-input",className:"mb-2 text-sm font-medium text-foreground",children:"Data Input"}),(0,l.jsx)(Wn,{id:"text-input",value:a,onChange:N=>{o(N.target.value),c([]),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"})]}),u&&(0,l.jsx)(vt,{variant:"error",title:"Parse Error",message:u}),i.length>0&&(0,l.jsx)(vt,{variant:"success",title:"Ready to Insert",message:`${i.length} record${i.length!==1?"s":""} parsed successfully`}),(0,l.jsxs)("div",{className:"flex justify-between gap-2",children:[(0,l.jsxs)("div",{className:"flex gap-2",children:[(0,l.jsx)(te,{variant:"outline",size:"lg",onClick:b,disabled:!a||s,children:"Clear"}),(0,l.jsx)(te,{variant:"secondary",size:"lg",onClick:m,disabled:!a||s,children:"Preview"})]}),(0,l.jsxs)("div",{className:"flex gap-2",children:[(0,l.jsx)(ka,{asChild:!0,onClick:S,disabled:s,children:(0,l.jsx)(te,{variant:"outline",size:"lg",children:"Close"})}),(0,l.jsx)(te,{type:"button",size:"lg",onClick:v,disabled:i.length===0||s,children:s?"Inserting...":"Insert"})]})]})]})})},yr=null,bn=null,Hn=dr()((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:()=>{yr&&clearTimeout(yr),e({isPulsing:!0}),yr=setTimeout(()=>{e({isPulsing:!1}),yr=null},800)},setHighlights:(n,r,s=1500)=>{if(n.length===0&&r.length===0){t().clearHighlights();return}bn&&clearTimeout(bn),e({highlightedRowIds:new Set(n),highlightedCellKeys:new Set(r)}),bn=setTimeout(()=>{e({highlightedRowIds:new Set,highlightedCellKeys:new Set}),bn=null},s)},clearHighlights:()=>{bn&&(clearTimeout(bn),bn=null),e({highlightedRowIds:new Set,highlightedCellKeys:new Set})},isRowHighlighted:n=>t().highlightedRowIds.has(n),isCellHighlighted:(n,r)=>t().highlightedCellKeys.has(`${n}:${r}`),reset:()=>{yr&&(clearTimeout(yr),yr=null),bn&&(clearTimeout(bn),bn=null),e({isLive:!1,status:"idle",isPulsing:!1,activeTable:null,generation:t().generation+1,highlightedRowIds:new Set,highlightedCellKeys:new Set})}})),qr=dr()(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})})),jo=e=>{if(e===null||typeof e!="object")return JSON.stringify(e);if(Array.isArray(e))return`[${e.map(jo).join(",")}]`;const t=e;return`{${Object.keys(t).sort().map(n=>`${JSON.stringify(n)}:${jo(t[n])}`).join(",")}}`},Ga=(e,t,n="global")=>{const r=e.id??e._id??jo(e);return jo([n,r,t])},rn=dr()((e,t)=>({updates:new Map,setUpdate:(n,r,s,a,o)=>{e(i=>{const c=new Map(i.updates),u=Ga(n,r,o);return s===a?c.delete(u):c.set(u,{scope:o??"global",rowData:n,columnName:r,newValue:s,originalValue:a}),{updates:c}})},clearUpdates:()=>e({updates:new Map}),clearUpdate:(n,r,s)=>{e(a=>{const o=new Map(a.updates);return o.delete(Ga(n,r,s)),{updates:o}})},getUpdates:()=>Array.from(t().updates.values()),getUpdate:(n,r,s)=>{const{updates:a}=t();return a.size===0?null:a.get(Ga(n,r,s))??null},hasUpdate:(n,r,s)=>{const{updates:a}=t();return a.size>0&&a.has(Ga(n,r,s))},hasAnyUpdates:()=>t().updates.size>0,getUpdateCount:()=>t().updates.size})),Ss=e=>{if(e===void 0)return"undefined";if(e===null||typeof e!="object")return JSON.stringify(e);if(Array.isArray(e))return`[${e.map(Ss).join(",")}]`;const t=e;return`{${Object.keys(t).sort().map(n=>`${JSON.stringify(n)}:${Ss(t[n])}`).join(",")}}`},hc=(e,t=[])=>t.length===1?String(e[t[0]]??""):t.length>1?Ss(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):Ss(e),FT=(e,t)=>e===t?!0:typeof e=="object"&&typeof t=="object"&&e!==null&&t!==null?Ss(e)===Ss(t):!1,$T=(e,t,n=[])=>{if(!e||!t)return{hasVisibleChanges:!1,insertedRowIds:[],changedCellKeys:[]};const r=e.map(d=>hc(d,n)),s=t.map(d=>hc(d,n));let a=!1;(e.length!==t.length||r.some((d,f)=>d!==s[f]))&&(a=!0);const o=new Map;for(let d=0;d<e.length;d++)o.set(r[d],e[d]);const i=new Set(s),c=[],u=[];for(let d=0;d<t.length;d++){const f=s[d],h=t[d],m=o.get(f);if(!m)c.push(f),a=!0;else{const v=new Set([...Object.keys(m),...Object.keys(h)]);for(const S of v)FT(m[S],h[S])||(u.push(`${f}:${S}`),a=!0)}}for(const d of r)if(!i.has(d)){a=!0;break}return{hasVisibleChanges:a,insertedRowIds:c,changedCellKeys:u}},zT=1e3,VT=({tableName:e,tableCols:t,tableDataRows:n,refetchTableData:r,isEditingCell:s=!1})=>{const a=hr()?.liveMode??!1,{isLive:o,status:i,isPulsing:c,setLive:u,pauseLive:d,setStatus:f,triggerPulse:h,setHighlights:m,isRowHighlighted:v,isCellHighlighted:S,reset:b}=Hn(),{selectedDatabase:N}=Ue(),{updates:w}=rn(),{openOverlays:y}=Oe(),{isDirty:g}=qr(),x=w.size>0,C=y.some(M=>M.startsWith("records.")),j=g&&y.includes("tables.row-details"),E=s||x||C||j,R=(0,p.useMemo)(()=>t?.filter(M=>M.isPrimaryKey).map(M=>M.columnName)??[],[t]),O=(0,p.useRef)(null),k=(0,p.useRef)(r);k.current=r;const _=(0,p.useRef)(!1),A=(0,p.useRef)(e);A.current=e;const I=(0,p.useRef)(N);I.current=N,(0,p.useEffect)(()=>{o&&E&&d()},[o,E,d]),(0,p.useEffect)(()=>{if(o&&O.current!==null){const M=$T(O.current,n,R);M.hasVisibleChanges&&(h(),m(M.insertedRowIds,M.changedCellKeys))}O.current=n},[n,o,R,h,m]);const T=(0,p.useCallback)(async()=>{if(typeof document<"u"&&document.hidden)return;if(E){d();return}if(_.current)return;const M=Hn.getState().generation,P=A.current,V=I.current;_.current=!0;try{const L=await k.current(),B=Hn.getState();if(B.generation!==M||!B.isLive||A.current!==P||I.current!==V)return;L&&typeof L=="object"&&"isError"in L&&L.isError?f("disconnected"):f("healthy")}catch{const L=Hn.getState();if(L.generation!==M||!L.isLive||A.current!==P||I.current!==V)return;f("disconnected")}finally{_.current=!1}},[E,d,f]);return(0,p.useEffect)(()=>{if(!o||!a)return;T();const M=setInterval(()=>{T()},zT);return()=>{clearInterval(M)}},[o,a,T]),(0,p.useEffect)(()=>{if(!o||!a)return;const M=()=>{!document.hidden&&o&&T()};return document.addEventListener("visibilitychange",M),()=>{document.removeEventListener("visibilitychange",M)}},[o,a,T]),(0,p.useEffect)(()=>()=>{b()},[e,N,b]),{canLiveMode:a,isLive:o,status:i,isPulsing:c,isRowHighlighted:v,isCellHighlighted:S,toggleLive:(0,p.useCallback)(()=>{a&&(o?u(!1):u(!0,e))},[a,o,e,u])}};function BT(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 zg=p.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}),Ps=()=>{const e=p.useContext(zg);if(!e)throw new Error("useDrawerContext must be used within a Drawer.Root");return e};BT(`[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 UT(){const e=navigator.userAgent;return typeof window<"u"&&(/Firefox/.test(e)&&/Mobile/.test(e)||/FxiOS/.test(e))}function HT(){return Mu(/^Mac/)}function qT(){return Mu(/^iPhone/)}function Ef(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function WT(){return Mu(/^iPad/)||HT()&&navigator.maxTouchPoints>1}function Vg(){return qT()||WT()}function Mu(e){return typeof window<"u"&&window.navigator!=null?e.test(window.navigator.platform):void 0}var KT=24,YT=typeof window<"u"?p.useLayoutEffect:p.useEffect;function If(...e){return(...t)=>{for(let n of e)typeof n=="function"&&n(...t)}}var gl=typeof document<"u"&&window.visualViewport;function jf(e){let t=window.getComputedStyle(e);return/(auto|scroll)/.test(t.overflow+t.overflowX+t.overflowY)}function Bg(e){for(jf(e)&&(e=e.parentElement);e&&!jf(e);)e=e.parentElement;return e||document.scrollingElement||document.documentElement}var GT=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]),Ja=0,Tf;function JT(e={}){let{isDisabled:t}=e;YT(()=>{if(!t)return Ja++,Ja===1&&Vg()&&(Tf=QT()),()=>{Ja--,Ja===0&&Tf?.()}},[t])}function QT(){let e,t=0,n=f=>{e=Bg(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,m=e.scrollTop,v=e.scrollHeight-e.clientHeight;v!==0&&((m<=0&&h>t||m>=v&&h<t)&&f.preventDefault(),t=h)},s=f=>{let h=f.target;mc(h)&&h!==document.activeElement&&(f.preventDefault(),h.style.transform="translateY(-2000px)",h.focus(),requestAnimationFrame(()=>{h.style.transform=""}))},a=f=>{let h=f.target;mc(h)&&(h.style.transform="translateY(-2000px)",requestAnimationFrame(()=>{h.style.transform="",gl&&(gl.height<window.innerHeight?requestAnimationFrame(()=>{Rf(h)}):gl.addEventListener("resize",()=>Rf(h),{once:!0}))}))},o=()=>{window.scrollTo(0,0)},i=window.pageXOffset,c=window.pageYOffset,u=If(XT(document.documentElement,"paddingRight",`${window.innerWidth-document.documentElement.clientWidth}px`));window.scrollTo(0,0);let d=If(Ys(document,"touchstart",n,{passive:!1,capture:!0}),Ys(document,"touchmove",r,{passive:!1,capture:!0}),Ys(document,"touchend",s,{passive:!1,capture:!0}),Ys(document,"focus",a,!0),Ys(window,"scroll",o));return()=>{u(),d(),window.scrollTo(i,c)}}function XT(e,t,n){let r=e.style[t];return e.style[t]=n,()=>{e.style[t]=r}}function Ys(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}function Rf(e){let t=document.scrollingElement||document.documentElement;for(;e&&e!==t;){let n=Bg(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+KT&&(n.scrollTop+=s-r)}e=n.parentElement}}function mc(e){return e instanceof HTMLInputElement&&!GT.has(e.type)||e instanceof HTMLTextAreaElement||e instanceof HTMLElement&&e.isContentEditable}function ZT(e,t){typeof e=="function"?e(t):e!=null&&(e.current=t)}function eR(...e){return t=>e.forEach(n=>ZT(n,t))}function Ug(...e){return p.useCallback(eR(...e),e)}var Hg=new WeakMap;function dt(e,t,n=!1){if(!e||!(e instanceof HTMLElement))return;let r={};Object.entries(t).forEach(([s,a])=>{if(s.startsWith("--")){e.style.setProperty(s,a);return}r[s]=e.style[s],e.style[s]=a}),!n&&Hg.set(e,r)}function tR(e,t){if(!e||!(e instanceof HTMLElement))return;let n=Hg.get(e);n&&(e.style[t]=n[t])}var at=e=>{switch(e){case"top":case"bottom":return!0;case"left":case"right":return!1;default:return e}};function Qa(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(", ")[at(t)?13:12]):(s=r.match(/^matrix\((.+)\)$/),s?parseFloat(s[1].split(", ")[at(t)?5:4]):null)}function nR(e){return 8*(Math.log(e+1)-2)}function vl(e,t){if(!e)return()=>{};const n=e.style.cssText;return Object.assign(e.style,t),()=>{e.style.cssText=n}}var Qe={DURATION:.5,EASE:[.32,.72,0,1]},qg=.4,rR=.25,sR=100,Wg=8,Xa=16,pc=26,yl="vaul-dragging";function Kg(e){const t=p.useRef(e);return p.useEffect(()=>{t.current=e}),p.useMemo(()=>(...n)=>t.current==null?void 0:t.current.call(t,...n),[])}function aR({defaultProp:e,onChange:t}){const n=p.useState(e),[r]=n,s=p.useRef(r),a=Kg(t);return p.useEffect(()=>{s.current!==r&&(a(r),s.current=r)},[r,s,a]),n}function Yg({prop:e,defaultProp:t,onChange:n=()=>{}}){const[r,s]=aR({defaultProp:t,onChange:n}),a=e!==void 0,o=a?e:r,i=Kg(n);return[o,p.useCallback(c=>{if(a){const u=typeof c=="function"?c(e):c;u!==e&&i(u)}else s(c)},[a,e,s,i])]}function oR({activeSnapPointProp:e,setActiveSnapPointProp:t,snapPoints:n,drawerRef:r,overlayRef:s,fadeFromIndex:a,onSnapPointChange:o,direction:i="bottom",container:c,snapToSequentialPoint:u}){const[d,f]=Yg({prop:e,defaultProp:n?.[0],onChange:t}),[h,m]=p.useState(typeof window<"u"?{innerWidth:window.innerWidth,innerHeight:window.innerHeight}:void 0);p.useEffect(()=>{function j(){m({innerWidth:window.innerWidth,innerHeight:window.innerHeight})}return window.addEventListener("resize",j),()=>window.removeEventListener("resize",j)},[]);const v=p.useMemo(()=>d===n?.[n.length-1]||null,[n,d]),S=p.useMemo(()=>{var j;return(j=n?.findIndex(E=>E===d))!=null?j:null},[n,d]),b=n&&n.length>0&&(a||a===0)&&!Number.isNaN(a)&&n[a]===d||!n,N=p.useMemo(()=>{const j=c?{width:c.getBoundingClientRect().width,height:c.getBoundingClientRect().height}:typeof window<"u"?{width:window.innerWidth,height:window.innerHeight}:{width:0,height:0};var E;return(E=n?.map(R=>{const O=typeof R=="string";let k=0;if(O&&(k=parseInt(R,10)),at(i)){const A=O?k:h?R*j.height:0;return h?i==="bottom"?j.height-A:-j.height+A:A}const _=O?k:h?R*j.width:0;return h?i==="right"?j.width-_:-j.width+_:_}))!=null?E:[]},[n,h,c]),w=p.useMemo(()=>S!==null?N?.[S]:null,[N,S]),y=p.useCallback(j=>{var E;const R=(E=N?.findIndex(O=>O===j))!=null?E:null;o(R),dt(r.current,{transition:`transform ${Qe.DURATION}s cubic-bezier(${Qe.EASE.join(",")})`,transform:at(i)?`translate3d(0, ${j}px, 0)`:`translate3d(${j}px, 0, 0)`}),N&&R!==N.length-1&&a!==void 0&&R!==a&&R<a?dt(s.current,{transition:`opacity ${Qe.DURATION}s cubic-bezier(${Qe.EASE.join(",")})`,opacity:"0"}):dt(s.current,{transition:`opacity ${Qe.DURATION}s cubic-bezier(${Qe.EASE.join(",")})`,opacity:"1"}),f(n?.[Math.max(R,0)])},[r.current,n,N,a,s,f]);p.useEffect(()=>{if(d||e){var j;const E=(j=n?.findIndex(R=>R===e||R===d))!=null?j:-1;N&&E!==-1&&typeof N[E]=="number"&&y(N[E])}},[d,e,n,N,y]);function g({draggedDistance:j,closeDrawer:E,velocity:R,dismissible:O}){if(a===void 0)return;const k=i==="bottom"||i==="right"?(w??0)-j:(w??0)+j,_=S===a-1,A=S===0,I=j>0;if(_&&dt(s.current,{transition:`opacity ${Qe.DURATION}s cubic-bezier(${Qe.EASE.join(",")})`}),!u&&R>2&&!I){O?E():y(N[0]);return}if(!u&&R>2&&I&&N&&n){y(N[n.length-1]);return}const T=N?.reduce((P,V)=>typeof P!="number"||typeof V!="number"?P:Math.abs(V-k)<Math.abs(P-k)?V:P),M=at(i)?window.innerHeight:window.innerWidth;if(R>qg&&Math.abs(j)<M*.4){const P=I?1:-1;if(P>0&&v&&n){y(N[n.length-1]);return}if(A&&P<0&&O&&E(),S===null)return;y(N[S+P]);return}y(T)}function x({draggedDistance:j}){if(w===null)return;const E=i==="bottom"||i==="right"?w-j:w+j;(i==="bottom"||i==="right")&&E<N[N.length-1]||(i==="top"||i==="left")&&E>N[N.length-1]||dt(r.current,{transform:at(i)?`translate3d(0, ${E}px, 0)`:`translate3d(${E}px, 0, 0)`})}function C(j,E){if(!n||typeof S!="number"||!N||a===void 0)return null;const R=S===a-1;if(S>=a&&E)return 0;if(R&&!E)return 1;if(!b&&!R)return null;const O=R?S+1:S-1,k=R?N[O]-N[O-1]:N[O+1]-N[O],_=j/Math.abs(k);return R?1-_:_}return{isLastSnapPoint:v,activeSnapPoint:d,shouldFade:b,getPercentageDragged:C,setActiveSnapPoint:f,activeSnapPointIndex:S,onRelease:g,onDrag:x,snapPointsOffset:N}}function iR(){const{direction:e,isOpen:t,shouldScaleBackground:n,setBackgroundColorOnScale:r,noBodyStyles:s}=Ps(),a=p.useRef(null),o=(0,p.useMemo)(()=>document.body.style.backgroundColor,[]);function i(){return(window.innerWidth-pc)/window.innerWidth}p.useEffect(()=>{if(t&&n){a.current&&clearTimeout(a.current);const c=document.querySelector("[data-vaul-drawer-wrapper]")||document.querySelector("[vaul-drawer-wrapper]");if(!c)return;r&&!s&&vl(document.body,{background:"black"}),vl(c,{transformOrigin:at(e)?"top":"left",transitionProperty:"transform, border-radius",transitionDuration:`${Qe.DURATION}s`,transitionTimingFunction:`cubic-bezier(${Qe.EASE.join(",")})`});const u=vl(c,{borderRadius:`${Wg}px`,overflow:"hidden",...at(e)?{transform:`scale(${i()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`}:{transform:`scale(${i()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`}});return()=>{u(),a.current=window.setTimeout(()=>{o?document.body.style.background=o:document.body.style.removeProperty("background")},Qe.DURATION*1e3)}}},[t,n,o])}var Gs=null;function lR({isOpen:e,modal:t,nested:n,hasBeenOpened:r,preventScrollRestoration:s,noBodyStyles:a}){const[o,i]=p.useState(()=>typeof window<"u"?window.location.href:""),c=p.useRef(0),u=p.useCallback(()=>{if(Ef()&&Gs===null&&e&&!a){Gs={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:`${-c.current}px`,left:`${-f}px`,right:"0px",height:"auto"}),window.setTimeout(()=>window.requestAnimationFrame(()=>{const m=h-window.innerHeight;m&&c.current>=h&&(document.body.style.top=`${-(c.current+m)}px`)}),300)}},[e]),d=p.useCallback(()=>{if(Ef()&&Gs!==null&&!a){const f=-parseInt(document.body.style.top,10),h=-parseInt(document.body.style.left,10);Object.assign(document.body.style,Gs),window.requestAnimationFrame(()=>{if(s&&o!==window.location.href){i(window.location.href);return}window.scrollTo(h,f)}),Gs=null}},[o]);return p.useEffect(()=>{function f(){c.current=window.scrollY}return f(),window.addEventListener("scroll",f),()=>{window.removeEventListener("scroll",f)}},[]),p.useEffect(()=>{if(t)return()=>{typeof document>"u"||document.querySelector("[data-vaul-drawer]")||d()}},[t,d]),p.useEffect(()=>{n||!r||(e?(!window.matchMedia("(display-mode: standalone)").matches&&u(),t||window.setTimeout(()=>{d()},500)):d())},[e,r,o,t,n,u,d]),{restorePositionSetting:d}}function Gg({open:e,onOpenChange:t,children:n,onDrag:r,onRelease:s,snapPoints:a,shouldScaleBackground:o=!1,setBackgroundColorOnScale:i=!0,closeThreshold:c=rR,scrollLockTimeout:u=sR,dismissible:d=!0,handleOnly:f=!1,fadeFromIndex:h=a&&a.length-1,activeSnapPoint:m,setActiveSnapPoint:v,fixed:S,modal:b=!0,onClose:N,nested:w,noBodyStyles:y=!1,direction:g="bottom",defaultOpen:x=!1,disablePreventScroll:C=!0,snapToSequentialPoint:j=!1,preventScrollRestoration:E=!1,repositionInputs:R=!0,onAnimationEnd:O,container:k,autoFocus:_=!1}){var A,I;const[T=!1,M]=Yg({defaultProp:x,prop:e,onChange:ge=>{t?.(ge),!ge&&!w&&U(),setTimeout(()=>{O?.(ge)},Qe.DURATION*1e3),ge&&!b&&typeof window<"u"&&window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"}),ge||(document.body.style.pointerEvents="auto")}}),[P,V]=p.useState(!1),[L,B]=p.useState(!1),[q,F]=p.useState(!1),K=p.useRef(null),H=p.useRef(null),Y=p.useRef(null),ne=p.useRef(null),ee=p.useRef(null),$=p.useRef(!1),Q=p.useRef(null),he=p.useRef(0),pe=p.useRef(!1),ae=p.useRef(!x),be=p.useRef(0),J=p.useRef(null),le=p.useRef(((A=J.current)==null?void 0:A.getBoundingClientRect().height)||0),ue=p.useRef(((I=J.current)==null?void 0:I.getBoundingClientRect().width)||0),We=p.useRef(0),{activeSnapPoint:Ye,activeSnapPointIndex:Ve,setActiveSnapPoint:ft,onRelease:Ae,snapPointsOffset:mt,onDrag:ye,shouldFade:D,getPercentageDragged:z}=oR({snapPoints:a,activeSnapPointProp:m,setActiveSnapPointProp:v,drawerRef:J,fadeFromIndex:h,overlayRef:K,onSnapPointChange:p.useCallback(ge=>{a&&ge===mt.length-1&&(H.current=new Date)},[]),direction:g,container:k,snapToSequentialPoint:j});JT({isDisabled:!T||L||!b||q||!P||!R||!C});const{restorePositionSetting:U}=lR({isOpen:T,modal:b,nested:w??!1,hasBeenOpened:P,preventScrollRestoration:E,noBodyStyles:y});function X(){return(window.innerWidth-pc)/window.innerWidth}function se(ge){var Te,ie;!d&&!a||J.current&&!J.current.contains(ge.target)||(le.current=((Te=J.current)==null?void 0:Te.getBoundingClientRect().height)||0,ue.current=((ie=J.current)==null?void 0:ie.getBoundingClientRect().width)||0,B(!0),Y.current=new Date,Vg()&&window.addEventListener("touchend",()=>$.current=!1,{once:!0}),ge.target.setPointerCapture(ge.pointerId),he.current=at(g)?ge.pageY:ge.pageX)}function Z(ge,Te){var ie;let ce=ge;const fe=(ie=window.getSelection())==null?void 0:ie.toString(),Ie=J.current?Qa(J.current,g):null,we=new Date;if(ce.tagName==="SELECT"||ce.hasAttribute("data-vaul-no-drag")||ce.closest("[data-vaul-no-drag]"))return!1;if(g==="right"||g==="left")return!0;if(H.current&&we.getTime()-H.current.getTime()<500)return!1;if(Ie!==null&&(g==="bottom"?Ie>0:Ie<0))return!0;if(fe&&fe.length>0)return!1;if(ee.current&&we.getTime()-ee.current.getTime()<u&&Ie===0||Te)return ee.current=we,!1;for(;ce;){if(ce.scrollHeight>ce.clientHeight){if(ce.scrollTop!==0)return ee.current=new Date,!1;if(ce.getAttribute("role")==="dialog")return!0}ce=ce.parentNode}return!0}function oe(ge){if(J.current&&L){const Te=g==="bottom"||g==="right"?1:-1,ie=(he.current-(at(g)?ge.pageY:ge.pageX))*Te,ce=ie>0,fe=a&&!d&&!ce;if(fe&&Ve===0)return;const Ie=Math.abs(ie),we=document.querySelector("[data-vaul-drawer-wrapper]");let He=Ie/(g==="bottom"||g==="top"?le.current:ue.current);const Ee=z(Ie,ce);if(Ee!==null&&(He=Ee),fe&&He>=1||!$.current&&!Z(ge.target,ce))return;if(J.current.classList.add(yl),$.current=!0,dt(J.current,{transition:"none"}),dt(K.current,{transition:"none"}),a&&ye({draggedDistance:ie}),ce&&!a){const pt=nR(ie),an=Math.min(pt*-1,0)*Te;dt(J.current,{transform:at(g)?`translate3d(0, ${an}px, 0)`:`translate3d(${an}px, 0, 0)`});return}const Qn=1-He;if((D||h&&Ve===h-1)&&(r?.(ge,He),dt(K.current,{opacity:`${Qn}`,transition:"none"},!0)),we&&K.current&&o){const pt=Math.min(X()+He*(1-X()),1),an=8-He*8,Xn=Math.max(0,14-He*14);dt(we,{borderRadius:`${an}px`,transform:at(g)?`scale(${pt}) translate3d(0, ${Xn}px, 0)`:`scale(${pt}) translate3d(${Xn}px, 0, 0)`,transition:"none"},!0)}if(!a){const pt=Ie*Te;dt(J.current,{transform:at(g)?`translate3d(0, ${pt}px, 0)`:`translate3d(${pt}px, 0, 0)`})}}}p.useEffect(()=>{window.requestAnimationFrame(()=>{ae.current=!0})},[]),p.useEffect(()=>{var ge;function Te(){if(!J.current||!R)return;const ie=document.activeElement;if(mc(ie)||pe.current){var ce;const fe=((ce=window.visualViewport)==null?void 0:ce.height)||0,Ie=window.innerHeight;let we=Ie-fe;const He=J.current.getBoundingClientRect().height||0,Ee=He>Ie*.8;We.current||(We.current=He);const Qn=J.current.getBoundingClientRect().top;if(Math.abs(be.current-we)>60&&(pe.current=!pe.current),a&&a.length>0&&mt&&Ve){const pt=mt[Ve]||0;we+=pt}if(be.current=we,He>fe||pe.current){const pt=J.current.getBoundingClientRect().height;let an=pt;pt>fe&&(an=fe-(Ee?Qn:pc)),S?J.current.style.height=`${pt-Math.max(we,0)}px`:J.current.style.height=`${Math.max(an,fe-Qn)}px`}else UT()||(J.current.style.height=`${We.current}px`);a&&a.length>0&&!pe.current?J.current.style.bottom="0px":J.current.style.bottom=`${Math.max(we,0)}px`}}return(ge=window.visualViewport)==null||ge.addEventListener("resize",Te),()=>{var ie;return(ie=window.visualViewport)==null?void 0:ie.removeEventListener("resize",Te)}},[Ve,a,mt]);function xe(ge){nt(),N?.(),ge||M(!1),setTimeout(()=>{a&&ft(a[0])},Qe.DURATION*1e3)}function je(){if(!J.current)return;const ge=document.querySelector("[data-vaul-drawer-wrapper]"),Te=Qa(J.current,g);dt(J.current,{transform:"translate3d(0, 0, 0)",transition:`transform ${Qe.DURATION}s cubic-bezier(${Qe.EASE.join(",")})`}),dt(K.current,{transition:`opacity ${Qe.DURATION}s cubic-bezier(${Qe.EASE.join(",")})`,opacity:"1"}),o&&Te&&Te>0&&T&&dt(ge,{borderRadius:`${Wg}px`,overflow:"hidden",...at(g)?{transform:`scale(${X()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,transformOrigin:"top"}:{transform:`scale(${X()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`,transformOrigin:"left"},transitionProperty:"transform, border-radius",transitionDuration:`${Qe.DURATION}s`,transitionTimingFunction:`cubic-bezier(${Qe.EASE.join(",")})`},!0)}function nt(){!L||!J.current||(J.current.classList.remove(yl),$.current=!1,B(!1),ne.current=new Date)}function yt(ge){if(!L||!J.current)return;J.current.classList.remove(yl),$.current=!1,B(!1),ne.current=new Date;const Te=Qa(J.current,g);if(!ge||!Z(ge.target,!1)||!Te||Number.isNaN(Te)||Y.current===null)return;const ie=ne.current.getTime()-Y.current.getTime(),ce=he.current-(at(g)?ge.pageY:ge.pageX),fe=Math.abs(ce)/ie;if(fe>.05&&(F(!0),setTimeout(()=>{F(!1)},200)),a){Ae({draggedDistance:ce*(g==="bottom"||g==="right"?1:-1),closeDrawer:xe,velocity:fe,dismissible:d}),s?.(ge,!0);return}if(g==="bottom"||g==="right"?ce>0:ce<0){je(),s?.(ge,!0);return}if(fe>qg){xe(),s?.(ge,!1);return}var Ie;const we=Math.min((Ie=J.current.getBoundingClientRect().height)!=null?Ie:0,window.innerHeight);var He;const Ee=Math.min((He=J.current.getBoundingClientRect().width)!=null?He:0,window.innerWidth);if(Math.abs(Te)>=(g==="left"||g==="right"?Ee:we)*c){xe(),s?.(ge,!1);return}s?.(ge,!0),je()}p.useEffect(()=>(T&&(dt(document.documentElement,{scrollBehavior:"auto"}),H.current=new Date),()=>{tR(document.documentElement,"scrollBehavior")}),[T]);function st(ge){const Te=ge?(window.innerWidth-Xa)/window.innerWidth:1,ie=ge?-16:0;Q.current&&window.clearTimeout(Q.current),dt(J.current,{transition:`transform ${Qe.DURATION}s cubic-bezier(${Qe.EASE.join(",")})`,transform:at(g)?`scale(${Te}) translate3d(0, ${ie}px, 0)`:`scale(${Te}) translate3d(${ie}px, 0, 0)`}),!ge&&J.current&&(Q.current=setTimeout(()=>{const ce=Qa(J.current,g);dt(J.current,{transition:"none",transform:at(g)?`translate3d(0, ${ce}px, 0)`:`translate3d(${ce}px, 0, 0)`})},500))}function vr(ge,Te){if(Te<0)return;const ie=(window.innerWidth-Xa)/window.innerWidth,ce=ie+Te*(1-ie),fe=-16+Te*Xa;dt(J.current,{transform:at(g)?`scale(${ce}) translate3d(0, ${fe}px, 0)`:`scale(${ce}) translate3d(${fe}px, 0, 0)`,transition:"none"})}function xn(ge,Te){const ie=at(g)?window.innerHeight:window.innerWidth,ce=Te?(ie-Xa)/ie:1,fe=Te?-16:0;Te&&dt(J.current,{transition:`transform ${Qe.DURATION}s cubic-bezier(${Qe.EASE.join(",")})`,transform:at(g)?`scale(${ce}) translate3d(0, ${fe}px, 0)`:`scale(${ce}) translate3d(${fe}px, 0, 0)`})}return p.useEffect(()=>{b||window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"})},[b]),p.createElement(ru,{defaultOpen:x,onOpenChange:ge=>{!d&&!ge||(ge?V(!0):xe(!0),M(ge))},open:T},p.createElement(zg.Provider,{value:{activeSnapPoint:Ye,snapPoints:a,setActiveSnapPoint:ft,drawerRef:J,overlayRef:K,onOpenChange:t,onPress:se,onRelease:yt,onDrag:oe,dismissible:d,shouldAnimate:ae,handleOnly:f,isOpen:T,isDragging:L,shouldFade:D,closeDrawer:xe,onNestedDrag:vr,onNestedOpenChange:st,onNestedRelease:xn,keyboardIsOpen:pe,modal:b,snapPointsOffset:mt,activeSnapPointIndex:Ve,direction:g,shouldScaleBackground:o,setBackgroundColorOnScale:i,noBodyStyles:y,container:k,autoFocus:_}},n))}var Jg=p.forwardRef(function({...e},t){const{overlayRef:n,snapPoints:r,onRelease:s,shouldFade:a,isOpen:o,modal:i,shouldAnimate:c}=Ps(),u=Ug(t,n),d=r&&r.length>0;if(!i)return null;const f=p.useCallback(h=>s(h),[s]);return p.createElement(tu,{onMouseUp:f,ref:u,"data-vaul-overlay":"","data-vaul-snap-points":o&&d?"true":"false","data-vaul-snap-points-overlay":o&&a?"true":"false","data-vaul-animate":c?.current?"true":"false",...e})});Jg.displayName="Drawer.Overlay";var Qg=p.forwardRef(function({onPointerDownOutside:e,style:t,onOpenAutoFocus:n,...r},s){const{drawerRef:a,onPress:o,onRelease:i,onDrag:c,keyboardIsOpen:u,snapPointsOffset:d,activeSnapPointIndex:f,modal:h,isOpen:m,direction:v,snapPoints:S,container:b,handleOnly:N,shouldAnimate:w,autoFocus:y}=Ps(),[g,x]=p.useState(!1),C=Ug(s,a),j=p.useRef(null),E=p.useRef(null),R=p.useRef(!1),O=S&&S.length>0;iR();const k=(A,I,T=0)=>{if(R.current)return!0;const M=Math.abs(A.y),P=Math.abs(A.x),V=P>M,L=["bottom","right"].includes(I)?1:-1;if(I==="left"||I==="right"){if(!(A.x*L<0)&&P>=0&&P<=T)return V}else if(!(A.y*L<0)&&M>=0&&M<=T)return!V;return R.current=!0,!0};p.useEffect(()=>{O&&window.requestAnimationFrame(()=>{x(!0)})},[]);function _(A){j.current=null,R.current=!1,i(A)}return p.createElement(nu,{"data-vaul-drawer-direction":v,"data-vaul-drawer":"","data-vaul-delayed-snap-points":g?"true":"false","data-vaul-snap-points":m&&O?"true":"false","data-vaul-custom-container":b?"true":"false","data-vaul-animate":w?.current?"true":"false",...r,ref:C,style:d&&d.length>0?{"--snap-point-height":`${d[f??0]}px`,...t}:t,onPointerDown:A=>{N||(r.onPointerDown==null||r.onPointerDown.call(r,A),j.current={x:A.pageX,y:A.pageY},o(A))},onOpenAutoFocus:A=>{n?.(A),y||A.preventDefault()},onPointerDownOutside:A=>{if(e?.(A),!h||A.defaultPrevented){A.preventDefault();return}u.current&&(u.current=!1)},onFocusOutside:A=>{if(!h){A.preventDefault();return}},onPointerMove:A=>{if(E.current=A,N||(r.onPointerMove==null||r.onPointerMove.call(r,A),!j.current))return;const I=A.pageY-j.current.y,T=A.pageX-j.current.x,M=A.pointerType==="touch"?10:2;k({x:T,y:I},v,M)?c(A):(Math.abs(T)>M||Math.abs(I)>M)&&(j.current=null)},onPointerUp:A=>{r.onPointerUp==null||r.onPointerUp.call(r,A),j.current=null,R.current=!1,i(A)},onPointerOut:A=>{r.onPointerOut==null||r.onPointerOut.call(r,A),_(E.current)},onContextMenu:A=>{r.onContextMenu==null||r.onContextMenu.call(r,A),E.current&&_(E.current)}})});Qg.displayName="Drawer.Content";var cR=250,uR=120,Xg=p.forwardRef(function({preventCycle:e=!1,children:t,...n},r){const{closeDrawer:s,isDragging:a,snapPoints:o,activeSnapPoint:i,setActiveSnapPoint:c,dismissible:u,handleOnly:d,isOpen:f,onPress:h,onDrag:m}=Ps(),v=p.useRef(null),S=p.useRef(!1);function b(){if(S.current){y();return}window.setTimeout(()=>{N()},uR)}function N(){if(a||e||S.current){y();return}if(y(),!o||o.length===0){u||s();return}if(i===o[o.length-1]&&u){s();return}const g=o.findIndex(C=>C===i);if(g===-1)return;const x=o[g+1];c(x)}function w(){v.current=window.setTimeout(()=>{S.current=!0},cR)}function y(){v.current&&window.clearTimeout(v.current),S.current=!1}return p.createElement("div",{onClick:b,onPointerCancel:y,onPointerDown:g=>{d&&h(g),w()},onPointerMove:g=>{d&&m(g)},ref:r,"data-vaul-drawer-visible":f?"true":"false","data-vaul-handle":"","aria-hidden":"true",...n},p.createElement("span",{"data-vaul-handle-hitarea":"","aria-hidden":"true"},t))});Xg.displayName="Drawer.Handle";function dR({onDrag:e,onOpenChange:t,open:n,...r}){const{onNestedDrag:s,onNestedOpenChange:a,onNestedRelease:o}=Ps();if(!s)throw new Error("Drawer.NestedRoot must be placed in another drawer");return p.createElement(Gg,{nested:!0,open:n,onClose:()=>{a(!1)},onDrag:(i,c)=>{s(i,c),e?.(i,c)},onOpenChange:i=>{i&&a(i),t?.(i)},onRelease:o,...r})}function fR(e){const t=Ps(),{container:n=t.container,...r}=e;return p.createElement(eu,{container:n,...r})}var $a={Root:Gg,NestedRoot:dR,Content:Qg,Overlay:Jg,Trigger:fS,Portal:fR,Handle:Xg,Close:su,Title:np,Description:op};function hR({...e}){return(0,l.jsx)($a.Root,{"data-slot":"drawer",...e})}function mR({...e}){return(0,l.jsx)($a.Portal,{"data-slot":"drawer-portal",...e})}function pR({className:e,...t}){return(0,l.jsx)($a.Overlay,{"data-slot":"drawer-overlay",className:G("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 gR({className:e,children:t,...n}){return(0,l.jsxs)(mR,{"data-slot":"drawer-portal",children:[(0,l.jsx)(pR,{}),(0,l.jsx)($a.Content,{"data-slot":"drawer-content",className:G("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,l.jsx)(ip.Provider,{value:!0,children:t})})]})}function vR({className:e,...t}){return(0,l.jsx)("div",{"data-slot":"drawer-header",className:G("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 yR({className:e,...t}){return(0,l.jsx)($a.Title,{"data-slot":"drawer-title",className:G("text-sm font-medium text-foreground",e),...t})}var Zg=["shift","alt","meta","mod","ctrl","control"];function xR(){return typeof navigator>"u"?!1:/mac/i.test(navigator.userAgent)&&!/iphone|ipad|ipod/i.test(navigator.userAgent)}var bR={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 or(e){return(bR[e.trim()]||e.trim()).toLowerCase().replace(/key|digit|numpad/,"")}function ev(e){return Zg.includes(e)}function xl(e,t=","){return e.toLowerCase().split(t)}function bl(e,t="+",n=">",r=!1,s,a){let o=[],i=!1;e=e.trim(),e.includes(n)?(i=!0,o=e.toLocaleLowerCase().split(n).map(d=>or(d))):o=e.toLocaleLowerCase().split(t).map(d=>or(d));const c={alt:o.includes("alt"),ctrl:o.includes("ctrl")||o.includes("control"),shift:o.includes("shift"),meta:o.includes("meta"),mod:o.includes("mod"),useKey:r},u=o.filter(d=>!Zg.includes(d));return{...c,keys:u,description:s,isSequence:i,hotkey:e,metadata:a}}typeof document<"u"&&(document.addEventListener("keydown",e=>{e.code!==void 0&&tv([or(e.code)])}),document.addEventListener("keyup",e=>{e.code!==void 0&&nv([or(e.code)])})),typeof window<"u"&&(window.addEventListener("blur",()=>{fn.clear()}),window.addEventListener("focus",()=>{fn.clear()}),window.addEventListener("contextmenu",()=>{setTimeout(()=>{fn.clear()},0)})),typeof document<"u"&&document.addEventListener("visibilitychange",()=>{fn.clear()});var fn=new Set;function Ou(e){return Array.isArray(e)}function wR(e,t=","){return(Ou(e)?e:e.split(t)).every(n=>fn.has(n.trim().toLowerCase()))}function tv(e){const t=Array.isArray(e)?e:[e];fn.has("meta")&&fn.forEach(n=>{ev(n)||fn.delete(n.toLowerCase())}),t.forEach(n=>{fn.add(n.toLowerCase())})}function nv(e){e==="meta"?fn.clear():(Array.isArray(e)?e:[e]).forEach(t=>{fn.delete(t.toLowerCase())})}function SR(e,t,n){(typeof n=="function"&&n(e,t)||n===!0)&&e.preventDefault()}function CR(e,t,n){return typeof n=="function"?n(e,t):n===!0||n===void 0}var NR=["input","textarea","select","searchbox","slider","spinbutton","menuitem","menuitemcheckbox","menuitemradio","option","radio","textbox"];function ER(e){return rv(e,NR)}function rv(e,t=!1){const{target:n,composed:r}=e;let s,a;return IR(n)&&r?(s=e.composedPath()[0]&&e.composedPath()[0].tagName,a=e.composedPath()[0]&&e.composedPath()[0].role):(s=n&&n.tagName,a=n&&n.role),Ou(t)?!!(s&&t?.some(o=>o.toLowerCase()===s.toLowerCase()||o===a)):!!(s&&t&&t)}function IR(e){return!!e.tagName&&!e.tagName.startsWith("-")&&e.tagName.includes("-")}function jR(e,t){return e.length===0&&t?!1:t?e.some(n=>t.includes(n))||e.includes("*"):!0}var TR=(e,t,n=!1)=>{const{alt:r,meta:s,mod:a,shift:o,ctrl:i,keys:c,useKey:u}=t,{code:d,key:f,ctrlKey:h,metaKey:m,shiftKey:v,altKey:S}=e,b=or(d);if(u&&c?.length===1&&c.includes(f.toLowerCase()))return!0;if(!c?.includes(b)&&!["ctrl","control","unknown","meta","alt","shift","os"].includes(b))return!1;if(!n){if(r!==S&&b!=="alt"||o!==v&&b!=="shift")return!1;if(a){if(xR()?!m:!h)return!1}else if(s!==m&&b!=="meta"&&b!=="os"||i!==h&&b!=="ctrl"&&b!=="control")return!1}return c&&c.length===1&&c.includes(b)?!0:c&&c.length>0?c.includes(b)?wR(c):!1:!c||c.length===0},RR=(0,p.createContext)(void 0),kR=()=>(0,p.useContext)(RR);function sv(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&&sv(e[r],t[r]),!0):e===t}var _R=(0,p.createContext)({hotkeys:[],activeScopes:[],toggleScope:()=>{},enableScope:()=>{},disableScope:()=>{}}),AR=()=>(0,p.useContext)(_R);function MR(e){const t=(0,p.useRef)(void 0);return sv(t.current,e)||(t.current=e),t.current}var OR=e=>{e.stopPropagation(),e.preventDefault(),e.stopImmediatePropagation()},DR=typeof window<"u"?p.useLayoutEffect:p.useEffect;function PR(e){if(!e)return;const{enabled:t,preventDefault:n,ignoreEventWhen:r,...s}=e;return s}function cr(e,t,n,r){const[s,a]=(0,p.useState)(null),o=(0,p.useCallback)(y=>(a(y),()=>a(null)),[]),i=(0,p.useRef)(!1),c=Array.isArray(n)?Array.isArray(r)?void 0:r:n,u=Ou(e)?e.join(c?.delimiter):e,d=Array.isArray(n)?n:Array.isArray(r)?r:void 0,f=(0,p.useCallback)(t,d??[]),h=(0,p.useRef)(f);d?h.current=f:h.current=t;const m=MR(PR(c)),v=(0,p.useRef)(c?.enabled);v.current=c?.enabled;const S=(0,p.useRef)(c?.preventDefault);S.current=c?.preventDefault;const b=(0,p.useRef)(c?.ignoreEventWhen);b.current=c?.ignoreEventWhen;const{activeScopes:N}=AR(),w=kR();return DR(()=>{if(v.current===!1||!jR(N,m?.scopes))return;let y=[],g;const x=(R,O=!1)=>{if(!(ER(R)&&!rv(R,m?.enableOnFormTags))){if(s!==null){const k=s.getRootNode();if((k instanceof Document||k instanceof ShadowRoot)&&k.activeElement!==s&&!s.contains(k.activeElement)){OR(R);return}}R.target?.isContentEditable&&!m?.enableOnContentEditable||xl(u,m?.delimiter).forEach(k=>{if(k.includes(m?.splitKey??"+")&&k.includes(m?.sequenceSplitKey??">")){console.warn(`Hotkey ${k} contains both ${m?.splitKey??"+"} and ${m?.sequenceSplitKey??">"} which is not supported.`);return}const _=bl(k,m?.splitKey,m?.sequenceSplitKey,m?.useKey,m?.description,m?.metadata);if(_.isSequence){g=setTimeout(()=>{y=[]},m?.sequenceTimeoutMs??1e3);const A=_.useKey?R.key:or(R.code);if(ev(A.toLowerCase()))return;if(y.push(A),A!==_.keys?.[y.length-1]){y=[],g&&clearTimeout(g);return}y.length===_.keys?.length&&(h.current(R,_),g&&clearTimeout(g),y=[])}else if(TR(R,_,m?.ignoreModifiers)||_.keys?.includes("*")){if(b.current?.(R)||O&&i.current||(SR(R,_,S.current),!CR(R,_,v.current)))return;h.current(R,_),O||(i.current=!0)}})}},C=R=>{R.code!==void 0&&(tv(or(R.code)),(m?.keydown===void 0&&m?.keyup!==!0||m?.keydown)&&x(R))},j=R=>{R.code!==void 0&&(nv(or(R.code)),i.current=!1,m?.keyup&&x(R,!0))},E=s||c?.document||document;return E.addEventListener("keyup",j,c?.eventListenerOptions),E.addEventListener("keydown",C,c?.eventListenerOptions),w&&xl(u,m?.delimiter).forEach(R=>{w.addHotkey(bl(R,m?.splitKey,m?.sequenceSplitKey,m?.useKey,m?.description,m?.metadata))}),()=>{E.removeEventListener("keyup",j,c?.eventListenerOptions),E.removeEventListener("keydown",C,c?.eventListenerOptions),w&&xl(u,m?.delimiter).forEach(R=>{w.removeHotkey(bl(R,m?.splitKey,m?.sequenceSplitKey,m?.useKey,m?.description,m?.metadata))}),y=[],g&&clearTimeout(g)}},[s,m,N,u]),o}var LR=({referencedTable:e,referencedColumn:t,fkValue:n})=>{const{selectedDatabase:r}=Ue(),s=Je(),{tableCols:a}=jt({tableName:e,schemaName:s}),o=(0,p.useMemo)(()=>({columnName:t,operator:"=",value:n}),[t,n]),{data:i,isLoading:c}=Yn({queryKey:["fk-drawer",e,t,n,r],queryFn:async()=>(await $S.get(`/tables/${e}/data`,{params:{db:r??"",limit:"50",filters:JSON.stringify([o])}})).data.data,enabled:!!e&&!!r&&n!==""}),u=(0,p.useMemo)(()=>a?.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}))??[],[a]),d=Uc(),f=()=>{d({to:"/table/$table",params:{table:e},search:{filters:[o],[me.TABLE_SCHEMA]:s}})};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(vR,{className:"flex flex-row items-center justify-between py-3",children:[(0,l.jsx)(yR,{children:e}),(0,l.jsxs)(te,{variant:"outline",size:"sm",onClick:f,children:[(0,l.jsx)(Tw,{size:14}),"Open table"]})]}),(0,l.jsx)("div",{className:"flex flex-1 overflow-hidden border-t",children:c?(0,l.jsx)("div",{className:"flex items-center justify-center w-full text-sm text-muted-foreground",children:(0,l.jsx)(As,{})}):(0,l.jsx)(Zp,{columns:u,data:i?.data??[],renderCellAccessory:h=>(0,l.jsx)(Su,{value:h})})})]})};function mr({table:e,cell:t,rowIndex:n,columnId:r,isEditing:s,isFocused:a,isSelected:o,className:i,onClick:c,onKeyDown:u,...d}){const{getUpdate:f}=rn(),h=e.options.meta,m=t.row.original,v=!!f(m,r,e.options.meta?.editScope),S=(0,p.useCallback)(E=>{s||(E.preventDefault(),c?.(E),h?.onCellClick?.(n,r,E))},[h,n,r,s,c]),b=(0,p.useCallback)(E=>{s||h?.onCellContextMenu?.(n,r,E)},[h,n,r,s]),N=(0,p.useCallback)(E=>{s||h?.onCellMouseDown?.(n,r,E)},[h,n,r,s]),w=(0,p.useCallback)(E=>{s||h?.onCellMouseEnter?.(n,r,E)},[h,n,r,s]),y=(0,p.useCallback)(()=>{s||h?.onCellMouseUp?.()},[h,s]),g=(0,p.useCallback)(E=>{s||(E.preventDefault(),h?.onCellDoubleClick?.(n,r))},[h,n,r,s]),x=(0,p.useCallback)(E=>{if(u?.(E),!E.defaultPrevented&&!(E.key==="ArrowUp"||E.key==="ArrowDown"||E.key==="ArrowLeft"||E.key==="ArrowRight"||E.key==="Home"||E.key==="End"||E.key==="PageUp"||E.key==="PageDown"||E.key==="Tab")&&a&&!s){if(E.key==="F2"||E.key==="Enter"){E.preventDefault(),E.stopPropagation(),h?.onCellEditingStart?.(n,r);return}if(E.key===" "){E.preventDefault(),E.stopPropagation(),h?.onCellEditingStart?.(n,r);return}E.key.length===1&&!E.ctrlKey&&!E.metaKey&&(E.preventDefault(),E.stopPropagation(),h?.onCellEditingStart?.(n,r))}},[u,a,s,h,n,r]),{highlightedCellKeys:C}=Hn(),j=C.has(`${t.row.id}:${r}`);return(0,l.jsx)("div",{role:"button","data-slot":"grid-cell-wrapper","data-editing":s?"":void 0,"data-focused":a?"":void 0,"data-selected":o?"":void 0,"data-has-update":v?"":void 0,tabIndex:a&&!s?0:-1,className:G("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":a,"bg-primary/10":o&&!s,"cursor-default":!s,"ring-2 ring-primary":v,"bg-emerald-500/20 dark:bg-emerald-500/25 transition-colors duration-1000 ease-in-out":j},i),onClick:S,onContextMenu:b,onDoubleClick:g,onMouseDown:N,onMouseEnter:w,onMouseUp:y,onKeyDown:x,...d})}var FR=(0,p.lazy)(()=>Mt(()=>import("./json-editor-CWN4Qxy5.js").then(e=>({default:e.JsonEditor})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13]))),Du=({active:e,open:t,onOpenChange:n,anchor:r,children:s})=>{const[a,o]=(0,p.useState)(e);return e&&!a&&o(!0),a?(0,l.jsxs)(fr,{open:t,onOpenChange:n,children:[(0,l.jsx)(aC,{asChild:!0,children:r}),s]}):r},go=(0,p.memo)(({cell:e,table:t,rowIndex:n,columnId:r,isEditing:s,isFocused:a,isSelected:o})=>{const{setUpdate:i,clearUpdate:c,getUpdate:u}=rn(),d=e.getValue(),f=An(d),[h,m]=(0,p.useState)(()=>f??""),[v,S]=(0,p.useState)(!1),b=(0,p.useRef)(null),N=(0,p.useRef)(null),w=t.options.meta,y=e.row.original,g=r,x=u(y,g,t.options.meta?.editScope),C=x?An(x.newValue):f??"",j=(0,p.useCallback)(()=>{i(y,g,h,d,t.options.meta?.editScope),w?.onCellEditingStop?.(),S(!1)},[w,h,d,f,g,y,i]),E=(0,p.useCallback)(()=>{m(f??""),c(y,g,t.options.meta?.editScope),w?.onCellEditingStop?.(),S(!1)},[w,f,g,y,c,h]),R=(0,p.useCallback)(T=>{const M=T.target.value;m(M)},[g,h,f]),O=(0,p.useCallback)(T=>{S(T),T||(h!==f&&i(y,g,h,f,t.options.meta?.editScope),w?.onCellEditingStop?.())},[w,h,f,g,y,i]),k=(0,p.useCallback)(T=>{if(T.preventDefault(),b.current){b.current.focus();const M=b.current.value.length;b.current.setSelectionRange(M,M)}},[]),_=(0,p.useCallback)(T=>{s&&!v&&(T.key==="Escape"?(T.preventDefault(),w?.onCellEditingStop?.()):T.key==="Tab"&&(T.preventDefault(),w?.onCellEditingStop?.({direction:T.shiftKey?"left":"right"})))},[s,v,w]),A=(0,p.useCallback)(T=>{T.key==="Escape"?(T.preventDefault(),E()):T.key==="Enter"&&(T.ctrlKey||T.metaKey)&&(T.preventDefault(),j()),T.stopPropagation()},[E,j,h,f]),I=(0,p.useCallback)(()=>{h!==f&&i(y,g,h,f,t.options.meta?.editScope),w?.onCellEditingStop?.(),S(!1)},[w,h,f,g,y,i]);return(0,p.useEffect)(()=>{s&&!v?(m(C),S(!0)):!s&&v&&S(!1)},[s,v,C]),(0,p.useEffect)(()=>{a&&!s&&!w?.isScrolling&&N.current&&N.current.focus()},[a,s,w?.isScrolling]),cr("enter",()=>j(),{enabled:v}),cr("esc",()=>E(),{enabled:v}),(0,l.jsx)(Du,{active:v||s,open:v,onOpenChange:O,anchor:(0,l.jsx)(mr,{ref:N,cell:e,table:t,rowIndex:n,columnId:r,isEditing:s,isFocused:a,isSelected:o,onKeyDown:_,children:(0,l.jsx)("span",{"data-slot":"grid-cell-content",children:C})}),children:(0,l.jsxs)(Mn,{"data-grid-cell-editor":"",align:"start",side:"bottom",sideOffset:0,className:"w-[400px] rounded-none p-0 gap-0",onOpenAutoFocus:k,children:[(0,l.jsx)(Wn,{ref:b,value:h,onChange:R,onKeyDown:A,onBlur:I,className:"min-h-[150px] resize-none rounded-none border-0 shadow-none focus-visible:ring-0",placeholder:"Enter text..."}),(0,l.jsxs)("div",{className:"flex flex-col border-t",children:[(0,l.jsxs)(te,{variant:"ghost",size:"sm",className:"rounded-none justify-start text-xs py-4 px-2",children:[(0,l.jsx)(ht,{className:"text-xs font-normal",children:"⌘↵"}),(0,l.jsx)("span",{className:"ml-1 text-xs",children:"Save Changes"})]}),(0,l.jsxs)(te,{variant:"ghost",size:"sm",className:"rounded-none justify-start text-xs py-4 px-2",children:[(0,l.jsx)(ht,{className:"text-xs font-normal",children:"esc"}),(0,l.jsx)("span",{className:"ml-1 text-xs",children:"Cancel Changes"})]})]})]})})});go.displayName="TableTextCell";var av=(0,p.memo)(({cell:e,table:t,rowIndex:n,columnId:r,isEditing:s,isFocused:a,isSelected:o})=>{const{setUpdate:i,clearUpdate:c,getUpdate:u}=rn(),d=e.getValue(),f=t.options.meta,h=e.row.original,m=r,v=u(h,m,f?.editScope),S=v?v.newValue:d,[b,N]=(0,p.useState)(S),[w,y]=(0,p.useState)(!1),g=(0,p.useRef)(null);s!==w&&(s&&N(S),y(s));const x=(0,p.useCallback)(()=>{i(h,m,b,d,t.options.meta?.editScope),y(!1),f?.onCellEditingStop?.()},[f,b,d,m,h,i]),C=(0,p.useCallback)(()=>{N(d),c(h,m,t.options.meta?.editScope),y(!1),f?.onCellEditingStop?.()},[f,d,m,h,c,b]),j=(0,p.useCallback)(k=>{const _=k.target.value;N(Number(_)),i(h,m,Number(_),d,t.options.meta?.editScope)},[m,b,d,h,i]),E=(0,p.useCallback)(k=>{k.key==="Escape"?(k.preventDefault(),C()):k.key==="Enter"&&(k.ctrlKey||k.metaKey)&&(k.preventDefault(),x()),k.stopPropagation()},[C,x,b,d]),R=(0,p.useCallback)(()=>{b!==d&&i(h,m,b,d,t.options.meta?.editScope),y(!1),f?.onCellEditingStop?.()},[f,b,d,m,h,i]),O=(0,p.useCallback)(k=>{if(!k)return;k.focus();const _=k.value;k.value="",k.value=_},[]);return(0,p.useEffect)(()=>{a&&!s&&!f?.isScrolling&&g.current&&g.current.focus()},[a,s,f?.isScrolling]),cr("enter",()=>x(),{enabled:w}),cr("esc",()=>C(),{enabled:w}),(0,l.jsx)(mr,{ref:g,cell:e,table:t,rowIndex:n,columnId:r,isEditing:s,isFocused:a,isSelected:o,children:w?(0,l.jsx)(ot,{type:"number",variant:"outline",ref:O,value:b??"",onChange:k=>j(k),onKeyDown:k=>E(k),onBlur:R,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,l.jsx)("span",{"data-slot":"grid-cell-content",children:An(S)})})});av.displayName="TableNumberCell";var ov=(0,p.memo)(({cell:e,table:t,rowIndex:n,columnId:r,isEditing:s,isFocused:a,isSelected:o})=>{const{setUpdate:i,clearUpdate:c,getUpdate:u}=rn(),d=e.getValue(),[f,h]=(0,p.useState)(!1),m=(0,p.useRef)(null),v=(0,p.useRef)(null),S=(0,p.useRef)(s),b=t.options.meta;(0,p.useEffect)(()=>{S.current=s},[s]);const N=e.row.original,w=r,y=u(N,w,t.options.meta?.editScope),g=y?y.newValue:d,x=(0,p.useMemo)(()=>g==null?"null":g?"true":"false",[g]),C=(0,p.useCallback)(O=>{let k;O==="null"?k=null:k=O==="true",i(N,w,k,d,t.options.meta?.editScope),h(!1),b?.onCellEditingStop?.()},[w,N,d,i,b]),j=(0,p.useCallback)(()=>{c(N,w,t.options.meta?.editScope),h(!1),b?.onCellEditingStop?.()},[N,w,c,b]),E=(0,p.useCallback)(O=>{h(O),!O&&s&&b?.onCellEditingStop?.()},[s,b]),R=(0,p.useCallback)(O=>{s&&!f&&(O.key==="Escape"?(O.preventDefault(),j()):O.key==="Tab"&&(O.preventDefault(),j(),b?.onCellEditingStop?.({direction:O.shiftKey?"left":"right"})))},[s,f,b,j]);return(0,p.useEffect)(()=>{if(s){const O=setTimeout(()=>{S.current&&(h(!0),setTimeout(()=>{S.current&&v.current?.click()},0))},0);return()=>{clearTimeout(O),h(!1)}}},[s]),(0,p.useEffect)(()=>{a&&!s&&!b?.isScrolling&&m.current&&m.current.focus()},[a,s,b?.isScrolling]),(0,l.jsx)(mr,{ref:m,cell:e,table:t,rowIndex:n,columnId:r,isEditing:s,isFocused:a,isSelected:o,onKeyDown:R,className:"p-0!",children:s?(0,l.jsxs)(Nt,{value:x,onValueChange:C,open:f,onOpenChange:E,children:[(0,l.jsx)(St,{ref:v,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,l.jsx)(wt,{})}),(0,l.jsxs)(Ct,{"data-grid-cell-editor":"",alignOffset:-8,sideOffset:-8,className:"min-w-[calc(var(--radix-select-trigger-width)+16px)]",onEscapeKeyDown:j,onPointerDownOutside:O=>{O.preventDefault(),h(!1),b?.onCellEditingStop?.()},children:[(0,l.jsx)(Se,{value:"true",children:"true"}),(0,l.jsx)(Se,{value:"false",children:"false"}),(0,l.jsx)(Se,{value:"null",children:"NULL"})]})]}):(0,l.jsx)("span",{className:"flex items-center size-full px-2 py-1.5",children:g==null?"NULL":g?"true":"false"})})});ov.displayName="TableBooleanCell";var iv=(0,p.memo)(({cell:e,table:t,rowIndex:n,columnId:r,isEditing:s,isFocused:a,isSelected:o})=>{const{setUpdate:i,clearUpdate:c,getUpdate:u}=rn(),d=e.getValue(),[f,h]=(0,p.useState)(!1),m=(0,p.useRef)(null),v=(0,p.useRef)(null),S=(0,p.useRef)(s),b=t.options.meta,N=e.column.columnDef.meta?.enumValues;(0,p.useEffect)(()=>{S.current=s},[s]);const w=e.row.original,y=r,g=u(w,y,t.options.meta?.editScope),x=g?g.newValue:d,C=(0,p.useCallback)(O=>{i(w,y,O==="null"?null:O,d,t.options.meta?.editScope),h(!1),b?.onCellEditingStop?.()},[y,w,d,i,b]),j=(0,p.useCallback)(()=>{c(w,y,t.options.meta?.editScope),h(!1),b?.onCellEditingStop?.()},[w,y,c,b]),E=(0,p.useCallback)(O=>{h(O),!O&&s&&b?.onCellEditingStop?.()},[s,b]),R=(0,p.useCallback)(O=>{s&&!f&&(O.key==="Escape"?(O.preventDefault(),j()):O.key==="Tab"&&(O.preventDefault(),j(),b?.onCellEditingStop?.({direction:O.shiftKey?"left":"right"})))},[s,f,b,j]);return(0,p.useEffect)(()=>{if(s){const O=setTimeout(()=>{S.current&&(h(!0),setTimeout(()=>{S.current&&v.current?.click()},0))},0);return()=>{clearTimeout(O),h(!1)}}},[s]),(0,p.useEffect)(()=>{a&&!s&&!b?.isScrolling&&m.current&&m.current.focus()},[a,s,b?.isScrolling]),(0,l.jsx)(mr,{ref:m,cell:e,table:t,rowIndex:n,columnId:r,isEditing:s,isFocused:a,isSelected:o,onKeyDown:R,className:"p-0!",children:s?(0,l.jsxs)(Nt,{value:x===null?"null":x,onValueChange:C,open:f,onOpenChange:E,children:[(0,l.jsx)(St,{ref:v,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,l.jsx)(wt,{})}),(0,l.jsxs)(Ct,{"data-grid-cell-editor":"",alignOffset:-8,sideOffset:-8,className:"min-w-[calc(var(--radix-select-trigger-width)+16px)]",onEscapeKeyDown:j,onPointerDownOutside:O=>{O.preventDefault(),h(!1),b?.onCellEditingStop?.()},children:[N?.map(O=>(0,l.jsx)(Se,{value:O,children:O},O)),(0,l.jsx)(Se,{value:"null",children:"NULL"})]})]}):(0,l.jsx)("span",{className:"flex items-center size-full px-2 py-1.5 truncate",children:x??"NULL"})})});iv.displayName="TableEnumCell";var lv=(0,p.memo)(({cell:e,table:t,rowIndex:n,columnId:r,isEditing:s,isFocused:a,isSelected:o})=>{const{setUpdate:i,clearUpdate:c,getUpdate:u}=rn(),d=e.getValue(),f=(0,p.useRef)(null),h=t.options.meta,m=e.row.original,v=r,S=u(m,v,t.options.meta?.editScope),b=S?S.newValue:d,N=(0,p.useCallback)(C=>{const j=C?C.toISOString():null;i(m,v,j,d,t.options.meta?.editScope),h?.onCellEditingStop?.()},[v,d,m,i,h]),w=(0,p.useCallback)(()=>{c(m,v,t.options.meta?.editScope),h?.onCellEditingStop?.()},[m,v,c,h,b,d]),y=(0,p.useCallback)(C=>{s&&(C.key==="Escape"||C.key==="Tab")&&(C.preventDefault(),w())},[s,w]),g=(0,p.useCallback)(C=>{C||h?.onCellEditingStop?.()},[h]);(0,p.useEffect)(()=>{a&&!s&&!h?.isScrolling&&f.current&&f.current.focus()},[a,s,h?.isScrolling]);const x=b?new Date(b):void 0;return(0,l.jsx)(mr,{ref:f,cell:e,table:t,rowIndex:n,columnId:r,isEditing:s,isFocused:a,isSelected:o,onKeyDown:y,className:s?"p-0!":void 0,children:s?(0,l.jsx)(Sr,{isFormatted:!1,icon:!1,value:x,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,l.jsx)("span",{"data-slot":"grid-cell-content",className:G(!x&&"text-muted-foreground"),children:x&&!Number.isNaN(x.getTime())?Tn(x,"yyyy-MM-dd"):"Pick a date"})})});lv.displayName="TableDateCell";var cv=(0,p.memo)(({cell:e,table:t,rowIndex:n,columnId:r,isEditing:s,isFocused:a,isSelected:o})=>{const{setUpdate:i,clearUpdate:c,getUpdate:u}=rn(),{editor:d}=Xo(),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(T){console.error(`TableJsonCell ${r}: Failed to parse initialValue string`,f,T),h={}}else h=f;const[m,v]=(0,p.useState)(()=>JSON.stringify(h,null,d.tabSize)??""),[S,b]=(0,p.useState)(!1),N=(0,p.useRef)(null),w=t.options.meta,y=e.row.original,g=r,x=u(y,g,t.options.meta?.editScope),C=x?x.newValue:h,j=JSON.stringify(C),E=(0,p.useMemo)(()=>{try{return JSON.parse(m),null}catch(T){return T instanceof Error?T.message:"Invalid JSON"}},[m]),R=(0,p.useCallback)(()=>{let T;try{T=JSON.parse(m)}catch{return!1}return JSON.stringify(T)===JSON.stringify(h)?c(y,g,t.options.meta?.editScope):i(y,g,T,h,t.options.meta?.editScope),!0},[m,h,g,y,i,c]),O=(0,p.useCallback)(()=>{R()&&(w?.onCellEditingStop?.(),b(!1))},[R,w]),k=(0,p.useCallback)(()=>{v(JSON.stringify(h,null,d.tabSize)??""),c(y,g,t.options.meta?.editScope),w?.onCellEditingStop?.(),b(!1)},[w,h,g,y,c,d.tabSize]),_=(0,p.useCallback)(T=>{b(T),T||(R(),w?.onCellEditingStop?.())},[R,w]),A=(0,p.useCallback)(T=>{T.preventDefault()},[]),I=(0,p.useCallback)(T=>{s&&!S&&(T.key==="Escape"?(T.preventDefault(),w?.onCellEditingStop?.()):T.key==="Tab"&&(T.preventDefault(),w?.onCellEditingStop?.({direction:T.shiftKey?"left":"right"})))},[s,S,w]);return(0,p.useEffect)(()=>{s&&!S?(v(JSON.stringify(C,null,d.tabSize)),b(!0)):!s&&S&&b(!1)},[s,S,C]),(0,p.useEffect)(()=>{a&&!s&&!w?.isScrolling&&N.current&&N.current.focus()},[a,s,w?.isScrolling]),cr("enter",()=>O(),{enabled:S}),cr("esc",()=>k(),{enabled:S}),(0,l.jsx)(Du,{active:S||s,open:S,onOpenChange:_,anchor:(0,l.jsx)(mr,{ref:N,cell:e,table:t,rowIndex:n,columnId:r,isEditing:s,isFocused:a,isSelected:o,onKeyDown:I,children:(0,l.jsx)("span",{"data-slot":"grid-cell-content",children:j})}),children:(0,l.jsxs)(Mn,{"data-grid-cell-editor":"",align:"start",side:"bottom",sideOffset:0,className:"w-[440px] rounded-none p-0 gap-0",onOpenAutoFocus:A,children:[(0,l.jsx)(p.Suspense,{fallback:(0,l.jsx)("div",{className:"h-[240px]"}),children:(0,l.jsx)(FR,{value:m,onChange:v,onSave:O,onCancel:k,className:"h-[240px]"})}),E&&(0,l.jsx)("p",{className:"border-t px-2 py-1.5 text-xs text-destructive truncate",children:E}),(0,l.jsxs)("div",{className:"flex flex-col border-t",children:[(0,l.jsxs)(te,{variant:"ghost",size:"sm",disabled:!!E,onClick:O,className:"rounded-none justify-start text-xs py-4 px-2",children:[(0,l.jsx)(ht,{className:"text-xs font-normal",children:"⌘↵"}),(0,l.jsx)("span",{className:"ml-1 text-xs",children:"Save Changes"})]}),(0,l.jsxs)(te,{variant:"ghost",size:"sm",onClick:k,className:"rounded-none justify-start text-xs py-4 px-2",children:[(0,l.jsx)(ht,{className:"text-xs font-normal",children:"esc"}),(0,l.jsx)("span",{className:"ml-1 text-xs",children:"Cancel Changes"})]})]})]})})});cv.displayName="TableJsonCell";var uv=(0,p.memo)(({cell:e,table:t,rowIndex:n,columnId:r,isEditing:s,isFocused:a,isSelected:o})=>{const{setUpdate:i,clearUpdate:c,getUpdate:u}=rn(),d=e.getValue(),f=An(d),[h,m]=(0,p.useState)(()=>f??""),[v,S]=(0,p.useState)(!1),[b,N]=(0,p.useState)(!1),[w,y]=(0,p.useState)(!1);b&&!w&&y(!0);const g=(0,p.useRef)(null),x=(0,p.useRef)(null),C=t.options.meta,j=e.column.columnDef.meta?.referencedTable,E=e.row.original,R=r,O=u(E,R,t.options.meta?.editScope),k=O?An(O.newValue):f??"",_=(0,p.useCallback)(()=>{i(E,R,h,d,t.options.meta?.editScope),C?.onCellEditingStop?.(),S(!1)},[C,h,d,R,E,i]),A=(0,p.useCallback)(()=>{m(f??""),c(E,R,t.options.meta?.editScope),C?.onCellEditingStop?.(),S(!1)},[C,f,R,E,c]),I=(0,p.useCallback)(B=>{m(B.target.value)},[]),T=(0,p.useCallback)(B=>{S(B),B||(h!==f&&i(E,R,h,f,t.options.meta?.editScope),C?.onCellEditingStop?.())},[C,h,f,R,E,i]),M=(0,p.useCallback)(B=>{if(B.preventDefault(),g.current){g.current.focus();const q=g.current.value.length;g.current.setSelectionRange(q,q)}},[]),P=(0,p.useCallback)(B=>{s&&!v&&(B.key==="Escape"?(B.preventDefault(),C?.onCellEditingStop?.()):B.key==="Tab"&&(B.preventDefault(),C?.onCellEditingStop?.({direction:B.shiftKey?"left":"right"})))},[s,v,C]),V=(0,p.useCallback)(B=>{B.key==="Escape"?(B.preventDefault(),A()):B.key==="Enter"&&(B.ctrlKey||B.metaKey)&&(B.preventDefault(),_()),B.stopPropagation()},[A,_]),L=(0,p.useCallback)(()=>{h!==f&&i(E,R,h,f,t.options.meta?.editScope),C?.onCellEditingStop?.(),S(!1)},[C,h,f,R,E,i]);return(0,p.useEffect)(()=>{s&&!v?(m(k),S(!0)):!s&&v&&S(!1)},[s,v,k]),(0,p.useEffect)(()=>{a&&!s&&!C?.isScrolling&&x.current&&x.current.focus()},[a,s,C?.isScrolling]),(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(Du,{active:v||s,open:v,onOpenChange:T,anchor:(0,l.jsx)(mr,{ref:x,cell:e,table:t,rowIndex:n,columnId:r,isEditing:s,isFocused:a,isSelected:o,onKeyDown:P,children:k!==""&&(0,l.jsxs)("span",{className:"flex items-center gap-1.5 size-full overflow-hidden",children:[j&&(0,l.jsx)(ys,{variant:"outline",className:"shrink-0 cursor-pointer hover:bg-muted",onClick:B=>{B.stopPropagation(),N(!0)},children:j}),(0,l.jsx)("span",{className:"truncate text-muted-foreground",children:k})]})}),children:(0,l.jsxs)(Mn,{"data-grid-cell-editor":"",align:"start",side:"bottom",sideOffset:0,className:"w-[400px] rounded-none p-0 gap-0",onOpenAutoFocus:M,children:[(0,l.jsx)(Wn,{ref:g,value:h,onChange:I,onKeyDown:V,onBlur:L,className:"min-h-[150px] resize-none rounded-none border-0 shadow-none focus-visible:ring-0",placeholder:"Enter value..."}),(0,l.jsxs)("div",{className:"flex flex-col border-t",children:[(0,l.jsxs)(te,{variant:"ghost",size:"sm",className:"rounded-none justify-start text-xs py-4 px-2",children:[(0,l.jsx)(ht,{className:"text-xs font-normal",children:"⌘↵"}),(0,l.jsx)("span",{className:"ml-1 text-xs",children:"Save Changes"})]}),(0,l.jsxs)(te,{variant:"ghost",size:"sm",className:"rounded-none justify-start text-xs py-4 px-2",children:[(0,l.jsx)(ht,{className:"text-xs font-normal",children:"esc"}),(0,l.jsx)("span",{className:"ml-1 text-xs",children:"Cancel Changes"})]})]})]})}),w&&(0,l.jsx)(hR,{open:b,onOpenChange:N,children:(0,l.jsx)(gR,{className:"h-[70vh]",children:j&&(0,l.jsx)(LR,{referencedTable:j,referencedColumn:e.column.columnDef.meta?.referencedColumn??"id",fkValue:k})})})]})});uv.displayName="TableForeignKeyCell";var $R=({cell:e,table:t})=>{const n=t.options.meta,r=t.getRowModel().rows,s=(0,p.useMemo)(()=>{const h=r.findIndex(m=>m.original===e.row.original);return h>=0?h:e.row.index},[r,e.row.original,e.row.index]),a=e.column.id,o=n?.focusedCell?.rowIndex===s&&n?.focusedCell?.columnId===a,i=n?.editingCell?.rowIndex===s&&n?.editingCell?.columnId===a,c=n?.getIsCellSelected?.(s,a)??!1,u=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,l.jsx)(mr,{cell:e,table:t,rowIndex:s,columnId:a,isEditing:!1,isFocused:o,isSelected:c,"aria-readonly":"true",title:n.rowMutationReason,className:"pr-7",children:(0,l.jsx)("span",{"data-slot":"grid-cell-content",children:An(h)})})}if(d&&f)return(0,l.jsx)(uv,{cell:e,table:t,rowIndex:s,columnId:a,isEditing:i,isFocused:o,isSelected:c});switch(u){case"text":return(0,l.jsx)(go,{cell:e,table:t,rowIndex:s,columnId:a,isEditing:i,isFocused:o,isSelected:c});case"boolean":return(0,l.jsx)(ov,{cell:e,table:t,rowIndex:s,columnId:a,isEditing:i,isFocused:o,isSelected:c});case"number":return(0,l.jsx)(av,{cell:e,table:t,rowIndex:s,columnId:a,isEditing:i,isFocused:o,isSelected:c});case"enum":return(0,l.jsx)(iv,{cell:e,table:t,rowIndex:s,columnId:a,isEditing:i,isFocused:o,isSelected:c});case"date":return(0,l.jsx)(lv,{cell:e,table:t,rowIndex:s,columnId:a,isEditing:i,isFocused:o,isSelected:c});case"json":return(0,l.jsx)(cv,{cell:e,table:t,rowIndex:s,columnId:a,isEditing:i,isFocused:o,isSelected:c});case"array":return(0,l.jsx)(go,{cell:e,table:t,rowIndex:s,columnId:a,isEditing:i,isFocused:o,isSelected:c});default:return(0,l.jsx)(go,{cell:e,table:t,rowIndex:s,columnId:a,isEditing:i,isFocused:o,isSelected:c})}},zR=()=>({id:"select",accessorKey:"select",header:({table:e})=>(0,l.jsx)("div",{className:"w-full h-full flex items-center justify-center",children:(0,l.jsx)(lr,{checked:e.getIsAllRowsSelected(),onCheckedChange:()=>e.toggleAllRowsSelected()})}),cell:({row:e})=>(0,l.jsx)("div",{className:"w-full h-full flex items-center justify-center",children:(0,l.jsx)(lr,{checked:e.getIsSelected(),onCheckedChange:()=>e.toggleSelected()})}),size:20,enableSorting:!1}),dv={order:[],hidden:[]},kf=(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]),To=({dbType:e,database:t,tableName:n})=>JSON.stringify([e,t,n]),fv=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"):[]}},VR=e=>!e||typeof e!="object"?{}:Object.fromEntries(Object.entries(e).map(([t,n])=>[t,fv(n)])),hv=dr()(pp(e=>({prefsByTable:{},setColumnPrefs:(t,n)=>e(r=>({prefsByTable:{...r.prefsByTable,[To(t)]:fv(n)}})),clearColumnPrefs:t=>e(n=>{const{[To(t)]:r,...s}=n.prefsByTable;return{prefsByTable:s}})}),{name:"dbstudio-column-preferences",partialize:e=>({prefsByTable:e.prefsByTable}),merge:(e,t)=>({...t,prefsByTable:VR(e?.prefsByTable)})})),wl=e=>hv.getState().prefsByTable[To(e)]??dv,sa=(e,t)=>{const n=new Set(e),r=new Set,s=[];for(const a of t.order)n.has(a)&&!r.has(a)&&(s.push(a),r.add(a));for(const a of e)r.has(a)||(s.push(a),r.add(a));return{order:s,hidden:t.hidden.filter(a=>n.has(a)&&typeof a=="string")}},BR=(e,t)=>{const{order:n,hidden:r}=sa(e,t),s=new Set(r);return[...n.filter(a=>!s.has(a))].sort((a,o)=>n.indexOf(a)-n.indexOf(o))},gc=(e,t,n,r)=>{if(t===n)return e;const s=e.indexOf(t),a=e.indexOf(n);if(s===-1||a===-1)return e;const o=[...e];o.splice(s,1);const i=o.indexOf(n),c=(r??(s<a?"after":"before"))==="after"?i+1:i;return o.splice(c,0,t),o},mv=({tableName:e,tableCols:t})=>{const{dbType:n,selectedDatabase:r}=Ue(),{prefsByTable:s,setColumnPrefs:a,clearColumnPrefs:o}=hv(),i=(0,p.useMemo)(()=>(t??[]).map(y=>y.columnName),[t]),c=(0,p.useMemo)(()=>i.join(`
13
- `),[i]),u=(0,p.useMemo)(()=>({dbType:n??"",database:r??"",tableName:e}),[n,r,e]),d=s[To(u)]??dv,f=(0,p.useRef)(i);(0,p.useLayoutEffect)(()=>{f.current=i},[i]),(0,p.useEffect)(()=>{if(c.length===0)return;const y=wl(u),g=sa(f.current,y);kf(y,g)||a(u,g)},[u,c,a]);const h=(0,p.useCallback)(y=>{const g=sa(f.current,y);kf(wl(u),g)||a(u,g)},[u,a]),m=(0,p.useCallback)(()=>sa(f.current,wl(u)),[u]),v=(0,p.useCallback)(y=>{const g=m(),x=new Set(g.hidden);x.has(y)?x.delete(y):x.add(y),h({...g,hidden:[...x]})},[m,h]),S=(0,p.useCallback)((y,g,x)=>{const C=m(),j=x??C.order,E=j.indexOf(y),R=E+g;if(E===-1||R<0||R>=j.length)return;const O=j[R],k=gc(C.order,y,O,g===-1?"before":"after");h({...C,order:k})},[m,h]),b=(0,p.useCallback)((y,g,x)=>{const C=m(),j=gc(C.order,y,g,x);h({...C,order:j})},[m,h]),N=(0,p.useCallback)(()=>{const y=m();h({...y,hidden:[]})},[m,h]),w=(0,p.useCallback)(()=>{o(u)},[u,o]);return{orderedColumns:(0,p.useMemo)(()=>sa(i,d).order,[i,d]),visibleColumns:(0,p.useMemo)(()=>BR(i,d),[i,d]),toggleColumn:v,moveColumn:S,reorderColumn:b,showAllColumns:N,resetColumns:w}},Pu=()=>{const e=hr();return{canMutateRows:e?.rowMutation??!0,rowMutationReason:e?.rowMutation===!1?e.rowMutationReason:void 0}},UR=({tableName:e,tableCols:t,tableDataRows:n,isRowHighlighted:r,isCellHighlighted:s})=>{const[a]=Ce(me.COLUMN_NAME),[o]=Ce(me.TABLE_STATE_KEYS.ORDER),{canMutateRows:i,rowMutationReason:c}=Pu(),[u,d]=(0,p.useState)({}),[f,h]=(0,p.useState)({}),[m,v]=(0,p.useState)(null),[S,b]=(0,p.useState)(null),{visibleColumns:N}=mv({tableName:e,tableCols:t}),w=(0,p.useMemo)(()=>{if(!t)return;const M=new Map(t.map(P=>[P.columnName,P]));return N.map(P=>M.get(P)).filter(P=>!!P)},[t,N]),y=(0,p.useMemo)(()=>zR(),[]),g=(0,p.useMemo)(()=>[y,...w?.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},size:(M.columnName.length+(M.dataTypeLabel?.length||0))*5+100,minSize:100,maxSize:500}))||[]],[w,y]);(0,p.useEffect)(()=>{d({})},[e]),(0,p.useEffect)(()=>{i||b(null)},[i]);const x=(0,p.useMemo)(()=>a&&o?[{id:a,desc:o==="desc"}]:[],[a,o]),C=(0,p.useCallback)((M,P)=>{v({rowIndex:M,columnId:P})},[]),j=(0,p.useCallback)((M,P)=>{i&&b({rowIndex:M,columnId:P})},[i]),E=(0,p.useCallback)((M,P)=>{i&&b({rowIndex:M,columnId:P})},[i]),R=(0,p.useCallback)(()=>{b(null)},[]),O=(0,p.useCallback)(()=>{},[]),k=(0,p.useCallback)(()=>!1,[]),_=(0,p.useMemo)(()=>t?.filter(M=>M.isPrimaryKey).map(M=>M.columnName)??[],[t]),A=(0,p.useCallback)(M=>hc(M,_),[_]),I=(0,p.useMemo)(()=>({editScope:e,canMutateRows:i,rowMutationReason:c,focusedCell:m,editingCell:S,onCellClick:C,onCellDoubleClick:j,onCellEditingStart:E,onCellEditingStop:R,onDataUpdate:O,getIsCellSelected:k,isRowHighlighted:r??(M=>Hn.getState().isRowHighlighted(M)),isCellHighlighted:s??((M,P)=>Hn.getState().isCellHighlighted(M,P))}),[e,i,c,m,S,C,j,E,R,O,k,r,s]),T=qc({data:n,columns:g,defaultColumn:{cell:$R,size:50,minSize:100,maxSize:500},getRowId:A,getCoreRowModel:Hc(),getSortedRowModel:Sw(),state:{sorting:x,rowSelection:u,columnSizing:f},manualSorting:!1,enableRowSelection:!0,enableMultiRowSelection:!0,enableColumnResizing:!0,columnResizeMode:"onChange",onRowSelectionChange:d,onColumnSizingChange:h,meta:I});return{table:T,selectedRows:T.getSelectedRowModel().rows,setRowSelection:d,isEditingCell:!!S}},pv=({tableName:e,schemaName:t})=>{const n=At(),{tableCols:r}=jt({tableName:e,schemaName:t}),{selectedDatabase:s,dbType:a}=Ue(),{mutateAsync:o,isPending:i,reset:c,error:u}=It({mutationFn:async({rowData:h,force:m=!1})=>{if(!e)throw new Error("No active table selected");if(!r||r.length===0)throw new Error("No table columns found");return await HR(e,t,r,h,m,s||void 0)},onSuccess:async h=>(await Promise.all([n.invalidateQueries({queryKey:Me.dataByTable(e),exact:!1}),n.invalidateQueries({queryKey:Me.lists()})]),a&&_n.capture("record_deleted",{db_type:a}),h)});return{deleteCells:async h=>{const m=o({rowData:h,force:!1});return Be.promise(m,{loading:"Deleting records...",success:v=>`Deleted ${v.deletedCount} records from "${e}"`,error:v=>v.message||"Failed to delete records"}),m},forceDeleteCells:async h=>{const m=o({rowData:h,force:!0});return Be.promise(m,{loading:"Deleting records...",success:v=>`Deleted ${v.deletedCount} records from "${e}"`,error:v=>v.message||"Failed to delete records"}),m},isDeletingCells:i,resetDeleteResult:c,deleteCellsError:u}},HR=async(e,t,n,r,s,a)=>{const o=n.find(c=>c.isPrimaryKey);if(!o)throw new Error("No primary key found for this table");const i={tableName:e,schemaName:t,primaryKeys:r.map(c=>({columnName:o.columnName,value:c[o.columnName]}))};try{const c=await BS({...i,force:s,db:a});return{deletedCount:c.data.data.deletedCount,fkViolation:c.data.data.fkViolation,relatedRecords:c.data.data.relatedRecords}}catch(c){const u=c;if(u.response?.status===409)return{deletedCount:u.response.data.deletedCount};throw c}},qR=["nextval(","next_value","auto_increment","autoincrement","identity","uuid_generate","gen_random_uuid","newid(","newsequentialid("],WR=e=>{const t=e.columnDefault?.toLowerCase()??"";return qR.some(n=>t.includes(n))},Lu=e=>e?.filter(t=>t.isPrimaryKey)??[],KR=e=>Lu(e)[0],gv=e=>{const t=Lu(e);if(t.length>0)return t.map(r=>r.columnName);const n=e?.find(r=>r.columnName==="id");return n?[n.columnName]:[]},YR=(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])])},Sl=(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},GR=(e,t)=>Object.keys(e).filter(n=>e[n]).map(n=>({columnName:n,value:t[n]??""})),JR=async e=>{await navigator.clipboard.writeText(e)},QR=({tableName:e,tableCols:t,row:n,rowIndex:r})=>{const{setDirty:s}=qr(),a=(0,p.useMemo)(()=>KR(t),[t]),o=(0,p.useMemo)(()=>Lu(t),[t]),i=(0,p.useMemo)(()=>gv(t),[t]),c=(0,p.useMemo)(()=>JSON.stringify((t??[]).map(w=>w.columnName)),[t]),u=Os({defaultValues:(0,p.useMemo)(()=>Sl(n,t),[n,t])}),{formState:d}=u,f=d.isDirty;(0,p.useEffect)(()=>{s(f)},[f,s]);const h=o.some(w=>!!d.dirtyFields[w.columnName]),m=(0,p.useRef)(void 0),v=(0,p.useRef)(void 0),S=(0,p.useRef)(null),b=(0,p.useRef)(null),N=(0,p.useRef)(c);return(0,p.useEffect)(()=>{const w=YR(n,t);if(!(e===b.current&&r===S.current&&c===N.current)){b.current=e,S.current=r,N.current=c,m.current=n,v.current=w,u.reset(Sl(n,t));return}if(n===m.current)return;m.current=n;const y=Sl(n,t);if(!f){v.current=w,u.reset(y);return}w!==void 0&&v.current!==void 0&&w===v.current?u.reset(y,{keepDirtyValues:!0}):(v.current=w,u.reset(y))},[n,t,e,r,c,u,f]),{methods:u,isDirty:f,pkDirty:h,primaryKeyColumn:a,identityColumnNames:i}},XR=({tableName:e,schemaName:t})=>{const n=At(),{selectedDatabase:r,dbType:s}=Ue(),{mutateAsync:a,isPending:o}=It({mutationFn:async({rowData:c,updates:u,primaryKey:d,primaryKeys:f})=>{if(!e)throw new Error("No table selected");if(u.length===0)throw new Error("At least one field is required");return(await fp({tableName:e,schemaName:t,updates:u.map(h=>({rowData:c,...h})),...d?{primaryKey:d}:{},...f?.length?{primaryKeys:f}:{},db:r})).data.data},onSuccess:async()=>{await Promise.all([n.invalidateQueries({queryKey:Me.dataByTable(e),exact:!1}),n.invalidateQueries({queryKey:Me.lists()})]),s&&_n.capture("record_updated",{db_type:s})}});return{updateRecord:async({rowData:c,updates:u,primaryKey:d,primaryKeys:f})=>{if(u.length===0)throw new Error("At least one field is required");return Be.promise(a({rowData:c,updates:u,primaryKey:d,primaryKeys:f}),{loading:"Saving changes...",success:h=>h||"Record updated successfully",error:h=>h.message||"Failed to update record"}).unwrap()},isUpdatingRecord:o}},ZR=({value:e})=>{const[t,n]=(0,p.useState)(!1);return(0,p.useEffect)(()=>{if(!t)return;const r=window.setTimeout(()=>n(!1),1200);return()=>window.clearTimeout(r)},[t]),e?(0,l.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:()=>{JR(e).then(()=>n(!0)).catch(()=>{})},children:t?(0,l.jsx)(Zr,{className:"size-3.5"}):(0,l.jsx)(Qc,{className:"size-3.5"})}):null},e1=({column:e,displayValue:t,readOnly:n})=>{const{watch:r,formState:s}=lt(),a=r(e.columnName)??"",o=!!s.dirtyFields[e.columnName];return(0,l.jsxs)("div",{className:"grid grid-cols-3 gap-4",children:[(0,l.jsxs)("div",{className:"col-span-1 flex flex-col gap-1",children:[(0,l.jsxs)("span",{className:"text-sm font-medium",children:[e.columnName,o&&(0,l.jsx)("span",{className:"ml-1.5 inline-block size-1.5 rounded-full bg-primary",children:(0,l.jsx)("span",{className:"sr-only",children:"(modified)"})})]}),(0,l.jsxs)("span",{className:"flex items-center gap-1.5 text-xs text-muted-foreground",children:[e.dataTypeLabel,e.isPrimaryKey&&(0,l.jsx)("span",{className:"rounded border border-border bg-muted px-1 font-mono text-[10px]",children:"PK"})]})]}),(0,l.jsxs)("div",{className:"col-span-2 flex w-full items-start gap-2",children:[(0,l.jsx)("div",{className:"min-w-0 flex-1",children:n?(0,l.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,l.jsx)("span",{className:"text-muted-foreground",children:"NULL"})}):(0,l.jsx)(Fg,{...e,hideLabel:!0})}),(0,l.jsx)(ZR,{value:n?t:An(a)})]})]})},t1=({tableName:e,rows:t})=>{const{openOverlay:n,closeOverlay:r,isOverlayOpen:s}=Oe(),{rowIndex:a,selectRowDetails:o,clearRowDetails:i}=qr(),c=Je(),{tableCols:u,isLoadingTableCols:d}=jt({tableName:e,schemaName:c}),{canMutateRows:f,rowMutationReason:h}=Pu(),{updateRecord:m,isUpdatingRecord:v}=XR({tableName:e,schemaName:c}),{deleteCells:S,isDeletingCells:b}=pv({tableName:e,schemaName:c}),[N,w]=(0,p.useState)(null),[y,g]=(0,p.useState)(null),x=$=>{w($),n("tables.row-discard-changes")},C=()=>{w(null),r("tables.row-discard-changes")},j=s("tables.row-details")&&a!==null,E=a===null?void 0:t[a],R=v||b,{methods:O,isDirty:k,pkDirty:_,primaryKeyColumn:A,identityColumnNames:I}=QR({tableName:e,tableCols:u,row:E,rowIndex:a}),{formState:T,reset:M,handleSubmit:P}=O;(0,p.useEffect)(()=>{j&&a!==null&&!t[a]&&(k?x("close"):(i(),r("tables.row-details")))},[j,a,t,k,i,r]);const V=()=>{i(),r("tables.row-change-primary-key"),r("tables.row-delete-record"),r("tables.row-discard-changes"),r("tables.row-details")},L=()=>{R||(k?x("close"):V())},B=$=>{R||$===a||$<0||$>=t.length||(k?x($):o($))},q=()=>{R||!f||(k?x("delete"):n("tables.row-delete-record"))},F=()=>{const $=N;C(),$==="close"?V():$==="delete"?n("tables.row-delete-record"):typeof $=="number"&&o($)},K=async $=>{if(!E||!f)return;const Q=GR(T.dirtyFields,$);if(Q.length!==0)try{await m({rowData:E,updates:Q,primaryKey:I[0],primaryKeys:I}),M($),V()}catch{}},H=$=>{if(f){if(_){g($),n("tables.row-change-primary-key");return}K($)}},Y=async()=>{if(!(!E||!f)){r("tables.row-delete-record");try{(await S([E])).deletedCount>0&&V()}catch{}}},ne=a!==null&&a>0,ee=a!==null&&a<t.length-1;return cr("up, down",$=>{a!==null&&($.preventDefault(),B($.key==="ArrowUp"?a-1:a+1))},{enabled:j&&!R},[j,R,a,t.length,k]),(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(nn,{title:"Row details",description:a!==null?`${e} · Row ${a+1} of ${t.length}`:e,cta:(0,l.jsxs)("div",{className:"flex items-center gap-1",children:[(0,l.jsx)(te,{type:"button",variant:"ghost",size:"icon-sm","aria-label":"Previous row",disabled:!ne||R,onClick:()=>a!==null&&B(a-1),children:(0,l.jsx)(Xc,{className:"size-4"})}),(0,l.jsx)(te,{type:"button",variant:"ghost",size:"icon-sm","aria-label":"Next row",disabled:!ee||R,onClick:()=>a!==null&&B(a+1),children:(0,l.jsx)(es,{className:"size-4"})})]}),closeButton:!1,modal:!1,onFocusOutside:$=>$.preventDefault(),onPointerDownOutside:$=>{$.target?.closest("table, [role=alertdialog]")&&$.preventDefault()},open:j,onOpenChange:$=>{$||L()},children:u&&u.length>0&&E?(0,l.jsxs)(Ms,{...O,children:[(0,l.jsxs)("form",{onSubmit:P(H),className:"flex flex-col h-full",children:[(0,l.jsxs)("div",{className:"space-y-6",children:[h&&(0,l.jsx)(vt,{variant:"info",title:"Row editing unavailable",message:h}),u.map($=>(0,l.jsx)(e1,{column:$,displayValue:An(E[$.columnName]),readOnly:!f||WR($)},$.columnName))]}),(0,l.jsxs)("div",{className:"flex items-center justify-between gap-2 py-6",children:[(0,l.jsxs)(te,{type:"button",variant:"destructive",size:"lg",disabled:R||!f||!A,title:h??(A?void 0:"Records in tables without a primary key can't be deleted"),onClick:q,children:[(0,l.jsx)(Jc,{className:"size-4"}),"Delete"]}),(0,l.jsxs)("div",{className:"flex gap-2",children:[(0,l.jsx)(te,{type:"button",variant:"outline",size:"lg",disabled:R,onClick:L,children:"Close"}),(0,l.jsx)(te,{type:"submit",size:"lg",disabled:R||!f||!k||I.length===0,title:h??(I.length>0?void 0:"Saving needs a primary key or an id column to address the record"),children:"Save changes"})]})]})]}),(0,l.jsx)($g,{})]}):(0,l.jsx)("div",{className:"flex flex-col h-full",children:(0,l.jsx)("div",{className:"space-y-6",children:d?(0,l.jsx)("p",{className:"text-sm text-muted-foreground",children:"Loading row details..."}):(0,l.jsx)(vt,{variant:"info",title:"No columns found",message:"Please add at least one column to the table before viewing records."})})})}),(0,l.jsx)(Ar,{open:s("tables.row-discard-changes"),onOpenChange:$=>{$||C()},children:(0,l.jsxs)(_r,{children:[(0,l.jsxs)(kr,{children:[(0,l.jsx)(Mr,{children:"Discard unsaved changes?"}),(0,l.jsx)(Dr,{children:"This record has unsaved changes. Discard them and continue?"})]}),(0,l.jsxs)(Rr,{children:[(0,l.jsx)(Tr,{children:"Keep editing"}),(0,l.jsx)(Or,{onClick:F,children:"Discard changes"})]})]})}),(0,l.jsx)(Ar,{open:s("tables.row-change-primary-key"),onOpenChange:$=>{$||(r("tables.row-change-primary-key"),g(null))},children:(0,l.jsxs)(_r,{children:[(0,l.jsxs)(kr,{children:[(0,l.jsx)(Mr,{children:"Change the primary key?"}),(0,l.jsx)(Dr,{children:"Changing the primary key changes the identity of this record. Existing references to the old key may break. Are you sure?"})]}),(0,l.jsxs)(Rr,{children:[(0,l.jsx)(Tr,{children:"Cancel"}),(0,l.jsx)(Or,{onClick:()=>{r("tables.row-change-primary-key"),y&&(K(y),g(null))},children:"Change primary key"})]})]})}),(0,l.jsx)(Ar,{open:s("tables.row-delete-record"),onOpenChange:$=>{$||r("tables.row-delete-record")},children:(0,l.jsxs)(_r,{children:[(0,l.jsxs)(kr,{children:[(0,l.jsx)(Mr,{children:"Delete record"}),(0,l.jsxs)(Dr,{children:['Are you sure you want to delete this record from "',e,'"? This action cannot be undone.']})]}),(0,l.jsxs)(Rr,{children:[(0,l.jsx)(Tr,{children:"Cancel"}),(0,l.jsx)(Or,{variant:"destructive",onClick:()=>{Y()},children:"Delete"})]})]})})]})};function W(){return W=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},W.apply(null,arguments)}function Re(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var vv={},yv=(0,p.createContext)(vv),n1=(e,t)=>W({},e,t),r1=()=>(0,p.useContext)(yv),Fu=(0,p.createContext)(()=>{});Fu.displayName="JVR.DispatchShowTools";function s1(){return(0,p.useReducer)(n1,vv)}function xv(){return(0,p.useContext)(Fu)}var bv=e=>{var{initial:t,dispatch:n,children:r}=e;return(0,l.jsx)(yv.Provider,{value:t,children:(0,l.jsx)(Fu.Provider,{value:n,children:r})})};bv.displayName="JVR.ShowTools";var wv={},Sv=(0,p.createContext)(wv),a1=(e,t)=>W({},e,t),xi=()=>(0,p.useContext)(Sv),$u=(0,p.createContext)(()=>{});$u.displayName="JVR.DispatchExpands";function o1(){return(0,p.useReducer)(a1,wv)}function i1(){return(0,p.useContext)($u)}var Cv=e=>{var{initial:t,dispatch:n,children:r}=e;return(0,l.jsx)(Sv.Provider,{value:t,children:(0,l.jsx)($u.Provider,{value:n,children:r})})};Cv.displayName="JVR.Expands";var Nv={Str:{as:"span","data-type":"string",style:{color:"var(--w-rjv-type-string-color, #cb4b16)"},className:"w-rjv-type",children:"string"},Url:{as:"a",style:{color:"var(--w-rjv-type-url-color, #0969da)"},"data-type":"url",className:"w-rjv-type",children:"url"},Undefined:{style:{color:"var(--w-rjv-type-undefined-color, #586e75)"},as:"span","data-type":"undefined",className:"w-rjv-type",children:"undefined"},Null:{style:{color:"var(--w-rjv-type-null-color, #d33682)"},as:"span","data-type":"null",className:"w-rjv-type",children:"null"},Map:{style:{color:"var(--w-rjv-type-map-color, #268bd2)",marginRight:3},as:"span","data-type":"map",className:"w-rjv-type",children:"Map"},Nan:{style:{color:"var(--w-rjv-type-nan-color, #859900)"},as:"span","data-type":"nan",className:"w-rjv-type",children:"NaN"},Bigint:{style:{color:"var(--w-rjv-type-bigint-color, #268bd2)"},as:"span","data-type":"bigint",className:"w-rjv-type",children:"bigint"},Int:{style:{color:"var(--w-rjv-type-int-color, #268bd2)"},as:"span","data-type":"int",className:"w-rjv-type",children:"int"},Set:{style:{color:"var(--w-rjv-type-set-color, #268bd2)",marginRight:3},as:"span","data-type":"set",className:"w-rjv-type",children:"Set"},Float:{style:{color:"var(--w-rjv-type-float-color, #859900)"},as:"span","data-type":"float",className:"w-rjv-type",children:"float"},True:{style:{color:"var(--w-rjv-type-boolean-color, #2aa198)"},as:"span","data-type":"bool",className:"w-rjv-type",children:"bool"},False:{style:{color:"var(--w-rjv-type-boolean-color, #2aa198)"},as:"span","data-type":"bool",className:"w-rjv-type",children:"bool"},Date:{style:{color:"var(--w-rjv-type-date-color, #268bd2)"},as:"span","data-type":"date",className:"w-rjv-type",children:"date"}},Ev=(0,p.createContext)(Nv),l1=(e,t)=>W({},e,t),qe=()=>(0,p.useContext)(Ev),zu=(0,p.createContext)(()=>{});zu.displayName="JVR.DispatchTypes";function c1(){return(0,p.useReducer)(l1,Nv)}function u1(){return(0,p.useContext)(zu)}function Iv(e){var{initial:t,dispatch:n,children:r}=e;return(0,l.jsx)(Ev.Provider,{value:t,children:(0,l.jsx)(zu.Provider,{value:n,children:r})})}Iv.displayName="JVR.Types";var d1=["style"];function jv(e){var{style:t}=e,n=Re(e,d1),r=W({cursor:"pointer",height:"1em",width:"1em",userSelect:"none",display:"inline-flex"},t);return(0,l.jsx)("svg",W({viewBox:"0 0 24 24",fill:"var(--w-rjv-arrow-color, currentColor)",style:r},n,{children:(0,l.jsx)("path",{d:"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"})}))}jv.displayName="JVR.TriangleArrow";var Tv={Arrow:{as:"span",className:"w-rjv-arrow",style:{transform:"rotate(0deg)",transition:"all 0.3s"},children:(0,l.jsx)(jv,{})},Colon:{as:"span",style:{color:"var(--w-rjv-colon-color, var(--w-rjv-color))",marginLeft:0,marginRight:2},className:"w-rjv-colon",children:":"},Quote:{as:"span",style:{color:"var(--w-rjv-quotes-color, #236a7c)"},className:"w-rjv-quotes",children:'"'},ValueQuote:{as:"span",style:{color:"var(--w-rjv-quotes-string-color, #cb4b16)"},className:"w-rjv-quotes",children:'"'},BracketsLeft:{as:"span",style:{color:"var(--w-rjv-brackets-color, #236a7c)"},className:"w-rjv-brackets-start",children:"["},BracketsRight:{as:"span",style:{color:"var(--w-rjv-brackets-color, #236a7c)"},className:"w-rjv-brackets-end",children:"]"},BraceLeft:{as:"span",style:{color:"var(--w-rjv-curlybraces-color, #236a7c)"},className:"w-rjv-curlybraces-start",children:"{"},BraceRight:{as:"span",style:{color:"var(--w-rjv-curlybraces-color, #236a7c)"},className:"w-rjv-curlybraces-end",children:"}"}},Rv=(0,p.createContext)(Tv),f1=(e,t)=>W({},e,t),Ot=()=>(0,p.useContext)(Rv),Vu=(0,p.createContext)(()=>{});Vu.displayName="JVR.DispatchSymbols";function h1(){return(0,p.useReducer)(f1,Tv)}function m1(){return(0,p.useContext)(Vu)}var kv=e=>{var{initial:t,dispatch:n,children:r}=e;return(0,l.jsx)(Rv.Provider,{value:t,children:(0,l.jsx)(Vu.Provider,{value:n,children:r})})};kv.displayName="JVR.Symbols";var _v={Copied:{className:"w-rjv-copied",style:{height:"1em",width:"1em",cursor:"pointer",verticalAlign:"middle",marginLeft:5}},CountInfo:{as:"span",className:"w-rjv-object-size",style:{color:"var(--w-rjv-info-color, #0000004d)",paddingLeft:8,fontStyle:"italic"}},CountInfoExtra:{as:"span",className:"w-rjv-object-extra",style:{paddingLeft:8}},Ellipsis:{as:"span",style:{cursor:"pointer",color:"var(--w-rjv-ellipsis-color, #cb4b16)",userSelect:"none"},className:"w-rjv-ellipsis",children:"..."},Row:{as:"div",className:"w-rjv-line"},KeyName:{as:"span",className:"w-rjv-object-key"}},Av=(0,p.createContext)(_v),p1=(e,t)=>W({},e,t),sn=()=>(0,p.useContext)(Av),Bu=(0,p.createContext)(()=>{});Bu.displayName="JVR.DispatchSection";function g1(){return(0,p.useReducer)(p1,_v)}function v1(){return(0,p.useContext)(Bu)}var Mv=e=>{var{initial:t,dispatch:n,children:r}=e;return(0,l.jsx)(Av.Provider,{value:t,children:(0,l.jsx)(Bu.Provider,{value:n,children:r})})};Mv.displayName="JVR.Section";var Ov={objectSortKeys:!1,indentWidth:15},Uu=(0,p.createContext)(Ov);Uu.displayName="JVR.Context";var Dv=(0,p.createContext)(()=>{});Dv.displayName="JVR.DispatchContext";function y1(e,t){return W({},e,t)}var rs=()=>(0,p.useContext)(Uu),Pv=e=>{var{children:t,initialState:n,initialTypes:r}=e,[s,a]=(0,p.useReducer)(y1,Object.assign({},Ov,n)),[o,i]=s1(),[c,u]=o1(),[d,f]=c1(),[h,m]=h1(),[v,S]=g1();return(0,p.useEffect)(()=>a(W({},n)),[n]),(0,l.jsx)(Uu.Provider,{value:s,children:(0,l.jsx)(Dv.Provider,{value:a,children:(0,l.jsx)(bv,{initial:o,dispatch:i,children:(0,l.jsx)(Cv,{initial:c,dispatch:u,children:(0,l.jsx)(Iv,{initial:W({},d,r),dispatch:f,children:(0,l.jsx)(kv,{initial:h,dispatch:m,children:(0,l.jsx)(Mv,{initial:v,dispatch:S,children:t})})})})})})})};Pv.displayName="JVR.Provider";function x1(e){if(e==null)throw new TypeError("Cannot destructure "+e)}var b1=["isNumber","value","parentValue","keyName","keys"],w1=["as","render"],S1=["as","render"],C1=["as","render"],N1=["as","style","render"],E1=["as","render"],I1=["as","render"],j1=["as","render"],T1=["as","render"],vc=e=>{var{Quote:t={}}=Ot(),{isNumber:n,value:r,parentValue:s,keyName:a,keys:o}=e,i=Re(e,b1);if(n)return null;var{as:c,render:u}=t,d=Re(t,w1),f=c||"span",h=W({},i,d);typeof h.children=="string"&&(h.children=h.children.trim()||void 0);var m=u&&typeof u=="function"&&u(h,{value:r,parentValue:s,keyName:a,keys:o||(a?[a]:[])});return m||(0,l.jsx)(f,W({},h))};vc.displayName="JVR.Quote";var ya=e=>{var{ValueQuote:t={}}=Ot(),n=W({},(x1(e),e)),{as:r,render:s}=t,a=Re(t,S1),o=r||"span",i=W({},n,a),c=s&&typeof s=="function"&&s(i,{});return c||(0,l.jsx)(o,W({},i))};ya.displayName="JVR.ValueQuote";var Lv=e=>{var{value:t,parentValue:n,keyName:r,keys:s}=e,{Colon:a={}}=Ot(),{as:o,render:i}=a,c=Re(a,C1),u=o||"span",d=i&&typeof i=="function"&&i(c,{value:t,parentValue:n,keyName:r,keys:s||(r?[r]:[])});return d||(0,l.jsx)(u,W({},c))};Lv.displayName="JVR.Colon";var Fv=e=>{var{Arrow:t={}}=Ot(),n=xi(),{expandKey:r,style:s,value:a,parentValue:o,keyName:i,keys:c}=e,u=!!n[r],{as:d,style:f,render:h}=t,m=Re(t,N1),v=d||"span",S=h&&typeof h=="function",b=W({},m,{"data-expanded":u,style:W({},f,s)}),N=S&&h(b,{value:a,parentValue:o,keyName:i,keys:c||(i?[i]:[])});return N||(0,l.jsx)(v,W({},m,{style:W({},f,s)}))};Fv.displayName="JVR.Arrow";var $v=e=>{var{isBrackets:t,value:n,parentValue:r,keyName:s,keys:a}=e,{BracketsLeft:o={},BraceLeft:i={}}=Ot(),c={value:n,parentValue:r,keyName:s,keys:a||(s?[s]:[])};if(t){var{as:u,render:d}=o,f=Re(o,E1),h=u||"span",m=d&&typeof d=="function"&&d(f,c);return m||(0,l.jsx)(h,W({},f))}var{as:v,render:S}=i,b=Re(i,I1),N=v||"span",w=S&&typeof S=="function"&&S(b,c);return w||(0,l.jsx)(N,W({},b))};$v.displayName="JVR.BracketsOpen";var Hu=e=>{var{isBrackets:t,isVisiable:n,value:r,parentValue:s,keyName:a,keys:o}=e,i={value:r,parentValue:s,keyName:a,keys:o||(a?[a]:[])};if(!n)return null;var{BracketsRight:c={},BraceRight:u={}}=Ot();if(t){var{as:d,render:f}=c,h=Re(c,j1),m=d||"span",v=f&&typeof f=="function"&&f(h,i);return v||(0,l.jsx)(m,W({},h))}var{as:S,render:b}=u,N=Re(u,T1),w=S||"span",y=b&&typeof b=="function"&&b(N,i);return y||(0,l.jsx)(w,W({},N))};Hu.displayName="JVR.BracketsClose";var zv=e=>{var t,{keyName:n,value:r,expandKey:s,parentValue:a,level:o,keys:i=[]}=e,c=xi(),{collapsed:u,shouldExpandNodeInitially:d}=rs(),f=typeof u=="boolean"?u:typeof u=="number"?o>u:!1,h=(t=c[s])!=null?t:d?!1:f,m=d&&d(!h,{value:r,keys:i,level:o,keyName:n,parentValue:a});if(d&&u===!1){if(c[s]===void 0&&!m)return null}else if(c[s]===void 0&&m)return null;var v=Object.keys(r).length;if(h||v===0)return null;var S={paddingLeft:4},b={keyName:n,value:r,keys:i,parentValue:a},N=Array.isArray(r),w=r instanceof Set;return(0,l.jsx)("div",{style:S,children:(0,l.jsx)(Hu,W({isBrackets:N||w},b,{isVisiable:!0}))})};zv.displayName="JVR.NestedClose";var R1=["as","render"],k1=["as","render"],_1=["as","render"],A1=["as","render"],M1=["as","render"],O1=["as","render"],D1=["as","render"],P1=["as","render"],L1=["as","render"],F1=["as","render"],$1=["as","render"],z1=["as","render"],V1=["as","render"],yc=e=>{if(e===void 0)return"0n";if(typeof e=="string")try{e=BigInt(e)}catch{return"0n"}return e?e.toString()+"n":"0n"},Vv=e=>{var{value:t,keyName:n}=e,{Set:r={},displayDataTypes:s}=qe();if(!(t instanceof Set)||!s)return null;var{as:a,render:o}=r,i=Re(r,R1),c=o&&typeof o=="function"&&o(i,{type:"type",value:t,keyName:n});return c||(0,l.jsx)(a||"span",W({},i))};Vv.displayName="JVR.SetComp";var Bv=e=>{var{value:t,keyName:n}=e,{Map:r={},displayDataTypes:s}=qe();if(!(t instanceof Map)||!s)return null;var{as:a,render:o}=r,i=Re(r,k1),c=o&&typeof o=="function"&&o(i,{type:"type",value:t,keyName:n});return c||(0,l.jsx)(a||"span",W({},i))};Bv.displayName="JVR.MapComp";var gn={opacity:.75,paddingRight:4},Uv=e=>{var{children:t="",keyName:n,keys:r}=e,{Str:s={},displayDataTypes:a}=qe(),{shortenTextAfterLength:o=30,stringEllipsis:i="..."}=rs(),{as:c,render:u}=s,d=Re(s,_1),f=t,[h,m]=(0,p.useState)(o&&f.length>o);(0,p.useEffect)(()=>m(o&&f.length>o),[o]);var v=c||"span",S=W({},gn,s.style||{});o>0&&(d.style=W({},d.style,{cursor:f.length<=o?"initial":"pointer"}),f.length>o&&(d.onClick=()=>{m(!h)}));var b=h?""+f.slice(0,o)+i:f,N=u&&typeof u=="function",w=N&&u(W({},d,{style:S}),{type:"type",value:t,keyName:n,keys:r}),y=h?"w-rjv-value w-rjv-value-short":"w-rjv-value",g=N&&u(W({},d,{children:b,className:y}),{type:"value",value:t,keyName:n,keys:r});return(0,l.jsxs)(p.Fragment,{children:[a&&(w||(0,l.jsx)(v,W({},d,{style:S}))),g||(0,l.jsxs)(p.Fragment,{children:[(0,l.jsx)(ya,{}),(0,l.jsx)(v,W({},d,{className:y,children:b})),(0,l.jsx)(ya,{})]})]})};Uv.displayName="JVR.TypeString";var Hv=e=>{var{children:t,keyName:n,keys:r}=e,{True:s={},displayDataTypes:a}=qe(),{as:o,render:i}=s,c=Re(s,A1),u=o||"span",d=W({},gn,s.style||{}),f=i&&typeof i=="function",h=f&&i(W({},c,{style:d}),{type:"type",value:t,keyName:n,keys:r}),m=f&&i(W({},c,{children:t,className:"w-rjv-value"}),{type:"value",value:t,keyName:n,keys:r});return(0,l.jsxs)(p.Fragment,{children:[a&&(h||(0,l.jsx)(u,W({},c,{style:d}))),m||(0,l.jsx)(u,W({},c,{className:"w-rjv-value",children:t?.toString()}))]})};Hv.displayName="JVR.TypeTrue";var qv=e=>{var{children:t,keyName:n,keys:r}=e,{False:s={},displayDataTypes:a}=qe(),{as:o,render:i}=s,c=Re(s,M1),u=o||"span",d=W({},gn,s.style||{}),f=i&&typeof i=="function",h=f&&i(W({},c,{style:d}),{type:"type",value:t,keyName:n,keys:r}),m=f&&i(W({},c,{children:t,className:"w-rjv-value"}),{type:"value",value:t,keyName:n,keys:r});return(0,l.jsxs)(p.Fragment,{children:[a&&(h||(0,l.jsx)(u,W({},c,{style:d}))),m||(0,l.jsx)(u,W({},c,{className:"w-rjv-value",children:t?.toString()}))]})};qv.displayName="JVR.TypeFalse";var Wv=e=>{var{children:t,keyName:n,keys:r}=e,{Float:s={},displayDataTypes:a}=qe(),{as:o,render:i}=s,c=Re(s,O1),u=o||"span",d=W({},gn,s.style||{}),f=i&&typeof i=="function",h=f&&i(W({},c,{style:d}),{type:"type",value:t,keyName:n,keys:r}),m=f&&i(W({},c,{children:t,className:"w-rjv-value"}),{type:"value",value:t,keyName:n,keys:r});return(0,l.jsxs)(p.Fragment,{children:[a&&(h||(0,l.jsx)(u,W({},c,{style:d}))),m||(0,l.jsx)(u,W({},c,{className:"w-rjv-value",children:t?.toString()}))]})};Wv.displayName="JVR.TypeFloat";var Kv=e=>{var{children:t,keyName:n,keys:r}=e,{Int:s={},displayDataTypes:a}=qe(),{as:o,render:i}=s,c=Re(s,D1),u=o||"span",d=W({},gn,s.style||{}),f=i&&typeof i=="function",h=f&&i(W({},c,{style:d}),{type:"type",value:t,keyName:n,keys:r}),m=f&&i(W({},c,{children:t,className:"w-rjv-value"}),{type:"value",value:t,keyName:n,keys:r});return(0,l.jsxs)(p.Fragment,{children:[a&&(h||(0,l.jsx)(u,W({},c,{style:d}))),m||(0,l.jsx)(u,W({},c,{className:"w-rjv-value",children:t?.toString()}))]})};Kv.displayName="JVR.TypeInt";var Yv=e=>{var{children:t,keyName:n,keys:r}=e,{Bigint:s={},displayDataTypes:a}=qe(),{as:o,render:i}=s,c=Re(s,P1),u=o||"span",d=W({},gn,s.style||{}),f=i&&typeof i=="function",h=f&&i(W({},c,{style:d}),{type:"type",value:t,keyName:n,keys:r}),m=f&&i(W({},c,{children:t,className:"w-rjv-value"}),{type:"value",value:t,keyName:n,keys:r});return(0,l.jsxs)(p.Fragment,{children:[a&&(h||(0,l.jsx)(u,W({},c,{style:d}))),m||(0,l.jsx)(u,W({},c,{className:"w-rjv-value",children:yc(t?.toString())}))]})};Yv.displayName="JVR.TypeFloat";var Gv=e=>{var{children:t,keyName:n,keys:r}=e,{Url:s={},displayDataTypes:a}=qe(),{as:o,render:i}=s,c=Re(s,L1),u=o||"span",d=W({},gn,s.style),f=i&&typeof i=="function",h=f&&i(W({},c,{style:d}),{type:"type",value:t,keyName:n,keys:r}),m=f&&i(W({},c,{children:t?.href,className:"w-rjv-value"}),{type:"value",value:t,keyName:n,keys:r});return(0,l.jsxs)(p.Fragment,{children:[a&&(h||(0,l.jsx)(u,W({},c,{style:d}))),m||(0,l.jsxs)("a",W({href:t?.href,target:"_blank"},c,{className:"w-rjv-value",children:[(0,l.jsx)(ya,{}),t?.href,(0,l.jsx)(ya,{})]}))]})};Gv.displayName="JVR.TypeUrl";var Jv=e=>{var{children:t,keyName:n,keys:r}=e,{Date:s={},displayDataTypes:a}=qe(),{as:o,render:i}=s,c=Re(s,F1),u=o||"span",d=W({},gn,s.style||{}),f=i&&typeof i=="function",h=f&&i(W({},c,{style:d}),{type:"type",value:t,keyName:n,keys:r}),m=t instanceof Date?t.toLocaleString():t,v=f&&i(W({},c,{children:m,className:"w-rjv-value"}),{type:"value",value:t,keyName:n,keys:r});return(0,l.jsxs)(p.Fragment,{children:[a&&(h||(0,l.jsx)(u,W({},c,{style:d}))),v||(0,l.jsx)(u,W({},c,{className:"w-rjv-value",children:m}))]})};Jv.displayName="JVR.TypeDate";var Qv=e=>{var{children:t,keyName:n,keys:r}=e,{Undefined:s={},displayDataTypes:a}=qe(),{as:o,render:i}=s,c=Re(s,$1),u=o||"span",d=W({},gn,s.style||{}),f=i&&typeof i=="function",h=f&&i(W({},c,{style:d}),{type:"type",value:t,keyName:n,keys:r}),m=f&&i(W({},c,{children:t,className:"w-rjv-value"}),{type:"value",value:t,keyName:n,keys:r});return(0,l.jsxs)(p.Fragment,{children:[a&&(h||(0,l.jsx)(u,W({},c,{style:d}))),m||(0,l.jsx)(u,W({},c,{className:"w-rjv-value",children:"undefined"}))]})};Qv.displayName="JVR.TypeUndefined";var Xv=e=>{var{children:t,keyName:n,keys:r}=e,{Null:s={},displayDataTypes:a}=qe(),{as:o,render:i}=s,c=Re(s,z1),u=o||"span",d=W({},gn,s.style||{}),f=i&&typeof i=="function",h=f&&i(W({},c,{style:d}),{type:"type",value:t,keyName:n,keys:r}),m=f&&i(W({},c,{children:t,className:"w-rjv-value"}),{type:"value",value:t,keyName:n,keys:r});return(0,l.jsxs)(p.Fragment,{children:[a&&(h||(0,l.jsx)(u,W({},c,{style:d}))),m||(0,l.jsx)(u,W({},c,{className:"w-rjv-value",children:"null"}))]})};Xv.displayName="JVR.TypeNull";var Zv=e=>{var{children:t,keyName:n,keys:r}=e,{Nan:s={},displayDataTypes:a}=qe(),{as:o,render:i}=s,c=Re(s,V1),u=o||"span",d=W({},gn,s.style||{}),f=i&&typeof i=="function",h=f&&i(W({},c,{style:d}),{type:"type",value:t,keyName:n,keys:r}),m=f&&i(W({},c,{children:t?.toString(),className:"w-rjv-value"}),{type:"value",value:t,keyName:n,keys:r});return(0,l.jsxs)(p.Fragment,{children:[a&&(h||(0,l.jsx)(u,W({},c,{style:d}))),m||(0,l.jsx)(u,W({},c,{className:"w-rjv-value",children:"NaN"}))]})};Zv.displayName="JVR.TypeNan";var B1=e=>Number(e)===e&&e%1!==0||isNaN(e),e0=e=>{var{value:t,keyName:n,keys:r}=e,s={keyName:n,keys:r};return t instanceof URL?(0,l.jsx)(Gv,W({},s,{children:t})):typeof t=="string"?(0,l.jsx)(Uv,W({},s,{children:t})):t===!0?(0,l.jsx)(Hv,W({},s,{children:t})):t===!1?(0,l.jsx)(qv,W({},s,{children:t})):t===null?(0,l.jsx)(Xv,W({},s,{children:t})):t===void 0?(0,l.jsx)(Qv,W({},s,{children:t})):t instanceof Date?(0,l.jsx)(Jv,W({},s,{children:t})):typeof t=="number"&&isNaN(t)?(0,l.jsx)(Zv,W({},s,{children:t})):typeof t=="number"&&B1(t)?(0,l.jsx)(Wv,W({},s,{children:t})):typeof t=="bigint"?(0,l.jsx)(Yv,W({},s,{children:t})):typeof t=="number"?(0,l.jsx)(Kv,W({},s,{children:t})):null};e0.displayName="JVR.Value";function pr(e,t,n){var r=m1(),s=[e.className,t.className].filter(Boolean).join(" "),a=W({},e,t,{className:s,style:W({},e.style,t.style),children:t.children||e.children});(0,p.useEffect)(()=>r({[n]:a}),[t])}function qt(e,t,n){var r=u1(),s=[e.className,t.className].filter(Boolean).join(" "),a=W({},e,t,{className:s,style:W({},e.style,t.style),children:t.children||e.children});(0,p.useEffect)(()=>r({[n]:a}),[t])}function Ls(e,t,n){var r=v1(),s=[e.className,t.className].filter(Boolean).join(" "),a=W({},e,t,{className:s,style:W({},e.style,t.style),children:t.children||e.children});(0,p.useEffect)(()=>r({[n]:a}),[t])}var U1=["as","render"],t0=e=>{var{KeyName:t={}}=sn();return Ls(t,e,"KeyName"),null};t0.displayName="JVR.KeyName";var n0=e=>{var{children:t,value:n,parentValue:r,keyName:s,keys:a}=e,o={color:typeof t=="number"?"var(--w-rjv-key-number, #268bd2)":"var(--w-rjv-key-string, #002b36)"},{KeyName:i={}}=sn(),{as:c,render:u}=i,d=Re(i,U1);d.style=W({},d.style,o);var f=c||"span",h=u&&typeof u=="function"&&u(W({},d,{children:t}),{value:n,parentValue:r,keyName:s,keys:a||(s?[s]:[])});return h||(0,l.jsx)(f,W({},d,{children:t}))};n0.displayName="JVR.KeyNameComp";var H1=["children","value","parentValue","keyName","keys"],q1=["as","render","children"],r0=e=>{var{Row:t={}}=sn();return Ls(t,e,"Row"),null};r0.displayName="JVR.Row";var s0=e=>{var{children:t,value:n,parentValue:r,keyName:s,keys:a}=e,o=Re(e,H1),{Row:i={}}=sn(),{as:c,render:u}=i,d=Re(i,q1),f=c||"div",h=u&&typeof u=="function"&&u(W({},o,d,{children:t}),{value:n,keyName:s,parentValue:r,keys:a});return h||(0,l.jsx)(f,W({},o,d,{children:t}))};s0.displayName="JVR.RowComp";function W1(e){var t=(0,p.useRef)();return(0,p.useEffect)(()=>{t.current=e}),t.current}function K1(e){var{value:t,highlightUpdates:n,highlightContainer:r}=e,s=W1(t),a=(0,p.useMemo)(()=>{if(!n||s===void 0)return!1;if(typeof t!=typeof s)return!0;if(typeof t=="number")return isNaN(t)&&isNaN(s)?!1:t!==s;if(Array.isArray(t)!==Array.isArray(s))return!0;if(typeof t=="object"||typeof t=="function")return!1;if(t!==s)return!0},[n,t]);(0,p.useEffect)(()=>{r&&r.current&&a&&"animate"in r.current&&r.current.animate([{backgroundColor:"var(--w-rjv-update-color, #ebcb8b)"},{backgroundColor:""}],{duration:1e3,easing:"ease-in"})},[a,t,r])}var Y1=["keyName","value","parentValue","expandKey","keys","beforeCopy"],G1=["as","render"],qu=e=>{var{keyName:t,value:n,parentValue:r,expandKey:s,keys:a,beforeCopy:o}=e,i=Re(e,Y1),{onCopied:c,enableClipboard:u,beforeCopy:d}=rs(),f=r1()[s],[h,m]=(0,p.useState)(!1),{Copied:v={}}=sn(),S=v?.beforeCopy;if(u===!1||!f)return null;var b=C=>{C.stopPropagation();var j="";typeof n=="number"&&n===1/0?j="Infinity":typeof n=="number"&&isNaN(n)?j="NaN":typeof n=="bigint"?j=yc(n):n instanceof Date?j=n.toLocaleString():j=JSON.stringify(n,(R,O)=>typeof O=="bigint"?yc(O):O,2);var E=o||S||d;E&&typeof E=="function"&&(j=E(j,t,n,r,s,a)),c&&c(j,n),m(!0),(navigator.clipboard||{writeText(R){return new Promise((O,k)=>{var _=document.createElement("textarea");_.style.position="absolute",_.style.opacity="0",_.style.left="-99999999px",_.value=R,document.body.appendChild(_),_.select(),document.execCommand("copy")?O():k(),_.remove()})}}).writeText(j).then(()=>{var R=setTimeout(()=>{m(!1),clearTimeout(R)},3e3)}).catch(R=>{})},N={style:{display:"inline-flex"},fill:h?"var(--w-rjv-copied-success-color, #28a745)":"var(--w-rjv-copied-color, currentColor)",onClick:b},{render:w}=v,y=Re(v,G1),g=W({},y,i,N,{style:W({},y.style,i.style,N.style)}),x=w&&typeof w=="function"&&w(W({},g,{"data-copied":h}),{value:n,keyName:t,keys:a,parentValue:r});return x||(h?(0,l.jsx)("svg",W({viewBox:"0 0 32 36"},g,{children:(0,l.jsx)("path",{d:"M27.5,33 L2.5,33 L2.5,12.5 L27.5,12.5 L27.5,15.2249049 C29.1403264,13.8627542 29.9736597,13.1778155 30,13.1700887 C30,11.9705278 30,10.0804982 30,7.5 C30,6.1 28.9,5 27.5,5 L20,5 C20,2.2 17.8,0 15,0 C12.2,0 10,2.2 10,5 L2.5,5 C1.1,5 0,6.1 0,7.5 L0,33 C0,34.4 1.1,36 2.5,36 L27.5,36 C28.9,36 30,34.4 30,33 L30,26.1114493 L27.5,28.4926435 L27.5,33 Z M7.5,7.5 L10,7.5 C10,7.5 12.5,6.4 12.5,5 C12.5,3.6 13.6,2.5 15,2.5 C16.4,2.5 17.5,3.6 17.5,5 C17.5,6.4 18.8,7.5 20,7.5 L22.5,7.5 C22.5,7.5 25,8.6 25,10 L5,10 C5,8.5 6.1,7.5 7.5,7.5 Z M5,27.5 L10,27.5 L10,25 L5,25 L5,27.5 Z M28.5589286,16 L32,19.6 L21.0160714,30.5382252 L13.5303571,24.2571429 L17.1303571,20.6571429 L21.0160714,24.5428571 L28.5589286,16 Z M17.5,15 L5,15 L5,17.5 L17.5,17.5 L17.5,15 Z M10,20 L5,20 L5,22.5 L10,22.5 L10,20 Z"})})):(0,l.jsx)("svg",W({viewBox:"0 0 32 36"},g,{children:(0,l.jsx)("path",{d:"M27.5,33 L2.5,33 L2.5,12.5 L27.5,12.5 L27.5,20 L30,20 L30,7.5 C30,6.1 28.9,5 27.5,5 L20,5 C20,2.2 17.8,0 15,0 C12.2,0 10,2.2 10,5 L2.5,5 C1.1,5 0,6.1 0,7.5 L0,33 C0,34.4 1.1,36 2.5,36 L27.5,36 C28.9,36 30,34.4 30,33 L30,29 L27.5,29 L27.5,33 Z M7.5,7.5 L10,7.5 C10,7.5 12.5,6.4 12.5,5 C12.5,3.6 13.6,2.5 15,2.5 C16.4,2.5 17.5,3.6 17.5,5 C17.5,6.4 18.8,7.5 20,7.5 L22.5,7.5 C22.5,7.5 25,8.6 25,10 L5,10 C5,8.5 6.1,7.5 7.5,7.5 Z M5,27.5 L10,27.5 L10,25 L5,25 L5,27.5 Z M22.5,21.5 L22.5,16.5 L12.5,24 L22.5,31.5 L22.5,26.5 L32,26.5 L32,21.5 L22.5,21.5 Z M17.5,15 L5,15 L5,17.5 L17.5,17.5 L17.5,15 Z M10,20 L5,20 L5,22.5 L10,22.5 L10,20 Z"})})))};qu.displayName="JVR.Copied";function a0(){var e=(0,p.useRef)(null);return e.current===null&&(e.current="custom-id-"+Math.random().toString(36).substr(2,9)),e.current}var o0=e=>{var t,{keyName:n,value:r,expandKey:s="",level:a,keys:o=[],parentValue:i}=e,c=xi(),{objectSortKeys:u,indentWidth:d,collapsed:f,shouldExpandNodeInitially:h}=rs(),m=typeof f=="boolean"?f:typeof f=="number"?a>f:!1,v=(t=c[s])!=null?t:h?!1:m,S=h&&h(!v,{value:r,keys:o,level:a,keyName:n,parentValue:i});if(h&&f===!1){if(c[s]===void 0&&!S)return null}else if(c[s]===void 0&&S)return null;if(v)return null;var b=Array.isArray(r)?Object.entries(r).map(N=>[Number(N[0]),N[1]]):Object.entries(r);return u&&(b=u===!0?b.sort((N,w)=>{var[y]=N,[g]=w;return typeof y=="string"&&typeof g=="string"?y.localeCompare(g):0}):b.sort((N,w)=>{var[y,g]=N,[x,C]=w;return typeof y=="string"&&typeof x=="string"?u(y,x,g,C):0})),(0,l.jsx)("div",{className:"w-rjv-wrap",style:{borderLeft:"var(--w-rjv-border-left-width, 1px) var(--w-rjv-line-style, solid) var(--w-rjv-line-color, #ebebeb)",paddingLeft:d,marginLeft:6},children:b.map((N,w)=>{var[y,g]=N;return(0,l.jsx)(i0,{parentValue:r,keyName:y,keys:[...o,y],value:g,level:a},w)})})};o0.displayName="JVR.KeyValues";var Wu=e=>{var{keyName:t,parentValue:n,keys:r,value:s}=e,{highlightUpdates:a}=rs(),o=typeof t=="number",i=(0,p.useRef)(null);K1({value:s,highlightUpdates:a,highlightContainer:i});var c={keyName:t,value:s,keys:r,parentValue:n};return(0,l.jsxs)(p.Fragment,{children:[(0,l.jsxs)("span",{ref:i,children:[(0,l.jsx)(vc,W({isNumber:o,"data-placement":"left"},c)),(0,l.jsx)(n0,W({},c,{children:t})),(0,l.jsx)(vc,W({isNumber:o,"data-placement":"right"},c))]}),(0,l.jsx)(Lv,W({},c))]})};Wu.displayName="JVR.KayName";var i0=e=>{var{keyName:t,value:n,parentValue:r,level:s=0,keys:a=[]}=e,o=xv(),i=a0(),c=Array.isArray(n),u=n instanceof Set,d=n instanceof Map,f=n instanceof Date,h=n instanceof URL;if(n&&typeof n=="object"&&!c&&!u&&!d&&!f&&!h||c||u||d){var m=u?Array.from(n):d?Object.fromEntries(n):n;return(0,l.jsx)(Ku,{keyName:t,value:m,parentValue:r,initialValue:n,keys:a,level:s+1})}return(0,l.jsxs)(s0,W({className:"w-rjv-line",value:n,keyName:t,keys:a,parentValue:r},{onMouseEnter:()=>o({[i]:!0}),onMouseLeave:()=>o({[i]:!1})},{children:[(0,l.jsx)(Wu,{keyName:t,value:n,keys:a,parentValue:r}),(0,l.jsx)(e0,{keyName:t,value:n,keys:a}),(0,l.jsx)(qu,{keyName:t,value:n,keys:a,parentValue:r,expandKey:i})]}))};i0.displayName="JVR.KeyValuesItem";var J1=["value","keyName"],Q1=["as","render"],l0=e=>{var{CountInfoExtra:t={}}=sn();return Ls(t,e,"CountInfoExtra"),null};l0.displayName="JVR.CountInfoExtra";var c0=e=>{var{value:t={},keyName:n}=e,r=Re(e,J1),{CountInfoExtra:s={}}=sn(),{as:a,render:o}=s,i=Re(s,Q1);if(!o&&!i.children)return null;var c=a||"span",u=o&&typeof o=="function",d=W({},i,r),f=u&&o(d,{value:t,keyName:n});return f||(0,l.jsx)(c,W({},d))};c0.displayName="JVR.CountInfoExtraComps";var X1=["value","keyName"],Z1=["as","render"],u0=e=>{var{CountInfo:t={}}=sn();return Ls(t,e,"CountInfo"),null};u0.displayName="JVR.CountInfo";var d0=e=>{var{value:t={},keyName:n}=e,r=Re(e,X1),{displayObjectSize:s}=rs(),{CountInfo:a={}}=sn();if(!s)return null;var{as:o,render:i}=a,c=Re(a,Z1),u=o||"span";c.style=W({},c.style,e.style);var d=Object.keys(t).length;c.children||(c.children=d+" item"+(d===1?"":"s"));var f=W({},c,r),h=i&&typeof i=="function"&&i(W({},f,{"data-length":d}),{value:t,keyName:n});return h||(0,l.jsx)(u,W({},f))};d0.displayName="JVR.CountInfoComp";var ek=["as","render"],f0=e=>{var{Ellipsis:t={}}=sn();return Ls(t,e,"Ellipsis"),null};f0.displayName="JVR.Ellipsis";var h0=e=>{var{isExpanded:t,value:n,keyName:r}=e,{Ellipsis:s={}}=sn(),{as:a,render:o}=s,i=Re(s,ek),c=a||"span",u=o&&typeof o=="function"&&o(W({},i,{"data-expanded":t}),{value:n,keyName:r});return u||(!t||typeof n=="object"&&Object.keys(n).length==0?null:(0,l.jsx)(c,W({},i)))};h0.displayName="JVR.EllipsisComp";var m0=e=>{var t,{keyName:n,expandKey:r,keys:s=[],initialValue:a,value:o,parentValue:i,level:c}=e,u=xi(),d=i1(),{onExpand:f,collapsed:h,shouldExpandNodeInitially:m}=rs(),v=typeof h=="boolean"?h:typeof h=="number"?c>h:!1,S=(t=u[r])!=null?t:m?!1:v,b=m&&m(!S,{value:o,keys:s,level:c,keyName:n,parentValue:i});u[r]===void 0&&m&&(S=!b);var N=()=>{var k={expand:!S,value:o,keyid:r,keyName:n};f&&f(k),d({[r]:k.expand})},w={display:"inline-flex",alignItems:"center"},y={transform:"rotate("+(S?"-90":"0")+"deg)",transition:"all 0.3s"},g=Object.keys(o).length,x=typeof o=="object",C=Array.isArray(o),j=o instanceof Set,E=g!==0&&(C||j||x),R={style:w};E&&(R.onClick=N);var O={keyName:n,value:o,keys:s,parentValue:i};return(0,l.jsxs)("span",W({},R,{children:[E&&(0,l.jsx)(Fv,W({style:y,expandKey:r},O)),(n||typeof n=="number")&&(0,l.jsx)(Wu,W({},O)),(0,l.jsx)(Vv,{value:a,keyName:n}),(0,l.jsx)(Bv,{value:a,keyName:n}),(0,l.jsx)($v,W({isBrackets:C||j},O)),(0,l.jsx)(h0,{keyName:n,value:o,isExpanded:S}),(0,l.jsx)(Hu,W({isVisiable:S||!E,isBrackets:C||j},O)),(0,l.jsx)(d0,{value:o,keyName:n}),(0,l.jsx)(c0,{value:o,keyName:n}),(0,l.jsx)(qu,{keyName:n,value:o,expandKey:r,parentValue:i,keys:s})]}))};m0.displayName="JVR.NestedOpen";var tk=["className","children","parentValue","keyid","level","value","initialValue","keys","keyName"],Ku=(0,p.forwardRef)((e,t)=>{var{className:n="",parentValue:r,level:s=1,value:a,initialValue:o,keys:i,keyName:c}=e,u=Re(e,tk),d=xv(),f=a0(),h=[n,"w-rjv-inner"].filter(Boolean).join(" ");return(0,l.jsxs)("div",W({className:h,ref:t},u,{onMouseEnter:()=>d({[f]:!0}),onMouseLeave:()=>d({[f]:!1})},{children:[(0,l.jsx)(m0,{expandKey:f,value:a,level:s,keys:i,parentValue:r,keyName:c,initialValue:o}),(0,l.jsx)(o0,{expandKey:f,value:a,level:s,keys:i,parentValue:r,keyName:c}),(0,l.jsx)(zv,{expandKey:f,value:a,level:s,keys:i,parentValue:r,keyName:c})]}))});Ku.displayName="JVR.Container";var p0=e=>{var{BraceLeft:t={}}=Ot();return pr(t,e,"BraceLeft"),null};p0.displayName="JVR.BraceLeft";var g0=e=>{var{BraceRight:t={}}=Ot();return pr(t,e,"BraceRight"),null};g0.displayName="JVR.BraceRight";var v0=e=>{var{BracketsLeft:t={}}=Ot();return pr(t,e,"BracketsLeft"),null};v0.displayName="JVR.BracketsLeft";var y0=e=>{var{BracketsRight:t={}}=Ot();return pr(t,e,"BracketsRight"),null};y0.displayName="JVR.BracketsRight";var x0=e=>{var{Arrow:t={}}=Ot();return pr(t,e,"Arrow"),null};x0.displayName="JVR.Arrow";var b0=e=>{var{Colon:t={}}=Ot();return pr(t,e,"Colon"),null};b0.displayName="JVR.Colon";var w0=e=>{var{Quote:t={}}=Ot();return pr(t,e,"Quote"),null};w0.displayName="JVR.Quote";var S0=e=>{var{ValueQuote:t={}}=Ot();return pr(t,e,"ValueQuote"),null};S0.displayName="JVR.ValueQuote";var C0=e=>{var{Bigint:t={}}=qe();return qt(t,e,"Bigint"),null};C0.displayName="JVR.Bigint";var N0=e=>{var{Date:t={}}=qe();return qt(t,e,"Date"),null};N0.displayName="JVR.Date";var E0=e=>{var{False:t={}}=qe();return qt(t,e,"False"),null};E0.displayName="JVR.False";var I0=e=>{var{Float:t={}}=qe();return qt(t,e,"Float"),null};I0.displayName="JVR.Float";var j0=e=>{var{Int:t={}}=qe();return qt(t,e,"Int"),null};j0.displayName="JVR.Int";var T0=e=>{var{Map:t={}}=qe();return qt(t,e,"Map"),null};T0.displayName="JVR.Map";var R0=e=>{var{Nan:t={}}=qe();return qt(t,e,"Nan"),null};R0.displayName="JVR.Nan";var k0=e=>{var{Null:t={}}=qe();return qt(t,e,"Null"),null};k0.displayName="JVR.Null";var _0=e=>{var{Set:t={}}=qe();return qt(t,e,"Set"),null};_0.displayName="JVR.Set";var A0=e=>{var{Str:t={}}=qe();return qt(t,e,"Str"),null};A0.displayName="JVR.StringText";var M0=e=>{var{True:t={}}=qe();return qt(t,e,"True"),null};M0.displayName="JVR.True";var O0=e=>{var{Undefined:t={}}=qe();return qt(t,e,"Undefined"),null};O0.displayName="JVR.Undefined";var D0=e=>{var{Url:t={}}=qe();return qt(t,e,"Url"),null};D0.displayName="JVR.Url";var P0=e=>{var{Copied:t={}}=sn();return Ls(t,e,"Copied"),null};P0.displayName="JVR.Copied";var nk=["className","style","value","children","collapsed","shouldExpandNodeInitially","indentWidth","displayObjectSize","shortenTextAfterLength","stringEllipsis","highlightUpdates","enableClipboard","displayDataTypes","objectSortKeys","onExpand","onCopied","beforeCopy"],Le=(0,p.forwardRef)((e,t)=>{var{className:n="",style:r,value:s,children:a,collapsed:o=!1,shouldExpandNodeInitially:i,indentWidth:c=15,displayObjectSize:u=!0,shortenTextAfterLength:d=30,stringEllipsis:f,highlightUpdates:h=!0,enableClipboard:m=!0,displayDataTypes:v=!0,objectSortKeys:S=!1,onExpand:b,onCopied:N,beforeCopy:w}=e,y=Re(e,nk),g=W({lineHeight:1.4,fontFamily:"var(--w-rjv-font-family, Menlo, monospace)",color:"var(--w-rjv-color, #002b36)",backgroundColor:"var(--w-rjv-background-color, #00000000)",fontSize:13},r),x=["w-json-view-container","w-rjv",n].filter(Boolean).join(" ");return(0,l.jsxs)(Pv,{initialState:{value:s,objectSortKeys:S,indentWidth:c,shouldExpandNodeInitially:o===!1?i:void 0,displayObjectSize:u,collapsed:o,enableClipboard:m,shortenTextAfterLength:d,stringEllipsis:f,highlightUpdates:h,onCopied:N,onExpand:b,beforeCopy:w},initialTypes:{displayDataTypes:v},children:[(0,l.jsx)(Ku,W({value:s},y,{ref:t,className:x,style:g})),a]})});Le.Bigint=C0;Le.Date=N0;Le.False=E0;Le.Float=I0;Le.Int=j0;Le.Map=T0;Le.Nan=R0;Le.Null=k0;Le.Set=_0;Le.String=A0;Le.True=M0;Le.Undefined=O0;Le.Url=D0;Le.ValueQuote=S0;Le.Arrow=x0;Le.Colon=b0;Le.Quote=w0;Le.Ellipsis=f0;Le.BraceLeft=p0;Le.BraceRight=g0;Le.BracketsLeft=v0;Le.BracketsRight=y0;Le.Copied=P0;Le.CountInfo=u0;Le.CountInfoExtra=l0;Le.KeyName=t0;Le.Row=r0;Le.displayName="JVR.JsonView";var rk={"--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"},sk={"--w-rjv-font-family":"monospace","--w-rjv-color":"#9cdcfe","--w-rjv-key-string":"#9cdcfe","--w-rjv-background-color":"#1e1e1e","--w-rjv-line-color":"#36334280","--w-rjv-arrow-color":"#838383","--w-rjv-edit-color":"var(--w-rjv-color)","--w-rjv-info-color":"#9c9c9c7a","--w-rjv-update-color":"#9cdcfe","--w-rjv-copied-color":"#9cdcfe","--w-rjv-copied-success-color":"#28a745","--w-rjv-curlybraces-color":"#d4d4d4","--w-rjv-colon-color":"#d4d4d4","--w-rjv-brackets-color":"#d4d4d4","--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":"#ce9178","--w-rjv-type-int-color":"#b5cea8","--w-rjv-type-float-color":"#b5cea8","--w-rjv-type-bigint-color":"#b5cea8","--w-rjv-type-boolean-color":"#569cd6","--w-rjv-type-date-color":"#b5cea8","--w-rjv-type-url-color":"#3b89cf","--w-rjv-type-null-color":"#569cd6","--w-rjv-type-nan-color":"#859900","--w-rjv-type-undefined-color":"#569cd6"};function ak({className:e,...t}){return(0,l.jsx)("nav",{"aria-label":"pagination","data-slot":"pagination",className:G("mx-auto flex w-full justify-center",e),...t})}function ok({className:e,...t}){return(0,l.jsx)("ul",{"data-slot":"pagination-content",className:G("flex flex-row items-center gap-1",e),...t})}function _f({...e}){return(0,l.jsx)("li",{"data-slot":"pagination-item",...e})}var L0=({tableName:e,variant:t="row"})=>{const[n,r]=Ce(me.TABLE_STATE_KEYS.LIMIT),[,s]=Ce(me.TABLE_STATE_KEYS.CURSOR),[,a]=Ce(me.TABLE_STATE_KEYS.DIRECTION),{tableData:o,prefetchPage:i}=gi({tableName:e,schemaName:Je()}),c=o?.meta?.total??0,u=o?.data?.length??0,d=t==="document"?"documents":"rows",f=t==="document"?"Documents per page":"Rows per page",h=n??"50",m=(0,p.useRef)(null),v=g=>{const x=parseInt(g,10);if(Number.isNaN(x)||x<1)return;const C=Math.min(x,1e4).toString();r(C),s(null),a(null)},S=()=>{o?.meta?.nextCursor&&(s(o.meta.nextCursor),a("asc"))},b=()=>{o?.meta?.prevCursor&&(s(o.meta.prevCursor),a("desc"))},N=()=>{o?.meta?.prevCursor&&i(o.meta.prevCursor,"desc")},w=()=>{o?.meta?.nextCursor&&i(o.meta.nextCursor,"asc")},y=()=>{s(null),a(null)};return(0,l.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,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)(Ne,{className:"text-xs text-muted-foreground whitespace-nowrap",children:f}),(0,l.jsxs)("div",{className:"flex items-center h-6 rounded-sm border border-transparent hover:border-border focus-within:border-ring transition-colors",children:[(0,l.jsx)("input",{ref:m,type:"number",min:1,max:1e4,defaultValue:h,onBlur:g=>v(g.target.value),onKeyDown:g=>{g.key==="Enter"&&m.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,l.jsxs)(Oa,{children:[(0,l.jsx)(Da,{asChild:!0,children:(0,l.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,l.jsx)(es,{className:"size-3"})})}),(0,l.jsx)(Pa,{align:"start",className:"min-w-16 border-border",children:QS.map(g=>(0,l.jsx)(Xt,{onSelect:()=>v(g.toString()),className:"text-xs justify-center",children:g},g))})]})]})]}),(0,l.jsx)("div",{className:"flex items-center justify-center text-xs text-muted-foreground",children:(0,l.jsxs)("p",{className:"whitespace-nowrap","aria-live":"polite",children:["Showing ",(0,l.jsx)("span",{className:"text-foreground font-medium",children:u})," of"," ",(0,l.jsxs)("span",{className:"text-foreground font-medium",children:[o?.meta?.totalEstimated&&"~",c]})," ",d]})}),(0,l.jsxs)("div",{className:"flex items-center gap-0.5",children:[(0,l.jsx)(te,{size:"sm",variant:"ghost",className:"size-6 disabled:opacity-30",onClick:y,disabled:!o?.meta?.hasPreviousPage||c===0,"aria-label":"Go to first page",children:(0,l.jsx)(Kw,{"aria-hidden":"true"})}),(0,l.jsx)(ak,{children:(0,l.jsxs)(ok,{className:"gap-0.5",children:[(0,l.jsx)(_f,{children:(0,l.jsx)(te,{size:"icon-sm",variant:"ghost",className:"size-6 disabled:opacity-30",onClick:b,onPointerEnter:N,onFocus:N,disabled:!o?.meta?.hasPreviousPage||c===0,"aria-label":"Go to previous page",children:(0,l.jsx)(Gc,{"aria-hidden":"true"})})}),(0,l.jsx)(_f,{children:(0,l.jsx)(te,{size:"icon-sm",variant:"ghost",className:"size-6 disabled:opacity-30",onClick:S,onPointerEnter:w,onFocus:w,disabled:!o?.meta?.hasNextPage||c===0,"aria-label":"Go to next page",children:(0,l.jsx)(Zc,{"aria-hidden":"true"})})})]})})]})]})};function ik(e){if(typeof window>"u"||!window.matchMedia)return()=>{};const t=window.matchMedia(gp);return typeof t.addEventListener=="function"?(t.addEventListener("change",e),()=>{t.removeEventListener("change",e)}):typeof t.addListener=="function"?(t.addListener(e),()=>{t.removeListener(e)}):()=>{}}function lk(){return typeof window>"u"||!window.matchMedia?!1:window.matchMedia(gp).matches}function ck(){return!1}function bi(){const{theme:e,setTheme:t,toggleTheme:n}=Xo(),r=(0,p.useSyncExternalStore)(ik,lk,ck),s=e==="system"?r?"dark":"light":e,a=s==="dark";return(0,p.useEffect)(()=>{const o=window.document.documentElement;a?(o.classList.add("dark"),o.classList.remove("light"),document.querySelector('meta[name="theme-color"]')?.setAttribute("content","#09090b")):(o.classList.remove("dark"),o.classList.add("light"),document.querySelector('meta[name="theme-color"]')?.setAttribute("content","#ffffff"))},[a]),{theme:e,resolvedTheme:s,isDark:a,setTheme:t,toggleTheme:n}}var uk=({tableName:e,rows:t})=>{const{isDark:n}=bi();return(0,l.jsxs)("div",{className:"flex-1 w-full flex flex-col overflow-hidden pb-9",children:[(0,l.jsx)("div",{className:"flex-1 overflow-auto bg-background p-3",children:(0,l.jsx)(Le,{value:t,keyName:e,objectSortKeys:!1,displayObjectSize:!0,displayDataTypes:!1,indentWidth:14,collapsed:1,shortenTextAfterLength:120,highlightUpdates:!1,style:n?sk:rk,enableClipboard:!0,className:"size-full"})}),(0,l.jsx)(L0,{tableName:e,variant:"document"})]})},dk=()=>{const{openOverlay:e}=Oe();return(0,l.jsxs)(Oa,{children:[(0,l.jsx)(Da,{asChild:!0,children:(0,l.jsxs)(te,{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,l.jsx)(bo,{className:"size-4"}),"Add Record"]})}),(0,l.jsxs)(Pa,{align:"start",className:"w-48",children:[(0,l.jsx)(Xt,{onClick:()=>e("records.add-record"),children:"Add Record"}),(0,l.jsx)(Xt,{onClick:()=>e("records.bulk-insert-csv"),children:"Add data from CSV"}),(0,l.jsx)(Xt,{onClick:()=>e("records.bulk-insert-excel"),children:"Add data from Excel"}),(0,l.jsx)(Xt,{onClick:()=>e("records.bulk-insert-json"),children:"Add data from JSON"})]})]})},fk=()=>Mt(()=>import("./_table-DFikg2By.js"),__vite__mapDeps([14,3,1,2])),Yu=Ut("/_pathlessLayout/table/$table")({component:Bt(fk,"component")}),F0=()=>{const e=At(),{table:t}=Yu.useParams(),n=Je(),{clearUpdates:r,getUpdateCount:s}=rn(),{selectedDatabase:a}=Ue(),{tableCols:o}=jt({tableName:t,schemaName:n??void 0}),{mutateAsync:i,isPending:c}=It({mutationFn:async d=>{if(!t)throw new Error("No table selected");const f=gv(o),h={tableName:t,updates:d.map(m=>({rowData:m.rowData,columnName:m.columnName,value:m.newValue})),...f.length>0?{primaryKey:f[0],primaryKeys:f}:{}};return(await fp({...h,schemaName:n,db:a})).data.data},onSuccess:async()=>{r(),await Promise.all([e.invalidateQueries({queryKey:Me.dataByTable(t),exact:!1})])}});return{updateCell:async d=>{const f=s();return Be.promise(i(d),{loading:"Saving changes...",success:h=>h||`${f} ${f===1?"change":"changes"} saved successfully`,error:h=>h.message||"Failed to save changes"})},isUpdatingCell:c}},hk=()=>{const{getUpdateCount:e,clearUpdates:t}=rn(),{isUpdatingCell:n}=F0(),r=(0,p.useCallback)(()=>{t()},[t]);return e()===0?null:(0,l.jsx)(te,{type:"button",variant:"secondary",className:"h-8! border-l-0 border-y-0 border-r border-border rounded-none",onClick:r,"aria-label":"Clear changes to the table",disabled:n,children:"Clear Changes"})},mk=({tableName:e})=>{const[t,n]=(0,p.useState)(""),[r,s]=(0,p.useState)(null),a=(0,p.useRef)(null),{tableCols:o}=jt({tableName:e,schemaName:Je()}),{orderedColumns:i,visibleColumns:c,toggleColumn:u,moveColumn:d,reorderColumn:f,showAllColumns:h,resetColumns:m}=mv({tableName:e,tableCols:o}),v=(0,p.useMemo)(()=>{const x=t.trim().toLowerCase();return x?i.filter(C=>C.toLowerCase().includes(x)):i},[i,t]),S=r?.order??v,b=()=>{if(!r)return;const x=r.order.indexOf(r.name);x>0?f(r.name,r.order[x-1],"after"):r.order.length>1&&f(r.name,r.order[1],"before")},N=(0,p.useMemo)(()=>new Set(c),[c]),w=o?.length??0,y=w-c.length,g=y>0||i.some((x,C)=>(o??[])[C]?.columnName!==x);return(0,l.jsxs)(fr,{children:[(0,l.jsx)(ts,{asChild:!0,children:(0,l.jsx)(te,{type:"button",variant:"ghost",className:G("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,l.jsx)(iS,{className:"size-4"})})}),(0,l.jsxs)(Mn,{align:"start",className:"w-72 gap-0 p-0",onOpenAutoFocus:x=>{x.preventDefault(),a.current?.focus()},children:[(0,l.jsxs)("div",{className:"flex items-center gap-2 p-2",children:[(0,l.jsxs)("div",{className:"relative flex-1",children:[(0,l.jsx)(Yc,{className:"absolute left-2 top-1/2 -translate-y-1/2 size-3.5 text-muted-foreground pointer-events-none"}),(0,l.jsx)("input",{ref:a,type:"text",placeholder:"Search columns...",value:t,onChange:x=>n(x.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,l.jsxs)("span",{className:"text-xs text-muted-foreground tabular-nums whitespace-nowrap",title:`${c.length} of ${w} columns shown`,children:[c.length,"/",w]})]}),(0,l.jsx)(Jl,{className:"my-0"}),(0,l.jsxs)("div",{className:"max-h-72 overflow-y-auto py-1",role:"list","aria-label":"Database columns",onDragOver:x=>{r&&(x.preventDefault(),x.dataTransfer.dropEffect="move")},onDrop:x=>{x.preventDefault(),b()},children:[S.map((x,C)=>{const j=N.has(x);return(0,l.jsxs)("div",{role:"listitem",draggable:!0,onDragStart:E=>{E.dataTransfer.effectAllowed="move",E.dataTransfer.setData("text/plain",x),s({name:x,order:v})},onDragEnter:()=>s(E=>E&&E.name!==x?{...E,order:gc(E.order,E.name,x)}:E),onDragEnd:()=>s(null),className:G("group flex items-center gap-1.5 px-2 py-1 rounded-md",r?.name===x&&"bg-muted text-muted-foreground"),children:[(0,l.jsx)("span",{role:"button",tabIndex:0,"aria-label":`Reorder ${x}`,"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:E=>{E.key==="ArrowUp"?(E.preventDefault(),E.stopPropagation(),d(x,-1,v)):E.key==="ArrowDown"&&(E.preventDefault(),E.stopPropagation(),d(x,1,v))},children:(0,l.jsx)(Fw,{className:"size-4"})}),(0,l.jsx)(lr,{checked:j,onCheckedChange:()=>u(x),"aria-label":`Show ${x}`}),(0,l.jsx)("span",{className:"text-sm flex-1 cursor-pointer select-none truncate",onClick:()=>u(x),children:x}),(0,l.jsxs)("span",{className:"flex flex-col opacity-0 group-hover:opacity-100 focus-within:opacity-100",children:[(0,l.jsx)("button",{type:"button",tabIndex:0,disabled:C===0,"aria-label":`Move ${x} up`,className:"text-muted-foreground/70 hover:text-foreground disabled:opacity-30 disabled:pointer-events-none",onClick:()=>d(x,-1,v),children:(0,l.jsx)(Xc,{className:"size-3.5"})}),(0,l.jsx)("button",{type:"button",tabIndex:0,disabled:C===S.length-1,"aria-label":`Move ${x} down`,className:"text-muted-foreground/70 hover:text-foreground disabled:opacity-30 disabled:pointer-events-none",onClick:()=>d(x,1,v),children:(0,l.jsx)(es,{className:"size-3.5"})})]})]},x)}),v.length===0&&(0,l.jsxs)("p",{className:"text-sm text-muted-foreground text-center py-4 px-2",children:['No columns match "',t,'"']})]}),(0,l.jsx)(Jl,{className:"my-0"}),(0,l.jsxs)("div",{className:"p-2 flex gap-2",children:[(0,l.jsxs)(te,{variant:"outline",size:"sm",className:"flex-1 text-xs",disabled:y===0,onClick:h,children:[(0,l.jsx)(Aw,{className:"size-3.5"}),"Show all"]}),(0,l.jsxs)(te,{variant:"outline",size:"sm",className:"flex-1 text-xs",disabled:!g,onClick:m,children:[(0,l.jsx)(tp,{className:"size-3.5"}),"Reset"]})]})]})]})},pk=({isOpenFkDialog:e,handleDialogClose:t,relatedRecords:n,handleCancelForceDelete:r,handleForceDelete:s,isDeletingCells:a})=>(0,l.jsx)(ei,{open:e,onOpenChange:t,children:(0,l.jsxs)(ti,{className:"max-w-2xl z-500",children:[(0,l.jsxs)(ni,{children:[(0,l.jsx)(ri,{children:"Cannot Delete - Foreign Key Constraint"}),(0,l.jsx)(si,{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,l.jsx)(gk,{relatedRecords:n}),(0,l.jsxs)(cu,{className:"gap-2",children:[(0,l.jsx)(te,{variant:"outline",onClick:r,disabled:a,children:"Cancel"}),(0,l.jsx)(te,{variant:"destructive",onClick:s,disabled:a,children:a?"Deleting...":"Force Delete All"})]})]})}),gk=({relatedRecords:e})=>(0,l.jsx)("div",{className:"space-y-4 max-h-64 overflow-y-auto",children:e.map((t,n)=>(0,l.jsxs)("div",{className:"border border-border rounded-md p-3",children:[(0,l.jsxs)("div",{className:"font-medium text-sm mb-2",children:["Table: ",(0,l.jsx)("span",{className:"text-primary",children:t.tableName}),(0,l.jsxs)("span",{className:"text-muted-foreground ml-2",children:["(",t.records.length," record",t.records.length!==1?"s":"",")"]})]}),(0,l.jsxs)("div",{className:"text-xs text-muted-foreground mb-2",children:["References column: ",t.columnName]}),(0,l.jsx)("div",{className:"bg-muted rounded p-2 text-xs overflow-x-auto",children:(0,l.jsxs)("pre",{className:"whitespace-pre-wrap",children:[JSON.stringify(t.records.slice(0,5),null,2),t.records.length>5&&(0,l.jsxs)("div",{className:"text-muted-foreground mt-2",children:["... and ",t.records.length-5," more"]})]})})]},`${t.tableName}-${t.columnName}-${n}`))}),vk=({selectedRows:e,setRowSelection:t,tableName:n,disabledReason:r})=>{const{deleteCells:s,forceDeleteCells:a,isDeletingCells:o,resetDeleteResult:i}=pv({tableName:n,schemaName:Je()}),[c,u]=(0,p.useState)([]),[d,f]=(0,p.useState)(!1),[h,m]=(0,p.useState)(!1),[v,S]=(0,p.useState)([]),b=(0,p.useCallback)(()=>{r||m(!0)},[r]),N=(0,p.useCallback)(async()=>{if(r)return;const x=e.map(C=>C.original);m(!1);try{await s(x),t({})}catch{u(x),S([]),f(!0)}},[r,s,e,t]),w=async()=>{r||c.length===0||(await a(c))?.deletedCount>0&&(f(!1),u([]),S([]),i(),t({}))},y=(0,p.useCallback)(()=>{f(!1),u([]),S([]),i()},[i]),g=x=>{o||(x?f(x):y())};return e?.length===0?null:(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(te,{type:"button",variant:"destructive",className:"h-8! border-l-0 border-y-0 border-r border-border text-white rounded-none",onClick:b,"aria-label":"Delete the selected record",disabled:o||!!r,title:r,children:["Delete Record",e?.length>1&&(0,l.jsx)("span",{className:"ml-1.5 px-1.5 text-[10px] bg-white/20 border border-white/20 rounded",children:e?.length})]}),(0,l.jsx)(Ar,{open:h,onOpenChange:m,children:(0,l.jsxs)(_r,{children:[(0,l.jsxs)(kr,{children:[(0,l.jsxs)(Mr,{children:["Delete ",e.length===1?"Record":"Records"]}),(0,l.jsxs)(Dr,{children:["Are you sure you want to delete"," ",e.length===1?"this record":`${e.length} records`," ",'from "',n,'"? This action cannot be undone.']})]}),(0,l.jsxs)(Rr,{children:[(0,l.jsx)(Tr,{children:"Cancel"}),(0,l.jsx)(Or,{variant:"destructive",onClick:N,children:"Delete"})]})]})}),(0,l.jsx)(pk,{isOpenFkDialog:d,handleDialogClose:g,relatedRecords:v,handleCancelForceDelete:y,handleForceDelete:w,isDeletingCells:o})]})},yk=({tableName:e})=>{const[t,n]=Ce(me.TABLE_STATE_KEYS.FILTERS,ws(y=>y).withDefault([]).withOptions({history:"push"})),[,r]=Ce(me.TABLE_STATE_KEYS.CURSOR),[,s]=Ce(me.TABLE_STATE_KEYS.DIRECTION),{tableCols:a}=jt({tableName:e,schemaName:Je()}),[o,i]=(0,p.useState)(!1),[c,u]=(0,p.useState)([]),d=()=>{const y=a?.[0]?.columnName??"";u(g=>[...g,{columnName:y,operator:"=",value:""}])},f=y=>{u(c.filter((g,x)=>x!==y))},h=(y,g)=>{u(c.map((x,C)=>C===y?{...x,columnName:g}:x))},m=(y,g)=>{u(c.map((x,C)=>C===y?{...x,value:g}:x))},v=(y,g)=>{u(c.map((x,C)=>C===y?{...x,operator:g}:x))},S=()=>{u([]),n([]),r(null),s(null),i(!1)},b=()=>{const y=c.filter(g=>g.columnName&&g.operator&&g.value!=="");n(y),r(null),s(null),i(!1)},N=t.length>0,w=y=>{y&&u(t),i(y)};return(0,l.jsxs)(fr,{open:o,onOpenChange:w,children:[(0,l.jsx)(ts,{asChild:!0,children:(0,l.jsx)(te,{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,l.jsx)(Zm,{className:"size-4"})})}),(0,l.jsxs)(Mn,{className:"w-md space-y-2",align:"start",children:[(0,l.jsx)("div",{className:"flex items-center gap-4",children:(0,l.jsxs)(te,{variant:"outline",size:"lg",className:"text-sm",onClick:d,children:["Add filter",c&&c.length>0&&(0,l.jsx)(ht,{className:"text-xs font-normal text-primary bg-primary/10 border border-primary/30 px-1.5 py-0.5",children:c.length})]})}),(0,l.jsx)("div",{className:"flex flex-col gap-4",children:c.length>0?c.map((y,g)=>(0,l.jsxs)("div",{className:"flex-1 flex h-9 gap-2",children:[(0,l.jsxs)(Nt,{value:y.columnName,onValueChange:x=>h(g,x),children:[(0,l.jsx)(St,{className:"w-full flex-1",children:(0,l.jsx)(wt,{placeholder:"Select column"})}),(0,l.jsx)(Ct,{children:a?.map(x=>(0,l.jsx)(Se,{value:x.columnName,children:x.columnName},x.columnName))})]}),(0,l.jsxs)(Nt,{value:y.operator,onValueChange:x=>v(g,x),children:[(0,l.jsx)(St,{children:(0,l.jsx)(wt,{placeholder:"Op"})}),(0,l.jsxs)(Ct,{children:[(0,l.jsx)(Se,{value:"=",children:"="}),(0,l.jsx)(Se,{value:"!=",children:"!="}),(0,l.jsx)(Se,{value:">",children:">"}),(0,l.jsx)(Se,{value:">=",children:">="}),(0,l.jsx)(Se,{value:"<",children:"<"}),(0,l.jsx)(Se,{value:"<=",children:"<="}),(0,l.jsx)(Se,{value:"is",children:"is"}),(0,l.jsx)(Se,{value:"is not",children:"is not"}),(0,l.jsx)(Se,{value:"like",children:"like"}),(0,l.jsx)(Se,{value:"not like",children:"not like"}),(0,l.jsx)(Se,{value:"ilike",children:"ilike"}),(0,l.jsx)(Se,{value:"not ilike",children:"not ilike"})]})]}),(0,l.jsx)(ot,{type:"text",placeholder:"Value",value:y.value,onChange:x=>m(g,x.target.value)}),(0,l.jsx)(te,{variant:"ghost",size:"icon",className:"text-xs",onClick:()=>f(g),children:(0,l.jsx)(_s,{className:"size-4"})})]},`${y.columnName}-${g}`)):(0,l.jsx)("div",{className:"flex-1 flex h-9 gap-2 items-center justify-center",children:(0,l.jsx)("p",{className:"text-sm text-muted-foreground text-center",children:"No filters applied"})})}),(0,l.jsxs)("div",{className:"gap-2 flex justify-end",children:[(0,l.jsx)(te,{variant:"outline",size:"lg",className:"text-sm",onClick:S,children:"Reset"}),(0,l.jsx)(te,{variant:"default",size:"lg",className:"text-sm",onClick:b,children:"Apply"})]})]})]})},xk=({tableName:e})=>{const{isLive:t,status:n,isPulsing:r,setLive:s}=Hn(),a=(0,p.useCallback)(()=>{s(!t,e)},[t,e,s]);let o="Live mode: Automatic updates (Off)";return n==="paused"?o="Live mode paused while editing. Click to resume.":t&&n==="healthy"?o="Live mode: Active":t&&n==="disconnected"&&(o="Live mode: Disconnected. Attempting to reconnect..."),(0,l.jsxs)(jn,{children:[(0,l.jsx)(En,{asChild:!0,children:(0,l.jsxs)(te,{type:"button",variant:"ghost",onClick:a,"aria-label":"Toggle Live mode","aria-pressed":t,"data-active":t,className:G("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,l.jsxs)("span",{className:"relative flex size-2 items-center justify-center",children:[t&&n==="healthy"&&r&&(0,l.jsx)("span",{"data-testid":"live-pulse-indicator",className:"absolute inline-flex size-3.5 rounded-full bg-emerald-400 opacity-75 animate-ping"}),(0,l.jsx)("span",{"data-testid":"live-status-dot",className:G("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,l.jsx)("span",{children:"Live"}),n==="paused"&&(0,l.jsx)("span",{className:"text-[10px] text-amber-500 font-normal",children:"(Paused)"})]})}),(0,l.jsx)(In,{side:"bottom",children:o})]})},bk=({tableName:e})=>{const t=Je(),{refetchTableData:n,isRefetchingTableData:r}=gi({tableName:e,schemaName:t}),{refetchTableCols:s,isRefetchingTableCols:a}=jt({tableName:e,schemaName:t}),o=(0,p.useCallback)(()=>{Promise.all([n(),s()])},[n,s]);return(0,l.jsx)(te,{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:o,"aria-label":"Refetch table data and columns",disabled:r||a,children:(0,l.jsx)(Kc,{className:"size-4"})})},wk=({setRowSelection:e,disabledReason:t})=>{const{getUpdates:n,getUpdateCount:r}=rn(),{updateCell:s,isUpdatingCell:a}=F0(),o=(0,p.useCallback)(async()=>{if(t)return;const c=n();if(c.length!==0)try{await s(c),e({})}catch(u){console.error("Failed to save updates:",u)}},[t,n,s,e]);if(r()===0)return null;const i=r();return(0,l.jsxs)(te,{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:o,"aria-label":"Save changes to the table",disabled:a||!!t,title:t,children:["Save Changes",i>0&&(0,l.jsx)("span",{className:"ml-1.5 px-1.5 text-[10px] bg-white/20 border border-white/20 rounded",children:i})]})},$0=({selectedRows:e,setRowSelection:t,tableName:n})=>{const r=fi(),s=hr()?.liveMode??!1,{rowMutationReason:a}=Pu();return(0,l.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,l.jsxs)("div",{className:"flex items-center ",children:[(0,l.jsx)(bk,{tableName:n}),s&&(0,l.jsx)(xk,{tableName:n}),!r&&(0,l.jsx)(yk,{tableName:n}),(0,l.jsx)(mk,{tableName:n}),(0,l.jsx)(dk,{}),(0,l.jsx)(wk,{setRowSelection:t,disabledReason:a}),(0,l.jsx)(hk,{}),(0,l.jsx)(vk,{tableName:n,selectedRows:e,setRowSelection:t,disabledReason:a})]})})},Sk=({tableName:e,selectedRows:t,setRowSelection:n})=>(0,l.jsxs)("div",{className:"size-full flex flex-col items-center justify-center",children:[(0,l.jsx)($0,{selectedRows:t,setRowSelection:n,tableName:e}),(0,l.jsxs)("div",{className:"text-sm text-muted-foreground flex-1 flex items-center justify-center",children:['No data available for "',e,'" table']})]}),Ck=({tableName:e,errorTableData:t,errorTableCols:n})=>{const r=t||n,s=r?.message||"",a=s.includes("does not exist")||s.includes("404")||r?.status===404,o=s.includes("Network Error")||s.includes("Failed to fetch");let i="Something went wrong",c=s||"An unexpected error occurred";return a?(i="Table not found",c=s||`The table "${e}" does not exist or has been deleted`):o&&(i="Connection failed",c="Unable to connect to the database server. Please check your connection."),(0,l.jsx)("div",{className:"size-full flex flex-col items-center justify-center",children:(0,l.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center gap-2",children:[(0,l.jsx)("div",{className:"text-sm font-medium",children:i}),(0,l.jsx)("div",{className:"text-sm text-muted-foreground",children:c})]})})};var Nk=(e=250)=>{const t=(0,p.useRef)(null);return(0,p.useEffect)(()=>()=>{t.current!==null&&window.clearTimeout(t.current)},[]),{schedule:(0,p.useCallback)(n=>{t.current!==null&&window.clearTimeout(t.current),t.current=window.setTimeout(()=>{t.current=null,n()},e)},[e]),cancel:(0,p.useCallback)(()=>{t.current!==null&&(window.clearTimeout(t.current),t.current=null)},[])}},Ek=(0,p.memo)(function({row:t,tableName:n,virtualColumns:r,virtualPaddingLeft:s,virtualPaddingRight:a,virtualRow:o}){const i=t.getVisibleCells(),{schedule:c,cancel:u}=Nk(),{highlightedRowIds:d}=Hn(),f=d.has(t.id),h=()=>{qr.getState().setRowDetails(n,o.index),Oe.getState().openOverlay("tables.row-details")};return(0,l.jsxs)("tr",{"data-index":o.index,className:G("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",f&&"bg-emerald-500/15 dark:bg-emerald-500/20 transition-colors duration-1000 ease-in-out"),style:{transform:`translateY(${o.start}px)`},onClick:m=>{m.target.closest("button, a, input, textarea, select, [role=checkbox], [role=listbox], [role=dialog], [data-grid-cell-editor]")||c(h)},onDoubleClick:u,children:[s?(0,l.jsx)("td",{style:{display:"flex",width:s}}):null,r.map(m=>{const v=i[m.index];return(0,l.jsxs)("td",{className:"group relative flex border-r border-border h-8",style:{width:m.index===0?"40px":v.column.getSize()},children:[$r(v.column.columnDef.cell,v.getContext()),(0,l.jsx)(Su,{value:v.getValue()})]},v.id)}),a?(0,l.jsx)("td",{style:{display:"flex",width:a}}):null]},t.id)}),Ik=33,jk=({columnVirtualizer:e,table:t,tableName:n,tableContainerRef:r,virtualPaddingLeft:s,virtualPaddingRight:a})=>{const{rows:o}=t.getRowModel(),i=Go({count:o.length,estimateSize:()=>Ik,getScrollElement:()=>r.current,overscan:5}),c=i.getVirtualItems(),u=e.getVirtualItems();return(0,l.jsx)("tbody",{style:{display:"grid",height:`${i.getTotalSize()}px`,position:"relative"},children:c.map(d=>{const f=o[d.index];return(0,l.jsx)(Ek,{row:f,tableName:n,tableState:t.getState(),tableMeta:t.options.meta,virtualColumns:u,virtualPaddingLeft:s,virtualPaddingRight:a,virtualRow:d},f.id)})})},Tk=(0,p.memo)(Rk,(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 Rk({header:e,table:t,label:n}){const r=t._getDefaultColumnDef(),s=(0,p.useCallback)(()=>{t.setColumnSizing(a=>{const o={...a};return delete o[e.column.id],o})},[e.column.id,t]);return(0,l.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:G("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 kk=({columnVirtualizer:e,headerGroup:t,virtualPaddingLeft:n,virtualPaddingRight:r,table:s})=>{const{table:a}=Yu.useParams(),o=fi(),[i,c]=(0,p.useState)(!1),[u,d]=(0,p.useState)(null),[f,h]=(0,p.useState)(!1),{deleteColumn:m}=Xp(),v=Je(),[,S]=Ce(me.COLUMN_NAME),[,b]=Ce(me.TABLE_STATE_KEYS.SORT),[,N]=Ce(me.TABLE_STATE_KEYS.ORDER),[,w]=Ce(me.TABLE_STATE_KEYS.CURSOR),[,y]=Ce(me.TABLE_STATE_KEYS.DIRECTION),g=e.getVirtualItems(),x=s.getState().columnSizingInfo.isResizingColumn,C=(0,p.useCallback)(k=>_=>{_===null?(S(null),b(null),N(null)):(S(k),b(k),N(_==="desc"?"desc":"asc")),w(null),y(null)},[S,b,N,w,y]),j=(0,p.useCallback)(k=>{d(k),h(!1),c(!0)},[]),E=(0,p.useCallback)(k=>{c(k),k||(d(null),h(!1))},[]),R=(0,p.useCallback)(async()=>{!u||!a||(await m({db:a,tableName:a,schemaName:v,columnName:u,cascade:f}),c(!1),d(null),h(!1))},[u,a,m,f]),O=(0,p.useCallback)(()=>{c(!1),d(null),h(!1)},[]);return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("tr",{className:G("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",x&&"pointer-events-none"),children:[n?(0,l.jsx)("th",{style:{display:"flex",width:n}}):null,g.map(k=>{const _=t.headers[k.index],A=_.column.columnDef.meta?.isPrimaryKey,I=_.column.columnDef.meta?.isForeignKey,T=_.column.columnDef.meta?.dataTypeLabel;return(0,l.jsx)("th",{className:"h-full flex z-100! relative",style:{display:"flex",width:k.index===0?"40px":_.getSize()},children:(0,l.jsx)("div",{className:G("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",_.column.getCanSort()?"cursor-pointer select-none":""),children:k.index===0?$r(_.column.columnDef.header,_.getContext()):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(Oa,{children:[(0,l.jsx)(Da,{asChild:!0,children:(0,l.jsxs)(te,{variant:"outline",className:"relative border-none w-full h-full bg-transparent! rounded-none justify-between",children:[(0,l.jsxs)("div",{className:"flex items-center gap-1",children:[A&&(0,l.jsxs)(jn,{children:[(0,l.jsx)(En,{asChild:!0,children:(0,l.jsx)("span",{className:"inline-flex",children:(0,l.jsx)(Pw,{size:20,className:"text-primary"})})}),(0,l.jsx)(In,{className:"text-[10px]",children:"primary key"})]}),I&&(0,l.jsxs)(jn,{children:[(0,l.jsx)(En,{asChild:!0,children:(0,l.jsx)("span",{className:"inline-flex",children:(0,l.jsx)(Qo,{size:20,className:"text-primary"})})}),(0,l.jsx)(In,{className:"text-[10px]",children:"foreign key"})]}),$r(_.column.columnDef.header,_.getContext())]}),(0,l.jsxs)("div",{className:"flex items-center gap-1",children:[T&&(0,l.jsx)("span",{className:"text-xs leading-none text-muted-foreground",children:T}),(0,l.jsx)("span",{className:"text-xs leading-none text-muted-foreground",children:{asc:(0,l.jsx)(es,{}),desc:(0,l.jsx)(Xc,{})}[_.column.getIsSorted()]??null})]})]})}),(0,l.jsxs)(Pa,{className:"w-44",align:"start",children:[!o&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(eg,{children:[(0,l.jsxs)(Xt,{onClick:()=>C(_.column.id)("asc"),children:[(0,l.jsx)(Uw,{}),"Sort ascending"]}),(0,l.jsxs)(Xt,{onClick:()=>C(_.column.id)("desc"),children:[(0,l.jsx)(Vw,{}),"Sort descending"]}),_.column.getIsSorted()&&(0,l.jsxs)(Xt,{onClick:()=>C(_.column.id)(null),children:[(0,l.jsx)(_s,{}),"Remove sort"]})]}),(0,l.jsx)(tg,{})]}),(0,l.jsxs)(Xt,{variant:"destructive",disabled:o,onClick:()=>j(_.column.id),children:[(0,l.jsx)(Jc,{}),"Delete column"]})]})]}),_.column.getCanResize()&&(0,l.jsx)(Tk,{header:_,table:s,label:_.column.id})]})})},_.id)}),r?(0,l.jsx)("th",{style:{display:"flex",width:r}}):null]},t.id),(0,l.jsx)(Ar,{open:i,onOpenChange:E,children:(0,l.jsxs)(_r,{children:[(0,l.jsxs)(kr,{children:[(0,l.jsx)(Mr,{children:"Delete Column"}),(0,l.jsxs)(Dr,{children:['Are you sure you want to delete the column "',u,'"? This action cannot be undone and will permanently remove all data in this column.']})]}),(0,l.jsxs)("div",{className:"flex gap-2 py-2",children:[(0,l.jsx)(lr,{id:"cascade-delete",checked:f,onCheckedChange:k=>h(k===!0)}),(0,l.jsx)(Ne,{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,l.jsxs)(Rr,{children:[(0,l.jsx)(Tr,{onClick:O,children:"Cancel"}),(0,l.jsx)(Or,{variant:"destructive",onClick:R,children:"Delete"})]})]})})]})},_k=({columnVirtualizer:e,table:t,virtualPaddingLeft:n,virtualPaddingRight:r})=>(0,l.jsx)("thead",{className:"h-9 grid sticky top-0 z-10 supports-backdrop-filter:backdrop-blur-sm",children:t.getHeaderGroups().map(s=>(0,l.jsx)(kk,{columnVirtualizer:e,headerGroup:s,table:t,virtualPaddingLeft:n,virtualPaddingRight:r},s.id))}),Ak=({table:e,tableName:t,pageKey:n})=>{const r=e.getVisibleLeafColumns(),s=(0,p.useRef)(null);(0,p.useLayoutEffect)(()=>{s.current?.scrollTo({top:0})},[n]);const a=Go({count:r.length,estimateSize:u=>r[u].getSize(),getScrollElement:()=>s.current,horizontal:!0,overscan:3}),o=a.getVirtualItems();let i,c;return a&&o?.length&&(i=o[0]?.start??0,c=a.getTotalSize()-(o[o.length-1]?.end??0)),(0,l.jsx)("div",{className:"w-full flex-1 overflow-auto bg-background text-foreground",ref:s,style:{position:"relative"},children:(0,l.jsxs)("table",{style:{display:"grid"},className:"text-foreground",children:[(0,l.jsx)(_k,{columnVirtualizer:a,table:e,virtualPaddingLeft:i,virtualPaddingRight:c}),(0,l.jsx)(jk,{columnVirtualizer:a,table:e,tableName:t,tableContainerRef:s,virtualPaddingLeft:i,virtualPaddingRight:c})]})})},Mk=({table:e,tableName:t,pageKey:n,selectedRows:r,setRowSelection:s})=>(0,l.jsxs)("div",{className:G("flex-1 w-full flex flex-col overflow-hidden pb-9"),children:[(0,l.jsx)($0,{selectedRows:r,setRowSelection:s,tableName:t}),(0,l.jsx)(Ak,{table:e,tableName:t,pageKey:n}),(0,l.jsx)(L0,{tableName:t})]}),Ok=()=>(0,l.jsx)("div",{className:"size-full flex items-center justify-center",children:(0,l.jsx)(As,{size:"size-7"})}),Dk=()=>{const{clearRowDetails:e}=qr(),{closeOverlay:t}=Oe(),{status:n,proceed:r,reset:s}=yw({shouldBlockFn:()=>qr.getState().isDirty,withResolver:!0});return{isBlocked:n==="blocked",discardAndContinue:()=>{e(),t("tables.row-details"),r?.()},keepEditing:()=>s?.()}},Pk=()=>{const{isBlocked:e,discardAndContinue:t,keepEditing:n}=Dk();return(0,l.jsx)(Ar,{open:e,onOpenChange:r=>{r||n()},children:(0,l.jsxs)(_r,{children:[(0,l.jsxs)(kr,{children:[(0,l.jsx)(Mr,{children:"Discard unsaved changes?"}),(0,l.jsx)(Dr,{children:"This record has unsaved changes. Leaving discards them. Continue?"})]}),(0,l.jsxs)(Rr,{children:[(0,l.jsx)(Tr,{children:"Keep editing"}),(0,l.jsx)(Or,{onClick:t,children:"Discard changes"})]})]})})},Lk=({tableName:e})=>{const t=hr(),n=Je(),{tableData:r,pageKey:s,isLoadingTableData:a,errorTableData:o,refetchTableData:i}=gi({tableName:e,schemaName:n}),{tableCols:c,isLoadingTableCols:u,errorTableCols:d}=jt({tableName:e,schemaName:n}),f=(0,p.useMemo)(()=>r?.data||[],[r?.data]),{table:h,selectedRows:m,setRowSelection:v,isEditingCell:S}=UR({tableName:e,tableCols:c,tableDataRows:f}),b=h.getRowModel(),N=(0,p.useMemo)(()=>b.rows.map(w=>w.original),[b]);return(0,p.useEffect)(()=>()=>{qr.getState().clearRowDetails();const{closeOverlay:w}=Oe.getState();w("tables.row-change-primary-key"),w("tables.row-delete-record"),w("tables.row-discard-changes"),w("tables.row-details")},[e]),VT({tableName:e,tableCols:c,tableDataRows:f,refetchTableData:i,isEditingCell:S}),a||u?(0,l.jsx)(Ok,{}):!r&&o||!c&&d?(0,l.jsx)(Ck,{tableName:e,errorTableData:o,errorTableCols:d}):!r?.data||r.data.length===0?(0,l.jsx)(Sk,{tableName:e,selectedRows:m,setRowSelection:v}):t?.dataModel==="document"?(0,l.jsx)(uk,{tableName:e,rows:f}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(Mk,{table:h,tableName:e,pageKey:s,selectedRows:m,setRowSelection:v}),(0,l.jsx)(t1,{tableName:e,rows:N}),(0,l.jsx)(Pk,{})]})},Fk=Lk,sB=({tableName:e})=>{const t=Je();return(0,l.jsxs)("main",{className:"flex-1 flex flex-col overflow-hidden",children:[(0,l.jsx)(Fk,{tableName:e}),(0,l.jsx)(RT,{tableName:e}),(0,l.jsx)(LT,{tableName:e}),(0,l.jsx)(OT,{tableName:e}),(0,l.jsx)(DT,{tableName:e}),(0,l.jsx)(PT,{tableName:e})]},`${t}.${e}`)},$k=({index:e})=>{const[t,n]=(0,p.useState)(!1),{tablesList:r,isLoadingTablesList:s}=ag(),{control:a,watch:o,setValue:i,getValues:c}=lt(),u=o(`fields.${e}.columnName`),d=()=>{const f=c("foreignKeys")||[];if(!f[e]){const h=[...f];h.push({columnName:"",referencedTable:"",referencedColumn:"",onUpdate:"NO ACTION",onDelete:"NO ACTION"}),i("foreignKeys",h)}};return(0,l.jsx)(Ht,{control:a,name:`foreignKeys.${e}`,render:({field:f})=>(0,l.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,l.jsx)(Ne,{htmlFor:"referencedTable",children:"Select a table to reference to"}),(0,l.jsxs)(fr,{modal:!0,onOpenChange:h=>{h&&d(),n(h)},open:t,children:[(0,l.jsx)(ts,{asChild:!0,children:(0,l.jsxs)(te,{"aria-expanded":t,"aria-controls":"referencedTable-listbox",className:"w-full justify-between border-input bg-background px-3 font-normal outline-none outline-offset-0 hover:bg-background focus-visible:outline-[3px]",id:"referencedTable",role:"combobox",variant:"outline",disabled:s,children:[(0,l.jsx)("span",{className:G("truncate",!f.value?.referencedTable&&"text-muted-foreground"),children:f.value?.referencedTable||"---"}),(0,l.jsx)(es,{"aria-hidden":"true",className:"shrink-0 text-muted-foreground/80",size:16})]})}),(0,l.jsx)(Mn,{id:"referencedTable-listbox",align:"start",className:"w-full min-w-(--radix-popper-anchor-width) border-input p-0",children:(0,l.jsxs)(uu,{children:[(0,l.jsx)(du,{placeholder:"Search table..."}),(0,l.jsxs)(fu,{children:[(0,l.jsx)(hu,{children:"No table found."}),(0,l.jsx)(Vn,{children:r?.map(h=>(0,l.jsxs)(Fe,{onSelect:()=>{f.onChange({...f.value,referencedTable:h.tableName}),i(`foreignKeys.${e}.columnName`,u),n(!1)},value:h.tableName,children:[h.tableName,f.value?.referencedTable===h.tableName&&(0,l.jsx)(Zr,{className:"ml-auto",size:16})]},h.tableName))})]})]})})]})]})})},zk=({index:e})=>{const{closeOverlay:t,isOverlayOpen:n}=Oe(),{control:r}=lt(),{remove:s}=cc({control:r,name:"foreignKeys"}),a=()=>{s(e),t(`table-builder.add-foreign-key-${e}`)};return(0,l.jsx)(DS,{open:n(`table-builder.add-foreign-key-${e}`),onOpenChange:o=>{o||t(`table-builder.add-foreign-key-${e}`)},children:(0,l.jsxs)(MS,{className:"max-w-lg!",children:[(0,l.jsx)(_S,{children:(0,l.jsx)(PS,{children:"Add foreign key relationship"})}),(0,l.jsxs)("div",{className:"flex flex-col justify-between px-5 py-6 h-full flex-1",children:[(0,l.jsxs)("div",{className:"space-y-6 flex-1",children:[(0,l.jsx)($k,{index:e}),(0,l.jsx)(yE,{index:e})]}),(0,l.jsx)(te,{type:"button",variant:"outline",size:"sm",onClick:a,children:(0,l.jsx)("span",{className:"text-xs",children:"Reset Foreign Key"})})]})]})})},Af=({index:e,onRemove:t,canRemove:n})=>{const{control:r}=lt(),s=Gt({control:r,name:`fields.${e}.isPrimaryKey`});return(0,l.jsxs)("div",{className:"grid grid-cols-4 gap-4",children:[(0,l.jsx)(rg,{index:e}),(0,l.jsx)(ui,{index:e}),(0,l.jsx)(Cu,{index:e}),(0,l.jsxs)("div",{className:"flex gap-2",children:[(0,l.jsx)(sg,{index:e}),(0,l.jsx)(ng,{index:e,isDisabled:!!s}),(0,l.jsx)("div",{className:"flex items-end justify-center",children:(0,l.jsx)(te,{type:"button",variant:"ghost",className:"size-9",onClick:t,disabled:!n,children:(0,l.jsx)(_s,{className:"size-4"})})}),(0,l.jsx)(zk,{index:e})]})]})},Vk=()=>{const{control:e}=lt(),{fields:t,append:n,remove:r}=cc({control:e,name:"fields"}),{remove:s}=cc({control:e,name:"foreignKeys"}),a=Gt({control:e,name:"fields"}),o=()=>{n({columnName:"",columnType:"",defaultValue:"",isPrimaryKey:!1,isNullable:!0,isUnique:!1,isIdentity:!1,isArray:!1})},i=d=>{t.length>1&&(r(d),s(d))},c=t.reduce((d,f,h)=>(a?.[h]?.isPrimaryKey&&d.push({field:f,index:h}),d),[]),u=t.reduce((d,f,h)=>(a?.[h]?.isPrimaryKey||d.push({field:f,index:h}),d),[]);return(0,l.jsxs)("div",{className:"space-y-2",children:[c.length>1&&(0,l.jsx)(vt,{variant:"info",title:"Composite primary key selected",className:"mb-6"}),(0,l.jsxs)("div",{className:"grid grid-cols-4 px-2",children:[(0,l.jsx)(Ne,{className:"text-xs",children:"Column Name"}),(0,l.jsx)(Ne,{className:"text-xs",children:"Column Type"}),(0,l.jsx)(Ne,{className:"text-xs",children:"Default Value"}),(0,l.jsx)(Ne,{className:"text-xs",children:"Primary"})]}),(0,l.jsxs)("div",{className:"space-y-2",children:[c.length>0&&(0,l.jsx)("div",{className:"bg-primary/10 rounded-lg px-2 py-3 space-y-2",children:c.map(({field:d,index:f})=>(0,l.jsx)(Af,{index:f,onRemove:()=>i(f),canRemove:t.length>1},d.id))}),u.length>0&&(0,l.jsx)("div",{className:"space-y-2 px-2 py-3",children:u.map(({field:d,index:f})=>(0,l.jsx)(Af,{index:f,onRemove:()=>i(f),canRemove:t.length>1},d.id))})]}),(0,l.jsx)("div",{className:"border border-dashed border-input rounded-lg flex justify-center items-center p-6",children:(0,l.jsx)(te,{type:"button",variant:"secondary",size:"sm",onClick:o,children:"Add New Column"})})]})};function aB({className:e,...t}){return(0,l.jsx)("div",{"data-slot":"field-group",className:G("gap-4 data-[slot=checkbox-group]:gap-3 [&>[data-slot=field-group]]:gap-4 group/field-group @container/field-group flex w-full flex-col",e),...t})}var Bk=lp("data-[invalid=true]:text-destructive gap-2 group/field flex w-full",{variants:{orientation:{vertical:"flex-col [&>*]:w-full [&>.sr-only]:w-auto",horizontal:"flex-row items-center [&>[data-slot=field-label]]:flex-auto has-[>[data-slot=field-content]]:items-start has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px",responsive:"flex-col [&>*]:w-full [&>.sr-only]:w-auto @md/field-group:flex-row @md/field-group:items-center @md/field-group:[&>*]:w-auto @md/field-group:[&>[data-slot=field-label]]:flex-auto @md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px"}},defaultVariants:{orientation:"vertical"}});function oB({className:e,orientation:t="vertical",...n}){return(0,l.jsx)("div",{role:"group","data-slot":"field","data-orientation":t,className:G(Bk({orientation:t}),e),...n})}function iB({className:e,...t}){return(0,l.jsx)(Ne,{"data-slot":"field-label",className:G("has-data-checked:bg-primary/5 dark:has-data-checked:bg-primary/10 gap-2 group-data-[disabled=true]/field:opacity-50 has-[>[data-slot=field]]:rounded-sm has-[>[data-slot=field]]:border [&>*]:data-[slot=field]:p-2 group/field-label peer/field-label flex w-fit leading-snug","has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col",e),...t})}function lB({className:e,...t}){return(0,l.jsx)("p",{"data-slot":"field-description",className:G("text-muted-foreground text-left text-xs/relaxed [[data-variant=legend]+&]:-mt-1.5 leading-normal font-normal group-has-[[data-orientation=horizontal]]/field:text-balance","last:mt-0 nth-last-2:-mt-1","[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4",e),...t})}var Uk=p.memo(function({errors:t}){const n=[...new Map(t.map(r=>[r?.message,r])).values()];return n.length===1?(0,l.jsx)(l.Fragment,{children:n[0]?.message}):(0,l.jsx)("ul",{className:"ml-4 flex list-disc flex-col gap-1",children:n.map((r,s)=>r?.message&&(0,l.jsx)("li",{children:r.message},r?.message??s))})});function Hk({className:e,children:t,errors:n,...r}){return t!=null||(n?.length??0)>0?(0,l.jsx)("div",{role:"alert","data-slot":"field-error",className:G("text-destructive text-xs/relaxed font-normal",e),...r,children:t??(n&&(0,l.jsx)(Uk,{errors:n}))}):null}var qk=()=>{const{control:e,register:t,formState:{errors:n}}=lt();return(0,l.jsx)(Ht,{control:e,name:"tableName",render:()=>(0,l.jsxs)("div",{className:"flex gap-24 px-2",children:[(0,l.jsx)(Ne,{htmlFor:"tableName",children:"Table Name"}),(0,l.jsxs)("div",{className:"flex-1 space-y-1",children:[(0,l.jsx)(ot,{id:"tableName",...t("tableName",{required:"Table name is required"}),className:n.tableName?"border-destructive ring-destructive ring-1":""}),n.tableName&&(0,l.jsx)(Hk,{errors:[n.tableName]})]})]})})},Wk=()=>{const{closeOverlay:e}=Oe(),t=At(),{selectedDatabase:n,dbType:r}=Ue(),{mutateAsync:s,isPending:a}=It({mutationFn:async i=>(await ZS(i,n)).data.data,onSuccess:async()=>{await Promise.all([t.invalidateQueries({queryKey:Me.lists()}),t.invalidateQueries({queryKey:Me.columns()})]),e("table-builder.create-table"),r&&_n.capture("table_created",{db_type:r})}});return{createTable:async(i,c)=>Be.promise(s(i,c),{loading:"Creating table...",success:u=>u||"Table created successfully",error:u=>u.detail||u.message||"Failed to create table"}),isCreatingTable:a}},Kk=Gn({columnName:Zt().min(1,"Column name is required"),columnType:Zt().min(1,"Column type is required"),defaultValue:Zt(),isPrimaryKey:Rt(),isNullable:Rt(),isUnique:Rt(),isIdentity:Rt(),isArray:Rt()}),Yk=Gn({columnName:Zt().min(1,"Column name is required"),referencedTable:Zt().min(1,"Referenced table is required"),referencedColumn:Zt().min(1,"Referenced column is required"),onUpdate:$d(["CASCADE","SET NULL","SET DEFAULT","RESTRICT","NO ACTION"]).default("NO ACTION"),onDelete:$d(["CASCADE","SET NULL","SET DEFAULT","RESTRICT","NO ACTION"]).default("NO ACTION")}),Gk=Gn({tableName:Zt().min(1,"Table name is required"),fields:Gl(Kk).min(1,"At least one column is required"),foreignKeys:nC(e=>{if(Array.isArray(e))return e.filter(t=>t==null?!1:typeof t=="object"?t.columnName&&t.referencedTable&&t.referencedColumn:!1)},Gl(Yk).optional())}),Jk={tableName:"",fields:[{columnName:"",columnType:"",defaultValue:"",isPrimaryKey:!1,isNullable:!0,isUnique:!1,isIdentity:!1,isArray:!1}],foreignKeys:void 0},Qk=()=>{const{closeOverlay:e,isOverlayOpen:t}=Oe(),{createTable:n,isCreatingTable:r}=Wk(),s=Os({mode:"onSubmit",defaultValues:Jk,resolver:ci(Gk)}),a=async c=>{const u={...c,foreignKeys:c.foreignKeys?.filter(d=>d===null?!0:d.columnName&&d.referencedTable&&d.referencedColumn)};try{await n(u,{onSuccess:()=>{s.reset()},onError:d=>{console.error("Error creating table:",d)}})}catch(d){console.error("Error creating table:",d)}},o=c=>{if(c.tableName?.message){Be.error(c.tableName.message);return}if(c.fields&&Array.isArray(c.fields))for(const u of c.fields){if(u?.columnName?.message){Be.error(u.columnName.message);return}if(u?.columnType?.message){Be.error(u.columnType.message);return}}if(c.foreignKeys&&Array.isArray(c.foreignKeys))for(const u of c.foreignKeys){if(u?.columnName?.message){Be.error(u.columnName.message);return}if(u?.referencedTable?.message){Be.error(u.referencedTable.message);return}if(u?.referencedColumn?.message){Be.error(u.referencedColumn.message);return}}Be.error("Please check the form for errors")},i=()=>{s.reset(),e("table-builder.create-table")};return(0,l.jsx)(nn,{title:"Create a new table",open:t("table-builder.create-table"),onOpenChange:c=>{c||i()},children:(0,l.jsx)(Ms,{...s,children:(0,l.jsxs)("form",{onSubmit:s.handleSubmit(a,o),className:"space-y-6",children:[(0,l.jsx)(qk,{}),(0,l.jsx)(Vk,{}),(0,l.jsx)(wu,{onCancel:i,isLoading:r})]})})})},z0=Object.defineProperty,Xk=(e,t,n)=>t in e?z0(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Zk=(e,t)=>{for(var n in t)z0(e,n,{get:t[n],enumerable:!0})},e_=(e,t,n)=>Xk(e,typeof t!="symbol"?t+"":t,n),V0={};Zk(V0,{Graph:()=>Ln,alg:()=>Ju});var t_=Object.defineProperty,B0=(e,t)=>{for(var n in t)t_(e,n,{get:t[n],enumerable:!0})},Gu=class{constructor(e){this._isDirected=!0,this._isMultigraph=!1,this._isCompound=!1,this._nodes={},this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={},this._nodeCount=0,this._edgeCount=0,this._defaultNodeLabelFn=()=>{},this._defaultEdgeLabelFn=()=>{},e&&(this._isDirected="directed"in e?e.directed:!0,this._isMultigraph="multigraph"in e?e.multigraph:!1,this._isCompound="compound"in e?e.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children["\0"]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(e){return this._label=e,this}graph(){return this._label}setDefaultNodeLabel(e){return typeof e!="function"?this._defaultNodeLabelFn=()=>e:this._defaultNodeLabelFn=e,this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){return this.nodes().filter(e=>Object.keys(this._in[e]).length===0)}sinks(){return this.nodes().filter(e=>Object.keys(this._out[e]).length===0)}setNodes(e,t){return e.forEach(n=>{t!==void 0?this.setNode(n,t):this.setNode(n)}),this}setNode(e,t){return e in this._nodes?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]="\0",this._children[e]={},this._children["\0"][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)}node(e){return this._nodes[e]}hasNode(e){return e in this._nodes}removeNode(e){if(e in this._nodes){let t=n=>this.removeEdge(this._edgeObjs[n]);delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],this.children(e).forEach(n=>{this.setParent(n)}),delete this._children[e]),Object.keys(this._in[e]).forEach(t),delete this._in[e],delete this._preds[e],Object.keys(this._out[e]).forEach(t),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(t===void 0)t="\0";else{t+="";for(let n=t;n!==void 0;n=this.parent(n))if(n===e)throw new Error("Setting "+t+" as parent of "+e+" would create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this}parent(e){if(this._isCompound){let t=this._parent[e];if(t!=="\0")return t}}children(e="\0"){if(this._isCompound){let t=this._children[e];if(t)return Object.keys(t)}else{if(e==="\0")return this.nodes();if(this.hasNode(e))return[]}return[]}predecessors(e){let t=this._preds[e];if(t)return Object.keys(t)}successors(e){let t=this._sucs[e];if(t)return Object.keys(t)}neighbors(e){let t=this.predecessors(e);if(t){let n=new Set(t),r=this.successors(e);if(r)for(let s of r)n.add(s);return Array.from(n.values())}}isLeaf(e){var t;let n;return this.isDirected()?n=this.successors(e):n=this.neighbors(e),((t=n?.length)!=null?t:0)===0}filterNodes(e){let t=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});t.setGraph(this.graph()),Object.entries(this._nodes).forEach(([s,a])=>{e(s)&&t.setNode(s,a)}),Object.values(this._edgeObjs).forEach(s=>{t.hasNode(s.v)&&t.hasNode(s.w)&&t.setEdge(s,this.edge(s))});let n={},r=s=>{let a=this.parent(s);return!a||t.hasNode(a)?(n[s]=a,a):a in n?n[a]:r(a)};return this._isCompound&&t.nodes().forEach(s=>t.setParent(s,r(s))),t}setDefaultEdgeLabel(e){return typeof e!="function"?this._defaultEdgeLabelFn=()=>e:this._defaultEdgeLabelFn=e,this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(e,t){return e.reduce((n,r)=>(t!==void 0?this.setEdge(n,r,t):this.setEdge(n,r),r)),this}setEdge(e,t,n,r){let s,a,o,i,c=!1;typeof e=="object"&&e!==null&&"v"in e?(s=e.v,a=e.w,o=e.name,arguments.length===2&&(i=t,c=!0)):(s=e,a=t,o=r,arguments.length>2&&(i=n,c=!0)),s=""+s,a=""+a,o!==void 0&&(o=""+o);let u=aa(this._isDirected,s,a,o);if(u in this._edgeLabels)return c&&(this._edgeLabels[u]=i),this;if(o!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(s),this.setNode(a),this._edgeLabels[u]=c?i:this._defaultEdgeLabelFn(s,a,o);let d=n_(this._isDirected,s,a,o);return s=d.v,a=d.w,Object.freeze(d),this._edgeObjs[u]=d,Mf(this._preds[a],s),Mf(this._sucs[s],a),this._in[a][u]=d,this._out[s][u]=d,this._edgeCount++,this}edge(e,t,n){let r=arguments.length===1?Cl(this._isDirected,e):aa(this._isDirected,e,t,n);return this._edgeLabels[r]}edgeAsObj(e,t,n){let r=arguments.length===1?this.edge(e):this.edge(e,t,n);return typeof r!="object"||r===null?{label:r}:r}hasEdge(e,t,n){return(arguments.length===1?Cl(this._isDirected,e):aa(this._isDirected,e,t,n))in this._edgeLabels}removeEdge(e,t,n){let r=arguments.length===1?Cl(this._isDirected,e):aa(this._isDirected,e,t,n),s=this._edgeObjs[r];if(s){let a=s.v,o=s.w;delete this._edgeLabels[r],delete this._edgeObjs[r],Of(this._preds[o],a),Of(this._sucs[a],o),delete this._in[o][r],delete this._out[a][r],this._edgeCount--}return this}inEdges(e,t){return this.isDirected()?this.filterEdges(this._in[e],e,t):this.nodeEdges(e,t)}outEdges(e,t){return this.isDirected()?this.filterEdges(this._out[e],e,t):this.nodeEdges(e,t)}nodeEdges(e,t){if(e in this._nodes)return this.filterEdges({...this._in[e],...this._out[e]},e,t)}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}filterEdges(e,t,n){if(!e)return;let r=Object.values(e);return n?r.filter(s=>s.v===t&&s.w===n||s.v===n&&s.w===t):r}};function Mf(e,t){e[t]?e[t]++:e[t]=1}function Of(e,t){e[t]!==void 0&&!--e[t]&&delete e[t]}function aa(e,t,n,r){let s=""+t,a=""+n;if(!e&&s>a){let o=s;s=a,a=o}return s+""+a+""+(r===void 0?"\0":r)}function n_(e,t,n,r){let s=""+t,a=""+n;if(!e&&s>a){let i=s;s=a,a=i}let o={v:s,w:a};return r&&(o.name=r),o}function Cl(e,t){return aa(e,t.v,t.w,t.name)}B0({},{read:()=>o_,write:()=>r_});function r_(e){let t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:s_(e),edges:a_(e)},n=e.graph();return n!==void 0&&(t.value=structuredClone(n)),t}function s_(e){return e.nodes().map(t=>{let n=e.node(t),r=e.parent(t),s={v:t};return n!==void 0&&(s.value=n),r!==void 0&&(s.parent=r),s})}function a_(e){return e.edges().map(t=>{let n=e.edge(t),r={v:t.v,w:t.w};return t.name!==void 0&&(r.name=t.name),n!==void 0&&(r.value=n),r})}function o_(e){let t=new Gu(e.options);return e.value!==void 0&&t.setGraph(e.value),e.nodes.forEach(n=>{t.setNode(n.v,n.value),n.parent&&t.setParent(n.v,n.parent)}),e.edges.forEach(n=>{t.setEdge({v:n.v,w:n.w,name:n.name},n.value)}),t}var Ju={};B0(Ju,{CycleException:()=>ko,bellmanFord:()=>U0,components:()=>c_,dijkstra:()=>Ro,dijkstraAll:()=>f_,findCycles:()=>h_,floydWarshall:()=>p_,isAcyclic:()=>v_,postorder:()=>x_,preorder:()=>b_,prim:()=>w_,shortestPaths:()=>S_,tarjan:()=>q0,topsort:()=>W0});var i_=()=>1;function U0(e,t,n,r){return l_(e,String(t),n||i_,r||function(s){var a;return(a=e.outEdges(s))!=null?a:[]})}function l_(e,t,n,r){let s={},a,o=0,i=e.nodes(),c=function(f){let h=s[f.v],m=s[f.w];if(!h||!m)return;let v=n(f);h.distance+v<m.distance&&(s[f.w]={distance:h.distance+v,predecessor:f.v},a=!0)},u=function(){i.forEach(function(f){r(f).forEach(function(h){let m=h.v===f?h.v:h.w,v=m===h.v?h.w:h.v;c({v:m,w:v})})})};i.forEach(function(f){let h=f===t?0:Number.POSITIVE_INFINITY;s[f]={distance:h,predecessor:""}});let d=i.length;for(let f=1;f<d&&(a=!1,o++,u(),!!a);f++);if(o===d-1&&(a=!1,u(),a))throw new Error("The graph contains a negative weight cycle");return s}function c_(e){let t={},n=[],r;function s(a){var o,i;a in t||(t[a]=!0,r.push(a),(o=e.successors(a))==null||o.forEach(s),(i=e.predecessors(a))==null||i.forEach(s))}return e.nodes().forEach(function(a){r=[],s(a),r.length&&n.push(r)}),n}var H0=class{constructor(){this._arr=[],this._keyIndices={}}size(){return this._arr.length}keys(){return this._arr.map(e=>e.key)}has(e){return e in this._keyIndices}priority(e){let t=this._keyIndices[e];if(t!==void 0)return this._arr[t].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(e,t){let n=this._keyIndices,r=String(e);if(!(r in n)){let s=this._arr,a=s.length;return n[r]=a,s.push({key:r,priority:t}),this._decrease(a),!0}return!1}removeMin(){if(this.size()===0)throw new Error("Queue underflow");this._swap(0,this._arr.length-1);let e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key}decrease(e,t){let n=this._keyIndices[e];if(n===void 0)throw new Error(`Key not found: ${e}`);let r=this._arr[n].priority;if(t>r)throw new Error(`New priority is greater than current priority. Key: ${e} Old: ${r} New: ${t}`);this._arr[n].priority=t,this._decrease(n)}_heapify(e){let t=this._arr,n=2*e,r=n+1,s=e;n<t.length&&(s=t[n].priority<t[s].priority?n:s,r<t.length&&(s=t[r].priority<t[s].priority?r:s),s!==e&&(this._swap(e,s),this._heapify(s)))}_decrease(e){let t=this._arr,n=t[e].priority,r;for(;e!==0&&(r=e>>1,!(t[r].priority<n));)this._swap(e,r),e=r}_swap(e,t){let n=this._arr,r=this._keyIndices,s=n[e],a=n[t];n[e]=a,n[t]=s,r[a.key]=e,r[s.key]=t}},u_=()=>1;function Ro(e,t,n,r){let s=function(a){var o;return(o=e.outEdges(a))!=null?o:[]};return d_(e,String(t),n||u_,r||s)}function d_(e,t,n,r){let s={},a=new H0,o,i,c=function(u){let d=u.v!==o?u.v:u.w,f=s[d];if(!f)return;let h=n(u),m=i.distance+h;if(h<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+u+" Weight: "+h);m<f.distance&&(f.distance=m,f.predecessor=o,a.decrease(d,m))};for(e.nodes().forEach(function(u){let d=u===t?0:Number.POSITIVE_INFINITY;s[u]={distance:d,predecessor:""},a.add(u,d)});a.size()>0;){o=a.removeMin();let u=s[o];if(!u||u.distance===Number.POSITIVE_INFINITY)break;i=u,r(o).forEach(c)}return s}function f_(e,t,n){return e.nodes().reduce(function(r,s){return r[s]=Ro(e,s,t,n),r},{})}function q0(e){let t=0,n=[],r={},s=[];function a(o){var i;let c=r[o]={onStack:!0,lowlink:t,index:t++};if(n.push(o),(i=e.successors(o))==null||i.forEach(function(u){if(u in r){let d=r[u];d!=null&&d.onStack&&(c.lowlink=Math.min(c.lowlink,d.index))}else{a(u);let d=r[u];d&&(c.lowlink=Math.min(c.lowlink,d.lowlink))}}),c.lowlink===c.index){let u=[],d;do{d=n.pop();let f=r[d];f&&(f.onStack=!1),u.push(d)}while(o!==d);s.push(u)}}return e.nodes().forEach(function(o){o in r||a(o)}),s}function h_(e){return q0(e).filter(function(t){var n;let r=t[0];return r?t.length>1||t.length===1&&((n=e.outEdges(r,r))!=null?n:[]).length>0:!1})}var m_=()=>1;function p_(e,t,n){return g_(e,t||m_,n||function(r){var s;return(s=e.outEdges(r))!=null?s:[]})}function g_(e,t,n){let r={},s=e.nodes();return s.forEach(function(a){let o={};r[a]=o,o[a]={distance:0,predecessor:""},s.forEach(function(i){a!==i&&(o[i]={distance:Number.POSITIVE_INFINITY,predecessor:""})}),n(a).forEach(function(i){let c=i.v===a?i.w:i.v,u=t(i);o[c]={distance:u,predecessor:a}})}),s.forEach(function(a){let o=r[a];o&&s.forEach(function(i){let c=r[i];c&&s.forEach(function(u){let d=c[a],f=o[u],h=c[u];if(d&&f&&h){let m=d.distance+f.distance;m<h.distance&&(h.distance=m,h.predecessor=f.predecessor)}})})}),r}var ko=class extends Error{constructor(e){super(e),this.name="CycleException"}};function W0(e){let t={},n={},r=[];function s(a){var o;if(a in n)throw new ko;a in t||(n[a]=!0,t[a]=!0,(o=e.predecessors(a))==null||o.forEach(s),delete n[a],r.push(a))}if(e.sinks().forEach(s),Object.keys(t).length!==e.nodeCount())throw new ko;return r}function v_(e){try{W0(e)}catch(t){if(t instanceof ko)return!1;throw t}return!0}function y_(e,t,n,r,s){Array.isArray(t)||(t=[t]);let a=(i=>{var c;return(c=e.isDirected()?e.successors(i):e.neighbors(i))!=null?c:[]}),o={};return t.forEach(function(i){if(!e.hasNode(i))throw new Error("Graph does not have node: "+i);s=K0(e,i,n==="post",o,a,r,s)}),s}function K0(e,t,n,r,s,a,o){return t in r||(r[t]=!0,n||(o=a(o,t)),s(t).forEach(function(i){o=K0(e,i,n,r,s,a,o)}),n&&(o=a(o,t))),o}function Y0(e,t,n){return y_(e,t,n,function(r,s){return r.push(s),r},[])}function x_(e,t){return Y0(e,t,"post")}function b_(e,t){return Y0(e,t,"pre")}function w_(e,t){var n;let r=new Gu,s={},a=new H0,o;function i(d){let f=d.v===o?d.w:d.v,h=a.priority(f);if(h!==void 0){let m=t(d);m<h&&(s[f]=o,a.decrease(f,m))}}if(e.nodeCount()===0)return r;e.nodes().forEach(function(d){a.add(d,Number.POSITIVE_INFINITY),r.setNode(d)});let c=e.nodes()[0];c!==void 0&&a.decrease(c,0);let u=!1;for(;a.size()>0;){if(o=a.removeMin(),o in s)r.setEdge(o,s[o]);else{if(u)throw new Error("Input graph is not connected: "+e);u=!0}(n=e.nodeEdges(o))==null||n.forEach(i)}return r}function S_(e,t,n,r){return C_(e,t,n,r??(s=>{var a;return(a=e.outEdges(s))!=null?a:[]}))}function C_(e,t,n,r){if(n===void 0)return Ro(e,t,n,r);let s=!1,a=e.nodes();for(let o=0;o<a.length;o++){let i=a[o];if(i===void 0)continue;let c=r(i);for(let u=0;u<c.length;u++){let d=c[u];if(!d)continue;let f=d.v===i?d.v:d.w;n({v:f,w:f===d.v?d.w:d.v})<0&&(s=!0)}if(s)return U0(e,t,n,r)}return Ro(e,t,n,r)}var Ln=Gu;function Fs(e,t,n,r){let s=r;for(;e.hasNode(s);)s=Qu(r);return n.dummy=t,e.setNode(s,n),s}function N_(e){let t=new Ln().setGraph(e.graph());return e.nodes().forEach(n=>t.setNode(n,e.node(n))),e.edges().forEach(n=>{let r=t.edge(n.v,n.w)||{weight:0,minlen:1},s=e.edge(n);t.setEdge(n.v,n.w,{weight:r.weight+s.weight,minlen:Math.max(r.minlen,s.minlen)})}),t}function G0(e){let t=new Ln({multigraph:e.isMultigraph()}).setGraph(e.graph());return e.nodes().forEach(n=>{e.children(n).length||t.setNode(n,e.node(n))}),e.edges().forEach(n=>{t.setEdge(n,e.edge(n))}),t}function Df(e,t){let n=e.x,r=e.y,s=t.x-n,a=t.y-r,o=e.width/2,i=e.height/2;if(!s&&!a)throw new Error("Not possible to find intersection inside of the rectangle");let c,u;return Math.abs(a)*o>Math.abs(s)*i?(a<0&&(i=-i),c=i*s/a,u=i):(s<0&&(o=-o),c=o,u=o*a/s),{x:n+c,y:r+u}}function wi(e){let t=xa(Q0(e)+1).map(()=>[]);return e.nodes().forEach(n=>{let r=e.node(n),s=r.rank;s!==void 0&&(t[s]||(t[s]=[]),t[s][r.order]=n)}),t}function E_(e){let t=e.nodes().map(r=>{let s=e.node(r).rank;return s===void 0?Number.MAX_VALUE:s}),n=Rn(Math.min,t);e.nodes().forEach(r=>{let s=e.node(r);Object.hasOwn(s,"rank")&&(s.rank-=n)})}function I_(e){let t=e.nodes().map(o=>e.node(o).rank).filter(o=>o!==void 0),n=Rn(Math.min,t),r=[];e.nodes().forEach(o=>{let i=e.node(o).rank-n;r[i]||(r[i]=[]),r[i].push(o)});let s=0,a=e.graph().nodeRankFactor;Array.from(r).forEach((o,i)=>{o===void 0&&i%a!==0?--s:o!==void 0&&s&&o.forEach(c=>e.node(c).rank+=s)})}function Pf(e,t,n,r){let s={width:0,height:0};return arguments.length>=4&&(s.rank=n,s.order=r),Fs(e,"border",s,t)}function j_(e,t=J0){let n=[];for(let r=0;r<e.length;r+=t){let s=e.slice(r,r+t);n.push(s)}return n}var J0=65535;function Rn(e,t){return t.length>J0?e(...j_(t).map(n=>e(...n))):e(...t)}function Q0(e){let t=e.nodes().map(n=>{let r=e.node(n).rank;return r===void 0?Number.MIN_VALUE:r});return Rn(Math.max,t)}function T_(e,t){let n={lhs:[],rhs:[]};return e.forEach(r=>{t(r)?n.lhs.push(r):n.rhs.push(r)}),n}function R_(e,t){return t()}var k_=0;function Qu(e){return e+(""+ ++k_)}function xa(e,t,n=1){t??(t=e,e=0);let r=a=>a<t;n<0&&(r=a=>t<a);let s=[];for(let a=e;r(a);a+=n)s.push(a);return s}function _o(e,t){let n={};for(let r of t)e[r]!==void 0&&(n[r]=e[r]);return n}function Si(e,t){let n;return typeof t=="string"?n=r=>r[t]:n=t,Object.entries(e).reduce((r,[s,a])=>(r[s]=n(a,s),r),{})}function __(e,t){return e.reduce((n,r,s)=>(n[r]=t[s],n),{})}var Ci="\0";function X0(e,t,n){var r,s,a,o,i,c;if(!(e&&t&&n&&t.dummy==="edge"&&n.dummy==="edge"&&t.edgeObj&&n.edgeObj&&e[t.edgeObj.v]&&e[n.edgeObj.v]&&e[t.edgeObj.w]&&e[n.edgeObj.w]))return 0;let u=!0;t.edgeObj.w===n.edgeObj.w&&(u=!1);let d=u?(s=(r=e[t.edgeObj.v])==null?void 0:r.rank)!=null?s:NaN:(o=(a=e[t.edgeObj.w])==null?void 0:a.rank)!=null?o:NaN,f=Object.entries(e).find(S=>{var b,N;return((b=S[1].edgeObj)==null?void 0:b.v)===t.edgeObj.v&&((N=S[1].edgeObj)==null?void 0:N.w)===t.edgeObj.w&&S[1].rank===d}),h=Object.entries(e).find(S=>{var b,N;return((b=S[1].edgeObj)==null?void 0:b.v)===n.edgeObj.v&&((N=S[1].edgeObj)==null?void 0:N.w)===n.edgeObj.w&&S[1].rank===d});if(!f||!h)return 0;let m=(i=f[1].order)!=null?i:NaN,v=(c=h[1].order)!=null?c:NaN;return isNaN(m-v)?0:m-v}var A_=class{constructor(){e_(this,"_sentinel");let e={};e._next=e._prev=e,this._sentinel=e}dequeue(){let e=this._sentinel,t=e._prev;if(t!==e)return Lf(t),t}enqueue(e){let t=this._sentinel;e._prev&&e._next&&Lf(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t}toString(){let e=[],t=this._sentinel,n=t._prev;for(;n!==t;)e.push(JSON.stringify(n,M_)),n=n._prev;return"["+e.join(", ")+"]"}};function Lf(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function M_(e,t){if(e!=="_next"&&e!=="_prev")return t}var O_=A_,D_=()=>1;function P_(e,t){if(e.nodeCount()<=1)return[];let n=F_(e,t||D_);return L_(n.graph,n.buckets,n.zeroIdx).flatMap(r=>e.outEdges(r.v,r.w)||[])}function L_(e,t,n){var r;let s=[],a=t[t.length-1],o=t[0],i;for(;e.nodeCount();){for(;i=o.dequeue();)Nl(e,t,n,i);for(;i=a.dequeue();)Nl(e,t,n,i);if(e.nodeCount()){for(let c=t.length-2;c>0;--c)if(i=(r=t[c])==null?void 0:r.dequeue(),i){s=s.concat(Nl(e,t,n,i,!0)||[]);break}}}return s}function Nl(e,t,n,r,s){let a=[],o=s?a:void 0;return(e.inEdges(r.v)||[]).forEach(i=>{let c=e.edge(i),u=e.node(i.v);s&&a.push({v:i.v,w:i.w}),u.out-=c,xc(t,n,u)}),(e.outEdges(r.v)||[]).forEach(i=>{let c=e.edge(i),u=i.w,d=e.node(u);d.in-=c,xc(t,n,d)}),e.removeNode(r.v),o}function F_(e,t){let n=new Ln,r=0,s=0;e.nodes().forEach(i=>{n.setNode(i,{v:i,in:0,out:0})}),e.edges().forEach(i=>{let c=n.edge(i.v,i.w)||0,u=t(i),d=c+u;n.setEdge(i.v,i.w,d);let f=n.node(i.v),h=n.node(i.w);s=Math.max(s,f.out+=u),r=Math.max(r,h.in+=u)});let a=$_(s+r+3).map(()=>new O_),o=r+1;return n.nodes().forEach(i=>{xc(a,o,n.node(i))}),{graph:n,buckets:a,zeroIdx:o}}function xc(e,t,n){var r,s,a;n.out?n.in?(a=e[n.out-n.in+t])==null||a.enqueue(n):(s=e[e.length-1])==null||s.enqueue(n):(r=e[0])==null||r.enqueue(n)}function $_(e){let t=[];for(let n=0;n<e;n++)t.push(n);return t}function z_(e,t){(e.graph().acyclicer==="greedy"?P_(e,n(e)):V_(e,t??null)).forEach(r=>{let s=e.edge(r);e.removeEdge(r),s.forwardName=r.name,s.reversed=!0,e.setEdge(r.w,r.v,s,Qu("rev"))});function n(r){return s=>r.edge(s).weight}}function V_(e,t){let n=[],r={},s={};function a(c){Object.hasOwn(s,c)||(s[c]=!0,r[c]=!0,e.outEdges(c).forEach(u=>{Object.hasOwn(r,u.w)?n.push(u):a(u.w)}),delete r[c])}function o(c){var u;Object.hasOwn(s,c)||(s[c]=!0,r[c]=!0,(u=e.outEdges(c))==null||u.forEach(d=>{var f,h;Object.hasOwn(r,d.w)||((f=t.node(c))==null?void 0:f.rank)>((h=t.node(d.w))==null?void 0:h.rank)&&U_(e,d.w,d)?n.push(d):o(d.w)}),delete r[c])}let i=a;return t&&typeof t.node=="function"&&(i=o),e.sources().forEach(i),e.nodes().forEach(i),n}function B_(e){e.edges().forEach(t=>{let n=e.edge(t);if(n.reversed){e.removeEdge(t);let r=n.forwardName;delete n.reversed,delete n.forwardName,e.setEdge(t.w,t.v,n,r)}})}function U_(e,t,n){let r=new Set;function s(a){var o;if(e.sources().includes(a))return!0;r.add(a);for(let i of(o=e.inEdges(a))!=null?o:[])if(!(i.v===n.v&&i.w===n.w)&&!r.has(i.v)&&s(i.v))return!0;return!1}return s(t)}function H_(e){e.graph().dummyChains=[],e.edges().forEach(t=>q_(e,t))}function q_(e,t){let n=t.v,r=e.node(n).rank,s=t.w,a=e.node(s).rank,o=t.name,i=e.edge(t),c=i.labelRank;if(a===r+1)return;e.removeEdge(t);let u,d,f;for(f=0,++r;r<a;++f,++r)i.points=[],d={width:0,height:0,edgeLabel:i,edgeObj:t,rank:r},u=Fs(e,"edge",d,"_d"),r===c&&(d.width=i.width,d.height=i.height,d.dummy="edge-label",d.labelpos=i.labelpos),e.setEdge(n,u,{weight:i.weight},o),f===0&&e.graph().dummyChains.push(u),n=u;e.setEdge(n,s,{weight:i.weight},o)}function W_(e){e.graph().dummyChains.forEach(t=>{let n=e.node(t),r=n.edgeLabel,s;for(e.setEdge(n.edgeObj,r);n.dummy;)s=e.successors(t)[0],e.removeNode(t),r.points.push({x:n.x,y:n.y}),n.dummy==="edge-label"&&(r.x=n.x,r.y=n.y,r.width=n.width,r.height=n.height),t=s,n=e.node(t)})}function Xu(e){let t={};function n(r){let s=e.node(r);if(Object.hasOwn(t,r))return s.rank;t[r]=!0;let a=e.outEdges(r),o=a?a.map(c=>c==null?Number.POSITIVE_INFINITY:n(c.w)-e.edge(c).minlen):[],i=Rn(Math.min,o);return i===Number.POSITIVE_INFINITY&&(i=0),s.rank=i}e.sources().forEach(n)}function Cs(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var Z0=K_;function K_(e){let t=new Ln({directed:!1}),n=e.nodes();if(n.length===0)throw new Error("Graph must have at least one node");let r=n[0],s=e.nodeCount();t.setNode(r,{});let a,o;for(;Y_(t,e)<s&&(a=G_(t,e),!!a);)o=t.hasNode(a.v)?Cs(e,a):-Cs(e,a),J_(t,e,o);return t}function Y_(e,t){function n(r){let s=t.nodeEdges(r);s&&s.forEach(a=>{let o=a.v,i=r===o?a.w:o;!e.hasNode(i)&&!Cs(t,a)&&(e.setNode(i,{}),e.setEdge(r,i,{}),n(i))})}return e.nodes().forEach(n),e.nodeCount()}function G_(e,t){return t.edges().reduce((n,r)=>{let s=Number.POSITIVE_INFINITY;return e.hasNode(r.v)!==e.hasNode(r.w)&&(s=Cs(t,r)),s<n[0]?[s,r]:n},[Number.POSITIVE_INFINITY,null])[1]}function J_(e,t,n){e.nodes().forEach(r=>t.node(r).rank+=n)}var{preorder:Q_,postorder:X_}=Ju,Z_=ss;ss.initLowLimValues=ed;ss.initCutValues=Zu;ss.calcCutValue=ey;ss.leaveEdge=ny;ss.enterEdge=ry;ss.exchangeEdges=sy;function ss(e){e=N_(e),Xu(e);let t=Z0(e);ed(t),Zu(t,e);let n,r;for(;n=ny(t);)r=ry(t,e,n),sy(t,e,n,r)}function Zu(e,t){let n=X_(e,e.nodes());n=n.slice(0,n.length-1),n.forEach(r=>eA(e,t,r))}function eA(e,t,n){let r=e.node(n).parent,s=e.edge(n,r);s.cutvalue=ey(e,t,n)}function ey(e,t,n){let r=e.node(n).parent,s=!0,a=t.edge(n,r),o=0;a||(s=!1,a=t.edge(r,n)),o=a.weight;let i=t.nodeEdges(n);return i&&i.forEach(c=>{let u=c.v===n,d=u?c.w:c.v;if(d!==r){let f=u===s,h=t.edge(c).weight;if(o+=f?h:-h,nA(e,n,d)){let m=e.edge(n,d).cutvalue;o+=f?-m:m}}}),o}function ed(e,t){arguments.length<2&&(t=e.nodes()[0]),ty(e,{},1,t)}function ty(e,t,n,r,s){let a=n,o=e.node(r);t[r]=!0;let i=e.neighbors(r);return i&&i.forEach(c=>{Object.hasOwn(t,c)||(n=ty(e,t,n,c,r))}),o.low=a,o.lim=n++,s?o.parent=s:delete o.parent,n}function ny(e){return e.edges().find(t=>e.edge(t).cutvalue<0)}function ry(e,t,n){let r=n.v,s=n.w;t.hasEdge(r,s)||(r=n.w,s=n.v);let a=e.node(r),o=e.node(s),i=a,c=!1;return a.lim>o.lim&&(i=o,c=!0),t.edges().filter(u=>c===Ff(e,e.node(u.v),i)&&c!==Ff(e,e.node(u.w),i)).reduce((u,d)=>Cs(t,d)<Cs(t,u)?d:u)}function sy(e,t,n,r){let s=n.v,a=n.w;e.removeEdge(s,a),e.setEdge(r.v,r.w,{}),ed(e),Zu(e,t),tA(e,t)}function tA(e,t){let n=e.nodes().find(s=>!e.node(s).parent);if(!n)return;let r=Q_(e,[n]);r=r.slice(1),r.forEach(s=>{let a=e.node(s).parent,o=t.edge(s,a),i=!1;o||(o=t.edge(a,s),i=!0),t.node(s).rank=t.node(a).rank+(i?o.minlen:-o.minlen)})}function nA(e,t,n){return e.hasEdge(t,n)}function Ff(e,t,n){return n.low<=t.lim&&t.lim<=n.lim}var rA=sA;function sA(e){let t=e.graph().ranker;if(typeof t=="function")return t(e);switch(t){case"network-simplex":$f(e);break;case"tight-tree":oA(e);break;case"longest-path":aA(e);break;case"none":break;default:$f(e)}}var aA=Xu;function oA(e){Xu(e),Z0(e)}function $f(e){Z_(e)}var iA=lA;function lA(e){let t=uA(e),n=e.graph();Array.isArray(n.dummyChains)&&n.dummyChains.forEach(r=>{let s=e.node(r),a=s.edgeObj,o=cA(e,t,a.v,a.w),i=o.path,c=o.lca,u=0,d=i[u],f=!0;for(;r!==a.w;){if(s=e.node(r),f){for(;(d=i[u])!==c&&e.node(d).maxRank<s.rank;)u++;d===c&&(f=!1)}if(!f){for(;u<i.length-1&&e.node(i[u+1]).minRank<=s.rank;)u++;d=i[u]}d!==void 0&&e.setParent(r,d),r=e.successors(r)[0]}})}function cA(e,t,n,r){let s=[],a=[],o=Math.min(t[n].low,t[r].low),i=Math.max(t[n].lim,t[r].lim),c;c=n;do c=e.parent(c),s.push(c);while(c&&(t[c].low>o||i>t[c].lim));let u=c,d=r;for(;(d=e.parent(d))!==u;)a.push(d);return{path:s.concat(a.reverse()),lca:u}}function uA(e){let t={},n=0;function r(s){let a=n;e.children(s).forEach(r),t[s]={low:a,lim:n++}}return e.children(Ci).forEach(r),t}function dA(e){let t=Fs(e,"root",{},"_root"),n=fA(e),r=Object.values(n),s=Rn(Math.max,r)-1,a=2*s+1;e.graph().nestingRoot=t,e.edges().forEach(i=>e.edge(i).minlen*=a);let o=hA(e)+1;e.children(Ci).forEach(i=>{ay(e,t,a,o,s,n,i)}),e.graph().nodeRankFactor=a}function ay(e,t,n,r,s,a,o){var i;let c=e.children(o);if(!c.length){o!==t&&e.setEdge(t,o,{weight:0,minlen:n});return}let u=Pf(e,"_bt"),d=Pf(e,"_bb"),f=e.node(o);e.setParent(u,o),f.borderTop=u,e.setParent(d,o),f.borderBottom=d,c.forEach(h=>{var m;ay(e,t,n,r,s,a,h);let v=e.node(h),S=v.borderTop?v.borderTop:h,b=v.borderBottom?v.borderBottom:h,N=v.borderTop?r:2*r,w=S!==b?1:s-((m=a[o])!=null?m:0)+1;e.setEdge(u,S,{weight:N,minlen:w,nestingEdge:!0}),e.setEdge(b,d,{weight:N,minlen:w,nestingEdge:!0})}),e.parent(o)||e.setEdge(t,u,{weight:0,minlen:s+((i=a[o])!=null?i:0)})}function fA(e){let t={};function n(r,s){let a=e.children(r);a&&a.length&&a.forEach(o=>n(o,s+1)),t[r]=s}return e.children(Ci).forEach(r=>n(r,1)),t}function hA(e){return e.edges().reduce((t,n)=>t+e.edge(n).weight,0)}function mA(e){let t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,e.edges().forEach(n=>{e.edge(n).nestingEdge&&e.removeEdge(n)})}var pA=gA;function gA(e){function t(n){let r=e.children(n),s=e.node(n);if(r.length&&r.forEach(t),s&&Object.hasOwn(s,"minRank")){s.borderLeft=[],s.borderRight=[];for(let a=s.minRank,o=s.maxRank+1;a<o;++a)zf(e,"borderLeft","_bl",n,s,a),zf(e,"borderRight","_br",n,s,a)}}e.children(Ci).forEach(t)}function zf(e,t,n,r,s,a){let o={width:0,height:0,rank:a,borderType:t},i=s[t][a-1],c=Fs(e,"border",o,n);s[t][a]=c,e.setParent(c,r),i&&e.setEdge(i,c,{weight:1})}function vA(e){var t;let n=(t=e.graph().rankdir)==null?void 0:t.toLowerCase();(n==="lr"||n==="rl")&&oy(e)}function yA(e){var t;let n=(t=e.graph().rankdir)==null?void 0:t.toLowerCase();(n==="bt"||n==="rl")&&xA(e),(n==="lr"||n==="rl")&&(bA(e),oy(e))}function oy(e){e.nodes().forEach(t=>Vf(e.node(t))),e.edges().forEach(t=>Vf(e.edge(t)))}function Vf(e){let t=e.width;e.width=e.height,e.height=t}function xA(e){e.nodes().forEach(t=>El(e.node(t))),e.edges().forEach(t=>{var n;let r=e.edge(t);(n=r.points)==null||n.forEach(El),Object.hasOwn(r,"y")&&El(r)})}function El(e){e.y=-e.y}function bA(e){e.nodes().forEach(t=>Il(e.node(t))),e.edges().forEach(t=>{var n;let r=e.edge(t);(n=r.points)==null||n.forEach(Il),Object.hasOwn(r,"x")&&Il(r)})}function Il(e){let t=e.x;e.x=e.y,e.y=t}function wA(e,t=null){let n={},r=e.nodes().filter(c=>!e.children(c).length),s=r.map(c=>e.node(c).rank),a=xa(Rn(Math.max,s)+1).map(()=>[]);function o(c){if(n[c])return;n[c]=!0;let u=e.node(c);a[u.rank].push(c);let d=e.successors(c);d&&[...d].sort((f,h)=>i(f,h)).forEach(o)}r.sort((c,u)=>e.node(c).rank-e.node(u).rank).forEach(o);function i(c,u){return X0(t,e.node(c),e.node(u))}return a}function SA(e,t){let n=0;for(let r=1;r<t.length;++r)n+=CA(e,t[r-1],t[r]);return n}function CA(e,t,n){let r=__(n,n.map((u,d)=>d)),s=t.flatMap(u=>{let d=e.outEdges(u);return d?d.map(f=>({pos:r[f.w],weight:e.edge(f).weight})).sort((f,h)=>f.pos-h.pos):[]}),a=1;for(;a<n.length;)a<<=1;let o=2*a-1;a-=1;let i=new Array(o).fill(0),c=0;return s.forEach(u=>{let d=u.pos+a;i[d]+=u.weight;let f=0;for(;d>0;)d%2&&(f+=i[d+1]),d=d-1>>1,i[d]+=u.weight;c+=u.weight*f}),c}function NA(e,t=[]){return t.map(n=>{let r=e.inEdges(n);if(!r||!r.length)return{v:n};{let s=r.reduce((a,o)=>{let i=e.edge(o),c=e.node(o.v);return{sum:a.sum+i.weight*c.order,weight:a.weight+i.weight}},{sum:0,weight:0});return{v:n,barycenter:s.sum/s.weight,weight:s.weight}}})}function EA(e,t){let n={};return e.forEach((r,s)=>{let a={indegree:0,in:[],out:[],vs:[r.v],i:s};r.barycenter!==void 0&&(a.barycenter=r.barycenter,a.weight=r.weight),n[r.v]=a}),t.edges().forEach(r=>{let s=n[r.v],a=n[r.w];s!==void 0&&a!==void 0&&(a.indegree++,s.out.push(a))}),IA(Object.values(n).filter(r=>!r.indegree))}function IA(e){let t=[];function n(s){return a=>{a.merged||(a.barycenter===void 0||s.barycenter===void 0||a.barycenter>=s.barycenter)&&jA(s,a)}}function r(s){return a=>{a.in.push(s),--a.indegree===0&&e.push(a)}}for(;e.length;){let s=e.pop();t.push(s),s.in.reverse().forEach(n(s)),s.out.forEach(r(s))}return t.filter(s=>!s.merged).map(s=>_o(s,["vs","i","barycenter","weight"]))}function jA(e,t){let n=0,r=0;e.weight&&(n+=e.barycenter*e.weight,r+=e.weight),t.weight&&(n+=t.barycenter*t.weight,r+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=n/r,e.weight=r,e.i=Math.min(t.i,e.i),t.merged=!0}function TA(e,t,n,r,s){let a={},o=null,i=null,c=s;typeof t=="boolean"?(c=t,a={}):t&&(a=t,o=n??null,i=r??null);let u=T_(e,N=>Object.hasOwn(N,"barycenter")),d=u.lhs,f=u.rhs.sort((N,w)=>w.i-N.i),h=[],m=0,v=0,S=0;d.sort(RA(i,o,!!c));for(let[N,w]of Object.entries(a)){let y=d.findIndex(g=>g.vs[0]===N);d.splice(y+1,0,w)}S=Bf(h,f,S),d.forEach(N=>{S+=N.vs.length,h.push(N.vs),m+=N.barycenter*N.weight,v+=N.weight,S=Bf(h,f,S)});let b={vs:h.flat(1)};return v&&(b.barycenter=m/v,b.weight=v),b}function Bf(e,t,n){let r;for(;t.length&&(r=t[t.length-1]).i<=n;)t.pop(),e.push(r.vs),n++;return n}function RA(e,t,n){return(r,s)=>{if(r.barycenter<s.barycenter)return-1;if(r.barycenter>s.barycenter)return 1;if(e&&(typeof r.vs[0]=="string"||typeof s.vs[0]=="string")){let a=X0(t,e.node(r.vs[0]),e.node(s.vs[0]));if(a!==0)return a}return n?s.i-r.i:r.i-s.i}}function iy(e,t,n,r,s){var a,o,i,c,u,d,f,h,m,v,S;let b=null,N=s;typeof r=="boolean"?(N=r,b=null):r!==void 0&&(b=r);let w=e.children(t),y=e.node(t),g=y?y.borderLeft:void 0,x=y?y.borderRight:void 0,C={};g&&(w=w.filter(_=>_!==g&&_!==x));let j=NA(e,w);j.forEach(_=>{if(e.children(_.v).length){let{result:A}=iy(e,_.v,n,b,N);C[_.v]=A,Object.hasOwn(A,"barycenter")&&_A(_,A)}});let E=EA(j,n);kA(E,C);let R={},O=!1;for(let _=0;_<E.length;_++)for(let A=_+1;A<E.length;A++)if(!(!E[_]||!E[A]||!((a=E[_])!=null&&a.barycenter)||!((o=E[A])!=null&&o.barycenter))&&((i=E[_])==null?void 0:i.barycenter)===E[A].barycenter){let I=(u=(c=E[_])==null?void 0:c.vs[0])!=null?u:"",T=(f=(d=E[A])==null?void 0:d.vs[0])!=null?f:"",M=e.node(I),P=e.node(T);if(M.dummy==="edge"&&P.dummy==="edge"&&((h=M.edgeObj)==null?void 0:h.v)===((m=P.edgeObj)==null?void 0:m.v)&&((v=M.edgeObj)==null?void 0:v.w)===((S=P.edgeObj)==null?void 0:S.w))if(M.edgeLabel.reversed){R[T]=E[_],E.splice(_,1),_--;break}else R[I]=E[A],E.splice(A,1),A--;else O=!0}let k=TA(E,R,b,e,N);if(g&&x){k.vs=[g,k.vs,x].flat(1);let _=e.predecessors(g);if(_&&_.length){let A=e.node(_[0]),I=e.predecessors(x),T=e.node(I[0]);Object.hasOwn(k,"barycenter")||(k.barycenter=0,k.weight=0),k.barycenter=(k.barycenter*k.weight+A.order+T.order)/(k.weight+2),k.weight+=2}}return Object.defineProperty(k,"result",{value:k,enumerable:!1,configurable:!0,writable:!0}),Object.defineProperty(k,"usedBias",{value:O,enumerable:!1,configurable:!0,writable:!0}),k}function kA(e,t){e.forEach(n=>{n.vs=n.vs.flatMap(r=>t[r]?t[r].vs:r)})}function _A(e,t){e.barycenter!==void 0?(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight):(e.barycenter=t.barycenter,e.weight=t.weight)}function AA(e,t,n,r){r||(r=e.nodes());let s=MA(e),a=new Ln({compound:!0}).setGraph({root:s}).setDefaultNodeLabel(o=>e.node(o));return r.forEach(o=>{let i=e.node(o),c=e.parent(o);if(i.rank===t||i.minRank<=t&&t<=i.maxRank){a.setNode(o),a.setParent(o,c||s);let u=e[n](o);u&&u.forEach(d=>{let f=d.v===o?d.w:d.v,h=a.edge(f,o),m=h!==void 0?h.weight:0;a.setEdge(f,o,{weight:e.edge(d).weight+m})}),Object.hasOwn(i,"minRank")&&a.setNode(o,{borderLeft:i.borderLeft[t],borderRight:i.borderRight[t]})}}),a}function MA(e){let t;for(;e.hasNode(t=Qu("_root")););return t}function OA(e,t,n){let r={},s;n.forEach(a=>{let o=e.parent(a),i,c;for(;o;){if(i=e.parent(o),i?(c=r[i],r[i]=o):(c=s,s=o),c&&c!==o){t.setEdge(c,o);return}o=i}})}function ly(e,t={},n=null){if(typeof t.customOrder=="function"){t.customOrder(e,ly);return}let r=Q0(e),s=Uf(e,xa(1,r+1),"inEdges"),a=Uf(e,xa(r-1,-1,-1),"outEdges"),o=wA(e,n);if(Hf(e,o),t.disableOptimalOrderHeuristic)return;let i=Number.POSITIVE_INFINITY,c,u=t.constraints||[];for(let d=0,f=0;f<4;++d,++f){DA(d%2?s:a,d%4>=2,u,n),o=wi(e);let h=SA(e,o);h<i?(f=0,c=Object.assign({},o),i=h):h===i&&(c=structuredClone(o))}Hf(e,c)}function Uf(e,t,n){let r=new Map,s=(a,o)=>{r.has(a)||r.set(a,[]),r.get(a).push(o)};for(let a of e.nodes()){let o=e.node(a);if(typeof o.rank=="number"&&s(o.rank,a),typeof o.minRank=="number"&&typeof o.maxRank=="number")for(let i=o.minRank;i<=o.maxRank;i++)i!==o.rank&&s(i,a)}return t.map(function(a){return AA(e,a,n,r.get(a)||[])})}function DA(e,t,n,r){let s=!0,a=new Ln;e.forEach(function(o){n.forEach(d=>a.setEdge(d.left,d.right));let i=o.graph().root,{result:c,usedBias:u}=iy(o,i,a,r,s);t&&u&&(s=!s),c.vs.forEach((d,f)=>o.node(d).order=f),OA(o,a,c.vs)})}function Hf(e,t){Object.values(t).forEach(n=>n.forEach((r,s)=>e.node(r).order=s))}function PA(e,t){let n={};function r(s,a){let o=0,i=0,c=s.length,u=a[a.length-1];return a.forEach((d,f)=>{let h=FA(e,d),m=h?e.node(h).order:c;(h||d===u)&&(a.slice(i,f+1).forEach(v=>{let S=e.predecessors(v);S&&S.forEach(b=>{let N=e.node(b),w=N.order;(w<o||m<w)&&!(N.dummy&&e.node(v).dummy)&&cy(n,b,v)})}),i=f+1,o=m)}),a}return t.length&&t.reduce(r),n}function LA(e,t){let n={};function r(a,o,i,c,u){xa(o,i).forEach(d=>{let f=a[d];if(f!==void 0&&e.node(f).dummy){let h=e.predecessors(f);h&&h.forEach(m=>{if(m===void 0)return;let v=e.node(m);v.dummy&&(v.order<c||v.order>u)&&cy(n,m,f)})}})}function s(a,o){let i=-1,c=-1,u=0;return o.forEach((d,f)=>{if(e.node(d).dummy==="border"){let h=e.predecessors(d);if(h&&h.length){let m=h[0];if(m===void 0)return;c=e.node(m).order,r(o,u,f,i,c),u=f,i=c}}r(o,u,o.length,c,a.length)}),o}return t.length&&t.reduce(s),n}function FA(e,t){if(e.node(t).dummy){let n=e.predecessors(t);if(n)return n.find(r=>e.node(r).dummy)}}function cy(e,t,n){if(t>n){let s=t;t=n,n=s}let r=e[t];r||(e[t]=r={}),r[n]=!0}function $A(e,t,n){if(t>n){let s=t;t=n,n=s}let r=e[t];return r!==void 0&&Object.hasOwn(r,n)}function zA(e,t,n,r,s){let a={},o={},i={};return t.forEach(c=>{c.forEach((u,d)=>{a[u]=u,o[u]=u,i[u]=d})}),t.forEach(c=>{let u=-1,d=-1,f=!1,h=c,m=c.findIndex(v=>s?.includes(v)||qf(v,e,s));m>0&&(h=[c[m],...c.slice(0,m),...c.slice(m+1)],f=!0),h.forEach(v=>{var S;let b=r(v);if(b&&b.length){s!=null&&s.includes(v)&&(b=b.filter(y=>qf(y,e,s)));let N=b.sort((y,g)=>{let x=i[y],C=i[g];return(x!==void 0?x:0)-(C!==void 0?C:0)}),w=(N.length-1)/2;for(let y=Math.floor(w),g=Math.ceil(w);y<=g;++y){let x=N[y];if(x===void 0)continue;let C=i[x];if(C!==void 0&&o[v]===v&&u<C&&i[x]!==d&&!$A(n,v,x)){let j=a[x];j!==void 0&&(o[x]=v,o[v]=a[v]=j,u=C,f&&(u=-1,d=(S=i[x])!=null?S:-1,f=!1))}}}})}),{root:a,align:o}}function VA(e,t,n,r,s=!1){let a={},o=BA(e,t,n,s),i=s?"borderLeft":"borderRight";function c(m,v){let S=o.nodes().slice(),b={},N=S.pop();for(;N;){if(b[N])m(N);else{b[N]=!0,S.push(N);for(let w of v(N))S.push(w)}N=S.pop()}}function u(m){let v=o.inEdges(m);v?a[m]=v.reduce((S,b)=>{var N;let w=(N=a[b.v])!=null?N:0,y=o.edge(b);return Math.max(S,w+(y!==void 0?y:0))},0):a[m]=0}function d(m){let v=o.outEdges(m),S=Number.POSITIVE_INFINITY;v&&(S=v.reduce((N,w)=>{let y=a[w.w],g=o.edge(w);return Math.min(N,(y!==void 0?y:0)-(g!==void 0?g:0))},Number.POSITIVE_INFINITY));let b=e.node(m);S!==Number.POSITIVE_INFINITY&&b.borderType!==i&&(a[m]=Math.max(a[m]!==void 0?a[m]:0,S))}function f(m){return o.predecessors(m)||[]}function h(m){return o.successors(m)||[]}return c(u,f),c(d,h),Object.keys(r).forEach(m=>{var v;let S=n[m];S!==void 0&&(a[m]=(v=a[S])!=null?v:0)}),a}function BA(e,t,n,r){let s=new Ln,a=e.graph(),o=KA(a.nodesep,a.edgesep,r);return t.forEach(i=>{let c;i.forEach(u=>{let d=n[u];if(d!==void 0){if(s.setNode(d),c!==void 0){let f=n[c];if(f!==void 0){let h=s.edge(f,d);s.setEdge(f,d,Math.max(o(e,u,c),h||0))}}c=u}})}),s}function UA(e,t){return Object.values(t).reduce((n,r)=>{let s=Number.NEGATIVE_INFINITY,a=Number.POSITIVE_INFINITY;Object.entries(r).forEach(([i,c])=>{let u=YA(e,i)/2;s=Math.max(c+u,s),a=Math.min(c-u,a)});let o=s-a;return o<n[0]&&(n=[o,r]),n},[Number.POSITIVE_INFINITY,null])[1]}function HA(e,t){let n=Object.values(t),r=Rn(Math.min,n),s=Rn(Math.max,n);["u","d"].forEach(a=>{["l","r"].forEach(o=>{let i=a+o,c=e[i];if(!c||c===t)return;let u=Object.values(c),d=r-Rn(Math.min,u);o!=="l"&&(d=s-Rn(Math.max,u)),d&&(e[i]=Si(c,f=>f+d))})})}function qA(e,t=void 0){let n=e.ul;return n?Si(n,(r,s)=>{var a,o;if(t){let c=e[t.toLowerCase()];if(c&&c[s]!==void 0)return c[s]}let i=Object.values(e).map(c=>{let u=c[s];return u!==void 0?u:0}).sort((c,u)=>c-u);return(((a=i[1])!=null?a:0)+((o=i[2])!=null?o:0))/2}):{}}function WA(e,t){let n=wi(e),r=Object.assign(PA(e,n),LA(e,n)),s={},a;return["u","d"].forEach(o=>{a=o==="u"?n:Object.values(n).reverse(),["l","r"].forEach(i=>{i==="r"&&(a=a.map(d=>Object.values(d).reverse()));let c=zA(e,a,r,d=>(o==="u"?e.predecessors(d):e.successors(d))||[],t),u=VA(e,a,c.root,c.align,i==="r");i==="r"&&(u=Si(u,d=>-d)),s[o+i]=u})}),HA(s,UA(e,s)),qA(s,e.graph().align)}function KA(e,t,n){return(r,s,a)=>{let o=r.node(s),i=r.node(a),c=0,u;if(c+=o.width/2,Object.hasOwn(o,"labelpos"))switch(o.labelpos.toLowerCase()){case"l":u=-o.width/2;break;case"r":u=o.width/2}if(u&&(c+=n?u:-u),u=void 0,c+=(o.dummy?t:e)/2,c+=(i.dummy?t:e)/2,c+=i.width/2,Object.hasOwn(i,"labelpos"))switch(i.labelpos.toLowerCase()){case"l":u=i.width/2;break;case"r":u=-i.width/2}return u&&(c+=n?u:-u),c}}function YA(e,t){return e.node(t).width}function qf(e,t,n){var r;if(!n)return!1;let s=(r=t.node(e))==null?void 0:r.edgeObj;if(!s||t.node(e).edgeLabel.reversed)return!1;let a=n.indexOf(s?.v),o=n.indexOf(s?.w);return a!==-1&&o!==-1&&a===(o+1)%n.length||a===(o-1)%n.length}function GA(e,t){e=G0(e),JA(e),Object.entries(WA(e,t)).forEach(([n,r])=>e.node(n).x=r)}function JA(e){let t=wi(e),n=e.graph(),r=n.ranksep,s=n.rankalign,a=0;t.forEach(o=>{let i=o.reduce((c,u)=>{var d;let f=(d=e.node(u).height)!=null?d:0;return c>f?c:f},0);o.forEach(c=>{let u=e.node(c);s==="top"?u.y=a+u.height/2:s==="bottom"?u.y=a+i-u.height/2:u.y=a+i/2}),a+=i+r})}var Wf=new WeakMap;function QA(e,t={}){return uy(e,R_,t),e}function Kf(e,t,n){let r=t;for(;r!==void 0;){let s=e.parent(r);if(s===n)return r;r=s}}function uy(e,t,n){var r;let s=e.nodes().filter(w=>e.children(w).length),a={};s.forEach(w=>{let y=e.node(w);if(y&&y.rankdir){let g=new Ln({multigraph:!0,compound:!0});g.setGraph({rankdir:y.rankdir});let x=e.children(w);x.forEach(I=>{let T={...e.node(I)};g.setNode(I,T);let M=e.parent(I);M&&M!==w&&x.includes(M)&&g.setParent(I,M)});let C=new Set;e.edges().forEach(I=>{let T=Kf(e,I.v,w),M=Kf(e,I.w,w);if(T&&M&&T!==M){let P=`${T}\0${M}`;C.has(P)||(C.add(P),g.setEdge(T,M,{...e.edge(I)}))}}),uy(g,t,n);let j=Qf(g);Yf(j,t,n,null),Gf(g,j);let E=1/0,R=1/0,O=-1/0,k=-1/0;g.nodes().forEach(I=>{if(I===w)return;let T=g.node(I);T&&typeof T.x=="number"&&typeof T.y=="number"&&typeof T.width=="number"&&typeof T.height=="number"&&(E=Math.min(E,T.x-T.width/2),O=Math.max(O,T.x+T.width/2),R=Math.min(R,T.y-T.height/2),k=Math.max(k,T.y+T.height/2))}),(!isFinite(E)||!isFinite(R)||!isFinite(O)||!isFinite(k))&&(E=R=0,O=k=0);let _=O-E,A=k-R;a[w]={minX:E,minY:R,maxX:O,maxY:k,width:_,height:A,offsetX:E,offsetY:R},y._dagreClusterSubgraph=g}});let o=[],i=w=>{let y=[],g=(e.children(w)||[]).filter(x=>x!==w);for(;g.length>0;){let x=g.shift();y.push(x),(e.children(x)||[]).filter(C=>C!==x).forEach(C=>g.push(C))}return y},c=new Map;s.forEach(w=>{let y=e.node(w);y&&y.rankdir&&a[w]&&c.set(w,(e.children(w)||[]).filter(g=>g!==w))});let u=new Set([...c.values()].flat()),d=new Map;c.forEach((w,y)=>{u.has(y)||d.set(y,i(y))});let f=new Set([...d.values()].flat()),h=w=>{for(let[y,g]of d)if(g.includes(w))return y;return w},m=[];e.edges().forEach(w=>{(f.has(w.v)||f.has(w.w))&&m.push({edge:w,label:e.edge(w)})});let v=new Map;f.forEach(w=>{let y=e.parent(w);v.set(w,typeof y=="string"?y:void 0)}),d.forEach((w,y)=>{let g=e.node(y),x=[];w.forEach(E=>{let R=e.node(E);R&&(x.push({id:E,node:R,parent:v.get(E)}),e.removeNode(E))});let C=m.filter(({edge:E})=>w.includes(E.v)||w.includes(E.w)),j=a[y];g&&(o.push({clusterId:y,subgraph:g._dagreClusterSubgraph,bounds:j,children:w,removedNodes:x,removedEdges:C}),g.width=j.width,g.height=j.height)});let S=new Set;m.forEach(({edge:w,label:y})=>{let g=h(w.v),x=h(w.w);if(g!==x&&e.hasNode(g)&&e.hasNode(x)){let C=`${g}\0${x}`;S.has(C)||(S.add(C),e.setEdge(g,x,{...y,width:0,height:0}))}});let b=Qf(e),N=Yf(b,t,n,(r=Wf.get(e))!=null?r:null);Wf.set(e,N),Gf(e,b),S.forEach(w=>{let y=w.indexOf("\0"),g=w.slice(0,y),x=w.slice(y+1);e.hasEdge(g,x)&&e.removeEdge(g,x)}),o.forEach(({clusterId:w,subgraph:y,bounds:g,removedNodes:x,removedEdges:C})=>{var j,E;let R=e.node(w),O=(j=R?.x)!=null?j:0,k=(E=R?.y)!=null?E:0,_=(g.minX+g.maxX)/2,A=(g.minY+g.maxY)/2;x.forEach(({id:I,node:T,parent:M})=>{e.setNode(I,T),M!==void 0&&e.setParent(I,M)}),C.forEach(({edge:I,label:T})=>{e.setEdge(I,T)}),y.nodes().forEach(I=>{if(I===w)return;let T=y.node(I),M=e.node(I);M&&T&&typeof T.x=="number"&&typeof T.y=="number"&&(M.x=O+(T.x-_),M.y=k+(T.y-A))}),delete R._dagreClusterSubgraph}),s.forEach(w=>{var y,g;let x=e.node(w),C=a[w];if(x&&x.rankdir&&x._dagreClusterSubgraph&&C){let j=x._dagreClusterSubgraph,E=(y=x.x)!=null?y:0,R=(g=x.y)!=null?g:0,O=(C.minX+C.maxX)/2,k=(C.minY+C.maxY)/2;j.nodes().forEach(_=>{if(_===w)return;let A=j.node(_),I=e.node(_);if(I&&A&&typeof A.x=="number"&&typeof A.y=="number"){let T=A.x-O,M=A.y-k;I.x=E+T,I.y=R+M}}),delete x._dagreClusterSubgraph}})}function Yf(e,t,n,r=null){var s,a;let o=n?.useDynamic!==!1,i=o&&(s=r?.graph)!=null?s:null,c=o&&(a=r?.rawNodes)!=null?a:null;t(" makeSpaceForEdgeLabels",()=>aM(e)),t(" removeSelfEdges",()=>mM(e)),t(" acyclic",()=>z_(e,i)),t(" nestingGraph.run",()=>dA(e)),t(" rank",()=>rA(G0(e))),t(" injectEdgeLabelProxies",()=>oM(e)),t(" removeEmptyRanks",()=>I_(e)),t(" nestingGraph.cleanup",()=>mA(e)),t(" normalizeRanks",()=>E_(e)),t(" assignRankMinMax",()=>iM(e)),t(" removeEdgeLabelProxies",()=>lM(e)),t(" normalize.run",()=>H_(e)),t(" parentDummyChains",()=>iA(e)),t(" addBorderSegments",()=>pA(e)),t(" order",()=>ly(e,n,c)),t(" insertSelfEdges",()=>pM(e)),t(" adjustCoordinateSystem",()=>vA(e)),t(" position",()=>GA(e,n.corePath)),t(" positionSelfEdges",()=>gM(e));let u=JSON.parse(JSON.stringify(e._nodes));return t(" removeBorderNodes",()=>hM(e)),t(" normalize.undo",()=>W_(e)),t(" fixupEdgeLabelCoords",()=>dM(e)),t(" undoCoordinateSystem",()=>yA(e)),t(" translateGraph",()=>cM(e)),t(" assignNodeIntersects",()=>uM(e)),t(" reversePoints",()=>fM(e)),t(" acyclic.undo",()=>B_(e)),{graph:e,rawNodes:u}}function Gf(e,t){e.nodes().forEach(n=>{let r=e.node(n),s=t.node(n);r&&(r.x=s.x,r.y=s.y,r.order=s.order,r.rank=s.rank,t.children(n).length&&(r.width=s.width,r.height=s.height))}),e.edges().forEach(n=>{let r=e.edge(n),s=t.edge(n);r.points=s.points,Object.hasOwn(s,"x")&&(r.x=s.x,r.y=s.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}var XA=["nodesep","edgesep","ranksep","marginx","marginy"],ZA={ranksep:50,edgesep:20,nodesep:50,rankdir:"TB",rankalign:"center"},eM=["acyclicer","ranker","rankdir","align","rankalign"],tM=["width","height","rank"],Jf={width:0,height:0},nM=["minlen","weight","width","height","labeloffset"],rM={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},sM=["labelpos"];function Qf(e){let t=new Ln({multigraph:!0,compound:!0}),n=Tl(e.graph());return t.setGraph(Object.assign({},ZA,jl(n,XA),_o(n,eM))),e.nodes().forEach(r=>{let s=jl(Tl(e.node(r)),tM);Object.keys(Jf).forEach(o=>{s[o]===void 0&&(s[o]=Jf[o])}),t.setNode(r,s);let a=e.parent(r);a!==void 0&&t.setParent(r,a)}),e.edges().forEach(r=>{let s=Tl(e.edge(r));t.setEdge(r,Object.assign({},rM,jl(s,nM),_o(s,sM)))}),t}function aM(e){let t=e.graph();t.ranksep/=2,e.edges().forEach(n=>{var r;let s=e.edge(n);s.minlen*=2,((r=s.labelpos)!=null?r:"r").toLowerCase()!=="c"&&(t.rankdir==="TB"||t.rankdir==="BT"?s.width+=s.labeloffset:s.height+=s.labeloffset)})}function oM(e){e.edges().forEach(t=>{let n=e.edge(t);if(n.width&&n.height){let r=e.node(t.v);Fs(e,"edge-proxy",{rank:(e.node(t.w).rank-r.rank)/2+r.rank,e:t},"_ep")}})}function iM(e){let t=0;e.nodes().forEach(n=>{let r=e.node(n);r.borderTop&&(r.minRank=e.node(r.borderTop).rank,r.maxRank=e.node(r.borderBottom).rank,t=Math.max(t,r.maxRank))}),e.graph().maxRank=t}function lM(e){e.nodes().forEach(t=>{let n=e.node(t);if(n.dummy==="edge-proxy"){let r=n;e.edge(r.e).labelRank=n.rank,e.removeNode(t)}})}function cM(e){let t=Number.POSITIVE_INFINITY,n=0,r=Number.POSITIVE_INFINITY,s=0,a=e.graph(),o=a.marginx||0,i=a.marginy||0;function c(u){let d=u.x,f=u.y,h=u.width,m=u.height;t=Math.min(t,d-h/2),n=Math.max(n,d+h/2),r=Math.min(r,f-m/2),s=Math.max(s,f+m/2)}e.nodes().forEach(u=>c(e.node(u))),e.edges().forEach(u=>{let d=e.edge(u);Object.hasOwn(d,"x")&&c(d)}),t-=o,r-=i,e.nodes().forEach(u=>{let d=e.node(u);d.x-=t,d.y-=r}),e.edges().forEach(u=>{let d=e.edge(u);d.points.forEach(f=>{f.x-=t,f.y-=r}),Object.hasOwn(d,"x")&&(d.x-=t),Object.hasOwn(d,"y")&&(d.y-=r)}),a.width=n-t+o,a.height=s-r+i}function uM(e){e.edges().forEach(t=>{if(t.v===t.w)return;let n=e.edge(t),r=e.node(t.v),s=e.node(t.w),a,o;n.points?(a=n.points[0],o=n.points[n.points.length-1]):(n.points=[],a=s,o=r),n.points.unshift(Df(r,a)),n.points.push(Df(s,o))})}function dM(e){e.edges().forEach(t=>{let n=e.edge(t);if(Object.hasOwn(n,"x"))switch((n.labelpos==="l"||n.labelpos==="r")&&(n.width-=n.labeloffset),n.labelpos){case"l":n.x-=n.width/2+n.labeloffset;break;case"r":n.x+=n.width/2+n.labeloffset}})}function fM(e){e.edges().forEach(t=>{let n=e.edge(t);n.reversed&&n.points.reverse()})}function hM(e){e.nodes().forEach(t=>{if(e.children(t).length){let n=e.node(t),r=e.node(n.borderTop),s=e.node(n.borderBottom),a=e.node(n.borderLeft[n.borderLeft.length-1]),o=e.node(n.borderRight[n.borderRight.length-1]);n.width=Math.abs(o.x-a.x),n.height=Math.abs(s.y-r.y),n.x=a.x+n.width/2,n.y=r.y+n.height/2}}),e.nodes().forEach(t=>{e.node(t).dummy==="border"&&e.removeNode(t)})}function mM(e){e.edges().forEach(t=>{if(t.v===t.w){let n=e.node(t.v);n.selfEdges||(n.selfEdges=[]),n.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function pM(e){wi(e).forEach(t=>{let n=0;t.forEach((r,s)=>{let a=e.node(r);typeof a.rank!="number"&&(a.rank=0),a.order=s+n,(a.selfEdges||[]).forEach(o=>{Fs(e,"selfedge",{width:o.label.width,height:o.label.height,rank:a.rank,order:s+ ++n,e:o.e,edgeLabel:o.label},"_se"),(!Array.isArray(o.label.points)||o.label.points.length!==7)&&(o.label.points=[{x:0,y:-10},{x:0,y:-10},{x:0,y:0},{x:0,y:10},{x:0,y:10},{x:0,y:0},{x:0,y:0}])}),delete a.selfEdges})})}function gM(e){e.nodes().forEach(t=>{let n=e.node(t),r=s=>typeof s=="number"&&isFinite(s);if(n.dummy==="selfedge"){let s=n,a=e.node(s.e.v),o=r(a?.x)?a.x:0,i=r(a?.y)?a.y:0,c=r(a?.width)?a.width:0,u=r(a?.height)?a.height:0,d=r(n.x)?n.x:o,f=r(n.y)?n.y:i,h=c/2,m=u/2;s.edgeLabel.points=[{x:d+h,y:f-m},{x:d+h,y:f-m},{x:d,y:f},{x:d-h,y:f+m},{x:d-h,y:f+m},{x:d,y:f},{x:d,y:f}],s.edgeLabel.x=d,s.edgeLabel.y=f,e.setEdge(s.e,s.edgeLabel),e.removeNode(t)}else n&&Array.isArray(n.selfEdges)&&n.selfEdges.forEach(s=>{if(!Array.isArray(s.label.points)||s.label.points.length!==7){let a=r(n.x)?n.x:0,o=r(n.y)?n.y:0,i=r(n.width)?n.width:0,c=r(n.height)?n.height:0,u=i/2,d=c/2;s.label.points=[{x:a+u,y:o-d},{x:a+u,y:o-d},{x:a,y:o},{x:a-u,y:o+d},{x:a-u,y:o+d},{x:a,y:o},{x:a,y:o}]}})})}function jl(e,t){return Si(_o(e,t),Number)}function Tl(e){let t={};return e&&Object.entries(e).forEach(([n,r])=>{typeof n=="string"&&(n=n.toLowerCase()),t[n]=r}),t}var oa=({schemaName:e,tableName:t})=>e?`${e}.${t}`:t,vM=(e,t)=>{const n=(t==="all"?e:e.filter(r=>r.schemaName===t)).map(r=>({...r,id:oa(r)}));return{tables:n,edges:n.flatMap(r=>r.columns.flatMap(s=>{const{referencedTable:a,referencedSchema:o,referencedColumn:i}=s;if(!a||!i)return[];const c=n.find(u=>u.tableName===a&&u.schemaName===o);return c?{id:`${r.id}.${s.columnName}->${c.id}`,source:r.id,sourceColumn:s.columnName,target:c.id,targetColumn:i}:[]}))}},yM=(e,t)=>{const n=new V0.Graph;n.setDefaultEdgeLabel(()=>({})),n.setGraph({rankdir:"LR",ranksep:160,nodesep:60});for(const r of e)n.setNode(r.id,{width:r.width,height:r.height});for(const r of t)n.setEdge(r.target,r.source);return QA(n),new Map(e.map(r=>{const{x:s,y:a}=n.node(r.id);return[r.id,{x:s-r.width/2,y:a-r.height/2}]}))},xM=(e,t)=>{const n=new Set([t]),r=new Set,s=new Set;for(const a of e)a.source!==t&&a.target!==t||(n.add(a.source).add(a.target),r.add(`${a.source}.${a.sourceColumn}`).add(`${a.target}.${a.targetColumn}`),s.add(a.id));return{tables:n,columns:r,edgeIds:s}},bM=e=>{const t=Math.max(e.tableName.length,...e.columns.map(n=>n.columnName.length+n.dataTypeLabel.length+4));return Math.min(Math.max(t*7.5+72,220),420)};function ct(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let n=0,r;n<e.length;n++)(r=ct(e[n]))!==""&&(t+=(t&&" ")+r);else for(let n in e)e[n]&&(t+=(t&&" ")+n);return t}var wM={value:()=>{}};function Ni(){for(var e=0,t=arguments.length,n={},r;e<t;++e){if(!(r=arguments[e]+"")||r in n||/[\s.]/.test(r))throw new Error("illegal type: "+r);n[r]=[]}return new vo(n)}function vo(e){this._=e}function SM(e,t){return e.trim().split(/^|\s+/).map(function(n){var r="",s=n.indexOf(".");if(s>=0&&(r=n.slice(s+1),n=n.slice(0,s)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}vo.prototype=Ni.prototype={constructor:vo,on:function(e,t){var n=this._,r=SM(e+"",n),s,a=-1,o=r.length;if(arguments.length<2){for(;++a<o;)if((s=(e=r[a]).type)&&(s=CM(n[s],e.name)))return s;return}if(t!=null&&typeof t!="function")throw new Error("invalid callback: "+t);for(;++a<o;)if(s=(e=r[a]).type)n[s]=Xf(n[s],e.name,t);else if(t==null)for(s in n)n[s]=Xf(n[s],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new vo(e)},call:function(e,t){if((s=arguments.length-2)>0)for(var n=new Array(s),r=0,s,a;r<s;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(a=this._[e],r=0,s=a.length;r<s;++r)a[r].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var r=this._[e],s=0,a=r.length;s<a;++s)r[s].value.apply(t,n)}};function CM(e,t){for(var n=0,r=e.length,s;n<r;++n)if((s=e[n]).name===t)return s.value}function Xf(e,t,n){for(var r=0,s=e.length;r<s;++r)if(e[r].name===t){e[r]=wM,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var NM="http://www.w3.org/1999/xhtml",Zf={svg:"http://www.w3.org/2000/svg",xhtml:NM,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Ei(e){var t=e+="",n=t.indexOf(":");return n>=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),Zf.hasOwnProperty(t)?{space:Zf[t],local:e}:e}function EM(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n==="http://www.w3.org/1999/xhtml"&&t.documentElement.namespaceURI==="http://www.w3.org/1999/xhtml"?t.createElement(e):t.createElementNS(n,e)}}function IM(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function dy(e){var t=Ei(e);return(t.local?IM:EM)(t)}function jM(){}function td(e){return e==null?jM:function(){return this.querySelector(e)}}function TM(e){typeof e!="function"&&(e=td(e));for(var t=this._groups,n=t.length,r=new Array(n),s=0;s<n;++s)for(var a=t[s],o=a.length,i=r[s]=new Array(o),c,u,d=0;d<o;++d)(c=a[d])&&(u=e.call(c,c.__data__,d,a))&&("__data__"in c&&(u.__data__=c.__data__),i[d]=u);return new Vt(r,this._parents)}function RM(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function kM(){return[]}function fy(e){return e==null?kM:function(){return this.querySelectorAll(e)}}function _M(e){return function(){return RM(e.apply(this,arguments))}}function AM(e){typeof e=="function"?e=_M(e):e=fy(e);for(var t=this._groups,n=t.length,r=[],s=[],a=0;a<n;++a)for(var o=t[a],i=o.length,c,u=0;u<i;++u)(c=o[u])&&(r.push(e.call(c,c.__data__,u,o)),s.push(c));return new Vt(r,s)}function hy(e){return function(){return this.matches(e)}}function my(e){return function(t){return t.matches(e)}}var MM=Array.prototype.find;function OM(e){return function(){return MM.call(this.children,e)}}function DM(){return this.firstElementChild}function PM(e){return this.select(e==null?DM:OM(typeof e=="function"?e:my(e)))}var LM=Array.prototype.filter;function FM(){return Array.from(this.children)}function $M(e){return function(){return LM.call(this.children,e)}}function zM(e){return this.selectAll(e==null?FM:$M(typeof e=="function"?e:my(e)))}function VM(e){typeof e!="function"&&(e=hy(e));for(var t=this._groups,n=t.length,r=new Array(n),s=0;s<n;++s)for(var a=t[s],o=a.length,i=r[s]=[],c,u=0;u<o;++u)(c=a[u])&&e.call(c,c.__data__,u,a)&&i.push(c);return new Vt(r,this._parents)}function py(e){return new Array(e.length)}function BM(){return new Vt(this._enter||this._groups.map(py),this._parents)}function Ao(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}Ao.prototype={constructor:Ao,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function UM(e){return function(){return e}}function HM(e,t,n,r,s,a){for(var o=0,i,c=t.length,u=a.length;o<u;++o)(i=t[o])?(i.__data__=a[o],r[o]=i):n[o]=new Ao(e,a[o]);for(;o<c;++o)(i=t[o])&&(s[o]=i)}function qM(e,t,n,r,s,a,o){var i,c,u=new Map,d=t.length,f=a.length,h=new Array(d),m;for(i=0;i<d;++i)(c=t[i])&&(h[i]=m=o.call(c,c.__data__,i,t)+"",u.has(m)?s[i]=c:u.set(m,c));for(i=0;i<f;++i)m=o.call(e,a[i],i,a)+"",(c=u.get(m))?(r[i]=c,c.__data__=a[i],u.delete(m)):n[i]=new Ao(e,a[i]);for(i=0;i<d;++i)(c=t[i])&&u.get(h[i])===c&&(s[i]=c)}function WM(e){return e.__data__}function KM(e,t){if(!arguments.length)return Array.from(this,WM);var n=t?qM:HM,r=this._parents,s=this._groups;typeof e!="function"&&(e=UM(e));for(var a=s.length,o=new Array(a),i=new Array(a),c=new Array(a),u=0;u<a;++u){var d=r[u],f=s[u],h=f.length,m=YM(e.call(d,d&&d.__data__,u,r)),v=m.length,S=i[u]=new Array(v),b=o[u]=new Array(v);n(d,f,S,b,c[u]=new Array(h),m,t);for(var N=0,w=0,y,g;N<v;++N)if(y=S[N]){for(N>=w&&(w=N+1);!(g=b[w])&&++w<v;);y._next=g||null}}return o=new Vt(o,r),o._enter=i,o._exit=c,o}function YM(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function GM(){return new Vt(this._exit||this._groups.map(py),this._parents)}function JM(e,t,n){var r=this.enter(),s=this,a=this.exit();return typeof e=="function"?(r=e(r),r&&(r=r.selection())):r=r.append(e+""),t!=null&&(s=t(s),s&&(s=s.selection())),n==null?a.remove():n(a),r&&s?r.merge(s).order():s}function QM(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,s=n.length,a=r.length,o=Math.min(s,a),i=new Array(s),c=0;c<o;++c)for(var u=n[c],d=r[c],f=u.length,h=i[c]=new Array(f),m,v=0;v<f;++v)(m=u[v]||d[v])&&(h[v]=m);for(;c<s;++c)i[c]=n[c];return new Vt(i,this._parents)}function XM(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r=e[t],s=r.length-1,a=r[s],o;--s>=0;)(o=r[s])&&(a&&o.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(o,a),a=o);return this}function ZM(e){e||(e=eO);function t(f,h){return f&&h?e(f.__data__,h.__data__):!f-!h}for(var n=this._groups,r=n.length,s=new Array(r),a=0;a<r;++a){for(var o=n[a],i=o.length,c=s[a]=new Array(i),u,d=0;d<i;++d)(u=o[d])&&(c[d]=u);c.sort(t)}return new Vt(s,this._parents).order()}function eO(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function tO(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function nO(){return Array.from(this)}function rO(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],s=0,a=r.length;s<a;++s){var o=r[s];if(o)return o}return null}function sO(){let e=0;for(const t of this)++e;return e}function aO(){return!this.node()}function oO(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var s=t[n],a=0,o=s.length,i;a<o;++a)(i=s[a])&&e.call(i,i.__data__,a,s);return this}function iO(e){return function(){this.removeAttribute(e)}}function lO(e){return function(){this.removeAttributeNS(e.space,e.local)}}function cO(e,t){return function(){this.setAttribute(e,t)}}function uO(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function dO(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function fO(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function hO(e,t){var n=Ei(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((t==null?n.local?lO:iO:typeof t=="function"?n.local?fO:dO:n.local?uO:cO)(n,t))}function gy(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function mO(e){return function(){this.style.removeProperty(e)}}function pO(e,t,n){return function(){this.style.setProperty(e,t,n)}}function gO(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function vO(e,t,n){return arguments.length>1?this.each((t==null?mO:typeof t=="function"?gO:pO)(e,t,n??"")):Ns(this.node(),e)}function Ns(e,t){return e.style.getPropertyValue(t)||gy(e).getComputedStyle(e,null).getPropertyValue(t)}function yO(e){return function(){delete this[e]}}function xO(e,t){return function(){this[e]=t}}function bO(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function wO(e,t){return arguments.length>1?this.each((t==null?yO:typeof t=="function"?bO:xO)(e,t)):this.node()[e]}function vy(e){return e.trim().split(/^|\s+/)}function nd(e){return e.classList||new yy(e)}function yy(e){this._node=e,this._names=vy(e.getAttribute("class")||"")}yy.prototype={add:function(e){this._names.indexOf(e)<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function xy(e,t){for(var n=nd(e),r=-1,s=t.length;++r<s;)n.add(t[r])}function by(e,t){for(var n=nd(e),r=-1,s=t.length;++r<s;)n.remove(t[r])}function SO(e){return function(){xy(this,e)}}function CO(e){return function(){by(this,e)}}function NO(e,t){return function(){(t.apply(this,arguments)?xy:by)(this,e)}}function EO(e,t){var n=vy(e+"");if(arguments.length<2){for(var r=nd(this.node()),s=-1,a=n.length;++s<a;)if(!r.contains(n[s]))return!1;return!0}return this.each((typeof t=="function"?NO:t?SO:CO)(n,t))}function IO(){this.textContent=""}function jO(e){return function(){this.textContent=e}}function TO(e){return function(){var t=e.apply(this,arguments);this.textContent=t??""}}function RO(e){return arguments.length?this.each(e==null?IO:(typeof e=="function"?TO:jO)(e)):this.node().textContent}function kO(){this.innerHTML=""}function _O(e){return function(){this.innerHTML=e}}function AO(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??""}}function MO(e){return arguments.length?this.each(e==null?kO:(typeof e=="function"?AO:_O)(e)):this.node().innerHTML}function OO(){this.nextSibling&&this.parentNode.appendChild(this)}function DO(){return this.each(OO)}function PO(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function LO(){return this.each(PO)}function FO(e){var t=typeof e=="function"?e:dy(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function $O(){return null}function zO(e,t){var n=typeof e=="function"?e:dy(e),r=t==null?$O:typeof t=="function"?t:td(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function VO(){var e=this.parentNode;e&&e.removeChild(this)}function BO(){return this.each(VO)}function UO(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function HO(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function qO(e){return this.select(e?HO:UO)}function WO(e){return arguments.length?this.property("__data__",e):this.node().__data__}function KO(e){return function(t){e.call(this,t,this.__data__)}}function YO(e){return e.trim().split(/^|\s+/).map(function(t){var n="",r=t.indexOf(".");return r>=0&&(n=t.slice(r+1),t=t.slice(0,r)),{type:t,name:n}})}function GO(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,s=t.length,a;n<s;++n)a=t[n],(!e.type||a.type===e.type)&&a.name===e.name?this.removeEventListener(a.type,a.listener,a.options):t[++r]=a;++r?t.length=r:delete this.__on}}}function JO(e,t,n){return function(){var r=this.__on,s,a=KO(t);if(r){for(var o=0,i=r.length;o<i;++o)if((s=r[o]).type===e.type&&s.name===e.name){this.removeEventListener(s.type,s.listener,s.options),this.addEventListener(s.type,s.listener=a,s.options=n),s.value=t;return}}this.addEventListener(e.type,a,n),s={type:e.type,name:e.name,value:t,listener:a,options:n},r?r.push(s):this.__on=[s]}}function QO(e,t,n){var r=YO(e+""),s,a=r.length,o;if(arguments.length<2){var i=this.node().__on;if(i){for(var c=0,u=i.length,d;c<u;++c)for(s=0,d=i[c];s<a;++s)if((o=r[s]).type===d.type&&o.name===d.name)return d.value}return}for(i=t?JO:GO,s=0;s<a;++s)this.each(i(r[s],t,n));return this}function wy(e,t,n){var r=gy(e),s=r.CustomEvent;typeof s=="function"?s=new s(t,n):(s=r.document.createEvent("Event"),n?(s.initEvent(t,n.bubbles,n.cancelable),s.detail=n.detail):s.initEvent(t,!1,!1)),e.dispatchEvent(s)}function XO(e,t){return function(){return wy(this,e,t)}}function ZO(e,t){return function(){return wy(this,e,t.apply(this,arguments))}}function eD(e,t){return this.each((typeof t=="function"?ZO:XO)(e,t))}function*tD(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],s=0,a=r.length,o;s<a;++s)(o=r[s])&&(yield o)}var Sy=[null];function Vt(e,t){this._groups=e,this._parents=t}function $s(){return new Vt([[document.documentElement]],Sy)}function nD(){return this}Vt.prototype=$s.prototype={constructor:Vt,select:TM,selectAll:AM,selectChild:PM,selectChildren:zM,filter:VM,data:KM,enter:BM,exit:GM,join:JM,merge:QM,selection:nD,order:XM,sort:ZM,call:tO,nodes:nO,node:rO,size:sO,empty:aO,each:oO,attr:hO,style:vO,property:wO,classed:EO,text:RO,html:MO,raise:DO,lower:LO,append:FO,insert:zO,remove:BO,clone:qO,datum:WO,on:QO,dispatch:eD,[Symbol.iterator]:tD};function zt(e){return typeof e=="string"?new Vt([[document.querySelector(e)]],[document.documentElement]):new Vt([[e]],Sy)}function rD(e){let t;for(;t=e.sourceEvent;)e=t;return e}function cn(e,t){if(e=rD(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}if(t.getBoundingClientRect){var s=t.getBoundingClientRect();return[e.clientX-s.left-t.clientLeft,e.clientY-s.top-t.clientTop]}}return[e.pageX,e.pageY]}var sD={passive:!1},ba={capture:!0,passive:!1};function Rl(e){e.stopImmediatePropagation()}function gs(e){e.preventDefault(),e.stopImmediatePropagation()}function Cy(e){var t=e.document.documentElement,n=zt(e).on("dragstart.drag",gs,ba);"onselectstart"in t?n.on("selectstart.drag",gs,ba):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function Ny(e,t){var n=e.document.documentElement,r=zt(e).on("dragstart.drag",null);t&&(r.on("click.drag",gs,ba),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in n?r.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}var Za=e=>()=>e;function bc(e,{sourceEvent:t,subject:n,target:r,identifier:s,active:a,x:o,y:i,dx:c,dy:u,dispatch:d}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:s,enumerable:!0,configurable:!0},active:{value:a,enumerable:!0,configurable:!0},x:{value:o,enumerable:!0,configurable:!0},y:{value:i,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:d}})}bc.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function aD(e){return!e.ctrlKey&&!e.button}function oD(){return this.parentNode}function iD(e,t){return t??{x:e.x,y:e.y}}function lD(){return navigator.maxTouchPoints||"ontouchstart"in this}function Ey(){var e=aD,t=oD,n=iD,r=lD,s={},a=Ni("start","drag","end"),o=0,i,c,u,d,f=0;function h(g){g.on("mousedown.drag",m).filter(r).on("touchstart.drag",b).on("touchmove.drag",N,sD).on("touchend.drag touchcancel.drag",w).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function m(g,x){if(!(d||!e.call(this,g,x))){var C=y(this,t.call(this,g,x),g,x,"mouse");C&&(zt(g.view).on("mousemove.drag",v,ba).on("mouseup.drag",S,ba),Cy(g.view),Rl(g),u=!1,i=g.clientX,c=g.clientY,C("start",g))}}function v(g){if(gs(g),!u){var x=g.clientX-i,C=g.clientY-c;u=x*x+C*C>f}s.mouse("drag",g)}function S(g){zt(g.view).on("mousemove.drag mouseup.drag",null),Ny(g.view,u),gs(g),s.mouse("end",g)}function b(g,x){if(e.call(this,g,x)){var C=g.changedTouches,j=t.call(this,g,x),E=C.length,R,O;for(R=0;R<E;++R)(O=y(this,j,g,x,C[R].identifier,C[R]))&&(Rl(g),O("start",g,C[R]))}}function N(g){var x=g.changedTouches,C=x.length,j,E;for(j=0;j<C;++j)(E=s[x[j].identifier])&&(gs(g),E("drag",g,x[j]))}function w(g){var x=g.changedTouches,C=x.length,j,E;for(d&&clearTimeout(d),d=setTimeout(function(){d=null},500),j=0;j<C;++j)(E=s[x[j].identifier])&&(Rl(g),E("end",g,x[j]))}function y(g,x,C,j,E,R){var O=a.copy(),k=cn(R||C,x),_,A,I;if((I=n.call(g,new bc("beforestart",{sourceEvent:C,target:h,identifier:E,active:o,x:k[0],y:k[1],dx:0,dy:0,dispatch:O}),j))!=null)return _=I.x-k[0]||0,A=I.y-k[1]||0,function T(M,P,V){var L=k,B;switch(M){case"start":s[E]=T,B=o++;break;case"end":delete s[E],--o;case"drag":k=cn(V||P,x),B=o}O.call(M,g,new bc(M,{sourceEvent:P,subject:I,target:h,identifier:E,active:B,x:k[0]+_,y:k[1]+A,dx:k[0]-L[0],dy:k[1]-L[1],dispatch:O}),j)}}return h.filter=function(g){return arguments.length?(e=typeof g=="function"?g:Za(!!g),h):e},h.container=function(g){return arguments.length?(t=typeof g=="function"?g:Za(g),h):t},h.subject=function(g){return arguments.length?(n=typeof g=="function"?g:Za(g),h):n},h.touchable=function(g){return arguments.length?(r=typeof g=="function"?g:Za(!!g),h):r},h.on=function(){var g=a.on.apply(a,arguments);return g===a?h:g},h.clickDistance=function(g){return arguments.length?(f=(g=+g)*g,h):Math.sqrt(f)},h}function rd(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function Iy(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function za(){}var wa=.7,Mo=1/wa,vs="\\s*([+-]?\\d+)\\s*",Sa="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",kn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",cD=/^#([0-9a-f]{3,8})$/,uD=new RegExp(`^rgb\\(${vs},${vs},${vs}\\)$`),dD=new RegExp(`^rgb\\(${kn},${kn},${kn}\\)$`),fD=new RegExp(`^rgba\\(${vs},${vs},${vs},${Sa}\\)$`),hD=new RegExp(`^rgba\\(${kn},${kn},${kn},${Sa}\\)$`),mD=new RegExp(`^hsl\\(${Sa},${kn},${kn}\\)$`),pD=new RegExp(`^hsla\\(${Sa},${kn},${kn},${Sa}\\)$`),eh={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};rd(za,Wr,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:th,formatHex:th,formatHex8:gD,formatHsl:vD,formatRgb:nh,toString:nh});function th(){return this.rgb().formatHex()}function gD(){return this.rgb().formatHex8()}function vD(){return jy(this).formatHsl()}function nh(){return this.rgb().formatRgb()}function Wr(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=cD.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?rh(t):n===3?new _t(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?eo(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?eo(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=uD.exec(e))?new _t(t[1],t[2],t[3],1):(t=dD.exec(e))?new _t(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=fD.exec(e))?eo(t[1],t[2],t[3],t[4]):(t=hD.exec(e))?eo(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=mD.exec(e))?oh(t[1],t[2]/100,t[3]/100,1):(t=pD.exec(e))?oh(t[1],t[2]/100,t[3]/100,t[4]):eh.hasOwnProperty(e)?rh(eh[e]):e==="transparent"?new _t(NaN,NaN,NaN,0):null}function rh(e){return new _t(e>>16&255,e>>8&255,e&255,1)}function eo(e,t,n,r){return r<=0&&(e=t=n=NaN),new _t(e,t,n,r)}function yD(e){return e instanceof za||(e=Wr(e)),e?(e=e.rgb(),new _t(e.r,e.g,e.b,e.opacity)):new _t}function Oo(e,t,n,r){return arguments.length===1?yD(e):new _t(e,t,n,r??1)}function _t(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}rd(_t,Oo,Iy(za,{brighter(e){return e=e==null?Mo:Math.pow(Mo,e),new _t(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?wa:Math.pow(wa,e),new _t(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new _t(Pr(this.r),Pr(this.g),Pr(this.b),Do(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:sh,formatHex:sh,formatHex8:xD,formatRgb:ah,toString:ah}));function sh(){return`#${jr(this.r)}${jr(this.g)}${jr(this.b)}`}function xD(){return`#${jr(this.r)}${jr(this.g)}${jr(this.b)}${jr((isNaN(this.opacity)?1:this.opacity)*255)}`}function ah(){const e=Do(this.opacity);return`${e===1?"rgb(":"rgba("}${Pr(this.r)}, ${Pr(this.g)}, ${Pr(this.b)}${e===1?")":`, ${e})`}`}function Do(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Pr(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function jr(e){return e=Pr(e),(e<16?"0":"")+e.toString(16)}function oh(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new un(e,t,n,r)}function jy(e){if(e instanceof un)return new un(e.h,e.s,e.l,e.opacity);if(e instanceof za||(e=Wr(e)),!e)return new un;if(e instanceof un)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,s=Math.min(t,n,r),a=Math.max(t,n,r),o=NaN,i=a-s,c=(a+s)/2;return i?(t===a?o=(n-r)/i+(n<r)*6:n===a?o=(r-t)/i+2:o=(t-n)/i+4,i/=c<.5?a+s:2-a-s,o*=60):i=c>0&&c<1?0:o,new un(o,i,c,e.opacity)}function bD(e,t,n,r){return arguments.length===1?jy(e):new un(e,t,n,r??1)}function un(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}rd(un,bD,Iy(za,{brighter(e){return e=e==null?Mo:Math.pow(Mo,e),new un(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?wa:Math.pow(wa,e),new un(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,s=2*n-r;return new _t(kl(e>=240?e-240:e+120,s,r),kl(e,s,r),kl(e<120?e+240:e-120,s,r),this.opacity)},clamp(){return new un(ih(this.h),to(this.s),to(this.l),Do(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Do(this.opacity);return`${e===1?"hsl(":"hsla("}${ih(this.h)}, ${to(this.s)*100}%, ${to(this.l)*100}%${e===1?")":`, ${e})`}`}}));function ih(e){return e=(e||0)%360,e<0?e+360:e}function to(e){return Math.max(0,Math.min(1,e||0))}function kl(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}function Ty(e,t,n,r,s){var a=e*e,o=a*e;return((1-3*e+3*a-o)*t+(4-6*a+3*o)*n+(1+3*e+3*a-3*o)*r+o*s)/6}function wD(e){var t=e.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,t-1):Math.floor(n*t),s=e[r],a=e[r+1],o=r>0?e[r-1]:2*s-a,i=r<t-1?e[r+2]:2*a-s;return Ty((n-r/t)*t,o,s,a,i)}}function SD(e){var t=e.length;return function(n){var r=Math.floor(((n%=1)<0?++n:n)*t),s=e[(r+t-1)%t],a=e[r%t],o=e[(r+1)%t],i=e[(r+2)%t];return Ty((n-r/t)*t,s,a,o,i)}}var sd=e=>()=>e;function CD(e,t){return function(n){return e+n*t}}function ND(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function ED(e){return(e=+e)==1?Ry:function(t,n){return n-t?ND(t,n,e):sd(isNaN(t)?n:t)}}function Ry(e,t){var n=t-e;return n?CD(e,n):sd(isNaN(e)?t:e)}var Po=(function e(t){var n=ED(t);function r(s,a){var o=n((s=Oo(s)).r,(a=Oo(a)).r),i=n(s.g,a.g),c=n(s.b,a.b),u=Ry(s.opacity,a.opacity);return function(d){return s.r=o(d),s.g=i(d),s.b=c(d),s.opacity=u(d),s+""}}return r.gamma=e,r})(1);function ky(e){return function(t){var n=t.length,r=new Array(n),s=new Array(n),a=new Array(n),o,i;for(o=0;o<n;++o)i=Oo(t[o]),r[o]=i.r||0,s[o]=i.g||0,a[o]=i.b||0;return r=e(r),s=e(s),a=e(a),i.opacity=1,function(c){return i.r=r(c),i.g=s(c),i.b=a(c),i+""}}}var cB=ky(wD),uB=ky(SD);function ID(e,t){t||(t=[]);var n=e?Math.min(t.length,e.length):0,r=t.slice(),s;return function(a){for(s=0;s<n;++s)r[s]=e[s]*(1-a)+t[s]*a;return r}}function jD(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function TD(e,t){var n=t?t.length:0,r=e?Math.min(n,e.length):0,s=new Array(r),a=new Array(n),o;for(o=0;o<r;++o)s[o]=ha(e[o],t[o]);for(;o<n;++o)a[o]=t[o];return function(i){for(o=0;o<r;++o)a[o]=s[o](i);return a}}function RD(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function Nn(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function kD(e,t){var n={},r={},s;(e===null||typeof e!="object")&&(e={}),(t===null||typeof t!="object")&&(t={});for(s in t)s in e?n[s]=ha(e[s],t[s]):r[s]=t[s];return function(a){for(s in n)r[s]=n[s](a);return r}}var wc=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,_l=new RegExp(wc.source,"g");function _D(e){return function(){return e}}function AD(e){return function(t){return e(t)+""}}function _y(e,t){var n=wc.lastIndex=_l.lastIndex=0,r,s,a,o=-1,i=[],c=[];for(e=e+"",t=t+"";(r=wc.exec(e))&&(s=_l.exec(t));)(a=s.index)>n&&(a=t.slice(n,a),i[o]?i[o]+=a:i[++o]=a),(r=r[0])===(s=s[0])?i[o]?i[o]+=s:i[++o]=s:(i[++o]=null,c.push({i:o,x:Nn(r,s)})),n=_l.lastIndex;return n<t.length&&(a=t.slice(n),i[o]?i[o]+=a:i[++o]=a),i.length<2?c[0]?AD(c[0].x):_D(t):(t=c.length,function(u){for(var d=0,f;d<t;++d)i[(f=c[d]).i]=f.x(u);return i.join("")})}function ha(e,t){var n=typeof t,r;return t==null||n==="boolean"?sd(t):(n==="number"?Nn:n==="string"?(r=Wr(t))?(t=r,Po):_y:t instanceof Wr?Po:t instanceof Date?RD:jD(t)?ID:Array.isArray(t)?TD:typeof t.valueOf!="function"&&typeof t.toString!="function"||isNaN(t)?kD:Nn)(e,t)}var lh=180/Math.PI,Sc={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Ay(e,t,n,r,s,a){var o,i,c;return(o=Math.sqrt(e*e+t*t))&&(e/=o,t/=o),(c=e*n+t*r)&&(n-=e*c,r-=t*c),(i=Math.sqrt(n*n+r*r))&&(n/=i,r/=i,c/=i),e*r<t*n&&(e=-e,t=-t,c=-c,o=-o),{translateX:s,translateY:a,rotate:Math.atan2(t,e)*lh,skewX:Math.atan(c)*lh,scaleX:o,scaleY:i}}var no;function MD(e){const t=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?Sc:Ay(t.a,t.b,t.c,t.d,t.e,t.f)}function OD(e){return e==null||(no||(no=document.createElementNS("http://www.w3.org/2000/svg","g")),no.setAttribute("transform",e),!(e=no.transform.baseVal.consolidate()))?Sc:(e=e.matrix,Ay(e.a,e.b,e.c,e.d,e.e,e.f))}function My(e,t,n,r){function s(u){return u.length?u.pop()+" ":""}function a(u,d,f,h,m,v){if(u!==f||d!==h){var S=m.push("translate(",null,t,null,n);v.push({i:S-4,x:Nn(u,f)},{i:S-2,x:Nn(d,h)})}else(f||h)&&m.push("translate("+f+t+h+n)}function o(u,d,f,h){u!==d?(u-d>180?d+=360:d-u>180&&(u+=360),h.push({i:f.push(s(f)+"rotate(",null,r)-2,x:Nn(u,d)})):d&&f.push(s(f)+"rotate("+d+r)}function i(u,d,f,h){u!==d?h.push({i:f.push(s(f)+"skewX(",null,r)-2,x:Nn(u,d)}):d&&f.push(s(f)+"skewX("+d+r)}function c(u,d,f,h,m,v){if(u!==f||d!==h){var S=m.push(s(m)+"scale(",null,",",null,")");v.push({i:S-4,x:Nn(u,f)},{i:S-2,x:Nn(d,h)})}else(f!==1||h!==1)&&m.push(s(m)+"scale("+f+","+h+")")}return function(u,d){var f=[],h=[];return u=e(u),d=e(d),a(u.translateX,u.translateY,d.translateX,d.translateY,f,h),o(u.rotate,d.rotate,f,h),i(u.skewX,d.skewX,f,h),c(u.scaleX,u.scaleY,d.scaleX,d.scaleY,f,h),u=d=null,function(m){for(var v=-1,S=h.length,b;++v<S;)f[(b=h[v]).i]=b.x(m);return f.join("")}}}var DD=My(MD,"px, ","px)","deg)"),PD=My(OD,", ",")",")"),LD=1e-12;function ch(e){return((e=Math.exp(e))+1/e)/2}function FD(e){return((e=Math.exp(e))-1/e)/2}function $D(e){return((e=Math.exp(2*e))-1)/(e+1)}var yo=(function e(t,n,r){function s(a,o){var i=a[0],c=a[1],u=a[2],d=o[0],f=o[1],h=o[2],m=d-i,v=f-c,S=m*m+v*v,b,N;if(S<LD)N=Math.log(h/u)/t,b=function(C){return[i+C*m,c+C*v,u*Math.exp(t*C*N)]};else{var w=Math.sqrt(S),y=(h*h-u*u+r*S)/(2*u*n*w),g=(h*h-u*u-r*S)/(2*h*n*w),x=Math.log(Math.sqrt(y*y+1)-y);N=(Math.log(Math.sqrt(g*g+1)-g)-x)/t,b=function(C){var j=C*N,E=ch(x),R=u/(n*w)*(E*$D(t*j+x)-FD(x));return[i+R*m,c+R*v,u*E/ch(t*j+x)]}}return b.duration=N*1e3*t/Math.SQRT2,b}return s.rho=function(a){var o=Math.max(.001,+a),i=o*o;return e(o,i,i*i)},s})(Math.SQRT2,2,4),Es=0,ia=0,Js=0,Oy=1e3,Lo,la,Fo=0,Kr=0,Ii=0,Ca=typeof performance=="object"&&performance.now?performance:Date,Dy=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function ad(){return Kr||(Dy(zD),Kr=Ca.now()+Ii)}function zD(){Kr=0}function $o(){this._call=this._time=this._next=null}$o.prototype=Py.prototype={constructor:$o,restart:function(e,t,n){if(typeof e!="function")throw new TypeError("callback is not a function");n=(n==null?ad():+n)+(t==null?0:+t),!this._next&&la!==this&&(la?la._next=this:Lo=this,la=this),this._call=e,this._time=n,Cc()},stop:function(){this._call&&(this._call=null,this._time=1/0,Cc())}};function Py(e,t,n){var r=new $o;return r.restart(e,t,n),r}function VD(){ad(),++Es;for(var e=Lo,t;e;)(t=Kr-e._time)>=0&&e._call.call(void 0,t),e=e._next;--Es}function uh(){Kr=(Fo=Ca.now())+Ii,Es=ia=0;try{VD()}finally{Es=0,UD(),Kr=0}}function BD(){var e=Ca.now(),t=e-Fo;t>Oy&&(Ii-=t,Fo=e)}function UD(){for(var e,t=Lo,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:Lo=n);la=e,Cc(r)}function Cc(e){Es||(ia&&(ia=clearTimeout(ia)),e-Kr>24?(e<1/0&&(ia=setTimeout(uh,e-Ca.now()-Ii)),Js&&(Js=clearInterval(Js))):(Js||(Fo=Ca.now(),Js=setInterval(BD,Oy)),Es=1,Dy(uh)))}function dh(e,t,n){var r=new $o;return t=t==null?0:+t,r.restart(s=>{r.stop(),e(s+t)},t,n),r}var HD=Ni("start","end","cancel","interrupt"),qD=[];function ji(e,t,n,r,s,a){var o=e.__transition;if(!o)e.__transition={};else if(n in o)return;WD(e,n,{name:t,index:r,group:s,on:HD,tween:qD,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:0})}function od(e,t){var n=vn(e,t);if(n.state>0)throw new Error("too late; already scheduled");return n}function Fn(e,t){var n=vn(e,t);if(n.state>3)throw new Error("too late; already running");return n}function vn(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function WD(e,t,n){var r=e.__transition,s;r[t]=n,n.timer=Py(a,0,n.time);function a(u){n.state=1,n.timer.restart(o,n.delay,n.time),n.delay<=u&&o(u-n.delay)}function o(u){var d,f,h,m;if(n.state!==1)return c();for(d in r)if(m=r[d],m.name===n.name){if(m.state===3)return dh(o);m.state===4?(m.state=6,m.timer.stop(),m.on.call("interrupt",e,e.__data__,m.index,m.group),delete r[d]):+d<t&&(m.state=6,m.timer.stop(),m.on.call("cancel",e,e.__data__,m.index,m.group),delete r[d])}if(dh(function(){n.state===3&&(n.state=4,n.timer.restart(i,n.delay,n.time),i(u))}),n.state=2,n.on.call("start",e,e.__data__,n.index,n.group),n.state===2){for(n.state=3,s=new Array(h=n.tween.length),d=0,f=-1;d<h;++d)(m=n.tween[d].value.call(e,e.__data__,n.index,n.group))&&(s[++f]=m);s.length=f+1}}function i(u){for(var d=u<n.duration?n.ease.call(null,u/n.duration):(n.timer.restart(c),n.state=5,1),f=-1,h=s.length;++f<h;)s[f].call(e,d);n.state===5&&(n.on.call("end",e,e.__data__,n.index,n.group),c())}function c(){n.state=6,n.timer.stop(),delete r[t];for(var u in r)return;delete e.__transition}}function xo(e,t){var n=e.__transition,r,s,a=!0,o;if(n){t=t==null?null:t+"";for(o in n){if((r=n[o]).name!==t){a=!1;continue}s=r.state>2&&r.state<5,r.state=6,r.timer.stop(),r.on.call(s?"interrupt":"cancel",e,e.__data__,r.index,r.group),delete n[o]}a&&delete e.__transition}}function KD(e){return this.each(function(){xo(this,e)})}function YD(e,t){var n,r;return function(){var s=Fn(this,e),a=s.tween;if(a!==n){r=n=a;for(var o=0,i=r.length;o<i;++o)if(r[o].name===t){r=r.slice(),r.splice(o,1);break}}s.tween=r}}function GD(e,t,n){var r,s;if(typeof n!="function")throw new Error;return function(){var a=Fn(this,e),o=a.tween;if(o!==r){s=(r=o).slice();for(var i={name:t,value:n},c=0,u=s.length;c<u;++c)if(s[c].name===t){s[c]=i;break}c===u&&s.push(i)}a.tween=s}}function JD(e,t){var n=this._id;if(e+="",arguments.length<2){for(var r=vn(this.node(),n).tween,s=0,a=r.length,o;s<a;++s)if((o=r[s]).name===e)return o.value;return null}return this.each((t==null?YD:GD)(n,e,t))}function id(e,t,n){var r=e._id;return e.each(function(){var s=Fn(this,r);(s.value||(s.value={}))[t]=n.apply(this,arguments)}),function(s){return vn(s,r).value[t]}}function Ly(e,t){var n;return(typeof t=="number"?Nn:t instanceof Wr?Po:(n=Wr(t))?(t=n,Po):_y)(e,t)}function QD(e){return function(){this.removeAttribute(e)}}function XD(e){return function(){this.removeAttributeNS(e.space,e.local)}}function ZD(e,t,n){var r,s=n+"",a;return function(){var o=this.getAttribute(e);return o===s?null:o===r?a:a=t(r=o,n)}}function e2(e,t,n){var r,s=n+"",a;return function(){var o=this.getAttributeNS(e.space,e.local);return o===s?null:o===r?a:a=t(r=o,n)}}function t2(e,t,n){var r,s,a;return function(){var o,i=n(this),c;return i==null?void this.removeAttribute(e):(o=this.getAttribute(e),c=i+"",o===c?null:o===r&&c===s?a:(s=c,a=t(r=o,i)))}}function n2(e,t,n){var r,s,a;return function(){var o,i=n(this),c;return i==null?void this.removeAttributeNS(e.space,e.local):(o=this.getAttributeNS(e.space,e.local),c=i+"",o===c?null:o===r&&c===s?a:(s=c,a=t(r=o,i)))}}function r2(e,t){var n=Ei(e),r=n==="transform"?PD:Ly;return this.attrTween(e,typeof t=="function"?(n.local?n2:t2)(n,r,id(this,"attr."+e,t)):t==null?(n.local?XD:QD)(n):(n.local?e2:ZD)(n,r,t))}function s2(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function a2(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function o2(e,t){var n,r;function s(){var a=t.apply(this,arguments);return a!==r&&(n=(r=a)&&a2(e,a)),n}return s._value=t,s}function i2(e,t){var n,r;function s(){var a=t.apply(this,arguments);return a!==r&&(n=(r=a)&&s2(e,a)),n}return s._value=t,s}function l2(e,t){var n="attr."+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!="function")throw new Error;var r=Ei(e);return this.tween(n,(r.local?o2:i2)(r,t))}function c2(e,t){return function(){od(this,e).delay=+t.apply(this,arguments)}}function u2(e,t){return t=+t,function(){od(this,e).delay=t}}function d2(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?c2:u2)(t,e)):vn(this.node(),t).delay}function f2(e,t){return function(){Fn(this,e).duration=+t.apply(this,arguments)}}function h2(e,t){return t=+t,function(){Fn(this,e).duration=t}}function m2(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?f2:h2)(t,e)):vn(this.node(),t).duration}function p2(e,t){if(typeof t!="function")throw new Error;return function(){Fn(this,e).ease=t}}function g2(e){var t=this._id;return arguments.length?this.each(p2(t,e)):vn(this.node(),t).ease}function v2(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!="function")throw new Error;Fn(this,e).ease=n}}function y2(e){if(typeof e!="function")throw new Error;return this.each(v2(this._id,e))}function x2(e){typeof e!="function"&&(e=hy(e));for(var t=this._groups,n=t.length,r=new Array(n),s=0;s<n;++s)for(var a=t[s],o=a.length,i=r[s]=[],c,u=0;u<o;++u)(c=a[u])&&e.call(c,c.__data__,u,a)&&i.push(c);return new Jn(r,this._parents,this._name,this._id)}function b2(e){if(e._id!==this._id)throw new Error;for(var t=this._groups,n=e._groups,r=t.length,s=n.length,a=Math.min(r,s),o=new Array(r),i=0;i<a;++i)for(var c=t[i],u=n[i],d=c.length,f=o[i]=new Array(d),h,m=0;m<d;++m)(h=c[m]||u[m])&&(f[m]=h);for(;i<r;++i)o[i]=t[i];return new Jn(o,this._parents,this._name,this._id)}function w2(e){return(e+"").trim().split(/^|\s+/).every(function(t){var n=t.indexOf(".");return n>=0&&(t=t.slice(0,n)),!t||t==="start"})}function S2(e,t,n){var r,s,a=w2(t)?od:Fn;return function(){var o=a(this,e),i=o.on;i!==r&&(s=(r=i).copy()).on(t,n),o.on=s}}function C2(e,t){var n=this._id;return arguments.length<2?vn(this.node(),n).on.on(e):this.each(S2(n,e,t))}function N2(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function E2(){return this.on("end.remove",N2(this._id))}function I2(e){var t=this._name,n=this._id;typeof e!="function"&&(e=td(e));for(var r=this._groups,s=r.length,a=new Array(s),o=0;o<s;++o)for(var i=r[o],c=i.length,u=a[o]=new Array(c),d,f,h=0;h<c;++h)(d=i[h])&&(f=e.call(d,d.__data__,h,i))&&("__data__"in d&&(f.__data__=d.__data__),u[h]=f,ji(u[h],t,n,h,u,vn(d,n)));return new Jn(a,this._parents,t,n)}function j2(e){var t=this._name,n=this._id;typeof e!="function"&&(e=fy(e));for(var r=this._groups,s=r.length,a=[],o=[],i=0;i<s;++i)for(var c=r[i],u=c.length,d,f=0;f<u;++f)if(d=c[f]){for(var h=e.call(d,d.__data__,f,c),m,v=vn(d,n),S=0,b=h.length;S<b;++S)(m=h[S])&&ji(m,t,n,S,h,v);a.push(h),o.push(d)}return new Jn(a,o,t,n)}var T2=$s.prototype.constructor;function R2(){return new T2(this._groups,this._parents)}function k2(e,t){var n,r,s;return function(){var a=Ns(this,e),o=(this.style.removeProperty(e),Ns(this,e));return a===o?null:a===n&&o===r?s:s=t(n=a,r=o)}}function Fy(e){return function(){this.style.removeProperty(e)}}function _2(e,t,n){var r,s=n+"",a;return function(){var o=Ns(this,e);return o===s?null:o===r?a:a=t(r=o,n)}}function A2(e,t,n){var r,s,a;return function(){var o=Ns(this,e),i=n(this),c=i+"";return i==null&&(c=i=(this.style.removeProperty(e),Ns(this,e))),o===c?null:o===r&&c===s?a:(s=c,a=t(r=o,i))}}function M2(e,t){var n,r,s,a="style."+t,o="end."+a,i;return function(){var c=Fn(this,e),u=c.on,d=c.value[a]==null?i||(i=Fy(t)):void 0;(u!==n||s!==d)&&(r=(n=u).copy()).on(o,s=d),c.on=r}}function O2(e,t,n){var r=(e+="")=="transform"?DD:Ly;return t==null?this.styleTween(e,k2(e,r)).on("end.style."+e,Fy(e)):typeof t=="function"?this.styleTween(e,A2(e,r,id(this,"style."+e,t))).each(M2(this._id,e)):this.styleTween(e,_2(e,r,t),n).on("end.style."+e,null)}function D2(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function P2(e,t,n){var r,s;function a(){var o=t.apply(this,arguments);return o!==s&&(r=(s=o)&&D2(e,o,n)),r}return a._value=t,a}function L2(e,t,n){var r="style."+(e+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(t==null)return this.tween(r,null);if(typeof t!="function")throw new Error;return this.tween(r,P2(e,t,n??""))}function F2(e){return function(){this.textContent=e}}function $2(e){return function(){var t=e(this);this.textContent=t??""}}function z2(e){return this.tween("text",typeof e=="function"?$2(id(this,"text",e)):F2(e==null?"":e+""))}function V2(e){return function(t){this.textContent=e.call(this,t)}}function B2(e){var t,n;function r(){var s=e.apply(this,arguments);return s!==n&&(t=(n=s)&&V2(s)),t}return r._value=e,r}function U2(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!="function")throw new Error;return this.tween(t,B2(e))}function H2(){for(var e=this._name,t=this._id,n=$y(),r=this._groups,s=r.length,a=0;a<s;++a)for(var o=r[a],i=o.length,c,u=0;u<i;++u)if(c=o[u]){var d=vn(c,t);ji(c,e,n,u,o,{time:d.time+d.delay+d.duration,delay:0,duration:d.duration,ease:d.ease})}return new Jn(r,this._parents,e,n)}function q2(){var e,t,n=this,r=n._id,s=n.size();return new Promise(function(a,o){var i={value:o},c={value:function(){--s===0&&a()}};n.each(function(){var u=Fn(this,r),d=u.on;d!==e&&(t=(e=d).copy(),t._.cancel.push(i),t._.interrupt.push(i),t._.end.push(c)),u.on=t}),s===0&&a()})}var W2=0;function Jn(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function K2(e){return $s().transition(e)}function $y(){return++W2}var $n=$s.prototype;Jn.prototype=K2.prototype={constructor:Jn,select:I2,selectAll:j2,selectChild:$n.selectChild,selectChildren:$n.selectChildren,filter:x2,merge:b2,selection:R2,transition:H2,call:$n.call,nodes:$n.nodes,node:$n.node,size:$n.size,empty:$n.empty,each:$n.each,on:C2,attr:r2,attrTween:l2,style:O2,styleTween:L2,text:z2,textTween:U2,remove:E2,tween:JD,delay:d2,duration:m2,ease:g2,easeVarying:y2,end:q2,[Symbol.iterator]:$n[Symbol.iterator]};function Y2(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var G2={time:null,delay:0,duration:250,ease:Y2};function J2(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw new Error(`transition ${t} not found`);return n}function Q2(e){var t,n;e instanceof Jn?(t=e._id,e=e._name):(t=$y(),(n=G2).time=ad(),e=e==null?null:e+"");for(var r=this._groups,s=r.length,a=0;a<s;++a)for(var o=r[a],i=o.length,c,u=0;u<i;++u)(c=o[u])&&ji(c,e,t,u,o,n||J2(c,t));return new Jn(r,this._parents,e,t)}$s.prototype.interrupt=KD;$s.prototype.transition=Q2;var ro=e=>()=>e;function X2(e,{sourceEvent:t,target:n,transform:r,dispatch:s}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:s}})}function qn(e,t,n){this.k=e,this.x=t,this.y=n}qn.prototype={constructor:qn,scale:function(e){return e===1?this:new qn(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new qn(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Ti=new qn(1,0,0);zy.prototype=qn.prototype;function zy(e){for(;!e.__zoom;)if(!(e=e.parentNode))return Ti;return e.__zoom}function Al(e){e.stopImmediatePropagation()}function Qs(e){e.preventDefault(),e.stopImmediatePropagation()}function Z2(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function eP(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function fh(){return this.__zoom||Ti}function tP(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function nP(){return navigator.maxTouchPoints||"ontouchstart"in this}function rP(e,t,n){var r=e.invertX(t[0][0])-n[0][0],s=e.invertX(t[1][0])-n[1][0],a=e.invertY(t[0][1])-n[0][1],o=e.invertY(t[1][1])-n[1][1];return e.translate(s>r?(r+s)/2:Math.min(0,r)||Math.max(0,s),o>a?(a+o)/2:Math.min(0,a)||Math.max(0,o))}function Vy(){var e=Z2,t=eP,n=rP,r=tP,s=nP,a=[0,1/0],o=[[-1/0,-1/0],[1/0,1/0]],i=250,c=yo,u=Ni("start","zoom","end"),d,f,h,m=500,v=150,S=0,b=10;function N(I){I.property("__zoom",fh).on("wheel.zoom",E,{passive:!1}).on("mousedown.zoom",R).on("dblclick.zoom",O).filter(s).on("touchstart.zoom",k).on("touchmove.zoom",_).on("touchend.zoom touchcancel.zoom",A).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}N.transform=function(I,T,M,P){var V=I.selection?I.selection():I;V.property("__zoom",fh),I!==V?x(I,T,M,P):V.interrupt().each(function(){C(this,arguments).event(P).start().zoom(null,typeof T=="function"?T.apply(this,arguments):T).end()})},N.scaleBy=function(I,T,M,P){N.scaleTo(I,function(){return this.__zoom.k*(typeof T=="function"?T.apply(this,arguments):T)},M,P)},N.scaleTo=function(I,T,M,P){N.transform(I,function(){var V=t.apply(this,arguments),L=this.__zoom,B=M==null?g(V):typeof M=="function"?M.apply(this,arguments):M,q=L.invert(B),F=typeof T=="function"?T.apply(this,arguments):T;return n(y(w(L,F),B,q),V,o)},M,P)},N.translateBy=function(I,T,M,P){N.transform(I,function(){return n(this.__zoom.translate(typeof T=="function"?T.apply(this,arguments):T,typeof M=="function"?M.apply(this,arguments):M),t.apply(this,arguments),o)},null,P)},N.translateTo=function(I,T,M,P,V){N.transform(I,function(){var L=t.apply(this,arguments),B=this.__zoom,q=P==null?g(L):typeof P=="function"?P.apply(this,arguments):P;return n(Ti.translate(q[0],q[1]).scale(B.k).translate(typeof T=="function"?-T.apply(this,arguments):-T,typeof M=="function"?-M.apply(this,arguments):-M),L,o)},P,V)};function w(I,T){return T=Math.max(a[0],Math.min(a[1],T)),T===I.k?I:new qn(T,I.x,I.y)}function y(I,T,M){var P=T[0]-M[0]*I.k,V=T[1]-M[1]*I.k;return P===I.x&&V===I.y?I:new qn(I.k,P,V)}function g(I){return[(+I[0][0]+ +I[1][0])/2,(+I[0][1]+ +I[1][1])/2]}function x(I,T,M,P){I.on("start.zoom",function(){C(this,arguments).event(P).start()}).on("interrupt.zoom end.zoom",function(){C(this,arguments).event(P).end()}).tween("zoom",function(){var V=this,L=arguments,B=C(V,L).event(P),q=t.apply(V,L),F=M==null?g(q):typeof M=="function"?M.apply(V,L):M,K=Math.max(q[1][0]-q[0][0],q[1][1]-q[0][1]),H=V.__zoom,Y=typeof T=="function"?T.apply(V,L):T,ne=c(H.invert(F).concat(K/H.k),Y.invert(F).concat(K/Y.k));return function(ee){if(ee===1)ee=Y;else{var $=ne(ee),Q=K/$[2];ee=new qn(Q,F[0]-$[0]*Q,F[1]-$[1]*Q)}B.zoom(null,ee)}})}function C(I,T,M){return!M&&I.__zooming||new j(I,T)}function j(I,T){this.that=I,this.args=T,this.active=0,this.sourceEvent=null,this.extent=t.apply(I,T),this.taps=0}j.prototype={event:function(I){return I&&(this.sourceEvent=I),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(I,T){return this.mouse&&I!=="mouse"&&(this.mouse[1]=T.invert(this.mouse[0])),this.touch0&&I!=="touch"&&(this.touch0[1]=T.invert(this.touch0[0])),this.touch1&&I!=="touch"&&(this.touch1[1]=T.invert(this.touch1[0])),this.that.__zoom=T,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(I){var T=zt(this.that).datum();u.call(I,this.that,new X2(I,{sourceEvent:this.sourceEvent,target:N,type:I,transform:this.that.__zoom,dispatch:u}),T)}};function E(I,...T){if(!e.apply(this,arguments))return;var M=C(this,T).event(I),P=this.__zoom,V=Math.max(a[0],Math.min(a[1],P.k*Math.pow(2,r.apply(this,arguments)))),L=cn(I);if(M.wheel)(M.mouse[0][0]!==L[0]||M.mouse[0][1]!==L[1])&&(M.mouse[1]=P.invert(M.mouse[0]=L)),clearTimeout(M.wheel);else{if(P.k===V)return;M.mouse=[L,P.invert(L)],xo(this),M.start()}Qs(I),M.wheel=setTimeout(B,v),M.zoom("mouse",n(y(w(P,V),M.mouse[0],M.mouse[1]),M.extent,o));function B(){M.wheel=null,M.end()}}function R(I,...T){if(h||!e.apply(this,arguments))return;var M=I.currentTarget,P=C(this,T,!0).event(I),V=zt(I.view).on("mousemove.zoom",F,!0).on("mouseup.zoom",K,!0),L=cn(I,M),B=I.clientX,q=I.clientY;Cy(I.view),Al(I),P.mouse=[L,this.__zoom.invert(L)],xo(this),P.start();function F(H){if(Qs(H),!P.moved){var Y=H.clientX-B,ne=H.clientY-q;P.moved=Y*Y+ne*ne>S}P.event(H).zoom("mouse",n(y(P.that.__zoom,P.mouse[0]=cn(H,M),P.mouse[1]),P.extent,o))}function K(H){V.on("mousemove.zoom mouseup.zoom",null),Ny(H.view,P.moved),Qs(H),P.event(H).end()}}function O(I,...T){if(e.apply(this,arguments)){var M=this.__zoom,P=cn(I.changedTouches?I.changedTouches[0]:I,this),V=M.invert(P),L=M.k*(I.shiftKey?.5:2),B=n(y(w(M,L),P,V),t.apply(this,T),o);Qs(I),i>0?zt(this).transition().duration(i).call(x,B,P,I):zt(this).call(N.transform,B,P,I)}}function k(I,...T){if(e.apply(this,arguments)){var M=I.touches,P=M.length,V=C(this,T,I.changedTouches.length===P).event(I),L,B,q,F;for(Al(I),B=0;B<P;++B)q=M[B],F=cn(q,this),F=[F,this.__zoom.invert(F),q.identifier],V.touch0?!V.touch1&&V.touch0[2]!==F[2]&&(V.touch1=F,V.taps=0):(V.touch0=F,L=!0,V.taps=1+!!d);d&&(d=clearTimeout(d)),L&&(V.taps<2&&(f=F[0],d=setTimeout(function(){d=null},m)),xo(this),V.start())}}function _(I,...T){if(this.__zooming){var M=C(this,T).event(I),P=I.changedTouches,V=P.length,L,B,q,F;for(Qs(I),L=0;L<V;++L)B=P[L],q=cn(B,this),M.touch0&&M.touch0[2]===B.identifier?M.touch0[0]=q:M.touch1&&M.touch1[2]===B.identifier&&(M.touch1[0]=q);if(B=M.that.__zoom,M.touch1){var K=M.touch0[0],H=M.touch0[1],Y=M.touch1[0],ne=M.touch1[1],ee=(ee=Y[0]-K[0])*ee+(ee=Y[1]-K[1])*ee,$=($=ne[0]-H[0])*$+($=ne[1]-H[1])*$;B=w(B,Math.sqrt(ee/$)),q=[(K[0]+Y[0])/2,(K[1]+Y[1])/2],F=[(H[0]+ne[0])/2,(H[1]+ne[1])/2]}else if(M.touch0)q=M.touch0[0],F=M.touch0[1];else return;M.zoom("touch",n(y(B,q,F),M.extent,o))}}function A(I,...T){if(this.__zooming){var M=C(this,T).event(I),P=I.changedTouches,V=P.length,L,B;for(Al(I),h&&clearTimeout(h),h=setTimeout(function(){h=null},m),L=0;L<V;++L)B=P[L],M.touch0&&M.touch0[2]===B.identifier?delete M.touch0:M.touch1&&M.touch1[2]===B.identifier&&delete M.touch1;if(M.touch1&&!M.touch0&&(M.touch0=M.touch1,delete M.touch1),M.touch0)M.touch0[1]=this.__zoom.invert(M.touch0[0]);else if(M.end(),M.taps===2&&(B=cn(B,this),Math.hypot(f[0]-B[0],f[1]-B[1])<b)){var q=zt(this).on("dblclick.zoom");q&&q.apply(this,arguments)}}}return N.wheelDelta=function(I){return arguments.length?(r=typeof I=="function"?I:ro(+I),N):r},N.filter=function(I){return arguments.length?(e=typeof I=="function"?I:ro(!!I),N):e},N.touchable=function(I){return arguments.length?(s=typeof I=="function"?I:ro(!!I),N):s},N.extent=function(I){return arguments.length?(t=typeof I=="function"?I:ro([[+I[0][0],+I[0][1]],[+I[1][0],+I[1][1]]]),N):t},N.scaleExtent=function(I){return arguments.length?(a[0]=+I[0],a[1]=+I[1],N):[a[0],a[1]]},N.translateExtent=function(I){return arguments.length?(o[0][0]=+I[0][0],o[1][0]=+I[1][0],o[0][1]=+I[0][1],o[1][1]=+I[1][1],N):[[o[0][0],o[0][1]],[o[1][0],o[1][1]]]},N.constrain=function(I){return arguments.length?(n=I,N):n},N.duration=function(I){return arguments.length?(i=+I,N):i},N.interpolate=function(I){return arguments.length?(c=I,N):c},N.on=function(){var I=u.on.apply(u,arguments);return I===u?N:I},N.clickDistance=function(I){return arguments.length?(S=(I=+I)*I,N):Math.sqrt(S)},N.tapDistance=function(I){return arguments.length?(b=+I,N):b},N}var en={error001:(e="react")=>`Seems like you have not used ${e==="svelte"?"SvelteFlowProvider":"ReactFlowProvider"} as an ancestor. Help: https://${e}flow.dev/error#001`,error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:t,sourceHandle:n,targetHandle:r})=>`Couldn't create edge for ${e} handle id: "${e==="source"?n:r}", edge id: ${t}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs.",error016:e=>`Edge with id "${e}" does not exist, it may have been removed. This can happen when an edge is deleted before the "onEdgeClick" handler is called.`},Na=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],By=["Enter"," ","Escape"],Uy={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:e,x:t,y:n})=>`Moved selected node ${e}. New position, x: ${t}, y: ${n}`,"edge.a11yDescription.default":"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.","controls.ariaLabel":"Control Panel","controls.zoomIn.ariaLabel":"Zoom In","controls.zoomOut.ariaLabel":"Zoom Out","controls.fitView.ariaLabel":"Fit View","controls.interactive.ariaLabel":"Toggle Interactivity","minimap.ariaLabel":"Mini Map","handle.ariaLabel":"Handle"},Is;(function(e){e.Strict="strict",e.Loose="loose"})(Is||(Is={}));var Lr;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(Lr||(Lr={}));var Ea;(function(e){e.Partial="partial",e.Full="full"})(Ea||(Ea={}));var Hy={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null},ar;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(ar||(ar={}));var zo;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(zo||(zo={}));var ve;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(ve||(ve={}));var hh={[ve.Left]:ve.Right,[ve.Right]:ve.Left,[ve.Top]:ve.Bottom,[ve.Bottom]:ve.Top},qy=e=>!!e&&typeof e=="object"&&"id"in e&&"source"in e&&"target"in e,sP=e=>!!e&&typeof e=="object"&&"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),ld=e=>!!e&&typeof e=="object"&&"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),Va=(e,t=[0,0])=>{const{width:n,height:r}=yn(e),s=e.origin??t,a=n*s[0],o=r*s[1];return{x:e.position.x-a,y:e.position.y-o}},aP=(e,t={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};let n=!1;const r=e.reduce((s,a)=>{const o=typeof a=="string";let i=!t.nodeLookup&&!o?a:void 0;return t.nodeLookup&&(i=o?t.nodeLookup.get(a):ld(a)?a:t.nodeLookup.get(a.id)),i?(n=!0,Ri(s,Vo(i,t.nodeOrigin))):s},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return n?ki(r):{x:0,y:0,width:0,height:0}},Ba=(e,t={})=>{let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0},r=!1;return e.forEach(s=>{(t.filter===void 0||t.filter(s))&&(n=Ri(n,Vo(s)),r=!0)}),r?ki(n):{x:0,y:0,width:0,height:0}},cd=(e,t,[n,r,s]=[0,0,1],a=!1,o=!1)=>{const i=(t.x-n)/s,c=(t.y-r)/s,u=t.width/s,d=t.height/s,f=[];for(const h of e.values()){const{measured:m,selectable:v=!0,hidden:S=!1}=h;if(o&&!v||S)continue;const b=m.width??h.width??h.initialWidth??0,N=m.height??h.height??h.initialHeight??0,{x:w,y}=h.internals.positionAbsolute,g=Gy(i,c,u,d,w,y,b,N),x=b*N,C=a&&g>0;(!h.internals.handleBounds||C||g>=x||h.dragging)&&f.push(h)}return f},oP=(e,t)=>{const n=new Set;return e.forEach(r=>{n.add(r.id)}),t.filter(r=>n.has(r.source)||n.has(r.target))};function iP(e,t){const n=new Map,r=t?.nodes?new Set(t.nodes.map(s=>s.id)):null;return e.forEach(s=>{let a;if(t?.includeHiddenNodes){const{width:o,height:i}=yn(s);a=o>0&&i>0}else a=!!(s.measured.width&&s.measured.height&&!s.hidden);a&&(!r||r.has(s.id))&&n.set(s.id,s)}),n}async function lP({nodes:e,width:t,height:n,panZoom:r,minZoom:s,maxZoom:a},o){if(e.size===0)return!0;const i=iP(e,o),c=Ba(i),u=dd(c,t,n,o?.minZoom??s,o?.maxZoom??a,o?.padding??.1);return await r.setViewport(u,{duration:o?.duration,ease:o?.ease,interpolate:o?.interpolate}),!0}function Wy({nodeId:e,nextPosition:t,nodeLookup:n,nodeOrigin:r=[0,0],nodeExtent:s,onError:a}){const o=n.get(e),i=o.parentId?n.get(o.parentId):void 0,{x:c,y:u}=i?i.internals.positionAbsolute:{x:0,y:0},d=o.origin??r;let f=o.extent||s;if(o.extent==="parent"&&!o.expandParent)if(!i)a?.("005",en.error005());else{const{width:m,height:v}=yn(i);m&&v&&(f=[[c,u],[c+m,u+v]])}else i&&Gr(o.extent)&&(f=[[o.extent[0][0]+c,o.extent[0][1]+u],[o.extent[1][0]+c,o.extent[1][1]+u]]);const h=Gr(f)?Yr(t,f,o.measured):t;return(o.measured.width===void 0||o.measured.height===void 0)&&a?.("015",en.error015()),{position:{x:h.x-c+(o.measured.width??0)*d[0],y:h.y-u+(o.measured.height??0)*d[1]},positionAbsolute:h}}async function cP({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:r,onBeforeDelete:s}){const a=new Set(e.map(f=>f.id)),o=[];for(const f of n){if(f.deletable===!1)continue;const h=a.has(f.id),m=!h&&f.parentId&&o.find(v=>v.id===f.parentId);(h||m)&&o.push(f)}const i=new Set(t.map(f=>f.id)),c=r.filter(f=>f.deletable!==!1),u=oP(o,c);for(const f of c)i.has(f.id)&&!u.find(h=>h.id===f.id)&&u.push(f);if(!s)return{edges:u,nodes:o};const d=await s({nodes:o,edges:u});return typeof d=="boolean"?d?{edges:u,nodes:o}:{edges:[],nodes:[]}:d}var js=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),Yr=(e={x:0,y:0},t,n)=>({x:js(e.x,t[0][0],t[1][0]-(n?.width??0)),y:js(e.y,t[0][1],t[1][1]-(n?.height??0))});function Ky(e,t,n){const{width:r,height:s}=yn(n),{x:a,y:o}=n.internals.positionAbsolute;return Yr(e,[[a,o],[a+r,o+s]],t)}var mh=(e,t,n)=>e<t?js(Math.abs(e-t),1,t)/t:e>n?-js(Math.abs(e-n),1,t)/t:0,ud=(e,t,n=15,r=40)=>[mh(e.x,r,t.width-r)*n,mh(e.y,r,t.height-r)*n],Ri=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),Nc=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),ki=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),Ia=(e,t=[0,0])=>{const{x:n,y:r}=ld(e)?e.internals.positionAbsolute:Va(e,t);return{x:n,y:r,width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}},Vo=(e,t=[0,0])=>{const{x:n,y:r}=ld(e)?e.internals.positionAbsolute:Va(e,t);return{x:n,y:r,x2:n+(e.measured?.width??e.width??e.initialWidth??0),y2:r+(e.measured?.height??e.height??e.initialHeight??0)}},Yy=(e,t)=>ki(Ri(Nc(e),Nc(t))),Gy=(e,t,n,r,s,a,o,i)=>{const c=Math.max(0,Math.min(e+n,s+o)-Math.max(e,s)),u=Math.max(0,Math.min(t+r,a+i)-Math.max(t,a));return Math.ceil(c*u)},Bo=(e,t)=>Gy(e.x,e.y,e.width,e.height,t.x,t.y,t.width,t.height),ph=e=>hn(e.width)&&hn(e.height)&&hn(e.x)&&hn(e.y),hn=e=>!isNaN(e)&&isFinite(e),Jy=(e,t)=>(n,r)=>{},Ua=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),Ha=({x:e,y:t},[n,r,s],a=!1,o=[1,1])=>{const i={x:(e-n)/s,y:(t-r)/s};return a?Ua(i,o):i},Ts=({x:e,y:t},[n,r,s])=>({x:e*s+n,y:t*s+r});function ls(e,t){if(typeof e=="number")return Math.floor((t-t/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(n)}if(typeof e=="string"&&e.endsWith("%")){const n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(t*n*.01)}return console.error(`The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function uP(e,t,n){if(typeof e=="string"||typeof e=="number"){const r=ls(e,n),s=ls(e,t);return{top:r,right:s,bottom:r,left:s,x:s*2,y:r*2}}if(typeof e=="object"){const r=ls(e.top??e.y??0,n),s=ls(e.bottom??e.y??0,n),a=ls(e.left??e.x??0,t),o=ls(e.right??e.x??0,t);return{top:r,right:o,bottom:s,left:a,x:a+o,y:r+s}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function dP(e,t,n,r,s,a){const{x:o,y:i}=Ts(e,[t,n,r]),{x:c,y:u}=Ts({x:e.x+e.width,y:e.y+e.height},[t,n,r]),d=s-c,f=a-u;return{left:Math.floor(o),top:Math.floor(i),right:Math.floor(d),bottom:Math.floor(f)}}var dd=(e,t,n,r,s,a)=>{const o=uP(a,t,n),i=(t-o.x)/e.width,c=(n-o.y)/e.height,u=js(Math.min(i,c),r,s),d=e.x+e.width/2,f=e.y+e.height/2,h=t/2-d*u,m=n/2-f*u,v=dP(e,h,m,u,t,n),S={left:Math.min(v.left-o.left,0),top:Math.min(v.top-o.top,0),right:Math.min(v.right-o.right,0),bottom:Math.min(v.bottom-o.bottom,0)};return{x:h-S.left+S.right,y:m-S.top+S.bottom,zoom:u}},ja=()=>typeof navigator<"u"&&navigator?.userAgent?.indexOf("Mac")>=0;function Gr(e){return e!=null&&e!=="parent"}function yn(e){return{width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}}function fd(e){return(e.measured?.width??e.width??e.initialWidth)!==void 0&&(e.measured?.height??e.height??e.initialHeight)!==void 0}function Qy(e,t={width:0,height:0},n,r,s){const a={...e},o=r.get(n);if(o){const i=o.origin||s;a.x+=o.internals.positionAbsolute.x-(t.width??0)*i[0],a.y+=o.internals.positionAbsolute.y-(t.height??0)*i[1]}return a}function gh(e,t){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}function fP(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}function hP(e){return{...Uy,...e||{}}}function Xy(e){return e===null?null:e?"valid":"invalid"}function ma(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:r,containerBounds:s}){const{x:a,y:o}=mn(e),i=Ha({x:a-(s?.left??0),y:o-(s?.top??0)},r),{x:c,y:u}=n?Ua(i,t):i;return{xSnapped:c,ySnapped:u,...i}}var hd=e=>({width:e.offsetWidth,height:e.offsetHeight}),Zy=e=>e?.getRootNode?.()||window?.document,mP=["INPUT","SELECT","TEXTAREA"];function ex(e){const t=e.composedPath?.()?.[0]||e.target;return t?.nodeType!==1?!1:mP.includes(t.nodeName)||t.hasAttribute("contenteditable")||!!t.closest(".nokey")}var tx=e=>"clientX"in e,mn=(e,t)=>{const n=tx(e),r=n?e.clientX:e.touches?.[0].clientX,s=n?e.clientY:e.touches?.[0].clientY;return{x:r-(t?.left??0),y:s-(t?.top??0)}},vh=(e,t,n,r,s)=>{const a=t.querySelectorAll(`.${e}`);return!a||!a.length?null:Array.from(a).map(o=>{const i=o.getBoundingClientRect();return{id:o.getAttribute("data-handleid"),type:e,nodeId:s,position:o.getAttribute("data-handlepos"),x:(i.left-n.left)/r,y:(i.top-n.top)/r,...hd(o)}})};function nx({sourceX:e,sourceY:t,targetX:n,targetY:r,sourceControlX:s,sourceControlY:a,targetControlX:o,targetControlY:i}){const c=e*.125+s*.375+o*.375+n*.125,u=t*.125+a*.375+i*.375+r*.125;return[c,u,Math.abs(c-e),Math.abs(u-t)]}function so(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function yh({pos:e,x1:t,y1:n,x2:r,y2:s,c:a}){switch(e){case ve.Left:return[t-so(t-r,a),n];case ve.Right:return[t+so(r-t,a),n];case ve.Top:return[t,n-so(n-s,a)];case ve.Bottom:return[t,n+so(s-n,a)]}}function rx({sourceX:e,sourceY:t,sourcePosition:n=ve.Bottom,targetX:r,targetY:s,targetPosition:a=ve.Top,curvature:o=.25}){const[i,c]=yh({pos:n,x1:e,y1:t,x2:r,y2:s,c:o}),[u,d]=yh({pos:a,x1:r,y1:s,x2:e,y2:t,c:o}),[f,h,m,v]=nx({sourceX:e,sourceY:t,targetX:r,targetY:s,sourceControlX:i,sourceControlY:c,targetControlX:u,targetControlY:d});return[`M${e},${t} C${i},${c} ${u},${d} ${r},${s}`,f,h,m,v]}function sx({sourceX:e,sourceY:t,targetX:n,targetY:r}){const s=Math.abs(n-e)/2,a=n<e?n+s:n-s,o=Math.abs(r-t)/2;return[a,r<t?r+o:r-o,s,o]}function pP({sourceNode:e,targetNode:t,selected:n=!1,zIndex:r=0,elevateOnSelect:s=!1,zIndexMode:a="basic"}){return a==="manual"?r:(s&&n?r+1e3:r)+Math.max(e.parentId||s&&e.selected?e.internals.z:0,t.parentId||s&&t.selected?t.internals.z:0)}function gP({sourceNode:e,targetNode:t,width:n,height:r,transform:s}){const a=Ri(Vo(e),Vo(t));a.x===a.x2&&(a.x2+=1),a.y===a.y2&&(a.y2+=1);const o={x:-s[0]/s[2],y:-s[1]/s[2],width:n/s[2],height:r/s[2]};return Bo(o,ki(a))>0}var vP=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`xy-edge__${e}${t||""}-${n}${r||""}`,yP=(e,t)=>t.some(n=>n.source===e.source&&n.target===e.target&&(n.sourceHandle===e.sourceHandle||!n.sourceHandle&&!e.sourceHandle)&&(n.targetHandle===e.targetHandle||!n.targetHandle&&!e.targetHandle)),xP=(e,t,n={})=>{if(!e.source||!e.target)return n.onError?.("006",en.error006()),t;const r=n.getEdgeId||vP;let s;return qy(e)?s={...e}:s={...e,id:r(e)},yP(s,t)?t:(s.sourceHandle===null&&delete s.sourceHandle,s.targetHandle===null&&delete s.targetHandle,t.concat(s))};function ax({sourceX:e,sourceY:t,targetX:n,targetY:r}){const[s,a,o,i]=sx({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,s,a,o,i]}var xh={[ve.Left]:{x:-1,y:0},[ve.Right]:{x:1,y:0},[ve.Top]:{x:0,y:-1},[ve.Bottom]:{x:0,y:1}},bP=({source:e,sourcePosition:t=ve.Bottom,target:n})=>t===ve.Left||t===ve.Right?e.x<n.x?{x:1,y:0}:{x:-1,y:0}:e.y<n.y?{x:0,y:1}:{x:0,y:-1},bh=(e,t)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function wP({source:e,sourcePosition:t=ve.Bottom,target:n,targetPosition:r=ve.Top,center:s,offset:a,stepPosition:o}){const i=xh[t],c=xh[r],u={x:e.x+i.x*a,y:e.y+i.y*a},d={x:n.x+c.x*a,y:n.y+c.y*a},f=bP({source:u,sourcePosition:t,target:d}),h=f.x!==0?"x":"y",m=f[h];let v=[],S,b;const N={x:0,y:0},w={x:0,y:0},[,,y,g]=sx({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(i[h]*c[h]===-1){h==="x"?(S=s.x??u.x+(d.x-u.x)*o,b=s.y??(u.y+d.y)/2):(S=s.x??(u.x+d.x)/2,b=s.y??u.y+(d.y-u.y)*o);const j=[{x:S,y:u.y},{x:S,y:d.y}],E=[{x:u.x,y:b},{x:d.x,y:b}];i[h]===m?v=h==="x"?j:E:v=h==="x"?E:j}else{const j=[{x:u.x,y:d.y}],E=[{x:d.x,y:u.y}];if(h==="x"?v=i.x===m?E:j:v=i.y===m?j:E,t===r){const k=Math.abs(e[h]-n[h]);if(k<=a){const _=Math.min(a-1,a-k);i[h]===m?N[h]=(u[h]>e[h]?-1:1)*_:w[h]=(d[h]>n[h]?-1:1)*_}}if(t!==r){const k=h==="x"?"y":"x",_=i[h]===c[k],A=u[k]>d[k],I=u[k]<d[k];(i[h]===1&&(!_&&A||_&&I)||i[h]!==1&&(!_&&I||_&&A))&&(v=h==="x"?j:E)}const R={x:u.x+N.x,y:u.y+N.y},O={x:d.x+w.x,y:d.y+w.y};Math.max(Math.abs(R.x-v[0].x),Math.abs(O.x-v[0].x))>=Math.max(Math.abs(R.y-v[0].y),Math.abs(O.y-v[0].y))?(S=(R.x+O.x)/2,b=v[0].y):(S=v[0].x,b=(R.y+O.y)/2)}const x={x:u.x+N.x,y:u.y+N.y},C={x:d.x+w.x,y:d.y+w.y};return[[e,...x.x!==v[0].x||x.y!==v[0].y?[x]:[],...v,...C.x!==v[v.length-1].x||C.y!==v[v.length-1].y?[C]:[],n],S,b,y,g]}function SP(e,t,n,r){const s=Math.min(bh(e,t)/2,bh(t,n)/2,r),{x:a,y:o}=t;if(e.x===a&&a===n.x||e.y===o&&o===n.y)return`L${a} ${o}`;if(e.y===o){const c=e.x<n.x?-1:1,u=e.y<n.y?1:-1;return`L ${a+s*c},${o}Q ${a},${o} ${a},${o+s*u}`}const i=e.x<n.x?1:-1;return`L ${a},${o+s*(e.y<n.y?-1:1)}Q ${a},${o} ${a+s*i},${o}`}function Ec({sourceX:e,sourceY:t,sourcePosition:n=ve.Bottom,targetX:r,targetY:s,targetPosition:a=ve.Top,borderRadius:o=5,centerX:i,centerY:c,offset:u=20,stepPosition:d=.5}){const[f,h,m,v,S]=wP({source:{x:e,y:t},sourcePosition:n,target:{x:r,y:s},targetPosition:a,center:{x:i,y:c},offset:u,stepPosition:d});let b=`M${f[0].x} ${f[0].y}`;for(let N=1;N<f.length-1;N++)b+=SP(f[N-1],f[N],f[N+1],o);return b+=`L${f[f.length-1].x} ${f[f.length-1].y}`,[b,h,m,v,S]}function wh(e){return e&&!!(e.internals.handleBounds||e.handles?.length)&&!!(e.measured.width||e.width||e.initialWidth)}function CP(e){const{sourceNode:t,targetNode:n}=e;if(!wh(t)||!wh(n))return null;const r=t.internals.handleBounds||Sh(t.handles),s=n.internals.handleBounds||Sh(n.handles),a=Ch(r?.source??[],e.sourceHandle),o=Ch(e.connectionMode===Is.Strict?s?.target??[]:(s?.target??[]).concat(s?.source??[]),e.targetHandle);if(!a||!o)return e.onError?.("008",en.error008(a?"target":"source",{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;const i=a?.position||ve.Bottom,c=o?.position||ve.Top,u=Jr(t,a,i),d=Jr(n,o,c);return{sourceX:u.x,sourceY:u.y,targetX:d.x,targetY:d.y,sourcePosition:i,targetPosition:c}}function Sh(e){if(!e)return null;const t=[],n=[];for(const r of e)r.width=r.width??1,r.height=r.height??1,r.type==="source"?t.push(r):r.type==="target"&&n.push(r);return{source:t,target:n}}function Jr(e,t,n=ve.Left,r=!1){const s=(t?.x??0)+e.internals.positionAbsolute.x,a=(t?.y??0)+e.internals.positionAbsolute.y,{width:o,height:i}=t??yn(e);if(r)return{x:s+o/2,y:a+i/2};switch(t?.position??n){case ve.Top:return{x:s+o/2,y:a};case ve.Right:return{x:s+o,y:a+i/2};case ve.Bottom:return{x:s+o/2,y:a+i};case ve.Left:return{x:s,y:a+i/2}}}function Ch(e,t){return e&&(t?e.find(n=>n.id===t):e[0])||null}function Ic(e,t){return e?typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(n=>`${n}=${e[n]}`).join("&")}`:""}function NP(e,{id:t,defaultColor:n,defaultMarkerStart:r,defaultMarkerEnd:s}){const a=new Set;return e.reduce((o,i)=>([i.markerStart||r,i.markerEnd||s].forEach(c=>{if(c&&typeof c=="object"){const u=Ic(c,t);a.has(u)||(o.push({id:u,color:c.color||n,...c}),a.add(u))}}),o),[]).sort((o,i)=>o.id.localeCompare(i.id))}var ox=1e3,EP=10,md={nodeOrigin:[0,0],nodeExtent:Na,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},IP={...md,checkEquality:!0};function pd(e,t){const n={...e};for(const r in t)t[r]!==void 0&&(n[r]=t[r]);return n}function jP(e,t,n){const r=pd(md,n);for(const s of e.values())if(s.parentId)vd(s,e,t,r);else{const a=Va(s,r.nodeOrigin),o=Gr(s.extent)?s.extent:r.nodeExtent,i=Yr(a,o,yn(s));s.internals.positionAbsolute=i}}function TP(e,t){if(!e.handles)return e.measured?t?.internals.handleBounds:void 0;const n=[],r=[];for(const s of e.handles){const a={id:s.id,width:s.width??1,height:s.height??1,nodeId:e.id,x:s.x,y:s.y,position:s.position,type:s.type};s.type==="source"?n.push(a):s.type==="target"&&r.push(a)}return{source:n,target:r}}function gd(e){return e==="manual"}function jc(e,t,n,r={}){const s=pd(IP,r),a={i:0},o=new Map(t),i=s?.elevateNodesOnSelect&&!gd(s.zIndexMode)?ox:0;let c=e.length>0,u=!1;t.clear(),n.clear();for(const d of e){let f=o.get(d.id);if(s.checkEquality&&d===f?.internals.userNode)t.set(d.id,f);else{const h=Va(d,s.nodeOrigin),m=Gr(d.extent)?d.extent:s.nodeExtent,v=Yr(h,m,yn(d));f={...s.defaults,...d,measured:{width:d.measured?.width,height:d.measured?.height},internals:{positionAbsolute:v,handleBounds:TP(d,f),z:ix(d,i,s.zIndexMode),userNode:d}},t.set(d.id,f)}(f.measured===void 0||f.measured.width===void 0||f.measured.height===void 0)&&!f.hidden&&(c=!1),d.parentId&&vd(f,t,n,r,a),u||=d.selected??!1}return{nodesInitialized:c,hasSelectedNodes:u}}function RP(e,t){if(!e.parentId)return;const n=t.get(e.parentId);n?n.set(e.id,e):t.set(e.parentId,new Map([[e.id,e]]))}function vd(e,t,n,r,s){const{elevateNodesOnSelect:a,nodeOrigin:o,nodeExtent:i,zIndexMode:c}=pd(md,r),u=e.parentId,d=t.get(u);if(!d){console.warn(`Parent node ${u} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}RP(e,n),s&&!d.parentId&&d.internals.rootParentIndex===void 0&&c==="auto"&&(d.internals.rootParentIndex=++s.i,d.internals.z=d.internals.z+s.i*EP),s&&d.internals.rootParentIndex!==void 0&&(s.i=d.internals.rootParentIndex);const{x:f,y:h,z:m}=kP(e,d,o,i,a&&!gd(c)?ox:0,c),{positionAbsolute:v}=e.internals,S=f!==v.x||h!==v.y;(S||m!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:S?{x:f,y:h}:v,z:m}})}function ix(e,t,n){const r=hn(e.zIndex)?e.zIndex:0;return gd(n)?r:r+(e.selected?t:0)}function kP(e,t,n,r,s,a){const{x:o,y:i}=t.internals.positionAbsolute,c=yn(e),u=Va(e,n),d=Gr(e.extent)?Yr(u,e.extent,c):u;let f=Yr({x:o+d.x,y:i+d.y},r,c);e.extent==="parent"&&(f=Ky(f,c,t));const h=ix(e,s,a),m=t.internals.z??0;return{x:f.x,y:f.y,z:m>=h?m+1:h}}function yd(e,t,n,r=[0,0]){const s=[],a=new Map;for(const o of e){const i=t.get(o.parentId);if(!i)continue;const c=a.get(o.parentId)?.expandedRect??Ia(i),u=Yy(c,o.rect);a.set(o.parentId,{expandedRect:u,parent:i})}return a.size>0&&a.forEach(({expandedRect:o,parent:i},c)=>{const u=i.internals.positionAbsolute,d=yn(i),f=i.origin??r,h=o.x<u.x?Math.round(Math.abs(u.x-o.x)):0,m=o.y<u.y?Math.round(Math.abs(u.y-o.y)):0,v=Math.max(d.width,Math.round(o.width)),S=Math.max(d.height,Math.round(o.height)),b=(v-d.width)*f[0],N=(S-d.height)*f[1];(h>0||m>0||b||N)&&(s.push({id:c,type:"position",position:{x:i.position.x-h+b,y:i.position.y-m+N}}),n.get(c)?.forEach(w=>{e.some(y=>y.id===w.id)||s.push({id:w.id,type:"position",position:{x:w.position.x+h,y:w.position.y+m}})})),(d.width<o.width||d.height<o.height||h||m)&&s.push({id:c,type:"dimensions",setAttributes:!0,dimensions:{width:v+(h?f[0]*h-b:0),height:S+(m?f[1]*m-N:0)}})}),s}function _P(e,t,n,r,s,a,o){const i=r?.querySelector(".xyflow__viewport");let c=!1;if(!i)return{changes:[],updatedInternals:c};const u=[],d=window.getComputedStyle(i),{m22:f}=new window.DOMMatrixReadOnly(d.transform),h=[];for(const m of e.values()){const v=t.get(m.id);if(!v)continue;if(v.hidden){t.set(v.id,{...v,internals:{...v.internals,handleBounds:void 0}}),c=!0;continue}const S=hd(m.nodeElement),b=v.measured.width!==S.width||v.measured.height!==S.height;if(S.width&&S.height&&(b||!v.internals.handleBounds||m.force)){const N=m.nodeElement.getBoundingClientRect(),w=Gr(v.extent)?v.extent:a;let{positionAbsolute:y}=v.internals;if(v.parentId&&v.extent==="parent"){const x=t.get(v.parentId);x&&(y=Ky(y,S,x))}else w&&(y=Yr(y,w,S));const g={...v,measured:S,internals:{...v.internals,positionAbsolute:y,handleBounds:{source:vh("source",m.nodeElement,N,f,v.id),target:vh("target",m.nodeElement,N,f,v.id)}}};t.set(v.id,g),v.parentId&&vd(g,t,n,{nodeOrigin:s,zIndexMode:o}),c=!0,b&&(u.push({id:v.id,type:"dimensions",dimensions:S}),v.expandParent&&v.parentId&&h.push({id:v.id,parentId:v.parentId,rect:Ia(g,s)}))}}if(h.length>0){const m=yd(h,t,n,s);u.push(...m)}return{changes:u,updatedInternals:c}}async function AP({delta:e,panZoom:t,transform:n,translateExtent:r,width:s,height:a}){if(!t||!e.x&&!e.y)return!1;const o=await t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[s,a]],r);return!!o&&(o.x!==n[0]||o.y!==n[1]||o.k!==n[2])}function Nh(e,t,n,r,s,a){let o=s;const i=r.get(o)||new Map;r.set(o,i.set(n,t)),o=`${s}-${e}`;const c=r.get(o)||new Map;if(r.set(o,c.set(n,t)),a){o=`${s}-${e}-${a}`;const u=r.get(o)||new Map;r.set(o,u.set(n,t))}}function lx(e,t,n){e.clear(),t.clear();for(const r of n){const{source:s,target:a,sourceHandle:o=null,targetHandle:i=null}=r,c={edgeId:r.id,source:s,target:a,sourceHandle:o,targetHandle:i},u=`${s}-${o}--${a}-${i}`;Nh("source",c,`${a}-${i}--${s}-${o}`,e,s,o),Nh("target",c,u,e,a,i),t.set(r.id,r)}}function cx(e,t){if(!e.parentId)return!1;const n=t.get(e.parentId);return n?n.selected?!0:cx(n,t):!1}function Eh(e,t,n){let r=e;do{if(r?.matches?.(t))return!0;if(r===n)return!1;r=r?.parentElement}while(r);return!1}function MP(e,t,n,r){const s=new Map;for(const[a,o]of e)if((o.selected||o.id===r)&&(!o.parentId||!cx(o,e))&&(o.draggable||t&&typeof o.draggable>"u")){const i=e.get(a);i&&s.set(a,{id:a,position:i.position||{x:0,y:0},distance:{x:n.x-i.internals.positionAbsolute.x,y:n.y-i.internals.positionAbsolute.y},extent:i.extent,parentId:i.parentId,origin:i.origin,expandParent:i.expandParent,internals:{positionAbsolute:i.internals.positionAbsolute||{x:0,y:0}},measured:{width:i.measured.width??0,height:i.measured.height??0}})}return s}function Ml({nodeId:e,dragItems:t,nodeLookup:n,dragging:r=!0}){const s=[];for(const[o,i]of t){const c=n.get(o)?.internals.userNode;c&&s.push({...c,position:i.position,dragging:r})}if(!e)return[s[0],s];const a=n.get(e)?.internals.userNode;return[a?{...a,position:t.get(e)?.position||a.position,dragging:r}:s[0],s]}function OP({dragItems:e,snapGrid:t,x:n,y:r}){const s=e.values().next().value;if(!s)return null;const a={x:n-s.distance.x,y:r-s.distance.y},o=Ua(a,t);return{x:o.x-a.x,y:o.y-a.y}}function DP({onNodeMouseDown:e,getStoreItems:t,onDragStart:n,onDrag:r,onDragStop:s}){let a={x:null,y:null},o=0,i=new Map,c=!1,u={x:0,y:0},d=null,f=!1,h=null,m=!1,v=!1,S=null;function b({noDragClassName:w,handleSelector:y,domNode:g,isSelectable:x,nodeId:C,nodeClickDistance:j=0}){h=zt(g);function E({x:_,y:A}){const{nodeLookup:I,nodeExtent:T,snapGrid:M,snapToGrid:P,nodeOrigin:V,onNodeDrag:L,onSelectionDrag:B,onError:q,updateNodePositions:F}=t();a={x:_,y:A};let K=!1;const H=i.size>1,Y=H&&T?Nc(Ba(i)):null,ne=H&&P?OP({dragItems:i,snapGrid:M,x:_,y:A}):null;for(const[ee,$]of i){if(!I.has(ee))continue;let Q={x:_-$.distance.x,y:A-$.distance.y};P&&(Q=ne?{x:Math.round(Q.x+ne.x),y:Math.round(Q.y+ne.y)}:Ua(Q,M));let he=null;if(H&&T&&!$.extent&&Y){const{positionAbsolute:be}=$.internals,J=be.x-Y.x+T[0][0],le=be.x+$.measured.width-Y.x2+T[1][0],ue=be.y-Y.y+T[0][1],We=be.y+$.measured.height-Y.y2+T[1][1];he=[[J,ue],[le,We]]}const{position:pe,positionAbsolute:ae}=Wy({nodeId:ee,nextPosition:Q,nodeLookup:I,nodeExtent:he||T,nodeOrigin:V,onError:q});K=K||$.position.x!==pe.x||$.position.y!==pe.y,$.position=pe,$.internals.positionAbsolute=ae}if(v=v||K,!!K&&(F(i,!0),S&&(r||L||!C&&B))){const[ee,$]=Ml({nodeId:C,dragItems:i,nodeLookup:I});r?.(S,i,ee,$),L?.(S,ee,$),C||B?.(S,$)}}async function R(){if(!d)return;const{transform:_,panBy:A,autoPanSpeed:I,autoPanOnNodeDrag:T}=t();if(!T){c=!1,cancelAnimationFrame(o);return}const[M,P]=ud(u,d,I);(M!==0||P!==0)&&(a.x=(a.x??0)-M/_[2],a.y=(a.y??0)-P/_[2],await A({x:M,y:P})&&E(a)),o=requestAnimationFrame(R)}function O(_){const{nodeLookup:A,multiSelectionActive:I,nodesDraggable:T,transform:M,snapGrid:P,snapToGrid:V,selectNodesOnDrag:L,onNodeDragStart:B,onSelectionDragStart:q,unselectNodesAndEdges:F}=t();f=!0,(!L||!x)&&!I&&C&&(A.get(C)?.selected||F()),x&&L&&C&&e?.(C);const K=ma(_.sourceEvent,{transform:M,snapGrid:P,snapToGrid:V,containerBounds:d});if(a=K,i=MP(A,T,K,C),i.size>0&&(n||B||!C&&q)){const[H,Y]=Ml({nodeId:C,dragItems:i,nodeLookup:A});n?.(_.sourceEvent,i,H,Y),B?.(_.sourceEvent,H,Y),C||q?.(_.sourceEvent,Y)}}const k=Ey().clickDistance(j).on("start",_=>{const{domNode:A,nodeDragThreshold:I,transform:T,snapGrid:M,snapToGrid:P}=t();d=A?.getBoundingClientRect()||null,m=!1,v=!1,S=_.sourceEvent,I===0&&O(_),a=ma(_.sourceEvent,{transform:T,snapGrid:M,snapToGrid:P,containerBounds:d}),u=mn(_.sourceEvent,d)}).on("drag",_=>{const{autoPanOnNodeDrag:A,transform:I,snapGrid:T,snapToGrid:M,nodeDragThreshold:P,nodeLookup:V}=t(),L=ma(_.sourceEvent,{transform:I,snapGrid:T,snapToGrid:M,containerBounds:d});if(S=_.sourceEvent,(_.sourceEvent.type==="touchmove"&&_.sourceEvent.touches.length>1||C&&!V.has(C))&&(m=!0),!m){if(!c&&A&&f&&(c=!0,R()),!f){const B=mn(_.sourceEvent,d),q=B.x-u.x,F=B.y-u.y;Math.sqrt(q*q+F*F)>P&&O(_)}(a.x!==L.xSnapped||a.y!==L.ySnapped)&&i&&f&&(u=mn(_.sourceEvent,d),E(L))}}).on("end",_=>{if(!f||m){m&&i.size>0&&t().updateNodePositions(i,!1);return}if(c=!1,f=!1,cancelAnimationFrame(o),i.size>0){const{nodeLookup:A,updateNodePositions:I,onNodeDragStop:T,onSelectionDragStop:M}=t();if(v&&(I(i,!1),v=!1),s||T||!C&&M){const[P,V]=Ml({nodeId:C,dragItems:i,nodeLookup:A,dragging:!1});s?.(_.sourceEvent,i,P,V),T?.(_.sourceEvent,P,V),C||M?.(_.sourceEvent,V)}}}).filter(_=>{const A=_.target;return!_.button&&(!w||!Eh(A,`.${w}`,g))&&(!y||Eh(A,y,g))});h.call(k)}function N(){h?.on(".drag",null)}return{update:b,destroy:N}}function PP(e,t,n){const r=[],s={x:e.x-n,y:e.y-n,width:n*2,height:n*2};for(const a of t.values())Bo(s,Ia(a))>0&&r.push(a);return r}var LP=250;function FP(e,t,n,r){let s=[],a=1/0;const o=PP(e,n,t+LP);for(const i of o){const c=[...i.internals.handleBounds?.source??[],...i.internals.handleBounds?.target??[]];for(const u of c){if(r.nodeId===u.nodeId&&r.type===u.type&&r.id===u.id)continue;const{x:d,y:f}=Jr(i,u,u.position,!0),h=Math.sqrt(Math.pow(d-e.x,2)+Math.pow(f-e.y,2));h>t||(h<a?(s=[{...u,x:d,y:f}],a=h):h===a&&s.push({...u,x:d,y:f}))}}if(!s.length)return null;if(s.length>1){const i=r.type==="source"?"target":"source";return s.find(c=>c.type===i)??s[0]}return s[0]}function ux(e,t,n,r,s,a=!1){const o=r.get(e);if(!o)return null;const i=s==="strict"?o.internals.handleBounds?.[t]:[...o.internals.handleBounds?.source??[],...o.internals.handleBounds?.target??[]],c=(n?i?.find(u=>u.id===n):i?.[0])??null;return c&&a?{...c,...Jr(o,c,c.position,!0)}:c}function dx(e,t){return e||(t?.classList.contains("target")?"target":t?.classList.contains("source")?"source":null)}function $P(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}var fx=()=>!0;function zP(e,{connectionMode:t,connectionRadius:n,handleId:r,nodeId:s,edgeUpdaterType:a,isTarget:o,domNode:i,nodeLookup:c,lib:u,autoPanOnConnect:d,flowId:f,panBy:h,cancelConnection:m,onConnectStart:v,onConnect:S,onConnectEnd:b,isValidConnection:N=fx,onReconnectEnd:w,updateConnection:y,getTransform:g,getFromHandle:x,autoPanSpeed:C,dragThreshold:j=1,handleDomNode:E}){const R=Zy(e.target);let O=0,k;const{x:_,y:A}=mn(e),I=dx(a,E),T=i?.getBoundingClientRect();let M=!1;if(!T||!I)return;const P=ux(s,I,r,c,t);if(!P)return;let V=mn(e,T),L=!1,B=null,q=!1,F=null;function K(){if(!d||!T)return;const[he,pe]=ud(V,T,C);h({x:he,y:pe}),O=requestAnimationFrame(K)}const H={...P,nodeId:s,type:I,position:P.position},Y=c.get(s);let ne={inProgress:!0,isValid:null,from:Jr(Y,H,ve.Left,!0),fromHandle:H,fromPosition:H.position,fromNode:Y,to:V,toHandle:null,toPosition:hh[H.position],toNode:null,pointer:V};function ee(){M=!0,y(ne),v?.(e,{nodeId:s,handleId:r,handleType:I})}j===0&&ee();function $(he){if(!M){const{x:ue,y:We}=mn(he),Ye=ue-_,Ve=We-A;if(!(Ye*Ye+Ve*Ve>j*j))return;ee()}if(!x()||!H){Q(he);return}const pe=g();V=mn(he,T),k=FP(Ha(V,pe,!1,[1,1]),n,c,H),L||(K(),L=!0);const ae=hx(he,{handle:k,connectionMode:t,fromNodeId:s,fromHandleId:r,fromType:o?"target":"source",isValidConnection:N,doc:R,lib:u,flowId:f,nodeLookup:c});F=ae.handleDomNode,B=ae.connection,q=$P(!!k,ae.isValid);const be=c.get(s),J=be?Jr(be,H,ve.Left,!0):ne.from,le={...ne,from:J,isValid:q,to:ae.toHandle&&q?Ts({x:ae.toHandle.x,y:ae.toHandle.y},pe):V,toHandle:ae.toHandle,toPosition:q&&ae.toHandle?ae.toHandle.position:hh[H.position],toNode:ae.toHandle?c.get(ae.toHandle.nodeId):null,pointer:V};y(le),ne=le}function Q(he){if(!("touches"in he&&he.touches.length>0)){if(M){(k||F)&&B&&q&&S?.(B);const{inProgress:pe,...ae}=ne,be={...ae,toPosition:ne.toHandle?ne.toPosition:null};b?.(he,be),a&&w?.(he,be)}m(),cancelAnimationFrame(O),L=!1,q=!1,B=null,F=null,R.removeEventListener("mousemove",$),R.removeEventListener("mouseup",Q),R.removeEventListener("touchmove",$),R.removeEventListener("touchend",Q)}}R.addEventListener("mousemove",$),R.addEventListener("mouseup",Q),R.addEventListener("touchmove",$),R.addEventListener("touchend",Q)}function hx(e,{handle:t,connectionMode:n,fromNodeId:r,fromHandleId:s,fromType:a,doc:o,lib:i,flowId:c,isValidConnection:u=fx,nodeLookup:d}){const f=a==="target",h=t?o.querySelector(`.${i}-flow__handle[data-id="${c}-${t?.nodeId}-${t?.id}-${t?.type}"]`):null,{x:m,y:v}=mn(e),S=o.elementFromPoint(m,v),b=S?.classList.contains(`${i}-flow__handle`)?S:h,N={handleDomNode:b,isValid:!1,connection:null,toHandle:null};if(b){const w=dx(void 0,b),y=b.getAttribute("data-nodeid"),g=b.getAttribute("data-handleid"),x=b.classList.contains("connectable"),C=b.classList.contains("connectableend");if(!y||!w)return N;const j={source:f?y:r,sourceHandle:f?g:s,target:f?r:y,targetHandle:f?s:g};N.connection=j,N.isValid=x&&C&&(n===Is.Strict?f&&w==="source"||!f&&w==="target":y!==r||g!==s)&&u(j),N.toHandle=ux(y,w,g,d,n,!0)}return N}var Tc={onPointerDown:zP,isValid:hx};function VP({domNode:e,panZoom:t,getTransform:n,getViewScale:r}){const s=zt(e);function a({translateExtent:i,width:c,height:u,zoomStep:d=1,pannable:f=!0,zoomable:h=!0,inversePan:m=!1}){const v=y=>{if(y.sourceEvent.type!=="wheel"||!t)return;const g=n(),x=y.sourceEvent.ctrlKey&&ja()?10:1,C=-y.sourceEvent.deltaY*(y.sourceEvent.deltaMode===1?.05:y.sourceEvent.deltaMode?1:.002)*d,j=g[2]*Math.pow(2,C*x);t.scaleTo(j)};let S=[0,0];const b=y=>{(y.sourceEvent.type==="mousedown"||y.sourceEvent.type==="touchstart")&&(S=[y.sourceEvent.clientX??y.sourceEvent.touches[0].clientX,y.sourceEvent.clientY??y.sourceEvent.touches[0].clientY])},N=y=>{const g=n();if(y.sourceEvent.type!=="mousemove"&&y.sourceEvent.type!=="touchmove"||!t)return;const x=[y.sourceEvent.clientX??y.sourceEvent.touches[0].clientX,y.sourceEvent.clientY??y.sourceEvent.touches[0].clientY],C=[x[0]-S[0],x[1]-S[1]];S=x;const j=r()*Math.max(g[2],Math.log(g[2]))*(m?-1:1),E={x:g[0]-C[0]*j,y:g[1]-C[1]*j},R=[[0,0],[c,u]];t.setViewportConstrained({x:E.x,y:E.y,zoom:g[2]},R,i)},w=Vy().on("start",b).on("zoom",f?N:null).on("zoom.wheel",h?v:null);s.call(w,{})}function o(){s.on("zoom",null)}return{update:a,destroy:o,pointer:cn}}var _i=e=>({x:e.x,y:e.y,zoom:e.k}),Ol=({x:e,y:t,zoom:n})=>Ti.translate(e,t).scale(n),sr=(e,t)=>e.target.closest(`.${t}`),mx=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),BP=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,Dl=(e,t=0,n=BP,r=()=>{})=>{const s=typeof t=="number"&&t>0;return s||r(),s?e.transition().duration(t).ease(n).on("end",r):e},px=e=>{const t=e.ctrlKey&&ja()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function UP({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:r,panOnScrollMode:s,panOnScrollSpeed:a,zoomOnPinch:o,onPanZoomStart:i,onPanZoom:c,onPanZoomEnd:u}){return d=>{if(sr(d,t))return d.ctrlKey&&d.preventDefault(),!1;d.preventDefault(),d.stopImmediatePropagation();const f=n.property("__zoom").k||1;if(d.ctrlKey&&o){const b=cn(d),N=px(d),w=f*Math.pow(2,N);r.scaleTo(n,w,b,d);return}const h=d.deltaMode===1?20:1;let m=s===Lr.Vertical?0:d.deltaX*h,v=s===Lr.Horizontal?0:d.deltaY*h;!ja()&&d.shiftKey&&s!==Lr.Vertical&&(m=d.deltaY*h,v=0),r.translateBy(n,-(m/f)*a,-(v/f)*a,{internal:!0});const S=_i(n.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?c?.(d,S):(e.isPanScrolling=!0,i?.(d,S)),e.panScrollTimeout=setTimeout(()=>{u?.(d,S),e.isPanScrolling=!1},150)}}function HP({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(r,s){const a=r.type==="wheel",o=!t&&a&&!r.ctrlKey,i=sr(r,e);if(r.ctrlKey&&a&&i&&r.preventDefault(),o||i)return null;r.preventDefault(),n.call(this,r,s)}}function qP({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return r=>{if(r.sourceEvent?.internal)return;const s=_i(r.transform);e.mouseButton=r.sourceEvent?.button||0,e.isZoomingOrPanning=!0,e.prevViewport=s,r.sourceEvent?.type==="mousedown"&&t(!0),n&&n?.(r.sourceEvent,s)}}function WP({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:r,onPanZoom:s}){return a=>{e.usedRightMouseButton=!!(n&&mx(t,e.mouseButton??0)),a.sourceEvent?.sync||r([a.transform.x,a.transform.y,a.transform.k]),s&&!a.sourceEvent?.internal&&s?.(a.sourceEvent,_i(a.transform))}}function KP({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:r,onPanZoomEnd:s,onPaneContextMenu:a}){return o=>{if(!o.sourceEvent?.internal&&(e.isZoomingOrPanning=!1,a&&mx(t,e.mouseButton??0)&&!e.usedRightMouseButton&&o.sourceEvent&&a(o.sourceEvent),e.usedRightMouseButton=!1,r(!1),s)){const i=_i(o.transform);e.prevViewport=i,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{s?.(o.sourceEvent,i)},n?150:0)}}}function YP({panActivationKeyPressed:e,zoomActivationKeyPressed:t,zoomOnScroll:n,zoomOnPinch:r,panOnDrag:s,panOnScroll:a,zoomOnDoubleClick:o,userSelectionActive:i,noWheelClassName:c,noPanClassName:u,lib:d,connectionInProgress:f}){return h=>{const m=t||n,v=r&&h.ctrlKey,S=h.type==="wheel";if(h.button===1&&h.type==="mousedown"&&(sr(h,`${d}-flow__node`)||sr(h,`${d}-flow__edge`)||sr(h,`${d}-flow__selection`)||sr(h,`${d}-flow__nodesselection`)))return!0;if(!s&&!m&&!a&&!o&&!r||i||f&&!S||sr(h,c)&&S||sr(h,u)&&(!S||a&&S&&!t)||!r&&h.ctrlKey&&S)return!1;if(!r&&h.type==="touchstart"&&h.touches?.length>1)return h.preventDefault(),!1;if(!m&&!a&&!v&&S||!s&&(h.type==="mousedown"||h.type==="touchstart")||Array.isArray(s)&&!s.includes(h.button)&&h.type==="mousedown")return!1;const b=Array.isArray(s)&&s.includes(h.button)||!h.button||h.button<=1;return(!h.ctrlKey||S||e)&&b}}function GP({domNode:e,minZoom:t,maxZoom:n,translateExtent:r,viewport:s,onPanZoom:a,onPanZoomStart:o,onPanZoomEnd:i,onDraggingChange:c}){const u={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},d=e.getBoundingClientRect();let f=[[0,0],[d.width,d.height]];(typeof ResizeObserver<"u"?new ResizeObserver(_=>{const A=_[0];A&&(f=[[0,0],[A.contentRect.width,A.contentRect.height]])}):null)?.observe(e);const h=Vy().extent(()=>f).scaleExtent([t,n]).translateExtent(r),m=zt(e).call(h);y({x:s.x,y:s.y,zoom:js(s.zoom,t,n)},[[0,0],[d.width,d.height]],r);const v=m.on("wheel.zoom"),S=m.on("dblclick.zoom");h.wheelDelta(px);async function b(_,A){return m?new Promise(I=>{h?.interpolate(A?.interpolate==="linear"?ha:yo).transform(Dl(m,A?.duration,A?.ease,()=>I(!0)),_)}):!1}function N({noWheelClassName:_,noPanClassName:A,onPaneContextMenu:I,userSelectionActive:T,panOnScroll:M,panOnDrag:P,panOnScrollMode:V,panOnScrollSpeed:L,preventScrolling:B,zoomOnPinch:q,zoomOnScroll:F,zoomOnDoubleClick:K,panActivationKeyPressed:H=!1,zoomActivationKeyPressed:Y,lib:ne,onTransformChange:ee,connectionInProgress:$,paneClickDistance:Q,selectionOnDrag:he}){T&&!u.isZoomingOrPanning&&w();const pe=M&&!Y&&!T;h.clickDistance(he?1/0:!hn(Q)||Q<0?0:Q);const ae=pe?UP({zoomPanValues:u,noWheelClassName:_,d3Selection:m,d3Zoom:h,panOnScrollMode:V,panOnScrollSpeed:L,zoomOnPinch:q,onPanZoomStart:o,onPanZoom:a,onPanZoomEnd:i}):HP({noWheelClassName:_,preventScrolling:B,d3ZoomHandler:v});m.on("wheel.zoom",ae,{passive:!1});const be=qP({zoomPanValues:u,onDraggingChange:c,onPanZoomStart:o});h.on("start",be);const J=WP({zoomPanValues:u,panOnDrag:P,onPaneContextMenu:!!I,onPanZoom:a,onTransformChange:ee});h.on("zoom",J);const le=KP({zoomPanValues:u,panOnDrag:P,panOnScroll:M,onPaneContextMenu:I,onPanZoomEnd:i,onDraggingChange:c});h.on("end",le);const ue=YP({panActivationKeyPressed:H,zoomActivationKeyPressed:Y,panOnDrag:P,zoomOnScroll:F,panOnScroll:M,zoomOnDoubleClick:K,zoomOnPinch:q,userSelectionActive:T,noPanClassName:A,noWheelClassName:_,lib:ne,connectionInProgress:$});h.filter(ue),K?m.on("dblclick.zoom",S):m.on("dblclick.zoom",null)}function w(){h.on("zoom",null)}async function y(_,A,I){const T=Ol(_),M=h?.constrain()(T,A,I);return M&&await b(M),M}async function g(_,A){const I=Ol(_);return await b(I,A),I}function x(_){if(m){const A=Ol(_),I=m.property("__zoom");(I.k!==_.zoom||I.x!==_.x||I.y!==_.y)&&h?.transform(m,A,null,{sync:!0})}}function C(){const _=m?zy(m.node()):{x:0,y:0,k:1};return{x:_.x,y:_.y,zoom:_.k}}async function j(_,A){return m?new Promise(I=>{h?.interpolate(A?.interpolate==="linear"?ha:yo).scaleTo(Dl(m,A?.duration,A?.ease,()=>I(!0)),_)}):!1}async function E(_,A){return m?new Promise(I=>{h?.interpolate(A?.interpolate==="linear"?ha:yo).scaleBy(Dl(m,A?.duration,A?.ease,()=>I(!0)),_)}):!1}function R(_){h?.scaleExtent(_)}function O(_){h?.translateExtent(_)}function k(_){const A=!hn(_)||_<0?0:_;h?.clickDistance(A)}return{update:N,destroy:w,setViewport:g,setViewportConstrained:y,getViewport:C,scaleTo:j,scaleBy:E,setScaleExtent:R,setTranslateExtent:O,syncViewport:x,setClickDistance:k}}var Rs;(function(e){e.Line="line",e.Handle="handle"})(Rs||(Rs={}));function JP({width:e,prevWidth:t,height:n,prevHeight:r,affectsX:s,affectsY:a}){const o=e-t,i=n-r,c=[o>0?1:o<0?-1:0,i>0?1:i<0?-1:0];return o&&s&&(c[0]=c[0]*-1),i&&a&&(c[1]=c[1]*-1),c}function Ih(e){return{isHorizontal:e.includes("right")||e.includes("left"),isVertical:e.includes("bottom")||e.includes("top"),affectsX:e.includes("left"),affectsY:e.includes("top")}}function tr(e,t){return Math.max(0,t-e)}function nr(e,t){return Math.max(0,e-t)}function ao(e,t,n){return Math.max(0,t-e,e-n)}function jh(e,t){return e?!t:t}function QP(e,t,n,r,s,a,o,i){let{affectsX:c,affectsY:u}=t;const{isHorizontal:d,isVertical:f}=t,h=d&&f,{xSnapped:m,ySnapped:v}=n,{minWidth:S,maxWidth:b,minHeight:N,maxHeight:w}=r,{x:y,y:g,width:x,height:C,aspectRatio:j}=e;let E=Math.floor(d?m-e.pointerX:0),R=Math.floor(f?v-e.pointerY:0);const O=x+(c?-E:E),k=C+(u?-R:R),_=-a[0]*x,A=-a[1]*C;let I=ao(O,S,b),T=ao(k,N,w);if(o){let V=0,L=0;c&&E<0?V=tr(y+E+_,o[0][0]):!c&&E>0&&(V=nr(y+O+_,o[1][0])),u&&R<0?L=tr(g+R+A,o[0][1]):!u&&R>0&&(L=nr(g+k+A,o[1][1])),I=Math.max(I,V),T=Math.max(T,L)}if(i){let V=0,L=0;c&&E>0?V=nr(y+E,i[0][0]):!c&&E<0&&(V=tr(y+O,i[1][0])),u&&R>0?L=nr(g+R,i[0][1]):!u&&R<0&&(L=tr(g+k,i[1][1])),I=Math.max(I,V),T=Math.max(T,L)}if(s){if(d){const V=ao(O/j,N,w)*j;if(I=Math.max(I,V),o){let L=0;!c&&!u||c&&!u&&h?L=nr(g+A+O/j,o[1][1])*j:L=tr(g+A+(c?E:-E)/j,o[0][1])*j,I=Math.max(I,L)}if(i){let L=0;!c&&!u||c&&!u&&h?L=tr(g+O/j,i[1][1])*j:L=nr(g+(c?E:-E)/j,i[0][1])*j,I=Math.max(I,L)}}if(f){const V=ao(k*j,S,b)/j;if(T=Math.max(T,V),o){let L=0;!c&&!u||u&&!c&&h?L=nr(y+k*j+_,o[1][0])/j:L=tr(y+(u?R:-R)*j+_,o[0][0])/j,T=Math.max(T,L)}if(i){let L=0;!c&&!u||u&&!c&&h?L=tr(y+k*j,i[1][0])/j:L=nr(y+(u?R:-R)*j,i[0][0])/j,T=Math.max(T,L)}}}R=R+(R<0?T:-T),E=E+(E<0?I:-I),s&&(h?O>k*j?R=(jh(c,u)?-E:E)/j:E=(jh(c,u)?-R:R)*j:d?(R=E/j,u=c):(E=R*j,c=u));const M=c?y+E:y,P=u?g+R:g;return{width:x+(c?-E:E),height:C+(u?-R:R),x:a[0]*E*(c?-1:1)+M,y:a[1]*R*(u?-1:1)+P}}var gx={width:0,height:0,x:0,y:0},XP={...gx,pointerX:0,pointerY:0,aspectRatio:1};function ZP(e,t,n){const r=t.position.x+e.position.x,s=t.position.y+e.position.y,a=e.measured.width??0,o=e.measured.height??0,i=n[0]*a,c=n[1]*o;return[[r-i,s-c],[r+a-i,s+o-c]]}function eL({domNode:e,nodeId:t,getStoreItems:n,onChange:r,onEnd:s}){const a=zt(e);let o={controlDirection:Ih("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function i({controlPosition:u,boundaries:d,keepAspectRatio:f,resizeDirection:h,onResizeStart:m,onResize:v,onResizeEnd:S,shouldResize:b}){let N={...gx},w={...XP};o={boundaries:d,resizeDirection:h,keepAspectRatio:f,controlDirection:Ih(u)};let y,g=null,x=[],C,j,E;const R=Ey().on("start",O=>{const{nodeLookup:k,transform:_,snapGrid:A,snapToGrid:I,nodeOrigin:T,paneDomNode:M}=n();if(y=k.get(t),!y)return;g=M?.getBoundingClientRect()??null;const{xSnapped:P,ySnapped:V}=ma(O.sourceEvent,{transform:_,snapGrid:A,snapToGrid:I,containerBounds:g});N={width:y.measured.width??0,height:y.measured.height??0,x:y.position.x??0,y:y.position.y??0},w={...N,pointerX:P,pointerY:V,aspectRatio:N.width/N.height},C=void 0,j=Gr(y.extent)?y.extent:void 0,y.parentId&&(y.extent==="parent"||y.expandParent)&&(C=k.get(y.parentId)),C&&y.extent==="parent"&&(j=[[0,0],[C.measured.width,C.measured.height]]),x=[],E=void 0;for(const[L,B]of k)if(B.parentId===t&&(x.push({id:L,position:{...B.position},extent:B.extent}),B.extent==="parent"||B.expandParent)){const q=ZP(B,y,B.origin??T);E?E=[[Math.min(q[0][0],E[0][0]),Math.min(q[0][1],E[0][1])],[Math.max(q[1][0],E[1][0]),Math.max(q[1][1],E[1][1])]]:E=q}m?.(O,{...N})}).on("drag",O=>{const{transform:k,snapGrid:_,snapToGrid:A,nodeOrigin:I}=n(),T=ma(O.sourceEvent,{transform:k,snapGrid:_,snapToGrid:A,containerBounds:g}),M=[];if(!y)return;const{x:P,y:V,width:L,height:B}=N,q={},F=y.origin??I,{width:K,height:H,x:Y,y:ne}=QP(w,o.controlDirection,T,o.boundaries,o.keepAspectRatio,F,j,E),ee=K!==L,$=H!==B,Q=Y!==P&&ee,he=ne!==V&&$;if(!Q&&!he&&!ee&&!$)return;const pe={prevValues:{...N},startX:w.x,startY:w.y,childNodes:x.map(J=>({...J,position:{...J.position}}))};if((Q||he||F[0]===1||F[1]===1)&&(q.x=Q?Y:N.x,q.y=he?ne:N.y,N.x=q.x,N.y=q.y,x.length>0)){const J=Y-P,le=ne-V;for(const ue of x)ue.position={x:ue.position.x-J+F[0]*(K-L),y:ue.position.y-le+F[1]*(H-B)},M.push(ue)}if((ee||$)&&(q.width=ee&&(!o.resizeDirection||o.resizeDirection==="horizontal")?K:N.width,q.height=$&&(!o.resizeDirection||o.resizeDirection==="vertical")?H:N.height,N.width=q.width,N.height=q.height),C&&y.expandParent){const J=F[0]*(q.width??0);q.x&&q.x<J&&(N.x=J,w.x=w.x-(q.x-J));const le=F[1]*(q.height??0);q.y&&q.y<le&&(N.y=le,w.y=w.y-(q.y-le))}const ae=JP({width:N.width,prevWidth:L,height:N.height,prevHeight:B,affectsX:o.controlDirection.affectsX,affectsY:o.controlDirection.affectsY}),be={...N,direction:ae};if(b?.(O,be)===!1){N=pe.prevValues,w.x=pe.startX,w.y=pe.startY,x.forEach((J,le)=>{J.position=pe.childNodes[le].position});return}v?.(O,be),r(q,M)}).on("end",O=>{S?.(O,{...N}),s?.({...N})});a.call(R)}function c(){a.on(".drag",null)}return{update:i,destroy:c}}var tL=Yo(vw(),1),Th=e=>{let t;const n=new Set,r=(d,f)=>{const h=typeof d=="function"?d(t):d;if(!Object.is(h,t)){const m=t;t=f??(typeof h!="object"||h===null)?h:Object.assign({},t,h),n.forEach(v=>v(t,m))}},s=()=>t,c={setState:r,getState:s,getInitialState:()=>u,subscribe:d=>(n.add(d),()=>n.delete(d)),destroy:()=>{n.clear()}},u=t=e(r,s,c);return c},nL=e=>e?Th(e):Th,{useDebugValue:rL}=p.default,{useSyncExternalStoreWithSelector:sL}=tL.default,aL=e=>e;function vx(e,t=aL,n){const r=sL(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return rL(r),r}var Rh=(e,t)=>{const n=nL(e),r=(s,a=t)=>vx(n,s,a);return Object.assign(r,n),r},oL=(e,t)=>e?Rh(e,t):Rh;function et(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[r,s]of e)if(!Object.is(s,t.get(r)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const r of e)if(!t.has(r))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||!Object.is(e[r],t[r]))return!1;return!0}var dB=Yo(cS()),Ai=(0,p.createContext)(null),iL=Ai.Provider,yx=en.error001("react");function ke(e,t){const n=(0,p.useContext)(Ai);if(n===null)throw new Error(yx);return vx(n,e,t)}function Ke(){const e=(0,p.useContext)(Ai);if(e===null)throw new Error(yx);return(0,p.useMemo)(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}var kh={display:"none"},lL={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},xx="react-flow__node-desc",bx="react-flow__edge-desc",cL="react-flow__aria-live",uL=e=>e.ariaLiveMessage,dL=e=>e.ariaLabelConfig;function fL({rfId:e}){const t=ke(uL);return(0,l.jsx)("div",{id:`${cL}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:lL,children:t})}function hL({rfId:e,disableKeyboardA11y:t}){const n=ke(dL);return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("div",{id:`${xx}-${e}`,style:kh,children:t?n["node.a11yDescription.default"]:n["node.a11yDescription.keyboardDisabled"]}),(0,l.jsx)("div",{id:`${bx}-${e}`,style:kh,children:n["edge.a11yDescription.default"]}),!t&&(0,l.jsx)(fL,{rfId:e})]})}var Mi=(0,p.forwardRef)(({position:e="top-left",children:t,className:n,style:r,...s},a)=>{const o=`${e}`.split("-");return(0,l.jsx)("div",{className:ct(["react-flow__panel",n,...o]),style:r,ref:a,...s,children:t})});Mi.displayName="Panel";var _h="https://reactflow.dev?utm_source=attribution";function mL({proOptions:e,position:t="bottom-right"}){return(0,p.useEffect)(()=>{},[]),e?.hideAttribution?null:(0,l.jsx)(Mi,{position:t,className:"react-flow__attribution","data-message":`Please only hide this attribution when you are subscribed to React Flow Pro: ${_h}`,children:(0,l.jsx)("a",{href:_h,target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}var pL=e=>{const t=[],n=[];for(const[,r]of e.nodeLookup)r.selected&&t.push(r.internals.userNode);for(const[,r]of e.edgeLookup)r.selected&&n.push(r);return{selectedNodes:t,selectedEdges:n}},oo=e=>e.id;function gL(e,t){return et(e.selectedNodes.map(oo),t.selectedNodes.map(oo))&&et(e.selectedEdges.map(oo),t.selectedEdges.map(oo))}function vL({onSelectionChange:e}){const t=Ke(),{selectedNodes:n,selectedEdges:r}=ke(pL,gL);return(0,p.useEffect)(()=>{const s={nodes:n,edges:r};e?.(s),t.getState().onSelectionChangeHandlers.forEach(a=>a(s))},[n,r,e]),null}var yL=e=>!!e.onSelectionChangeHandlers;function xL({onSelectionChange:e}){const t=ke(yL);return e||t?(0,l.jsx)(vL,{onSelectionChange:e}):null}var wx=[0,0],bL={x:0,y:0,zoom:1},Ah=["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig","zIndexMode","rfId"],wL=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),Mh={translateExtent:Na,nodeOrigin:wx,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function SL(e){const{setNodes:t,setEdges:n,setMinZoom:r,setMaxZoom:s,setTranslateExtent:a,setNodeExtent:o,reset:i,setDefaultNodesAndEdges:c}=ke(wL,et),u=Ke();(0,p.useEffect)(()=>(c(e.defaultNodes,e.defaultEdges),()=>{d.current=Mh,i()}),[]);const d=(0,p.useRef)(Mh);return(0,p.useEffect)(()=>{for(const f of Ah){const h=e[f];h!==d.current[f]&&(typeof e[f]>"u"||(f==="nodes"?t(h):f==="edges"?n(h):f==="minZoom"?r(h):f==="maxZoom"?s(h):f==="translateExtent"?a(h):f==="nodeExtent"?o(h):f==="ariaLabelConfig"?u.setState({ariaLabelConfig:hP(h)}):f==="fitView"?u.setState({fitViewQueued:h}):f==="fitViewOptions"?u.setState({fitViewOptions:h}):u.setState({[f]:h})))}d.current=e},Ah.map(f=>e[f])),null}function Oh(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function CL(e){const[t,n]=(0,p.useState)(e==="system"?null:e);return(0,p.useEffect)(()=>{if(e!=="system"){n(e);return}const r=Oh(),s=()=>n(r?.matches?"dark":"light");return s(),r?.addEventListener("change",s),()=>{r?.removeEventListener("change",s)}},[e]),t!==null?t:Oh()?.matches?"dark":"light"}var Dh=typeof document<"u"?document:null;function Ta(e=null,t={target:Dh,actInsideInputWithModifier:!0}){const[n,r]=(0,p.useState)(!1),s=(0,p.useRef)(!1),a=(0,p.useRef)(new Set([])),[o,i]=(0,p.useMemo)(()=>{if(e!==null){const c=(Array.isArray(e)?e:[e]).filter(u=>typeof u=="string").map(u=>u.replace(/\+/g,`
14
- `).replace(`
15
-
16
- `,`
17
- +`).split(`
18
- `));return[c,c.reduce((u,d)=>u.concat(...d),[])]}return[[],[]]},[e]);return(0,p.useEffect)(()=>{const c=t?.target??Dh,u=t?.actInsideInputWithModifier??!0;if(e!==null){const d=m=>{if(s.current=m.ctrlKey||m.metaKey||m.shiftKey||m.altKey,(!s.current||s.current&&!u)&&ex(m))return!1;const v=Lh(m.code,i);if(a.current.add(m[v]),Ph(o,a.current,!1)){const S=m.composedPath?.()?.[0]||m.target,b=S?.nodeName==="BUTTON"||S?.nodeName==="A";t.preventDefault!==!1&&(s.current||!b)&&m.preventDefault(),r(!0)}},f=m=>{const v=Lh(m.code,i);Ph(o,a.current,!0)?(r(!1),a.current.clear()):a.current.delete(m[v]),m.key==="Meta"&&a.current.clear(),s.current=!1},h=()=>{a.current.clear(),r(!1)};return c?.addEventListener("keydown",d),c?.addEventListener("keyup",f),window.addEventListener("blur",h),window.addEventListener("contextmenu",h),()=>{c?.removeEventListener("keydown",d),c?.removeEventListener("keyup",f),window.removeEventListener("blur",h),window.removeEventListener("contextmenu",h)}}},[e,r]),n}function Ph(e,t,n){return e.filter(r=>n||r.length===t.size).some(r=>r.every(s=>t.has(s)))}function Lh(e,t){return t.includes(e)?"code":"key"}var NL=()=>{const e=Ke();return(0,p.useMemo)(()=>({zoomIn:async t=>{const{panZoom:n}=e.getState();return n?n.scaleBy(1.2,t):!1},zoomOut:async t=>{const{panZoom:n}=e.getState();return n?n.scaleBy(1/1.2,t):!1},zoomTo:async(t,n)=>{const{panZoom:r}=e.getState();return r?r.scaleTo(t,n):!1},getZoom:()=>e.getState().transform[2],setViewport:async(t,n)=>{const{transform:[r,s,a],panZoom:o}=e.getState();return o?(await o.setViewport({x:t.x??r,y:t.y??s,zoom:t.zoom??a},n),!0):!1},getViewport:()=>{const[t,n,r]=e.getState().transform;return{x:t,y:n,zoom:r}},setCenter:async(t,n,r)=>e.getState().setCenter(t,n,r),fitBounds:async(t,n)=>{const{width:r,height:s,minZoom:a,maxZoom:o,panZoom:i}=e.getState(),c=dd(t,r,s,a,o,n?.padding??.1);return i?(await i.setViewport(c,{duration:n?.duration,ease:n?.ease,interpolate:n?.interpolate}),!0):!1},screenToFlowPosition:(t,n={})=>{const{transform:r,snapGrid:s,snapToGrid:a,domNode:o}=e.getState();if(!o)return t;const{x:i,y:c}=o.getBoundingClientRect(),u={x:t.x-i,y:t.y-c},d=n.snapGrid??s,f=n.snapToGrid??a;return Ha(u,r,f,d)},flowToScreenPosition:t=>{const{transform:n,domNode:r}=e.getState();if(!r)return t;const{x:s,y:a}=r.getBoundingClientRect(),o=Ts(t,n);return{x:o.x+s,y:o.y+a}}}),[])};function Sx(e,t){const n=[],r=new Map,s=[];for(const a of e)if(a.type==="add"){s.push(a);continue}else if(a.type==="remove"||a.type==="replace")r.set(a.id,[a]);else{const o=r.get(a.id);o?o.push(a):r.set(a.id,[a])}for(const a of t){const o=r.get(a.id);if(!o){n.push(a);continue}if(o[0].type==="remove")continue;if(o[0].type==="replace"){n.push({...o[0].item});continue}const i={...a};for(const c of o)EL(c,i);n.push(i)}return s.length&&s.forEach(a=>{a.index!==void 0?n.splice(a.index,0,{...a.item}):n.push({...a.item})}),n}function EL(e,t){switch(e.type){case"select":t.selected=e.selected;break;case"position":typeof e.position<"u"&&(t.position=e.position),typeof e.dragging<"u"&&(t.dragging=e.dragging);break;case"dimensions":typeof e.dimensions<"u"&&(t.measured={...e.dimensions},e.setAttributes&&((e.setAttributes===!0||e.setAttributes==="width")&&(t.width=e.dimensions.width),(e.setAttributes===!0||e.setAttributes==="height")&&(t.height=e.dimensions.height))),typeof e.resizing=="boolean"&&(t.resizing=e.resizing)}}function Cx(e,t){return Sx(e,t)}function IL(e,t){return Sx(e,t)}function Cr(e,t){return{id:e,type:"select",selected:t}}function hs(e,t=new Set,n=!1){const r=[];for(const[s,a]of e){const o=t.has(s);!(a.selected===void 0&&!o)&&a.selected!==o&&(n&&(a.selected=o),r.push(Cr(a.id,o)))}return r}function Fh({items:e=[],lookup:t}){const n=[],r=new Map(e.map(s=>[s.id,s]));for(const[s,a]of e.entries()){const o=t.get(a.id),i=o?.internals?.userNode??o;i!==void 0&&i!==a&&n.push({id:a.id,item:a,type:"replace"}),i===void 0&&n.push({item:a,type:"add",index:s})}for(const[s]of t)r.get(s)===void 0&&n.push({id:s,type:"remove"});return n}function $h(e){return{id:e.id,type:"remove"}}var jL=Jy("React Flow","https://reactflow.dev/");function TL(e,t,n={}){return xP(e,t,{...n,onError:n.onError??jL})}var zh=e=>sP(e),RL=e=>qy(e);function Nx(e){return(0,p.forwardRef)(e)}var Ex=typeof window<"u"?p.useLayoutEffect:p.useEffect;function Vh(e){const[t,n]=(0,p.useState)(BigInt(0)),[r]=(0,p.useState)(()=>kL(()=>n(s=>s+BigInt(1))));return Ex(()=>{const s=r.get();s.length&&(e(s),r.reset())},[t]),r}function kL(e){let t=[];return{get:()=>t,reset:()=>{t=[]},push:n=>{t.push(n),e()}}}var Ix=(0,p.createContext)(null);function _L({children:e}){const t=Ke(),n=Vh((0,p.useCallback)(a=>{const{nodes:o=[],setNodes:i,hasDefaultNodes:c,onNodesChange:u,nodeLookup:d,fitViewQueued:f,onNodesChangeMiddlewareMap:h}=t.getState();let m=o;for(const S of a)m=typeof S=="function"?S(m):S;let v=Fh({items:m,lookup:d});for(const S of h.values())v=S(v);c&&i(m),v.length>0?u?.(v):f&&window.requestAnimationFrame(()=>{const{fitViewQueued:S,nodes:b,setNodes:N}=t.getState();S&&N(b)})},[])),r=Vh((0,p.useCallback)(a=>{const{edges:o=[],setEdges:i,hasDefaultEdges:c,onEdgesChange:u,edgeLookup:d}=t.getState();let f=o;for(const h of a)f=typeof h=="function"?h(f):h;c?i(f):u&&u(Fh({items:f,lookup:d}))},[])),s=(0,p.useMemo)(()=>({nodeQueue:n,edgeQueue:r}),[]);return(0,l.jsx)(Ix.Provider,{value:s,children:e})}function AL(){const e=(0,p.useContext)(Ix);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}var ML=e=>!!e.panZoom;function Oi(){const e=NL(),t=Ke(),n=AL(),r=ke(ML),s=(0,p.useMemo)(()=>{const a=f=>t.getState().nodeLookup.get(f),o=f=>{n.nodeQueue.push(f)},i=f=>{n.edgeQueue.push(f)},c=f=>{const{nodeLookup:h,nodeOrigin:m}=t.getState(),v=zh(f)?f:h.get(f.id),S=v.parentId?Qy(v.position,v.measured,v.parentId,h,m):v.position,b={...v,position:S,width:v.measured?.width??v.width,height:v.measured?.height??v.height};return Ia(b)},u=(f,h,m={replace:!1})=>{o(v=>v.map(S=>{if(S.id===f){const b=typeof h=="function"?h(S):h;return m.replace&&zh(b)?b:{...S,...b}}return S}))},d=(f,h,m={replace:!1})=>{i(v=>v.map(S=>{if(S.id===f){const b=typeof h=="function"?h(S):h;return m.replace&&RL(b)?b:{...S,...b}}return S}))};return{getNodes:()=>t.getState().nodes.map(f=>({...f})),getNode:f=>a(f)?.internals.userNode,getInternalNode:a,getEdges:()=>{const{edges:f=[]}=t.getState();return f.map(h=>({...h}))},getEdge:f=>t.getState().edgeLookup.get(f),setNodes:o,setEdges:i,addNodes:f=>{const h=Array.isArray(f)?f:[f];n.nodeQueue.push(m=>[...m,...h])},addEdges:f=>{const h=Array.isArray(f)?f:[f];n.edgeQueue.push(m=>[...m,...h])},toObject:()=>{const{nodes:f=[],edges:h=[],transform:m}=t.getState(),[v,S,b]=m;return{nodes:f.map(N=>({...N})),edges:h.map(N=>({...N})),viewport:{x:v,y:S,zoom:b}}},deleteElements:async({nodes:f=[],edges:h=[]})=>{const{nodes:m,edges:v,onNodesDelete:S,onEdgesDelete:b,triggerNodeChanges:N,triggerEdgeChanges:w,onDelete:y,onBeforeDelete:g}=t.getState(),{nodes:x,edges:C}=await cP({nodesToRemove:f,edgesToRemove:h,nodes:m,edges:v,onBeforeDelete:g}),j=C.length>0,E=x.length>0;if(j){const R=C.map($h);b?.(C),w(R)}if(E){const R=x.map($h);S?.(x),N(R)}return(E||j)&&y?.({nodes:x,edges:C}),{deletedNodes:x,deletedEdges:C}},getIntersectingNodes:(f,h=!0,m)=>{const v=ph(f),S=v?f:c(f),b=m!==void 0;return S?(m||t.getState().nodes).filter(N=>{const w=t.getState().nodeLookup.get(N.id);if(w&&!v&&(N.id===f.id||!w.internals.positionAbsolute))return!1;const y=Ia(b?N:w),g=Bo(y,S);return h&&g>0||g>=y.width*y.height||g>=S.width*S.height}):[]},isNodeIntersecting:(f,h,m=!0)=>{const v=ph(f)?f:c(f);if(!v)return!1;const S=Bo(v,h);return m&&S>0||S>=h.width*h.height||S>=v.width*v.height},updateNode:u,updateNodeData:(f,h,m={replace:!1})=>{u(f,v=>{const S=typeof h=="function"?h(v):h;return m.replace?{...v,data:S}:{...v,data:{...v.data,...S}}},m)},updateEdge:d,updateEdgeData:(f,h,m={replace:!1})=>{d(f,v=>{const S=typeof h=="function"?h(v):h;return m.replace?{...v,data:S}:{...v,data:{...v.data,...S}}},m)},getNodesBounds:f=>{const{nodeLookup:h,nodeOrigin:m}=t.getState();return aP(f,{nodeLookup:h,nodeOrigin:m})},getHandleConnections:({type:f,id:h,nodeId:m})=>Array.from(t.getState().connectionLookup.get(`${m}-${f}${h?`-${h}`:""}`)?.values()??[]),getNodeConnections:({type:f,handleId:h,nodeId:m})=>Array.from(t.getState().connectionLookup.get(`${m}${f?h?`-${f}-${h}`:`-${f}`:""}`)?.values()??[]),fitView:async f=>{const h=t.getState().fitViewResolver??fP();return t.setState({fitViewQueued:!0,fitViewOptions:f,fitViewResolver:h}),n.nodeQueue.push(m=>[...m]),h.promise}}},[]);return(0,p.useMemo)(()=>({...s,...e,viewportInitialized:r}),[r])}var Bh=e=>e.selected,OL=typeof window<"u"?window:void 0;function DL({deleteKeyCode:e,multiSelectionKeyCode:t}){const n=Ke(),{deleteElements:r}=Oi(),s=Ta(e,{actInsideInputWithModifier:!1}),a=Ta(t,{target:OL});(0,p.useEffect)(()=>{if(s){const{edges:o,nodes:i}=n.getState();r({nodes:i.filter(Bh),edges:o.filter(Bh)}),n.setState({nodesSelectionActive:!1})}},[s]),(0,p.useEffect)(()=>{n.setState({multiSelectionActive:a})},[a])}function PL(e){const t=Ke();(0,p.useEffect)(()=>{const n=()=>{if(!e.current||!(e.current.checkVisibility?.()??!0))return!1;const r=hd(e.current);(r.height===0||r.width===0)&&t.getState().onError?.("004",en.error004()),t.setState({width:r.width||500,height:r.height||500})};if(e.current){n(),window.addEventListener("resize",n);const r=new ResizeObserver(()=>n());return r.observe(e.current),()=>{window.removeEventListener("resize",n),r&&e.current&&r.unobserve(e.current)}}},[])}var Di={position:"absolute",width:"100%",height:"100%",top:0,left:0},LL=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function FL({onPaneContextMenu:e,zoomOnScroll:t=!0,zoomOnPinch:n=!0,panOnScroll:r=!1,panActivationKeyPressed:s,panOnScrollSpeed:a=.5,panOnScrollMode:o=Lr.Free,zoomOnDoubleClick:i=!0,panOnDrag:c=!0,defaultViewport:u,translateExtent:d,minZoom:f,maxZoom:h,zoomActivationKeyCode:m,preventScrolling:v=!0,children:S,noWheelClassName:b,noPanClassName:N,onViewportChange:w,isControlledViewport:y,paneClickDistance:g,selectionOnDrag:x}){const C=Ke(),j=(0,p.useRef)(null),{userSelectionActive:E,lib:R,connectionInProgress:O}=ke(LL,et),k=Ta(m),_=(0,p.useRef)();PL(j);const A=(0,p.useCallback)(I=>{w?.({x:I[0],y:I[1],zoom:I[2]}),y||C.setState({transform:I})},[w,y]);return(0,p.useEffect)(()=>{if(j.current){_.current=GP({domNode:j.current,minZoom:f,maxZoom:h,translateExtent:d,viewport:u,onDraggingChange:P=>C.setState(V=>V.paneDragging===P?V:{paneDragging:P}),onPanZoomStart:(P,V)=>{const{onViewportChangeStart:L,onMoveStart:B}=C.getState();B?.(P,V),L?.(V)},onPanZoom:(P,V)=>{const{onViewportChange:L,onMove:B}=C.getState();B?.(P,V),L?.(V)},onPanZoomEnd:(P,V)=>{const{onViewportChangeEnd:L,onMoveEnd:B}=C.getState();B?.(P,V),L?.(V)}});const{x:I,y:T,zoom:M}=_.current.getViewport();return C.setState({panZoom:_.current,transform:[I,T,M],domNode:j.current.closest(".react-flow")}),()=>{_.current?.destroy()}}},[]),(0,p.useEffect)(()=>{_.current?.update({onPaneContextMenu:e,zoomOnScroll:t,zoomOnPinch:n,panOnScroll:r,panActivationKeyPressed:s,panOnScrollSpeed:a,panOnScrollMode:o,zoomOnDoubleClick:i,panOnDrag:c,zoomActivationKeyPressed:k,preventScrolling:v,noPanClassName:N,userSelectionActive:E,noWheelClassName:b,lib:R,onTransformChange:A,connectionInProgress:O,selectionOnDrag:x,paneClickDistance:g})},[e,t,n,r,s,a,o,i,c,k,v,N,E,b,R,A,O,x,g]),(0,l.jsx)("div",{className:"react-flow__renderer",ref:j,style:Di,children:S})}var $L=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function zL(){const{userSelectionActive:e,userSelectionRect:t}=ke($L,et);return e&&t?(0,l.jsx)("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}var Pl=(e,t)=>n=>{n.target===t.current&&e?.(n)},VL=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging,panBy:e.panBy,autoPanSpeed:e.autoPanSpeed});function BL({isSelecting:e,selectionKeyPressed:t,selectionMode:n=Ea.Full,panOnDrag:r,autoPanOnSelection:s,paneClickDistance:a,selectionOnDrag:o,onSelectionStart:i,onSelectionEnd:c,onPaneClick:u,onPaneContextMenu:d,onPaneScroll:f,onPaneMouseEnter:h,onPaneMouseMove:m,onPaneMouseLeave:v,children:S}){const b=(0,p.useRef)(0),N=Ke(),{userSelectionActive:w,elementsSelectable:y,dragging:g,panBy:x,autoPanSpeed:C}=ke(VL,et),j=y&&(e||w),E=(0,p.useRef)(null),R=(0,p.useRef)(),O=(0,p.useRef)(new Set),k=(0,p.useRef)(new Set),_=(0,p.useRef)(!1),A=(0,p.useRef)(!1),I=(0,p.useRef)({x:0,y:0}),T=(0,p.useRef)(!1),M=$=>{if(A.current||_.current||N.getState().connection.inProgress){A.current=!1,_.current=!1;return}u?.($),N.getState().resetSelectedElements(),N.setState({nodesSelectionActive:!1})},P=$=>{if(Array.isArray(r)&&r?.includes(2)){$.preventDefault();return}d?.($)},V=f?$=>f($):void 0,L=$=>{A.current&&($.stopPropagation(),A.current=!1)},B=$=>{if($.pointerType==="touch"&&r!==!1&&!t)return;const{domNode:Q,transform:he}=N.getState();if(R.current=Q?.getBoundingClientRect(),!R.current)return;const pe=$.target===E.current;if(!pe&&$.target.closest(".nokey")||!e||!(o&&pe||t)||$.button!==0||!$.isPrimary)return;$.target?.setPointerCapture?.($.pointerId),A.current=!1;const{x:ae,y:be}=mn($.nativeEvent,R.current),J=Ha({x:ae,y:be},he);N.setState({userSelectionRect:{width:0,height:0,startX:J.x,startY:J.y,x:ae,y:be}}),pe||($.stopPropagation(),$.preventDefault())};function q($,Q){const{userSelectionRect:he}=N.getState();if(!he)return;const{transform:pe,nodeLookup:ae,edgeLookup:be,connectionLookup:J,triggerNodeChanges:le,triggerEdgeChanges:ue,defaultEdgeOptions:We}=N.getState(),Ye={x:he.startX,y:he.startY},{x:Ve,y:ft}=Ts(Ye,pe),Ae={startX:Ye.x,startY:Ye.y,x:$<Ve?$:Ve,y:Q<ft?Q:ft,width:Math.abs($-Ve),height:Math.abs(Q-ft)},mt=O.current,ye=k.current;O.current=new Set(cd(ae,Ae,pe,n===Ea.Partial,!0).map(z=>z.id)),k.current=new Set;const D=We?.selectable??!0;for(const z of O.current){const U=J.get(z);if(U)for(const{edgeId:X}of U.values()){const se=be.get(X);se&&(se.selectable??D)&&k.current.add(X)}}gh(mt,O.current)||le(hs(ae,O.current,!0)),gh(ye,k.current)||ue(hs(be,k.current)),N.setState({userSelectionRect:Ae,userSelectionActive:!0,nodesSelectionActive:!1})}function F(){if(!s||!R.current)return;const[$,Q]=ud(I.current,R.current,C);x({x:$,y:Q}).then(he=>{if(!A.current||!he){b.current=requestAnimationFrame(F);return}const{x:pe,y:ae}=I.current;q(pe,ae),b.current=requestAnimationFrame(F)})}const K=()=>{cancelAnimationFrame(b.current),b.current=0,T.current=!1};(0,p.useEffect)(()=>()=>K(),[]);const H=$=>{const{userSelectionRect:Q,transform:he,resetSelectedElements:pe}=N.getState();if(!R.current||!Q)return;const{x:ae,y:be}=mn($.nativeEvent,R.current);I.current={x:ae,y:be};const J=Ts({x:Q.startX,y:Q.startY},he);if(!A.current){const le=t?0:a;if(Math.hypot(ae-J.x,be-J.y)<=le)return;pe(),i?.($)}A.current=!0,T.current||(F(),T.current=!0),q(ae,be)},Y=$=>{if(!j){$.target===E.current&&N.getState().connection.inProgress&&(_.current=!0);return}$.button===0&&($.target?.releasePointerCapture?.($.pointerId),!w&&$.target===E.current&&N.getState().userSelectionRect&&M?.($),N.setState({userSelectionActive:!1,userSelectionRect:null}),A.current&&(c?.($),N.setState({nodesSelectionActive:O.current.size>0})),K())},ne=$=>{$.target?.releasePointerCapture?.($.pointerId),K()},ee=r===!0||Array.isArray(r)&&r.includes(0);return(0,l.jsxs)("div",{className:ct(["react-flow__pane",{draggable:ee,dragging:g,selection:e}]),onClick:j?void 0:Pl(M,E),onContextMenu:Pl(P,E),onWheel:Pl(V,E),onPointerEnter:j?void 0:h,onPointerMove:j?H:m,onPointerUp:Y,onPointerCancel:j?ne:void 0,onPointerDownCapture:j?B:void 0,onClickCapture:j?L:void 0,onPointerLeave:v,ref:E,style:Di,children:[S,(0,l.jsx)(zL,{})]})}function Rc({id:e,store:t,unselect:n=!1,nodeRef:r}){const{addSelectedNodes:s,unselectNodesAndEdges:a,multiSelectionActive:o,nodeLookup:i,onError:c}=t.getState(),u=i.get(e);if(!u){c?.("012",en.error012(e));return}t.setState({nodesSelectionActive:!1}),u.selected?(n||u.selected&&o)&&(a({nodes:[u],edges:[]}),requestAnimationFrame(()=>r?.current?.blur())):s([e])}function jx({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:r,nodeId:s,isSelectable:a,nodeClickDistance:o}){const i=Ke(),[c,u]=(0,p.useState)(!1),d=(0,p.useRef)();return(0,p.useEffect)(()=>{if(!t)return d.current=DP({getStoreItems:()=>i.getState(),onNodeMouseDown:f=>{Rc({id:f,store:i,nodeRef:e})},onDragStart:()=>{u(!0)},onDragStop:()=>{u(!1)}}),()=>{d.current?.destroy(),d.current=void 0}},[t,i,e]),(0,p.useEffect)(()=>{t||!e.current||!d.current||d.current.update({noDragClassName:n,handleSelector:r,domNode:e.current,isSelectable:a,nodeId:s,nodeClickDistance:o})},[n,r,t,a,e,s,o]),c}var UL=e=>t=>t.selected&&(t.draggable||e&&typeof t.draggable>"u");function Tx(){const e=Ke();return(0,p.useCallback)(t=>{const{nodeExtent:n,snapToGrid:r,snapGrid:s,nodesDraggable:a,onError:o,updateNodePositions:i,nodeLookup:c,nodeOrigin:u}=e.getState(),d=new Map,f=UL(a),h=r?s[0]:5,m=r?s[1]:5,v=t.direction.x*h*t.factor,S=t.direction.y*m*t.factor;for(const[,b]of c){if(!f(b))continue;let N={x:b.internals.positionAbsolute.x+v,y:b.internals.positionAbsolute.y+S};r&&(N=Ua(N,s));const{position:w,positionAbsolute:y}=Wy({nodeId:b.id,nextPosition:N,nodeLookup:c,nodeExtent:n,nodeOrigin:u,onError:o});b.position=w,b.internals.positionAbsolute=y,d.set(b.id,b)}i(d)},[])}var xd=(0,p.createContext)(null),HL=xd.Provider;xd.Consumer;var Rx=()=>(0,p.useContext)(xd),qL=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),kx=(0,p.createContext)(null);function WL({children:e}){const t=ke(qL,et);return(0,l.jsx)(kx.Provider,{value:t,children:e})}function KL(){const e=(0,p.useContext)(kx);if(!e)throw new Error("useHandleConfig must be used within a HandleConfigProvider");return e}var YL={connectingFrom:!1,connectingTo:!1,clickConnecting:!1,isPossibleEndHandle:!0,connectionInProcess:!1,clickConnectionInProcess:!1,valid:!1},GL=(e,t,n)=>r=>{const{connectionClickStartHandle:s,connectionMode:a,connection:o}=r,{fromHandle:i,toHandle:c,isValid:u}=o;if(!i&&!s)return YL;const d=c?.nodeId===e&&c?.id===t&&c?.type===n;return{connectingFrom:i?.nodeId===e&&i?.id===t&&i?.type===n,connectingTo:d,clickConnecting:s?.nodeId===e&&s?.id===t&&s?.type===n,isPossibleEndHandle:a===Is.Strict?i?.type!==n:e!==i?.nodeId||t!==i?.id,connectionInProcess:!!i,clickConnectionInProcess:!!s,valid:d&&u}};function JL({type:e="source",position:t=ve.Top,isValidConnection:n,isConnectable:r=!0,isConnectableStart:s=!0,isConnectableEnd:a=!0,id:o,onConnect:i,children:c,className:u,onMouseDown:d,onTouchStart:f,...h},m){const v=o||null,S=e==="target",b=Ke(),N=Rx(),{connectOnClick:w,noPanClassName:y,rfId:g}=KL(),{connectingFrom:x,connectingTo:C,clickConnecting:j,isPossibleEndHandle:E,connectionInProcess:R,clickConnectionInProcess:O,valid:k}=ke(GL(N,v,e),et);N||b.getState().onError?.("010",en.error010());const _=T=>{const{defaultEdgeOptions:M,onConnect:P,hasDefaultEdges:V}=b.getState(),L={...M,...T};if(V){const{edges:B,setEdges:q,onError:F}=b.getState();q(TL(L,B,{onError:F}))}P?.(L),i?.(L)},A=T=>{if(!N)return;const M=tx(T.nativeEvent);if(s&&(M&&T.button===0||!M)){const P=b.getState();Tc.onPointerDown(T.nativeEvent,{handleDomNode:T.currentTarget,autoPanOnConnect:P.autoPanOnConnect,connectionMode:P.connectionMode,connectionRadius:P.connectionRadius,domNode:P.domNode,nodeLookup:P.nodeLookup,lib:P.lib,isTarget:S,handleId:v,nodeId:N,flowId:P.rfId,panBy:P.panBy,cancelConnection:P.cancelConnection,onConnectStart:P.onConnectStart,onConnectEnd:(...V)=>b.getState().onConnectEnd?.(...V),updateConnection:P.updateConnection,onConnect:_,isValidConnection:n||((...V)=>b.getState().isValidConnection?.(...V)??!0),getTransform:()=>b.getState().transform,getFromHandle:()=>b.getState().connection.fromHandle,autoPanSpeed:P.autoPanSpeed,dragThreshold:P.connectionDragThreshold})}M?d?.(T):f?.(T)},I=T=>{const{onClickConnectStart:M,onClickConnectEnd:P,connectionClickStartHandle:V,connectionMode:L,isValidConnection:B,lib:q,rfId:F,nodeLookup:K,connection:H}=b.getState();if(!N||!V&&!s)return;if(!V){M?.(T.nativeEvent,{nodeId:N,handleId:v,handleType:e}),b.setState({connectionClickStartHandle:{nodeId:N,type:e,id:v}});return}const Y=Zy(T.target),ne=n||B,{connection:ee,isValid:$}=Tc.isValid(T.nativeEvent,{handle:{nodeId:N,id:v,type:e},connectionMode:L,fromNodeId:V.nodeId,fromHandleId:V.id||null,fromType:V.type,isValidConnection:ne,flowId:F,doc:Y,lib:q,nodeLookup:K});$&&ee&&_(ee);const Q=structuredClone(H);delete Q.inProgress,Q.toPosition=Q.toHandle?Q.toHandle.position:null,P?.(T,Q),b.setState({connectionClickStartHandle:null})};return(0,l.jsx)("div",{"data-handleid":v,"data-nodeid":N,"data-handlepos":t,"data-id":`${g}-${N}-${v}-${e}`,className:ct(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",y,u,{source:!S,target:S,connectable:r,connectablestart:s,connectableend:a,clickconnecting:j,connectingfrom:x,connectingto:C,valid:k,connectionindicator:r&&(!R||E)&&(R||O?a:s)}]),onMouseDown:A,onTouchStart:A,onClick:w?I:void 0,ref:m,...h,children:c})}var ks=(0,p.memo)(Nx(JL));function QL({data:e,isConnectable:t,sourcePosition:n=ve.Bottom}){return(0,l.jsxs)(l.Fragment,{children:[e?.label,(0,l.jsx)(ks,{type:"source",position:n,isConnectable:t})]})}function XL({data:e,isConnectable:t,targetPosition:n=ve.Top,sourcePosition:r=ve.Bottom}){return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(ks,{type:"target",position:n,isConnectable:t}),e?.label,(0,l.jsx)(ks,{type:"source",position:r,isConnectable:t})]})}function ZL(){return null}function eF({data:e,isConnectable:t,targetPosition:n=ve.Top}){return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(ks,{type:"target",position:n,isConnectable:t}),e?.label]})}var Uo={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},Uh={input:QL,default:XL,output:eF,group:ZL};function tF(e){return e.internals.handleBounds===void 0?{width:e.width??e.initialWidth??e.style?.width,height:e.height??e.initialHeight??e.style?.height}:{width:e.width??e.style?.width,height:e.height??e.style?.height}}var nF=e=>{const{width:t,height:n,x:r,y:s}=Ba(e.nodeLookup,{filter:a=>!!a.selected});return{width:hn(t)?t:null,height:hn(n)?n:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${r}px,${s}px)`}};function rF({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){const r=Ke(),{width:s,height:a,transformString:o,userSelectionActive:i}=ke(nF,et),c=Tx(),u=(0,p.useRef)(null);(0,p.useEffect)(()=>{n||u.current?.focus({preventScroll:!0})},[n]);const d=!i&&s!==null&&a!==null;if(jx({nodeRef:u,disabled:!d}),!d)return null;const f=e?m=>{e(m,r.getState().nodes.filter(v=>v.selected))}:void 0,h=m=>{Object.prototype.hasOwnProperty.call(Uo,m.key)&&(m.preventDefault(),c({direction:Uo[m.key],factor:m.shiftKey?4:1}))};return(0,l.jsx)("div",{className:ct(["react-flow__nodesselection","react-flow__container",t]),style:{transform:o},children:(0,l.jsx)("div",{ref:u,className:"react-flow__nodesselection-rect",onContextMenu:f,tabIndex:n?void 0:-1,onKeyDown:n?void 0:h,style:{width:s,height:a}})})}var Hh=typeof window<"u"?window:void 0,sF=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function _x({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:s,onPaneContextMenu:a,onPaneScroll:o,paneClickDistance:i,deleteKeyCode:c,selectionKeyCode:u,selectionOnDrag:d,selectionMode:f,onSelectionStart:h,onSelectionEnd:m,multiSelectionKeyCode:v,panActivationKeyCode:S,zoomActivationKeyCode:b,elementsSelectable:N,zoomOnScroll:w,zoomOnPinch:y,panOnScroll:g,panOnScrollSpeed:x,panOnScrollMode:C,zoomOnDoubleClick:j,panOnDrag:E,autoPanOnSelection:R,defaultViewport:O,translateExtent:k,minZoom:_,maxZoom:A,preventScrolling:I,onSelectionContextMenu:T,noWheelClassName:M,noPanClassName:P,disableKeyboardA11y:V,onViewportChange:L,isControlledViewport:B}){const{nodesSelectionActive:q,userSelectionActive:F}=ke(sF,et),K=Ta(u,{target:Hh}),H=Ta(S,{target:Hh}),Y=H||E,ne=H||g,ee=d&&Y!==!0,$=K||F||ee;return DL({deleteKeyCode:c,multiSelectionKeyCode:v}),(0,l.jsx)(FL,{onPaneContextMenu:a,elementsSelectable:N,zoomOnScroll:w,zoomOnPinch:y,panOnScroll:ne,panActivationKeyPressed:H,panOnScrollSpeed:x,panOnScrollMode:C,zoomOnDoubleClick:j,panOnDrag:!K&&Y,defaultViewport:O,translateExtent:k,minZoom:_,maxZoom:A,zoomActivationKeyCode:b,preventScrolling:I,noWheelClassName:M,noPanClassName:P,onViewportChange:L,isControlledViewport:B,paneClickDistance:i,selectionOnDrag:ee,children:(0,l.jsxs)(BL,{onSelectionStart:h,onSelectionEnd:m,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:s,onPaneContextMenu:a,onPaneScroll:o,panOnDrag:Y,autoPanOnSelection:R,isSelecting:!!$,selectionMode:f,selectionKeyPressed:K,paneClickDistance:i,selectionOnDrag:ee,children:[e,q&&(0,l.jsx)(rF,{onSelectionContextMenu:T,noPanClassName:P,disableKeyboardA11y:V})]})})}_x.displayName="FlowRenderer";var aF=(0,p.memo)(_x),oF=e=>t=>e?cd(t.nodeLookup,{x:0,y:0,width:t.width,height:t.height},t.transform,!0).map(n=>n.id):Array.from(t.nodeLookup.keys());function iF(e){return ke((0,p.useCallback)(oF(e),[e]),et)}var lF=e=>e.updateNodeInternals;function cF(){const e=ke(lF),[t]=(0,p.useState)(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(n=>{const r=new Map;n.forEach(s=>{const a=s.target.getAttribute("data-id");r.set(a,{id:a,nodeElement:s.target,force:!0})}),e(r)}));return(0,p.useEffect)(()=>()=>{t?.disconnect()},[t]),t}function uF({node:e,nodeType:t,hasDimensions:n,resizeObserver:r}){const s=Ke(),a=(0,p.useRef)(null),o=(0,p.useRef)(null),i=(0,p.useRef)(e.sourcePosition),c=(0,p.useRef)(e.targetPosition),u=(0,p.useRef)(t),d=n&&!!e.internals.handleBounds;return(0,p.useEffect)(()=>{a.current&&!e.hidden&&(!d||o.current!==a.current)&&(o.current&&r?.unobserve(o.current),r?.observe(a.current),o.current=a.current)},[d,e.hidden]),(0,p.useEffect)(()=>()=>{o.current&&(r?.unobserve(o.current),o.current=null)},[]),(0,p.useEffect)(()=>{if(a.current){const f=u.current!==t,h=i.current!==e.sourcePosition,m=c.current!==e.targetPosition;(f||h||m)&&(u.current=t,i.current=e.sourcePosition,c.current=e.targetPosition,s.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:a.current,force:!0}]])))}},[e.id,t,e.sourcePosition,e.targetPosition]),a}function dF({id:e,onClick:t,onMouseEnter:n,onMouseMove:r,onMouseLeave:s,onContextMenu:a,onDoubleClick:o,nodesDraggable:i,elementsSelectable:c,nodesConnectable:u,nodesFocusable:d,resizeObserver:f,noDragClassName:h,noPanClassName:m,disableKeyboardA11y:v,rfId:S,nodeTypes:b,nodeClickDistance:N,onError:w}){const{node:y,internals:g,isParent:x}=ke($=>{const Q=$.nodeLookup.get(e),he=$.parentLookup.has(e);return{node:Q,internals:Q.internals,isParent:he}},et);let C=y.type||"default",j=b?.[C]||Uh[C];j===void 0&&(w?.("003",en.error003(C)),C="default",j=b?.default||Uh.default);const E=!!(y.draggable||i&&typeof y.draggable>"u"),R=!!(y.selectable||c&&typeof y.selectable>"u"),O=!!(y.connectable||u&&typeof y.connectable>"u"),k=!!(y.focusable||d&&typeof y.focusable>"u"),_=Ke(),A=fd(y),I=uF({node:y,nodeType:C,hasDimensions:A,resizeObserver:f}),T=jx({nodeRef:I,disabled:y.hidden||!E,noDragClassName:h,handleSelector:y.dragHandle,nodeId:e,isSelectable:R,nodeClickDistance:N}),M=Tx();if(y.hidden)return null;const P=yn(y),V=tF(y),L=R||E||t||n||r||s,B=n?$=>n($,{...g.userNode}):void 0,q=r?$=>r($,{...g.userNode}):void 0,F=s?$=>s($,{...g.userNode}):void 0,K=a?$=>a($,{...g.userNode}):void 0,H=o?$=>o($,{...g.userNode}):void 0,Y=$=>{const{selectNodesOnDrag:Q,nodeDragThreshold:he}=_.getState();R&&(!Q||!E||he>0)&&Rc({id:e,store:_,nodeRef:I}),t&&t($,{...g.userNode})},ne=$=>{if(!(ex($.nativeEvent)||v)){if(By.includes($.key)&&R){const Q=$.key==="Escape";Rc({id:e,store:_,unselect:Q,nodeRef:I})}else if(E&&y.selected&&Object.prototype.hasOwnProperty.call(Uo,$.key)){$.preventDefault();const{ariaLabelConfig:Q}=_.getState();_.setState({ariaLiveMessage:Q["node.a11yDescription.ariaLiveMessage"]({direction:$.key.replace("Arrow","").toLowerCase(),x:~~g.positionAbsolute.x,y:~~g.positionAbsolute.y})}),M({direction:Uo[$.key],factor:$.shiftKey?4:1})}}},ee=()=>{if(v||!I.current?.matches(":focus-visible"))return;const{transform:$,width:Q,height:he,autoPanOnNodeFocus:pe,setCenter:ae}=_.getState();pe&&(cd(new Map([[e,y]]),{x:0,y:0,width:Q,height:he},$,!0).length>0||ae(y.position.x+P.width/2,y.position.y+P.height/2,{zoom:$[2]}))};return(0,l.jsx)("div",{className:ct(["react-flow__node",`react-flow__node-${C}`,{[m]:E},y.className,{selected:y.selected,selectable:R,parent:x,draggable:E,dragging:T}]),ref:I,style:{zIndex:g.z,transform:`translate(${g.positionAbsolute.x}px,${g.positionAbsolute.y}px)`,pointerEvents:L?"all":"none",visibility:A?"visible":"hidden",...y.style,...V},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:B,onMouseMove:q,onMouseLeave:F,onContextMenu:K,onClick:Y,onDoubleClick:H,onKeyDown:k?ne:void 0,tabIndex:k?0:void 0,onFocus:k?ee:void 0,role:y.ariaRole??(k?"group":void 0),"aria-roledescription":"node","aria-describedby":v?void 0:`${xx}-${S}`,"aria-label":y.ariaLabel,...y.domAttributes,children:(0,l.jsx)(HL,{value:e,children:(0,l.jsx)(j,{id:e,data:y.data,type:C,positionAbsoluteX:g.positionAbsolute.x,positionAbsoluteY:g.positionAbsolute.y,selected:y.selected??!1,selectable:R,draggable:E,deletable:y.deletable??!0,isConnectable:O,sourcePosition:y.sourcePosition,targetPosition:y.targetPosition,dragging:T,dragHandle:y.dragHandle,zIndex:g.z,parentId:y.parentId,...P})})})}var fF=(0,p.memo)(dF),hF=e=>({nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function Ax(e){const{nodesConnectable:t,nodesFocusable:n,elementsSelectable:r,onError:s}=ke(hF,et),a=iF(e.onlyRenderVisibleElements),o=cF();return(0,l.jsx)("div",{className:"react-flow__nodes",style:Di,children:a.map(i=>(0,l.jsx)(fF,{id:i,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:o,nodesDraggable:e.nodesDraggable??!0,nodesConnectable:t,nodesFocusable:n,elementsSelectable:r,nodeClickDistance:e.nodeClickDistance,onError:s},i))})}Ax.displayName="NodeRenderer";var mF=(0,p.memo)(Ax);function pF(e){return ke((0,p.useCallback)(t=>{if(!e)return t.edges.map(r=>r.id);const n=[];if(t.width&&t.height)for(const r of t.edges){const s=t.nodeLookup.get(r.source),a=t.nodeLookup.get(r.target);s&&a&&gP({sourceNode:s,targetNode:a,width:t.width,height:t.height,transform:t.transform})&&n.push(r.id)}return n},[e]),et)}var gF=({color:e="none",strokeWidth:t=1})=>{const n={strokeWidth:t,...e&&{stroke:e}};return(0,l.jsx)("polyline",{className:"arrow",style:n,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},vF=({color:e="none",strokeWidth:t=1})=>{const n={strokeWidth:t,...e&&{stroke:e,fill:e}};return(0,l.jsx)("polyline",{className:"arrowclosed",style:n,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},qh={[zo.Arrow]:gF,[zo.ArrowClosed]:vF};function yF(e){const t=Ke();return(0,p.useMemo)(()=>Object.prototype.hasOwnProperty.call(qh,e)?qh[e]:(t.getState().onError?.("009",en.error009(e)),null),[e])}var xF=({id:e,type:t,color:n,width:r=12.5,height:s=12.5,markerUnits:a="strokeWidth",strokeWidth:o,orient:i="auto-start-reverse"})=>{const c=yF(t);return c?(0,l.jsx)("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${r}`,markerHeight:`${s}`,viewBox:"-10 -10 20 20",markerUnits:a,orient:i,refX:"0",refY:"0",children:(0,l.jsx)(c,{color:n,strokeWidth:o})}):null},Mx=({defaultColor:e,rfId:t})=>{const n=ke(a=>a.edges),r=ke(a=>a.defaultEdgeOptions),s=(0,p.useMemo)(()=>NP(n,{id:t,defaultColor:e,defaultMarkerStart:r?.markerStart,defaultMarkerEnd:r?.markerEnd}),[n,r,t,e]);return s.length?(0,l.jsx)("svg",{className:"react-flow__marker","aria-hidden":"true",children:(0,l.jsx)("defs",{children:s.map(a=>(0,l.jsx)(xF,{id:a.id,type:a.type,color:a.color,width:a.width,height:a.height,markerUnits:a.markerUnits,strokeWidth:a.strokeWidth,orient:a.orient},a.id))})}):null};Mx.displayName="MarkerDefinitions";var bF=(0,p.memo)(Mx);function Ox({x:e,y:t,label:n,labelStyle:r,labelShowBg:s=!0,labelBgStyle:a,labelBgPadding:o=[2,4],labelBgBorderRadius:i=2,children:c,className:u,...d}){const[f,h]=(0,p.useState)({x:1,y:0,width:0,height:0}),m=ct(["react-flow__edge-textwrapper",u]),v=(0,p.useRef)(null);return(0,p.useEffect)(()=>{if(v.current){const S=v.current.getBBox();h({x:S.x,y:S.y,width:S.width,height:S.height})}},[n]),n?(0,l.jsxs)("g",{transform:`translate(${e-f.width/2} ${t-f.height/2})`,className:m,visibility:f.width?"visible":"hidden",...d,children:[s&&(0,l.jsx)("rect",{width:f.width+2*o[0],x:-o[0],y:-o[1],height:f.height+2*o[1],className:"react-flow__edge-textbg",style:a,rx:i,ry:i}),(0,l.jsx)("text",{className:"react-flow__edge-text",y:f.height/2,dy:"0.3em",ref:v,style:r,children:n}),c]}):null}Ox.displayName="EdgeText";var wF=(0,p.memo)(Ox);function Pi({path:e,labelX:t,labelY:n,label:r,labelStyle:s,labelShowBg:a,labelBgStyle:o,labelBgPadding:i,labelBgBorderRadius:c,interactionWidth:u=20,...d}){return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("path",{...d,d:e,fill:"none",className:ct(["react-flow__edge-path",d.className])}),u?(0,l.jsx)("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:u,className:"react-flow__edge-interaction"}):null,r&&hn(t)&&hn(n)?(0,l.jsx)(wF,{x:t,y:n,label:r,labelStyle:s,labelShowBg:a,labelBgStyle:o,labelBgPadding:i,labelBgBorderRadius:c}):null]})}function Wh({pos:e,x1:t,y1:n,x2:r,y2:s}){return e===ve.Left||e===ve.Right?[.5*(t+r),n]:[t,.5*(n+s)]}function Dx({sourceX:e,sourceY:t,sourcePosition:n=ve.Bottom,targetX:r,targetY:s,targetPosition:a=ve.Top}){const[o,i]=Wh({pos:n,x1:e,y1:t,x2:r,y2:s}),[c,u]=Wh({pos:a,x1:r,y1:s,x2:e,y2:t}),[d,f,h,m]=nx({sourceX:e,sourceY:t,targetX:r,targetY:s,sourceControlX:o,sourceControlY:i,targetControlX:c,targetControlY:u});return[`M${e},${t} C${o},${i} ${c},${u} ${r},${s}`,d,f,h,m]}function Px(e){return(0,p.memo)(({id:t,sourceX:n,sourceY:r,targetX:s,targetY:a,sourcePosition:o,targetPosition:i,label:c,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:h,labelBgBorderRadius:m,style:v,markerEnd:S,markerStart:b,interactionWidth:N})=>{const[w,y,g]=Dx({sourceX:n,sourceY:r,sourcePosition:o,targetX:s,targetY:a,targetPosition:i}),x=e.isInternal?void 0:t;return(0,l.jsx)(Pi,{id:x,path:w,labelX:y,labelY:g,label:c,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:h,labelBgBorderRadius:m,style:v,markerEnd:S,markerStart:b,interactionWidth:N})})}var SF=Px({isInternal:!1}),Lx=Px({isInternal:!0});SF.displayName="SimpleBezierEdge";Lx.displayName="SimpleBezierEdgeInternal";function Fx(e){return(0,p.memo)(({id:t,sourceX:n,sourceY:r,targetX:s,targetY:a,label:o,labelStyle:i,labelShowBg:c,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:h,sourcePosition:m=ve.Bottom,targetPosition:v=ve.Top,markerEnd:S,markerStart:b,pathOptions:N,interactionWidth:w})=>{const[y,g,x]=Ec({sourceX:n,sourceY:r,sourcePosition:m,targetX:s,targetY:a,targetPosition:v,borderRadius:N?.borderRadius,offset:N?.offset,stepPosition:N?.stepPosition}),C=e.isInternal?void 0:t;return(0,l.jsx)(Pi,{id:C,path:y,labelX:g,labelY:x,label:o,labelStyle:i,labelShowBg:c,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:h,markerEnd:S,markerStart:b,interactionWidth:w})})}var $x=Fx({isInternal:!1}),zx=Fx({isInternal:!0});$x.displayName="SmoothStepEdge";zx.displayName="SmoothStepEdgeInternal";function Vx(e){return(0,p.memo)(({id:t,...n})=>{const r=e.isInternal?void 0:t;return(0,l.jsx)($x,{...n,id:r,pathOptions:(0,p.useMemo)(()=>({borderRadius:0,offset:n.pathOptions?.offset}),[n.pathOptions?.offset])})})}var CF=Vx({isInternal:!1}),Bx=Vx({isInternal:!0});CF.displayName="StepEdge";Bx.displayName="StepEdgeInternal";function Ux(e){return(0,p.memo)(({id:t,sourceX:n,sourceY:r,targetX:s,targetY:a,label:o,labelStyle:i,labelShowBg:c,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:h,markerEnd:m,markerStart:v,interactionWidth:S})=>{const[b,N,w]=ax({sourceX:n,sourceY:r,targetX:s,targetY:a}),y=e.isInternal?void 0:t;return(0,l.jsx)(Pi,{id:y,path:b,labelX:N,labelY:w,label:o,labelStyle:i,labelShowBg:c,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:h,markerEnd:m,markerStart:v,interactionWidth:S})})}var NF=Ux({isInternal:!1}),Hx=Ux({isInternal:!0});NF.displayName="StraightEdge";Hx.displayName="StraightEdgeInternal";function qx(e){return(0,p.memo)(({id:t,sourceX:n,sourceY:r,targetX:s,targetY:a,sourcePosition:o=ve.Bottom,targetPosition:i=ve.Top,label:c,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:h,labelBgBorderRadius:m,style:v,markerEnd:S,markerStart:b,pathOptions:N,interactionWidth:w})=>{const[y,g,x]=rx({sourceX:n,sourceY:r,sourcePosition:o,targetX:s,targetY:a,targetPosition:i,curvature:N?.curvature}),C=e.isInternal?void 0:t;return(0,l.jsx)(Pi,{id:C,path:y,labelX:g,labelY:x,label:c,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:h,labelBgBorderRadius:m,style:v,markerEnd:S,markerStart:b,interactionWidth:w})})}var EF=qx({isInternal:!1}),Wx=qx({isInternal:!0});EF.displayName="BezierEdge";Wx.displayName="BezierEdgeInternal";var Kh={default:Wx,straight:Hx,step:Bx,smoothstep:zx,simplebezier:Lx},Yh={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null,zIndex:void 0},IF=(e,t,n)=>n===ve.Left?e-t:n===ve.Right?e+t:e,jF=(e,t,n)=>n===ve.Top?e-t:n===ve.Bottom?e+t:e,Gh="react-flow__edgeupdater";function Jh({position:e,centerX:t,centerY:n,radius:r=10,onMouseDown:s,onMouseEnter:a,onMouseOut:o,type:i}){return(0,l.jsx)("circle",{onMouseDown:s,onMouseEnter:a,onMouseOut:o,className:ct([Gh,`${Gh}-${i}`]),cx:IF(t,r,e),cy:jF(n,r,e),r,stroke:"transparent",fill:"transparent"})}function TF({isReconnectable:e,reconnectRadius:t,edge:n,sourceX:r,sourceY:s,targetX:a,targetY:o,sourcePosition:i,targetPosition:c,onReconnect:u,onReconnectStart:d,onReconnectEnd:f,setReconnecting:h,setUpdateHover:m}){const v=Ke(),S=(g,x)=>{if(g.button!==0)return;const{autoPanOnConnect:C,domNode:j,connectionMode:E,connectionRadius:R,lib:O,onConnectStart:k,cancelConnection:_,nodeLookup:A,rfId:I,panBy:T,updateConnection:M}=v.getState(),P=x.type==="target",V=(q,F)=>{h(!1),f?.(q,n,x.type,F)},L=q=>u?.(n,q),B=(q,F)=>{h(!0),d?.(g,n,x.type),k?.(q,F)};Tc.onPointerDown(g.nativeEvent,{autoPanOnConnect:C,connectionMode:E,connectionRadius:R,domNode:j,handleId:x.id,nodeId:x.nodeId,nodeLookup:A,isTarget:P,edgeUpdaterType:x.type,lib:O,flowId:I,cancelConnection:_,panBy:T,isValidConnection:(...q)=>v.getState().isValidConnection?.(...q)??!0,onConnect:L,onConnectStart:B,onConnectEnd:(...q)=>v.getState().onConnectEnd?.(...q),onReconnectEnd:V,updateConnection:M,getTransform:()=>v.getState().transform,getFromHandle:()=>v.getState().connection.fromHandle,dragThreshold:v.getState().connectionDragThreshold,handleDomNode:g.currentTarget})},b=g=>S(g,{nodeId:n.target,id:n.targetHandle??null,type:"target"}),N=g=>S(g,{nodeId:n.source,id:n.sourceHandle??null,type:"source"}),w=()=>m(!0),y=()=>m(!1);return(0,l.jsxs)(l.Fragment,{children:[(e===!0||e==="source")&&(0,l.jsx)(Jh,{position:i,centerX:r,centerY:s,radius:t,onMouseDown:b,onMouseEnter:w,onMouseOut:y,type:"source"}),(e===!0||e==="target")&&(0,l.jsx)(Jh,{position:c,centerX:a,centerY:o,radius:t,onMouseDown:N,onMouseEnter:w,onMouseOut:y,type:"target"})]})}function RF({id:e,edgesFocusable:t,edgesReconnectable:n,elementsSelectable:r,onClick:s,onDoubleClick:a,onContextMenu:o,onMouseEnter:i,onMouseMove:c,onMouseLeave:u,reconnectRadius:d,onReconnect:f,onReconnectStart:h,onReconnectEnd:m,rfId:v,edgeTypes:S,noPanClassName:b,onError:N,disableKeyboardA11y:w}){let y=ke(ae=>ae.edgeLookup.get(e));const g=ke(ae=>ae.defaultEdgeOptions);y=g?{...g,...y}:y;let x=y.type||"default",C=S?.[x]||Kh[x];C===void 0&&(N?.("011",en.error011(x)),x="default",C=S?.default||Kh.default);const j=!!(y.focusable||t&&typeof y.focusable>"u"),E=typeof f<"u"&&(y.reconnectable||n&&typeof y.reconnectable>"u"),R=!!(y.selectable||r&&typeof y.selectable>"u"),O=(0,p.useRef)(null),[k,_]=(0,p.useState)(!1),[A,I]=(0,p.useState)(!1),T=Ke(),{zIndex:M=y.zIndex,sourceX:P,sourceY:V,targetX:L,targetY:B,sourcePosition:q,targetPosition:F}=ke((0,p.useCallback)(ae=>{const be=ae.nodeLookup.get(y.source),J=ae.nodeLookup.get(y.target);if(!be||!J)return Yh;const le=CP({id:e,sourceNode:be,targetNode:J,sourceHandle:y.sourceHandle||null,targetHandle:y.targetHandle||null,connectionMode:ae.connectionMode,onError:N}),ue=pP({selected:y.selected,zIndex:y.zIndex,sourceNode:be,targetNode:J,elevateOnSelect:ae.elevateEdgesOnSelect,zIndexMode:ae.zIndexMode});return{...le||Yh,zIndex:ue}},[y.source,y.target,y.sourceHandle,y.targetHandle,y.selected,y.zIndex,N]),et),K=(0,p.useMemo)(()=>y.markerStart?`url('#${Ic(y.markerStart,v)}')`:void 0,[y.markerStart,v]),H=(0,p.useMemo)(()=>y.markerEnd?`url('#${Ic(y.markerEnd,v)}')`:void 0,[y.markerEnd,v]);if(y.hidden||P===null||V===null||L===null||B===null)return null;const Y=ae=>{const{addSelectedEdges:be,unselectNodesAndEdges:J,multiSelectionActive:le}=T.getState();R&&(T.setState({nodesSelectionActive:!1}),y.selected&&le?(J({nodes:[],edges:[y]}),O.current?.blur()):be([e])),s&&s(ae,y)},ne=a?ae=>{a(ae,{...y})}:void 0,ee=o?ae=>{o(ae,{...y})}:void 0,$=i?ae=>{i(ae,{...y})}:void 0,Q=c?ae=>{c(ae,{...y})}:void 0,he=u?ae=>{u(ae,{...y})}:void 0,pe=ae=>{if(!w&&By.includes(ae.key)&&R){const{unselectNodesAndEdges:be,addSelectedEdges:J}=T.getState();ae.key==="Escape"?(O.current?.blur(),be({edges:[y]})):J([e])}};return(0,l.jsx)("svg",{style:{zIndex:M},children:(0,l.jsxs)("g",{className:ct(["react-flow__edge",`react-flow__edge-${x}`,y.className,b,{selected:y.selected,animated:y.animated,inactive:!R&&!s,updating:k,selectable:R}]),onClick:Y,onDoubleClick:ne,onContextMenu:ee,onMouseEnter:$,onMouseMove:Q,onMouseLeave:he,onKeyDown:j?pe:void 0,tabIndex:j?0:void 0,role:y.ariaRole??(j?"group":"img"),"aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":y.ariaLabel===null?void 0:y.ariaLabel||`Edge from ${y.source} to ${y.target}`,"aria-describedby":j?`${bx}-${v}`:void 0,ref:O,...y.domAttributes,children:[!A&&(0,l.jsx)(C,{id:e,source:y.source,target:y.target,type:y.type,selected:y.selected,animated:y.animated,selectable:R,deletable:y.deletable??!0,label:y.label,labelStyle:y.labelStyle,labelShowBg:y.labelShowBg,labelBgStyle:y.labelBgStyle,labelBgPadding:y.labelBgPadding,labelBgBorderRadius:y.labelBgBorderRadius,sourceX:P,sourceY:V,targetX:L,targetY:B,sourcePosition:q,targetPosition:F,data:y.data,style:y.style,sourceHandleId:y.sourceHandle,targetHandleId:y.targetHandle,markerStart:K,markerEnd:H,pathOptions:"pathOptions"in y?y.pathOptions:void 0,interactionWidth:y.interactionWidth}),E&&(0,l.jsx)(TF,{edge:y,isReconnectable:E,reconnectRadius:d,onReconnect:f,onReconnectStart:h,onReconnectEnd:m,sourceX:P,sourceY:V,targetX:L,targetY:B,sourcePosition:q,targetPosition:F,setUpdateHover:_,setReconnecting:I})]})})}var kF=(0,p.memo)(RF),_F=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function Kx({defaultMarkerColor:e,onlyRenderVisibleElements:t,rfId:n,edgeTypes:r,noPanClassName:s,onReconnect:a,onEdgeContextMenu:o,onEdgeMouseEnter:i,onEdgeMouseMove:c,onEdgeMouseLeave:u,onEdgeClick:d,reconnectRadius:f,onEdgeDoubleClick:h,onReconnectStart:m,onReconnectEnd:v,disableKeyboardA11y:S}){const{edgesFocusable:b,edgesReconnectable:N,elementsSelectable:w,onError:y}=ke(_F,et),g=pF(t);return(0,l.jsxs)("div",{className:"react-flow__edges",children:[(0,l.jsx)(bF,{defaultColor:e,rfId:n}),g.map(x=>(0,l.jsx)(kF,{id:x,edgesFocusable:b,edgesReconnectable:N,elementsSelectable:w,noPanClassName:s,onReconnect:a,onContextMenu:o,onMouseEnter:i,onMouseMove:c,onMouseLeave:u,onClick:d,reconnectRadius:f,onDoubleClick:h,onReconnectStart:m,onReconnectEnd:v,rfId:n,onError:y,edgeTypes:r,disableKeyboardA11y:S},x))]})}Kx.displayName="EdgeRenderer";var AF=(0,p.memo)(Kx),Qh=e=>`translate(${e[0]}px,${e[1]}px) scale(${e[2]})`;function MF({children:e}){const t=Ke(),n=(0,p.useRef)(null),[r]=(0,p.useState)(()=>t.getState().transform);return Ex(()=>{let s=null;const a=()=>{const o=t.getState().transform;s&&o[0]===s[0]&&o[1]===s[1]&&o[2]===s[2]||(s=o,n.current&&(n.current.style.transform=Qh(o)))};return a(),t.subscribe(a)},[t]),(0,l.jsx)("div",{ref:n,className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:Qh(r)},children:e})}function OF(e){const t=Oi(),n=(0,p.useRef)(!1);(0,p.useEffect)(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}var DF=e=>e.panZoom?.syncViewport;function PF(e){const t=ke(DF),n=Ke();return(0,p.useEffect)(()=>{e&&(t?.(e),n.setState({transform:[e.x,e.y,e.zoom]}))},[e,t]),null}function Xh(e){return e.connection.inProgress?{...e.connection,to:Ha(e.connection.to,e.transform)}:{...e.connection}}function LF(e){return e?n=>e(Xh(n)):Xh}function FF(e){return ke(LF(e),et)}var $F=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function zF({containerStyle:e,style:t,type:n,component:r}){const{nodesConnectable:s,width:a,height:o,isValid:i,inProgress:c}=ke($F,et);return a&&s&&c?(0,l.jsx)("svg",{style:e,width:a,height:o,className:"react-flow__connectionline react-flow__container",children:(0,l.jsx)("g",{className:ct(["react-flow__connection",Xy(i)]),children:(0,l.jsx)(Yx,{style:t,type:n,CustomComponent:r,isValid:i})})}):null}var Yx=({style:e,type:t=ar.Bezier,CustomComponent:n,isValid:r})=>{const{inProgress:s,from:a,fromNode:o,fromHandle:i,fromPosition:c,to:u,toNode:d,toHandle:f,toPosition:h,pointer:m}=FF();if(!s)return;if(n)return(0,l.jsx)(n,{connectionLineType:t,connectionLineStyle:e,fromNode:o,fromHandle:i,fromX:a.x,fromY:a.y,toX:u.x,toY:u.y,fromPosition:c,toPosition:h,connectionStatus:Xy(r),toNode:d,toHandle:f,pointer:m});let v="";const S={sourceX:a.x,sourceY:a.y,sourcePosition:c,targetX:u.x,targetY:u.y,targetPosition:h};switch(t){case ar.Bezier:[v]=rx(S);break;case ar.SimpleBezier:[v]=Dx(S);break;case ar.Step:[v]=Ec({...S,borderRadius:0});break;case ar.SmoothStep:[v]=Ec(S);break;default:[v]=ax(S)}return(0,l.jsx)("path",{d:v,fill:"none",className:"react-flow__connection-path",style:e})};Yx.displayName="ConnectionLine";var VF={};function Zh(e=VF){(0,p.useRef)(e),Ke(),(0,p.useEffect)(()=>{},[e])}function BF(){Ke(),(0,p.useRef)(!1),(0,p.useEffect)(()=>{},[])}function Gx({nodeTypes:e,edgeTypes:t,onInit:n,onNodeClick:r,onEdgeClick:s,onNodeDoubleClick:a,onEdgeDoubleClick:o,onNodeMouseEnter:i,onNodeMouseMove:c,onNodeMouseLeave:u,onNodeContextMenu:d,onSelectionContextMenu:f,onSelectionStart:h,onSelectionEnd:m,connectionLineType:v,connectionLineStyle:S,connectionLineComponent:b,connectionLineContainerStyle:N,selectionKeyCode:w,selectionOnDrag:y,selectionMode:g,multiSelectionKeyCode:x,panActivationKeyCode:C,zoomActivationKeyCode:j,deleteKeyCode:E,onlyRenderVisibleElements:R,elementsSelectable:O,defaultViewport:k,translateExtent:_,minZoom:A,maxZoom:I,preventScrolling:T,defaultMarkerColor:M,zoomOnScroll:P,zoomOnPinch:V,panOnScroll:L,panOnScrollSpeed:B,panOnScrollMode:q,zoomOnDoubleClick:F,panOnDrag:K,autoPanOnSelection:H,onPaneClick:Y,onPaneMouseEnter:ne,onPaneMouseMove:ee,onPaneMouseLeave:$,onPaneScroll:Q,onPaneContextMenu:he,paneClickDistance:pe,nodeClickDistance:ae,onEdgeContextMenu:be,onEdgeMouseEnter:J,onEdgeMouseMove:le,onEdgeMouseLeave:ue,reconnectRadius:We,onReconnect:Ye,onReconnectStart:Ve,onReconnectEnd:ft,noDragClassName:Ae,noWheelClassName:mt,noPanClassName:ye,disableKeyboardA11y:D,nodeExtent:z,rfId:U,viewport:X,onViewportChange:se,nodesDraggable:Z}){return Zh(e),Zh(t),BF(),OF(n),PF(X),(0,l.jsx)(aF,{onPaneClick:Y,onPaneMouseEnter:ne,onPaneMouseMove:ee,onPaneMouseLeave:$,onPaneContextMenu:he,onPaneScroll:Q,paneClickDistance:pe,deleteKeyCode:E,selectionKeyCode:w,selectionOnDrag:y,selectionMode:g,onSelectionStart:h,onSelectionEnd:m,multiSelectionKeyCode:x,panActivationKeyCode:C,zoomActivationKeyCode:j,elementsSelectable:O,zoomOnScroll:P,zoomOnPinch:V,zoomOnDoubleClick:F,panOnScroll:L,panOnScrollSpeed:B,panOnScrollMode:q,panOnDrag:K,autoPanOnSelection:H,defaultViewport:k,translateExtent:_,minZoom:A,maxZoom:I,onSelectionContextMenu:f,preventScrolling:T,noDragClassName:Ae,noWheelClassName:mt,noPanClassName:ye,disableKeyboardA11y:D,onViewportChange:se,isControlledViewport:!!X,children:(0,l.jsxs)(MF,{children:[(0,l.jsx)(AF,{edgeTypes:t,onEdgeClick:s,onEdgeDoubleClick:o,onReconnect:Ye,onReconnectStart:Ve,onReconnectEnd:ft,onlyRenderVisibleElements:R,onEdgeContextMenu:be,onEdgeMouseEnter:J,onEdgeMouseMove:le,onEdgeMouseLeave:ue,reconnectRadius:We,defaultMarkerColor:M,noPanClassName:ye,disableKeyboardA11y:D,rfId:U}),(0,l.jsx)(zF,{style:S,type:v,component:b,containerStyle:N}),(0,l.jsx)("div",{className:"react-flow__edgelabel-renderer"}),(0,l.jsx)(mF,{nodeTypes:e,onNodeClick:r,onNodeDoubleClick:a,onNodeMouseEnter:i,onNodeMouseMove:c,onNodeMouseLeave:u,onNodeContextMenu:d,nodeClickDistance:ae,onlyRenderVisibleElements:R,noPanClassName:ye,noDragClassName:Ae,disableKeyboardA11y:D,nodeExtent:z,rfId:U,nodesDraggable:Z}),(0,l.jsx)("div",{className:"react-flow__viewport-portal"})]})})}Gx.displayName="GraphView";var UF=(0,p.memo)(Gx),HF=Jy("React Flow","https://reactflow.dev/"),em=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,width:s,height:a,fitView:o,fitViewOptions:i,minZoom:c=.5,maxZoom:u=2,nodeOrigin:d,nodeExtent:f,zIndexMode:h="basic"}={})=>{const m=new Map,v=new Map,S=new Map,b=new Map,N=r??t??[],w=n??e??[],y=d??[0,0],g=f??Na;lx(S,b,N);const{nodesInitialized:x}=jc(w,m,v,{nodeOrigin:y,nodeExtent:g,zIndexMode:h});let C=[0,0,1];if(o&&s&&a){const j=Ba(m,{filter:k=>!!((k.width||k.initialWidth)&&(k.height||k.initialHeight))}),{x:E,y:R,zoom:O}=dd(j,s,a,c,u,i?.padding??.1);C=[E,R,O]}return{rfId:"1",width:s??0,height:a??0,transform:C,nodes:w,nodesInitialized:x,nodeLookup:m,parentLookup:v,edges:N,edgeLookup:b,connectionLookup:S,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:n!==void 0,hasDefaultEdges:r!==void 0,panZoom:null,minZoom:c,maxZoom:u,translateExtent:Na,nodeExtent:g,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:Is.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:y,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:o??!1,fitViewOptions:i,fitViewResolver:null,connection:{...Hy},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:HF,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:Uy,zIndexMode:h,defaultEdgeOptions:void 0,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map,onNodesDelete:void 0,onEdgesDelete:void 0,onDelete:void 0,onBeforeDelete:void 0,onViewportChangeStart:void 0,onViewportChange:void 0,onViewportChangeEnd:void 0,onNodeDragStart:void 0,onNodeDrag:void 0,onNodeDragStop:void 0,onSelectionDragStart:void 0,onSelectionDrag:void 0,onSelectionDragStop:void 0,onMoveStart:void 0,onMove:void 0,onMoveEnd:void 0,onConnect:void 0,onConnectStart:void 0,onConnectEnd:void 0,onClickConnectStart:void 0,onClickConnectEnd:void 0}},qF=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,width:s,height:a,fitView:o,fitViewOptions:i,minZoom:c,maxZoom:u,nodeOrigin:d,nodeExtent:f,zIndexMode:h})=>oL((m,v)=>{async function S(){const{nodeLookup:b,panZoom:N,fitViewOptions:w,fitViewResolver:y,width:g,height:x,minZoom:C,maxZoom:j}=v();N&&(await lP({nodes:b,width:g,height:x,panZoom:N,minZoom:C,maxZoom:j},w),y?.resolve(!0),m({fitViewResolver:null}))}return{...em({nodes:e,edges:t,width:s,height:a,fitView:o,fitViewOptions:i,minZoom:c,maxZoom:u,nodeOrigin:d,nodeExtent:f,defaultNodes:n,defaultEdges:r,zIndexMode:h}),setNodes:b=>{const{nodeLookup:N,parentLookup:w,nodeOrigin:y,nodeExtent:g,elevateNodesOnSelect:x,fitViewQueued:C,zIndexMode:j,nodesSelectionActive:E}=v(),{nodesInitialized:R,hasSelectedNodes:O}=jc(b,N,w,{nodeOrigin:y,nodeExtent:g,elevateNodesOnSelect:x,checkEquality:!0,zIndexMode:j}),k=E&&O;C&&R?(S(),m({nodes:b,nodesInitialized:R,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:k})):m({nodes:b,nodesInitialized:R,nodesSelectionActive:k})},setEdges:b=>{const{connectionLookup:N,edgeLookup:w}=v();lx(N,w,b),m({edges:b})},setDefaultNodesAndEdges:(b,N)=>{if(b){const{setNodes:w}=v();w(b),m({hasDefaultNodes:!0})}if(N){const{setEdges:w}=v();w(N),m({hasDefaultEdges:!0})}},updateNodeInternals:b=>{const{triggerNodeChanges:N,nodeLookup:w,parentLookup:y,domNode:g,nodeOrigin:x,nodeExtent:C,debug:j,fitViewQueued:E,zIndexMode:R}=v(),{changes:O,updatedInternals:k}=_P(b,w,y,g,x,C,R);k&&(jP(w,y,{nodeOrigin:x,nodeExtent:C,zIndexMode:R}),E?(S(),m({fitViewQueued:!1,fitViewOptions:void 0})):m({}),O?.length>0&&(j&&console.log("React Flow: trigger node changes",O),N?.(O)))},updateNodePositions:(b,N=!1)=>{const w=[];let y=[];const{nodeLookup:g,triggerNodeChanges:x,connection:C,updateConnection:j,onNodesChangeMiddlewareMap:E}=v();for(const[R,O]of b){const k=g.get(R),_=!!(k?.expandParent&&k?.parentId&&O?.position),A={id:R,type:"position",position:_?{x:Math.max(0,O.position.x),y:Math.max(0,O.position.y)}:O.position,dragging:N};if(k&&C.inProgress&&C.fromNode.id===k.id){const I=Jr(k,C.fromHandle,ve.Left,!0);j({...C,from:I})}_&&k.parentId&&w.push({id:R,parentId:k.parentId,rect:{...O.internals.positionAbsolute,width:O.measured.width??0,height:O.measured.height??0}}),y.push(A)}if(w.length>0){const{parentLookup:R,nodeOrigin:O}=v(),k=yd(w,g,R,O);y.push(...k)}for(const R of E.values())y=R(y);x(y)},triggerNodeChanges:b=>{const{onNodesChange:N,setNodes:w,nodes:y,hasDefaultNodes:g,debug:x}=v();b?.length&&(g&&w(Cx(b,y)),x&&console.log("React Flow: trigger node changes",b),N?.(b))},triggerEdgeChanges:b=>{const{onEdgesChange:N,setEdges:w,edges:y,hasDefaultEdges:g,debug:x}=v();b?.length&&(g&&w(IL(b,y)),x&&console.log("React Flow: trigger edge changes",b),N?.(b))},addSelectedNodes:b=>{const{multiSelectionActive:N,edgeLookup:w,nodeLookup:y,triggerNodeChanges:g,triggerEdgeChanges:x}=v();if(N){g(b.map(C=>Cr(C,!0)));return}g(hs(y,new Set([...b]),!0)),x(hs(w))},addSelectedEdges:b=>{const{multiSelectionActive:N,edgeLookup:w,nodeLookup:y,triggerNodeChanges:g,triggerEdgeChanges:x}=v();if(N){x(b.map(C=>Cr(C,!0)));return}x(hs(w,new Set([...b]))),g(hs(y,new Set,!0))},unselectNodesAndEdges:({nodes:b,edges:N}={})=>{const{edges:w,nodes:y,nodeLookup:g,triggerNodeChanges:x,triggerEdgeChanges:C}=v(),j=b||y,E=N||w,R=[];for(const k of j){if(!k.selected)continue;const _=g.get(k.id);_&&(_.selected=!1),R.push(Cr(k.id,!1))}const O=[];for(const k of E)k.selected&&O.push(Cr(k.id,!1));x(R),C(O)},setMinZoom:b=>{const{panZoom:N,maxZoom:w}=v();N?.setScaleExtent([b,w]),m({minZoom:b})},setMaxZoom:b=>{const{panZoom:N,minZoom:w}=v();N?.setScaleExtent([w,b]),m({maxZoom:b})},setTranslateExtent:b=>{v().panZoom?.setTranslateExtent(b),m({translateExtent:b})},resetSelectedElements:()=>{const{edges:b,nodes:N,triggerNodeChanges:w,triggerEdgeChanges:y,elementsSelectable:g}=v();if(!g)return;const x=N.reduce((j,E)=>E.selected?[...j,Cr(E.id,!1)]:j,[]),C=b.reduce((j,E)=>E.selected?[...j,Cr(E.id,!1)]:j,[]);w(x),y(C)},setNodeExtent:b=>{const{nodes:N,nodeLookup:w,parentLookup:y,nodeOrigin:g,elevateNodesOnSelect:x,nodeExtent:C,zIndexMode:j}=v();b[0][0]===C[0][0]&&b[0][1]===C[0][1]&&b[1][0]===C[1][0]&&b[1][1]===C[1][1]||(jc(N,w,y,{nodeOrigin:g,nodeExtent:b,elevateNodesOnSelect:x,checkEquality:!1,zIndexMode:j}),m({nodeExtent:b}))},panBy:b=>{const{transform:N,width:w,height:y,panZoom:g,translateExtent:x}=v();return AP({delta:b,panZoom:g,transform:N,translateExtent:x,width:w,height:y})},setCenter:async(b,N,w)=>{const{width:y,height:g,maxZoom:x,panZoom:C}=v();if(!C)return!1;const j=typeof w?.zoom<"u"?w.zoom:x;return await C.setViewport({x:y/2-b*j,y:g/2-N*j,zoom:j},{duration:w?.duration,ease:w?.ease,interpolate:w?.interpolate}),!0},cancelConnection:()=>{m({connection:{...Hy}})},updateConnection:b=>{m({connection:b})},reset:()=>m({...em()})}},Object.is);function Jx({initialNodes:e,initialEdges:t,defaultNodes:n,defaultEdges:r,initialWidth:s,initialHeight:a,initialMinZoom:o,initialMaxZoom:i,initialFitViewOptions:c,fitView:u,nodeOrigin:d,nodeExtent:f,zIndexMode:h,children:m}){const[v]=(0,p.useState)(()=>qF({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,width:s,height:a,fitView:u,minZoom:o,maxZoom:i,fitViewOptions:c,nodeOrigin:d,nodeExtent:f,zIndexMode:h}));return(0,l.jsx)(iL,{value:v,children:(0,l.jsx)(_L,{children:(0,l.jsx)(WL,{children:m})})})}function WF({children:e,nodes:t,edges:n,defaultNodes:r,defaultEdges:s,width:a,height:o,fitView:i,fitViewOptions:c,minZoom:u,maxZoom:d,nodeOrigin:f,nodeExtent:h,zIndexMode:m}){return(0,p.useContext)(Ai)?(0,l.jsx)(l.Fragment,{children:e}):(0,l.jsx)(Jx,{initialNodes:t,initialEdges:n,defaultNodes:r,defaultEdges:s,initialWidth:a,initialHeight:o,fitView:i,initialFitViewOptions:c,initialMinZoom:u,initialMaxZoom:d,nodeOrigin:f,nodeExtent:h,zIndexMode:m,children:e})}var KF={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function YF({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,className:s,nodeTypes:a,edgeTypes:o,onNodeClick:i,onEdgeClick:c,onInit:u,onMove:d,onMoveStart:f,onMoveEnd:h,onConnect:m,onConnectStart:v,onConnectEnd:S,onClickConnectStart:b,onClickConnectEnd:N,onNodeMouseEnter:w,onNodeMouseMove:y,onNodeMouseLeave:g,onNodeContextMenu:x,onNodeDoubleClick:C,onNodeDragStart:j,onNodeDrag:E,onNodeDragStop:R,onNodesDelete:O,onEdgesDelete:k,onDelete:_,onSelectionChange:A,onSelectionDragStart:I,onSelectionDrag:T,onSelectionDragStop:M,onSelectionContextMenu:P,onSelectionStart:V,onSelectionEnd:L,onBeforeDelete:B,connectionMode:q,connectionLineType:F=ar.Bezier,connectionLineStyle:K,connectionLineComponent:H,connectionLineContainerStyle:Y,deleteKeyCode:ne="Backspace",selectionKeyCode:ee="Shift",selectionOnDrag:$=!1,selectionMode:Q=Ea.Full,panActivationKeyCode:he="Space",multiSelectionKeyCode:pe=ja()?"Meta":"Control",zoomActivationKeyCode:ae=ja()?"Meta":"Control",snapToGrid:be,snapGrid:J,onlyRenderVisibleElements:le=!1,selectNodesOnDrag:ue,nodesDraggable:We,autoPanOnNodeFocus:Ye,nodesConnectable:Ve,nodesFocusable:ft,nodeOrigin:Ae=wx,edgesFocusable:mt,edgesReconnectable:ye,elementsSelectable:D=!0,defaultViewport:z=bL,minZoom:U=.5,maxZoom:X=2,translateExtent:se=Na,preventScrolling:Z=!0,nodeExtent:oe,defaultMarkerColor:xe="#b1b1b7",zoomOnScroll:je=!0,zoomOnPinch:nt=!0,panOnScroll:yt=!1,panOnScrollSpeed:st=.5,panOnScrollMode:vr=Lr.Free,zoomOnDoubleClick:xn=!0,panOnDrag:ge=!0,onPaneClick:Te,onPaneMouseEnter:ie,onPaneMouseMove:ce,onPaneMouseLeave:fe,onPaneScroll:Ie,onPaneContextMenu:we,paneClickDistance:He=1,nodeClickDistance:Ee=0,children:Qn,onReconnect:pt,onReconnectStart:an,onReconnectEnd:Xn,onEdgeContextMenu:zs,onEdgeDoubleClick:Mb,onEdgeMouseEnter:Ob,onEdgeMouseMove:Db,onEdgeMouseLeave:Pb,reconnectRadius:Lb=10,onNodesChange:Fb,onEdgesChange:$b,noDragClassName:zb="nodrag",noWheelClassName:Vb="nowheel",noPanClassName:Ed="nopan",fitView:Id,fitViewOptions:jd,connectOnClick:Bb,attributionPosition:Ub,proOptions:Hb,defaultEdgeOptions:qb,elevateNodesOnSelect:Wb=!0,elevateEdgesOnSelect:Kb=!1,disableKeyboardA11y:Td=!1,autoPanOnConnect:Yb,autoPanOnNodeDrag:Gb,autoPanOnSelection:Jb=!0,autoPanSpeed:Qb,connectionRadius:Xb,isValidConnection:Zb,onError:ew,style:tw,id:Rd,nodeDragThreshold:nw,connectionDragThreshold:rw,viewport:sw,onViewportChange:aw,width:ow,height:iw,colorMode:lw="light",debug:cw,onScroll:kd,ariaLabelConfig:uw,zIndexMode:_d="basic",...dw},fw){const zi=Rd||"1",hw=CL(lw),mw=(0,p.useCallback)(Ad=>{Ad.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),kd?.(Ad)},[kd]);return(0,l.jsx)("div",{"data-testid":"rf__wrapper",...dw,onScroll:mw,style:{...tw,...KF},ref:fw,className:ct(["react-flow",s,hw]),id:Rd,role:"application",children:(0,l.jsxs)(WF,{nodes:e,edges:t,width:ow,height:iw,fitView:Id,fitViewOptions:jd,minZoom:U,maxZoom:X,nodeOrigin:Ae,nodeExtent:oe,zIndexMode:_d,children:[(0,l.jsx)(SL,{nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:m,onConnectStart:v,onConnectEnd:S,onClickConnectStart:b,onClickConnectEnd:N,nodesDraggable:We,autoPanOnNodeFocus:Ye,nodesConnectable:Ve,nodesFocusable:ft,edgesFocusable:mt,edgesReconnectable:ye,elementsSelectable:D,elevateNodesOnSelect:Wb,elevateEdgesOnSelect:Kb,minZoom:U,maxZoom:X,nodeExtent:oe,onNodesChange:Fb,onEdgesChange:$b,snapToGrid:be,snapGrid:J,connectionMode:q,translateExtent:se,connectOnClick:Bb,defaultEdgeOptions:qb,fitView:Id,fitViewOptions:jd,onNodesDelete:O,onEdgesDelete:k,onDelete:_,onNodeDragStart:j,onNodeDrag:E,onNodeDragStop:R,onSelectionDrag:T,onSelectionDragStart:I,onSelectionDragStop:M,onMove:d,onMoveStart:f,onMoveEnd:h,noPanClassName:Ed,nodeOrigin:Ae,rfId:zi,autoPanOnConnect:Yb,autoPanOnNodeDrag:Gb,autoPanSpeed:Qb,onError:ew,connectionRadius:Xb,isValidConnection:Zb,selectNodesOnDrag:ue,nodeDragThreshold:nw,connectionDragThreshold:rw,onBeforeDelete:B,debug:cw,ariaLabelConfig:uw,zIndexMode:_d}),(0,l.jsx)(UF,{onInit:u,onNodeClick:i,onEdgeClick:c,onNodeMouseEnter:w,onNodeMouseMove:y,onNodeMouseLeave:g,onNodeContextMenu:x,onNodeDoubleClick:C,nodeTypes:a,edgeTypes:o,connectionLineType:F,connectionLineStyle:K,connectionLineComponent:H,connectionLineContainerStyle:Y,selectionKeyCode:ee,selectionOnDrag:$,selectionMode:Q,deleteKeyCode:ne,multiSelectionKeyCode:pe,panActivationKeyCode:he,zoomActivationKeyCode:ae,onlyRenderVisibleElements:le,defaultViewport:z,translateExtent:se,minZoom:U,maxZoom:X,preventScrolling:Z,zoomOnScroll:je,zoomOnPinch:nt,zoomOnDoubleClick:xn,panOnScroll:yt,panOnScrollSpeed:st,panOnScrollMode:vr,panOnDrag:ge,autoPanOnSelection:Jb,onPaneClick:Te,onPaneMouseEnter:ie,onPaneMouseMove:ce,onPaneMouseLeave:fe,onPaneScroll:Ie,onPaneContextMenu:we,paneClickDistance:He,nodeClickDistance:Ee,onSelectionContextMenu:P,onSelectionStart:V,onSelectionEnd:L,onReconnect:pt,onReconnectStart:an,onReconnectEnd:Xn,onEdgeContextMenu:zs,onEdgeDoubleClick:Mb,onEdgeMouseEnter:Ob,onEdgeMouseMove:Db,onEdgeMouseLeave:Pb,reconnectRadius:Lb,defaultMarkerColor:xe,noDragClassName:zb,noWheelClassName:Vb,noPanClassName:Ed,rfId:zi,disableKeyboardA11y:Td,nodeExtent:oe,viewport:sw,onViewportChange:aw,nodesDraggable:We}),(0,l.jsx)(xL,{onSelectionChange:A}),Qn,(0,l.jsx)(mL,{proOptions:Hb,position:Ub}),(0,l.jsx)(hL,{rfId:zi,disableKeyboardA11y:Td})]})})}var GF=Nx(YF);function JF(e){const[t,n]=(0,p.useState)(e);return[t,n,(0,p.useCallback)(r=>n(s=>Cx(r,s)),[])]}var QF=e=>t=>{if(!e.includeHiddenNodes)return t.nodesInitialized;if(t.nodeLookup.size===0)return!1;for(const[,{internals:n}]of t.nodeLookup)if(n.handleBounds===void 0||!fd(n.userNode))return!1;return!0};function XF(e={includeHiddenNodes:!1}){return ke(QF(e))}var fB=en.error014();function ZF({dimensions:e,lineWidth:t,variant:n,className:r}){return(0,l.jsx)("path",{strokeWidth:t,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:ct(["react-flow__background-pattern",n,r])})}function e$({radius:e,className:t}){return(0,l.jsx)("circle",{cx:e,cy:e,r:e,className:ct(["react-flow__background-pattern","dots",t])})}var Kn;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(Kn||(Kn={}));var t$={[Kn.Dots]:1,[Kn.Lines]:1,[Kn.Cross]:6},n$=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function Qx({id:e,variant:t=Kn.Dots,gap:n=20,size:r,lineWidth:s=1,offset:a=0,color:o,bgColor:i,style:c,className:u,patternClassName:d}){const f=(0,p.useRef)(null),{transform:h,patternId:m}=ke(n$,et),v=r||t$[t],S=t===Kn.Dots,b=t===Kn.Cross,N=Array.isArray(n)?n:[n,n],w=[N[0]*h[2]||1,N[1]*h[2]||1],y=v*h[2],g=Array.isArray(a)?a:[a,a],x=b?[y,y]:w,C=[g[0]*h[2]+x[0]/2,g[1]*h[2]+x[1]/2],j=`${m}${e||""}`;return(0,l.jsxs)("svg",{className:ct(["react-flow__background",u]),style:{...c,...Di,"--xy-background-color-props":i,"--xy-background-pattern-color-props":o},ref:f,"data-testid":"rf__background",children:[(0,l.jsx)("pattern",{id:j,x:h[0]%w[0],y:h[1]%w[1],width:w[0],height:w[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${C[0]},-${C[1]})`,children:S?(0,l.jsx)(e$,{radius:y/2,className:d}):(0,l.jsx)(ZF,{dimensions:x,lineWidth:s,variant:t,className:d})}),(0,l.jsx)("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${j})`})]})}Qx.displayName="Background";var r$=(0,p.memo)(Qx);function s$(){return(0,l.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:(0,l.jsx)("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function a$(){return(0,l.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:(0,l.jsx)("path",{d:"M0 0h32v4.2H0z"})})}function o$(){return(0,l.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:(0,l.jsx)("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function i$(){return(0,l.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:(0,l.jsx)("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function l$(){return(0,l.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:(0,l.jsx)("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}function ca({children:e,className:t,...n}){return(0,l.jsx)("button",{type:"button",className:ct(["react-flow__controls-button",t]),...n,children:e})}var c$=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function Xx({style:e,showZoom:t=!0,showFitView:n=!0,showInteractive:r=!0,fitViewOptions:s,onZoomIn:a,onZoomOut:o,onFitView:i,onInteractiveChange:c,className:u,children:d,position:f="bottom-left",orientation:h="vertical","aria-label":m}){const v=Ke(),{isInteractive:S,minZoomReached:b,maxZoomReached:N,ariaLabelConfig:w}=ke(c$,et),{zoomIn:y,zoomOut:g,fitView:x}=Oi(),C=()=>{y(),a?.()},j=()=>{g(),o?.()},E=()=>{x(s),i?.()},R=()=>{v.setState({nodesDraggable:!S,nodesConnectable:!S,elementsSelectable:!S}),c?.(!S)};return(0,l.jsxs)(Mi,{className:ct(["react-flow__controls",h==="horizontal"?"horizontal":"vertical",u]),position:f,style:e,"data-testid":"rf__controls","aria-label":m??w["controls.ariaLabel"],children:[t&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(ca,{onClick:C,className:"react-flow__controls-zoomin",title:w["controls.zoomIn.ariaLabel"],"aria-label":w["controls.zoomIn.ariaLabel"],disabled:N,children:(0,l.jsx)(s$,{})}),(0,l.jsx)(ca,{onClick:j,className:"react-flow__controls-zoomout",title:w["controls.zoomOut.ariaLabel"],"aria-label":w["controls.zoomOut.ariaLabel"],disabled:b,children:(0,l.jsx)(a$,{})})]}),n&&(0,l.jsx)(ca,{className:"react-flow__controls-fitview",onClick:E,title:w["controls.fitView.ariaLabel"],"aria-label":w["controls.fitView.ariaLabel"],children:(0,l.jsx)(o$,{})}),r&&(0,l.jsx)(ca,{className:"react-flow__controls-interactive",onClick:R,title:w["controls.interactive.ariaLabel"],"aria-label":w["controls.interactive.ariaLabel"],children:S?(0,l.jsx)(l$,{}):(0,l.jsx)(i$,{})}),d]})}Xx.displayName="Controls";var u$=(0,p.memo)(Xx);function d$({id:e,x:t,y:n,width:r,height:s,style:a,color:o,strokeColor:i,strokeWidth:c,className:u,borderRadius:d,shapeRendering:f,selected:h,onClick:m}){const{background:v,backgroundColor:S}=a||{},b=o||v||S;return(0,l.jsx)("rect",{className:ct(["react-flow__minimap-node",{selected:h},u]),x:t,y:n,rx:d,ry:d,width:r,height:s,style:{fill:b,stroke:i,strokeWidth:c},shapeRendering:f,onClick:m?N=>m(N,e):void 0})}var f$=(0,p.memo)(d$),h$=e=>e.nodes.map(t=>t.id),Ll=e=>e instanceof Function?e:()=>e;function m$({nodeStrokeColor:e,nodeColor:t,nodeClassName:n="",nodeBorderRadius:r=5,nodeStrokeWidth:s,nodeComponent:a=f$,onClick:o}){const i=ke(h$,et),c=Ll(t),u=Ll(e),d=Ll(n),f=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return(0,l.jsx)(l.Fragment,{children:i.map(h=>(0,l.jsx)(g$,{id:h,nodeColorFunc:c,nodeStrokeColorFunc:u,nodeClassNameFunc:d,nodeBorderRadius:r,nodeStrokeWidth:s,NodeComponent:a,onClick:o,shapeRendering:f},h))})}function p$({id:e,nodeColorFunc:t,nodeStrokeColorFunc:n,nodeClassNameFunc:r,nodeBorderRadius:s,nodeStrokeWidth:a,shapeRendering:o,NodeComponent:i,onClick:c}){const{node:u,x:d,y:f,width:h,height:m}=ke(v=>{const S=v.nodeLookup.get(e);if(!S)return{node:void 0,x:0,y:0,width:0,height:0};const b=S.internals.userNode,{x:N,y:w}=S.internals.positionAbsolute,{width:y,height:g}=yn(b);return{node:b,x:N,y:w,width:y,height:g}},et);return!u||u.hidden||!fd(u)?null:(0,l.jsx)(i,{x:d,y:f,width:h,height:m,style:u.style,selected:!!u.selected,className:r(u),color:t(u),borderRadius:s,strokeColor:n(u),strokeWidth:a,shapeRendering:o,onClick:c,id:u.id})}var g$=(0,p.memo)(p$),v$=(0,p.memo)(m$),y$=200,x$=150,b$=e=>!e.hidden,w$=e=>{const t={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};let n=!1;for(const r of e.nodeLookup.values())if(!r.hidden){n=!0;break}return{viewBB:t,boundingRect:n?Yy(Ba(e.nodeLookup,{filter:b$}),t):t,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},tm=(e,t)=>e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height,S$=(e,t)=>tm(e.viewBB,t.viewBB)&&tm(e.boundingRect,t.boundingRect)&&e.rfId===t.rfId&&e.panZoom===t.panZoom&&e.translateExtent===t.translateExtent&&e.flowWidth===t.flowWidth&&e.flowHeight===t.flowHeight&&e.ariaLabelConfig===t.ariaLabelConfig,C$="react-flow__minimap-desc";function Zx({style:e,className:t,nodeStrokeColor:n,nodeColor:r,nodeClassName:s="",nodeBorderRadius:a=5,nodeStrokeWidth:o,nodeComponent:i,bgColor:c,maskColor:u,maskStrokeColor:d,maskStrokeWidth:f,position:h="bottom-right",onClick:m,onNodeClick:v,pannable:S=!1,zoomable:b=!1,ariaLabel:N,inversePan:w,zoomStep:y=1,offsetScale:g=5}){const x=Ke(),C=(0,p.useRef)(null),{boundingRect:j,panZoom:E,viewBB:R,rfId:O,translateExtent:k,flowWidth:_,flowHeight:A,ariaLabelConfig:I}=ke(w$,S$),T=e?.width??y$,M=e?.height??x$,P=j.width/T,V=j.height/M,L=Math.max(P,V),B=L*T,q=L*M,F=g*L,K=j.x-(B-j.width)/2-F,H=j.y-(q-j.height)/2-F,Y=B+F*2,ne=q+F*2,ee=`${C$}-${O}`,$=(0,p.useRef)(0),Q=(0,p.useRef)();$.current=L,(0,p.useEffect)(()=>{const J=x.getState().panZoom;if(C.current&&J)return Q.current=VP({domNode:C.current,panZoom:J,getTransform:()=>x.getState().transform,getViewScale:()=>$.current}),()=>{Q.current?.destroy()}},[E]),(0,p.useEffect)(()=>{Q.current?.update({translateExtent:k,width:_,height:A,inversePan:w,pannable:S,zoomStep:y,zoomable:b})},[S,b,w,y,k,_,A]);const he=m?J=>{const[le,ue]=Q.current?.pointer(J)||[0,0];m(J,{x:le,y:ue})}:void 0,pe=(0,p.useCallback)((J,le)=>{const ue=x.getState().nodeLookup.get(le).internals.userNode;v?.(J,ue)},[v]),ae=v?pe:void 0,be=N??I["minimap.ariaLabel"];return(0,l.jsx)(Mi,{position:h,style:{...e,"--xy-minimap-background-color-props":typeof c=="string"?c:void 0,"--xy-minimap-mask-background-color-props":typeof u=="string"?u:void 0,"--xy-minimap-mask-stroke-color-props":typeof d=="string"?d:void 0,"--xy-minimap-mask-stroke-width-props":typeof f=="number"?f*L:void 0,"--xy-minimap-node-background-color-props":typeof r=="string"?r:void 0,"--xy-minimap-node-stroke-color-props":typeof n=="string"?n:void 0,"--xy-minimap-node-stroke-width-props":typeof o=="number"?o:void 0},className:ct(["react-flow__minimap",t]),"data-testid":"rf__minimap",children:(0,l.jsxs)("svg",{width:T,height:M,viewBox:`${K} ${H} ${Y} ${ne}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":ee,ref:C,onClick:he,children:[be&&(0,l.jsx)("title",{id:ee,children:be}),(0,l.jsx)(v$,{onClick:ae,nodeColor:r,nodeStrokeColor:n,nodeBorderRadius:a,nodeClassName:s,nodeStrokeWidth:o,nodeComponent:i}),(0,l.jsx)("path",{className:"react-flow__minimap-mask",d:`M${K-F},${H-F}h${Y+F*2}v${ne+F*2}h${-Y-F*2}z
19
- M${R.x},${R.y}h${R.width}v${R.height}h${-R.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}Zx.displayName="MiniMap";var N$=(0,p.memo)(Zx),E$=e=>t=>e?`${Math.max(1/t.transform[2],1)}`:void 0,I$={[Rs.Line]:"right",[Rs.Handle]:"bottom-right"};function j$({nodeId:e,position:t,variant:n=Rs.Handle,className:r,style:s=void 0,children:a,color:o,minWidth:i=10,minHeight:c=10,maxWidth:u=Number.MAX_VALUE,maxHeight:d=Number.MAX_VALUE,keepAspectRatio:f=!1,resizeDirection:h,autoScale:m=!0,shouldResize:v,onResizeStart:S,onResize:b,onResizeEnd:N}){const w=Rx(),y=typeof e=="string"?e:w,g=Ke(),x=(0,p.useRef)(null),C=n===Rs.Handle,j=ke((0,p.useCallback)(E$(C&&m),[C,m]),et),E=(0,p.useRef)(null),R=t??I$[n];(0,p.useEffect)(()=>{if(!(!x.current||!y))return E.current||(E.current=eL({domNode:x.current,nodeId:y,getStoreItems:()=>{const{nodeLookup:k,transform:_,snapGrid:A,snapToGrid:I,nodeOrigin:T,domNode:M}=g.getState();return{nodeLookup:k,transform:_,snapGrid:A,snapToGrid:I,nodeOrigin:T,paneDomNode:M}},onChange:(k,_)=>{const{triggerNodeChanges:A,nodeLookup:I,parentLookup:T,nodeOrigin:M}=g.getState(),P=[],V={x:k.x,y:k.y},L=I.get(y);if(L&&L.expandParent&&L.parentId){const B=L.origin??M,q=k.width??L.measured.width??0,F=k.height??L.measured.height??0,K={id:L.id,parentId:L.parentId,rect:{width:q,height:F,...Qy({x:k.x??L.position.x,y:k.y??L.position.y},{width:q,height:F},L.parentId,I,B)}},H=yd([K],I,T,M);P.push(...H),V.x=k.x?Math.max(B[0]*q,k.x):void 0,V.y=k.y?Math.max(B[1]*F,k.y):void 0}if(V.x!==void 0&&V.y!==void 0){const B={id:y,type:"position",position:{...V}};P.push(B)}if(k.width!==void 0&&k.height!==void 0){const B={id:y,type:"dimensions",resizing:!0,setAttributes:h?h==="horizontal"?"width":"height":!0,dimensions:{width:k.width,height:k.height}};P.push(B)}for(const B of _){const q={...B,type:"position"};P.push(q)}A(P)},onEnd:({width:k,height:_})=>{const A={id:y,type:"dimensions",resizing:!1,dimensions:{width:k,height:_}};g.getState().triggerNodeChanges([A])}})),E.current.update({controlPosition:R,boundaries:{minWidth:i,minHeight:c,maxWidth:u,maxHeight:d},keepAspectRatio:f,resizeDirection:h,onResizeStart:S,onResize:b,onResizeEnd:N,shouldResize:v}),()=>{E.current?.destroy()}},[R,i,c,u,d,f,S,b,N,v]);const O=R.split("-");return(0,l.jsx)("div",{className:ct(["react-flow__resize-control","nodrag",...O,n,r]),ref:x,style:{...s,scale:j,...o&&{[C?"backgroundColor":"borderColor"]:o}},children:a})}var hB=(0,p.memo)(j$),T$=()=>(0,l.jsxs)("div",{className:"absolute bottom-3 left-3 z-10 flex items-center gap-3 rounded-md border bg-card/95 px-3 py-2 text-xs text-muted-foreground shadow-sm",children:[(0,l.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,l.jsx)(Jo,{className:"size-3.5 text-amber-500"})," Primary key"]}),(0,l.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,l.jsx)(Wc,{className:"size-3.5 text-sky-500"})," Foreign key"]}),(0,l.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,l.jsx)(Yl,{className:"size-3 fill-current"})," Required"]}),(0,l.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,l.jsx)(Yl,{className:"size-3"})," Nullable"]})]});var R$=({column:e})=>(0,l.jsxs)("span",{className:"flex w-8 shrink-0 items-center gap-1",children:[e.isPrimaryKey?(0,l.jsx)(Jo,{"aria-label":"Primary key",className:"size-3.5 text-amber-500"}):e.isForeignKey?(0,l.jsx)(Wc,{"aria-label":"Foreign key",className:"size-3.5 text-sky-500"}):(0,l.jsx)("span",{className:"size-3.5"}),(0,l.jsx)(Yl,{"aria-label":e.isNullable?"Nullable":"Required",className:G("size-3 text-muted-foreground",!e.isNullable&&"fill-current")})]}),nm="size-1! min-h-0! min-w-0! border-0! bg-transparent!",k$=({data:e})=>{const{table:t,active:n,dimmed:r,highlightedColumns:s}=e;return(0,l.jsxs)("div",{"data-active":n||void 0,"data-dimmed":r||void 0,className:G("group overflow-hidden rounded-md border bg-card text-card-foreground shadow-sm transition-opacity",n&&"border-primary ring-2 ring-primary/30",r&&"opacity-25"),children:[(0,l.jsxs)("div",{className:"flex items-center gap-2 border-b bg-muted/60 px-3 text-sm font-medium",style:{height:36},children:[(0,l.jsx)(wo,{className:"size-4 shrink-0 text-muted-foreground"}),(0,l.jsxs)("span",{className:"flex-1 truncate",children:[t.schemaName&&t.schemaName!=="public"&&(0,l.jsxs)("span",{className:"text-muted-foreground",children:[t.schemaName,"."]}),t.tableName]}),(0,l.jsx)(Qm,{to:"/table/$table",params:{table:t.tableName},"aria-label":`Open ${t.tableName}`,title:"Open table",className:"nodrag rounded p-0.5 text-muted-foreground opacity-0 transition-opacity hover:bg-muted hover:text-foreground focus-visible:opacity-100 group-hover:opacity-100",onClick:a=>a.stopPropagation(),children:(0,l.jsx)(Zw,{className:"size-4"})})]}),t.columns.map(a=>(0,l.jsxs)("div",{className:G("relative flex items-center gap-2 px-3 text-xs",s.has(`${t.id}.${a.columnName}`)&&"bg-primary/10"),style:{height:28},children:[(0,l.jsx)(ks,{type:"target",position:ve.Left,id:`${a.columnName}-l`,isConnectable:!1,className:nm}),(0,l.jsx)(R$,{column:a}),(0,l.jsx)("span",{className:"truncate font-mono",children:a.columnName}),(0,l.jsx)("span",{className:"ml-auto shrink-0 font-mono text-muted-foreground",children:a.dataTypeLabel}),(0,l.jsx)(ks,{type:"source",position:ve.Right,id:`${a.columnName}-r`,isConnectable:!1,className:nm})]},a.columnName))]})},_$={table:k$},A$=({tables:e,edges:t})=>{const n=e.map(s=>({id:s.id,width:bM(s),height:36+s.columns.length*28+2})),r=yM(n,t);return e.map((s,a)=>({id:s.id,type:"table",position:r.get(s.id)??{x:0,y:0},width:n[a].width,data:{table:s,active:!1,dimmed:!1,highlightedColumns:new Set}}))},M$=(e,t,n)=>({id:e.id,source:e.target,sourceHandle:`${e.targetColumn}-r`,target:e.source,targetHandle:`${e.sourceColumn}-l`,type:"smoothstep",animated:t,zIndex:t?1:0,style:{stroke:t?"var(--primary)":"var(--muted-foreground)",strokeWidth:t?2:1.25,opacity:n?.15:t?1:.55}}),O$=({tables:e,edges:t})=>{const{isDark:n}=bi(),r=Uc(),{fitView:s}=Oi(),a=XF(),[o,i]=Ce(me.ACTIVE_TABLE,{defaultValue:""}),[c]=Ce(me.SIDEBAR_SEARCH,{defaultValue:""}),[u,d]=(0,p.useState)(null),f=(0,p.useMemo)(()=>A$({tables:e,edges:t}),[e,t]),[h,m,v]=JF(f),S=(0,p.useRef)(!1);(0,p.useEffect)(()=>{m(f),S.current=!1},[f,m]);const b=(0,p.useRef)(!1);(0,p.useEffect)(()=>{a&&(o&&!b.current?s({nodes:[{id:o}],duration:400,maxZoom:1.1}):S.current||s(),S.current=!0,b.current=!1)},[o,a,s]);const N=j=>{b.current=!0,i(j||null)},w=u??(o||null),y=w?xM(t,w):null,g=c.trim().toLowerCase(),x=h.map(j=>({...j,data:{...j.data,active:j.id===o,dimmed:y!==null&&!y.tables.has(j.id)||g!==""&&!j.data.table.tableName.toLowerCase().includes(g),highlightedColumns:y?.columns??new Set}})),C=t.map(j=>{const E=y?.edgeIds.has(j.id)??!1;return M$(j,E,y!==null&&!E)});return(0,l.jsxs)(GF,{nodes:x,edges:C,nodeTypes:_$,onNodesChange:v,onNodeMouseEnter:(j,E)=>d(E.id),onNodeMouseLeave:()=>d(null),onNodeClick:(j,E)=>N(E.id===o?"":E.id),onNodeDoubleClick:(j,E)=>{r({to:"/table/$table",params:{table:E.data.table.tableName},search:{[me.TABLE_SCHEMA]:E.data.table.schemaName}})},onPaneClick:()=>N(""),nodesConnectable:!1,colorMode:n?"dark":"light",minZoom:.1,maxZoom:2,proOptions:{hideAttribution:!0},className:"bg-background!",children:[(0,l.jsx)(r$,{variant:Kn.Dots,gap:18,size:1.5}),(0,l.jsx)(u$,{position:"top-right",showInteractive:!1,children:(0,l.jsx)(ca,{title:"Reset layout","aria-label":"Reset layout",onClick:()=>{m(f),s({duration:300})},children:(0,l.jsx)(tp,{})})}),(0,l.jsx)(N$,{pannable:!0,zoomable:!0}),(0,l.jsx)(T$,{})]})},D$=e=>(0,l.jsx)(Jx,{children:(0,l.jsx)(O$,{...e})}),P$=()=>{const{selectedDatabase:e}=Ue(),[t]=Ce(me.ACTIVE_SCHEMA,{defaultValue:"all"}),{data:n,isLoading:r,error:s}=Yn({queryKey:Me.graph(e),queryFn:()=>WS(e),select:a=>a.data.data,enabled:!!e});return{...(0,p.useMemo)(()=>vM(n??[],t),[n,t]),isLoading:r,error:s}},mB=()=>{const{tables:e,edges:t,isLoading:n,error:r}=P$();return n?(0,l.jsx)("div",{className:"flex h-full items-center justify-center",children:(0,l.jsx)(As,{size:"size-6"})}):r?(0,l.jsxs)("div",{className:"flex h-full items-center justify-center text-sm text-muted-foreground",children:["Couldn't load the schema: ",r.message]}):e.length===0?(0,l.jsx)("div",{className:"flex h-full items-center justify-center text-sm text-muted-foreground",children:"This database has no tables yet."}):(0,l.jsxs)("div",{className:"relative h-full w-full",children:[(0,l.jsx)(D$,{tables:e,edges:t}),t.length===0&&(0,l.jsx)("p",{className:"pointer-events-none absolute top-3 left-1/2 z-10 -translate-x-1/2 rounded-md border bg-card px-3 py-1.5 text-xs text-muted-foreground shadow-sm",children:"This database has no foreign keys."})]})},rm="Select a table first",L$="Not available for schemaless databases",F$=()=>{const{pathname:e}=Xm(),t=jw({strict:!1}).table??null,{dbType:n}=Ue(),r=hr(),s=fi(),a=e.startsWith("/table/"),o=e.startsWith("/schema/");return{pathname:e,activeTable:t,dbType:n,isKeyValue:r?.dataModel==="key-value",isSchemaless:s,canCreateTable:!s,canEditRecords:!!t&&a,recordsHint:t?"Open the table data screen first":rm,hasIndexes:!!r?.indexes,canEditSchema:!!t&&o&&!s,schemaHint:s?L$:t?"Open the table schema screen first":rm}},$$=()=>{const{openOverlay:e,closeOverlay:t,isOverlayOpen:n}=Oe(),[r,s]=(0,p.useState)("all"),[a,o]=(0,p.useState)(""),i=(0,p.useRef)(null),c=n("command-palette.root"),u=(0,p.useCallback)(S=>{if(S){e("command-palette.root");return}t("command-palette.root"),s("all"),o("")},[e,t]),d=(0,p.useCallback)(S=>{u(!1),S()},[u]),f=(0,p.useCallback)(()=>{s("tables"),o(""),setTimeout(()=>i.current?.focus(),0)},[]),h=(0,p.useCallback)(()=>{s("all"),o(""),setTimeout(()=>i.current?.focus(),0)},[]),m=(0,p.useCallback)(S=>{if(r==="all"&&S.startsWith(">")){f(),o(S.slice(1));return}if(r==="all"&&(S.toLowerCase()==="table "||S.toLowerCase()==="tables ")){f();return}o(S)},[r,f]),v=(0,p.useCallback)(S=>{S.key==="Backspace"&&a===""&&r==="tables"&&(S.preventDefault(),h())},[a,r,h]);return cr("ctrl+k, meta+k",S=>{S.target?.closest?.(".monaco-editor")||(S.preventDefault(),u(!Oe.getState().isOverlayOpen("command-palette.root")))},{enableOnFormTags:!0,enableOnContentEditable:!0}),{open:c,mode:r,inputValue:a,inputRef:i,handleOpenChange:u,handleAction:d,handleInputChange:m,handleKeyDown:v,switchToAllMode:h,switchToTablesMode:f}};function z$(){const e=Uc(),t=Je(),{openOverlay:n}=Oe(),{toggleSidebarOpen:r,toggleSidebarPinned:s,sidebar:a}=Xo(),{toggleTheme:o,isDark:i}=bi(),{tablesList:c,isLoadingTablesList:u,errorTablesList:d}=ag(),{exportFile:f,isExportingFile:h}=xE(),{copyTableSchema:m,isCopyingSchema:v}=hN(),{requestAssistant:S}=fN(),{open:b,mode:N,inputValue:w,inputRef:y,handleOpenChange:g,handleAction:x,handleInputChange:C,handleKeyDown:j,switchToAllMode:E,switchToTablesMode:R}=$$(),{pathname:O,activeTable:k,dbType:_,isKeyValue:A,isSchemaless:I,canCreateTable:T,canEditRecords:M,recordsHint:P,canEditSchema:V,schemaHint:L,hasIndexes:B}=F$(),q=typeof navigator<"u"&&/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform),F=(H,Y)=>{x(()=>{_&&_n.capture("table_viewed",{db_type:_}),e({to:"/table/$table",params:{table:H},search:{[me.TABLE_SCHEMA]:Y}})})},K=H=>{x(()=>{S(H),n("chat.assistant")})};return(0,l.jsxs)(uN,{open:b,onOpenChange:g,children:[(0,l.jsxs)("div",{className:"flex items-center border-b border-input px-2 gap-2 w-full",children:[N==="tables"&&(0,l.jsxs)("button",{type:"button",onClick:E,"aria-label":"Back to all commands",className:"flex items-center gap-1.5 h-8! rounded-md bg-primary/10 px-2.5 py-1 text-xs font-medium text-primary transition-all hover:bg-primary/20 shrink-0",children:[(0,l.jsx)(wo,{className:"size-3.5"}),(0,l.jsx)("span",{children:"Tables"}),(0,l.jsx)(Gc,{className:"size-3 opacity-60"})]}),(0,l.jsx)(du,{ref:y,placeholder:N==="all"?"Search commands... (type > for tables)":"Search tables...",value:w,onValueChange:C,onKeyDown:j,className:"border-0 px-0"})]}),(0,l.jsxs)(fu,{children:[(0,l.jsx)(hu,{children:N==="tables"?"No tables found.":"No results found."}),N==="tables"&&!u&&!d&&c&&(0,l.jsx)(Vn,{heading:"Tables",children:c.length===0?(0,l.jsx)("div",{className:"py-6 text-center text-sm text-muted-foreground",children:"No tables in database"}):c.map(H=>(0,l.jsxs)(Fe,{value:oa(H),onSelect:()=>F(H.tableName,H.schemaName),children:[(0,l.jsx)(Vi,{className:"mr-2 size-4 text-primary"}),(0,l.jsxs)("div",{className:"flex flex-1 items-center justify-between",children:[(0,l.jsx)("span",{className:"font-medium",children:H.tableName}),(0,l.jsxs)("span",{className:"text-xs text-muted-foreground",children:[H.rowCountEstimated&&"~",H.rowCount," ",H.rowCount===1?"row":"rows"]})]})]},oa(H)))}),N==="tables"&&u&&(0,l.jsx)("div",{className:"py-6 text-center text-sm text-muted-foreground",children:"Loading tables..."}),N==="tables"&&d&&(0,l.jsx)("div",{className:"py-6 text-center text-sm text-muted-foreground",children:"Failed to load tables."}),N==="all"&&(0,l.jsxs)(l.Fragment,{children:[!A&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(Vn,{heading:"Quick Access",children:(0,l.jsxs)(Fe,{onSelect:R,keywords:["tables",">","go to table"],className:"group",children:[(0,l.jsx)(Yc,{className:"mr-2 size-4 text-primary"}),(0,l.jsxs)("div",{className:"flex flex-1 items-center justify-between",children:[(0,l.jsxs)("div",{className:"flex flex-col",children:[(0,l.jsx)("span",{children:"Search Tables"}),(0,l.jsx)("span",{className:"text-xs text-muted-foreground",children:"Navigate to any table quickly"})]}),(0,l.jsx)(dN,{children:">"})]})]})}),(0,l.jsx)(Us,{})]}),(0,l.jsxs)(Vn,{heading:"Go to",children:[!A&&(0,l.jsxs)(Fe,{onSelect:()=>x(()=>e({to:"/"})),keywords:["go","navigate","home","tables"],children:[(0,l.jsx)(wo,{className:"mr-2 size-4"}),(0,l.jsxs)("div",{className:"flex flex-col",children:[(0,l.jsx)("span",{children:"Go to Tables"}),(0,l.jsx)("span",{className:"text-xs text-muted-foreground",children:"Open the tables overview"})]})]}),(0,l.jsxs)(Fe,{onSelect:()=>x(()=>e({to:"/runner"})),keywords:["go","navigate","sql","query","runner","editor"],children:[(0,l.jsx)(Gw,{className:"mr-2 size-4"}),(0,l.jsxs)("div",{className:"flex flex-col",children:[(0,l.jsx)("span",{children:"Go to Query Runner"}),(0,l.jsx)("span",{className:"text-xs text-muted-foreground",children:"Write and execute queries"})]})]}),!A&&(0,l.jsxs)(Fe,{disabled:!k||I,onSelect:()=>{if(!k||I)return;const H=k;x(()=>e({to:"/schema/$table",params:{table:H},search:{[me.TABLE_SCHEMA]:t}}))},keywords:["go","navigate","schema","columns"],children:[(0,l.jsx)(rS,{className:"mr-2 size-4"}),(0,l.jsxs)("div",{className:"flex flex-col",children:[(0,l.jsx)("span",{children:"Go to Schema"}),(0,l.jsx)("span",{className:"text-xs text-muted-foreground",children:I?"Not available for schemaless databases":k?`View the schema of ${k}`:"Select a table first"})]})]}),B&&(0,l.jsxs)(Fe,{disabled:!k,onSelect:()=>{if(!k)return;const H=k;x(()=>e({to:"/indexes/$table",params:{table:H},search:{[me.TABLE_SCHEMA]:t}}))},keywords:["go","navigate","indexes","index"],children:[(0,l.jsx)(Md,{className:"mr-2 size-4"}),(0,l.jsxs)("div",{className:"flex flex-col",children:[(0,l.jsx)("span",{children:"Go to Indexes"}),(0,l.jsx)("span",{className:"text-xs text-muted-foreground",children:k?`View the indexes of ${k}`:"Select a table first"})]})]}),A&&(0,l.jsxs)(Fe,{onSelect:()=>x(()=>e({to:"/browser"})),keywords:["go","navigate","redis","browser","keys"],children:[(0,l.jsx)(Vi,{className:"mr-2 size-4"}),(0,l.jsxs)("div",{className:"flex flex-col",children:[(0,l.jsx)("span",{children:"Go to Redis Browser"}),(0,l.jsx)("span",{className:"text-xs text-muted-foreground",children:"Browse keys across logical databases"})]})]})]}),(0,l.jsx)(Us,{}),(0,l.jsxs)(Vn,{heading:"AI Assistant",children:[(0,l.jsxs)(Fe,{onSelect:()=>x(()=>n("chat.assistant")),keywords:["ai","assistant","chat","help"],children:[(0,l.jsx)(Hw,{className:"mr-2 size-4"}),(0,l.jsxs)("div",{className:"flex flex-col",children:[(0,l.jsx)("span",{children:"Chat with AI Assistant"}),(0,l.jsx)("span",{className:"text-xs text-muted-foreground",children:"Ask questions about your database"})]})]}),(0,l.jsxs)(Fe,{onSelect:()=>K("Generate a query for this database. Ask me for the goal if it is unclear."),keywords:["ai","generate","sql","query","write"],children:[(0,l.jsx)(Ww,{className:"mr-2 size-4"}),(0,l.jsxs)("div",{className:"flex flex-col",children:[(0,l.jsx)("span",{children:"Generate SQL with AI"}),(0,l.jsx)("span",{className:"text-xs text-muted-foreground",children:"Create queries using natural language"})]})]}),(0,l.jsxs)(Fe,{disabled:!k||I,onSelect:()=>{!k||I||K(`Explain the schema of table "${k}": what each column stores and how it relates to other tables.`)},keywords:["ai","explain","schema","table","understand"],children:[(0,l.jsx)(Ow,{className:"mr-2 size-4"}),(0,l.jsxs)("div",{className:"flex flex-col",children:[(0,l.jsx)("span",{children:"Explain Table Schema"}),(0,l.jsx)("span",{className:"text-xs text-muted-foreground",children:I?"Not available for schemaless databases":k?`Understand the structure of ${k} with AI`:"Select a table first"})]})]})]}),(0,l.jsx)(Us,{}),(0,l.jsxs)(Vn,{heading:"Database Actions",children:[T&&(0,l.jsxs)(Fe,{onSelect:()=>x(()=>n("table-builder.create-table")),keywords:["create","new","table"],children:[(0,l.jsx)(bo,{className:"mr-2 size-4"}),(0,l.jsxs)("div",{className:"flex flex-col",children:[(0,l.jsx)("span",{children:"Create New Table"}),(0,l.jsx)("span",{className:"text-xs text-muted-foreground",children:"Design and create a new database table"})]})]}),A&&(0,l.jsxs)(Fe,{onSelect:()=>x(()=>{O.startsWith("/browser")||e({to:"/browser"}),n("redis-browser.create-key")}),keywords:["create","new","redis","key"],children:[(0,l.jsx)(Jo,{className:"mr-2 size-4"}),(0,l.jsxs)("div",{className:"flex flex-col",children:[(0,l.jsx)("span",{children:"Create Redis Key"}),(0,l.jsx)("span",{className:"text-xs text-muted-foreground",children:"Add a new key to the selected database"})]})]}),!A&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(Fe,{disabled:!M,onSelect:()=>x(()=>n("records.add-record")),keywords:["add","new","row","record","insert"],children:[(0,l.jsx)(bo,{className:"mr-2 size-4"}),(0,l.jsxs)("div",{className:"flex flex-col",children:[(0,l.jsx)("span",{children:"Add New Row"}),(0,l.jsx)("span",{className:"text-xs text-muted-foreground",children:M?`Insert a new record into ${k}`:P})]})]}),(0,l.jsxs)(Fe,{disabled:!M,onSelect:()=>x(()=>n("records.bulk-insert")),keywords:["bulk","insert","import","csv","excel","json"],children:[(0,l.jsx)(Jw,{className:"mr-2 size-4"}),(0,l.jsxs)("div",{className:"flex flex-col",children:[(0,l.jsx)("span",{children:"Bulk Insert Records"}),(0,l.jsx)("span",{className:"text-xs text-muted-foreground",children:M?`Import many records into ${k}`:P})]})]}),(0,l.jsxs)(Fe,{disabled:!V,onSelect:()=>x(()=>n("schema.add-column")),keywords:["add","new","column","schema"],children:[(0,l.jsx)(aS,{className:"mr-2 size-4"}),(0,l.jsxs)("div",{className:"flex flex-col",children:[(0,l.jsx)("span",{children:"Add Column"}),(0,l.jsx)("span",{className:"text-xs text-muted-foreground",children:V?`Add a column to ${k}`:L})]})]}),B&&(0,l.jsxs)(Fe,{disabled:!k,onSelect:()=>{if(!k)return;const H=k;x(()=>{O.startsWith("/indexes/")||e({to:"/indexes/$table",params:{table:H},search:{[me.TABLE_SCHEMA]:t}}),n("indexes.create-index")})},keywords:["create","add","new","index","indexes"],children:[(0,l.jsx)(Md,{className:"mr-2 size-4"}),(0,l.jsxs)("div",{className:"flex flex-col",children:[(0,l.jsx)("span",{children:"Create Index"}),(0,l.jsx)("span",{className:"text-xs text-muted-foreground",children:k?`Create an index on ${k}`:"Select a table first"})]})]}),(0,l.jsxs)(Fe,{disabled:!k||h,onSelect:()=>{if(!k)return;const H=k;x(()=>{f({tableName:H,schemaName:t,format:"csv"}).catch(()=>{})})},keywords:["export","download","csv"],children:[(0,l.jsx)(Od,{className:"mr-2 size-4"}),(0,l.jsxs)("div",{className:"flex flex-col",children:[(0,l.jsx)("span",{children:"Export Table as CSV"}),(0,l.jsx)("span",{className:"text-xs text-muted-foreground",children:k?`Download ${k} as a CSV file`:"Select a table first"})]})]}),(0,l.jsxs)(Fe,{disabled:!k||h,onSelect:()=>{if(!k)return;const H=k;x(()=>{f({tableName:H,schemaName:t,format:"json"}).catch(()=>{})})},keywords:["export","download","json"],children:[(0,l.jsx)(Od,{className:"mr-2 size-4"}),(0,l.jsxs)("div",{className:"flex flex-col",children:[(0,l.jsx)("span",{children:"Export Table as JSON"}),(0,l.jsx)("span",{className:"text-xs text-muted-foreground",children:k?`Download ${k} as a JSON file`:"Select a table first"})]})]}),(0,l.jsxs)(Fe,{disabled:!k||v||I,onSelect:()=>{if(!k||I)return;const H=k;x(()=>{m(H,t).catch(()=>{})})},keywords:["copy","schema","ddl","clipboard"],children:[(0,l.jsx)(Qc,{className:"mr-2 size-4"}),(0,l.jsxs)("div",{className:"flex flex-col",children:[(0,l.jsx)("span",{children:"Copy Table Schema"}),(0,l.jsx)("span",{className:"text-xs text-muted-foreground",children:I?"Not available for schemaless databases":k?`Copy the schema of ${k} to the clipboard`:"Select a table first"})]})]})]}),(0,l.jsxs)(Fe,{onSelect:()=>x(()=>{window.location.reload()}),keywords:["refresh","reload","restart"],children:[(0,l.jsx)(_w,{className:"mr-2 size-4"}),(0,l.jsxs)("div",{className:"flex flex-col",children:[(0,l.jsx)("span",{children:"Reload Application"}),(0,l.jsx)("span",{className:"text-xs text-muted-foreground",children:"Reload all tables and data"})]})]})]}),(0,l.jsx)(Us,{}),(0,l.jsxs)(Vn,{heading:"View & Settings",children:[(0,l.jsxs)(Fe,{onSelect:()=>x(r),keywords:["sidebar","show","hide","toggle","view"],children:[(0,l.jsx)(Rw,{className:"mr-2 size-4"}),(0,l.jsxs)("div",{className:"flex flex-col",children:[(0,l.jsxs)("span",{children:[a.isOpen?"Hide":"Show"," Sidebar"]}),(0,l.jsx)("span",{className:"text-xs text-muted-foreground",children:"Toggle sidebar visibility"})]})]}),(0,l.jsxs)(Fe,{onSelect:()=>x(s),keywords:["sidebar","pin","unpin"],children:[a.isPinned?(0,l.jsx)(Bw,{className:"mr-2 size-4"}):(0,l.jsx)(Mw,{className:"mr-2 size-4"}),(0,l.jsxs)("div",{className:"flex flex-col",children:[(0,l.jsxs)("span",{children:[a.isPinned?"Unpin":"Pin"," Sidebar"]}),(0,l.jsx)("span",{className:"text-xs text-muted-foreground",children:"Keep sidebar always visible"})]})]}),(0,l.jsxs)(Fe,{onSelect:()=>x(o),keywords:["theme","dark","light","mode","appearance"],children:[i?(0,l.jsx)(nS,{className:"mr-2 size-4"}):(0,l.jsx)($w,{className:"mr-2 size-4"}),(0,l.jsxs)("div",{className:"flex flex-col",children:[(0,l.jsxs)("span",{children:["Switch to ",i?"Light":"Dark"," Mode"]}),(0,l.jsx)("span",{className:"text-xs text-muted-foreground",children:"Toggle the application theme"})]})]}),(0,l.jsxs)(Fe,{onSelect:()=>x(()=>n("settings.app")),keywords:["settings","preferences","configure","options"],children:[(0,l.jsx)(ep,{className:"mr-2 size-4"}),(0,l.jsxs)("div",{className:"flex flex-col",children:[(0,l.jsx)("span",{children:"Settings & Preferences"}),(0,l.jsx)("span",{className:"text-xs text-muted-foreground",children:"Configure application settings"})]})]})]}),!A&&!u&&!d&&c&&c.length>0&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(Us,{}),(0,l.jsxs)(Vn,{heading:"Recent Tables",children:[c.slice(0,5).map(H=>(0,l.jsxs)(Fe,{value:oa(H),keywords:["table","recent",H.tableName],onSelect:()=>F(H.tableName,H.schemaName),children:[(0,l.jsx)(Vi,{className:"mr-2 size-4"}),(0,l.jsxs)("div",{className:"flex flex-col",children:[(0,l.jsx)("span",{children:H.tableName}),(0,l.jsxs)("span",{className:"text-xs text-muted-foreground",children:[H.rowCountEstimated&&"~",H.rowCount," ",H.rowCount===1?"row":"rows"]})]})]},oa(H))),c.length>5&&(0,l.jsx)(Fe,{onSelect:R,className:"text-muted-foreground",children:(0,l.jsxs)("span",{className:"text-xs",children:["+",c.length-5," more tables — press"," ",(0,l.jsx)(ht,{className:"rounded border bg-muted px-1 py-0.5 font-mono text-[10px]",children:">"})," ","to see all"]})})]})]})]})]}),(0,l.jsxs)("div",{"aria-hidden":"true",className:"flex items-center gap-3 border-t border-border px-3 py-2 text-[11px] text-muted-foreground",children:[(0,l.jsxs)("span",{className:"flex items-center gap-1",children:[(0,l.jsx)(ht,{children:"↑"}),(0,l.jsx)(ht,{children:"↓"})," to navigate"]}),(0,l.jsxs)("span",{className:"flex items-center gap-1",children:[(0,l.jsx)(ht,{children:"↵"})," to select"]}),(0,l.jsxs)("span",{className:"flex items-center gap-1",children:[(0,l.jsx)(ht,{children:"esc"})," to close"]}),(0,l.jsxs)("span",{className:"ml-auto flex items-center gap-1",children:[(0,l.jsx)(ht,{children:q?"⌘":"Ctrl"}),(0,l.jsx)(ht,{children:"K"})," to toggle"]})]})]})}function eb(){return{id:"memory",label:"Session only (not saved)",persistent:!1,warning:"Keys stay in memory for this tab only. They are not saved across reloads.",load:()=>({}),save:()=>{},clear:()=>{}}}var V$=/^[a-z][a-z0-9-]{0,63}$/,B$="x-byok-";function Qt(e){return typeof e=="string"&&V$.test(e)}function sm(e){if(!Qt(e))throw new Error(`Invalid BYOK provider id: ${e}`);return`${B$}${e}`}function U$(e){if(typeof e!="object"||e===null||!("error"in e))return!1;const t=e.error;return!(typeof t!="object"||t===null||!("type"in t)||t.type!=="byok_missing"||!("provider"in t)||typeof t.provider!="string"||!Qt(t.provider)||!("message"in t)||typeof t.message!="string")}var kc=class extends Error{provider;constructor(e){super(`Missing ${e} API key`),this.name="ByokMissingError",this.provider=e}},Ho=class extends Error{provider;reason;constructor(e,t){super(t==="locked"?`${e} key is locked`:`Missing ${e} API key`),this.name="ByokBlockedError",this.provider=e,this.reason=t}},tb=class extends Error{constructor(){super("BYOK is enabled but no provider slug was resolved. Pass byokProvider or forwardedProps.provider."),this.name="ByokUnresolvedProviderError"}};function io(e){return e.length<=4?"••":e.slice(-4)}var H$={status:{},locked:!1,prompt:null,storageError:null},nb=new WeakMap;function q$(e){const t=Object.entries(e.keys()).filter(r=>!!r[1]).map(r=>r[0]).filter(Qt);if(t.length===1)return t[0];const n=nb.get(e)??[];if(n.length===1)return n[0]}function xr(e){if(!Qt(e))throw new Error(`Invalid BYOK provider id: ${e}`);return e}function lo(e,t){return e instanceof Error&&e.message.length>0?e.message:t}function W$(e){if(typeof DOMException<"u"&&e instanceof DOMException&&e.name==="NotAllowedError")return!0;if(e instanceof Error){if(e.name==="NotAllowedError")return!0;const t=e.message.toLowerCase();return t.includes("cancelled")||t.includes("not allowed")}return!1}function am(e){if(typeof e!="object"||e===null)return{};const t={};for(const[n,r]of Object.entries(e))Qt(n)&&typeof r=="string"&&r.length>0&&(t[n]=r);return t}var K$=class{storage;#e={};#t={};#n;#r=null;#l=!1;#i={};#d={};#c=new Set;#u;#a=null;#o;constructor(e={}){this.storage=e.storage??eb();const t=[];for(const n of e.providers??[]){const r=xr(n.id);t.push(r),n.with?.length&&(this.#d[r]=n.with.map(s=>xr(s.id)))}nb.set(this,t),this.#n=!!this.storage.unlockable,this.#u=this.#f(),this.#o=this.#g()}ready=()=>this.#o;subscribe=e=>(this.#c.add(e),()=>{this.#c.delete(e)});getSnapshot=()=>this.#u;#f(){return{status:{...this.#t},locked:this.#n,prompt:this.#r,storageError:this.#a}}keys(){return{...this.#e}}request(e,t){this.#r={provider:xr(e),reason:t},this.#s()}setServerCoverage(e){if(typeof e=="boolean"){this.#l=e,this.#i={};return}this.#l=!1,this.#i={...this.#i,...e}}#m(e){return this.#l||this.#i[e]===!0}#h(e){return[e,...this.#d[e]??[]]}headers(e){const t={};if(e){xr(e);for(const n of this.#h(e)){const r=this.#e[n];r&&(t[sm(n)]=r)}return t}for(const[n,r]of Object.entries(this.#e))r&&(t[sm(n)]=r);return t}async prepare(e){if(await this.#o,this.storage.unlockable&&this.#n&&await this.unlock(),!!e){xr(e);for(const t of this.#h(e))if(!(this.#e[t]||this.#m(t)))throw this.request(t,"missing"),new Ho(t,"missing")}}async update(e,t){await this.#o;let n,r;if(t===void 0){if(!this.#r)throw new Error("byok.update(key) cannot run when prompt is null");n=this.#r.provider,r=e}else n=xr(e),r=t;if(r=r.trim(),r.length===0)throw new Error("BYOK key must be non-empty");this.storage.unlockable&&this.#n&&await this.unlock();const s=this.#e,a={...this.#t},o=this.#n,i=this.#r,c=this.#a,u={...this.#e,[n]:r};try{await this.storage.save(u)}catch(d){throw this.#e=s,this.#t=a,this.#n=o,this.#r=i,this.#a=c,this.#t[n]={state:"error",masked:io(r),message:lo(d,`Failed to persist ${n} key`)},this.#s(),d}this.#e=u,this.#t[n]={state:"set",masked:io(r)},this.#n=!1,this.#r=null,this.#a=null,this.#s()}async clear(e){if(await this.#o,e){xr(e),this.storage.unlockable&&this.#n&&await this.unlock();const a=this.#e,o={...this.#t},i={...this.#e};delete i[e];try{await this.storage.save(i)}catch(c){throw this.#e=a,this.#t=o,this.#s(),c}this.#e=i,delete this.#t[e],this.#s();return}const t=this.#e,n=this.#t,r=this.#n,s=this.#r;try{await this.storage.clear()}catch(a){throw this.#e=t,this.#t=n,this.#n=r,this.#r=s,this.#s(),a}this.#e={},this.#t={},this.#n=!1,this.#r=null,this.#a=null,this.#s()}async unlock(){if(await this.#o,!!this.storage.unlockable)try{const e=am(await this.storage.load());this.#e={...e,...this.#e};for(const[t,n]of Object.entries(e)){if(!Qt(t)||!n)continue;const r=this.#t[t];(!r||r.state==="locked")&&(this.#t[t]={state:"set",masked:io(n)})}this.#n=!1,this.#a=null,this.#s()}catch(e){if(W$(e)){const t=this.#p();if(t)throw this.request(t,"locked"),new Ho(t,"locked")}throw this.#a=lo(e,"Failed to unlock keyring"),this.#s(),e instanceof Error?e:new Error(String(e))}}#p(){if(this.#r&&Qt(this.#r.provider))return this.#r.provider;for(const[e,t]of Object.entries(this.#t))if(t?.state==="locked"&&Qt(e))return e}async#g(){if(this.storage.unlockable){if(!this.storage.peek)return;try{const e=await this.storage.peek();for(const[t,n]of Object.entries(e))!Qt(t)||this.#t[t]||(this.#t[t]={state:"locked",masked:n||"••"});this.#n=Object.keys(e).length>0,this.#a=null,this.#s()}catch(e){this.#a=lo(e,"Failed to read keyring"),this.#s()}return}try{const e=am(await this.storage.load());this.#e={...e,...this.#e};for(const[t,n]of Object.entries(e))!Qt(t)||!n||(this.#t[t]={state:"set",masked:io(n)});this.#a=null,this.#s()}catch(e){this.#a=lo(e,"Failed to read keyring"),this.#s()}}#s(){this.#u=this.#f();for(const e of this.#c)e()}};function Y$(e={}){return new K$(e)}var pa=Y$({storage:eb()});pa.setServerCoverage({gemini:!0});var _c=class extends Error{missingFeature;constructor(e){super(G$(e)),this.name="UnsupportedResponseStreamError",this.missingFeature=e}};function G$(e){return`Streaming fetch responses are not supported in this runtime because ${e} is unavailable. React Native users need a compatible fetch/stream/TextDecoder polyfill, or should use a fetch, XHR, or custom transport that can deliver streaming chunks.`}function J$(e){if(!e.body)throw new _c("Response.body");if(typeof e.body.getReader!="function")throw new _c("Response.body.getReader");return e.body.getReader()}function Q$(){if(typeof globalThis.TextDecoder!="function")throw new _c("TextDecoder");return new globalThis.TextDecoder}function X$(e){if(!e.startsWith("data:"))return e;const t=e.slice(5);return t.startsWith(" ")?t.slice(1):t}function om(e){if(e instanceof Date)return Number.isNaN(e.getTime())?void 0:e;if(typeof e!="string")return;const t=new Date(e);return Number.isNaN(t.getTime())?void 0:t}function Z$(e){const t=om(e.createdAt),n=e.parts.map(a=>{if(a.type!=="tool-result")return a;const o=om(a.createdAt),{createdAt:i,...c}=a;return o?{...c,createdAt:o}:c}),{createdAt:r,...s}=e;return t?{...s,parts:n,createdAt:t}:{...s,parts:n}}function Ac(e){return e.map(Z$)}function im(e){return Object.keys(e).length>0?e:void 0}function rb(e){return typeof e=="object"&&e!=null&&!Array.isArray(e)&&"promptTokens"in e}function ez(e,t){return rb(e)?e:Array.isArray(e)?lm(e,t):lm(void 0,t)}function lm(e,t){const n=e?.[0];if(n==null&&t==null)return;const{promptTokensDetails:r,completionTokensDetails:s,...a}=t??{},o=im({...n?.cachedInputTokens!==void 0?{cachedTokens:n.cachedInputTokens}:{},...r}),i=im({...n?.reasoningTokens!==void 0?{reasoningTokens:n.reasoningTokens}:{},...s});return{promptTokens:n?.inputTokens??0,completionTokens:n?.outputTokens??0,totalTokens:n?.totalTokens??0,...a,...o!==void 0?{promptTokensDetails:o}:{},...i!==void 0?{completionTokensDetails:i}:{}}}function cm(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}function sb(e,t){if(t==null)return e;if(e==null)return{...t};const n={...e,...t};return cm(e.tanstack)&&cm(t.tanstack)&&(n.tanstack={...e.tanstack,...t.tanstack}),n}function Ze(e){if(e==null)return;const t="metadata"in e?e.metadata:void 0,n=(t!=null&&typeof t=="object"&&!Array.isArray(t)?t:e).tanstack;if(!(n==null||typeof n!="object"||Array.isArray(n)))return n}function ab(e,t){const n=e.metadata,r=Ze(e)??{};return{...e,metadata:{...n??{},tanstack:{...r,...t}}}}var co=(function(e){return e.TEXT_MESSAGE_START="TEXT_MESSAGE_START",e.TEXT_MESSAGE_CONTENT="TEXT_MESSAGE_CONTENT",e.TEXT_MESSAGE_END="TEXT_MESSAGE_END",e.TEXT_MESSAGE_CHUNK="TEXT_MESSAGE_CHUNK",e.TOOL_CALL_START="TOOL_CALL_START",e.TOOL_CALL_ARGS="TOOL_CALL_ARGS",e.TOOL_CALL_END="TOOL_CALL_END",e.TOOL_CALL_CHUNK="TOOL_CALL_CHUNK",e.TOOL_CALL_RESULT="TOOL_CALL_RESULT",e.THINKING_START="THINKING_START",e.THINKING_END="THINKING_END",e.THINKING_TEXT_MESSAGE_START="THINKING_TEXT_MESSAGE_START",e.THINKING_TEXT_MESSAGE_CONTENT="THINKING_TEXT_MESSAGE_CONTENT",e.THINKING_TEXT_MESSAGE_END="THINKING_TEXT_MESSAGE_END",e.STATE_SNAPSHOT="STATE_SNAPSHOT",e.STATE_DELTA="STATE_DELTA",e.MESSAGES_SNAPSHOT="MESSAGES_SNAPSHOT",e.ACTIVITY_SNAPSHOT="ACTIVITY_SNAPSHOT",e.ACTIVITY_DELTA="ACTIVITY_DELTA",e.RAW="RAW",e.CUSTOM="CUSTOM",e.RUN_STARTED="RUN_STARTED",e.RUN_FINISHED="RUN_FINISHED",e.RUN_ERROR="RUN_ERROR",e.STEP_STARTED="STEP_STARTED",e.STEP_FINISHED="STEP_FINISHED",e.REASONING_START="REASONING_START",e.REASONING_MESSAGE_START="REASONING_MESSAGE_START",e.REASONING_MESSAGE_CONTENT="REASONING_MESSAGE_CONTENT",e.REASONING_MESSAGE_END="REASONING_MESSAGE_END",e.REASONING_MESSAGE_CHUNK="REASONING_MESSAGE_CHUNK",e.REASONING_END="REASONING_END",e.REASONING_ENCRYPTED_VALUE="REASONING_ENCRYPTED_VALUE",e})({}),tz=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]);function wn(e,t){return e>>>t|e<<32-t}function nz(e){const t=new TextEncoder().encode(e),n=t.length*8,r=t.length+1,s=r+(56-r%64+64)%64+8,a=new Uint8Array(s);a.set(t),a[t.length]=128;const o=new DataView(a.buffer);o.setUint32(s-8,Math.floor(n/4294967296)),o.setUint32(s-4,n>>>0);let i=1779033703,c=3144134277,u=1013904242,d=2773480762,f=1359893119,h=2600822924,m=528734635,v=1541459225;const S=new Uint32Array(64);for(let N=0;N<s;N+=64){for(let O=0;O<16;O++)S[O]=o.getUint32(N+O*4);for(let O=16;O<64;O++){const k=S[O-15]??0,_=S[O-2]??0,A=wn(k,7)^wn(k,18)^k>>>3,I=wn(_,17)^wn(_,19)^_>>>10;S[O]=(S[O-16]??0)+A+(S[O-7]??0)+I>>>0}let w=i,y=c,g=u,x=d,C=f,j=h,E=m,R=v;for(let O=0;O<64;O++){const k=wn(C,6)^wn(C,11)^wn(C,25),_=C&j^~C&E,A=R+k+_+(tz[O]??0)+(S[O]??0)>>>0,I=(wn(w,2)^wn(w,13)^wn(w,22))+(w&y^w&g^y&g)>>>0;R=E,E=j,j=C,C=x+A>>>0,x=g,g=y,y=w,w=A+I>>>0}i=i+w>>>0,c=c+y>>>0,u=u+g>>>0,d=d+x>>>0,f=f+C>>>0,h=h+j>>>0,m=m+E>>>0,v=v+R>>>0}const b=N=>(N>>>0).toString(16).padStart(8,"0");return b(i)+b(c)+b(u)+b(d)+b(f)+b(h)+b(m)+b(v)}function rz(e){return`sha256:${nz(e)}`}function Mc(e,t){if(e===null)return"null";if(typeof e=="string"||typeof e=="boolean"||typeof e=="number"&&Number.isFinite(e))return JSON.stringify(e);if(typeof e!="object")throw new TypeError("Interrupt values must be JSON-compatible.");if(t.has(e))throw new TypeError("Interrupt values must not cycle.");if(!Array.isArray(e)&&Object.getPrototypeOf(e)!==Object.prototype&&Object.getPrototypeOf(e)!==null)throw new TypeError("Interrupt values must use plain JSON objects.");t.add(e);let n;if(Array.isArray(e)){const r=[];for(let s=0;s<e.length;s++)r.push(Mc(e[s],t));n=`[${r.join(",")}]`}else{const r=e;n=`{${Object.keys(r).sort().map(s=>`${JSON.stringify(s)}:${Mc(r[s],t)}`).join(",")}}`}return t.delete(e),n}function Qr(e){return Mc(e,new WeakSet)}function Xr(e,t=rz){if(typeof e!="string")throw new TypeError("Interrupt digests require canonical JSON text.");return t(e)}function ob(e){e===null||typeof e!="object"||Object.isFrozen(e)||(Object.values(e).forEach(ob),Object.freeze(e))}function ut(e){const t=JSON.parse(Qr(e));return ob(t),t}function sz(e){const t=[...e].sort((s,a)=>s.interruptId.localeCompare(a.interruptId)),n=ut(t),r=Qr(n);return Object.freeze({resolutions:n,canonicalResolutions:r,fingerprint:Xr(r)})}function um(e){const t={};for(const[n,r]of Object.entries(e))n!=="$schema"&&(t[n]=r);return t}function ib(e){return(typeof e=="object"||typeof e=="function")&&e!==null}function qa(e){if(!ib(e)||!("~standard"in e))return!1;const t=e["~standard"];return typeof t!="object"||t===null||!("version"in t)||t.version!==1||!("jsonSchema"in t)||typeof t.jsonSchema!="object"||t.jsonSchema===null||!("input"in t.jsonSchema)?!1:typeof t.jsonSchema.input=="function"}function gr(e){return ib(e)&&"~standard"in e&&typeof e["~standard"]=="object"&&e["~standard"]!==null&&"version"in e["~standard"]&&e["~standard"].version===1&&"validate"in e["~standard"]&&typeof e["~standard"].validate=="function"}function az(e){return Object.keys(e).length>0?e:void 0}function dm(e){if(Array.isArray(e)){const n=e.map(s=>qo(s,s.required||[])),r=n.map(s=>s.nullWidening??{});return{schema:n.map(s=>s.schema),itemMap:r.some(s=>Object.keys(s).length>0)?r:void 0}}const t=qo(e,e.required||[]);return{schema:t.schema,itemMap:t.nullWidening}}function qo(e,t=[]){const n={...e},r={};if(n.type==="object"&&n.properties){const s={...n.properties},a=Object.keys(s),o={};for(const i of a){const c=s[i];if(!c)continue;const u=!t.includes(i);let d=!1,f;if(c.type==="object"&&c.properties){const h=qo(c,c.required||[]);s[i]=u?{...h.schema,type:["object","null"]}:h.schema,d=u,f=h.nullWidening}else if(c.type==="array"&&c.items){const h=dm(c.items);s[i]={...c,items:h.schema,...u?{type:["array","null"]}:{}},d=u,f=h.itemMap?{items:h.itemMap}:void 0}else u&&(c.type&&!Array.isArray(c.type)?(s[i]={...c,type:[c.type,"null"]},d=!0):Array.isArray(c.type)&&!c.type.includes("null")&&(s[i]={...c,type:[...c.type,"null"]},d=!0));(d||f)&&(o[i]={...f??{},...d?{widened:!0}:{}})}n.properties=s,n.required=a,n.additionalProperties=!1,Object.keys(o).length>0&&(r.properties=o)}if(n.type==="array"&&n.items){const s=dm(n.items);n.items=s.schema,s.itemMap&&(r.items=s.itemMap)}return{schema:n,nullWidening:az(r)}}function oz(e){if(qa(e)){const t=um(e["~standard"].jsonSchema.input({target:"draft-07"}));return"properties"in t&&!t.type&&(t.type="object"),t.type==="object"&&!("properties"in t)&&(t.properties={}),t.type==="object"&&!("required"in t)&&(t.required=[]),t}if(gr(e))throw new Error("Schema is a Standard Schema validator but does not expose a JSON Schema converter on `~standard.jsonSchema`. Use Zod v4.2+, ArkType v2.1.28+, or wrap a Valibot schema with `toStandardJsonSchema()` from `@valibot/to-json-schema` before passing it as `outputSchema`.");return typeof e!="object"?e:um(e)}function Oc(e,t={}){if(!e)return;const{forStructuredOutput:n=!1}=t;if(!n&&!qa(e)&&!gr(e))return e;const r=oz(e);return!r||typeof r!="object"||!n?r:qo(r,r.required||[]).schema}var iz=class extends Error{name="StandardSchemaValidationError";issues;constructor(e){super(`Validation failed: ${e.map(t=>t.message||"Validation failed").join(", ")}`),this.issues=e}};function lz(e,t){if(!gr(e))return t;const n=e["~standard"].validate(t);if(n instanceof Promise)throw new Error("Schema validation returned a Promise. Use validateWithStandardSchema for async validation.");if(!n.issues)return n.value;throw new iz(n.issues)}var cz=new Set(["$schema","$id","$ref","$defs","type","properties","required","additionalProperties","items","oneOf","anyOf","allOf","enum","const","format","minimum","maximum","minLength","maxLength","pattern"]);function lb(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)&&(Object.getPrototypeOf(e)===Object.prototype||Object.getPrototypeOf(e)===null)}function bd(e){return lb(e)&&Object.keys(e).some(t=>cz.has(t))}function uz(e){return gr(e)||qa(e)||bd(e)}function dz(e){if(!lb(e))return!1;const t=Object.keys(e);return t.length>0&&t.every(n=>n==="approve"||n==="reject")&&t.every(n=>uz(e[n]))}function fz(e){const t={};for(const[n,r]of Object.entries(e))t[n]=r;return t}function ua(e){if(gr(e)){const t=qa(e)?fz(e["~standard"].jsonSchema.input({target:"draft-2020-12"})):void 0;return{source:e,validator:e,...t!==void 0&&{jsonSchema:t}}}if(bd(e))return{source:e,jsonSchema:e};throw new TypeError("Expected a supported SchemaInput.")}function fm(e){const t={approved:{const:e.approved}},n=["approved"];return e.approved&&e.inputSchema&&(t.editedArgs=e.inputSchema.jsonSchema??{}),e.payload&&(t.payload=e.payload.jsonSchema??{},n.push("payload")),{type:"object",properties:t,required:n,additionalProperties:!1}}function hz(e,t){const n=t===void 0?null:ua(t);let r=null,s=null;if(e!==void 0)if(gr(e)||bd(e))r=ua(e),s=r;else if(dz(e))r=e.approve===void 0?null:ua(e.approve),s=e.reject===void 0?null:ua(e.reject);else throw new TypeError("approvalSchema must be a SchemaInput or a nonempty map containing approve or reject.");const a={oneOf:[fm({approved:!0,payload:r,inputSchema:n}),fm({approved:!1,payload:s,inputSchema:null})]},o=Qr(a),i=Qr({approve:r?.jsonSchema??null,reject:s?.jsonSchema??null});return{branches:{approve:r,reject:s},responseSchema:a,responseSchemaHash:Xr(o),approvalSchemaHash:Xr(i)}}function hm(e){if(e===void 0)return Xr("undefined");const t=ua(e).jsonSchema??{standardValidator:"unserialized"};return Xr(Qr(t))}var Li="tanstack:interruptBinding",cb=Li;function Wo(e){return e&&typeof e=="object"?e:null}function Tt(e,t){return typeof e[t]=="string"?e[t]:void 0}function mz(e){const t=e.v;return t===void 0?!0:t===1}function ub(e){const t=Wo(e.metadata),n=t?Wo(t[cb]):null;if(!n||Tt(n,"interruptId")!==e.id||!mz(n))return;const r=Tt(n,"kind"),s=Tt(n,"interruptId"),a=Tt(n,"responseSchemaHash"),o=Tt(n,"expiresAt");if(!s||a===""||o!==void 0&&!Number.isFinite(Date.parse(o)))return;const i=1;if(r==="generic"){const d=Tt(n,"definitionId"),f=Tt(n,"key"),h=n.batchIndex,m=Tt(n,"payloadSchemaHash");return(d!==void 0||f!==void 0||h!==void 0||m!==void 0)&&(!d||!f||typeof h!="number"||!Number.isInteger(h)||h<0)?void 0:{v:i,kind:r,interruptId:s,...a?{responseSchemaHash:a}:{},...o?{expiresAt:o}:{},...d?{definitionId:d}:{},...f?{key:f}:{},...typeof h=="number"?{batchIndex:h}:{},...m?{payloadSchemaHash:m}:{}}}if(!a)return;const c=Tt(n,"toolName"),u=Tt(n,"toolCallId");if(!(!c||!u)){if(r==="client-tool-execution"){const d=Tt(n,"outputSchemaHash");return d?{v:i,kind:r,interruptId:s,toolName:c,toolCallId:u,outputSchemaHash:d,responseSchemaHash:a,...o?{expiresAt:o}:{}}:void 0}if(r==="tool-approval"){const d=Tt(n,"inputSchemaHash"),f=Tt(n,"approvalSchemaHash");return!d||!f?void 0:{v:i,kind:r,interruptId:s,toolName:c,toolCallId:u,originalArgs:n.originalArgs,inputSchemaHash:d,approvalSchemaHash:f,responseSchemaHash:a,...o?{expiresAt:o}:{}}}}}function pz(e){const t=ub(e);if(!t)return;const n=Wo(e.metadata),r=n?Wo(n[cb]):null;if(!r)return;const s=Tt(r,"interruptedRunId"),a=r.generation;if(!(!s||typeof a!="number"||!Number.isInteger(a)||a<0))return{...t,interruptedRunId:s,generation:a}}var gz="tanstack:interruptPayload";function vz(e,t){if(!qa(e))throw new TypeError(`${t} must be a Standard Schema with a JSON Schema converter.`);try{const n=e["~standard"].jsonSchema.input({target:"draft-07"});if(n===void 0)throw new TypeError("The exported schema is undefined.");if(typeof n=="function")throw new TypeError("The exported schema must not be a function.");if(Array.isArray(n))throw new TypeError("The exported schema must be a plain JSON object.");if(!n||typeof n!="object"||![Object.prototype,null].includes(Object.getPrototypeOf(n)))throw new TypeError("The exported schema must be a plain JSON object.");const r={};for(const[s,a]of Object.entries(n))s!=="$schema"&&(r[s]=a);return{json:r,canonicalJson:Qr(r)}}catch(n){throw new TypeError(`${t} could not export compatible JSON Schema: ${n instanceof Error?n.message:String(n)}`)}}function yz(e){return Xr(vz(e,"Interrupt schema").canonicalJson)}var xz="tanstack:interruptContinuation";function bz(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function wz(e){return{[xz]:e}}function Sz(e){const t=ub(e);if(t?.kind!=="generic"||t.definitionId===void 0||t.key===void 0||t.batchIndex===void 0)return;const n=bz(e.metadata)?e.metadata:void 0,r=n!==void 0&&Object.prototype.hasOwnProperty.call(n,"tanstack:interruptPayload");return{v:1,definitionId:t.definitionId,key:t.key,batchIndex:t.batchIndex,reason:e.reason,message:e.message??"",...e.expiresAt!==void 0?{expiresAt:e.expiresAt}:{},...t.responseSchemaHash!==void 0?{responseSchemaHash:t.responseSchemaHash}:{},...t.payloadSchemaHash!==void 0?{payloadSchemaHash:t.payloadSchemaHash}:{},...r?{payload:n[gz]}:{}}}var Cz=new Set(["text","image","audio","video","document"]);function Nz(e){if(typeof e!="object"||e===null)return!1;const t=e;if(typeof t.type!="string"||!Cz.has(t.type))return!1;if(t.type==="text")return typeof t.content=="string";const n=t.source;if(typeof n!="object"||n===null)return!1;const r=n;return typeof r.value!="string"?!1:r.type==="data"?typeof r.mimeType=="string":r.type==="url"}function Dc(e){return Array.isArray(e)&&e.length>0&&e.every(Nz)}function wd(e){return typeof e=="string"||Dc(e)?e:JSON.stringify(e)}function Ez(e){const t=e?.metadata;return typeof t=="object"&&t!==null&&t.providerExecuted===!0?t:null}function db(e){return Ez(e)!==null}function Fl(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Iz(e){return e.type==="text"||e.type==="image"||e.type==="audio"||e.type==="video"||e.type==="document"}function jz(e){try{return JSON.stringify(e)??""}catch{return""}}function mm(e){return typeof e=="string"&&e!==""?e:void 0}function Tz(e){if("encryptedValue"in e){const t=mm(e.encryptedValue);if(t!==void 0)return t}return mm(Ze(e)?.signature)}function fb(e){return e.length===0?null:e.every(t=>t.type==="text")?e.map(t=>t.content).join("")||null:e}function hb(e){return e==null?"":typeof e=="string"?e:e.filter(t=>t.type==="text").map(t=>t.content).join("")}function Rz(e){return Array.isArray(e)?e:hb(e)}function kz(e){if(!("role"in e)||e.role!=="tool")return e;const t=e,n=Ze(t)?.toolResult;if(!Fl(n)||"content"in n&&!Dc(n.content))return e;const r={...e};if("id"in n||Reflect.deleteProperty(r,"id"),"createdAt"in n||Reflect.deleteProperty(r,"createdAt"),typeof n.id=="string"&&Reflect.set(r,"id",n.id),typeof n.createdAt=="string"){const a=tn(n.createdAt);a&&Reflect.set(r,"createdAt",a)}Dc(n.content)&&Reflect.set(r,"content",n.content);const s=Reflect.get(t,"metadata");if(Fl(s)){const a=s.tanstack;if(Fl(a)){const{toolResult:o,...i}=a,c={...s};Object.keys(i).length?c.tanstack=i:delete c.tanstack,Object.keys(c).length?Reflect.set(r,"metadata",c):Reflect.deleteProperty(r,"metadata")}}return r}function tn(e){if(e instanceof Date)return Number.isNaN(e.getTime())?void 0:e;if(typeof e!="string")return;const t=new Date(e);return Number.isNaN(t.getTime())?void 0:t}function mb(e){if(e.type!=="tool-result")return e;const t=tn(e.createdAt),{createdAt:n,...r}=e;return t===void 0?r:{...r,createdAt:t}}function pb(e){return tn(Ze(e)?.createdAt)}function Pc(e){const t=tn(e.createdAt);return t!==void 0?{createdAt:t}:{}}function Fi(e){return e.name!==void 0?{name:e.name}:{}}function $i(e){if(e==null||typeof e!="object"||Array.isArray(e)||!("type"in e)||e.type!=="ui-resource"||!("toolCallId"in e)||typeof e.toolCallId!="string"||!("toolName"in e)||typeof e.toolName!="string"||!("resource"in e)||e.resource==null||typeof e.resource!="object"||Array.isArray(e.resource))return!1;const t=e.resource;return"uri"in t&&typeof t.uri=="string"&&"mimeType"in t&&typeof t.mimeType=="string"}function pm(e){return`${e.toolCallId}\0${e.toolName}\0${e.resource.uri}`}function gb(e,t){if(t.length===0)return e;const n=new Set(e.parts.filter($i).map(s=>pm(s))),r=t.filter(s=>!n.has(pm(s)));return r.length===0?e:{...e,parts:[...e.parts,...r]}}function _z(e){const t=e.parts.filter($i),n=e.metadata??{},r=Ze(e),s={};r?.model!==void 0&&(s.model=r.model),r?.signature!==void 0&&(s.signature=r.signature),t.length>0&&(s.uiResources=t);const a={...n};return Object.keys(s).length>0?a.tanstack=s:delete a.tanstack,Object.keys(a).length>0?a:void 0}function Az(e){return e.role==="system"?[]:e.role!=="assistant"?[Mz(e)]:Dz(e)}function Mz(e){const t=[];for(const n of e.parts)Iz(n)&&t.push(n);return{id:e.id,role:e.role,content:fb(t),...Fi(e),...Pc(e),...e.metadata!==void 0&&{metadata:e.metadata}}}function gm(){return{contentParts:[],toolCalls:[]}}function Oz(e){return e.state==="input-complete"||e.state==="complete"||e.state==="approval-requested"||e.state==="approval-responded"||e.state==="error"||e.output!==void 0}function Dz(e){const t=[];let n=gm(),r=[];const s=new Set,a={id:e.id,...Fi(e),...Pc(e)},o=_z(e),i={...a,...o!==void 0&&{metadata:o}};function c(u=!1){const d=fb(n.contentParts),f=d!==null,h=n.toolCalls.length>0,m=r.length>0;(u||f||h||m)&&(t.push({...i,role:"assistant",content:d,...h&&{toolCalls:n.toolCalls},...m&&{thinking:r},...n.structuredOutput&&{structuredOutput:n.structuredOutput}}),r=[]),n=gm()}for(const u of e.parts)switch(u.type){case"text":case"image":case"audio":case"video":case"document":n.contentParts.push(u);break;case"tool-call":Oz(u)&&n.toolCalls.push({id:u.id,type:"function",function:{name:u.name,arguments:u.arguments},...u.metadata!==void 0&&{metadata:u.metadata}});break;case"tool-result":c(t.length===0),(u.state==="complete"||u.state==="error")&&!s.has(u.toolCallId)&&(t.push({...u.id!==void 0&&{id:u.id},...Pc(u),role:"tool",content:u.content,toolCallId:u.toolCallId,...u.name!==void 0&&{name:u.name},...u.metadata!==void 0&&{metadata:u.metadata},...u.error!==void 0&&{error:u.error}}),s.add(u.toolCallId));break;case"thinking":(u.content||u.signature)&&(n.toolCalls.some(db)&&c(),r.push({content:u.content,...u.signature&&{signature:u.signature}}));break;case"structured-output":if(u.status==="complete"){const d=u.raw!==""?u.raw:u.data!==void 0?jz(u.data):"";d!==""&&(n.contentParts.push({type:"text",content:d}),n.structuredOutput=u)}}c();for(const u of e.parts)if(u.type==="tool-call"&&(u.output!==void 0&&!s.has(u.id)&&(t.push({role:"tool",content:wd(u.output),toolCallId:u.id}),s.add(u.id)),u.output===void 0&&u.state==="approval-responded"&&u.approval?.approved!==void 0&&!s.has(u.id))){const d=u.approval.approved;t.push({role:"tool",content:JSON.stringify({approved:d,...d&&{pendingExecution:!0},message:d?"User approved this action":"User denied this action"}),toolCallId:u.id}),s.add(u.id)}return t.length===0&&t.push({...i,role:"assistant",content:null}),t}function Ko(e,t){const n=[],r=tn(e.createdAt);if(e.role==="assistant"&&e.thinking?.length)for(const i of e.thinking)!i.content&&!i.signature||n.push({type:"thinking",content:i.content,...i.signature&&{signature:i.signature}});const s=e.structuredOutput??vb(Ze(e)?.structuredOutput);if(e.role==="assistant"&&s){if(typeof e.content=="string"&&e.content&&e.content!==s.raw){const i=s.raw,c=i!==""&&e.content.endsWith(i)?e.content.slice(0,-i.length):e.content;c&&n.push({type:"text",content:c})}n.push(s)}else if(e.role==="tool"&&e.toolCallId)n.push({type:"tool-result",toolCallId:e.toolCallId,content:Rz(e.content),state:e.error===void 0?"complete":"error",...e.id!==void 0&&{id:e.id},...e.name!==void 0&&{name:e.name},...e.metadata!==void 0&&{metadata:e.metadata},...r!==void 0&&{createdAt:r},...e.error!==void 0&&{error:e.error}});else if(Array.isArray(e.content))for(const i of e.content)n.push(i);else{const i=hb(e.content);i&&n.push({type:"text",content:i})}if(e.toolCalls&&e.toolCalls.length>0)for(const i of e.toolCalls){let c;try{c=JSON.parse(i.function.arguments)}catch{c=void 0}n.push({type:"tool-call",id:i.id,name:i.function.name,arguments:i.function.arguments,state:"input-complete",...c!==void 0&&{input:c},...i.metadata!==void 0&&{metadata:i.metadata}})}const a={id:t||Fr(),role:e.role==="tool"?"assistant":e.role,parts:n,...Fi(e),...r!==void 0&&{createdAt:r},...e.metadata!==void 0&&{metadata:e.metadata}},o=Ze(e)?.uiResources;return gb(a,Array.isArray(o)?o.filter($i):[])}function Pz(e){if("parts"in e)return br(e,{...e,id:e.id||Fr()});const t=e.id||Fr();switch(e.role){case"user":return br(e,{id:t,role:"user",parts:Lz(e.content)});case"assistant":{const n=Ze(e),r=n?.toolCallMetadata,s=vb(n?.structuredOutput),a=e.toolCalls?.map(o=>{const i=r!=null&&typeof r=="object"?r[o.id]:void 0;return i!==void 0?{...o,metadata:i}:o});return br(e,Ko({role:"assistant",content:e.content??null,...Fi(e),...a&&{toolCalls:a},...s&&{structuredOutput:s}},t))}case"tool":{e=kz(e);const n=tn("createdAt"in e?e.createdAt:void 0)??pb(e);return br(e,Ko({role:"tool",content:e.content,toolCallId:e.toolCallId,..."name"in e&&typeof e.name=="string"?{name:e.name}:{},..."id"in e&&typeof e.id=="string"?{id:e.id}:{},..."metadata"in e&&e.metadata!=null?{metadata:e.metadata}:{},...n!==void 0?{createdAt:n}:{},...e.error!==void 0&&{error:e.error}},t))}case"system":case"developer":return br(e,{id:t,role:"system",parts:e.content?[{type:"text",content:e.content}]:[]});case"reasoning":{const n=Tz(e),r=typeof e.content=="string"?e.content:"";return br(e,{id:t,role:"assistant",parts:r||n!==void 0?[{type:"thinking",content:r,...n!==void 0?{signature:n}:{}}]:[]})}default:return br(e,{id:t,role:"assistant",parts:[]})}}function br(e,t){const n=t.parts.map(u=>mb(u));n!==t.parts&&(t={...t,parts:n});const r="name"in e&&typeof e.name=="string"?e.name:void 0;let s=r!==void 0?{...t,name:r}:t,a;if("metadata"in e){const u=e.metadata;u!=null&&typeof u=="object"&&!Array.isArray(u)&&(a=u,s={...s,metadata:a})}const o=tn(s.createdAt)??(a!==void 0?pb(a):void 0);if(o!==void 0&&!Object.is(o,s.createdAt))s={...s,createdAt:o};else if(o===void 0&&s.createdAt!==void 0){const{createdAt:u,...d}=s;s=d}const i=Ze(a)?.uiResources,c=Array.isArray(i)?i.filter($i):[];return gb(s,c)}function vb(e){if(!(e==null||e.status!=="streaming"&&e.status!=="complete"&&e.status!=="error"||typeof e.raw!="string"))return{type:"structured-output",status:e.status,raw:e.raw,...e.partial!==void 0?{partial:e.partial}:{},...e.data!==void 0?{data:e.data}:{},...e.reasoning?{reasoning:e.reasoning}:{},...e.errorMessage!==void 0?{errorMessage:e.errorMessage}:{}}}function Lz(e){if(typeof e=="string")return e?[{type:"text",content:e}]:[];const t=[];for(const n of e)n.type==="text"?t.push({type:"text",content:n.text}):n.type!=="binary"&&t.push(n);return t}function Fz(e,t){if("parts"in e){const n=e.parts.map(r=>mb(r));return{...e,parts:n,id:e.id||t(),createdAt:tn(e.createdAt)??new Date}}else return{...Ko(e,t()),createdAt:tn(e.createdAt)??new Date}}function Fr(){return`msg-${Date.now()}-${Math.random().toString(36).substring(7)}`}function vm(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function $l(e,t,n,r,s=!1){const a=vm(e)?e:{},o=vm(a.tanstack)?{...a.tanstack}:{};s&&delete o.uiResources;const i=tn(t),c={...n!==void 0?{id:n}:{},...i&&{createdAt:i.toISOString()},...Array.isArray(r)&&{content:r}},u={...a,tanstack:{...o,toolResult:c}};return Object.keys(u).length?u:void 0}function $z(e,t){const n=[],r=new Set(e.flatMap(o=>"id"in o&&o.id&&o.role!=="tool"?[o.id]:[])),s=t?.includeSnapshotStructuredOutput??!1,a=new Set;for(const o of e)o.role==="assistant"&&o.id!==void 0&&a.add(o.id);for(const o of e){if(!("parts"in o)&&o.role==="tool"&&o.toolCallId){const h=Vl(Kz(o.id,o.toolCallId,a),r),m=$l(o.metadata,o.createdAt,o.id,o.content);n.push({role:"tool",id:h,...o.name!==void 0&&{name:o.name},toolCallId:o.toolCallId,content:typeof o.content=="string"?o.content:JSON.stringify(o.content),...o.error!==void 0&&{error:o.error},...m!==void 0&&{metadata:m}});continue}const i="parts"in o?o:Ko(o,o.id),c=i.parts;if(r.add(i.id),o.role==="system"){n.push(zl(i,"system",{content:c.length>0?Lc(c):o.content??""},c,s));continue}if(o.role==="user"){n.push(zl(i,"user",{content:c.length>0?Uz(c):o.content??""},c,s));continue}for(const h of c)if(h.type==="thinking"){const m={role:"reasoning",id:yb(Wz(i.id,h),r),content:h.content};h.signature&&(m.encryptedValue=h.signature),n.push(m)}const u=Lc(c),d=qz(c);n.push(zl(i,"assistant",{...u!==""&&{content:u},...d&&{toolCalls:d}},c,s));const f=new Set(c.flatMap(h=>h.type==="tool-result"?[h.toolCallId]:[]));for(const h of c)if(h.type==="tool-result"){const m=Vl(h.id??Fc(h.toolCallId),r),v=$l(h.metadata,h.createdAt,h.id,h.content,!0);n.push({role:"tool",id:m,toolCallId:h.toolCallId,...h.name!==void 0&&{name:h.name},content:typeof h.content=="string"?h.content:JSON.stringify(h.content),...h.error!==void 0&&{error:h.error},...v!==void 0&&{metadata:v}})}else if(h.type==="tool-call"){const m=h.approval?.approved;if(f.has(h.id)||h.output===void 0&&(h.state!=="approval-responded"||m===void 0))continue;const v=h.output!==void 0?wd(h.output):JSON.stringify({approved:m,...m&&{pendingExecution:!0},message:m?"User approved this action":"User denied this action"}),S=typeof v=="string"?v:JSON.stringify(v);n.push({role:"tool",id:Vl(Fc(h.id),r),toolCallId:h.id,content:S,metadata:$l(void 0,void 0,void 0,v)})}}return n}function zl(e,t,n,r,s){const a=zz(e,r,s),o={id:e.id,...e.name!==void 0&&{name:e.name},...a!==void 0&&{metadata:a}};return t==="system"?{...o,role:t,content:String(n.content??"")}:t==="user"?{...o,role:t,content:n.content??""}:{...o,role:t,...typeof n.content=="string"&&{content:n.content},...n.toolCalls!==void 0&&{toolCalls:n.toolCalls}}}function zz(e,t,n){const r={...e.metadata??{}},s=Ze(e),a={};s?.model!==void 0&&(a.model=s.model),s?.signature!==void 0&&(a.signature=s.signature);const o=tn(e.createdAt);o!==void 0&&(a.createdAt=o.toISOString());const i=Vz(t,n);i&&(a.structuredOutput=i);const c={};for(const d of t)d.type==="tool-call"&&d.metadata!==void 0&&(c[d.id]=d.metadata);Object.keys(c).length>0&&(a.toolCallMetadata=c);const u=t.filter(d=>d.type==="ui-resource");return u.length>0&&(a.uiResources=u),Object.keys(a).length>0?r.tanstack=a:delete r.tanstack,Object.keys(r).length>0?r:void 0}function Vz(e,t){for(const n of e)if(n.type==="structured-output"&&(t||n.status!=="complete"))return Bz(n,t)}function Bz(e,t){return{status:e.status,raw:e.raw,...t&&e.partial!==void 0?{partial:e.partial}:{},...t&&e.data!==void 0?{data:e.data}:{},...t&&e.reasoning?{reasoning:e.reasoning}:{},...e.errorMessage!==void 0&&{errorMessage:e.errorMessage}}}function Lc(e){const t=[];for(const n of e)n.type==="text"?t.push(n.content):n.type==="structured-output"&&n.status==="complete"&&n.raw!==""&&t.push(n.raw);return t.join("")}function Uz(e){if(!e.some(n=>n.type==="image"||n.type==="audio"||n.type==="video"||n.type==="document"))return Lc(e);const t=[];for(const n of e)n.type==="text"?t.push({type:"text",text:n.content}):(n.type==="image"||n.type==="audio"||n.type==="video"||n.type==="document")&&t.push(n);return t}function Hz(e){if(e==null||typeof e!="object"||Array.isArray(e)||!("thoughtSignature"in e))return;const t=e.thoughtSignature;return typeof t=="string"&&t!==""?t:void 0}function qz(e){const t=[];for(const n of e)if(n.type==="tool-call"){const r=Hz(n.metadata);t.push({id:n.id,type:"function",function:{name:n.name,arguments:n.arguments},...r!==void 0?{encryptedValue:r}:{}})}return t.length>0?t:void 0}function Wz(e,t){return`${e}-reasoning-${t.id??Yz(t.content)}`}function Fc(e){return`tool-${e}`}function Vl(e,t){return yb(e,t)}function yb(e,t){if(!t.has(e))return t.add(e),e;let n=2;for(;t.has(`${e}-${n}`);)n++;const r=`${e}-${n}`;return t.add(r),r}function Kz(e,t,n){const r=Fc(t);return e===void 0||n.has(e)?r:e}function Yz(e){let t=0;for(let n=0;n<e.length;n++)t=t*31+e.charCodeAt(n)|0;return Math.abs(t).toString(36)}function Gz(e){if((e.type===co.RUN_FINISHED||e.type===co.RUN_ERROR)&&(Array.isArray(e.usage)||rb(e.usage))){const t=ez(e.usage,Ze(e)?.usage);t!==void 0&&(e.usage=t)}if(e.type===co.TOOL_CALL_START&&e.toolName===void 0&&e.toolCallName&&(e.toolName=e.toolCallName),e.type===co.TOOL_CALL_END&&e.input===void 0){const t=Ze(e)?.input;t!==void 0&&(e.input=t)}return e}function xb(e){Gz(e);const t=Ze(e),n=e;if(t==null)return n;for(const[r,s]of Object.entries(t))r==="usage"||r==="interruptErrors"||n[r]===void 0&&s!==void 0&&(n[r]=s);return t.interruptErrors!==void 0&&(n["tanstack:interruptErrors"]=t.interruptErrors),n}function ym(e){return typeof e=="string"&&e!==""?e:void 0}function bb(e){if("runId"in e){const t=ym(e.runId);if(t!==void 0)return t}return ym(Ze(e)?.runId)}var xm=Jm((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Allow=e.ALL=e.COLLECTION=e.ATOM=e.SPECIAL=e.INF=e._INFINITY=e.INFINITY=e.NAN=e.BOOL=e.NULL=e.OBJ=e.ARR=e.NUM=e.STR=void 0,e.STR=1,e.NUM=2,e.ARR=4,e.OBJ=8,e.NULL=16,e.BOOL=32,e.NAN=64,e.INFINITY=128,e._INFINITY=256,e.INF=e.INFINITY|e._INFINITY,e.SPECIAL=e.NULL|e.BOOL|e.INF|e.NAN,e.ATOM=e.STR|e.NUM|e.SPECIAL,e.COLLECTION=e.ARR|e.OBJ,e.ALL=e.ATOM|e.COLLECTION,e.Allow={STR:e.STR,NUM:e.NUM,ARR:e.ARR,OBJ:e.OBJ,NULL:e.NULL,BOOL:e.BOOL,NAN:e.NAN,INFINITY:e.INFINITY,_INFINITY:e._INFINITY,INF:e.INF,SPECIAL:e.SPECIAL,ATOM:e.ATOM,COLLECTION:e.COLLECTION,ALL:e.ALL},e.default=e.Allow})),Jz=Jm((e=>{var t=e&&e.__createBinding||(Object.create?(function(u,d,f,h){h===void 0&&(h=f);var m=Object.getOwnPropertyDescriptor(d,f);(!m||("get"in m?!d.__esModule:m.writable||m.configurable))&&(m={enumerable:!0,get:function(){return d[f]}}),Object.defineProperty(u,h,m)}):(function(u,d,f,h){h===void 0&&(h=f),u[h]=d[f]})),n=e&&e.__exportStar||function(u,d){for(var f in u)f!=="default"&&!Object.prototype.hasOwnProperty.call(d,f)&&t(d,u,f)};Object.defineProperty(e,"__esModule",{value:!0}),e.Allow=e.MalformedJSON=e.PartialJSON=e.parseJSON=e.parse=void 0;var r=xm();Object.defineProperty(e,"Allow",{enumerable:!0,get:function(){return r.Allow}}),n(xm(),e);var s=class extends Error{};e.PartialJSON=s;var a=class extends Error{};e.MalformedJSON=a;function o(u,d=r.Allow.ALL){if(typeof u!="string")throw new TypeError(`expecting str, got ${typeof u}`);if(!u.trim())throw new Error(`${u} is empty`);return i(u.trim(),d)}e.parseJSON=o;var i=(u,d)=>{const f=u.length;let h=0;const m=x=>{throw new s(`${x} at position ${h}`)},v=x=>{throw new a(`${x} at position ${h}`)},S=()=>(g(),h>=f&&m("Unexpected end of input"),u[h]==='"'?b():u[h]==="{"?N():u[h]==="["?w():u.substring(h,h+4)==="null"||r.Allow.NULL&d&&f-h<4&&"null".startsWith(u.substring(h))?(h+=4,null):u.substring(h,h+4)==="true"||r.Allow.BOOL&d&&f-h<4&&"true".startsWith(u.substring(h))?(h+=4,!0):u.substring(h,h+5)==="false"||r.Allow.BOOL&d&&f-h<5&&"false".startsWith(u.substring(h))?(h+=5,!1):u.substring(h,h+8)==="Infinity"||r.Allow.INFINITY&d&&f-h<8&&"Infinity".startsWith(u.substring(h))?(h+=8,1/0):u.substring(h,h+9)==="-Infinity"||r.Allow._INFINITY&d&&1<f-h&&f-h<9&&"-Infinity".startsWith(u.substring(h))?(h+=9,-1/0):u.substring(h,h+3)==="NaN"||r.Allow.NAN&d&&f-h<3&&"NaN".startsWith(u.substring(h))?(h+=3,NaN):y()),b=()=>{const x=h;let C=!1;for(h++;h<f&&(u[h]!=='"'||C&&u[h-1]==="\\");)C=u[h]==="\\"?!C:!1,h++;if(u.charAt(h)=='"')try{return JSON.parse(u.substring(x,++h-Number(C)))}catch(j){v(String(j))}else if(r.Allow.STR&d)try{return JSON.parse(u.substring(x,h-Number(C))+'"')}catch{return JSON.parse(u.substring(x,u.lastIndexOf("\\"))+'"')}m("Unterminated string literal")},N=()=>{h++,g();const x={};try{for(;u[h]!=="}";){if(g(),h>=f&&r.Allow.OBJ&d)return x;const C=b();g(),h++;try{x[C]=S()}catch(j){if(r.Allow.OBJ&d)return x;throw j}g(),u[h]===","&&h++}}catch{if(r.Allow.OBJ&d)return x;m("Expected '}' at end of object")}return h++,x},w=()=>{h++;const x=[];try{for(;u[h]!=="]";)x.push(S()),g(),u[h]===","&&h++}catch{if(r.Allow.ARR&d)return x;m("Expected ']' at end of array")}return h++,x},y=()=>{if(h===0){u==="-"&&v("Not sure what '-' is");try{return JSON.parse(u)}catch(C){if(r.Allow.NUM&d)try{return JSON.parse(u.substring(0,u.lastIndexOf("e")))}catch{}v(String(C))}}const x=h;for(u[h]==="-"&&h++;u[h]&&",]}".indexOf(u[h])===-1;)h++;h==f&&!(r.Allow.NUM&d)&&m("Unterminated number literal");try{return JSON.parse(u.substring(x,h))}catch{u.substring(x,h)==="-"&&m("Not sure what '-' is");try{return JSON.parse(u.substring(x,u.lastIndexOf("e")))}catch(j){v(String(j))}}},g=()=>{for(;h<f&&`
20
- \r `.includes(u[h]);)h++};return S()},c=o;e.parse=c})),Qz=Jz(),Xz=class{parse(e){if(!(!e||e.trim()===""))try{return(0,Qz.parse)(e)}catch{return}}},wb=new Xz;function Zz(e){return wb.parse(e)}var e5=class{shouldEmit(e,t){return!0}};function t5(e){const t=new Error(e.message||e.error?.message||"An error occurred"),n=e.code??e.error?.code;return n!==void 0&&Object.assign(t,{code:n}),e.rawEvent!==void 0&&Object.assign(t,{rawEvent:e.rawEvent}),t}function n5(e,t,n){return e.map(r=>{if(r.id!==t)return r;const s=[...r.parts],a=s.length>0?s[s.length-1]:null;return a&&a.type==="text"?s[s.length-1]={type:"text",content:n}:s.push({type:"text",content:n}),{...r,parts:s}})}function uo(e,t,n){return e.map(r=>{if(r.id!==t)return r;const s=[...r.parts],a=s.find(u=>u.type==="tool-call"&&u.id===n.id),o=n.metadata??a?.metadata,i=n.input??a?.input,c={type:"tool-call",id:n.id,name:n.name,arguments:n.arguments,state:n.state,...a?.approval&&{approval:{...a.approval}},...a?.output!==void 0&&{output:a.output},...i!==void 0&&{input:i},...o!==void 0&&{metadata:o}};return a?s[s.indexOf(a)]=c:s.push(c),{...r,parts:s}})}function bm(e,t,n,r,s,a){return e.map(o=>{if(o.id!==t)return o;const i=[...o.parts],c=i.findIndex(d=>d.type==="tool-result"&&d.toolCallId===n),u={type:"tool-result",toolCallId:n,content:r,state:s,...a&&{error:a}};return c>=0?i[c]=u:i.push(u),{...o,parts:i}})}function wm(e,t,n,r){return e.map(s=>{if(s.id!==t)return s;const a=[...s.parts],o=a.find(i=>i.type==="tool-call"&&i.id===n);if(o){const i=a.indexOf(o);a[i]={...o,state:"approval-requested",approval:{id:r,needsApproval:!0}}}return{...s,parts:a}})}function Sm(e,t,n,r,s){return e.map(a=>{const o=[...a.parts],i=o.find(c=>c.type==="tool-call"&&c.id===t);if(i){const c=o.indexOf(i);o[c]={...i,output:s?{error:s}:n,state:r??(s?"error":"complete")}}return{...a,parts:o}})}function r5(e,t,n){return e.map(r=>{const s=[...r.parts],a=s.find(o=>o.type==="tool-call"&&o.approval?.id===t);if(a&&a.approval){const o=s.indexOf(a);s[o]={...a,approval:{...a.approval,approved:n},state:"approval-responded"}}return{...r,parts:s}})}function s5(e,t,n){return e.map(r=>{if(r.id!==t)return r;const s=[...r.parts],a=s.findIndex(f=>f.type==="structured-output"),o=a>=0?s[a]:null,i=(o?.raw??"")+n,c=Zz(i),u=c??o?.partial,d={type:"structured-output",status:"streaming",raw:i,...u!==void 0?{partial:u}:{},...o?.reasoning!==void 0?{reasoning:o.reasoning}:{}};return a>=0?s[a]=d:s.push(d),{...r,parts:s}})}function a5(e,t,n,r,s){return e.map(a=>{if(a.id!==t)return a;const o=[...a.parts],i=o.findIndex(f=>f.type==="structured-output"),c=i>=0?o[i].raw:"";let u=r||c;if(u===""&&n!==void 0)try{u=JSON.stringify(n)}catch{}const d={type:"structured-output",status:"complete",data:n,partial:n,raw:u,...s!==void 0?{reasoning:s}:{}};return i>=0?o[i]=d:o.push(d),{...a,parts:o}})}function Cm(e,t,n){return e.map(r=>{if(r.id!==t)return r;const s=[...r.parts],a=s.findIndex(i=>i.type==="structured-output");if(a<0)return s.push({type:"structured-output",status:"error",raw:"",errorMessage:n}),{...r,parts:s};const o=s[a];return o.status==="complete"?r:(s[a]={...o,status:"error",errorMessage:n},{...r,parts:s})})}function Bl(e,t,n,r,s){return e.map(a=>{if(a.id!==t)return a;const o=[...a.parts],i=o.findIndex(u=>u.type==="thinking"&&u.stepId===n),c={type:"thinking",content:r,stepId:n,...s&&{signature:s}};return i>=0?o[i]=c:o.push(c),{...a,parts:o}})}var o5=12;function i5(e){return e.some(t=>{const n=t.metadata;if(!n||typeof n!="object"||Array.isArray(n))return!1;const r=n[Li];return r!==null&&typeof r=="object"&&!Array.isArray(r)&&r.kind==="generic"})}var l5=class Sb{chunkStrategy;events;jsonParser;recordingEnabled;messages=[];messageStates=new Map;activeMessageIds=new Set;toolCallToMessage=new Map;pendingManualMessageId=null;pendingThinkingStepId=null;structuredMessageIds=new Set;structuredOutputUpdateBatches=new Map;activeRuns=new Set;finishReason=null;hasError=!1;isDone=!1;streamEndEmitted=!1;recording=null;recordingStartTime=0;constructor(t={}){this.chunkStrategy=t.chunkStrategy||new e5,this.events=t.events||{},this.jsonParser=t.jsonParser||wb,this.recordingEnabled=t.recording??!1,t.initialMessages&&(this.messages=[...t.initialMessages])}setMessages(t){this.messages=[...t],this.emitMessagesChange()}prependMessages(t){const n=new Set(this.messages.map(s=>s.id)),r=[];for(const s of t)n.has(s.id)||(n.add(s.id),r.push(s));this.messages=[...r,...this.messages],this.emitMessagesChange()}addUserMessage(t,n,r){const s=typeof t=="string"?[{type:"text",content:t}]:t.map(o=>o),a={id:n??Fr(),role:"user",parts:s,createdAt:new Date,...r!=null?{metadata:r}:{}};return this.messages=[...this.messages,a],this.emitMessagesChange(),a}prepareAssistantMessage(){this.resetStreamState()}startAssistantMessage(t){this.prepareAssistantMessage();const{messageId:n}=this.ensureAssistantMessage(t);return this.pendingManualMessageId=n,n}getCurrentAssistantMessageId(){let t=null;for(const[n,r]of this.messageStates)r.role==="assistant"&&(t=n);return t}addToolResult(t,n,r){const s=this.messages.find(c=>c.parts.some(u=>u.type==="tool-call"&&u.id===t));if(!s){console.warn(`[StreamProcessor] Could not find message with tool call ${t}`);return}let a=Sm(this.messages,t,n,r?"error":void 0,r);const o=wd(n),i=r?"error":"complete";a=bm(a,s.id,t,o,i,r),this.messages=a,this.emitMessagesChange()}addToolApprovalResponse(t,n){this.messages=r5(this.messages,t,n),this.emitMessagesChange()}toModelMessages(){const t=[];for(const n of this.messages)t.push(...Az(n));return t}getMessages(){return this.messages}areAllToolsComplete(){const t=this.messages.findLast(s=>s.role==="assistant");if(!t)return!0;const n=t.parts.filter(s=>s.type==="tool-call");if(n.length===0)return!0;const r=new Set(t.parts.filter(s=>s.type==="tool-result").map(s=>s.toolCallId));return n.every(s=>s.state==="complete"||s.state==="approval-responded"||s.output!==void 0&&!s.approval||r.has(s.id)||db(s))}removeMessagesAfter(t){const n=new Set(this.messages.slice(0,t+1).map(r=>r.id));for(const r of this.structuredMessageIds)n.has(r)||this.structuredMessageIds.delete(r);for(const r of this.structuredOutputUpdateBatches.keys())n.has(r)||this.structuredOutputUpdateBatches.delete(r);for(const r of this.messageStates.keys())n.has(r)||this.messageStates.delete(r);for(const[r,s]of this.toolCallToMessage)n.has(s)||this.toolCallToMessage.delete(r);for(const r of this.activeMessageIds)n.has(r)||this.activeMessageIds.delete(r);this.messages=this.messages.slice(0,t+1),this.emitMessagesChange()}clearMessages(){this.messages=[],this.messageStates.clear(),this.activeMessageIds.clear(),this.toolCallToMessage.clear(),this.structuredMessageIds.clear(),this.structuredOutputUpdateBatches.clear(),this.pendingManualMessageId=null,this.emitMessagesChange()}async process(t){this.resetStreamState(),this.recordingEnabled&&this.startRecording();for await(const n of t)this.processChunk(n);return this.finalizeStream(),this.recording&&(this.recording.result=this.getResult()),this.getResult()}processChunk(t){switch(this.recording&&this.recording.chunks.push({chunk:t,timestamp:Date.now(),index:this.recording.chunks.length}),t.type){case"TEXT_MESSAGE_START":this.handleTextMessageStartEvent(t);break;case"TEXT_MESSAGE_CONTENT":this.handleTextMessageContentEvent(t);break;case"TEXT_MESSAGE_END":this.handleTextMessageEndEvent(t);break;case"TOOL_CALL_START":this.handleToolCallStartEvent(t);break;case"TOOL_CALL_ARGS":this.handleToolCallArgsEvent(t);break;case"TOOL_CALL_END":this.handleToolCallEndEvent(t);break;case"RUN_FINISHED":this.handleRunFinishedEvent(t);break;case"RUN_ERROR":this.handleRunErrorEvent(t);break;case"STEP_FINISHED":this.handleStepFinishedEvent(t);break;case"MESSAGES_SNAPSHOT":this.handleMessagesSnapshotEvent(t);break;case"CUSTOM":this.handleCustomEvent(t);break;case"RUN_STARTED":this.handleRunStartedEvent(t);break;case"REASONING_START":case"REASONING_MESSAGE_START":case"REASONING_MESSAGE_END":case"REASONING_END":break;case"REASONING_MESSAGE_CONTENT":this.handleReasoningMessageContentEvent(t);break;case"REASONING_ENCRYPTED_VALUE":this.handleReasoningEncryptedValueEvent(t);break;case"TOOL_CALL_RESULT":this.handleToolCallResultEvent(t);break;case"STEP_STARTED":this.handleStepStartedEvent(t)}}createMessageState(t,n){const r={id:t,role:n,totalTextContent:"",currentSegmentText:"",lastEmittedText:"",hasSeenReasoningEvents:!1,thinkingSteps:new Map,thinkingStepSignatures:new Map,thinkingStepOrder:[],currentThinkingStepId:null,toolCalls:new Map,toolCallOrder:[],hasToolCallsSinceTextStart:!1,isComplete:!1};return this.messageStates.set(t,r),r}getMessageState(t){return this.messageStates.get(t)}consumePendingThinkingStep(t){if(!this.pendingThinkingStepId)return;const n=this.pendingThinkingStepId;t.currentThinkingStepId=n,t.thinkingSteps.has(n)||(t.thinkingSteps.set(n,""),t.thinkingStepOrder.push(n)),this.pendingThinkingStepId=null}getActiveAssistantMessageId(){const t=Array.from(this.activeMessageIds).reverse();for(const n of t){const r=this.messageStates.get(n);if(r&&r.role==="assistant")return n}for(const[n,r]of[...this.messageStates].reverse())if(r.role==="assistant")return n;return null}resumeAssistantState(t,n){this.activeMessageIds.add(t),(n.isComplete||this.isDone)&&(n.isComplete=!1,this.isDone=!1)}ensureAssistantMessage(t){if(t){const o=this.getMessageState(t);if(o)return this.resumeAssistantState(t,o),{messageId:t,state:o}}const n=this.getActiveAssistantMessageId();if(n){const o=this.getMessageState(n);if(o)return this.resumeAssistantState(n,o),{messageId:n,state:o}}if(t){const o=this.messages.find(i=>i.id===t);if(o){const i=this.createMessageState(t,o.role);this.activeMessageIds.add(t);const c=o.parts.length>0?o.parts[o.parts.length-1]:null;return c&&c.type==="text"&&(i.currentSegmentText=c.content,i.lastEmittedText=c.content,i.totalTextContent=c.content),{messageId:t,state:i}}}const r=t||Fr(),s={id:r,role:"assistant",parts:[],createdAt:new Date};this.messages=[...this.messages,s];const a=this.createMessageState(r,"assistant");return this.activeMessageIds.add(r),this.pendingManualMessageId=r,this.events.onStreamStart?.(),this.emitMessagesChange(),{messageId:r,state:a}}mergeMessageMetadata(t,n){if(n==null||typeof n!="object"||Array.isArray(n))return;const r=this.messages.find(d=>d.id===t);if(!r)return;const s=n,a=Ze(s),o=a!=null&&("content"in a||"args"in a)?{...s,tanstack:Object.fromEntries(Object.entries(a).filter(([d])=>d!=="content"&&d!=="args"))}:s,i=sb(r.metadata,o),c=tn(Ze(s)?.createdAt),u=c!==void 0;this.messages=this.messages.map(d=>d.id===t?{...d,...i!==void 0?{metadata:i}:{},...u?{createdAt:c}:{}}:d),this.emitMessagesChange()}handleTextMessageStartEvent(t){const{messageId:n,role:r}=t,s=r==="user"||r==="system"?r:"assistant";if(this.pendingManualMessageId){const o=this.pendingManualMessageId;if(this.pendingManualMessageId=null,o!==n){this.messages=this.messages.map(u=>u.id===o?{...u,id:n}:u);const c=this.messageStates.get(o);c&&(c.id=n,this.messageStates.delete(o),this.messageStates.set(n,c)),this.activeMessageIds.delete(o),this.activeMessageIds.add(n);for(const[u,d]of this.toolCallToMessage)d===o&&this.toolCallToMessage.set(u,n)}let i=this.messageStates.get(n);i?i.hasToolCallsSinceTextStart&&(i.currentSegmentText!==i.lastEmittedText&&this.emitTextUpdateForMessage(n),i.currentSegmentText="",i.lastEmittedText="",i.hasToolCallsSinceTextStart=!1):(i=this.createMessageState(n,s),this.activeMessageIds.add(n)),this.mergeMessageMetadata(n,t.metadata),this.emitMessagesChange();return}if(this.messages.find(o=>o.id===n)){this.activeMessageIds.add(n);const o=this.messageStates.get(n);o?o.hasToolCallsSinceTextStart&&(o.currentSegmentText!==o.lastEmittedText&&this.emitTextUpdateForMessage(n),o.currentSegmentText="",o.lastEmittedText="",o.hasToolCallsSinceTextStart=!1):this.createMessageState(n,s),this.mergeMessageMetadata(n,t.metadata);return}const a={id:n,role:s,parts:[],createdAt:new Date};this.messages=[...this.messages,a],this.createMessageState(n,s),this.activeMessageIds.add(n),this.mergeMessageMetadata(n,t.metadata),this.events.onStreamStart?.(),this.emitMessagesChange()}handleTextMessageEndEvent(t){const{messageId:n}=t;this.mergeMessageMetadata(n,t.metadata);const r=this.getMessageState(n);r&&(r.isComplete||r.currentSegmentText!==r.lastEmittedText&&this.emitTextUpdateForMessage(n))}handleMessagesSnapshotEvent(t){this.resetStreamState();const n=this.messages,r=new Map(n.map(a=>[a.id,a])),s=this.mergeReasoningFanOut(t.messages.map(Pz));this.messages=this.reconcileSnapshotToolCalls(s,n).map(a=>{if(a.metadata!=null)return a;const o=r.get(a.id);return o?.metadata==null?a:{...a,metadata:o.metadata}}),this.emitMessagesChange()}mergeReasoningFanOut(t){const n=[];let r=[];const s=c=>c.parts.filter(u=>u.type==="thinking"),a=c=>c.role==="assistant"&&c.parts.length>0&&c.parts.every(u=>u.type==="thinking"),o=c=>c.role==="assistant"&&c.parts.some(u=>u.type==="tool-result")&&c.parts.every(u=>u.type==="tool-result"||u.type==="ui-resource"),i=()=>{n.push(...r),r=[]};for(const c of t){if(a(c)){r.push(c);continue}if(c.role==="assistant"&&r.length>0&&!o(c)){n.push({...c,parts:[...r.flatMap(s),...c.parts]}),r=[];continue}i(),n.push(c)}return i(),n}reconcileSnapshotToolCalls(t,n){const r=new Map;for(const o of n)for(const i of o.parts)i.type==="tool-call"&&r.set(i.id,i);const s=new Set;for(const o of t)for(const i of o.parts)i.type==="tool-call"&&s.add(i.id);const a=[];for(const o of t){const i=o.parts.filter(f=>f.type==="tool-result"),c=o.role==="assistant"&&i.length===1&&o.parts.every(f=>f.type==="tool-result"||f.type==="ui-resource")?i[0]:void 0;if(!c){a.push(o);continue}const u=a.findLast(f=>f.parts.some(h=>h.type==="tool-call"&&h.id===c.toolCallId))??a.findLast(f=>f.role==="assistant"&&!(f.parts.length===1&&f.parts[0]?.type==="tool-result"));if(!u){s.has(c.toolCallId)||console.warn(`[StreamProcessor] MESSAGES_SNAPSHOT contains a tool-result for "${c.toolCallId}" but no matching tool-call exists in the snapshot, and there is no assistant message to anchor into; addToolResult("${c.toolCallId}") will not be able to locate this call`),a.push(o);continue}const d=[...u.parts];if(!s.has(c.toolCallId)&&!d.some(f=>f.type==="tool-call"&&f.id===c.toolCallId)){const f=r.get(c.toolCallId);f?(d.push({...f}),s.add(f.id)):console.warn(`[StreamProcessor] MESSAGES_SNAPSHOT contains a tool-result for "${c.toolCallId}" but no matching tool-call exists in the snapshot or the pre-snapshot state; addToolResult("${c.toolCallId}") will not be able to locate this call`)}d.push(...o.parts),u.parts=d}return this.enrichSnapshotToolCallsFromResults(a,r)}enrichSnapshotToolCallsFromResults(t,n){const r=new Map;for(const s of t)for(const a of s.parts)a.type==="tool-result"&&r.set(a.toolCallId,a);return t.map(s=>{const a=s.parts.map(o=>{if(o.type!=="tool-call")return o;const i=n.get(o.id),c=r.get(o.id);let u=o;if(i&&(i.output!==void 0||i.state==="complete"||i.state==="error")&&(o.output===void 0||o.state==="input-complete"||o.state==="input-streaming"||o.state==="awaiting-input")&&(u={...o,...i.output!==void 0?{output:i.output}:{},state:i.state,...i.approval!==void 0?{approval:i.approval}:{},...i.metadata!==void 0?{metadata:i.metadata}:{}}),c&&u.output===void 0){let d;if(Array.isArray(c.content))d=c.content;else try{d=JSON.parse(c.content)}catch{d=c.content}const f=c.state==="error"?this.extractToolResultError(d):void 0;u={...u,output:f?{error:f}:d,state:c.state==="error"?"error":"complete"}}return u});return a.some((o,i)=>o!==s.parts[i])?{...s,parts:a}:s})}handleTextMessageContentEvent(t){const{messageId:n,state:r}=this.ensureAssistantMessage(t.messageId);if(this.mergeMessageMetadata(n,t.metadata),this.structuredMessageIds.has(n)){const d=t.delta||"";d!==""&&(this.messages=s5(this.messages,n,d),r.totalTextContent+=d,this.queueStructuredOutputUpdate(n,d),this.emitMessagesChange());return}const s=r.currentSegmentText;r.hasToolCallsSinceTextStart&&s.length>0&&this.isNewTextSegment(t,s)&&(s!==r.lastEmittedText&&this.emitTextUpdateForMessage(n),r.currentSegmentText="",r.lastEmittedText="",r.hasToolCallsSinceTextStart=!1),r.hasToolCallsSinceTextStart=!1;const a=r.currentSegmentText,o=t.delta||"",i=o!==""?a+o:a,c=i.slice(a.length);r.currentSegmentText=i,r.totalTextContent+=c;const u=t.delta||"";this.chunkStrategy.shouldEmit(u,r.currentSegmentText)&&r.currentSegmentText!==r.lastEmittedText&&this.emitTextUpdateForMessage(n)}handleToolCallStartEvent(t){const n=t.parentMessageId??this.getActiveAssistantMessageId(),{messageId:r,state:s}=this.ensureAssistantMessage(n??void 0);s.hasToolCallsSinceTextStart=!0;const a=t.toolCallId;if(!s.toolCalls.get(a)){const o="awaiting-input",i=t.toolCallName,c=t.metadata,u={id:t.toolCallId,name:i,arguments:"",state:o,parsedArguments:void 0,index:s.toolCalls.size,...c!==void 0&&{metadata:c}};s.toolCalls.set(a,u),s.toolCallOrder.push(a),this.toolCallToMessage.set(a,r),this.messages=uo(this.messages,r,{id:t.toolCallId,name:i,arguments:"",state:o,...c!==void 0&&{metadata:c}}),this.emitMessagesChange(),this.events.onToolCallStateChange?.(r,t.toolCallId,o,"")}}handleToolCallArgsEvent(t){const n=t.toolCallId,r=this.toolCallToMessage.get(n);if(!r)return;const s=this.getMessageState(r);if(!s)return;const a=s.toolCalls.get(n);if(!a)return;const o=a.state==="awaiting-input";a.arguments+=t.delta||"",o&&t.delta&&(a.state="input-streaming"),a.parsedArguments=this.jsonParser.parse(a.arguments),this.messages=uo(this.messages,r,{id:a.id,name:a.name,arguments:a.arguments,state:a.state}),this.emitMessagesChange(),this.events.onToolCallStateChange?.(r,a.id,a.state,a.arguments)}handleToolCallEndEvent(t){const n=this.toolCallToMessage.get(t.toolCallId);if(!n)return;const r=this.getMessageState(n);if(!r)return;const s=t.input!==void 0?t.input:Ze(t)?.input,a=r.toolCalls.get(t.toolCallId);if(a&&a.state!=="input-complete"){if(s!==void 0&&!a.arguments)try{a.arguments=JSON.stringify(s)}catch{}const o=r.toolCallOrder.indexOf(t.toolCallId);this.completeToolCall(n,o,a),s!==void 0&&(a.parsedArguments=s,this.messages=uo(this.messages,n,{id:a.id,name:a.name,arguments:a.arguments,state:"input-complete",input:s,...a.metadata!==void 0&&{metadata:a.metadata}}),this.emitMessagesChange())}}extractToolResultError(t){return t&&typeof t=="object"&&"error"in t&&typeof t.error=="string"?t.error:typeof t=="string"?t:"Tool execution failed"}handleToolCallResultEvent(t){const n=this.toolCallToMessage.get(t.toolCallId)??this.messages.find(o=>o.parts.some(i=>i.type==="tool-call"&&i.id===t.toolCallId))?.id;if(!n)return;const r=t.state==="output-error"||Ze(t)?.state==="output-error";let s;try{s=JSON.parse(t.content)}catch{s=t.content}this.messages=Sm(this.messages,t.toolCallId,s,r?"error":void 0);const a=r?"error":"complete";this.messages=bm(this.messages,n,t.toolCallId,t.content,a,a==="error"?this.extractToolResultError(s):void 0),this.emitMessagesChange()}handleRunStartedEvent(t){this.activeRuns.add(t.runId)}handleRunFinishedEvent(t){const n=t;if(this.finishReason=n.finishReason!==void 0?n.finishReason:Ze(t)?.finishReason??null,this.activeRuns.delete(t.runId),t.outcome?.type==="interrupt"&&this.handleInterrupts(t.outcome.interrupts),this.activeRuns.size===0){if(this.completeAllToolCalls(),this.finishReason==="tool_calls"&&t.outcome?.type!=="interrupt")return;this.isDone=!0,this.finalizeStream()}}handleInterrupts(t){const n=i5(t);for(const r of t){const s=r.metadata&&typeof r.metadata=="object"?r.metadata:{},a=typeof s.kind=="string"?s.kind:void 0,o=r.toolCallId;if(!o)continue;const i=typeof s.toolName=="string"?s.toolName:this.findToolCallName(o),c=Object.hasOwn(s,"input")?s.input:{};if(a==="approval"||r.reason==="approval_required"){const u=this.getActiveAssistantMessageId()??this.toolCallToMessage.get(o)??this.messages.find(d=>d.role==="assistant"&&d.parts.some(f=>f.type==="tool-call"&&f.id===o))?.id;u&&(this.messages=wm(this.messages,u,o,r.id),this.emitMessagesChange()),this.events.onApprovalRequest?.({toolCallId:o,toolName:i,input:c,approvalId:r.id});continue}if(a==="client_tool"||r.reason==="client_tool_input"){if(n)continue;this.events.onToolCall?.({toolCallId:o,toolName:i,input:c})}}}findToolCallName(t){for(const n of this.messageStates.values()){const r=n.toolCalls.get(t);if(r)return r.name}return""}handleRunErrorEvent(t){this.hasError=!0;const n=bb(t);n?this.activeRuns.delete(n):this.activeRuns.clear();const{messageId:r}=this.ensureAssistantMessage(),s=t.message||"An error occurred";t.message||console.error("[StreamProcessor] RUN_ERROR with no message; original chunk:",t),this.structuredMessageIds.has(r)&&(this.flushStructuredOutputUpdate(r),this.messages=Cm(this.messages,r,s),this.structuredMessageIds.delete(r),this.emitStructuredOutputChange(r,"error"),this.emitMessagesChange()),this.events.onError?.(t5(t))}handleStepStartedEvent(t){const n=t.stepName||Fr(),r=this.getActiveAssistantMessageId();if(r){const s=this.getMessageState(r);if(s){s.currentThinkingStepId=n,s.thinkingSteps.has(n)||(s.thinkingSteps.set(n,""),s.thinkingStepOrder.push(n)),this.pendingThinkingStepId=null;return}}this.pendingThinkingStepId=n}handleStepFinishedEvent(t){const n=t,r=n.signature;if(!r)return;const{messageId:s,state:a}=this.ensureAssistantMessage(this.getActiveAssistantMessageId()??void 0),o=a.currentThinkingStepId??n.stepId;if(!o)return;const i=a.thinkingSteps.get(o);i!==void 0&&(a.thinkingStepSignatures.set(o,r),this.messages=Bl(this.messages,s,o,i,r),this.emitMessagesChange())}handleReasoningMessageContentEvent(t){const{messageId:n,state:r}=this.ensureAssistantMessage(this.getActiveAssistantMessageId()??void 0);r.hasSeenReasoningEvents=!0;const s=t.delta||"";this.consumePendingThinkingStep(r);const a=r.currentThinkingStepId??t.messageId;r.thinkingSteps.has(a)||(r.thinkingSteps.set(a,""),r.thinkingStepOrder.push(a),r.currentThinkingStepId=a);const o=(r.thinkingSteps.get(a)??"")+s;r.thinkingSteps.set(a,o),this.messages=Bl(this.messages,n,a,o,r.thinkingStepSignatures.get(a)),this.emitMessagesChange(),this.events.onThinkingUpdate?.(n,a,o)}handleReasoningEncryptedValueEvent(t){const n=t.encryptedValue;if(typeof n!="string"||n==="")return;if(t.subtype==="tool-call"){this.attachToolCallSignature(t.entityId,n);return}const{messageId:r,state:s}=this.ensureAssistantMessage(this.getActiveAssistantMessageId()??void 0),a=s.currentThinkingStepId??t.entityId;s.thinkingStepSignatures.set(a,n);const o=s.thinkingSteps.get(a)??"";s.thinkingSteps.has(a)||(s.thinkingSteps.set(a,o),s.thinkingStepOrder.push(a)),this.messages=Bl(this.messages,r,a,o,n),this.emitMessagesChange()}attachToolCallSignature(t,n){this.messages=this.messages.map(r=>{let s=!1;const a=r.parts.map(o=>o.type!=="tool-call"||o.id!==t?o:(s=!0,{...o,metadata:{...o.metadata!=null&&typeof o.metadata=="object"?o.metadata:{},thoughtSignature:n}}));return s?{...r,parts:a}:r});for(const r of this.messageStates.values()){const s=r.toolCalls.get(t);s&&(s.metadata={...s.metadata??{},thoughtSignature:n})}this.emitMessagesChange()}handleCustomEvent(t){const n=this.getActiveAssistantMessageId();if(t.name==="structured-output.start"&&t.value){const r=t.value,{messageId:s}=this.ensureAssistantMessage(r.messageId??n??void 0);s&&(this.structuredMessageIds.add(s),this.structuredOutputUpdateBatches.delete(s),this.events.onStructuredOutputChange?.({phase:"start",messageId:s,status:"streaming",raw:""}));return}if(t.name==="structured-output.complete"&&t.value){const r=t.value,{messageId:s}=this.ensureAssistantMessage(r.messageId??n??void 0);s&&(this.flushStructuredOutputUpdate(s),this.messages=a5(this.messages,s,r.object,r.raw??"",r.reasoning),this.structuredMessageIds.delete(s),this.emitStructuredOutputChange(s,"complete"),this.emitMessagesChange())}if(t.name==="tool-input-available"&&t.value){const{toolCallId:r,toolName:s,input:a}=t.value;this.events.onToolCall?.({toolCallId:r,toolName:s,input:a});return}if(t.name==="approval-requested"&&t.value){const{toolCallId:r,toolName:s,input:a,approval:o}=t.value,i=n??this.toolCallToMessage.get(r);i&&(this.messages=wm(this.messages,i,r,o.id),this.emitMessagesChange()),this.events.onApprovalRequest?.({toolCallId:r,toolName:s,input:a,approvalId:o.id});return}if(t.name==="ui-resource"&&t.value){const r=t.value,s=this.toolCallToMessage.get(r.toolCallId)??n;if(s){const a={type:"ui-resource",resource:r.resource,toolCallId:r.toolCallId,toolName:r.toolName,...r.serverId!==void 0&&{serverId:r.serverId},...r.meta!==void 0&&{meta:r.meta}};this.messages=this.messages.map(o=>o.id===s?{...o,parts:[...o.parts,a]}:o),this.emitMessagesChange()}else console.warn(`[mcp-apps] dropped ui-resource: no target message for toolCallId "${r.toolCallId}" (toolName "${r.toolName}")`);return}if(this.events.onCustomEvent){const r=t.value&&typeof t.value=="object"?t.value.toolCallId:void 0;this.events.onCustomEvent(t.name,t.value,{toolCallId:r})}}isNewTextSegment(t,n){return!0}completeAllToolCalls(){for(const t of this.activeMessageIds)this.completeAllToolCallsForMessage(t)}completeAllToolCallsForMessage(t){const n=this.getMessageState(t);n&&n.toolCalls.forEach((r,s)=>{if(r.state!=="input-complete"){const a=n.toolCallOrder.indexOf(s);this.completeToolCall(t,a,r)}})}completeToolCall(t,n,r){r.state="input-complete";let s=!1;try{r.parsedArguments=JSON.parse(r.arguments),s=!0}catch{r.parsedArguments=void 0}this.isToolCallPartErrored(r.id)||this.isToolCallPartAwaitingUserAction(r.id)||(this.messages=uo(this.messages,t,{id:r.id,name:r.name,arguments:r.arguments,state:"input-complete",...s&&{input:r.parsedArguments},...r.metadata!==void 0&&{metadata:r.metadata}}),this.emitMessagesChange(),this.events.onToolCallStateChange?.(t,r.id,"input-complete",r.arguments))}isToolCallPartAwaitingUserAction(t){return this.messages.some(n=>n.parts?.some(r=>r.type==="tool-call"&&r.id===t&&(r.state==="approval-requested"||r.state==="approval-responded")))}isToolCallPartErrored(t){return this.messages.some(n=>n.parts?.some(r=>r.type==="tool-call"&&r.id===t&&r.state==="error"))}emitTextUpdateForMessage(t){const n=this.getMessageState(t);n&&(n.lastEmittedText=n.currentSegmentText,this.messages=n5(this.messages,t,n.currentSegmentText),this.emitMessagesChange(),this.events.onTextUpdate?.(t,n.currentSegmentText))}queueStructuredOutputUpdate(t,n){const r=this.structuredOutputUpdateBatches.get(t),s={delta:`${r?.delta??""}${n}`,chunkCount:(r?.chunkCount??0)+1};this.structuredOutputUpdateBatches.set(t,s),s.chunkCount>=o5&&this.flushStructuredOutputUpdate(t)}flushStructuredOutputUpdate(t){const n=this.structuredOutputUpdateBatches.get(t);!n||n.chunkCount===0||(this.structuredOutputUpdateBatches.delete(t),this.emitStructuredOutputChange(t,"update",n.delta))}emitStructuredOutputChange(t,n,r){const s=this.messages.find(a=>a.id===t)?.parts.find(a=>a.type==="structured-output");s&&this.events.onStructuredOutputChange?.({phase:n,messageId:t,status:s.status,raw:s.raw,...s.partial!==void 0?{partial:s.partial}:{},...s.data!==void 0?{data:s.data}:{},...s.reasoning!==void 0?{reasoning:s.reasoning}:{},...s.errorMessage!==void 0?{errorMessage:s.errorMessage}:{},...r!==void 0?{delta:r}:{}})}emitMessagesChange(){this.events.onMessagesChange?.([...this.messages])}finalizeStream(){this.isDone=!0;let t;for(const n of this.activeMessageIds){const r=this.getMessageState(n);if(!r)continue;this.completeAllToolCallsForMessage(n),r.currentSegmentText!==r.lastEmittedText&&this.emitTextUpdateForMessage(n),r.isComplete=!0;const s=this.messages.find(a=>a.id===n);s&&s.role==="assistant"&&(t=s)}for(const n of this.structuredMessageIds)this.flushStructuredOutputUpdate(n),this.messages=Cm(this.messages,n,"Stream ended without structured-output.complete"),this.emitStructuredOutputChange(n,"error");if(this.structuredMessageIds.clear(),this.structuredOutputUpdateBatches.clear(),this.activeMessageIds.clear(),t&&!this.hasError&&this.isWhitespaceOnlyMessage(t)){this.messages=this.messages.filter(n=>n.id!==t.id),this.emitMessagesChange();return}t&&!this.streamEndEmitted&&(this.streamEndEmitted=!0,this.events.onStreamEnd?.(t))}getCompletedToolCalls(){const t=[];for(const n of this.messageStates.values())for(const r of n.toolCalls.values())r.state==="input-complete"&&t.push({id:r.id,type:"function",function:{name:r.name,arguments:r.arguments},...r.metadata!==void 0&&{metadata:r.metadata}});return t}getResult(){const t=this.getCompletedToolCalls();let n="",r="";for(const s of this.messageStates.values()){n+=s.totalTextContent;for(const a of s.thinkingStepOrder)r+=s.thinkingSteps.get(a)??""}return{content:n,thinking:r||void 0,toolCalls:t.length>0?t:void 0,finishReason:this.finishReason}}getState(){let t="",n="";const r=new Map,s=[];for(const a of this.messageStates.values()){t+=a.totalTextContent;for(const o of a.thinkingStepOrder)n+=a.thinkingSteps.get(o)??"";for(const[o,i]of a.toolCalls)r.set(o,i);s.push(...a.toolCallOrder)}return{content:t,thinking:n,toolCalls:r,toolCallOrder:s,finishReason:this.finishReason,done:this.isDone}}startRecording(){this.recordingEnabled=!0,this.recordingStartTime=Date.now(),this.recording={version:"1.0",timestamp:this.recordingStartTime,chunks:[]}}getRecording(){return this.recording}resetStreamState(){this.messageStates.clear(),this.activeMessageIds.clear(),this.activeRuns.clear(),this.toolCallToMessage.clear(),this.structuredMessageIds.clear(),this.structuredOutputUpdateBatches.clear(),this.pendingManualMessageId=null,this.pendingThinkingStepId=null,this.finishReason=null,this.hasError=!1,this.isDone=!1,this.streamEndEmitted=!1,this.chunkStrategy.reset?.()}reset(){this.resetStreamState(),this.messages=[]}isWhitespaceOnlyMessage(t){return t.parts.length===0?!1:t.parts.every(n=>n.type==="text"&&n.content.trim()==="")}static async replay(t,n){return new Sb(n).process(c5(t))}};function c5(e){return{async*[Symbol.asyncIterator](){for(const{chunk:t}of e.chunks)yield t}}}var $c=(function(e){return e.TEXT_MESSAGE_START="TEXT_MESSAGE_START",e.TEXT_MESSAGE_CONTENT="TEXT_MESSAGE_CONTENT",e.TEXT_MESSAGE_END="TEXT_MESSAGE_END",e.TEXT_MESSAGE_CHUNK="TEXT_MESSAGE_CHUNK",e.TOOL_CALL_START="TOOL_CALL_START",e.TOOL_CALL_ARGS="TOOL_CALL_ARGS",e.TOOL_CALL_END="TOOL_CALL_END",e.TOOL_CALL_CHUNK="TOOL_CALL_CHUNK",e.TOOL_CALL_RESULT="TOOL_CALL_RESULT",e.THINKING_START="THINKING_START",e.THINKING_END="THINKING_END",e.THINKING_TEXT_MESSAGE_START="THINKING_TEXT_MESSAGE_START",e.THINKING_TEXT_MESSAGE_CONTENT="THINKING_TEXT_MESSAGE_CONTENT",e.THINKING_TEXT_MESSAGE_END="THINKING_TEXT_MESSAGE_END",e.STATE_SNAPSHOT="STATE_SNAPSHOT",e.STATE_DELTA="STATE_DELTA",e.MESSAGES_SNAPSHOT="MESSAGES_SNAPSHOT",e.ACTIVITY_SNAPSHOT="ACTIVITY_SNAPSHOT",e.ACTIVITY_DELTA="ACTIVITY_DELTA",e.RAW="RAW",e.CUSTOM="CUSTOM",e.RUN_STARTED="RUN_STARTED",e.RUN_FINISHED="RUN_FINISHED",e.RUN_ERROR="RUN_ERROR",e.STEP_STARTED="STEP_STARTED",e.STEP_FINISHED="STEP_FINISHED",e.REASONING_START="REASONING_START",e.REASONING_MESSAGE_START="REASONING_MESSAGE_START",e.REASONING_MESSAGE_CONTENT="REASONING_MESSAGE_CONTENT",e.REASONING_MESSAGE_END="REASONING_MESSAGE_END",e.REASONING_MESSAGE_CHUNK="REASONING_MESSAGE_CHUNK",e.REASONING_END="REASONING_END",e.REASONING_ENCRYPTED_VALUE="REASONING_ENCRYPTED_VALUE",e})({}),Cb=new WeakMap;function Kt(e){return Cb.get(e)??bb(e)}var Nb=class extends Error{constructor(){super("Stream ended with unterminated trailing data — connection was likely cut short."),this.name="StreamTruncatedError"}},Sd=class extends Error{constructor(e){super("Stream response body read failed",{cause:e}),this.name="StreamReadError"}},u5=class extends Error{constructor(){super("Durable run ended without a terminal event and could not resume — the run did not complete."),this.name="DurableStreamIncompleteError"}},d5=class extends Error{constructor(e){super(`Durable run exceeded its reconnect ceiling of ${e} attempts — giving up.`),this.name="StreamReconnectLimitError"}};function f5(e){const t=e?.maxAttempts??5,n=e?.delayMs??250;if(!Number.isInteger(t)||t<0)throw new Error(`Invalid reconnect.maxAttempts: ${t}. Must be a non-negative integer.`);if(!Number.isFinite(n)||n<0)throw new Error(`Invalid reconnect.delayMs: ${n}. Must be a non-negative finite number.`);return{maxAttempts:t,delayMs:n}}function h5(e){const t=f5(e),n=new Set;let r,s=0;return{get lastEventId(){return r},note(a){return a===void 0?"new":a===""?(r=void 0,n.clear(),"reset"):n.has(a)?"duplicate":(n.add(a),r=a,"new")},async waitBeforeReconnect(a,o){if(a)s=0;else if(s+=1,s>t.maxAttempts)throw new d5(t.maxAttempts);await m5(t.delayMs,o)}}}function m5(e,t){return e<=0||t?.aborted?Promise.resolve():new Promise(n=>{const r=()=>{clearTimeout(s),n()},s=setTimeout(()=>{t?.removeEventListener("abort",r),n()},e);t?.addEventListener("abort",r,{once:!0})})}function Nm(e){return`${e}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function fo(e,t){if(!e)throw new Error(`Cannot synthesize terminal event: ${t} not supplied via runContext and not observed in the upstream stream.`);return e}function Xs(e){if(!e)return{};if(e instanceof Headers){const t={};return e.forEach((n,r)=>{t[r]=n}),t}return e}var p5="X-Run-Id";function g5(e){return e===void 0?{}:{[p5]:e}}function Cd(e,t){const n=e.indexOf("#"),r=n===-1?"":e.slice(n),s=n===-1?e:e.slice(0,n),a=s.indexOf("?"),o=a===-1?s:s.slice(0,a),i=new URLSearchParams(a===-1?"":s.slice(a+1));for(const[u,d]of Object.entries(t))i.set(u,d);const c=i.toString();return`${o}${c.length===0?"":`?${c}`}${r}`}async function*v5(e,t){try{const n=Q$();let r="";for(;!t?.aborted;){let s;try{s=await e.read()}catch(c){if(t?.aborted)return;throw new Sd(c)}const{done:a,value:o}=s;if(a)break;r+=n.decode(o,{stream:!0});const i=r.split(`
21
- `);r=i.pop()||"";for(const c of i){const u=c.endsWith("\r")?c.slice(0,-1):c;u.trim()&&(yield u)}}if(r+=n.decode(),r.trim()&&!t?.aborted)throw new Nb}finally{e.releaseLock()}}function y5(e){return xb(e)}function x5(e){const t=Ze(e)?.model;if(typeof t=="string")return t;const n="usage"in e?e.usage:void 0;if(Array.isArray(n)){const r=n[0]?.model;if(typeof r=="string")return r}}async function*b5(e,t){let n,r,s,a;for await(const o of e){if(o==="id"||o.startsWith("id:")){const f=o==="id"?"":o.slice(3);a=f.startsWith(" ")?f.slice(1):f;continue}if(o.startsWith(":")||o.startsWith("event:")||o.startsWith("retry:"))continue;const i=X$(o);if(i==="[DONE]"){yield{chunk:ab({type:$c.RUN_FINISHED,threadId:n??t?.threadId??"",runId:r??t?.runId??"",timestamp:Date.now()},{finishReason:"stop",...s!==void 0?{model:s}:{}})};return}const c=y5(JSON.parse(i));"threadId"in c&&typeof c.threadId=="string"&&(n=c.threadId),"runId"in c&&typeof c.runId=="string"&&(r=c.runId);const u=x5(c);u!==void 0&&(s=u);const d=a;a=void 0,yield{chunk:c,...d!==void 0?{id:d}:{}}}}async function Nd(e){if(!e.ok){if(e.status===401){const t=await e.clone().json().catch(()=>null);if(U$(t))throw new kc(t.error.provider)}throw new Error(`HTTP error! status: ${e.status} ${e.statusText}`)}}function w5(e,t){const n={threadId:e};return t?.limit!==void 0&&(n.limit=String(t.limit)),t?.before!==void 0&&(n.before=t.before),n}function S5(e){return e===null||typeof e!="object"?{truncated:!1}:!("truncated"in e)||e.truncated!==!0?{truncated:!1}:!("cursor"in e)||typeof e.cursor!="string"||e.cursor===""?{truncated:!1}:{truncated:!0,cursor:e.cursor}}async function C5(e,t,n,r,s,a){const o=await e(Cd(t,w5(s,a)),{method:"GET",headers:{Accept:"application/json",...n},credentials:r});await Nd(o);const i=await o.json(),c=i.activeRun&&typeof i.activeRun.runId=="string"?{runId:i.activeRun.runId}:null,u=i.interrupts&&typeof i.interrupts.runId=="string"&&Array.isArray(i.interrupts.pending)&&i.interrupts.pending.length>0?{runId:i.interrupts.runId,pending:i.interrupts.pending}:null;return{messages:Array.isArray(i.messages)?Ac(i.messages):[],activeRun:c,interrupts:u,page:S5(i.page)}}async function N5(e,t,n,r,s){const a=await e(Cd(t,{threadId:s}),{method:"GET",headers:{Accept:"application/json",...n},credentials:r});await Nd(a);const o=await a.json();if(o===null)return{resumeSnapshot:null,activeRun:null};if(typeof o!="object"||Array.isArray(o))throw new Error(`Generation hydration expected a JSON object from ${t}, received ${Array.isArray(o)?"an array":typeof o}.`);const i=o,c=i.activeRun&&typeof i.activeRun.runId=="string"?{runId:i.activeRun.runId}:null;return{resumeSnapshot:i.resumeSnapshot??null,activeRun:c}}async function*zc(e,t,n){await Nd(e),yield*b5(v5(J$(e),t),n)}async function*E5(e,t){for await(const{chunk:n}of zc(e,t))yield n}function Em(e,t,n,r){return async function*(s,a){let o;try{o=await e(t,{...n,headers:{...n.headers,...s},...a?{signal:a}:{}})}catch(i){throw new Sd(i)}yield*r(o,a)}}async function*Im(e,t,n){const r=h5(n);for(;;){if(t?.aborted)return;const s=r.lastEventId!==void 0?{"Last-Event-ID":r.lastEventId}:{};let a=!1,o=!1;try{for await(const{chunk:i,id:c}of e(s,t))r.note(c)!=="duplicate"&&(o=!0,(i.type==="RUN_FINISHED"||i.type==="RUN_ERROR")&&(a=!0),yield i)}catch(i){if(t?.aborted)return;if((i instanceof Nb||i instanceof Sd)&&r.lastEventId!==void 0){await r.waitBeforeReconnect(o,t);continue}throw i}if(t?.aborted||a)return;if(r.lastEventId!==void 0){if(o){await r.waitBeforeReconnect(!0,t);continue}throw new u5}return}}function jm(e){if(!e)throw new Error("Connection adapter is required");const t="connect"in e,n="subscribe"in e,r="send"in e;if(t&&(n||r))throw new Error("Connection adapter must provide either connect or both subscribe and send, not both modes");if(n&&r){const u=e.joinRun?.bind(e),d=e.hydrate?.bind(e);return{subscribe:e.subscribe.bind(e),send:e.send.bind(e),...u?{joinRun:u}:{},...d?{hydrate:d}:{}}}if(!t)throw new Error("Connection adapter must provide either connect or both subscribe and send");let s=[],a=[],o;function i(u,d){d&&Cb.set(u,d);const f=a.shift();f?f(u):s.push(u)}async function c(u){const d=()=>o!==a||s.length===0&&(a.length>0||u?.aborted);for(let f=0;f<16&&!u?.aborted;f++){if(d())return;await Promise.resolve()}for(;!u?.aborted;){if(d())return;await new Promise(f=>setTimeout(f,0))}}return{subscribe(u){const d=s.splice(0),f=[];return s=d,a=f,(async function*(){o=f;try{for(;!u?.aborted;){let h;const m=d.shift();m!==void 0?h=m:h=await new Promise(v=>{const S=()=>v(null);f.push(b=>{u?.removeEventListener("abort",S),v(b)}),u?.addEventListener("abort",S,{once:!0})}),h!==null&&(yield h)}}finally{o===f&&(o=void 0)}})()},async send(u,d,f,h){let m=!1,v,S;try{const b=e.connect(u,d,f,h);for await(const N of b)"threadId"in N&&typeof N.threadId=="string"&&(v=N.threadId),"runId"in N&&typeof N.runId=="string"&&(S=N.runId),(N.type==="RUN_FINISHED"||N.type==="RUN_ERROR")&&(m=!0),i(N,h?.runId);!f?.aborted&&!m&&i(ab({type:$c.RUN_FINISHED,threadId:fo(v??h?.threadId,"threadId"),runId:fo(S??h?.runId,"runId"),timestamp:Date.now()},{finishReason:"stop",model:"connect-wrapper"}),h?.runId)}catch(b){if(!f?.aborted&&!m)try{const N=b instanceof Error?b.message:"Unknown error in connect()";i({type:$c.RUN_ERROR,threadId:fo(v??h?.threadId,"threadId"),runId:fo(S??h?.runId,"runId"),timestamp:Date.now(),message:N},h?.runId)}catch{}throw b}await c(f)},...typeof e.joinRun=="function"?{joinRun:(u,d)=>e.joinRun(u,d)}:{},...(()=>{const u=e.hydrate;return typeof u=="function"?{hydrate:(d,f)=>u(d,f)}:{}})()}}function I5(e,t,n,r){const s=$z(e),a={...r.body,...n?.forwardedProps??{},...t};return{threadId:n?.threadId??Nm("thread"),runId:n?.runId??Nm("run"),...n?.parentRunId!==void 0&&{parentRunId:n.parentRunId},...n?.resume!==void 0&&{resume:n.resume},state:{},messages:s,tools:n?.clientTools??[],context:[],forwardedProps:a,data:{...a}}}function pB(e,t={}){return{async*connect(n,r,s,a){const o=typeof e=="function"?e():e,i=typeof t=="function"?await t():t,c={"Content-Type":"application/json",...Xs(i.headers),...Xs(a?.headers),...g5(a?.runId)},u=I5(n,r,a,i),d=i.fetchClient??fetch,f=s||i.signal;yield*Im(Em(d,o,{method:"POST",headers:c,body:JSON.stringify(u),credentials:i.credentials||"same-origin"},(h,m)=>zc(h,m,{...a?.threadId!==void 0?{threadId:a.threadId}:{},...a?.runId!==void 0?{runId:a.runId}:{}})),f,i.reconnect)},async*joinRun(n,r){const s=typeof e=="function"?e():e,a=typeof t=="function"?await t():t,o=Cd(s,{offset:"-1",runId:n}),i={...Xs(a.headers)},c=a.fetchClient??fetch,u=r||a.signal;yield*Im(Em(c,o,{method:"GET",headers:i,credentials:a.credentials||"same-origin"},(d,f)=>zc(d,f,{runId:n})),u,a.reconnect)},async hydrate(n,r){const s=typeof e=="function"?e():e,a=typeof t=="function"?await t():t;return C5(a.fetchClient??fetch,s,Xs(a.headers),a.credentials||"same-origin",n,r)},async hydrateGeneration(n){const r=typeof e=="function"?e():e,s=typeof t=="function"?await t():t;return N5(s.fetchClient??fetch,r,Xs(s.headers),s.credentials||"same-origin",n)}}}function j5(e){return{async*connect(t,n,r,s){if(!r)throw new Error("fetcherToConnectionAdapter requires an AbortSignal — the chat client always supplies one.");if(!s)throw new Error("fetcherToConnectionAdapter requires a RunAgentInputContext — the chat client always supplies one.");const a=await e({messages:t,data:n,threadId:s.threadId,runId:s.runId,...s.parentRunId!==void 0?{parentRunId:s.parentRunId}:{},...s.resume!==void 0?{resume:s.resume}:{}},{signal:r,headers:s.headers});a instanceof Response?yield*E5(a,r):yield*T5(a,r)}}}async function*T5(e,t){if(t.aborted)return;const n=e[Symbol.asyncIterator](),r=new Promise(s=>{t.addEventListener("abort",()=>s({done:!0,value:void 0}),{once:!0})});try{for(;;){const s=await Promise.race([n.next(),r]);if(s.done)return;yield s.value}}finally{await n.return?.()}}function zn(e){return e.resumable}function Ul(e,t){const n=Sz(e.descriptor);return n?{...t,metadata:wz(n)}:t}function R5(e){return"cancel"in e&&"clearResolution"in e}var k5=new Set(["invalid-payload","invalid-edited-args","invalid-tool-output","invalid-response-schema","unknown-interrupt","expired","stale","conflict","legacy-unsupported"]),_5=new Set(["incomplete-batch","item-validation-failed","unsupported-bulk-operation","async-resolver","inactive-transaction","mixed-provenance","transport","server","protocol","invalid-response-schema","expired","stale","conflict","legacy-submit-failed"]);function pn(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function Eb(e){return pn(e)&&e.kind==="approval"&&typeof e.toolName=="string"&&"input"in e}function Ib(e){return pn(e)&&e.kind==="client_tool"&&typeof e.toolName=="string"&&"input"in e}function A5(e){return Eb(e.metadata)||Ib(e.metadata)}function Tm(e){return pz(e)}function M5(e){if(!pn(e.metadata))return!1;const t=e.metadata[Li];return!pn(t)||t.v!==void 0&&t.v!==1?!1:t.kind==="generic"||t.kind==="tool-approval"||t.kind==="client-tool-execution"||"definitionId"in t||"key"in t||"batchIndex"in t||"payloadSchemaHash"in t}function O5(e){if(!pn(e.metadata))return!1;const t=e.metadata[Li];return!pn(t)||t.kind!=="generic"?!1:"definitionId"in t||"key"in t||"batchIndex"in t||"payloadSchemaHash"in t}function D5(e){return e.metadata?.["tanstack:interruptPayload"]}function P5(e){return e==="tanstack:client_tool_execution"||e==="client_tool_input"}function da(e){if(e.responseSchema!==void 0)try{return Xr(Qr(e.responseSchema))}catch{return}}function Rm(e){if(e!==void 0)try{return yz(e)}catch{return}}function Nr(e){return e!==null&&(typeof e=="object"||typeof e=="function")&&"then"in e&&typeof e.then=="function"}function ho(e,t,n){if(e===void 0)return{valid:!0,payload:t};if(gr(e)){const r=e["~standard"].validate(t),s=a=>a.issues?{code:n,message:a.issues[0]?.message??"Schema validation failed."}:{valid:!0,payload:a.value};return Nr(r)?Promise.resolve(r).then(s):s(r)}return{valid:!0,payload:t}}function L5(e){for(const t of k5)if(t===e)return!0;return!1}function F5(e){for(const t of _5)if(t===e)return!0;return!1}function km(e){if(!pn(e))return!1;const t=e.scope,n=e.code;return typeof n=="string"&&typeof e.message=="string"&&typeof e.retryable=="boolean"&&typeof e.threadId=="string"&&typeof e.interruptedRunId=="string"&&typeof e.generation=="number"?t==="item"?L5(n)&&typeof e.interruptId=="string"&&(e.source==="client"||e.source==="server"):t==="batch"&&F5(n)&&Array.isArray(e.interruptIds)&&e.interruptIds.every(r=>typeof r=="string")&&(e.source==="client"||e.source==="server"||e.source==="transport"):!1}function $5(e){return km(e)?[e]:!pn(e)||!Array.isArray(e.errors)?[]:e.errors.every(km)?e.errors:[]}function jb(e,t){if(e.length!==t.length)return!1;const n=[...e].sort(),r=[...t].sort();return n.every((s,a)=>s===r[a])}function _m(e,t){return e.threadId===t.threadId&&e.interruptedRunId===t.interruptedRunId&&e.generation===t.generation&&jb(e.interruptIds,t.interruptIds)}function z5(e,t,n){const r=n.filter(i=>i.source!=="transport"),s=i=>t.includes(i)&&r.some(c=>_m(i,c)),a=e.filter(i=>!s(i)),o=t.filter(i=>!r.some(c=>_m(i,c)));return Object.freeze({rootErrors:Object.freeze([...a,...n]),submissionRootErrors:Object.freeze([...o,...r])})}function V5(e,t){if(e.threadId!==t.threadId||e.interruptedRunId!==t.interruptedRunId||e.generation!==t.generation)return!1;const n=t.resolutions.map(r=>r.interruptId);return e.scope==="item"?n.includes(e.interruptId):jb(e.interruptIds,n)}function Hl(e,t,n){const r=da(e)??n?.responseSchemaHash;return ut({v:1,kind:"generic",interruptId:e.id,interruptedRunId:t.interruptedRunId,generation:t.generation,...r!==void 0?{responseSchemaHash:r}:{},...e.expiresAt!==void 0?{expiresAt:e.expiresAt}:{}})}function B5(e,t){const n=ut(e.descriptor),r=e.error===void 0?Object.freeze([]):Object.freeze([ut(e.error)]),s=r[0];return{id:n.id,interruptId:n.id,reason:n.reason,...n.message!==void 0?{message:n.message}:{},...n.responseSchema!==void 0?{responseSchema:n.responseSchema}:{},...n.expiresAt!==void 0?{expiresAt:n.expiresAt}:{},...n.metadata!==void 0?{metadata:n.metadata}:{},threadId:t.threadId,interruptedRunId:t.interruptedRunId,generation:t.generation,status:e.status,errors:r,...s!==void 0?{error:s}:{},canResolve:e.canResolve}}var U5=class{options;hydration;items=[];snapshot=Object.freeze([]);rootErrors=Object.freeze([]);submissionRootErrors=Object.freeze([]);state=Object.freeze({interrupts:this.snapshot,pendingInterrupts:this.snapshot,interruptErrors:this.rootErrors,resuming:!1});activeTransaction;activeSubmissionOperation;retrySubmission;resuming=!1;tools;interruptDefinitions;constructor(e){this.options=e,this.tools=e.tools;const t=new Map;for(const n of e.interrupts??[]){if(t.has(n.id))throw new Error(`Duplicate interrupt definition id: ${n.id}`);t.set(n.id,n)}this.interruptDefinitions=t}updateTools(e){this.tools=e}hydrate(e,t="live"){this.activeSubmissionOperation=void 0,this.hydration={threadId:e.threadId,interruptedRunId:e.interruptedRunId,generation:e.generation,interrupts:ut(e.interrupts)};const n=new Map;for(const r of e.interrupts){const s=Tm(r);s?.kind==="generic"&&s.definitionId!==void 0&&s.key!==void 0&&s.batchIndex!==void 0&&n.set(s.batchIndex,(n.get(s.batchIndex)??0)+1)}this.items=e.interrupts.map(r=>this.hydrateInterrupt(r,e,n)),this.rootErrors=Object.freeze([]),this.submissionRootErrors=Object.freeze([]),this.retrySubmission=void 0,this.resuming=!1,this.publish(t)}getInterrupts(){return this.snapshot}getState(){return this.state}getDescriptors(){return this.hydration?.interrupts??Object.freeze([])}hasValidatedFirstPartyGenericBatch(){return this.items.some(e=>e.kind==="generic"&&e.definition!==void 0)}reset(e){this.activeSubmissionOperation=void 0,this.hydration=void 0,this.items=[],this.snapshot=Object.freeze([]),e?.preserveRootErrors!==!0&&(this.rootErrors=Object.freeze([]),this.submissionRootErrors=Object.freeze([])),this.retrySubmission=void 0,this.resuming=!1,this.state=Object.freeze({interrupts:this.snapshot,pendingInterrupts:this.snapshot,interruptErrors:this.rootErrors,resuming:!1}),this.options.onChange?.(e?.source??"live")}getInterruptErrors(){return this.rootErrors}getResuming(){return this.resuming}resolve(e){if(this.assertRootMutable(),typeof e=="boolean"){this.resolveBooleanBulk(e);return}this.resolveTransaction(e)}cancel(){this.assertRootMutable(),this.invalidateRetry();for(const e of this.items)zn(e)&&(e.validationGeneration++,e.resolution=Object.freeze(Ul(e,{interruptId:e.descriptor.id,status:"cancelled"})),e.status="staged",e.error=void 0);this.publish(),this.maybeSubmit()}retry(){if(this.resuming)throw new Error("Interrupt submission is already active.");const e=this.retrySubmission;if(!e){this.addRootError("transport","There is no retryable interrupt submission.",!1);return}this.submitBatch(e)}resolveClientToolOutput(e,t){const n=this.items.find(r=>r.kind==="client-tool-execution"&&r.binding?.kind==="client-tool-execution"&&r.binding.toolCallId===e||r.kind==="generic"&&P5(r.descriptor.reason)&&r.descriptor.toolCallId===e&&Ib(r.descriptor.metadata));return n?(this.resolveItem(n.descriptor.id,t),!0):!1}resolveToolApprovalDecision(e,t){const n=this.items.find(r=>r.descriptor.id===e&&(r.kind==="tool-approval"||r.kind==="generic"&&r.descriptor.reason==="approval_required"&&Eb(r.descriptor.metadata)));return n?(this.resolveItem(n.descriptor.id,{approved:t}),!0):!1}hydrateInterrupt(e,t,n){const r=ut(e),s=Tm(r),a=s===void 0&&A5(r);if(s===void 0&&!a)return M5(r)?{descriptor:r,binding:Hl(r,t,void 0),kind:"generic",status:"error",canResolve:!1,resumable:!1,error:this.itemError(r.id,"stale","The interrupt binding is invalid or incomplete."),validationGeneration:0}:{descriptor:r,binding:void 0,kind:"unbound",status:"pending",canResolve:!1,resumable:!1,validationGeneration:0};const o=s!==void 0&&s.interruptId===r.id&&s.interruptedRunId===t.interruptedRunId&&s.generation===t.generation&&da(r)===s.responseSchemaHash,i=s!==void 0&&s.interruptId===r.id&&s.interruptedRunId===t.interruptedRunId&&s.generation===t.generation&&s.responseSchemaHash===(da(r)??s.responseSchemaHash);if(s!==void 0&&O5(r)&&(!i||s.kind!=="generic"||s.definitionId===void 0||s.key===void 0||s.batchIndex===void 0))return{descriptor:r,binding:Hl(r,t,s),kind:"generic",status:"error",canResolve:!1,resumable:!1,error:this.itemError(r.id,"stale","The interrupt binding does not match this interrupted run."),validationGeneration:0};if(i&&s.kind==="tool-approval"){const u=this.tools?.find(d=>d.name===s.toolName);if(u?.needsApproval===!0&&r.toolCallId===s.toolCallId)try{const d=hz(u.approvalSchema,u.inputSchema);if(hm(u.inputSchema)===s.inputSchemaHash&&d.approvalSchemaHash===s.approvalSchemaHash&&d.responseSchemaHash===s.responseSchemaHash)return{descriptor:r,binding:ut(s),kind:"tool-approval",status:"pending",canResolve:!0,resumable:!0,tool:u,validationGeneration:0}}catch{}}if(i&&s.kind==="client-tool-execution"){const u=this.tools?.find(d=>d.name===s.toolName);if(u!==void 0&&r.toolCallId===s.toolCallId&&hm(u.outputSchema)===s.outputSchemaHash)return{descriptor:r,binding:ut(s),kind:"client-tool-execution",status:"pending",canResolve:!0,resumable:!0,tool:u,validationGeneration:0}}if(s!==void 0&&s.kind==="generic"&&s.definitionId!==void 0&&s.key!==void 0&&s.batchIndex!==void 0&&s.key.length>0&&n.get(s.batchIndex)!==1)return{descriptor:r,binding:ut(s),kind:"generic",status:"error",canResolve:!1,resumable:!1,error:this.itemError(r.id,"stale","Generic interrupt batch contains a duplicate batchIndex."),validationGeneration:0};if(o&&s.kind==="generic"&&s.definitionId!==void 0&&s.key!==void 0&&s.batchIndex!==void 0&&s.key.length>0&&n.get(s.batchIndex)===1){const u=this.interruptDefinitions.get(s.definitionId);if(u!==void 0&&Rm(u.responseSchema)===s.responseSchemaHash&&(u.payloadSchema===void 0?s.payloadSchemaHash===void 0:s.payloadSchemaHash===Rm(u.payloadSchema))){const d=D5(r);return{descriptor:r,binding:ut(s),definition:u,kind:"generic",status:"pending",canResolve:!0,resumable:!0,...d===void 0?{}:{payload:ut(d)},validationGeneration:0}}}const c=a||s!==void 0&&s.interruptId===r.id&&s.interruptedRunId===t.interruptedRunId&&s.generation===t.generation&&(s.kind!=="generic"||da(r)===void 0||s.responseSchemaHash===da(r));return{descriptor:r,binding:Hl(r,t,s),kind:"generic",status:"pending",canResolve:c,resumable:c,validationGeneration:0}}buildSnapshot(e){const t=this.requireHydration(),n=this.items.filter(r=>r.kind!=="client-tool-execution"&&r.status!=="submitting").map(r=>{const s=B5(r,t);if(r.kind==="unbound"||r.binding===void 0){const i={...s,kind:"unbound",canResolve:!1};return Object.freeze(i)}if(r.kind==="tool-approval"&&r.binding.kind==="tool-approval"){const i=ut(r.binding),c={...s,kind:"tool-approval",binding:i,toolName:r.binding.toolName,toolCallId:r.binding.toolCallId,originalArgs:ut(r.binding.originalArgs),cancel:()=>this.cancelItem(r.descriptor.id,e),clearResolution:()=>this.clearItem(r.descriptor.id,e),resolveInterrupt:(u,d)=>{const f=pn(d)?d:void 0;this.resolveItem(r.descriptor.id,{approved:u,...u&&f?.editedArgs!==void 0?{editedArgs:f.editedArgs}:{},...f?.payload!==void 0?{payload:f.payload}:{}},e)}};return Object.freeze(c)}const a=r.binding.kind==="generic"?ut(r.binding):ut({v:1,kind:"generic",interruptId:r.descriptor.id,interruptedRunId:t.interruptedRunId,generation:t.generation,...typeof r.binding.responseSchemaHash=="string"?{responseSchemaHash:r.binding.responseSchemaHash}:{}});if(r.definition!==void 0&&r.binding.kind==="generic"){const i={...s,kind:"generic",definitionId:r.definition.id,key:r.binding.key??"",payload:r.payload,binding:a,cancel:()=>this.cancelItem(r.descriptor.id,e),clearResolution:()=>this.clearItem(r.descriptor.id,e),resolveInterrupt:c=>this.resolveItem(r.descriptor.id,c,e)};return Object.freeze(i)}const o={...s,kind:"generic",binding:a,cancel:()=>this.cancelItem(r.descriptor.id,e),clearResolution:()=>this.clearItem(r.descriptor.id,e),resolveInterrupt:i=>this.resolveItem(r.descriptor.id,i,e)};return Object.freeze(o)});return Object.freeze(n)}publish(e="live"){if(!this.hydration){this.snapshot=Object.freeze([]),this.state=Object.freeze({interrupts:this.snapshot,pendingInterrupts:this.snapshot,interruptErrors:this.rootErrors,resuming:this.resuming}),this.options.onChange?.(e);return}this.snapshot=this.buildSnapshot(),this.state=Object.freeze({interrupts:this.snapshot,pendingInterrupts:this.snapshot,interruptErrors:this.rootErrors,resuming:this.resuming}),this.options.onChange?.(e)}resolveItem(e,t,n){this.assertItemMutable(n);const r=this.findItem(e);if(this.invalidateRetry(),!r.canResolve){r.status="error",r.error=this.itemError(e,"invalid-response-schema","The interrupt response schema is invalid and cannot be resolved."),n||this.publish();return}const s=++r.validationGeneration,a=this.validateCandidate(r,t);if(Nr(a)){r.status="validating",r.error=void 0,n||this.publish(),Promise.resolve(a).then(o=>{s===r.validationGeneration&&this.applyValidation(r,o,n)}).catch(o=>{s===r.validationGeneration&&this.applyValidation(r,{code:this.validationCode(r),message:o instanceof Error?o.message:String(o)},n)});return}this.applyValidation(r,a,n)}cancelItem(e,t){this.assertItemMutable(t);const n=this.findItem(e);this.invalidateRetry(),n.validationGeneration++,n.resolution=Object.freeze(Ul(n,{interruptId:e,status:"cancelled"})),n.status="staged",n.error=void 0,t||(this.publish(),this.maybeSubmit())}clearItem(e,t){this.assertItemMutable(t);const n=this.findItem(e);this.invalidateRetry(),n.validationGeneration++,n.resolution=void 0,n.error=void 0,n.status="pending",t||this.publish()}maybeSubmit(){const e=this.items.some(a=>a.kind==="generic"),t=this.items.filter(a=>zn(a)&&!(e&&a.kind==="client-tool-execution"));if(t.length===0||t.some(a=>a.resolution===void 0||a.status!=="staged"))return;const n=this.requireHydration(),r=sz(t.map(a=>a.resolution).filter(a=>a!==void 0)),s=Object.freeze({threadId:n.threadId,interruptedRunId:n.interruptedRunId,generation:n.generation,resolutions:r.resolutions,canonicalResolutions:r.canonicalResolutions,fingerprint:r.fingerprint});this.submitBatch(s)}applyValidation(e,t,n){if(!("valid"in t)){e.status="error";const r=this.itemError(e.descriptor.id,t.code,t.message,t.path);e.error=r,e.kind==="client-tool-execution"&&(this.rootErrors=Object.freeze([...this.rootErrors.filter(s=>!(s.code==="item-validation-failed"&&s.interruptIds.includes(e.descriptor.id))),Object.freeze({scope:"batch",code:"item-validation-failed",message:r.message,source:"client",retryable:!1,interruptIds:Object.freeze([e.descriptor.id]),threadId:r.threadId,interruptedRunId:r.interruptedRunId,generation:r.generation})])),n||this.publish();return}e.resolution=ut(Ul(e,{interruptId:e.descriptor.id,status:"resolved",payload:t.payload})),e.status="staged",e.error=void 0,n||(this.publish(),this.maybeSubmit())}validateCandidate(e,t){if(e.kind==="generic"){const n=ho(e.definition?.responseSchema??e.descriptor.responseSchema,t,"invalid-payload");if(e.definition===void 0)return n;const r=s=>"valid"in s?{valid:!0,payload:t}:s;return Nr(n)?Promise.resolve(n).then(r):r(n)}return e.kind==="client-tool-execution"?ho(e.tool?.outputSchema,t,"invalid-tool-output"):this.validateApprovalCandidate(e,t)}validateApprovalCandidate(e,t){if(!pn(t)||typeof t.approved!="boolean")return{code:"invalid-payload",message:"Tool approval resolutions require an approved boolean."};const n=t.approved,r=t.editedArgs;if(!n&&r!==void 0)return{code:"invalid-edited-args",message:"Rejected tool approvals cannot edit tool arguments."};if(n&&r!==void 0){const s=ho(e.tool?.inputSchema,r,"invalid-edited-args");return Nr(s)?Promise.resolve(s).then(a=>"valid"in a?this.validateApprovalPayload(e,t,a.payload):a):"valid"in s?this.validateApprovalPayload(e,t,s.payload):s}return this.validateApprovalPayload(e,t,void 0)}validateApprovalPayload(e,t,n){const r=t.approved===!0,s=this.approvalBranchSchema(e.tool,r),a=t.payload;if(s===void 0&&a!==void 0)return{code:"invalid-payload",message:"This approval branch does not accept a payload."};if(s!==void 0&&a===void 0)return{code:"invalid-payload",message:"This approval branch requires a payload."};const o=ho(s,a,"invalid-payload"),i=c=>"valid"in c?{valid:!0,payload:{approved:r,...n!==void 0?{editedArgs:n}:{},...s!==void 0?{payload:c.payload}:{}}}:c;return Nr(o)?Promise.resolve(o).then(i):i(o)}approvalBranchSchema(e,t){const n=e?.approvalSchema;return!pn(n)||!("approve"in n||"reject"in n)?n:t?n.approve:n.reject}validationCode(e){return e.kind==="client-tool-execution"?"invalid-tool-output":"invalid-payload"}resolveBooleanBulk(e){const t=this.items.filter(n=>zn(n)&&n.kind!=="client-tool-execution");if(!t.every(n=>n.kind==="tool-approval"&&this.approvalBranchSchema(n.tool,e)===void 0)||t.length===0){this.addRootError("unsupported-bulk-operation","Boolean bulk resolution requires payloadless tool approvals.",!1);return}this.invalidateRetry();for(const n of t)n.validationGeneration++,n.resolution=ut({interruptId:n.descriptor.id,status:"resolved",payload:{approved:e}}),n.status="staged",n.error=void 0;this.publish(),this.maybeSubmit()}resolveTransaction(e){const t=this.items.map(a=>({status:a.status,...a.resolution!==void 0?{resolution:a.resolution}:{},...a.error!==void 0?{error:a.error}:{},validationGeneration:a.validationGeneration})),n={active:!0};this.activeTransaction=n;const r=this.buildSnapshot(n).filter(R5);let s;try{for(const a of r){const o=e(a);if(o!==void 0){s={code:Nr(o)?"async-resolver":"inactive-transaction",message:Nr(o)?"Interrupt transaction resolvers must be synchronous.":"Interrupt transaction resolvers must return literal undefined."};break}}s===void 0&&this.items.some(a=>zn(a)&&a.kind!=="client-tool-execution"&&(a.resolution===void 0||a.status!=="staged"))&&(s={code:"incomplete-batch",message:"Interrupt transaction did not resolve every item."})}catch(a){s={code:"item-validation-failed",message:a instanceof Error?a.message:String(a)}}finally{n.active=!1,this.activeTransaction=void 0}if(s){this.restoreCheckpoints(t),this.addRootError(s.code,s.message,!1);return}this.publish(),this.maybeSubmit()}restoreCheckpoints(e){this.items.forEach((t,n)=>{const r=e[n];r&&(t.status=r.status,t.resolution=r.resolution,t.error=r.error,t.validationGeneration=r.validationGeneration+1)}),this.publish()}assertItemMutable(e){if(e&&!e.active)throw new Error("Interrupt transaction is inactive.");if(this.activeTransaction&&e!==this.activeTransaction)throw new Error("Interrupt transaction is inactive.");if(this.resuming)throw new Error("Interrupts cannot be mutated while submitting.")}assertRootMutable(){if(this.activeTransaction)throw new Error("Interrupt transaction is already active.");if(this.resuming)throw new Error("Interrupts cannot be mutated while submitting.")}invalidateRetry(){this.retrySubmission=void 0}submitBatch(e){const t={submission:e};this.activeSubmissionOperation=t,this.resuming=!0,this.retrySubmission=void 0;for(const n of this.items)zn(n)&&(n.status="submitting");this.publish(),this.performSubmission(t)}async performSubmission(e){try{await this.options.submit(e.submission)}catch(t){if(this.activeSubmissionOperation!==e)return;this.handleSubmissionFailure(t,e.submission)}finally{this.activeSubmissionOperation===e&&(this.activeSubmissionOperation=void 0,this.resuming=!1,this.publish())}}handleSubmissionFailure(e,t){const n=$5(e);if(n.length===0){const c=e instanceof Error?e.message:String(e);this.addRootError("transport",c,!0,"transport"),this.retrySubmission=t;for(const u of this.items)zn(u)&&(u.status="error");return}const r=n.filter(c=>V5(c,t));r.length!==n.length&&this.addRootError("protocol","Interrupt submission errors did not match the active batch.",!1);let s=!1,a=!1;const o=[];for(const c of r)if((c.code==="stale"||c.code==="expired"||c.code==="conflict")&&(s=!0),a||=c.retryable,c.scope==="item"){const u=this.items.find(d=>zn(d)&&d.descriptor.id===c.interruptId);u&&(u.status="error",u.error=ut(c))}else o.push(ut(c));const i=z5(this.rootErrors,this.submissionRootErrors,o);this.rootErrors=i.rootErrors,this.submissionRootErrors=i.submissionRootErrors;for(const c of this.items)zn(c)&&c.status==="submitting"&&(c.status="error");this.retrySubmission=a&&!s?t:void 0}addRootError(e,t,n,r="client"){const s=this.requireHydration();this.rootErrors=Object.freeze([...this.rootErrors,Object.freeze({scope:"batch",code:e,message:t,source:r,retryable:n,interruptIds:Object.freeze(this.items.filter(zn).map(a=>a.descriptor.id)),threadId:s.threadId,interruptedRunId:s.interruptedRunId,generation:s.generation})]),this.publish()}findItem(e){const t=this.items.find(n=>n.descriptor.id===e);if(!t)throw new Error(`Unknown interrupt: ${e}`);return t}requireHydration(){if(!this.hydration)throw new Error("InterruptManager is not hydrated.");return this.hydration}itemError(e,t,n,r){const s=this.requireHydration();return Object.freeze({scope:"item",interruptId:e,code:t,message:n,...r!==void 0?{path:Object.freeze([...r])}:{},source:"client",retryable:!1,threadId:s.threadId,interruptedRunId:s.interruptedRunId,generation:s.generation})}};function H5(e,...t){const n=e?.();if(Qt(n))return n;for(const r of t)if(Qt(r))return r}async function q5(e,t){if(!t)throw new tb;return await e.prepare(t),e.headers(t)}function W5(){const e=globalThis.crypto;return e?.randomUUID?e.randomUUID():Math.random().toString(36).slice(2)}var mo;function Am(){return mo!==void 0||(globalThis.__TANSTACK_AI_DEVTOOLS_RUNTIME_ID__||(globalThis.__TANSTACK_AI_DEVTOOLS_RUNTIME_ID__=W5()),mo=globalThis.__TANSTACK_AI_DEVTOOLS_RUNTIME_ID__),mo}var K5=0;function Sn(e){return e==null||e===""?"missing":`value-${encodeURIComponent(String(e))}`}function Vc(e){const t=e.runtimeId??Am(),n=e.eventId&&e.eventId.length>0?e.eventId:[e.source,e.eventType,Sn(t),Sn(e.clientId),Sn(e.requestId),Sn(e.streamId),Sn(e.hookId),Sn(e.threadId),Sn(e.runId),Sn(e.messageId),Sn(e.toolCallId),Sn(e.sequence),e.timestamp,Am(),K5++].join(":");return{...e,runtimeId:t,eventId:n}}var Y5=class extends Cw{constructor(){super({pluginId:"tanstack-ai-devtools"})}},Mm=Symbol.for("tanstack.ai.devtools.eventClient");function G5(){const e=globalThis,t=e[Mm];if(t)return t;const n=new Y5;return e[Mm]=n,n}var Ra=G5();function $t(e,t){Ra.emit(e,t)}var Tb=class{clientId;constructor(e){this.clientId=e}clientCreated(e){this.emitEvent("client:created",{initialMessageCount:e})}loadingChanged(e){this.emitEvent("client:loading:changed",{isLoading:e})}errorChanged(e){this.emitEvent("client:error:changed",{error:e})}textUpdated(e,t,n,r){this.emitEvent("text:chunk:content",{streamId:e,messageId:t,content:n,...r})}toolCallStateChanged(e,t,n,r,s,a,o){this.emitEvent("tools:call:updated",{streamId:e,messageId:t,toolCallId:n,toolName:r,state:s,arguments:a,...o})}thinkingUpdated(e,t,n,r,s){this.emitEvent("text:chunk:thinking",{streamId:e,messageId:t,content:n,delta:r,...s})}structuredOutputChanged(e,t,n,r,s){this.emitEvent(e,{streamId:t,messageId:n,...r,...s})}approvalRequested(e,t,n,r,s,a,o){this.emitEvent("tools:approval:requested",{streamId:e,messageId:t,toolCallId:n,toolName:r,input:s,approvalId:a,...o})}messageAppended(e,t,n){const r=e.parts.filter(s=>s.type==="text").map(s=>s.content).join(" ");this.emitEvent("text:message:created",{streamId:t,messageId:e.id,role:e.role,content:r,parts:e.parts,...n})}messageSent(e,t){const n=typeof t=="string"?t:t.filter(r=>r.type==="text").map(r=>r.content).join("");this.emitEvent("text:message:created",{messageId:e,role:"user",content:n,...Array.isArray(t)&&{parts:t}}),this.emitEvent("text:message:user",{messageId:e,role:"user",content:n,...Array.isArray(t)&&{parts:t}})}reloaded(e){this.emitEvent("client:reloaded",{fromMessageIndex:e})}stopped(){this.emitEvent("client:stopped")}messagesCleared(){this.emitEvent("client:messages:cleared")}toolResultAdded(e,t,n,r,s){this.emitEvent("tools:result:added",{toolCallId:e,toolName:t,output:n,state:r,...s})}toolApprovalResponded(e,t,n,r){this.emitEvent("tools:approval:responded",{approvalId:e,toolCallId:t,approved:n,...r})}toolFixtureApplied(e){this.emitEvent("devtools:tool-fixture:applied",{...e})}},J5=class extends Tb{emitEvent(e,t){const n=Date.now(),r=e.startsWith("text:")||e.startsWith("tools:")||e.startsWith("structured-output:")||e==="devtools:tool-fixture:applied",s=e.startsWith("client:")||e.startsWith("tools:")||e.startsWith("text:")||e.startsWith("structured-output:")||e==="devtools:tool-fixture:applied",a=r?"user-visible":"client-state",o={hookId:this.clientId,...typeof t?.threadId=="string"?{threadId:t.threadId}:{},...typeof t?.runId=="string"?{runId:t.runId}:{},...typeof t?.streamId=="string"?{streamId:t.streamId}:{},...typeof t?.messageId=="string"?{messageId:t.messageId}:{},...typeof t?.toolCallId=="string"?{toolCallId:t.toolCallId}:{}};if(s){const i=Vc({eventType:e,clientId:this.clientId,...o,source:"client",visibility:a,timestamp:n});Ra.emit(e,{...t,...i})}else{const i=Vc({eventType:e,source:"client",visibility:"client-state",timestamp:n});Ra.emit(e,{...t,...i})}}},Q5=class extends Tb{emitEvent(){}},X5=class{events;constructor(e){this.events=new Q5(e.clientId)}emitRegistered(){}emitUpdated(){}emitSnapshot(){}emitToolsRegistered(){}emitRunLifecycle(e,t,n,r){}deactivate(){}supersede(){}dispose(){}mountWithTools(e){}notifyToolsChanged(){}setCurrentStreamId(e){}recordStreamId(e){}getCurrentStreamId(){return null}getLastStreamId(){return null}resolveStreamId(){return""}observeChunk(e){}recordMemoryState(e){}recordCompactionEvent(e,t){}recordCompactionState(e){}recordSkillsState(e){}beginRun(e,t){}getCurrentRunEventContext(){}getCurrentOrLastRunEventContext(){}findToolCallContext(e){return{toolCallId:e}}async applyFixture(e){}},Z5=e=>new X5(e);function Om(e){if(Array.isArray(e))return{messages:e};if(e&&Array.isArray(e.messages))return e}function Dm(e){return"toolCallId"in e&&typeof e.toolCallId=="string"?e.toolCallId:void 0}function Pm(e){return"messageId"in e&&typeof e.messageId=="string"?e.messageId:void 0}function e3(e){return"parentMessageId"in e&&typeof e.parentMessageId=="string"?e.parentMessageId:void 0}var t3=class{adapter;id;applyMessages;applyResume;skipNextPersist=!1;generation=0;queue=Promise.resolve();queuePending=!1;messagesGeneration=0;lastMessages=[];lastResume=null;clearedMessageIds=new Set;clearedRunIds=new Set;ignoredActiveRunIds=new Set;clearedToolCallIds=new Set;currentRunlessRunId=null;constructor(e,t,n,r){this.adapter=e,this.id=t,this.applyMessages=n,this.applyResume=r}writeState(){const e=[...this.lastMessages];if(e.length===0&&!this.lastResume){const r=this.generation;this.runOperation(()=>{if(r===this.generation)return this.adapter.removeItem(this.id)});return}const t=this.generation,n={messages:e,...this.lastResume?{resume:this.lastResume}:{}};this.runOperation(()=>{if(t===this.generation)return this.adapter.setItem(this.id,n)})}readInitial(){try{const e=this.adapter.getItem(this.id);if(e instanceof Promise)return e.then(Om).catch(()=>{});const t=Om(e);return t&&(this.lastMessages=t.messages,this.lastResume=t.resume??null),t}catch{return}}hydrateAsync(e){if(!(e instanceof Promise))return;const t=this.messagesGeneration;e.then(n=>{!n||this.messagesGeneration!==t||(this.lastResume=n.resume??null,this.lastMessages=n.messages,this.applyMessages(n.messages),n.resume&&this.applyResume&&this.applyResume(n.resume))}).catch(()=>{})}notifyMessagesChanged(e){if(this.messagesGeneration++,this.lastMessages=[...e],this.skipNextPersist){this.skipNextPersist=!1;return}this.writeState()}persistResumeSnapshot(e){this.lastResume=e,!this.skipNextPersist&&this.writeState()}remove(){this.lastMessages=[],this.lastResume=null;const e=++this.generation;this.runOperation(()=>{if(e===this.generation)return this.adapter.removeItem(this.id)})}runOperation(e){if(this.queuePending){const t=this.queue.then(e).catch(()=>{});this.queue=t,t.finally(()=>{this.queue===t&&(this.queuePending=!1)});return}try{const t=e();if(t instanceof Promise){this.queuePending=!0;const n=t.catch(()=>{});this.queue=n,n.finally(()=>{this.queue===n&&(this.queuePending=!1)})}}catch{}}snapshotClear(e){for(const t of e.messages)this.clearedMessageIds.add(t.id);for(const t of e.activeRunIds)this.clearedRunIds.add(t),this.ignoredActiveRunIds.add(t);e.currentRunId&&(this.clearedRunIds.add(e.currentRunId),this.ignoredActiveRunIds.add(e.currentRunId))}beginClear(){this.skipNextPersist=!0}shouldIgnoreChunk(e){const t=Kt(e);if(t&&this.clearedRunIds.has(t))return e.type==="RUN_STARTED"&&(this.ignoredActiveRunIds.add(t),this.currentRunlessRunId=t),this.markIgnoredChunkIds(e),!0;if(t&&this.ignoredActiveRunIds.has(t))return this.markIgnoredChunkIds(e),!0;if(this.isRunlessChunkFromIgnoredRun(e))return this.markIgnoredChunkIds(e),!0;const n=Dm(e);if(n&&this.clearedToolCallIds.has(n))return!0;const r=e3(e);if(r&&this.clearedMessageIds.has(r))return n&&this.clearedToolCallIds.add(n),!0;const s=Pm(e);return s?!!this.clearedMessageIds.has(s):!1}onRunStarted(e){this.currentRunlessRunId=e}onRunSettled(e){this.ignoredActiveRunIds.delete(e),this.clearedRunIds.delete(e),this.currentRunlessRunId===e&&(this.currentRunlessRunId=this.ignoredActiveRunIds.values().next().value??null)}onSessionRunError(){this.ignoredActiveRunIds.clear(),this.currentRunlessRunId=null}resetIgnored(){this.ignoredActiveRunIds.clear()}takeRunlessRunId(){const e=this.currentRunlessRunId;return e?(this.ignoredActiveRunIds.delete(e),this.clearedRunIds.delete(e),this.currentRunlessRunId=this.ignoredActiveRunIds.values().next().value??null,e):null}markIgnoredChunkIds(e){const t=Pm(e);t&&this.clearedMessageIds.add(t);const n=Dm(e);n&&this.clearedToolCallIds.add(n)}isRunlessChunkFromIgnoredRun(e){return Kt(e)||!this.currentRunlessRunId||!this.ignoredActiveRunIds.has(this.currentRunlessRunId)&&!this.clearedRunIds.has(this.currentRunlessRunId)?!1:e.type==="TEXT_MESSAGE_START"||e.type==="TEXT_MESSAGE_CONTENT"||e.type==="TOOL_CALL_START"||e.type==="TOOL_CALL_ARGS"||e.type==="TOOL_CALL_END"||e.type==="TOOL_CALL_RESULT"||e.type==="MESSAGES_SNAPSHOT"||e.type==="RUN_ERROR"}};function Lm(e){return"toolCallId"in e&&typeof e.toolCallId=="string"?e.toolCallId:void 0}function Fm(e){return"messageId"in e&&typeof e.messageId=="string"?e.messageId:void 0}function n3(e){return"parentMessageId"in e&&typeof e.parentMessageId=="string"?e.parentMessageId:void 0}var r3=class{clearedMessageIds=new Set;clearedRunIds=new Set;ignoredActiveRunIds=new Set;clearedToolCallIds=new Set;currentRunlessRunId=null;snapshotClear(e){for(const t of e.messages)this.clearedMessageIds.add(t.id);for(const t of e.activeRunIds)this.clearedRunIds.add(t),this.ignoredActiveRunIds.add(t);e.currentRunId&&(this.clearedRunIds.add(e.currentRunId),this.ignoredActiveRunIds.add(e.currentRunId))}shouldIgnoreChunk(e){const t=Kt(e);if(t&&this.clearedRunIds.has(t))return e.type==="RUN_STARTED"&&(this.ignoredActiveRunIds.add(t),this.currentRunlessRunId=t),this.markIgnoredChunkIds(e),!0;if(t&&this.ignoredActiveRunIds.has(t))return this.markIgnoredChunkIds(e),!0;if(this.isRunlessChunkFromIgnoredRun(e))return this.markIgnoredChunkIds(e),!0;const n=Lm(e);if(n&&this.clearedToolCallIds.has(n))return!0;const r=n3(e);if(r&&this.clearedMessageIds.has(r))return n&&this.clearedToolCallIds.add(n),!0;const s=Fm(e);return!!(s&&this.clearedMessageIds.has(s))}onRunStarted(e){this.currentRunlessRunId=e}onRunSettled(e){this.ignoredActiveRunIds.delete(e),this.clearedRunIds.delete(e),this.currentRunlessRunId===e&&(this.currentRunlessRunId=this.ignoredActiveRunIds.values().next().value??null)}onSessionRunError(){this.ignoredActiveRunIds.clear(),this.currentRunlessRunId=null}resetActiveRuns(){this.ignoredActiveRunIds.clear(),this.currentRunlessRunId=null}takeRunlessRunId(){const e=this.currentRunlessRunId;return e?(this.ignoredActiveRunIds.delete(e),this.clearedRunIds.delete(e),this.currentRunlessRunId=this.ignoredActiveRunIds.values().next().value??null,e):null}markIgnoredChunkIds(e){const t=Fm(e);t&&this.clearedMessageIds.add(t);const n=Lm(e);n&&this.clearedToolCallIds.add(n)}isRunlessChunkFromIgnoredRun(e){return Kt(e)||!this.currentRunlessRunId||!this.ignoredActiveRunIds.has(this.currentRunlessRunId)&&!this.clearedRunIds.has(this.currentRunlessRunId)?!1:e.type==="TEXT_MESSAGE_START"||e.type==="TEXT_MESSAGE_CONTENT"||e.type==="TOOL_CALL_START"||e.type==="TOOL_CALL_ARGS"||e.type==="TOOL_CALL_END"||e.type==="TOOL_CALL_RESULT"||e.type==="MESSAGES_SNAPSHOT"||e.type==="RUN_ERROR"}};function s3(e){const t=new Set;for(const n of e??[]){if(t.has(n.id))throw new Error(`Duplicate interrupt definition id: ${n.id}`);t.add(n.id)}}function $m(e){const{connection:t,fetcher:n}=e;if(t&&n)throw new Error("ChatClient: pass either `connection` or `fetcher`, not both.");if(t)return t;if(n)return j5(n);throw new Error("ChatClient: either `connection` or `fetcher` is required.")}function zm(e){return"connect"in e}function Vm(e){if(e.type!=="RUN_FINISHED"||e.outcome?.type==="interrupt")return!1;const t=e;return t.finishReason!==void 0?t.finishReason==="tool_calls":Ze(e)?.finishReason==="tool_calls"}function Bm(e){const t={whenBusy:"queue",drain:"fifo",onOverflow:"reject"};if(!e)return t;if(typeof e=="string")return{...t,whenBusy:e};if(typeof e=="function")return{...t,strategy:e};const n=e.maxSize;if(n!==void 0&&(!Number.isInteger(n)||n<0))throw new Error("ChatClient: queue.maxSize must be a non-negative integer");return{whenBusy:e.whenBusy??"queue",drain:e.drain??"fifo",onOverflow:e.onOverflow??"reject",...n!==void 0?{maxSize:n}:{}}}function a3(e){const t=e.at(-1)?.body,n=[];for(const a of e){if(typeof a.content!="string")break;n.push(a.content)}if(n.length===e.length)return{content:n.join(`
22
- `),...t!==void 0?{body:t}:{}};const r=[];let s;for(const a of e){if(typeof a.content=="string"){r.push({type:"text",content:a.content});continue}typeof a.content.content=="string"?r.push({type:"text",content:a.content.content}):r.push(...a.content.content),s=sb(s,a.content.metadata)}return{content:{content:r,...s!==void 0?{metadata:s}:{}},...t!==void 0?{body:t}:{}}}function o3(e){if(!(e===null||typeof e!="object"||Array.isArray(e))&&!(!("approved"in e)||typeof e.approved!="boolean"))return e.approved}function i3(e){const t=e;if(t===null||typeof t!="object"||!("resumeState"in t))return;const n=t.resumeState;if(!(n===null||typeof n!="object"||!("threadId"in n)||typeof n.threadId!="string"||n.threadId.length===0||!("runId"in n)||typeof n.runId!="string"||n.runId.length===0))return{threadId:n.threadId,runId:n.runId}}var l3=2e3,c3=new Set(["TEXT_MESSAGE_START","TEXT_MESSAGE_CONTENT","TOOL_CALL_START","MESSAGES_SNAPSHOT"]),u3=64,d3=class{processor;connection;uniqueId;threadId;persistor;clearedStreamTracker=new r3;currentRunId=null;lastResume=null;runParents=new Map;supersededInterruptRunIds=new Set;rejoinedRunId=null;interruptManager;activeInterruptSubmission;interruptSubmissionFailure;joinedRunWaiters=new Map;pendingResumeParentRunId=null;pendingResumeThreadId=null;pendingResumeItems=null;activeResumeThreadId=null;activeResumeRunId=null;bodyOption={};forwardedPropsOption={};byok;byokProvider;context=void 0;pendingMessageBody=void 0;queueConfig;messageQueue=[];sendInFlight=!1;messageQueueDraining=!1;stopMessageQueueDrain=!1;deliverClaim=!1;isLoading=!1;isSubscribed=!1;error=void 0;status="ready";connectionStatus="disconnected";abortController=null;clientToolsRef;devtoolsBridge;events;currentStreamId=null;currentMessageId=null;postStreamActions=[];pendingToolExecutions=new Map;activeClientTools=null;activeContext=void 0;continuationPending=!1;subscriptionAbortController=null;processingResolve=null;connectionDrainsOnSend=!1;errorReportedGeneration=null;streamGeneration=0;continuationGeneration=0;streamContinuationGeneration=0;continuationSkipped=!1;draining=!1;sessionGenerating=!1;activeRunIds=new Set;disposed=!1;tailing=!1;rejoinRunId;cachesMessages;historyPageSize;hasOlderMessages=!1;olderMessagesCursor;knownServerMessageIds=new Set;loadOlderMessagesInFlight=!1;historyGeneration=0;devtoolsMounted=!1;callbacksRef;constructor(e){s3(e.interrupts),this.threadId=e.threadId||"",this.uniqueId=this.threadId;let t=!0;if(e.persistence===!0){if(!e.threadId)throw new Error("[TanStack AI] persistence needs a stable `threadId` to key on. Pass a threadId from your app (for example support-42).");t=!1,this.historyPageSize=e.history?.pageSize}else if(e.persistence){if(!e.threadId)throw new Error("[TanStack AI] persistence needs a stable `threadId` to key on. Pass a threadId from your app (for example support-42).");this.persistor=new t3(e.persistence,e.threadId,i=>this.processor.setMessages(i),i=>this.applyPersistedResume(i)),this.historyPageSize=void 0}else this.historyPageSize=void 0;this.bodyOption=e.body||{},this.forwardedPropsOption=e.forwardedProps||{},this.byok=e.byok,this.byokProvider=e.byokProvider,this.context=e.context,this.queueConfig=Bm(e.queue);const n=$m(e);if(this.connectionDrainsOnSend=zm(n),this.connection=jm(n),this.clientToolsRef={current:new Map},e.tools)for(const i of e.tools)this.clientToolsRef.current.set(i.name,i);this.devtoolsBridge=(e.devtoolsBridgeFactory??Z5)(this.buildDevtoolsBridgeOptions(e.devtools)),this.events=this.devtoolsBridge.events,this.callbacksRef={current:{onResponse:e.onResponse||(()=>{}),onChunk:e.onChunk||(()=>{}),onFinish:e.onFinish||(()=>{}),onError:e.onError||(()=>{}),onMessagesChange:e.onMessagesChange||(()=>{}),onLoadingChange:e.onLoadingChange||(()=>{}),onErrorChange:e.onErrorChange||(()=>{}),onStatusChange:e.onStatusChange||(()=>{}),onSubscriptionChange:e.onSubscriptionChange||(()=>{}),onConnectionStatusChange:e.onConnectionStatusChange||(()=>{}),onSessionGeneratingChange:e.onSessionGeneratingChange||(()=>{}),onQueueChange:e.onQueueChange||(()=>{}),onResumeStateChange:e.onResumeStateChange||(()=>{}),onRunIdChange:e.onRunIdChange||(()=>{}),onInterruptStateChange:e.onInterruptStateChange||(()=>{}),onCustomEvent:e.onCustomEvent||(()=>{})}},this.interruptManager=new U5({...e.tools!==void 0?{tools:e.tools}:{},...e.interrupts!==void 0?{interrupts:e.interrupts}:{},submit:i=>this.submitInterruptBatch(i),onChange:i=>this.notifyResumeStateChange(i)}),e.initialResumeSnapshot&&this.applyResumeSnapshot(e.initialResumeSnapshot);const r=this.persistor?.readInitial(),s=r instanceof Promise?void 0:r,a=s?s.messages:e.initialMessages;let o=null;if(s?.resume){const i=s.resume;Array.isArray(i.pendingInterrupts)&&i.pendingInterrupts.length>0?this.applyResumeSnapshot(i):i.resumeState.runId&&(o=i.resumeState.runId)}if(!o&&e.initialResumeSnapshot){const i=e.initialResumeSnapshot;!(Array.isArray(i.pendingInterrupts)&&i.pendingInterrupts.length>0)&&i.resumeState.runId&&(o=i.resumeState.runId)}this.processor=new l5({...e.streamProcessor?.chunkStrategy?{chunkStrategy:e.streamProcessor.chunkStrategy}:{},...a?{initialMessages:a}:{},events:{onMessagesChange:i=>{this.persistor?.notifyMessagesChanged(i),this.callbacksRef.current.onMessagesChange(i)},onStreamStart:()=>{this.setStatus("streaming");const i=this.processor.getCurrentAssistantMessageId();if(!i)return;const c=this.processor.getMessages().find(u=>u.id===i);c&&(this.currentMessageId=c.id,this.events.messageAppended(c,this.currentStreamId||void 0))},onStreamEnd:i=>{this.callbacksRef.current.onFinish(i),this.setStatus("ready"),this.resolveProcessing()},onError:i=>{this.reportStreamError(i)},onTextUpdate:(i,c)=>{this.currentStreamId&&this.events.textUpdated(this.currentStreamId,i,c)},onThinkingUpdate:(i,c)=>{this.currentStreamId&&this.events.thinkingUpdated(this.currentStreamId,i,c,void 0)},onStructuredOutputChange:i=>{const c=this.devtoolsBridge.resolveStreamId(),u=i.phase==="start"?"structured-output:started":i.phase==="complete"?"structured-output:completed":i.phase==="error"?"structured-output:errored":"structured-output:updated";this.currentMessageId=i.messageId,this.events.structuredOutputChanged(u,c,i.messageId,{status:i.status,raw:i.raw,...i.partial!==void 0?{partial:i.partial}:{},...i.data!==void 0?{data:i.data}:{},...i.reasoning!==void 0?{reasoning:i.reasoning}:{},...i.errorMessage!==void 0?{errorMessage:i.errorMessage}:{},...i.delta!==void 0?{delta:i.delta}:{}})},onToolCallStateChange:(i,c,u,d)=>{const f=this.processor.getMessages().find(h=>h.id===i)?.parts.find(h=>h.type==="tool-call"&&h.id===c)?.name||"unknown";this.currentStreamId&&this.events.toolCallStateChanged(this.currentStreamId,i,c,f,u,d)},onToolCall:i=>{const c=(this.activeClientTools??this.clientToolsRef.current).get(i.toolName),u=c?.execute;if(u){const d=this.continuationGeneration,f=this.devtoolsBridge.getCurrentRunEventContext(),h=(async()=>{try{const m=this.activeClientTools===null?this.context:this.activeContext,v=await u(i.input,{toolCallId:i.toolCallId,context:m,emitCustomEvent:()=>{}});await this.addToolResultForClientTool({toolCallId:i.toolCallId,tool:i.toolName,output:v,state:"output-available"},c,d,f)}catch(m){await this.addToolResultForClientTool({toolCallId:i.toolCallId,tool:i.toolName,output:null,state:"output-error",errorText:m.message},c,d,f)}finally{this.pendingToolExecutions.delete(i.toolCallId)}})();this.pendingToolExecutions.set(i.toolCallId,h)}},onApprovalRequest:i=>{const c=this.devtoolsBridge.resolveStreamId(),u=this.findMessageIdForToolCall(i.toolCallId)??this.currentMessageId??"";this.events.approvalRequested(c,u,i.toolCallId,i.toolName,i.input,i.approvalId)},onCustomEvent:(i,c,u)=>{i==="memory:state"&&this.devtoolsBridge.recordMemoryState(c),(i==="compaction:started"||i==="compaction:state"||i==="compaction:ended")&&this.devtoolsBridge.recordCompactionEvent(i,c),i==="skills:state"&&this.devtoolsBridge.recordSkillsState(c),this.callbacksRef.current.onCustomEvent(i,c,u)}}}),this.persistor?.hydrateAsync(r),this.rejoinRunId=o,this.cachesMessages=t}attach(){this.disposed||this.tailing||(this.ensureThreadId(),this.tailing=!0,this.rejoinRunId&&this.maybeRejoinInFlight(this.rejoinRunId),!this.cachesMessages&&this.connection.hydrate&&this.hydrateFromServer())}detach(){this.tailing&&(this.tailing=!1,this.cancelInFlightStream({setReadyStatus:!0}),this.rejoinedRunId=null)}applyResumeSnapshot(e){const t=i3(e);if(t===void 0){this.interruptManager.reset({source:"hydrate"});return}this.lastResume=t;const n=Array.isArray(e.pendingInterrupts)?e.pendingInterrupts:[];if(n.length===0){this.interruptManager.reset({source:"hydrate"});return}const r=this.interruptGeneration(n);this.interruptManager.hydrate({threadId:t.threadId,interruptedRunId:t.runId,generation:r,interrupts:n},"hydrate")}applyPersistedResume(e){this.applyResumeSnapshot(e);const t=Array.isArray(e.pendingInterrupts)&&e.pendingInterrupts.length>0,n=e.resumeState?.runId;!t&&n&&this.maybeRejoinInFlight(n)}maybeRejoinInFlight(e){this.connection.joinRun&&(this.disposed||!this.tailing||this.rejoinedRunId!==e&&(this.isLoading||this.abortController||(this.rejoinedRunId=e,this.resumeInFlightRun(e))))}hydrateFromServer(){const e=this.connection.hydrate;if(!e||this.isLoading||this.abortController||this.disposed)return;const t=this.historyPageSize,n=t===void 0?void 0:{limit:t};(async()=>{let r;const s=this.historyGeneration;try{r=await e(this.threadId,n)}catch{return}if(s===this.historyGeneration&&!(this.disposed||!this.tailing)&&!(this.isLoading||this.abortController)){if(this.applyHydrationPage(r.page),r.messages.length>0){const a=Ac(r.messages);this.processor.setMessages(a),this.rememberServerMessageIds(a)}r.interrupts&&r.interrupts.pending.length>0?this.applyResumeSnapshot({resumeState:{threadId:this.threadId,runId:r.interrupts.runId},pendingInterrupts:r.interrupts.pending}):r.activeRun?.runId&&this.maybeRejoinInFlight(r.activeRun.runId)}})()}mountDevtools(){this.ensureThreadId(),!this.devtoolsMounted&&(this.devtoolsMounted=!0,this.devtoolsBridge.mountWithTools(this.processor.getMessages().length))}ensureThreadId(){return this.threadId||(this.threadId=this.generateUniqueId("thread")),this.uniqueId=this.threadId,this.threadId}drainIgnoredRunlessChunk(e){if(e.type!=="RUN_ERROR")return;const t=this.clearedStreamTracker.takeRunlessRunId();t&&(this.activeRunIds.delete(t),this.setSessionGenerating(this.activeRunIds.size>0),this.resolveProcessing())}retireIgnoredClearedTerminalChunk(e){if(e.type!=="RUN_FINISHED"&&e.type!=="RUN_ERROR")return;const t=Kt(e)??this.clearedStreamTracker.takeRunlessRunId();t&&(this.activeRunIds.delete(t),this.setSessionGenerating(this.activeRunIds.size>0),Kt(e)||this.resolveProcessing())}updateRunLifecycle(e,t){if(e.type==="RUN_STARTED"){const s=Kt(e)??e.runId,a="parentRunId"in e&&typeof e.parentRunId=="string"?e.parentRunId:void 0;a&&(this.runParents.set(s,a),this.supersededInterruptRunIds.has(s)&&this.markLineageAnswered(a)),this.activeResumeThreadId="threadId"in e&&typeof e.threadId=="string"?e.threadId:this.activeResumeThreadId,this.activeResumeRunId=s;const o=this.supersededInterruptRunIds.has(s)&&!this.isLoading;o||(this.activeRunIds.add(s),this.clearedStreamTracker.onRunStarted(s),this.setSessionGenerating(!0)),this.persistor&&this.connection.joinRun&&!this.lastResume&&!o&&this.persistResumeSnapshot({threadId:this.activeResumeThreadId??this.threadId,runId:s}),this.lastResume&&this.supersededInterruptRunIds.has(this.lastResume.runId)&&(this.lastResume=null,this.persistor?.persistResumeSnapshot(null),this.interruptManager.reset());return}if(e.type!=="RUN_FINISHED"&&e.type!=="RUN_ERROR")return;const n=Kt(e);n?(this.activeRunIds.delete(n),this.clearedStreamTracker.onRunSettled(n)):e.type==="RUN_ERROR"&&(this.activeRunIds.clear(),this.clearedStreamTracker.onSessionRunError()),this.setSessionGenerating(this.activeRunIds.size>0);const r=e.type==="RUN_FINISHED"&&Vm(e);t?.resolveProcessing!==!1&&!r&&this.resolveProcessing()}observeInterruptState(e){if(e.type!=="RUN_FINISHED"&&e.type!=="RUN_ERROR"||this.activeInterruptSubmission&&e.type==="RUN_ERROR")return;const t=Kt(e),n="threadId"in e&&typeof e.threadId=="string"?e.threadId:this.activeResumeThreadId;if(t&&!Vm(e)&&(e.type==="RUN_ERROR"||e.type==="RUN_FINISHED"&&e.outcome?.type!=="interrupt")&&this.markLineageAnswered(t),e.type==="RUN_FINISHED"&&e.outcome?.type==="interrupt"){const d=this.currentRunId??t??this.activeResumeRunId??"";if(d&&this.supersededInterruptRunIds.has(d))return;this.lastResume={threadId:n??this.threadId,runId:d},this.interruptManager.hydrate({threadId:this.lastResume.threadId,interruptedRunId:d,generation:this.interruptGeneration(e.outcome.interrupts),interrupts:e.outcome.interrupts},"live");return}const r=e.type==="RUN_ERROR"&&!t,s=!!(t&&this.lastResume?.runId===t),a=!!(t&&this.currentRunId===t||this.currentRunId&&this.lastResume?.runId===this.currentRunId),o=!!(this.isLoading&&t&&(t===this.activeResumeRunId||t===this.currentRunId)),i=this.isLoading&&e.type==="RUN_FINISHED"&&!t,c=!!(this.activeInterruptSubmission&&this.isLoading&&e.type==="RUN_FINISHED"&&e.outcome?.type!=="interrupt"),u=!!(this.lastResume&&this.supersededInterruptRunIds.has(this.lastResume.runId));if(r||s||a||o||i||c||u){this.lastResume=null,this.persistor?.persistResumeSnapshot(null),this.interruptManager.reset();return}this.notifyResumeStateChange("live")}markLineageAnswered(e){let t=e,n=0;for(;t!==void 0&&n<u3;){if(this.supersededInterruptRunIds.has(t))return;this.supersededInterruptRunIds.add(t),t=this.runParents.get(t),n++}}getResumeState(){return this.lastResume?{...this.lastResume}:null}getCurrentRunId(){return this.currentRunId}setCurrentRunId(e){this.currentRunId!==e&&(this.currentRunId=e,this.callbacksRef.current.onRunIdChange(e))}getInterruptState(){return this.interruptManager.getState()}getInterrupts(){return this.interruptManager.getInterrupts()}getPendingInterrupts(){return this.interruptManager.getInterrupts()}resolveInterrupts(e){if(typeof e=="boolean"){this.interruptManager.resolve(e);return}this.interruptManager.resolve(e)}cancelInterrupts(){this.interruptManager.cancel()}retryInterrupts(){this.interruptManager.retry()}resumeInterruptsUnsafe(e,t){const n=t??this.lastResume;return n?this.resumeInterruptsUnsafeForGeneration(e,n,this.continuationGeneration):Promise.resolve(!1)}resumeInterruptsUnsafeForGeneration(e,t,n){return n!==this.continuationGeneration?Promise.resolve(!1):this.isLoading?new Promise((r,s)=>{this.queuePostStreamAction(async()=>{try{r(await this.resumeInterruptsUnsafeForGeneration(e,t,n))}catch(a){s(a)}})}):(this.pendingResumeThreadId=t.threadId,this.pendingResumeParentRunId=t.runId,this.pendingResumeItems=[...e],this.streamResponse())}resumeInterrupts(e,t){return this.resumeInterruptsUnsafe(e,t)}async submitInterruptBatch(e){const t=this.continuationGeneration;this.activeInterruptSubmission=e,this.interruptSubmissionFailure=void 0;for(const s of e.resolutions){const a=o3(s.payload);if(a===void 0)continue;const o=s.interruptId;this.processor.addToolApprovalResponse(o,a)}const n=await this.resumeInterruptsUnsafeForGeneration([...e.resolutions],{threadId:e.threadId,runId:e.interruptedRunId},t).finally(()=>{this.activeInterruptSubmission===e&&(this.activeInterruptSubmission=void 0)});if(t!==this.continuationGeneration)return;const r=this.takeInterruptSubmissionFailure();if(r!==void 0)throw{errors:r.errors};if(!n)throw new Error("Interrupt continuation could not be started.");this.lastResume?.runId===e.interruptedRunId&&(this.lastResume=null,this.interruptManager.reset())}takeInterruptSubmissionFailure(){const e=this.interruptSubmissionFailure;return this.interruptSubmissionFailure=void 0,e}interruptGeneration(e){let t;for(const n of e){const r=n.metadata?.["tanstack:interruptBinding"];if(r===null||typeof r!="object"||!("generation"in r)||typeof r.generation!="number"||!Number.isInteger(r.generation)||r.generation<0||t!==void 0&&t!==r.generation)return 0;t=r.generation}return t??0}generateUniqueId(e){return`${e}-${Date.now()}-${Math.random().toString(36).substring(7)}`}setIsLoading(e){this.isLoading=e,this.callbacksRef.current.onLoadingChange(e),this.events.loadingChanged(e)}setStatus(e){this.status=e,this.callbacksRef.current.onStatusChange(e),this.devtoolsBridge.emitSnapshot()}setIsSubscribed(e){this.isSubscribed=e,this.callbacksRef.current.onSubscriptionChange(e),this.devtoolsBridge.emitSnapshot()}setConnectionStatus(e){this.connectionStatus=e,this.callbacksRef.current.onConnectionStatusChange(e),this.devtoolsBridge.emitSnapshot()}setSessionGenerating(e){this.sessionGenerating!==e&&(this.sessionGenerating=e,this.callbacksRef.current.onSessionGeneratingChange(e),this.devtoolsBridge.emitSnapshot())}notifyResumeStateChange(e){const t=this.getResumeState(),n=this.interruptManager.getState();this.persistResumeSnapshot(t),this.callbacksRef.current.onResumeStateChange(t,n.interrupts),this.callbacksRef.current.onInterruptStateChange(n,{source:e})}persistResumeSnapshot(e){if(!this.persistor)return;if(!e){this.persistor.persistResumeSnapshot(null);return}const t=this.interruptManager.getDescriptors();this.persistor.persistResumeSnapshot({resumeState:e,...t.length>0?{pendingInterrupts:[...t]}:{}})}resetSessionGenerating(e){this.activeRunIds.clear(),e?.preserveClearedStreamTracking||this.clearedStreamTracker.resetActiveRuns(),this.setSessionGenerating(!1)}setError(e){this.error=e,this.callbacksRef.current.onErrorChange(e),this.events.errorChanged(e?.message||null)}buildDevtoolsBridgeOptions(e){const t=this;return{get hookId(){return t.uniqueId},get clientId(){return t.uniqueId},get threadId(){return t.threadId},metadata:{hookName:e?.hookName??"useChat",outputKind:e?.outputKind??"chat",...e?.framework?{framework:e.framework}:{},...e?.name?{name:e.name}:{}},getSnapshot:()=>this.getDevtoolsSnapshot(),getTools:()=>this.clientToolsRef.current.values(),getMessages:()=>this.processor.getMessages(),setMessages:n=>{this.processor.setMessages(n)},addToolResult:(n,r,s)=>{this.processor.addToolResult(n,r,s)},generateId:n=>this.generateUniqueId(n)}}getDevtoolsSnapshot(){return{messages:this.processor.getMessages(),status:this.status,isLoading:this.isLoading,isSubscribed:this.isSubscribed,connectionStatus:this.connectionStatus,sessionGenerating:this.sessionGenerating,activeRunIds:Array.from(this.activeRunIds),queue:this.getQueue(),...this.error?{error:this.error.message}:{}}}findMessageIdForToolCall(e){const t=this.processor.getMessages();for(const n of t)if(n.parts.find(r=>r.type==="tool-call"&&r.id===e))return n.id}abortSubscriptionLoop(){this.subscriptionAbortController?.abort(),this.subscriptionAbortController=null}resolveProcessing(){this.processingResolve?.(),this.processingResolve=null}cancelInFlightStream(e){this.abortController?.abort(),this.abortController=null,e?.abortSubscription&&this.abortSubscriptionLoop(),this.resolveProcessing(),this.setIsLoading(!1),this.deliverClaim=!1,e?.setReadyStatus&&this.setStatus("ready")}reportStreamError(e){const t=this.errorReportedGeneration===this.streamGeneration;this.setError(e),(this.isLoading||this.status==="submitted"||this.status==="streaming")&&this.setStatus("error"),t||(this.errorReportedGeneration=this.streamGeneration,this.callbacksRef.current.onError(e))}startSubscription(){this.subscriptionAbortController=new AbortController;const e=this.subscriptionAbortController.signal;this.consumeSubscription(e).catch(t=>{t instanceof Error&&t.name!=="AbortError"&&(this.setConnectionStatus("error"),this.resetSessionGenerating(),this.setIsSubscribed(!1),this.reportStreamError(t)),this.resolveProcessing()}).finally(()=>{this.subscriptionAbortController?.signal===e&&(this.subscriptionAbortController=null,!e.aborted&&this.isSubscribed&&(this.setIsSubscribed(!1),this.connectionStatus!=="error"&&this.setConnectionStatus("disconnected")))})}async consumeSubscription(e){const t=this.connection.subscribe(e);for await(const n of t){if(e.aborted)break;await this.processIncomingChunk(n)}}resumeInFlightRun(e){const t=this.connection.joinRun;if(!t)return;const n=new AbortController;this.abortController=n,this.setCurrentRunId(e),this.lastResume={threadId:this.threadId,runId:e},this.streamContinuationGeneration=this.continuationGeneration,this.setIsLoading(!0),this.setStatus("streaming"),(async()=>{let r=!1,s=!1,a=!1;const o=setTimeout(()=>{s||n.abort()},l3);try{for await(const i of t(e,n.signal)){if(n.signal.aborted)break;s||(s=!0,clearTimeout(o)),!r&&c3.has(i.type)&&(r=!0,this.dropTrailingInFlightAssistant()),await this.processIncomingChunk(i,{defer:!1})}this.pendingToolExecutions.size>0&&await Promise.all(this.pendingToolExecutions.values())}catch(i){const c=i instanceof Error&&(i.name==="AbortError"||i.name==="TimeoutError");!s&&!c&&(a=!0),s&&!c&&this.reportStreamError(i instanceof Error?i:new Error(String(i)))}finally{clearTimeout(o),!s&&a&&this.tailing&&!this.disposed&&(this.lastResume=null,this.persistor?.persistResumeSnapshot(null)),this.abortController===n&&(this.abortController=null,this.setIsLoading(!1),this.status==="streaming"&&this.setStatus("ready"),await this.drainPostStreamActions())}})()}dropTrailingInFlightAssistant(){const e=this.processor.getMessages(),t=e[e.length-1];t&&t.role==="assistant"&&this.processor.setMessages(e.slice(0,-1))}async processIncomingChunk(e,t){if(e=xb(e),e.type==="RUN_ERROR"&&this.isActiveInterruptSubmissionFailure(e)){const n=Ze(e)?.interruptErrors;this.interruptSubmissionFailure={errors:Array.isArray(n)?n:[]}}if(this.connectionStatus==="connecting"&&this.setConnectionStatus("connected"),this.clearedStreamTracker.shouldIgnoreChunk(e)){(e.type==="RUN_FINISHED"||e.type==="RUN_ERROR")&&(Kt(e)?this.updateRunLifecycle(e,{resolveProcessing:!1}):this.drainIgnoredRunlessChunk(e),this.retireIgnoredClearedTerminalChunk(e),this.resolveJoinedRun(e));return}this.callbacksRef.current.onChunk(e),this.devtoolsBridge.observeChunk(e),this.processor.processChunk(e),this.updateRunLifecycle(e),this.observeInterruptState(e),t?.defer!==!1&&(typeof document>"u"||!document.hidden)&&await new Promise(n=>setTimeout(n,0)),this.resolveJoinedRun(e)}isActiveInterruptSubmissionFailure(e){const t=this.activeInterruptSubmission,n=Ze(e)?.interruptErrors;if(!t||!Array.isArray(n)||n.length===0)return!1;const r=Kt(e);return r!==void 0&&r!==this.currentRunId||typeof e.threadId=="string"&&e.threadId!==t.threadId?!1:n.every(s=>s==null||typeof s!="object"||typeof s.threadId!="string"||typeof s.interruptedRunId!="string"||typeof s.generation!="number"?!1:s.threadId===t.threadId&&s.interruptedRunId===t.interruptedRunId&&s.generation===t.generation)}resolveJoinedRun(e){if(e.type!=="RUN_FINISHED"&&e.type!=="RUN_ERROR")return;const t=Kt(e);if(t===void 0)return;const n=this.joinedRunWaiters.get(t);n!==void 0&&(this.joinedRunWaiters.delete(t),n())}ensureSubscription(){if(!this.isSubscribed){this.subscribe();return}(!this.subscriptionAbortController||this.subscriptionAbortController.signal.aborted)&&this.subscribe({restart:!0})}waitForProcessing(){return this.resolveProcessing(),new Promise(e=>{this.processingResolve=e})}async sendMessage(e,t,n){if(this.mountDevtools(),typeof e=="string"&&!e.trim())return;if(this.hasPendingInterrupts())throw new Error("ChatClient: cannot send normal input while pending interrupts exist. Use resumeInterrupts() instead.");const r={...t,...n?.body};if(this.isSendBusy()){const{action:s,id:a}=this.decideWhenBusy(e,n);if(s==="drop")return;if(s==="queue"){this.enqueueMessage(e,r,a);return}this.stopMessageQueueDrain=!0,this.sendInFlight=!0,this.cancelInFlightStream({setReadyStatus:!0}),this.resetSessionGenerating()}else this.sendInFlight=!0;try{await this.deliverMessage(e,r)}finally{this.sendInFlight=!1}}hasPendingInterrupts(){return this.interruptManager.getDescriptors().length>0}isSendBusy(){return this.isLoading||this.sendInFlight||this.messageQueueDraining}resolveBusyReason(){return this.isLoading?"streaming":this.messageQueueDraining?"draining":"sendInFlight"}async deliverMessage(e,t){if(this.isLoading||this.deliverClaim)return!1;this.deliverClaim=!0;try{const n=this.normalizeMessageInput(e);this.pendingMessageBody=t;const r=this.processor.addUserMessage(n.content,n.id,n.metadata);return this.events.messageSent(r.id,n.content),await this.streamResponse()}finally{this.deliverClaim=!1}}decideWhenBusy(e,t){const n=this.generateUniqueId("queued");if(t?.whenBusy)return{action:t.whenBusy,id:n};const{strategy:r,whenBusy:s}=this.queueConfig;if(r){const{action:a}=r({pending:{id:n,content:e,createdAt:Date.now()},busyReason:this.resolveBusyReason(),queued:this.getQueue()});return{action:a,id:n}}return{action:s,id:n}}enqueueMessage(e,t,n){const{maxSize:r,onOverflow:s}=this.queueConfig;if(r!==void 0&&this.messageQueue.length>=r){if(s==="reject"||r===0)return;this.messageQueue.shift()}this.messageQueue.push({id:n??this.generateUniqueId("queued"),content:e,createdAt:Date.now(),...t!==void 0?{body:t}:{}}),this.emitQueueChange()}normalizeMessageInput(e){return typeof e=="string"?{content:e.trim()}:{content:e.content,id:e.id,...e.metadata!==void 0?{metadata:e.metadata}:{}}}async append(e){if(this.mountDevtools(),this.hasPendingInterrupts())throw new Error("ChatClient: cannot append normal input while pending interrupts exist. Use resumeInterrupts() instead.");const t=Fz(e,Fr);if(t.role==="system")return;const n=t;this.events.messageAppended(n);const r=this.processor.getMessages();if(this.processor.setMessages([...r,n]),this.devtoolsBridge.emitSnapshot(),this.isLoading){this.queuePostStreamAction(async()=>{await this.streamResponse()});return}await this.streamResponse()}async streamResponse(){if(this.isLoading)return!1;const e=++this.streamGeneration;this.streamContinuationGeneration=this.continuationGeneration;const t=this.pendingResumeThreadId,n=this.pendingResumeParentRunId,r=this.pendingResumeItems;this.pendingResumeThreadId=null,this.pendingResumeParentRunId=null,this.pendingResumeItems=null;const s=`run-${Date.now()}-${Math.random().toString(36).slice(2,8)}`;this.setCurrentRunId(s),this.activeResumeThreadId=t??this.threadId,this.activeResumeRunId=s,this.setIsLoading(!0),this.deliverClaim=!1,this.setStatus("submitted"),this.setError(void 0),this.errorReportedGeneration=null,this.abortController=new AbortController;const a=this.abortController.signal;this.pendingToolExecutions.clear();let o=!1,i=null,c=!1;try{const u=this.messagesForSend(this.processor.getMessages()),d=new Map(this.clientToolsRef.current),f=this.context;if(await this.callbacksRef.current.onResponse(),a.aborted)return!1;const h={...this.bodyOption,...this.forwardedPropsOption,...this.pendingMessageBody};this.pendingMessageBody=void 0,this.currentStreamId=this.generateUniqueId("stream"),this.devtoolsBridge.setCurrentStreamId(this.currentStreamId),this.currentMessageId=null,this.activeClientTools=d,this.activeContext=f,this.processor.prepareAssistantMessage(),this.ensureSubscription();const m=this.waitForProcessing();let v;if(this.byok){const b=H5(this.byokProvider,h.provider,q$(this.byok));v=await q5(this.byok,b)}const S={threadId:t??this.threadId,runId:s,...n!==null?{parentRunId:n}:{},clientTools:Array.from(d.values()).map(b=>({name:b.name,description:b.description,parameters:b.inputSchema?Oc(b.inputSchema):{type:"object"}})),forwardedProps:{...h},...r?{resume:r}:{},...v?{headers:v}:{}};if(this.devtoolsBridge.beginRun(S.runId,S.threadId),i=S.runId,this.devtoolsBridge.emitRunLifecycle("run:created",S.runId,"created"),this.devtoolsBridge.emitRunLifecycle("run:started",S.runId,"started"),this.devtoolsBridge.emitSnapshot(),await this.connection.send(u,h,a,S),e!==this.streamGeneration||a.aborted||(this.connectionDrainsOnSend&&this.resolveProcessing(),await m,e!==this.streamGeneration))return!1;if(this.status==="error")return i&&(this.devtoolsBridge.emitRunLifecycle("run:errored",i,"errored",this.error?{error:this.error.message}:{}),c=!0),!1;this.pendingToolExecutions.size>0&&await Promise.all(this.pendingToolExecutions.values()),this.processor.finalizeStream(),o=!0}catch(u){const d=u instanceof Error?u:new Error(String(u));if(d.name==="AbortError")return i&&(this.devtoolsBridge.emitRunLifecycle("run:cancelled",i,"cancelled"),c=!0),!1;if(d instanceof kc&&this.byok?.request(d.provider,"missing"),d instanceof Ho&&d.reason==="locked"&&this.byok?.request(d.provider,"locked"),e===this.streamGeneration&&(this.reportStreamError(d),i&&(this.devtoolsBridge.emitRunLifecycle("run:errored",i,"errored",{error:d.message}),c=!0)),e===this.streamGeneration&&(d instanceof kc||d instanceof Ho||d instanceof tb))throw d}finally{e===this.streamGeneration&&(this.currentStreamId=null,this.devtoolsBridge.setCurrentStreamId(null),this.currentMessageId=null,this.setCurrentRunId(null),this.activeClientTools=null,this.activeContext=void 0,this.abortController=null,this.setIsLoading(!1),this.pendingMessageBody=void 0,i&&!c&&(o?this.devtoolsBridge.emitRunLifecycle("run:completed",i,"completed"):a.aborted&&this.devtoolsBridge.emitRunLifecycle("run:cancelled",i,"cancelled")),await this.drainPostStreamActions(),o?(this.rememberProcessorMessageIds(),this.status!=="ready"&&this.setStatus("ready"),this.messageQueueDraining||await this.drainQueue()):this.flushQueue())}return o}subscribe(e){const t=e?.restart===!0;this.isSubscribed&&!t||(this.isSubscribed&&t&&this.abortSubscriptionLoop(),this.setIsSubscribed(!0),this.setConnectionStatus("connecting"),this.startSubscription())}unsubscribe(){this.cancelInFlightStream({setReadyStatus:!0,abortSubscription:!0}),this.discardPendingSends(),this.resetSessionGenerating(),this.setIsSubscribed(!1),this.setConnectionStatus("disconnected")}async reload(){const e=this.processor.getMessages();if(e.length===0)return;const t=e.findLastIndex(n=>n.role==="user");t!==-1&&(this.isLoading&&this.cancelInFlightStream(),this.discardPendingSends(),this.events.reloaded(t),this.processor.removeMessagesAfter(t),this.devtoolsBridge.emitSnapshot(),await this.streamResponse())}stop(){this.continuationGeneration++;const e=this.abortController!==null;this.cancelInFlightStream({setReadyStatus:!0}),this.discardPendingSends(),this.lastResume=null,this.activeInterruptSubmission=void 0,this.interruptManager.reset(),e&&this.resetSessionGenerating(),this.events.stopped()}clear(){const e=this.abortController!==null;this.clearedStreamTracker.snapshotClear({messages:this.processor.getMessages(),activeRunIds:this.activeRunIds,currentRunId:this.currentRunId}),this.isLoading||e?(this.cancelInFlightStream({setReadyStatus:!0}),this.resetSessionGenerating({preserveClearedStreamTracking:!0})):this.activeRunIds.size>0&&this.resetSessionGenerating({preserveClearedStreamTracking:!0}),this.persistor?.beginClear(),this.processor.clearMessages(),this.resetHistoryPaging(),this.discardPendingSends(),this.persistor?.remove(),this.lastResume=null,this.interruptManager.reset(),this.pendingResumeThreadId=null,this.pendingResumeParentRunId=null,this.pendingResumeItems=null,this.setError(void 0),this.events.messagesCleared()}async addToolResult(e){const t=this.clientToolsRef.current.get(e.tool);await this.addToolResultForClientTool(e,t,this.streamContinuationGeneration)}async addToolResultForClientTool(e,t,n,r){if(t&&e.state!=="output-error")try{e={...e,output:this.validateClientToolOutput(t,e.output)}}catch(s){e={...e,output:null,state:"output-error",errorText:s.message}}if(this.events.toolResultAdded(e.toolCallId,e.tool,e.output,e.state||"output-available",r),n===this.continuationGeneration&&(this.processor.addToolResult(e.toolCallId,e.output,e.state==="output-error"?e.errorText||"Tool execution failed":void 0),this.devtoolsBridge.emitSnapshot(),!this.interruptManager.resolveClientToolOutput(e.toolCallId,e.state==="output-error"?{error:e.errorText||"Tool execution failed"}:e.output))){if(this.isLoading){this.queuePostStreamAction(()=>n===this.continuationGeneration?this.checkForContinuation():Promise.resolve());return}await this.checkForContinuation()}}validateClientToolOutput(e,t){return e.outputSchema&&gr(e.outputSchema)?lz(e.outputSchema,t):t}async addToolApprovalResponse(e){if(this.processor.addToolApprovalResponse(e.id,e.approved),this.devtoolsBridge.emitSnapshot(),this.interruptManager.resolveToolApprovalDecision(e.id,e.approved))return;const t=this.processor.getMessages();let n;for(const r of t){const s=r.parts.find(a=>a.type==="tool-call"&&a.approval?.id===e.id);if(s){n=s.id;break}}if(n&&this.events.toolApprovalResponded(e.id,n,e.approved),this.processor.addToolApprovalResponse(e.id,e.approved),this.devtoolsBridge.emitSnapshot(),this.isLoading){this.queuePostStreamAction(()=>this.checkForContinuation());return}await this.checkForContinuation()}queuePostStreamAction(e){const t=this.continuationGeneration;this.postStreamActions.push(async()=>{t===this.continuationGeneration&&await e()})}async drainPostStreamActions(){if(!this.draining){this.draining=!0;try{let e;for(;(e=this.postStreamActions.shift())!==void 0;)await e()}finally{this.draining=!1}}}async checkForContinuation(){if(this.streamContinuationGeneration===this.continuationGeneration&&!this.hasPendingInterrupts()){if(this.continuationPending||this.isLoading){this.continuationSkipped=!0;return}if(this.shouldAutoSend()){this.continuationPending=!0,this.continuationSkipped=!1;let e=!1;try{e=await this.streamResponse()}finally{this.continuationPending=!1}this.continuationSkipped&&e&&(this.continuationSkipped=!1,await this.checkForContinuation())}}}shouldAutoSend(){if(this.lastResume||this.activeInterruptSubmission&&this.hasPendingInterrupts()||this.interruptManager.getInterrupts().length>0)return!1;const e=this.processor.getMessages().findLast(t=>t.role==="assistant");return!e||!e.parts.some(t=>t.type==="tool-call")?!1:this.processor.areAllToolsComplete()}getMessages(){return this.processor.getMessages()}getHasOlderMessages(){return this.hasOlderMessages}async loadOlderMessages(){const e=this.connection.hydrate;if(e===void 0||this.disposed||!this.hasOlderMessages)return;const t=this.olderMessagesCursor;if(t===void 0||this.loadOlderMessagesInFlight)return;const n={before:t};this.historyPageSize!==void 0&&(n.limit=this.historyPageSize),this.loadOlderMessagesInFlight=!0;const r=this.historyGeneration;try{const s=await e(this.threadId,n);if(this.disposed||r!==this.historyGeneration)return;const a=Ac(s.messages);if(a.length===0)throw new Error("Older page was empty");this.applyHydrationPage(s.page),this.processor.prependMessages(a),this.rememberServerMessageIds(a)}finally{this.loadOlderMessagesInFlight=!1}}resetHistoryPaging(){this.hasOlderMessages=!1,this.olderMessagesCursor=void 0,this.knownServerMessageIds.clear(),this.historyGeneration++}applyHydrationPage(e){if(e?.truncated===!0){this.hasOlderMessages=!0,this.olderMessagesCursor=e.cursor;return}this.hasOlderMessages=!1,this.olderMessagesCursor=void 0}rememberServerMessageIds(e){const t=e.map(n=>n.id);for(const n of t)this.knownServerMessageIds.add(n)}rememberProcessorMessageIds(){this.historyPageSize!==void 0&&this.rememberServerMessageIds(this.processor.getMessages())}messagesForSend(e){if(this.historyPageSize===void 0)return e;const t=[];for(const r of e)this.knownServerMessageIds.has(r.id)||t.push(r);if(t.length>0)return t;const n=e.findLastIndex(r=>r.role==="user");return n===-1?[]:e.slice(n)}shouldAbortMessageQueueDrain(){return this.isLoading||this.stopMessageQueueDrain}async drainQueue(){if(!(this.messageQueueDraining||this.isLoading||this.messageQueue.length===0)){this.messageQueueDraining=!0,this.stopMessageQueueDrain=!1;try{if(this.queueConfig.drain==="batch"){for(;this.messageQueue.length>0;){if(this.shouldAbortMessageQueueDrain())return;const e=this.messageQueue.splice(0);this.emitQueueChange();const t=a3(e);if(!await this.deliverMessage(t.content,t.body)||this.shouldAbortMessageQueueDrain())return}return}for(;this.messageQueue.length>0;){if(this.shouldAbortMessageQueueDrain())return;const e=this.messageQueue.shift();if(e===void 0||(this.emitQueueChange(),!await this.deliverMessage(e.content,e.body)||this.shouldAbortMessageQueueDrain()))return}}finally{this.messageQueueDraining=!1,this.stopMessageQueueDrain=!1}}}discardPendingSends(){this.sendInFlight=!1,this.flushQueue()}getQueue(){return this.messageQueue.map(({id:e,content:t,createdAt:n})=>({id:e,content:t,createdAt:n}))}emitQueueChange(){this.callbacksRef.current.onQueueChange(this.getQueue()),this.devtoolsBridge.emitSnapshot()}cancelQueued(e){const t=this.messageQueue.findIndex(n=>n.id===e);t!==-1&&(this.messageQueue.splice(t,1),this.emitQueueChange())}flushQueue(){this.messageQueue.length!==0&&(this.messageQueue=[],this.emitQueueChange())}getIsLoading(){return this.isLoading}getStatus(){return this.status}getIsSubscribed(){return this.isSubscribed}getConnectionStatus(){return this.connectionStatus}getSessionGenerating(){return this.sessionGenerating}getError(){return this.error}setMessagesManually(e){this.processor.setMessages(e),this.devtoolsBridge.emitSnapshot()}updateOptions(e){if(e.connection!==void 0||e.fetcher!==void 0){const t=this.isSubscribed;this.isLoading?this.cancelInFlightStream({setReadyStatus:!0,abortSubscription:!0}):t&&this.abortSubscriptionLoop(),this.resetSessionGenerating(),this.setIsSubscribed(!1),this.setConnectionStatus("disconnected");const n=$m({connection:e.connection,fetcher:e.fetcher});this.connectionDrainsOnSend=zm(n),this.connection=jm(n),t&&this.subscribe()}if(e.body!==void 0&&(this.bodyOption=e.body),e.forwardedProps!==void 0&&(this.forwardedPropsOption=e.forwardedProps),e.byok!==void 0&&(this.byok=e.byok),e.byokProvider!==void 0&&(this.byokProvider=e.byokProvider),"context"in e&&(this.context=e.context),e.tools!==void 0){this.interruptManager.updateTools(e.tools),this.clientToolsRef.current=new Map;for(const t of e.tools)this.clientToolsRef.current.set(t.name,t);this.devtoolsBridge.notifyToolsChanged()}e.queue!==void 0&&(this.queueConfig=Bm(e.queue)),e.onResponse!==void 0&&(this.callbacksRef.current.onResponse=e.onResponse),e.onChunk!==void 0&&(this.callbacksRef.current.onChunk=e.onChunk),e.onFinish!==void 0&&(this.callbacksRef.current.onFinish=e.onFinish),e.onError!==void 0&&(this.callbacksRef.current.onError=e.onError),e.onSubscriptionChange!==void 0&&(this.callbacksRef.current.onSubscriptionChange=e.onSubscriptionChange),e.onConnectionStatusChange!==void 0&&(this.callbacksRef.current.onConnectionStatusChange=e.onConnectionStatusChange),e.onSessionGeneratingChange!==void 0&&(this.callbacksRef.current.onSessionGeneratingChange=e.onSessionGeneratingChange),e.onQueueChange!==void 0&&(this.callbacksRef.current.onQueueChange=e.onQueueChange),e.onResumeStateChange!==void 0&&(this.callbacksRef.current.onResumeStateChange=e.onResumeStateChange),e.onRunIdChange!==void 0&&(this.callbacksRef.current.onRunIdChange=e.onRunIdChange),e.onInterruptStateChange!==void 0&&(this.callbacksRef.current.onInterruptStateChange=e.onInterruptStateChange),e.onCustomEvent!==void 0&&(this.callbacksRef.current.onCustomEvent=e.onCustomEvent)}dispose(){this.disposed=!0,this.unsubscribe(),this.devtoolsBridge.dispose(),this.devtoolsMounted=!1}};function Um(e){return!e||typeof e!="object"?{}:{..."before"in e&&typeof e.before=="number"?{before:e.before}:{},..."after"in e&&typeof e.after=="number"?{after:e.after}:{},..."messagesBefore"in e&&typeof e.messagesBefore=="number"?{messagesBefore:e.messagesBefore}:{},..."messagesAfter"in e&&typeof e.messagesAfter=="number"?{messagesAfter:e.messagesAfter}:{},..."reusedCheckpoint"in e&&typeof e.reusedCheckpoint=="boolean"?{reusedCheckpoint:e.reusedCheckpoint}:{},..."maxTokens"in e&&typeof e.maxTokens=="number"?{maxTokens:e.maxTokens}:{},..."strategyKey"in e&&typeof e.strategyKey=="string"?{strategyKey:e.strategyKey}:{},..."durationMs"in e&&typeof e.durationMs=="number"?{durationMs:e.durationMs}:{}}}function Hm(e){if(!Array.isArray(e))return;const t=[];for(const n of e)!n||typeof n!="object"||!("role"in n)||!("tokens"in n)||!("text"in n)||typeof n.role!="string"||typeof n.tokens!="number"||typeof n.text!="string"||t.push({role:n.role,tokens:n.tokens,text:n.text});return t}function f3(e){if(!e||typeof e!="object"||!("before"in e)||!("after"in e)||!("messagesBefore"in e)||!("messagesAfter"in e)||typeof e.before!="number"||typeof e.after!="number"||typeof e.messagesBefore!="number"||typeof e.messagesAfter!="number")return null;const t="reusedCheckpoint"in e&&e.reusedCheckpoint===!0,n="maxTokens"in e&&typeof e.maxTokens=="number"?e.maxTokens:void 0,r="strategyKey"in e&&typeof e.strategyKey=="string"?e.strategyKey:void 0,s="dropped"in e?Hm(e.dropped):void 0,a="result"in e?Hm(e.result):void 0;return{before:e.before,after:e.after,messagesBefore:e.messagesBefore,messagesAfter:e.messagesAfter,reusedCheckpoint:t,...n!==void 0?{maxTokens:n}:{},...r?{strategyKey:r}:{},...s?{dropped:s}:{},...a?{result:a}:{}}}var qm=Symbol.for("tanstack.ai.devtools.activeBridgeByHookId");function ql(){const e=globalThis,t=e[qm];if(t)return t;const n=new Map;return e[qm]=n,n}function h3(e,t){return{get hookId(){return e.hookId},get clientId(){return e.clientId},get threadId(){return e.threadId},metadata:e.metadata,getSnapshot:t.getSnapshot,...t.getTools||e.getTools?{getTools:t.getTools??e.getTools}:{},...t.applyToolFixture||e.applyToolFixture?{applyToolFixture:t.applyToolFixture??e.applyToolFixture}:{}}}var m3=class{options;unsubscribers=[];disposed=!1;superseded=!1;registered=!1;constructor(e){this.options=e}emitRegistered(){this.prepareForMountEmit()&&(this.registered=!0,$t("hook:registered",{...this.createEnvelope("hook:registered"),...this.createMetadataPayload(),lifecycle:"mounted"}))}emitUpdated(){this.prepareForEmit()&&$t("hook:updated",{...this.createEnvelope("hook:updated"),...this.createMetadataPayload(),lifecycle:"active"})}emitSnapshot(){this.prepareForEmit()&&$t("hook:state-snapshot",{...this.createEnvelope("hook:state-snapshot"),...this.createMetadataPayload(),state:this.options.getSnapshot()})}emitToolsRegistered(){if(!this.prepareForEmit())return;const e=this.options.getTools?Array.from(this.options.getTools()).map(t=>({name:t.name,description:t.description,inputSchema:t.inputSchema?Oc(t.inputSchema):{type:"object"},outputSchema:t.outputSchema?Oc(t.outputSchema):void 0,needsApproval:t.needsApproval,metadata:t.metadata})):[];$t("tools:registered",{...this.createEnvelope("tools:registered"),...this.createMetadataPayload(),tools:e})}emitRunLifecycle(e,t,n,r={}){this.prepareForEmit()&&$t(e,{...this.createEnvelope(e,"client-state",{runId:t}),runId:t,status:n,...r.error?{error:r.error}:{}})}deactivate(){const e=ql();e.get(this.options.hookId)===this&&e.delete(this.options.hookId);for(const t of this.unsubscribers.splice(0))t()}supersede(){this.disposed||(this.superseded=!0,this.disposed=!0,this.deactivate())}dispose(){if(this.disposed)return;if(this.disposed=!0,!this.registered){this.deactivate();return}if(ql().get(this.options.hookId)!==this){this.deactivate();return}const e={...this.createEnvelope("hook:unregistered"),...this.createMetadataPayload(),reason:"disposed"};$t("hook:unregistered",e),this.deactivate()}prepareForEmit(){return this.disposed||this.superseded?!1:(this.activate(),!0)}prepareForMountEmit(){return this.superseded?!1:(this.disposed&&(this.disposed=!1,this.registered=!1),this.activate(),!0)}activate(){if(this.disposed)return;const e=ql(),t=e.get(this.options.hookId);t&&t!==this&&(typeof t.supersede=="function"?t.supersede():t.deactivate()),e.set(this.options.hookId,this),!(this.unsubscribers.length>0)&&(this.unsubscribers.push(Ra.on("devtools:request-state",n=>{this.handleRequestState(n)})),this.options.applyToolFixture&&this.unsubscribers.push(Ra.on("devtools:tool-fixture:apply",n=>{this.handleToolFixtureApply(n)})))}handleRequestState(e){if(this.disposed||this.superseded)return;const t=e.payload.targetHookId;t&&t!==this.options.hookId||(this.emitRegistered(),this.emitToolsRegistered(),this.emitSnapshot(),this.onReplayState())}onReplayState(){}async handleToolFixtureApply(e){const t=e.payload;this.matchesFixtureTarget(t)&&await this.options.applyToolFixture?.(t)}matchesFixtureTarget(e){return!e.hookId&&!e.threadId?!1:e.hookId?e.hookId===this.options.hookId:!(e.threadId&&(!this.options.threadId||e.threadId!==this.options.threadId))}createEnvelope(e,t="client-state",n={}){return Vc({eventType:e,source:"client",visibility:t,clientId:this.options.clientId,hookId:this.options.hookId,...this.options.threadId?{threadId:this.options.threadId}:{},...n.runId?{runId:n.runId}:{},timestamp:Date.now()})}createMetadataPayload(){return{hookId:this.options.hookId,hookName:this.options.metadata.hookName,...this.options.metadata.name?{displayName:this.options.metadata.name}:{},...this.options.metadata.outputKind?{outputKind:this.options.metadata.outputKind}:{},...this.options.metadata.framework?{framework:this.options.metadata.framework}:{}}}},p3=class extends m3{events;chatOptions;currentRunId=null;currentRunThreadId=null;currentStreamId=null;lastStreamId=null;lastRunEventContext;lastMemoryStateValue=null;lastCompactionEvents=[];lastSkillsStateValue=null;constructor(e){super(h3(e,{getSnapshot:e.getSnapshot,applyToolFixture:t=>this.applyFixture(t)})),this.chatOptions=e,this.events=new w3(()=>e.clientId,this)}setCurrentStreamId(e){this.currentStreamId=e,e&&(this.lastStreamId=e)}recordStreamId(e){e&&(this.lastStreamId=e)}mountWithTools(e){this.events.clientCreated(e),this.emitRegistered(),this.emitToolsRegistered(),this.emitSnapshot()}notifyToolsChanged(){this.emitToolsRegistered(),this.emitSnapshot()}getCurrentStreamId(){return this.currentStreamId}getLastStreamId(){return this.lastStreamId}resolveStreamId(){return this.currentStreamId??this.lastStreamId??this.chatOptions.generateId("stream")}beginRun(e,t){this.currentRunId=e,this.currentRunThreadId=t,this.lastRunEventContext={runId:e,threadId:t}}observeChunk(e){if(e.type==="RUN_STARTED"){this.beginRun(e.runId,e.threadId);return}if(e.type==="RUN_FINISHED"||e.type==="RUN_ERROR"){const t=(e.type==="RUN_FINISHED",e.runId);if(!t||t===this.currentRunId){const n=this.getCurrentRunEventContext();n&&(this.lastRunEventContext=n),this.currentRunId=null,this.currentRunThreadId=null}}}recordMemoryState(e){this.lastMemoryStateValue=e,this.emitMemoryState(e)}recordSkillsState(e){this.lastSkillsStateValue=e,this.emitSkillsState(e)}emitMemoryState(e){if(!e||typeof e!="object")return;const t=e,n=t.scope,r=t.adapter;if(!n||typeof r!="string")return;const s=this.currentRunId?{runId:this.currentRunId}:{};$t("memory:retrieve:started",{...this.createEnvelope("memory:retrieve:started","client-state",s),scope:n,adapter:r,query:t.query??""}),t.recall&&$t("memory:retrieve:completed",{...this.createEnvelope("memory:retrieve:completed","client-state",s),scope:n,adapter:r,fragmentCount:t.recall.fragmentCount??0,hasTools:!!t.recall.hasTools,systemPromptChars:t.recall.systemPromptChars??0,durationMs:t.recall.durationMs??0}),t.snapshot&&$t("memory:snapshot",{...this.createEnvelope("memory:snapshot","client-state",s),scope:n,adapter:r,takenAt:t.snapshot.takenAt,data:t.snapshot.data,facts:t.snapshot.facts??[]})}recordCompactionEvent(e,t){this.lastCompactionEvents.push({eventType:e,value:t}),this.lastCompactionEvents.length>60&&this.lastCompactionEvents.splice(0,this.lastCompactionEvents.length-60),this.emitCompactionEvent(e,t)}recordCompactionState(e){this.recordCompactionEvent("compaction:state",e)}emitCompactionEvent(e,t){const n=this.currentRunId?{runId:this.currentRunId}:{};if(e==="compaction:started"){const r=Um(t);$t("compaction:started",{...this.createEnvelope("compaction:started","client-state",n),...r});return}if(e==="compaction:ended"){const r=Um(t);$t("compaction:ended",{...this.createEnvelope("compaction:ended","client-state",n),...r});return}if(e==="compaction:state"){const r=f3(t);if(!r)return;$t("compaction:state",{...this.createEnvelope("compaction:state","client-state",n),...r})}}emitSkillsState(e){if(!e||typeof e!="object")return;const t=e,n=Array.isArray(t.catalog)?t.catalog:[],r=Array.isArray(t.activated)?t.activated:[],s=this.currentRunId?{runId:this.currentRunId}:{};$t("skills:snapshot",{...this.createEnvelope("skills:snapshot","client-state",s),catalog:n,activated:r})}onReplayState(){this.lastMemoryStateValue!=null&&this.emitMemoryState(this.lastMemoryStateValue);for(const e of this.lastCompactionEvents)this.emitCompactionEvent(e.eventType,e.value);this.lastSkillsStateValue!=null&&this.emitSkillsState(this.lastSkillsStateValue)}getCurrentRunEventContext(){if(this.currentRunId)return{threadId:this.currentRunThreadId??this.chatOptions.threadId??"",runId:this.currentRunId}}getCurrentOrLastRunEventContext(){return this.getCurrentRunEventContext()??this.lastRunEventContext}findToolCallContext(e){const t={toolCallId:e},n=this.getCurrentRunEventContext();return n?{threadId:n.threadId,runId:n.runId,toolCallId:e}:this.chatOptions.threadId?{threadId:this.chatOptions.threadId,toolCallId:e}:t}async applyFixture(e){const t=this.chatOptions.getMessages(),n=e.threadId??this.chatOptions.threadId??"";if(e.execute){await this.executeFixture(e,t,n);return}const{message:r,toolCallId:s}=this.createReplayMessageFromFixture(e,t),a=r.id;this.events.messageAppended(r,void 0,{threadId:n,toolCallId:s,...e.runId?{runId:e.runId}:{}}),this.chatOptions.setMessages([...t,r]),this.events.toolFixtureApplied({hookId:this.chatOptions.hookId,threadId:n,...e.runId?{runId:e.runId}:{},toolName:e.toolName,input:e.input,output:e.output,messageId:a,toolCallId:s,...e.execute!==void 0?{execute:e.execute}:{},...e.message?{message:e.message}:{},...e.errorText?{errorText:e.errorText}:{}}),this.emitSnapshot()}async executeFixture(e,t,n){const r=this.resolveFixtureToolCallId(e.toolCallId,t),s=this.resolveFixtureMessageId(e.messageId,t),a={id:s,role:"assistant",parts:[{type:"tool-call",id:r,name:e.toolName,arguments:Wl(e.input),input:e.input,state:"input-complete"}],createdAt:new Date};this.events.messageAppended(a,void 0,{threadId:n,toolCallId:r,...e.runId?{runId:e.runId}:{}}),this.chatOptions.setMessages([...t,a]),this.emitSnapshot();const o=this.findClientTool(e.toolName)?.execute;if(!o){console.warn(`[ai-devtools] tool fixture "${e.toolName}" requested execute=true but no client tool implementation is registered; replaying saved output instead.`),this.addToolResultForFixture({fixture:e,messageId:s,toolCallId:r,threadId:n,output:e.output,errorText:e.errorText});return}let i;try{i=await o(e.input)}catch(c){console.error(`[ai-devtools] tool fixture "${e.toolName}" execute threw`,c),this.addToolResultForFixture({fixture:e,messageId:s,toolCallId:r,threadId:n,output:null,errorText:c instanceof Error?`${c.name}: ${c.message}`:`Tool execution failed: ${String(c)}`});return}this.addToolResultForFixture({fixture:e,messageId:s,toolCallId:r,threadId:n,output:i})}addToolResultForFixture(e){const t=e.errorText?"output-error":"output-available";this.events.toolResultAdded(e.toolCallId,e.fixture.toolName,e.output,t,{threadId:e.threadId,...e.fixture.runId?{runId:e.fixture.runId}:{},toolCallId:e.toolCallId}),this.chatOptions.addToolResult(e.toolCallId,e.output,e.errorText),this.events.toolFixtureApplied({hookId:this.chatOptions.hookId,threadId:e.threadId,...e.fixture.runId?{runId:e.fixture.runId}:{},toolName:e.fixture.toolName,input:e.fixture.input,output:e.output,execute:!0,messageId:e.messageId,toolCallId:e.toolCallId,...e.errorText?{errorText:e.errorText}:{}}),this.emitSnapshot()}createReplayMessageFromFixture(e,t){const n=this.cloneFixtureSourceMessage(e,t);if(n)return n;const r=this.resolveFixtureToolCallId(e.toolCallId,t),s=this.resolveFixtureMessageId(e.messageId,t),a=e.errorText?"error":"complete";return{toolCallId:r,message:{id:s,role:"assistant",parts:[{type:"tool-call",id:r,name:e.toolName,arguments:Wl(e.input),input:e.input,state:"input-complete",output:e.output},{type:"tool-result",toolCallId:r,content:Wl(e.output),state:a,...e.errorText?{error:e.errorText}:{}}],createdAt:new Date}}}cloneFixtureSourceMessage(e,t){const n=e.message;if(!n||!Array.isArray(n.parts))return;const r=this.createFixtureToolCallIdMap(n.parts,t),s=n.parts.map(i=>v3(i,r)).filter(i=>!!i),a=e.toolCallId?r.get(e.toolCallId):void 0;if(x3(s,{...a?{mappedToolCallId:a}:{},output:e.output}),s.length===0)return;const o=(e.toolCallId?r.get(e.toolCallId):void 0)??y3(s);if(o)return{toolCallId:o,message:{id:this.resolveFixtureMessageId(n.id,t),role:n.role,parts:s,createdAt:new Date}}}createFixtureToolCallIdMap(e,t){const n=new Map;for(const r of e)!Rb(r)||r.type!=="tool-call"||typeof r.id=="string"&&n.set(r.id,this.resolveFixtureToolCallId(r.id,t));return n}resolveFixtureMessageId(e,t){return e&&!t.some(n=>n.id===e)?e:this.chatOptions.generateId("fixture-msg")}resolveFixtureToolCallId(e,t){return e&&!b3(t,e)?e:this.chatOptions.generateId("fixture-tool-call")}findClientTool(e){const t=this.chatOptions.getTools?.();if(t){for(const n of t)if(n.name===e)return n}}};function Rb(e){return typeof e=="object"&&e!==null}function Wl(e){if(typeof e=="string")return e;if(e===void 0||typeof e=="function"||typeof e=="symbol")return String(e);try{return JSON.stringify(e)}catch(t){return console.error("[ai-devtools] failed to JSON.stringify fixture value; falling back to String(). Tool call arguments may be malformed.",{error:t,value:e}),String(e)}}function g3(e){try{return JSON.parse(e)}catch(t){return console.error("[ai-devtools] failed to JSON.parse fixture result content; replaying as raw string. Fixture payload may be corrupted.",{error:t,content:e}),e}}function v3(e,t){if(!Rb(e)||typeof e.type!="string")return;const n={...e};return e.type==="tool-call"&&typeof e.id=="string"&&(n.id=t.get(e.id)??e.id),e.type==="tool-result"&&typeof e.toolCallId=="string"&&(n.toolCallId=t.get(e.toolCallId)??e.toolCallId),n}function y3(e){const t=e.find(n=>n.type==="tool-call");return t?.type==="tool-call"?t.id:void 0}function x3(e,t){for(const n of e){if(n.type!=="tool-result")continue;const r=e.find(s=>s.type==="tool-call"&&s.id===n.toolCallId&&s.output===void 0);r&&(r.output=Array.isArray(n.content)?n.content:g3(n.content))}if(t.mappedToolCallId&&t.output!==void 0){const n=e.find(r=>r.type==="tool-call"&&r.id===t.mappedToolCallId&&r.output===void 0);n&&(n.output=t.output)}}function b3(e,t){return e.some(n=>n.parts.some(r=>r.type==="tool-call"?r.id===t:r.type==="tool-result"?r.toolCallId===t:!1))}var w3=class extends J5{getClientId;helper;constructor(e,t){super(e()),this.getClientId=e,this.helper=t}emitEvent(e,t){this.clientId=this.getClientId(),super.emitEvent(e,t)}afterEmit(e){e&&this.helper.recordStreamId(e),this.helper.emitSnapshot()}textUpdated(e,t,n,r){super.textUpdated(e,t,n,r??this.helper.getCurrentRunEventContext()),this.afterEmit(e)}thinkingUpdated(e,t,n,r,s){super.thinkingUpdated(e,t,n,r,s??this.helper.getCurrentRunEventContext()),this.afterEmit(e)}messageAppended(e,t,n){super.messageAppended(e,t,n??this.helper.getCurrentRunEventContext()),this.afterEmit(t)}toolCallStateChanged(e,t,n,r,s,a,o){super.toolCallStateChanged(e,t,n,r,s,a,o??this.helper.getCurrentRunEventContext()),this.afterEmit(e)}structuredOutputChanged(e,t,n,r,s){super.structuredOutputChanged(e,t,n,r,s??this.helper.getCurrentOrLastRunEventContext()),this.afterEmit(t)}approvalRequested(e,t,n,r,s,a,o){super.approvalRequested(e,t,n,r,s,a,o??this.helper.getCurrentOrLastRunEventContext()),this.afterEmit(e)}toolResultAdded(e,t,n,r,s){super.toolResultAdded(e,t,n,r,s??this.helper.getCurrentRunEventContext()),this.afterEmit()}toolApprovalResponded(e,t,n,r){super.toolApprovalResponded(e,t,n,r??this.helper.getCurrentRunEventContext()),this.afterEmit()}clientCreated(e){super.clientCreated(e),this.afterEmit()}loadingChanged(e){super.loadingChanged(e),this.afterEmit()}errorChanged(e){super.errorChanged(e),this.afterEmit()}reloaded(e){super.reloaded(e),this.afterEmit()}stopped(){super.stopped(),this.afterEmit()}messagesCleared(){super.messagesCleared(),this.afterEmit()}messageSent(e,t){super.messageSent(e,t),this.afterEmit()}toolFixtureApplied(e){super.toolFixtureApplied(e),this.afterEmit()}};function S3(e){return new p3(e)}var Wm=Object.freeze([]),C3=Object.freeze([]);function gB(e){const t=(0,p.useId)(),n=e.threadId??t,[r,s]=(0,p.useState)(e.initialMessages||[]),[a,o]=(0,p.useState)(!1),[i,c]=(0,p.useState)(void 0),[u,d]=(0,p.useState)("ready"),[f,h]=(0,p.useState)(!1),[m,v]=(0,p.useState)("disconnected"),[S,b]=(0,p.useState)(!1),[N,w]=(0,p.useState)([]),[y,g]=(0,p.useState)(null),[x,C]=(0,p.useState)(()=>({interrupts:Wm,pendingInterrupts:Wm,interruptErrors:C3,resuming:!1})),j=(0,p.useRef)(e.initialMessages||[]),E=(0,p.useRef)(!0),R=(0,p.useRef)(!1),O=(0,p.useRef)(null),k=(0,p.useRef)(null),_=(0,p.useRef)(null);j.current=r;const A=(0,p.useRef)(e);A.current=e;const I=(0,p.useCallback)(le=>{le&&(g(le.getCurrentRunId()),C(le.getInterruptState()))},[]),{client:T,initialization:M}=(0,p.useMemo)(()=>{const le=e.initialMessages||[];E.current=!1;const ue=A.current,We=ue.connection?{connection:ue.connection}:{fetcher:ue.fetcher},Ye={current:void 0},Ve=()=>{const ye=Ye.current;if(!(!ye||O.current!==ye))return ye},ft={ready:!1,callbacks:[]},Ae=ye=>{if(!ft.ready){ft.callbacks.push(ye);return}const D=Ye.current;!D||O.current!==D||ye()},mt=new d3({devtoolsBridgeFactory:S3,...We,initialMessages:le,...typeof ue.threadId=="string"&&ue.persistence?{persistence:ue.persistence,threadId:ue.threadId}:{...ue.threadId!==void 0&&{threadId:ue.threadId}},...ue.body!==void 0&&{body:ue.body},...ue.forwardedProps!==void 0&&{forwardedProps:ue.forwardedProps},...ue.byok!==void 0&&{byok:ue.byok},byokProvider:()=>A.current.byokProvider?.(),...ue.initialResumeSnapshot!==void 0&&{initialResumeSnapshot:ue.initialResumeSnapshot},...ue.context!==void 0&&{context:ue.context},devtools:{...ue.devtools,framework:"react",hookName:"useChat",outputKind:ue.outputSchema?"structured":"chat"},onResponse:ye=>{if(Ve())return A.current.onResponse?.(ye)},onChunk:ye=>{Ae(()=>{A.current.onChunk?.(ye)})},onFinish:ye=>{Ae(()=>{A.current.onFinish?.(ye)})},onError:ye=>{Ae(()=>{A.current.onError?.(ye)})},...ue.tools!==void 0&&{tools:ue.tools},...ue.interrupts!==void 0&&{interrupts:ue.interrupts},onCustomEvent:(ye,D,z)=>{Ae(()=>{A.current.onCustomEvent?.(ye,D,z)})},...e.streamProcessor!==void 0&&{streamProcessor:e.streamProcessor},onMessagesChange:ye=>{Ae(()=>{s(ye)})},onLoadingChange:ye=>{Ae(()=>{const D=Ve();D&&(o(ye),I(D))})},onErrorChange:ye=>{Ae(()=>{c(ye)})},onStatusChange:ye=>{Ae(()=>{d(ye)})},onSubscriptionChange:ye=>{Ae(()=>{h(ye)})},onConnectionStatusChange:ye=>{Ae(()=>{v(ye)})},onSessionGeneratingChange:ye=>{Ae(()=>{b(ye)})},...A.current.queue!==void 0&&{queue:A.current.queue},onQueueChange:ye=>{Ae(()=>{w(ye)})},onRunIdChange:ye=>{Ae(()=>{g(ye)})},onResumeStateChange:(ye,D)=>{Ae(()=>{C(z=>({...z,interrupts:D,pendingInterrupts:D}))})},onInterruptStateChange:(ye,D)=>{Ae(()=>{C(ye),A.current.onInterruptStateChange?.(ye,D)})}});return Ye.current=mt,{client:mt,initialization:ft}},[n,I]);(0,p.useEffect)(()=>{O.current=T;try{for(;M.callbacks.length>0;){if(O.current!==T){M.callbacks.length=0;break}M.callbacks.shift()?.()}}finally{M.ready=!0}},[T,M]),(0,p.useEffect)(()=>{const le=T.getMessages();le!==j.current&&s(le)},[T]),(0,p.useEffect)(()=>{T.updateOptions({body:e.body})},[T,e.body]),(0,p.useEffect)(()=>{e.forwardedProps!==void 0&&T.updateOptions({forwardedProps:e.forwardedProps})},[T,e.forwardedProps]),(0,p.useEffect)(()=>{e.tools!==void 0&&T.updateOptions({tools:e.tools})},[T,e.tools]),(0,p.useEffect)(()=>{T.updateOptions({context:e.context})},[T,e.context]),(0,p.useEffect)(()=>{e.queue!==void 0&&T.updateOptions({queue:e.queue})},[T,e.queue]),(0,p.useEffect)(()=>{e.live?(T.subscribe(),R.current=!0):R.current&&(T.unsubscribe(),R.current=!1)},[T,e.live]),(0,p.useEffect)(()=>(T.attach(),()=>{T.detach()}),[T]),(0,p.useEffect)(()=>(_.current?.client===T&&(clearTimeout(_.current.timeout),_.current=null),k.current&&(clearTimeout(k.current),k.current=null),T.mountDevtools(),I(T),()=>{k.current=setTimeout(()=>{O.current===T&&(O.current=null),k.current=null},0);const le={client:T,timeout:setTimeout(()=>{A.current.live?T.unsubscribe():T.stop(),T.dispose(),_.current===le&&(_.current=null)},0)};_.current=le}),[T,I]);const P=(0,p.useCallback)(async(le,ue)=>{try{await T.sendMessage(le,void 0,ue)}finally{I(T)}},[T,I]),V=(0,p.useCallback)(le=>{T.cancelQueued(le)},[T,I]),L=(0,p.useCallback)(async le=>{try{await T.append(le)}finally{I(T)}},[T,I]),B=(0,p.useCallback)(async()=>{try{await T.reload()}finally{I(T)}},[T,I]),q=(0,p.useCallback)(()=>{T.stop()},[T]),F=(0,p.useCallback)(()=>{T.clear(),I(T)},[T,I]),K=(0,p.useCallback)(le=>{T.setMessagesManually(le)},[T]),H=(0,p.useCallback)(async le=>{await T.addToolResult(le)},[T]),Y=(0,p.useCallback)(async le=>{await T.addToolApprovalResponse(le),I(T)},[T,I]),ne=(0,p.useCallback)(async(le,ue)=>{const We=await T.resumeInterrupts(le,ue??void 0);return I(T),We},[T,I]),ee=(0,p.useCallback)(le=>{T.resolveInterrupts(le)},[T]),$=(0,p.useCallback)(()=>{T.cancelInterrupts()},[T]),Q=(0,p.useCallback)(()=>{T.retryInterrupts()},[T]),he=(0,p.useCallback)((le,ue)=>T.resumeInterruptsUnsafe(le,ue),[T]),pe=T.getMessages(),ae=(0,p.useMemo)(()=>{let le=-1;for(let ue=pe.length-1;ue>=0;ue--)if(pe[ue]?.role==="user"){le=ue;break}if(le===-1)return null;for(let ue=pe.length-1;ue>le;ue--){const We=pe[ue];if(We?.role!=="assistant")continue;const Ye=We.parts.find(Ve=>Ve.type==="structured-output");if(Ye)return Ye}return null},[pe]),be=(0,p.useMemo)(()=>ae?ae.partial??ae.data??{}:{},[ae]),J=(0,p.useMemo)(()=>!ae||ae.status!=="complete"?null:ae.data,[ae]);return{messages:pe,sendMessage:P,append:L,reload:B,stop:q,isLoading:a,error:i,status:u,isSubscribed:f,connectionStatus:m,sessionGenerating:S,setMessages:K,clear:F,addToolResult:H,addToolApprovalResponse:Y,queue:N,cancelQueued:V,runId:y,interrupts:x.interrupts,pendingInterrupts:x.pendingInterrupts,interruptErrors:x.interruptErrors,resuming:x.resuming,resolveInterrupts:ee,cancelInterrupts:$,retryInterrupts:Q,resumeInterruptsUnsafe:he,resumeInterrupts:ne,partial:be,final:J}}function N3(e){return(0,p.useSyncExternalStore)(e.subscribe,e.getSnapshot,()=>H$)}var vB=new Uint8Array(128).fill(128),E3=dr()(pp(e=>({provider:"gemini",model:zd("gemini"),includeSchemaInAiContext:!0,setProvider:t=>e({provider:t,model:zd(t)}),setModel:t=>e({model:t}),setIncludeSchemaInAiContext:t=>e({includeSchemaInAiContext:t})}),{name:"db-studio-ai-settings"})),I3=()=>{const[e,t]=(0,p.useState)(""),n=N3(pa),r=E3(),s=Fd.find(d=>d.id===r.provider),a=n.status[r.provider],o=a&&"masked"in a?a.masked:null,i=r.provider==="gemini",c=async()=>{const d=e.trim();d&&(await Be.promise(pa.update(r.provider,d),{loading:`Saving ${s?.label} key...`,success:`${s?.label} key ready for this tab`,error:f=>f.message||`Could not save ${s?.label} key`}),t(""))},u=async()=>{await Be.promise(pa.clear(r.provider),{loading:`Removing ${s?.label} key...`,success:i?"Using the hosted Gemini key":"API key removed",error:d=>d.message||`Could not remove ${s?.label} key`})};return(0,l.jsxs)("section",{className:"space-y-3",children:[(0,l.jsxs)("div",{className:"space-y-2 rounded-lg border p-3",children:[(0,l.jsx)(Ne,{htmlFor:"ai-provider",children:"Provider"}),(0,l.jsxs)(Nt,{value:r.provider,onValueChange:d=>{t(""),r.setProvider(d)},children:[(0,l.jsx)(St,{id:"ai-provider",children:(0,l.jsx)(wt,{})}),(0,l.jsx)(Ct,{children:Fd.map(d=>(0,l.jsx)(Se,{value:d.id,children:d.label},d.id))})]}),(0,l.jsx)(Ne,{htmlFor:"ai-model",children:"Model"}),(0,l.jsxs)(Nt,{value:r.model,onValueChange:r.setModel,children:[(0,l.jsx)(St,{id:"ai-model",children:(0,l.jsx)(wt,{})}),(0,l.jsx)(Ct,{children:s?.models.map(d=>(0,l.jsx)(Se,{value:d.id,children:d.label},d.id))})]})]}),(0,l.jsxs)("div",{className:"space-y-2 rounded-lg border p-3",children:[(0,l.jsxs)(Ne,{htmlFor:"ai-api-key",children:[s?.label," API key"]}),(0,l.jsx)(ot,{id:"ai-api-key",type:"password",autoComplete:"off",value:e,onChange:d=>t(d.target.value),placeholder:o?`Saved ${o}`:"Paste an API key"}),(0,l.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Kept in memory for this tab only and cleared when the page reloads.",i&&" Leave empty to use the hosted Gemini key."]}),n.storageError&&(0,l.jsx)("p",{className:"text-xs text-destructive",children:n.storageError}),(0,l.jsxs)("div",{className:"flex gap-2",children:[(0,l.jsx)(te,{type:"button",disabled:!e.trim(),onClick:c,children:"Save key"}),a&&a.state!=="empty"&&(0,l.jsx)(te,{type:"button",variant:"outline",onClick:u,children:i?"Use hosted key":"Remove key"})]})]}),(0,l.jsxs)("div",{className:"flex items-center justify-between gap-4 rounded-lg border p-3",children:[(0,l.jsxs)("div",{className:"space-y-1",children:[(0,l.jsx)(Ne,{htmlFor:"include-schema",children:"Include database schema"}),(0,l.jsx)("p",{className:"text-xs text-muted-foreground",children:"Share table and column metadata for context-aware answers."})]}),(0,l.jsx)(au,{id:"include-schema",checked:r.includeSchemaInAiContext,onCheckedChange:r.setIncludeSchemaInAiContext})]})]})},kb=lp("hover:text-foreground aria-pressed:bg-muted focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive data-[state=on]:bg-accent data-[state=on]:text-accent-foreground gap-1 rounded-md text-xs font-medium transition-all [&_svg:not([class*='size-'])]:size-3.5 group/toggle hover:bg-muted inline-flex items-center justify-center whitespace-nowrap outline-none focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",{variants:{variant:{default:"bg-transparent",ghost:"bg-transparent hover:bg-muted",outline:"border-input hover:bg-muted border bg-transparent"},size:{default:"h-7 min-w-7 px-2",sm:"h-6 min-w-6 rounded-[min(var(--radius-md),8px)] px-1.5 text-[0.625rem] [&_svg:not([class*='size-'])]:size-3",lg:"h-8 min-w-8 px-2"}},defaultVariants:{variant:"default",size:"default"}});function yB({className:e,variant:t="default",size:n="default",...r}){return(0,l.jsx)(CS,{"data-slot":"toggle",className:G(kb({variant:t,size:n,className:e})),...r})}var _b=p.createContext({size:"default",variant:"default",spacing:0,orientation:"horizontal"});function Km({className:e,variant:t,size:n,spacing:r=0,orientation:s="horizontal",children:a,...o}){return(0,l.jsx)(SS,{"data-slot":"toggle-group","data-variant":t,"data-size":n,"data-spacing":r,"data-orientation":s,style:{"--gap":r},className:G("rounded-md data-[size=sm]:rounded-[min(var(--radius-md),8px)] group/toggle-group flex w-fit flex-row items-center gap-[--spacing(var(--gap))] data-[orientation=vertical]:flex-col data-[orientation=vertical]:items-stretch",e),...o,children:(0,l.jsx)(_b.Provider,{value:{variant:t,size:n,spacing:r,orientation:s},children:a})})}function Ym({className:e,children:t,variant:n="default",size:r="default",...s}){const a=(0,p.use)(_b);return(0,l.jsx)(TS,{"data-slot":"toggle-group-item","data-variant":a.variant||n,"data-size":a.size||r,"data-spacing":a.spacing,className:G("group-data-[spacing=0]/toggle-group:rounded-none group-data-[spacing=0]/toggle-group:px-2 group-data-horizontal/toggle-group:data-[spacing=0]:first:rounded-l-md group-data-vertical/toggle-group:data-[spacing=0]:first:rounded-t-md group-data-horizontal/toggle-group:data-[spacing=0]:last:rounded-r-md group-data-vertical/toggle-group:data-[spacing=0]:last:rounded-b-md shrink-0 focus:z-10 focus-visible:z-10 group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=outline]:border-l-0 group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=outline]:border-t-0 group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-l group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-t",kb({variant:a.variant||n,size:a.size||r}),e),...s,children:t})}var j3=()=>{const{editor:e,setTabSize:t,setEditorFontSize:n,setEditorWordWrap:r}=Xo();return(0,l.jsxs)("section",{className:"space-y-3",children:[(0,l.jsxs)("div",{className:"space-y-2 rounded-lg border p-3",children:[(0,l.jsx)(Ne,{children:"Tab size"}),(0,l.jsx)("p",{className:"text-xs text-muted-foreground",children:"Indentation used by the query editor and JSON cells."}),(0,l.jsx)(Km,{type:"single",variant:"outline",className:"w-full",value:String(e.tabSize),onValueChange:s=>{s&&t(Number(s))},"aria-label":"Tab size",children:iC.map(s=>(0,l.jsxs)(Ym,{value:String(s),className:"flex-1",children:[s," spaces"]},s))})]}),(0,l.jsxs)("div",{className:"space-y-2 rounded-lg border p-3",children:[(0,l.jsx)(Ne,{children:"Font size"}),(0,l.jsx)("p",{className:"text-xs text-muted-foreground",children:"Text size in the query editor."}),(0,l.jsx)(Km,{type:"single",variant:"outline",className:"w-full",value:String(e.fontSize),onValueChange:s=>{s&&n(Number(s))},"aria-label":"Editor font size",children:lC.map(s=>(0,l.jsxs)(Ym,{value:String(s),className:"flex-1",children:[s," px"]},s))})]}),(0,l.jsxs)("div",{className:"flex items-center justify-between gap-4 rounded-lg border p-3",children:[(0,l.jsxs)("div",{className:"space-y-1",children:[(0,l.jsx)(Ne,{htmlFor:"editor-word-wrap",children:"Word wrap"}),(0,l.jsx)("p",{className:"text-xs text-muted-foreground",children:"Wrap long lines in the query editor instead of scrolling."})]}),(0,l.jsx)(au,{id:"editor-word-wrap",checked:e.wordWrap,onCheckedChange:r})]})]})},Gm=({title:e,description:t,children:n})=>(0,l.jsxs)("div",{className:"space-y-3",children:[(0,l.jsxs)("div",{className:"space-y-1",children:[(0,l.jsx)("h3",{className:"text-sm font-semibold",children:e}),(0,l.jsx)("p",{className:"text-xs text-muted-foreground",children:t})]}),n]}),T3=()=>{const{closeOverlay:e,isOverlayOpen:t}=Oe();return(0,l.jsxs)(nn,{title:"Settings",description:"Changes apply immediately and are saved on this device.",open:t("settings.app"),size:"sm:max-w-md!",onOpenChange:n=>{n||e("settings.app")},children:[(0,l.jsx)(Gm,{title:"Editor",description:"Query editor and JSON cell behavior.",children:(0,l.jsx)(j3,{})}),(0,l.jsx)(Jl,{}),(0,l.jsx)(Gm,{title:"AI",description:"Provider, model, and API key for the assistant.",children:(0,l.jsx)(I3,{})})]})},xB=()=>{const[e,t]=(0,p.useState)(!1);return(0,p.useEffect)(()=>{let n=!0;return pa.ready().then(()=>{n&&t(!0)}),()=>{n=!1}},[]),e},bB=()=>{const{setDbType:e,selectedDatabase:t,setSelectedDatabase:n}=Ue(),{data:r,isLoading:s,error:a,refetch:o,isRefetching:i}=Yn({queryKey:Co.list(),queryFn:cp,select:c=>c.data.data,staleTime:3e5});return(0,p.useEffect)(()=>{r?.dbType&&(e(r.dbType),up(r.dbType)),!t&&r?.databases?.length&&n(r.databases[0]?.name??null)},[r?.dbType,r?.databases,t,e,n]),{databases:r?.databases,dbType:r?.dbType,isLoadingDatabases:s,databasesError:a,refetchDatabases:o,isRefetchingDatabases:i}},R3=()=>{const{selectedDatabase:e,setSelectedDatabase:t,setDbType:n}=Ue(),r=(0,p.useRef)(!1),{data:s,isLoading:a,error:o}=Yn({queryKey:Co.list(),queryFn:cp,select:h=>h.data.data,staleTime:3e5}),{data:i,isLoading:c,error:u}=Yn({queryKey:Co.current(),queryFn:async()=>{const h=await zS();return n(h.data.data.dbType),up(h.data.data.dbType),!e&&h.data.data.db&&t(h.data.data.db),h.data.data},staleTime:3e5});(0,p.useEffect)(()=>{if(r.current||a||c)return;r.current=!0;const h=i?.db||s?.databases?.[0]?.name;h&&t(h)},[a,c,i?.db,s?.databases,t]);const d=a||c,f=r.current;return{currentDatabase:i,databases:s?.databases,isLoading:d,isInitialized:f,error:o||u}},wB=()=>{const{data:e,isLoading:t,error:n}=Yn({queryKey:Co.connectionInfo(),queryFn:VS,select:r=>r.data.data,staleTime:3e5});return{connectionInfo:e,isLoadingConnectionInfo:t,connectionInfoError:n}},k3=`
23
- try {
24
- const stored = localStorage.getItem('db-studio-personal-preferences');
25
- const theme = stored ? JSON.parse(stored)?.state?.theme : 'dark';
26
- const isDark = theme === 'dark' || (theme === 'system' ? window.matchMedia('(prefers-color-scheme: dark)').matches : false);
27
- if (isDark) {
28
- document.documentElement.classList.add('dark');
29
- document.documentElement.classList.remove('light');
30
- document.querySelector('meta[name="theme-color"]')?.setAttribute('content', '#09090b');
31
- } else {
32
- document.documentElement.classList.remove('dark');
33
- document.documentElement.classList.add('light');
34
- document.querySelector('meta[name="theme-color"]')?.setAttribute('content', '#ffffff');
35
- }
36
- } catch (_) {
37
- document.documentElement.classList.add('dark');
38
- }
39
-
40
- try {
41
- if (/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)) {
42
- document.documentElement.classList.add('os-macos');
43
- }
44
- } catch (_) {}
45
- `,Ab=ww({component:function(){bi();const t=Xm({select:i=>i.pathname}),{dbType:n}=Ue(),{isLoading:r,isInitialized:s,error:a}=R3();(0,p.useEffect)(()=>{if(a&&n){const i=a?.status;_n.capture("connection_error",{db_type:n,status_bucket:i?i>=500?"5xx":"4xx":"network"})}},[a,n]),(0,p.useEffect)(()=>{const i="db-studio-telemetry-notice-shown";rC().then(c=>{c?.enabled&&(tC(),localStorage.getItem(i)||(localStorage.setItem(i,"1"),Be.info("Anonymous usage and reliability data helps improve DB Studio.",{description:"Queries, schemas, names, and values are never collected.",duration:8e3})))})},[]),(0,p.useEffect)(()=>{const i=t.split("/").filter(Boolean)[0],c=["browser","table","schema","runner","visualizer","logs","indexes"].find(u=>u===i)??"home";_n.capture("page_viewed",{page:c})},[t]);const o=(r||!s)&&!a;return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("script",{defer:!0,src:`data:text/javascript;base64,${btoa(k3)}`}),(0,l.jsxs)(LC,{fullPageNavigationOnShallowFalseUpdates:!0,defaultOptions:{shallow:!0,clearOnDefault:!0},children:[o?(0,l.jsx)("div",{className:"flex items-center justify-center h-screen",children:(0,l.jsx)(As,{size:"size-8",color:"bg-primary"})}):a?(0,l.jsxs)("div",{className:"flex flex-col items-center justify-center h-screen gap-3 text-center",children:[(0,l.jsx)("p",{className:"text-destructive font-medium",children:"Failed to connect to the database"}),(0,l.jsx)("p",{className:"text-muted-foreground text-sm max-w-sm",children:a?.message??"An unexpected error occurred"})]}):(0,l.jsx)(xw,{}),(0,l.jsx)(z$,{})]}),(0,l.jsx)(mC,{position:"top-right"}),(0,l.jsx)(Qk,{}),(0,l.jsx)(T3,{})]})}}),_3=()=>Mt(()=>import("./_pathlessLayout-DFy4SGet.js").then(e=>e.t),__vite__mapDeps([15,1,16,2,3,17,4,5,18,19,7,20,21,22,10,23,24,25,26,6,8,27,28])),A3=Ut("/_pathlessLayout")({component:Bt(_3,"component")}),M3=()=>Mt(()=>import("./_pathlessLayout-DFRv9XCB.js"),__vite__mapDeps([29,16,1,2,3])),O3=Ut("/_pathlessLayout/")({component:Bt(M3,"component")}),D3=()=>Mt(()=>import("./browser-K0FP9iu-.js"),__vite__mapDeps([30,1,16,2,3,17,4,5,18,19,7,21,22,10,23,27,8,28,24,25])),P3=Ut("/_pathlessLayout/browser")({component:Bt(D3,"component")}),L3=()=>Mt(()=>import("./logs-DYp_nXQS.js"),__vite__mapDeps([31,1,16,2,3,4,5,19,7,21,22,10,25])),F3=Ut("/_pathlessLayout/logs")({component:Bt(L3,"component")}),$3=()=>Mt(()=>import("./visualizer-CsdVT6fl.js"),__vite__mapDeps([32,3,1,2])),z3=Ut("/_pathlessLayout/visualizer")({component:Bt($3,"component")}),V3=()=>Mt(()=>import("./indexes-DKdMLQaQ.js"),__vite__mapDeps([33,3,1,2])),B3=Ut("/_pathlessLayout/indexes/")({component:Bt(V3,"component")}),U3=()=>Mt(()=>import("./_table-Bg2023_C.js"),__vite__mapDeps([34,1,16,2,3,17,4,5,18,19,7,20,21,22,10,23,24,25])),H3=Ut("/_pathlessLayout/indexes/$table")({component:Bt(U3,"component")}),q3=()=>Mt(()=>import("./runner-CdvyQd_7.js"),__vite__mapDeps([35,3,1,2,36,16,17,19,5,4,7,21,22,10,27,8])),W3=Ut("/_pathlessLayout/runner/")({validateSearch:e=>typeof e.cmd=="string"?{cmd:e.cmd}:{},component:Bt(q3,"component")}),K3=()=>Mt(()=>import("./_queryId-BMByB2oT.js"),__vite__mapDeps([37,3,1,2,36,16,17,19,5,4,7,21,22,10,27,8])),Y3=Ut("/_pathlessLayout/runner/$queryId")({component:Bt(K3,"component")}),G3=()=>Mt(()=>import("./schema-BG-MIF2O.js"),__vite__mapDeps([38,3,1,2])),J3=Ut("/_pathlessLayout/schema/")({component:Bt(G3,"component")}),Q3=()=>Mt(()=>import("./_table-CNv5UFxx.js"),__vite__mapDeps([39,3,1,2])),X3=Ut("/_pathlessLayout/schema/$table")({component:Bt(Q3,"component")}),Z3=()=>Mt(()=>import("./table-DoAtaSpv.js"),__vite__mapDeps([40,3,1,2])),eV=Ut("/_pathlessLayout/table/")({component:Bt(Z3,"component")}),Wt=A3.update({id:"/_pathlessLayout",getParentRoute:()=>Ab}),tV=O3.update({id:"/",path:"/",getParentRoute:()=>Wt}),nV=P3.update({id:"/browser",path:"/browser",getParentRoute:()=>Wt}),rV=F3.update({id:"/logs",path:"/logs",getParentRoute:()=>Wt}),sV=z3.update({id:"/visualizer",path:"/visualizer",getParentRoute:()=>Wt}),aV=B3.update({id:"/indexes/",path:"/indexes/",getParentRoute:()=>Wt}),oV=H3.update({id:"/indexes/$table",path:"/indexes/$table",getParentRoute:()=>Wt}),iV=W3.update({id:"/runner/",path:"/runner/",getParentRoute:()=>Wt}),lV=Y3.update({id:"/runner/$queryId",path:"/runner/$queryId",getParentRoute:()=>Wt}),cV=J3.update({id:"/schema/",path:"/schema/",getParentRoute:()=>Wt}),uV=X3.update({id:"/schema/$table",path:"/schema/$table",getParentRoute:()=>Wt}),dV=eV.update({id:"/table/",path:"/table/",getParentRoute:()=>Wt}),fV={PathlessLayoutBrowserRoute:nV,PathlessLayoutLogsRoute:rV,PathlessLayoutVisualizerRoute:sV,PathlessLayoutIndexRoute:tV,PathlessLayoutIndexesTableRoute:oV,PathlessLayoutRunnerQueryIdRoute:lV,PathlessLayoutSchemaTableRoute:uV,PathlessLayoutTableTableRoute:Yu.update({id:"/table/$table",path:"/table/$table",getParentRoute:()=>Wt}),PathlessLayoutIndexesIndexRoute:aV,PathlessLayoutRunnerIndexRoute:iV,PathlessLayoutSchemaIndexRoute:cV,PathlessLayoutTableIndexRoute:dV},hV={PathlessLayoutRoute:Wt._addFileChildren(fV)},mV=Ab._addFileChildren(hV)._addFileTypes(),pV=Nw({routeTree:mV,context:{queryClient:vp()},defaultPreload:"intent",scrollRestoration:!0,defaultStructuralSharing:!0}),Kl=document.getElementById("root");if(Kl&&!Kl.innerHTML){const e=cC.createRoot(Kl),t=vp();e.render((0,l.jsx)(p.StrictMode,{children:(0,l.jsx)(Iw,{client:t,children:(0,l.jsx)(bw,{router:pV})})}))}export{jt as $,ag as A,tg as B,Yu as C,cr as D,Le as E,fi as F,$V as G,BV as H,Oa as I,Su as J,lr as K,Pa as L,xE as M,HV as N,Ce as O,UV as P,di as Q,eg as R,sB as S,sk as T,VV as U,zV as V,Da as W,Zp as X,An as Y,FV as Z,oa as _,wB as a,fN as at,aB as b,Km as c,ti as ct,E3 as d,ni as dt,hr as et,N3 as f,ri as ft,mB as g,pa as h,H3 as i,hN as it,qV as j,Tn as k,Ym as l,si as lt,pB as m,Y3 as n,Ht as nt,bB as o,ht as ot,gB as p,As as pt,Je as q,W3 as r,Os as rt,xB as s,ei as st,X3 as t,ci as tt,yB as u,cu as ut,oB as v,bi as w,iB as x,lB as y,Xt as z};