db-studio 1.4.0 → 1.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (448) hide show
  1. package/README.md +44 -0
  2. package/dist/core-dist/assets/_pathlessLayout-B3hOmNOY.js +1 -0
  3. package/dist/core-dist/assets/_queryId-B-Yx8vY8.js +1 -0
  4. package/dist/core-dist/assets/_table-C9ZV09Jc.js +8 -0
  5. package/dist/core-dist/assets/_table-DIbBLMgY.js +39 -0
  6. package/dist/core-dist/assets/{cdoe-editor-BCFPgj4h.js → cdoe-editor-BUyGnaMR.js} +1 -1
  7. package/dist/core-dist/assets/dialog-BtqI2R7E.js +1 -0
  8. package/dist/core-dist/assets/icons-B2mES2Qq.js +1 -0
  9. package/dist/core-dist/assets/index-BV7euJxs.js +1 -0
  10. package/dist/core-dist/assets/index-C7KJNEv-.js +1 -0
  11. package/dist/core-dist/assets/index-CESnXcY7.js +1 -0
  12. package/dist/core-dist/assets/index-CTFnCamQ.js +1 -0
  13. package/dist/core-dist/assets/index-CwHrvESi.css +1 -0
  14. package/dist/core-dist/assets/index-DO_12lzR.js +58 -0
  15. package/dist/core-dist/assets/index-DQOVykiS.js +1 -0
  16. package/dist/core-dist/assets/{indexes-Dowc1Q3x.js → indexes-DESnDRwn.js} +1 -1
  17. package/dist/core-dist/assets/logs-DKdQRaOz.js +1 -0
  18. package/dist/core-dist/assets/queries.store-DCqn9r_M.js +1 -0
  19. package/dist/core-dist/assets/radix-ui-c-7GrHMM.js +51 -0
  20. package/dist/core-dist/assets/{react-dom-C-8vY09X.js → react-dom-BcUZDRtY.js} +1 -1
  21. package/dist/core-dist/assets/runner-tab-CloOoJUy.js +3 -0
  22. package/dist/core-dist/assets/scroll-area-D613A-kL.js +1 -0
  23. package/dist/core-dist/assets/tanstack-BaWakKkc.js +7 -0
  24. package/dist/core-dist/assets/tooltip-B4cd0H8Q.js +1 -0
  25. package/dist/core-dist/assets/use-delete-column-DxoXObaz.js +1 -0
  26. package/dist/core-dist/assets/{visualizer-DRuf8l7V.js → visualizer-CQGMZpWZ.js} +1 -1
  27. package/dist/core-dist/index.html +7 -7
  28. package/dist/index.js +99 -54
  29. package/dist/index.js.map +1 -1
  30. package/package.json +14 -14
  31. package/dist/core-dist/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  32. package/dist/core-dist/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  33. package/dist/core-dist/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  34. package/dist/core-dist/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  35. package/dist/core-dist/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  36. package/dist/core-dist/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  37. package/dist/core-dist/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  38. package/dist/core-dist/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  39. package/dist/core-dist/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  40. package/dist/core-dist/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  41. package/dist/core-dist/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  42. package/dist/core-dist/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  43. package/dist/core-dist/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  44. package/dist/core-dist/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  45. package/dist/core-dist/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  46. package/dist/core-dist/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  47. package/dist/core-dist/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  48. package/dist/core-dist/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  49. package/dist/core-dist/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  50. package/dist/core-dist/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  51. package/dist/core-dist/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  52. package/dist/core-dist/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  53. package/dist/core-dist/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  54. package/dist/core-dist/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  55. package/dist/core-dist/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  56. package/dist/core-dist/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  57. package/dist/core-dist/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  58. package/dist/core-dist/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  59. package/dist/core-dist/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  60. package/dist/core-dist/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  61. package/dist/core-dist/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  62. package/dist/core-dist/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  63. package/dist/core-dist/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  64. package/dist/core-dist/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  65. package/dist/core-dist/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  66. package/dist/core-dist/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  67. package/dist/core-dist/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  68. package/dist/core-dist/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  69. package/dist/core-dist/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  70. package/dist/core-dist/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  71. package/dist/core-dist/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  72. package/dist/core-dist/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  73. package/dist/core-dist/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  74. package/dist/core-dist/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  75. package/dist/core-dist/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  76. package/dist/core-dist/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  77. package/dist/core-dist/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  78. package/dist/core-dist/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  79. package/dist/core-dist/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  80. package/dist/core-dist/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  81. package/dist/core-dist/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  82. package/dist/core-dist/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  83. package/dist/core-dist/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  84. package/dist/core-dist/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  85. package/dist/core-dist/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  86. package/dist/core-dist/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  87. package/dist/core-dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  88. package/dist/core-dist/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  89. package/dist/core-dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  90. package/dist/core-dist/assets/_baseUniq-C7A7fsQ-.js +0 -1
  91. package/dist/core-dist/assets/_pathlessLayout-BErOoJBf.js +0 -2
  92. package/dist/core-dist/assets/_queryId-B1LaFAmm.js +0 -1
  93. package/dist/core-dist/assets/_table-4nxpgHEz.js +0 -8
  94. package/dist/core-dist/assets/abap-BdImnpbu.js +0 -1
  95. package/dist/core-dist/assets/actionscript-3-CfeIJUat.js +0 -1
  96. package/dist/core-dist/assets/ada-bCR0ucgS.js +0 -1
  97. package/dist/core-dist/assets/andromeeda-C-Jbm3Hp.js +0 -1
  98. package/dist/core-dist/assets/angular-html-CU67Zn6k.js +0 -1
  99. package/dist/core-dist/assets/angular-ts-BwZT4LLn.js +0 -1
  100. package/dist/core-dist/assets/apache-Pmp26Uib.js +0 -1
  101. package/dist/core-dist/assets/apex-D8_7TLub.js +0 -1
  102. package/dist/core-dist/assets/apl-dKokRX4l.js +0 -1
  103. package/dist/core-dist/assets/applescript-Co6uUVPk.js +0 -1
  104. package/dist/core-dist/assets/ara-BRHolxvo.js +0 -1
  105. package/dist/core-dist/assets/arc-Clvi5rzR.js +0 -1
  106. package/dist/core-dist/assets/architectureDiagram-VXUJARFQ-DkipSmLb.js +0 -36
  107. package/dist/core-dist/assets/asciidoc-Dv7Oe6Be.js +0 -1
  108. package/dist/core-dist/assets/asm-D_Q5rh1f.js +0 -1
  109. package/dist/core-dist/assets/astro-CbQHKStN.js +0 -1
  110. package/dist/core-dist/assets/aurora-x-D-2ljcwZ.js +0 -1
  111. package/dist/core-dist/assets/awk-DMzUqQB5.js +0 -1
  112. package/dist/core-dist/assets/ayu-dark-CmMr59Fi.js +0 -1
  113. package/dist/core-dist/assets/ballerina-BFfxhgS-.js +0 -1
  114. package/dist/core-dist/assets/bat-BkioyH1T.js +0 -1
  115. package/dist/core-dist/assets/beancount-k_qm7-4y.js +0 -1
  116. package/dist/core-dist/assets/berry-uYugtg8r.js +0 -1
  117. package/dist/core-dist/assets/bibtex-CHM0blh-.js +0 -1
  118. package/dist/core-dist/assets/bicep-Bmn6On1c.js +0 -1
  119. package/dist/core-dist/assets/blade-D4QpJJKB.js +0 -1
  120. package/dist/core-dist/assets/blockDiagram-VD42YOAC-DV8KUj94.js +0 -122
  121. package/dist/core-dist/assets/bsl-BO_Y6i37.js +0 -1
  122. package/dist/core-dist/assets/c-BIGW1oBm.js +0 -1
  123. package/dist/core-dist/assets/c3-VCDPK7BO.js +0 -1
  124. package/dist/core-dist/assets/c4Diagram-YG6GDRKO-CIKSfaF1.js +0 -10
  125. package/dist/core-dist/assets/cadence-Bv_4Rxtq.js +0 -1
  126. package/dist/core-dist/assets/cairo-KRGpt6FW.js +0 -1
  127. package/dist/core-dist/assets/catppuccin-frappe-DFWUc33u.js +0 -1
  128. package/dist/core-dist/assets/catppuccin-latte-C9dUb6Cb.js +0 -1
  129. package/dist/core-dist/assets/catppuccin-macchiato-DQyhUUbL.js +0 -1
  130. package/dist/core-dist/assets/catppuccin-mocha-D87Tk5Gz.js +0 -1
  131. package/dist/core-dist/assets/channel-B2Rh1omC.js +0 -1
  132. package/dist/core-dist/assets/chunk-4BX2VUAB-DcvB4_uV.js +0 -1
  133. package/dist/core-dist/assets/chunk-55IACEB6-EG9AyKaq.js +0 -1
  134. package/dist/core-dist/assets/chunk-B4BG7PRW-KK8IJqzV.js +0 -165
  135. package/dist/core-dist/assets/chunk-DI55MBZ5-TpII66YZ.js +0 -220
  136. package/dist/core-dist/assets/chunk-FMBD7UC4-IEg5SEkW.js +0 -15
  137. package/dist/core-dist/assets/chunk-QN33PNHL-DOQqAhwZ.js +0 -1
  138. package/dist/core-dist/assets/chunk-QZHKN3VN-CQD63wVo.js +0 -1
  139. package/dist/core-dist/assets/chunk-TZMSLE5B-Ck8unx9M.js +0 -1
  140. package/dist/core-dist/assets/clarity-D53aC0YG.js +0 -1
  141. package/dist/core-dist/assets/classDiagram-2ON5EDUG-yB0lDqQ_.js +0 -1
  142. package/dist/core-dist/assets/classDiagram-v2-WZHVMYZB-yB0lDqQ_.js +0 -1
  143. package/dist/core-dist/assets/clojure-P80f7IUj.js +0 -1
  144. package/dist/core-dist/assets/clone-DMtL-4i6.js +0 -1
  145. package/dist/core-dist/assets/cmake-D1j8_8rp.js +0 -1
  146. package/dist/core-dist/assets/cobol-nwyudZeR.js +0 -1
  147. package/dist/core-dist/assets/code-block-IT6T5CEO-BkhPLTN-.js +0 -154
  148. package/dist/core-dist/assets/codeowners-Bp6g37R7.js +0 -1
  149. package/dist/core-dist/assets/codeql-DsOJ9woJ.js +0 -1
  150. package/dist/core-dist/assets/coffee-Ch7k5sss.js +0 -1
  151. package/dist/core-dist/assets/common-lisp-Cg-RD9OK.js +0 -1
  152. package/dist/core-dist/assets/coq-DkFqJrB1.js +0 -1
  153. package/dist/core-dist/assets/cose-bilkent-S5V4N54A-BU01uPeb.js +0 -1
  154. package/dist/core-dist/assets/cpp-CofmeUqb.js +0 -1
  155. package/dist/core-dist/assets/crystal-tKQVLTB8.js +0 -1
  156. package/dist/core-dist/assets/csharp-K5feNrxe.js +0 -1
  157. package/dist/core-dist/assets/css-DPfMkruS.js +0 -1
  158. package/dist/core-dist/assets/csv-fuZLfV_i.js +0 -1
  159. package/dist/core-dist/assets/cue-D82EKSYY.js +0 -1
  160. package/dist/core-dist/assets/cypher-COkxafJQ.js +0 -1
  161. package/dist/core-dist/assets/cytoscape.esm-5J0xJHOV.js +0 -321
  162. package/dist/core-dist/assets/d-85-TOEBH.js +0 -1
  163. package/dist/core-dist/assets/dagre-6UL2VRFP-DgGR46yM.js +0 -4
  164. package/dist/core-dist/assets/dark-plus-C3mMm8J8.js +0 -1
  165. package/dist/core-dist/assets/dart-CF10PKvl.js +0 -1
  166. package/dist/core-dist/assets/dax-CEL-wOlO.js +0 -1
  167. package/dist/core-dist/assets/defaultLocale-DX6XiGOO.js +0 -1
  168. package/dist/core-dist/assets/desktop-BmXAJ9_W.js +0 -1
  169. package/dist/core-dist/assets/diagram-PSM6KHXK-D_opTgTY.js +0 -24
  170. package/dist/core-dist/assets/diagram-QEK2KX5R-C8q65IvQ.js +0 -43
  171. package/dist/core-dist/assets/diagram-S2PKOQOG-DideTxM7.js +0 -24
  172. package/dist/core-dist/assets/diff-D97Zzqfu.js +0 -1
  173. package/dist/core-dist/assets/docker-BcOcwvcX.js +0 -1
  174. package/dist/core-dist/assets/dotenv-Da5cRb03.js +0 -1
  175. package/dist/core-dist/assets/dracula-BzJJZx-M.js +0 -1
  176. package/dist/core-dist/assets/dracula-soft-BXkSAIEj.js +0 -1
  177. package/dist/core-dist/assets/dream-maker-BtqSS_iP.js +0 -1
  178. package/dist/core-dist/assets/edge-BkV0erSs.js +0 -1
  179. package/dist/core-dist/assets/elixir-CDX3lj18.js +0 -1
  180. package/dist/core-dist/assets/elm-DbKCFpqz.js +0 -1
  181. package/dist/core-dist/assets/emacs-lisp-C9XAeP06.js +0 -1
  182. package/dist/core-dist/assets/erDiagram-Q2GNP2WA-CRAdUMHH.js +0 -60
  183. package/dist/core-dist/assets/erb-BOJIQeun.js +0 -1
  184. package/dist/core-dist/assets/erlang-DsQrWhSR.js +0 -1
  185. package/dist/core-dist/assets/everforest-dark-BgDCqdQA.js +0 -1
  186. package/dist/core-dist/assets/everforest-light-C8M2exoo.js +0 -1
  187. package/dist/core-dist/assets/fennel-BYunw83y.js +0 -1
  188. package/dist/core-dist/assets/fish-BvzEVeQv.js +0 -1
  189. package/dist/core-dist/assets/flowDiagram-NV44I4VS-BZhEr3Uj.js +0 -162
  190. package/dist/core-dist/assets/fluent-C4IJs8-o.js +0 -1
  191. package/dist/core-dist/assets/fortran-fixed-form-CkoXwp7k.js +0 -1
  192. package/dist/core-dist/assets/fortran-free-form-BxgE0vQu.js +0 -1
  193. package/dist/core-dist/assets/fsharp-CXgrBDvD.js +0 -1
  194. package/dist/core-dist/assets/ganttDiagram-JELNMOA3-v6QMKJx4.js +0 -267
  195. package/dist/core-dist/assets/gdresource-B7Tvp0Sc.js +0 -1
  196. package/dist/core-dist/assets/gdscript-DTMYz4Jt.js +0 -1
  197. package/dist/core-dist/assets/gdshader-DkwncUOv.js +0 -1
  198. package/dist/core-dist/assets/genie-D0YGMca9.js +0 -1
  199. package/dist/core-dist/assets/gherkin-DyxjwDmM.js +0 -1
  200. package/dist/core-dist/assets/git-commit-F4YmCXRG.js +0 -1
  201. package/dist/core-dist/assets/git-rebase-r7XF79zn.js +0 -1
  202. package/dist/core-dist/assets/gitGraphDiagram-NY62KEGX-A1MEr8uU.js +0 -65
  203. package/dist/core-dist/assets/github-dark-DHJKELXO.js +0 -1
  204. package/dist/core-dist/assets/github-dark-default-Cuk6v7N8.js +0 -1
  205. package/dist/core-dist/assets/github-dark-dimmed-DH5Ifo-i.js +0 -1
  206. package/dist/core-dist/assets/github-dark-high-contrast-E3gJ1_iC.js +0 -1
  207. package/dist/core-dist/assets/github-light-DAi9KRSo.js +0 -1
  208. package/dist/core-dist/assets/github-light-default-D7oLnXFd.js +0 -1
  209. package/dist/core-dist/assets/github-light-high-contrast-BfjtVDDH.js +0 -1
  210. package/dist/core-dist/assets/gleam-BspZqrRM.js +0 -1
  211. package/dist/core-dist/assets/glimmer-js-Rg0-pVw9.js +0 -1
  212. package/dist/core-dist/assets/glimmer-ts-U6CK756n.js +0 -1
  213. package/dist/core-dist/assets/glsl-DplSGwfg.js +0 -1
  214. package/dist/core-dist/assets/gn-n2N0HUVH.js +0 -1
  215. package/dist/core-dist/assets/gnuplot-DdkO51Og.js +0 -1
  216. package/dist/core-dist/assets/go-Dn2_MT6a.js +0 -1
  217. package/dist/core-dist/assets/graph-C6dXmhID.js +0 -1
  218. package/dist/core-dist/assets/graphql-ChdNCCLP.js +0 -1
  219. package/dist/core-dist/assets/groovy-gcz8RCvz.js +0 -1
  220. package/dist/core-dist/assets/gruvbox-dark-hard-CFHQjOhq.js +0 -1
  221. package/dist/core-dist/assets/gruvbox-dark-medium-GsRaNv29.js +0 -1
  222. package/dist/core-dist/assets/gruvbox-dark-soft-CVdnzihN.js +0 -1
  223. package/dist/core-dist/assets/gruvbox-light-hard-CH1njM8p.js +0 -1
  224. package/dist/core-dist/assets/gruvbox-light-medium-DRw_LuNl.js +0 -1
  225. package/dist/core-dist/assets/gruvbox-light-soft-hJgmCMqR.js +0 -1
  226. package/dist/core-dist/assets/hack-CaT9iCJl.js +0 -1
  227. package/dist/core-dist/assets/haml-B8DHNrY2.js +0 -1
  228. package/dist/core-dist/assets/handlebars-BL8al0AC.js +0 -1
  229. package/dist/core-dist/assets/haskell-Df6bDoY_.js +0 -1
  230. package/dist/core-dist/assets/haxe-CzTSHFRz.js +0 -1
  231. package/dist/core-dist/assets/hcl-BWvSN4gD.js +0 -1
  232. package/dist/core-dist/assets/hjson-D5-asLiD.js +0 -1
  233. package/dist/core-dist/assets/hlsl-D3lLCCz7.js +0 -1
  234. package/dist/core-dist/assets/houston-DnULxvSX.js +0 -1
  235. package/dist/core-dist/assets/html-GMplVEZG.js +0 -1
  236. package/dist/core-dist/assets/html-derivative-BFtXZ54Q.js +0 -1
  237. package/dist/core-dist/assets/http-jrhK8wxY.js +0 -1
  238. package/dist/core-dist/assets/hurl-irOxFIW8.js +0 -1
  239. package/dist/core-dist/assets/hxml-Bvhsp5Yf.js +0 -1
  240. package/dist/core-dist/assets/hy-DFXneXwc.js +0 -1
  241. package/dist/core-dist/assets/icons-CThL5JLu.js +0 -1
  242. package/dist/core-dist/assets/imba-DGztddWO.js +0 -1
  243. package/dist/core-dist/assets/index-B7-ICZ0j.js +0 -1
  244. package/dist/core-dist/assets/index-BMkY85Cs.js +0 -58
  245. package/dist/core-dist/assets/index-BXF4gXVp.js +0 -1
  246. package/dist/core-dist/assets/index-Bgk4PJE4.js +0 -1
  247. package/dist/core-dist/assets/index-CI-PCTpD.css +0 -1
  248. package/dist/core-dist/assets/index-DVnhzasD.js +0 -1
  249. package/dist/core-dist/assets/infoDiagram-WHAUD3N6-CJkR0w30.js +0 -2
  250. package/dist/core-dist/assets/ini-BEwlwnbL.js +0 -1
  251. package/dist/core-dist/assets/init-Gi6I4Gst.js +0 -1
  252. package/dist/core-dist/assets/java-CylS5w8V.js +0 -1
  253. package/dist/core-dist/assets/javascript-wDzz0qaB.js +0 -1
  254. package/dist/core-dist/assets/jinja-4LBKfQ-Z.js +0 -1
  255. package/dist/core-dist/assets/jison-wvAkD_A8.js +0 -1
  256. package/dist/core-dist/assets/journeyDiagram-XKPGCS4Q-SAEhBpzZ.js +0 -139
  257. package/dist/core-dist/assets/json-Cp-IABpG.js +0 -1
  258. package/dist/core-dist/assets/json5-C9tS-k6U.js +0 -1
  259. package/dist/core-dist/assets/jsonc-Des-eS-w.js +0 -1
  260. package/dist/core-dist/assets/jsonl-DcaNXYhu.js +0 -1
  261. package/dist/core-dist/assets/jsonnet-DFQXde-d.js +0 -1
  262. package/dist/core-dist/assets/jssm-C2t-YnRu.js +0 -1
  263. package/dist/core-dist/assets/jsx-g9-lgVsj.js +0 -1
  264. package/dist/core-dist/assets/julia-CxzCAyBv.js +0 -1
  265. package/dist/core-dist/assets/kanagawa-dragon-CkXjmgJE.js +0 -1
  266. package/dist/core-dist/assets/kanagawa-lotus-CfQXZHmo.js +0 -1
  267. package/dist/core-dist/assets/kanagawa-wave-DWedfzmr.js +0 -1
  268. package/dist/core-dist/assets/kanban-definition-3W4ZIXB7-CTjwDgKD.js +0 -89
  269. package/dist/core-dist/assets/katex-DvXFAOB1.css +0 -1
  270. package/dist/core-dist/assets/kdl-DV7GczEv.js +0 -1
  271. package/dist/core-dist/assets/kotlin-BdnUsdx6.js +0 -1
  272. package/dist/core-dist/assets/kusto-DZf3V79B.js +0 -1
  273. package/dist/core-dist/assets/laserwave-DUszq2jm.js +0 -1
  274. package/dist/core-dist/assets/latex-B4uzh10-.js +0 -1
  275. package/dist/core-dist/assets/layout-BC4bIyCj.js +0 -1
  276. package/dist/core-dist/assets/lean-BZvkOJ9d.js +0 -1
  277. package/dist/core-dist/assets/less-B1dDrJ26.js +0 -1
  278. package/dist/core-dist/assets/light-plus-B7mTdjB0.js +0 -1
  279. package/dist/core-dist/assets/linear-aOQP6b5O.js +0 -1
  280. package/dist/core-dist/assets/liquid-DYVedYrR.js +0 -1
  281. package/dist/core-dist/assets/llvm-BtvRca6l.js +0 -1
  282. package/dist/core-dist/assets/log-2UxHyX5q.js +0 -1
  283. package/dist/core-dist/assets/logo-BtOb2qkB.js +0 -1
  284. package/dist/core-dist/assets/logs-BlD66J6V.js +0 -1
  285. package/dist/core-dist/assets/lua-BbnMAYS6.js +0 -1
  286. package/dist/core-dist/assets/luau-C-HG3fhB.js +0 -1
  287. package/dist/core-dist/assets/make-CHLpvVh8.js +0 -1
  288. package/dist/core-dist/assets/markdown-Cvjx9yec.js +0 -1
  289. package/dist/core-dist/assets/marko-DZsq8hO1.js +0 -1
  290. package/dist/core-dist/assets/material-theme-D5KoaKCx.js +0 -1
  291. package/dist/core-dist/assets/material-theme-darker-BfHTSMKl.js +0 -1
  292. package/dist/core-dist/assets/material-theme-lighter-B0m2ddpp.js +0 -1
  293. package/dist/core-dist/assets/material-theme-ocean-CyktbL80.js +0 -1
  294. package/dist/core-dist/assets/material-theme-palenight-Csfq5Kiy.js +0 -1
  295. package/dist/core-dist/assets/matlab-D7o27uSR.js +0 -1
  296. package/dist/core-dist/assets/mdc-DUICxH0z.js +0 -1
  297. package/dist/core-dist/assets/mdx-Cmh6b_Ma.js +0 -1
  298. package/dist/core-dist/assets/mermaid-VLURNSYL-Bk83Yp1q.js +0 -377
  299. package/dist/core-dist/assets/mermaid-mWjccvbQ.js +0 -1
  300. package/dist/core-dist/assets/mermaid.core-VvKZ2mCx.js +0 -191
  301. package/dist/core-dist/assets/min-BiqQDxvT.js +0 -1
  302. package/dist/core-dist/assets/min-dark-CafNBF8u.js +0 -1
  303. package/dist/core-dist/assets/min-light-CTRr51gU.js +0 -1
  304. package/dist/core-dist/assets/mindmap-definition-VGOIOE7T-DjjEGOvH.js +0 -68
  305. package/dist/core-dist/assets/mipsasm-CKIfxQSi.js +0 -1
  306. package/dist/core-dist/assets/mojo-B93PlW-d.js +0 -1
  307. package/dist/core-dist/assets/monokai-D4h5O-jR.js +0 -1
  308. package/dist/core-dist/assets/moonbit-Ba13S78F.js +0 -1
  309. package/dist/core-dist/assets/move-Bu9oaDYs.js +0 -1
  310. package/dist/core-dist/assets/narrat-DRg8JJMk.js +0 -1
  311. package/dist/core-dist/assets/nextflow-BrzmwbiE.js +0 -1
  312. package/dist/core-dist/assets/nginx-DknmC5AR.js +0 -1
  313. package/dist/core-dist/assets/night-owl-C39BiMTA.js +0 -1
  314. package/dist/core-dist/assets/nim-CVrawwO9.js +0 -1
  315. package/dist/core-dist/assets/nix-CwoSXNpI.js +0 -1
  316. package/dist/core-dist/assets/nord-Ddv68eIx.js +0 -1
  317. package/dist/core-dist/assets/nushell-C-sUppwS.js +0 -1
  318. package/dist/core-dist/assets/objective-c-DXmwc3jG.js +0 -1
  319. package/dist/core-dist/assets/objective-cpp-CLxacb5B.js +0 -1
  320. package/dist/core-dist/assets/ocaml-C0hk2d4L.js +0 -1
  321. package/dist/core-dist/assets/one-dark-pro-DVMEJ2y_.js +0 -1
  322. package/dist/core-dist/assets/one-light-PoHY5YXO.js +0 -1
  323. package/dist/core-dist/assets/openscad-C4EeE6gA.js +0 -1
  324. package/dist/core-dist/assets/ordinal-BENe2yWM.js +0 -1
  325. package/dist/core-dist/assets/pascal-D93ZcfNL.js +0 -1
  326. package/dist/core-dist/assets/perl-C0TMdlhV.js +0 -1
  327. package/dist/core-dist/assets/php-CDn_0X-4.js +0 -1
  328. package/dist/core-dist/assets/pieDiagram-ADFJNKIX-AUM01WmV.js +0 -30
  329. package/dist/core-dist/assets/pkl-u5AG7uiY.js +0 -1
  330. package/dist/core-dist/assets/plastic-3e1v2bzS.js +0 -1
  331. package/dist/core-dist/assets/plsql-ChMvpjG-.js +0 -1
  332. package/dist/core-dist/assets/po-BTJTHyun.js +0 -1
  333. package/dist/core-dist/assets/poimandres-CS3Unz2-.js +0 -1
  334. package/dist/core-dist/assets/polar-C0HS_06l.js +0 -1
  335. package/dist/core-dist/assets/postcss-CXtECtnM.js +0 -1
  336. package/dist/core-dist/assets/powerquery-CEu0bR-o.js +0 -1
  337. package/dist/core-dist/assets/powershell-Dpen1YoG.js +0 -1
  338. package/dist/core-dist/assets/prisma-Dd19v3D-.js +0 -1
  339. package/dist/core-dist/assets/prolog-CbFg5uaA.js +0 -1
  340. package/dist/core-dist/assets/proto-C7zT0LnQ.js +0 -1
  341. package/dist/core-dist/assets/pug-CGlum2m_.js +0 -1
  342. package/dist/core-dist/assets/puppet-BMWR74SV.js +0 -1
  343. package/dist/core-dist/assets/purescript-CklMAg4u.js +0 -1
  344. package/dist/core-dist/assets/python-B6aJPvgy.js +0 -1
  345. package/dist/core-dist/assets/qml-3beO22l8.js +0 -1
  346. package/dist/core-dist/assets/qmldir-C8lEn-DE.js +0 -1
  347. package/dist/core-dist/assets/qss-IeuSbFQv.js +0 -1
  348. package/dist/core-dist/assets/quadrantDiagram-AYHSOK5B-MpcGOIDU.js +0 -7
  349. package/dist/core-dist/assets/queries.store-DjOPk8vF.js +0 -1
  350. package/dist/core-dist/assets/r-Dspwwk_N.js +0 -1
  351. package/dist/core-dist/assets/racket-BqYA7rlc.js +0 -1
  352. package/dist/core-dist/assets/radix-ui-bzITMjAn.js +0 -51
  353. package/dist/core-dist/assets/raku-DXvB9xmW.js +0 -1
  354. package/dist/core-dist/assets/razor-C1TweQQi.js +0 -1
  355. package/dist/core-dist/assets/red-bN70gL4F.js +0 -1
  356. package/dist/core-dist/assets/reg-C-SQnVFl.js +0 -1
  357. package/dist/core-dist/assets/regexp-CDVJQ6XC.js +0 -1
  358. package/dist/core-dist/assets/rel-C3B-1QV4.js +0 -1
  359. package/dist/core-dist/assets/requirementDiagram-UZGBJVZJ-DTgvy-oh.js +0 -64
  360. package/dist/core-dist/assets/riscv-BM1_JUlF.js +0 -1
  361. package/dist/core-dist/assets/rose-pine-dawn-DHQR4-dF.js +0 -1
  362. package/dist/core-dist/assets/rose-pine-moon-D4_iv3hh.js +0 -1
  363. package/dist/core-dist/assets/rose-pine-qdsjHGoJ.js +0 -1
  364. package/dist/core-dist/assets/rosmsg-BJDFO7_C.js +0 -1
  365. package/dist/core-dist/assets/rst-B0xPkSld.js +0 -1
  366. package/dist/core-dist/assets/ruby-BvKwtOVI.js +0 -1
  367. package/dist/core-dist/assets/runner-tab-2NkPdwaD.js +0 -3
  368. package/dist/core-dist/assets/rust-B1yitclQ.js +0 -1
  369. package/dist/core-dist/assets/sankeyDiagram-TZEHDZUN-Coy7Jnu4.js +0 -10
  370. package/dist/core-dist/assets/sas-cz2c8ADy.js +0 -1
  371. package/dist/core-dist/assets/sass-Cj5Yp3dK.js +0 -1
  372. package/dist/core-dist/assets/scala-C151Ov-r.js +0 -1
  373. package/dist/core-dist/assets/schema-C9usm3AO.js +0 -1
  374. package/dist/core-dist/assets/scheme-C98Dy4si.js +0 -1
  375. package/dist/core-dist/assets/scroll-area-DuacQlkg.js +0 -1
  376. package/dist/core-dist/assets/scss-OYdSNvt2.js +0 -1
  377. package/dist/core-dist/assets/sdbl-DVxCFoDh.js +0 -1
  378. package/dist/core-dist/assets/sequenceDiagram-WL72ISMW-DWol0BxA.js +0 -145
  379. package/dist/core-dist/assets/shaderlab-Dg9Lc6iA.js +0 -1
  380. package/dist/core-dist/assets/shellscript-Yzrsuije.js +0 -1
  381. package/dist/core-dist/assets/shellsession-BADoaaVG.js +0 -1
  382. package/dist/core-dist/assets/slack-dark-BthQWCQV.js +0 -1
  383. package/dist/core-dist/assets/slack-ochin-DqwNpetd.js +0 -1
  384. package/dist/core-dist/assets/smalltalk-BERRCDM3.js +0 -1
  385. package/dist/core-dist/assets/snazzy-light-Bw305WKR.js +0 -1
  386. package/dist/core-dist/assets/solarized-dark-DXbdFlpD.js +0 -1
  387. package/dist/core-dist/assets/solarized-light-L9t79GZl.js +0 -1
  388. package/dist/core-dist/assets/solidity-rGO070M0.js +0 -1
  389. package/dist/core-dist/assets/soy-Brmx7dQM.js +0 -1
  390. package/dist/core-dist/assets/sparql-rVzFXLq3.js +0 -1
  391. package/dist/core-dist/assets/splunk-BtCnVYZw.js +0 -1
  392. package/dist/core-dist/assets/sql-BLtJtn59.js +0 -1
  393. package/dist/core-dist/assets/ssh-config-_ykCGR6B.js +0 -1
  394. package/dist/core-dist/assets/stata-BH5u7GGu.js +0 -1
  395. package/dist/core-dist/assets/stateDiagram-FKZM4ZOC-B4qm6ej0.js +0 -1
  396. package/dist/core-dist/assets/stateDiagram-v2-4FDKWEC3-BuP2exNa.js +0 -1
  397. package/dist/core-dist/assets/stylus-BEDo0Tqx.js +0 -1
  398. package/dist/core-dist/assets/svelte-zxCyuUbr.js +0 -1
  399. package/dist/core-dist/assets/swift-Dg5xB15N.js +0 -1
  400. package/dist/core-dist/assets/synthwave-84-CbfX1IO0.js +0 -1
  401. package/dist/core-dist/assets/system-verilog-CnnmHF94.js +0 -1
  402. package/dist/core-dist/assets/systemd-4A_iFExJ.js +0 -1
  403. package/dist/core-dist/assets/talonscript-CkByrt1z.js +0 -1
  404. package/dist/core-dist/assets/tanstack-Be3yNbjx.js +0 -9
  405. package/dist/core-dist/assets/tasl-QIJgUcNo.js +0 -1
  406. package/dist/core-dist/assets/tcl-dwOrl1Do.js +0 -1
  407. package/dist/core-dist/assets/templ-W15q3VgB.js +0 -1
  408. package/dist/core-dist/assets/terraform-BETggiCN.js +0 -1
  409. package/dist/core-dist/assets/tex-CvyZ59Mk.js +0 -1
  410. package/dist/core-dist/assets/timeline-definition-IT6M3QCI-DZ5Afuno.js +0 -61
  411. package/dist/core-dist/assets/tokyo-night-hegEt444.js +0 -1
  412. package/dist/core-dist/assets/toml-vGWfd6FD.js +0 -1
  413. package/dist/core-dist/assets/treemap-KMMF4GRG-Cxy-aurk.js +0 -128
  414. package/dist/core-dist/assets/ts-tags-zn1MmPIZ.js +0 -1
  415. package/dist/core-dist/assets/tsv-B_m7g4N7.js +0 -1
  416. package/dist/core-dist/assets/tsx-COt5Ahok.js +0 -1
  417. package/dist/core-dist/assets/turtle-BsS91CYL.js +0 -1
  418. package/dist/core-dist/assets/twig-CO9l9SDP.js +0 -1
  419. package/dist/core-dist/assets/typescript-BPQ3VLAy.js +0 -1
  420. package/dist/core-dist/assets/typespec-BGHnOYBU.js +0 -1
  421. package/dist/core-dist/assets/typst-DHCkPAjA.js +0 -1
  422. package/dist/core-dist/assets/v-BcVCzyr7.js +0 -1
  423. package/dist/core-dist/assets/vala-CsfeWuGM.js +0 -1
  424. package/dist/core-dist/assets/vb-D17OF-Vu.js +0 -1
  425. package/dist/core-dist/assets/verilog-BQ8w6xss.js +0 -1
  426. package/dist/core-dist/assets/vesper-DU1UobuO.js +0 -1
  427. package/dist/core-dist/assets/vhdl-CeAyd5Ju.js +0 -1
  428. package/dist/core-dist/assets/viml-CJc9bBzg.js +0 -1
  429. package/dist/core-dist/assets/vitesse-black-Bkuqu6BP.js +0 -1
  430. package/dist/core-dist/assets/vitesse-dark-D0r3Knsf.js +0 -1
  431. package/dist/core-dist/assets/vitesse-light-CVO1_9PV.js +0 -1
  432. package/dist/core-dist/assets/vue-DN_0RTcg.js +0 -1
  433. package/dist/core-dist/assets/vue-html-AaS7Mt5G.js +0 -1
  434. package/dist/core-dist/assets/vue-vine-CQOfvN7w.js +0 -1
  435. package/dist/core-dist/assets/vyper-CDx5xZoG.js +0 -1
  436. package/dist/core-dist/assets/wasm-CG6Dc4jp.js +0 -1
  437. package/dist/core-dist/assets/wasm-MzD3tlZU.js +0 -1
  438. package/dist/core-dist/assets/wenyan-BV7otONQ.js +0 -1
  439. package/dist/core-dist/assets/wgsl-Dx-B1_4e.js +0 -1
  440. package/dist/core-dist/assets/wikitext-BhOHFoWU.js +0 -1
  441. package/dist/core-dist/assets/wit-5i3qLPDT.js +0 -1
  442. package/dist/core-dist/assets/wolfram-lXgVvXCa.js +0 -1
  443. package/dist/core-dist/assets/xml-sdJ4AIDG.js +0 -1
  444. package/dist/core-dist/assets/xsl-CtQFsRM5.js +0 -1
  445. package/dist/core-dist/assets/xychartDiagram-PRI3JC2R-yhq_s0e5.js +0 -7
  446. package/dist/core-dist/assets/yaml-Buea-lGh.js +0 -1
  447. package/dist/core-dist/assets/zenscript-DVFEvuxE.js +0 -1
  448. package/dist/core-dist/assets/zig-VOosw3JB.js +0 -1
package/README.md CHANGED
@@ -23,3 +23,47 @@ A modern, universal (pgAdmin alternative) database management studio for any dat
23
23
  <br />
24
24
 
25
25
  <img src="https://dbstudio.sh/og-image.png" alt="DB Studio screenshot" width="1000" />
26
+
27
+ ## Getting Started
28
+
29
+ Run DB Studio without installing it globally:
30
+
31
+ ```bash
32
+ npx db-studio
33
+ ```
34
+
35
+ DB Studio reads your database connection from `DATABASE_URL` in a `.env` file.
36
+
37
+ ```env
38
+ DATABASE_URL="postgresql://user:password@127.0.0.1:5432/mydb"
39
+ ```
40
+
41
+ You can also pass the connection string directly:
42
+
43
+ ```bash
44
+ npx db-studio --database-url "postgresql://user:password@127.0.0.1:5432/mydb"
45
+ ```
46
+
47
+ ## Usage
48
+
49
+ Add a simple script to your `package.json`:
50
+
51
+ ```json
52
+ {
53
+ "scripts": {
54
+ "db:studio": "npx db-studio"
55
+ }
56
+ }
57
+ ```
58
+
59
+ Then run:
60
+
61
+ ```bash
62
+ npm run db:studio
63
+ ```
64
+
65
+ Helpful options:
66
+
67
+ - `npx db-studio --env .env.local`
68
+ - `npx db-studio --port 4000`
69
+ - `npx db-studio --status`
@@ -0,0 +1 @@
1
+ import{j as e,L as Ie,M as Ae,N as Me,Q as Oe,U as Qe,W as qe,X as $e}from"./radix-ui-c-7GrHMM.js";import{h as ae,L as be,i as H,j as je,b as ne,a as Pe,O as Be}from"./tanstack-BaWakKkc.js";import{c as C,T as He,B as j,u as G,I as A,t as w,S as ge,a as ve,b as ye,d as Ce,e as K,C as k,f as W,g as re,D as Ve,h as Ue,i as Ke,j as Ge,k as E,l as xe,m as We,n as Xe,o as Ye,p as Je,q as Ze,r as es,s as ss,v as ts,w as as,x as ns,y as rs}from"./index-DO_12lzR.js";import{P as ls,B as os,G as is,r as l,f as me,l as le,m as oe,n as ie,o as cs,p as ds,F as us,q as Ne,S as we,E as xs,s as ms,t as hs,D as fs,u as ps,v as bs,e as js,w as gs,x as vs}from"./icons-B2mES2Qq.js";import{T as ee,a as se,b as te}from"./tooltip-B4cd0H8Q.js";import{u as X}from"./index-CESnXcY7.js";import{K as M,A as ys,a as Cs,b as Ns,c as ws,d as Ss,e as Ds,f as Ts,g as zs,h as ks,S as Fs}from"./scroll-area-D613A-kL.js";import{D as O,a as Q,b as q,c as $,d as P,e as B}from"./dialog-BtqI2R7E.js";import{u as Y}from"./queries.store-DCqn9r_M.js";import"./react-dom-BcUZDRtY.js";import"./monaco-editor-BMj4E99D.js";const he={SITE_GITHUB_LINK:"https://github.com/husamql3/db-studio",SITE_GITHUB_NEW_ISSUE_LINK:"https://github.com/husamql3/db-studio/issues/new/choose"};function Es({className:s,orientation:t="horizontal",decorative:n=!0,...r}){return e.jsx(Ie,{"data-slot":"separator",decorative:n,orientation:t,className:C("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:w-px data-[orientation=vertical]:self-stretch",s),...r})}const Rs=()=>{const{pathname:s}=ae(),t=s.split("/")[1]||"table";return e.jsx("div",{className:"flex h-full items-center",children:He.map(n=>e.jsx(be,{to:`/${n}`,className:"h-full flex items-center",children:e.jsx(j,{variant:"ghost",className:C("flex-1 px-4 border-l-0 border-y-0 border-r border-zinc-800 h-full rounded-none",t===n?"bg-zinc-900 text-white":"text-zinc-400"),children:n})},n))})},_s=()=>{const{sidebar:{isOpen:s,isPinned:t},setSidebarOpen:n,setSidebarPinned:r}=G(),a=()=>{n(!s),r(!t)};return e.jsx(j,{variant:"ghost",onClick:a,className:"h-full aspect-square border-l-0 border-y-0 border-r border-zinc-800 rounded-none",children:e.jsx(ls,{className:"size-5"})})},Ls=()=>e.jsxs("div",{className:"border-b border-zinc-800 w-full flex items-center justify-between bg-black h-12",children:[e.jsxs("div",{className:"flex items-center h-full",children:[e.jsx(_s,{}),e.jsx(Rs,{})]}),e.jsxs("div",{className:"flex items-center h-full",children:[e.jsxs(ee,{children:[e.jsx(se,{asChild:!0,children:e.jsx(j,{variant:"ghost",className:"border-r-0 border-y-0 border-l border-zinc-800 rounded-none h-full w-12",asChild:!0,children:e.jsx("a",{href:he.SITE_GITHUB_NEW_ISSUE_LINK,target:"_blank",rel:"noopener noreferrer","aria-label":"Create a new GitHub issue",children:e.jsx(os,{className:"size-5"})})})}),e.jsx(te,{children:e.jsx("p",{children:"Report a bug"})})]}),e.jsxs(ee,{children:[e.jsx(se,{asChild:!0,children:e.jsx(j,{variant:"ghost",className:"border-r-0 border-y-0 border-l border-zinc-800 rounded-none h-full w-12",asChild:!0,children:e.jsx("a",{href:he.SITE_GITHUB_LINK,target:"_blank",rel:"noopener noreferrer","aria-label":"View the db-studio GitHub repository",children:e.jsx(is,{className:"size-5"})})})}),e.jsx(te,{children:e.jsx("p",{children:"View on GitHub"})})]})]})]});function Se({...s}){return e.jsx(Ae,{"data-slot":"context-menu",...s})}function De({className:s,...t}){return e.jsx(Me,{"data-slot":"context-menu-trigger",className:C("select-none",s),...t})}function Te({className:s,...t}){return e.jsx(Oe,{children:e.jsx(Qe,{"data-slot":"context-menu-content",className:C("data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 bg-popover text-popover-foreground min-w-32 rounded-lg p-1 shadow-md ring-1 duration-100 z-50 max-h-(--radix-context-menu-content-available-height) origin-(--radix-context-menu-content-transform-origin) overflow-x-hidden overflow-y-auto",s),...t})})}function z({className:s,inset:t,variant:n="default",...r}){return e.jsx(qe,{"data-slot":"context-menu-item","data-inset":t,"data-variant":n,className:C("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:text-destructive not-data-[variant=destructive]:focus:**:text-accent-foreground min-h-7 gap-2 rounded-md px-2 py-1 text-xs/relaxed [&_svg:not([class*='size-'])]:size-3.5 group/context-menu-item relative flex cursor-default items-center outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0",s),...r})}function fe({className:s,...t}){return e.jsx($e,{"data-slot":"context-menu-separator",className:C("bg-border/50 -mx-1 my-1 h-px",s),...t})}const Z=({folderId:s,isExpanded:t,onToggle:n,count:r,name:a,showContextMenu:o=!1})=>{const c=H(),{deleteFolder:d,getQueriesByFolder:h,addQuery:u,updateFolder:g}=Y(),[y,m]=l.useState(!1),[b,i]=l.useState(""),[p,N]=l.useState(!1),S=l.useCallback(()=>{if(s){if(h(s).length>0){N(!0);return}d(s)}},[d,s,h]),x=l.useCallback(()=>{s&&(d(s),N(!1))},[d,s]),v=l.useCallback(()=>{const D=u(void 0,s);c({to:"/runner/$queryId",params:{queryId:D}})},[u,s,c]),T=l.useCallback(()=>{i(a),m(!0)},[a]),V=l.useCallback(()=>{s&&b.trim()&&(g(s,{name:b.trim()}),m(!1),i(""))},[s,b,g]);return e.jsxs(e.Fragment,{children:[o?e.jsxs(Se,{children:[e.jsx(De,{asChild:!0,children:e.jsxs("button",{type:"button",onClick:n,className:C("w-full flex gap-2 px-4 py-2 text-sm transition-colors text-left","hover:bg-zinc-800/50 hover:text-zinc-100 focus:outline-none focus:bg-zinc-800/50","text-zinc-400 items-center"),children:[e.jsx(me,{className:C("size-4 transition-transform duration-200",t?"rotate-90":"")}),e.jsx("span",{className:"flex-1",children:a}),e.jsx(M,{children:r})]})}),e.jsxs(Te,{children:[e.jsxs(z,{onClick:v,children:[e.jsx(le,{className:"size-4"}),"Add a new query"]}),e.jsxs(z,{onClick:T,children:[e.jsx(oe,{className:"size-4"}),"Rename folder"]}),e.jsxs(z,{onClick:S,children:[e.jsx(ie,{className:"size-4"}),"Delete folder"]})]})]}):e.jsxs("button",{type:"button",onClick:n,className:C("w-full flex gap-2 px-4 py-2 text-sm transition-colors text-left","hover:bg-zinc-800/50 hover:text-zinc-100 focus:outline-none focus:bg-zinc-800/50","text-zinc-400 items-center"),children:[e.jsx(me,{className:C("size-4 transition-transform duration-200",t?"rotate-90":"")}),e.jsx("span",{className:"flex-1",children:a}),e.jsx(M,{children:r})]}),e.jsx(O,{open:y,onOpenChange:m,children:e.jsxs(Q,{children:[e.jsxs(q,{children:[e.jsx($,{children:"Rename Folder"}),e.jsx(P,{children:"Enter a new name for this folder."})]}),e.jsx(A,{value:b,onChange:D=>i(D.target.value),placeholder:"Folder name",onKeyDown:D=>{D.key==="Enter"&&V()},autoFocus:!0}),e.jsxs(B,{children:[e.jsx(j,{variant:"outline",onClick:()=>{m(!1),i("")},children:"Cancel"}),e.jsx(j,{onClick:V,disabled:!b.trim(),children:"Rename"})]})]})}),e.jsx(ys,{open:p,onOpenChange:N,children:e.jsxs(Cs,{children:[e.jsxs(Ns,{children:[e.jsx(ws,{children:"Delete Folder"}),e.jsxs(Ss,{children:["This folder contains ",r," ",r===1?"query":"queries",". Deleting this folder will also delete all queries inside it. This action cannot be undone."]})]}),e.jsxs(Ds,{children:[e.jsx(Ts,{children:"Cancel"}),e.jsx(zs,{onClick:x,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"Delete Folder"})]})]})})]})},U=({id:s,tableName:t,isNested:n=!1,showContextMenu:r=!0})=>{const a=H(),{deleteQuery:o,addQuery:c,getQuery:d,toggleFavorite:h,updateQuery:u,moveQuery:g,folders:y,addFolder:m}=Y(),{queryId:b}=je({strict:!1}),i=b===s,p=d(s),N=p?.isFavorite??!1,[S,x]=l.useState(!1),[v,T]=l.useState(""),[V,D]=l.useState(!1),[J,R]=l.useState(void 0),[_,F]=l.useState(!1),[L,I]=l.useState(""),ce=l.useCallback(()=>{a({to:"/runner/$queryId",params:{queryId:s}})},[a,s]),ze=l.useCallback(()=>{o(s),b===s&&a({to:"/runner"}),w.success("Query deleted successfully")},[o,s,a,b]),ke=l.useCallback(()=>{const f=d(s),Le=c(`${f?.name} (Copy)`);a({to:"/runner/$queryId",params:{queryId:Le}}),w.success("Query duplicated successfully")},[c,d,a,s]),Fe=l.useCallback(()=>{h(s),w.success("Query favorited successfully")},[h,s]),Ee=l.useCallback(()=>{T(p?.name??""),x(!0)},[p?.name]),de=l.useCallback(()=>{v.trim()&&(u(s,{name:v.trim()}),x(!1),T(""),w.success("Query renamed successfully"))},[s,v,u]),Re=l.useCallback(()=>{R(p?.folderId),F(!1),I(""),D(!0)},[p?.folderId]),_e=l.useCallback(f=>{f==="__create_new__"?(F(!0),R(void 0)):(F(!1),R(f==="__none__"?void 0:f))},[]),ue=l.useCallback(()=>{if(_&&L.trim()){const f=Math.random().toString(36).substring(2,15);m({id:f,name:L.trim(),isExpanded:!0,isFavorite:!1}),g(s,f),w.success("Query moved to new folder successfully")}else _||(g(s,J),w.success("Query moved to selected folder successfully"));D(!1),F(!1),I(""),R(void 0)},[_,L,J,s,m,g]);return e.jsxs("li",{className:"relative",children:[r?e.jsxs(Se,{children:[e.jsx(De,{asChild:!0,children:e.jsxs("button",{type:"button",onClick:ce,className:C("w-full flex gap-2 py-2 text-sm transition-colors text-left","hover:text-zinc-100 focus:outline-none focus:bg-accent/10 focus:text-zinc-100 justify-start items-center",i?"text-zinc-100 bg-accent/10":"text-zinc-400",n?"px-4 pl-12":"px-4"),children:[i&&e.jsx("span",{className:"absolute left-0 top-0 bottom-0 w-1 bg-accent"}),e.jsx("span",{className:"flex-1",children:t})]})}),e.jsxs(Te,{children:[e.jsxs(z,{onClick:Ee,children:[e.jsx(oe,{className:"size-4"}),"Rename query"]}),e.jsxs(z,{onClick:ke,children:[e.jsx(cs,{className:"size-4"}),"Duplicate query"]}),e.jsxs(z,{onClick:Fe,children:[e.jsx(ds,{className:N?"size-4 fill-current":"size-4"}),N?"Remove from favorites":"Add to favorites"]}),e.jsx(fe,{}),e.jsxs(z,{onClick:Re,children:[e.jsx(us,{className:"size-4"}),"Move to folder"]}),e.jsx(fe,{}),e.jsxs(z,{onClick:ze,children:[e.jsx(ie,{className:"size-4"}),"Delete query"]})]})]}):e.jsxs("button",{type:"button",onClick:ce,className:C("w-full flex gap-2 py-2 text-sm transition-colors text-left","hover:text-zinc-100 focus:outline-none focus:bg-accent/10 focus:text-zinc-100 justify-start items-center",i?"text-zinc-100 bg-accent/10":"text-zinc-400",n?"px-4 pl-12":"px-4"),children:[i&&e.jsx("span",{className:"absolute left-0 top-0 bottom-0 w-1 bg-accent"}),e.jsx("span",{className:"flex-1",children:t})]}),e.jsx(O,{open:S,onOpenChange:x,children:e.jsxs(Q,{children:[e.jsxs(q,{children:[e.jsx($,{children:"Rename Query"}),e.jsx(P,{children:"Enter a new name for this query."})]}),e.jsx(A,{value:v,onChange:f=>T(f.target.value),placeholder:"Query name",onKeyDown:f=>{f.key==="Enter"&&de()},autoFocus:!0}),e.jsxs(B,{children:[e.jsx(j,{variant:"outline",onClick:()=>{x(!1),T("")},children:"Cancel"}),e.jsx(j,{onClick:de,disabled:!v.trim(),children:"Rename"})]})]})}),e.jsx(O,{open:V,onOpenChange:f=>{D(f),f||(F(!1),I(""),R(void 0))},children:e.jsxs(Q,{children:[e.jsxs(q,{children:[e.jsx($,{children:"Move to Folder"}),e.jsx(P,{children:"Select a folder to move this query to."})]}),e.jsx("div",{className:"space-y-4",children:_?e.jsx(A,{value:L,onChange:f=>I(f.target.value),placeholder:"Folder name",onKeyDown:f=>{f.key==="Enter"&&L.trim()&&ue(),f.key==="Escape"&&(F(!1),I(""))},autoFocus:!0}):e.jsxs(ge,{value:J??"__none__",onValueChange:_e,children:[e.jsx(ve,{className:"w-full",children:e.jsx(ye,{placeholder:"Select a folder"})}),e.jsxs(Ce,{children:[e.jsx(K,{value:"__none__",children:"No folder"}),y.map(f=>e.jsx(K,{value:f.id,children:f.name},f.id)),e.jsx(K,{value:"__create_new__",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Ne,{className:"size-4"}),"Create a new folder"]})})]})]})}),e.jsxs(B,{children:[e.jsx(j,{variant:"outline",onClick:()=>{D(!1),F(!1),I(""),R(void 0)},children:"Cancel"}),e.jsx(j,{onClick:ue,disabled:_&&!L.trim(),children:_?"Create & Move":"Move"})]})]})})]})},Is=()=>{const[s]=X(k.SIDEBAR_SEARCH,{defaultValue:""}),{folders:t,queries:n,getFavoriteQueries:r,getQueriesByFolder:a,toggleFolder:o}=Y(),[c,d]=l.useState(!0),[h,u]=l.useState(!0),g=n.filter(i=>!i.isFavorite).length,y=r(),m=y.length,b=n.filter(i=>!i.folderId&&!i.isFavorite);if(s){const i=n.filter(p=>p.name.toLowerCase().includes(s.toLowerCase()));return i.length===0?e.jsx("div",{className:"flex-1 overflow-y-auto p-4",children:"No queries found matching"}):e.jsx("div",{className:"flex-1 overflow-y-auto",children:i.map(p=>e.jsx(U,{id:p.id,tableName:p.name},p.id))})}return e.jsxs("div",{className:"flex-1 overflow-y-auto",children:[e.jsx(Z,{name:"Favorites",isExpanded:c,onToggle:()=>d(!c),count:m}),c&&y.map(i=>e.jsx(U,{id:i.id,tableName:i.name},i.id)),e.jsx(Es,{className:"bg-zinc-800"}),e.jsx(Z,{name:"Queries",isExpanded:h,onToggle:()=>u(!h),count:g}),h&&e.jsxs(e.Fragment,{children:[t.map(i=>{const p=a(i.id),N=p.length;return e.jsxs("div",{children:[e.jsx(Z,{folderId:i.id,name:i.name,isExpanded:i.isExpanded,onToggle:()=>o(i.id),count:N,showContextMenu:!0}),i.isExpanded&&p.map(S=>e.jsx(U,{id:S.id,tableName:S.name,isNested:!0,showContextMenu:!0},S.id))]},i.id)}),b.map(i=>e.jsx(U,{id:i.id,tableName:i.name,showContextMenu:!0},i.id))]})]})},As=()=>{const{addQuery:s,addFolder:t}=Y(),n=H(),r=l.useRef(null),[a,o]=X(k.SIDEBAR_SEARCH,{defaultValue:""}),c=u=>{o(u.target.value)},d=()=>{const u=s();n({to:"/runner/$queryId",params:{queryId:u}})},h=()=>{const u=Math.random().toString(36).substring(2,15);t({id:u,name:"New Folder",isExpanded:!0,isFavorite:!1})};return e.jsxs("div",{className:"p-3 space-y-2 border-b border-zinc-800",children:[e.jsxs("div",{className:"flex gap-2",children:[e.jsxs(j,{className:"flex-1 justify-start h-8",onClick:d,children:[e.jsx(le,{className:"size-4"}),"Add Query"]}),e.jsxs(j,{className:"flex-1 justify-start h-8",onClick:h,children:[e.jsx(Ne,{className:"size-4"}),"Add Folder"]})]}),e.jsxs("div",{className:"relative",children:[e.jsx(we,{className:"absolute left-2 top-1/2 -translate-y-1/2 w-4 h-4 text-muted-foreground"}),e.jsx(A,{ref:r,placeholder:"Search queries",value:a??"",onChange:c,className:"rounded-sm h-8 pl-8 pr-8"}),e.jsx(M,{className:"absolute right-2 top-1/2 -translate-y-1/2 text-xs",children:"/"})]})]})},Ms=()=>e.jsxs(e.Fragment,{children:[e.jsx(As,{}),e.jsx(Is,{})]}),Os=()=>{const{selectedDatabase:s}=W(),{mutateAsync:t,isPending:n}=ne({mutationFn:async a=>{const c=(await re.get(`/tables/${a}/schema`,{params:{db:s??""}})).data.data.schema;return await navigator.clipboard.writeText(c),c}});return{copyTableSchema:async a=>w.promise(t(a),{loading:"Copying table schema...",success:"Table schema copied to clipboard",error:o=>o.message||"Failed to copy table schema"}),isCopyingSchema:n}},Qs=()=>{const s=Pe(),{selectedDatabase:t}=W(),{mutateAsync:n,isPending:r,reset:a}=ne({mutationFn:async({tableName:d,cascade:h=!1})=>(await re.delete(`/tables/${d}`,{params:{db:t??"",cascade:h?"true":"false"}})).data.data,onSuccess:async()=>{await s.invalidateQueries({queryKey:[k.CACHE_KEYS.TABLES_LIST]})}});return{deleteTable:async d=>n({tableName:d,cascade:!1}),forceDeleteTable:async d=>n({tableName:d,cascade:!0}),isDeletingTable:r,resetDeleteResult:a}},qs=()=>{const{selectedDatabase:s}=W(),{mutateAsync:t,isPending:n}=ne({mutationFn:async({tableName:a,format:o})=>{const c=await re.get(`/tables/${a}/export`,{params:{db:s??"",format:o},responseType:"blob"}),u=c.headers["content-disposition"]?.match(/filename="(.+)"/)?.[1]||`${a}_export.${o}`,g=new Blob([c.data],{type:c.headers["content-type"]}),y=window.URL.createObjectURL(g),m=document.createElement("a");m.href=y,m.download=u,document.body.appendChild(m),m.click(),document.body.removeChild(m),window.URL.revokeObjectURL(y)}});return{exportFile:async({tableName:a,format:o})=>w.promise(t({tableName:a,format:o}),{loading:"Exporting file...",success:"File exported successfully",error:c=>c.message||"Failed to export file"}),isExportingFile:n}},$s=({tableName:s})=>{const t=H(),{copyTableSchema:n,isCopyingSchema:r}=Os(),{exportFile:a,isExportingFile:o}=qs(),{deleteTable:c,forceDeleteTable:d,isDeletingTable:h}=Qs(),[u,g]=l.useState(!1),[y,m]=l.useState(!1),[b,i]=l.useState([]),p=()=>{navigator.clipboard.writeText(s),w.success("Table name copied to clipboard")},N=async()=>{const v=await c(s);v.fkViolation?(i(v.relatedRecords),g(!1),m(!0)):(w.success(`Deleted table "${s}" with ${v.deletedCount} rows`),g(!1),t({to:"/"}))},S=async()=>{const v=await d(s);w.success(`Force deleted table "${s}" with ${v.deletedCount} rows`),m(!1),t({to:"/"})},x=()=>{m(!1),i([])};return e.jsxs(e.Fragment,{children:[e.jsxs(Ve,{children:[e.jsx(Ue,{children:e.jsx(j,{variant:"ghost",size:"icon-sm",children:e.jsx(xs,{})})}),e.jsx(Ke,{className:"w-56",align:"start",children:e.jsxs(Ge,{children:[e.jsxs(E,{onClick:p,children:[e.jsx(ms,{className:"size-4"}),"Copy name"]}),e.jsxs(E,{onClick:()=>n(s),disabled:r,children:[e.jsx(hs,{className:"size-4"}),"Copy table schema"]}),e.jsx(xe,{}),e.jsxs(E,{onClick:()=>t({to:"/schema/$table",params:{table:s}}),children:[e.jsx(oe,{className:"size-4"}),"Edit table"]}),e.jsxs(We,{children:[e.jsxs(Xe,{children:[e.jsx(fs,{className:"size-4"}),"Export data"]}),e.jsxs(Ye,{children:[e.jsx(E,{onClick:()=>a({tableName:s,format:"csv"}),disabled:o,children:"Export as CSV"}),e.jsx(E,{onClick:()=>a({tableName:s,format:"json"}),disabled:o,children:"Export as JSON"}),e.jsx(E,{onClick:()=>a({tableName:s,format:"xlsx"}),disabled:o,children:"Export as Excel"})]})]}),e.jsx(xe,{}),e.jsxs(E,{variant:"destructive",onClick:()=>g(!0),children:[e.jsx(ie,{className:"size-4"}),"Delete table"]})]})})]}),e.jsx(Ps,{isOpen:u,onOpenChange:g,tableName:s,onDelete:N,isDeleting:h}),e.jsx(Bs,{isOpen:y,onOpenChange:m,tableName:s,relatedRecords:b,onForceDelete:S,onCancel:x,isDeleting:h})]})},Ps=({isOpen:s,onOpenChange:t,tableName:n,onDelete:r,isDeleting:a})=>e.jsx(O,{open:s,onOpenChange:t,children:e.jsxs(Q,{className:"max-w-md",children:[e.jsxs(q,{children:[e.jsx($,{children:"Delete Table"}),e.jsxs(P,{children:["Are you sure you want to delete the table"," ",e.jsxs("span",{className:"font-semibold text-foreground",children:['"',n,'"']}),"? This action cannot be undone and all data will be permanently lost."]})]}),e.jsxs(B,{className:"gap-2",children:[e.jsx(j,{variant:"outline",onClick:()=>t(!1),disabled:a,children:"Cancel"}),e.jsx(j,{variant:"destructive",onClick:r,disabled:a,children:a?"Deleting...":"Delete Table"})]})]})}),Bs=({isOpen:s,onOpenChange:t,tableName:n,relatedRecords:r,onForceDelete:a,onCancel:o,isDeleting:c})=>e.jsx(O,{open:s,onOpenChange:t,children:e.jsxs(Q,{className:"max-w-xl! max-h-[calc(100vh-1rem)]!",children:[e.jsxs(q,{children:[e.jsx($,{children:"Cannot Delete - Foreign Key Constraint"}),e.jsxs(P,{children:["The table ",e.jsxs("span",{className:"font-semibold text-foreground",children:['"',n,'"']})," ","cannot be deleted because it is referenced by records in other tables. You can either cancel the operation or force delete, which will also delete all related records."]})]}),e.jsx("div",{className:"space-y-4 max-h-64 overflow-y-auto",children:r.map((d,h)=>e.jsxs("div",{className:"border border-zinc-700 rounded-md p-3",children:[e.jsxs("div",{className:"font-medium text-sm mb-2",children:["Table: ",e.jsx("span",{className:"text-primary",children:d.tableName}),e.jsxs("span",{className:"text-muted-foreground ml-2",children:["(",d.records.length," record",d.records.length!==1?"s":"",")"]})]}),e.jsxs("div",{className:"text-xs text-muted-foreground mb-2",children:["References column: ",d.columnName]}),e.jsx("div",{className:"bg-zinc-900 rounded p-2 text-xs overflow-x-auto",children:e.jsxs("pre",{className:"whitespace-pre-wrap",children:[JSON.stringify(d.records.slice(0,5),null,2),d.records.length>5&&e.jsxs("div",{className:"text-muted-foreground mt-2",children:["... and ",d.records.length-5," more"]})]})})]},`${d.tableName}-${d.columnName}-${h}`))}),e.jsxs(B,{className:"gap-2",children:[e.jsx(j,{variant:"outline",onClick:o,disabled:c,children:"Cancel"}),e.jsx(j,{variant:"destructive",onClick:a,disabled:c,children:c?"Deleting...":"Force Delete All"})]})]})}),Hs=({tableName:s,rowCount:t})=>{const n=je({strict:!1}),{pathname:r}=ae(),o=n.table===s,c=r.startsWith("/schema")?"/schema/$table":"/table/$table";return e.jsx("li",{className:"relative",children:e.jsxs(be,{to:c,params:{table:s},className:C("w-full flex gap-0.5 px-4 py-1.5 text-sm transition-colors text-left","hover:text-zinc-100 focus:outline-none focus:bg-accent/10 focus:text-zinc-100 justify-start items-center",o?"text-white bg-zinc-800/50":"text-zinc-400"),children:[o&&e.jsx("span",{className:"absolute left-0 top-0 bottom-0 w-1 bg-accent"}),e.jsx("span",{className:"flex-1",children:s}),e.jsxs("div",{className:"flex items-center gap-1 h-5",children:[o&&e.jsx($s,{tableName:s}),e.jsx(M,{children:t})]})]})})},Vs=()=>{const[s]=X(k.SIDEBAR_SEARCH,{defaultValue:""}),{tablesList:t=[],isLoadingTablesList:n,errorTablesList:r}=Je(),a=t?.filter(o=>o.tableName.toLowerCase().includes(s.toLowerCase()));return n?e.jsx("div",{className:"flex-1 h-full overflow-y-auto pb-3 flex items-center justify-center",children:e.jsx(Ze,{size:"size-6"})}):r?e.jsxs("div",{className:"flex-1 overflow-y-auto pb-3 h-full flex items-center justify-center",children:["Error: ",r.message]}):e.jsx("div",{className:"flex-1 overflow-y-auto pb-3",children:a&&a.length>0?e.jsx("ul",{children:a?.map(o=>e.jsx(Hs,{tableName:o.tableName,rowCount:o.rowCount},o.tableName))}):s?e.jsx("div",{className:"flex-1 overflow-y-auto pb-3 h-full flex items-center justify-center",children:"No tables found matching"}):e.jsx("div",{className:"flex-1 overflow-y-auto pb-3 h-full flex items-center justify-center",children:"No tables available"})})},Us=()=>{const s=l.useRef(null),[t,n]=X(k.SIDEBAR_SEARCH,{defaultValue:""}),{openSheet:r}=es();return ks("/",a=>{a.preventDefault(),s.current&&s.current.focus()},{preventDefault:!0}),e.jsxs("div",{className:"p-3 space-y-2",children:[e.jsxs(j,{className:"w-full justify-start h-8",onClick:()=>r("add-table"),children:[e.jsx(le,{className:"size-4"}),"Add Table"]}),e.jsxs("div",{className:"relative",children:[e.jsx(we,{className:"absolute left-2 top-1/2 -translate-y-1/2 w-4 h-4 text-muted-foreground"}),e.jsx(A,{ref:s,placeholder:"Search tables",value:t??"",onChange:a=>n(a.target.value.trim()),className:"rounded-sm h-8 pl-8 pr-8"}),e.jsx(M,{className:"absolute right-2 top-1/2 -translate-y-1/2 text-xs",children:"/"})]})]})},pe=()=>e.jsxs(e.Fragment,{children:[e.jsx(Us,{}),e.jsx(Fs,{className:"flex-1 overflow-y-auto pb-3 block h-full w-full",children:e.jsx(Vs,{})})]});function Ks(){const{databases:s,isLoadingDatabases:t,refetchDatabases:n,isRefetchingDatabases:r}=ss(),{connectionInfo:a,isLoadingConnectionInfo:o}=ts(),{selectedDatabase:c,setSelectedDatabase:d}=W(),h=H(),[u,g]=l.useState(!1),y=b=>{d(b),h({to:"/table",search:{}})},m=async()=>{await n(),w.success("Databases refreshed")};return e.jsx("div",{className:"mt-auto border-t bg-background",children:e.jsxs("div",{className:"p-4 space-y-2",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(ps,{className:"h-4 w-4 text-muted-foreground"}),e.jsx("span",{className:"text-sm font-medium",children:"Database"})]}),e.jsxs(ee,{children:[e.jsx(se,{asChild:!0,children:e.jsx(j,{variant:"ghost",size:"icon",className:"h-6 w-6 hover:bg-accent",onClick:m,disabled:t||r,children:e.jsx(bs,{className:C("h-3.5 w-3.5",(t||r)&&"animate-spin")})})}),e.jsx(te,{children:"Refresh databases"})]})]}),e.jsxs(ge,{value:c||"",onValueChange:y,children:[e.jsx(ve,{className:"h-9 text-xs font-mono w-full",disabled:t||r,children:e.jsx(ye,{placeholder:"Select database..."})}),e.jsx(Ce,{children:s?.map(b=>e.jsx(K,{value:b.name,className:"font-mono text-xs",children:b.name},b.name))})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(j,{variant:"ghost",className:"w-full hover:bg-accent flex items-center justify-between",onClick:()=>g(!u),disabled:o||r,children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:"flex items-center justify-center",children:e.jsxs("div",{className:"relative flex h-2 w-2",children:[e.jsx("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full bg-green-400 opacity-75"}),e.jsx("span",{className:"relative inline-flex rounded-full h-2 w-2 bg-green-500"})]})}),e.jsx("span",{className:"text-xs font-medium text-green-600",children:"Connected"})]}),e.jsx(js,{className:C("size-3 text-muted-foreground transition-transform",u&&"rotate-180")})]}),u&&a&&e.jsxs("div",{className:"space-y-1.5 px-2 py-2 rounded-md bg-muted/30",children:[e.jsxs("div",{className:"flex justify-between items-center",children:[e.jsx("span",{className:"text-xs text-muted-foreground",children:"Host"}),e.jsxs("span",{className:"text-xs font-mono text-foreground",children:[a.host,":",a.port]})]}),e.jsxs("div",{className:"flex justify-between items-center",children:[e.jsx("span",{className:"text-xs text-muted-foreground",children:"User"}),e.jsx("span",{className:"text-xs font-mono text-foreground",children:a.user})]}),e.jsxs("div",{className:"flex justify-between items-center",children:[e.jsx("span",{className:"text-xs text-muted-foreground",children:"Databases"}),e.jsx("span",{className:"text-xs font-mono font-medium text-foreground",children:s?.length||0})]})]})]})]})})}const Gs=()=>{const{sidebar:{isPinned:s},toggleSidebarPinned:t}=G();return e.jsx("div",{className:"flex items-center justify-between h-9 border-b border-zinc-800",children:e.jsx(j,{variant:"ghost",size:"lg",onClick:t,className:"size-9 flex items-center justify-center transition hover:bg-transparent! focus-visible:ring-0 focus-visible:ring-offset-0",title:s?"Unpin sidebar":"Pin sidebar",children:s?e.jsx(gs,{className:"size-4"}):e.jsx(vs,{className:"size-4"})})})},Ws=({children:s})=>{const{sidebar:{width:t,isOpen:n,isPinned:r},setSidebarWidth:a,setSidebarOpen:o}=G(),c=l.useRef(!1),d=l.useRef(0),h=l.useRef(0),u=l.useRef(null),g=l.useRef(null),y=l.useCallback(x=>{c.current&&requestAnimationFrame(()=>{const v=x.clientX-d.current,T=h.current+v;a(T)})},[a]),m=l.useCallback(()=>{c.current=!1,document.body.style.cursor="",document.body.style.userSelect="";const x=document.getElementById("resize-overlay");x&&x.remove()},[]),b=l.useCallback(x=>{x.preventDefault(),c.current=!0,d.current=x.clientX,h.current=t,document.body.style.cursor="col-resize",document.body.style.userSelect="none";const v=document.createElement("div");v.id="resize-overlay",v.style.cssText="position:fixed;inset:0;z-index:9999;cursor:col-resize;",document.body.appendChild(v)},[t]),i=l.useCallback(()=>{r||o(!0)},[r,o]),p=l.useCallback(()=>{r||o(!1)},[r,o]),N=l.useCallback(x=>{r||n||c.current||(x.clientX<=k.HOVER_ZONE?(u.current&&clearTimeout(u.current),u.current=window.setTimeout(()=>{o(!0)},k.HOVER_DELAY)):x.clientX>k.HOVER_ZONE+50&&u.current&&clearTimeout(u.current))},[r,n,o]),S=x=>{r||o(x)};return l.useEffect(()=>(document.addEventListener("mousemove",y),document.addEventListener("mouseup",m),document.addEventListener("mousemove",N),()=>{document.removeEventListener("mousemove",y),document.removeEventListener("mouseup",m),document.removeEventListener("mousemove",N),u.current&&clearTimeout(u.current)}),[y,m,N]),l.useEffect(()=>{const x=g.current;if(x)return x.addEventListener("mouseenter",i),x.addEventListener("mouseleave",p),()=>{x.removeEventListener("mouseenter",i),x.removeEventListener("mouseleave",p)}},[i,p]),e.jsxs(as,{open:n,onOpenChange:S,modal:!1,children:[e.jsx(ns,{className:"sr-only",children:"Open Sidebar"}),e.jsx(rs,{ref:g,side:"left",showCloseButton:!1,isPinned:r,className:C("bg-black border-r border-zinc-800 p-0","transition-transform duration-300 ease-out"),style:{width:`${t}px`},onOpenAutoFocus:x=>x.preventDefault(),children:e.jsxs("div",{className:"relative h-full flex flex-col",children:[s,e.jsx("div",{role:"button",tabIndex:0,onMouseDown:b,className:C("absolute top-0 right-0 w-2 h-full cursor-col-resize z-50","hover:bg-blue-500/50 transition-colors group"),title:"Drag to resize",children:e.jsx("div",{className:"absolute right-0 top-1/2 -translate-y-1/2 w-2 h-12 bg-blue-500 opacity-0 group-hover:opacity-100 transition-opacity rounded-full"})})]})})]})},Xs=()=>{const{pathname:s}=ae(),t=s.split("/")[1],n=l.useMemo(()=>{switch(console.log(t),t){case"":case"table":case"schema":return e.jsx(pe,{});case"runner":return e.jsx(Ms,{});default:return e.jsx(pe,{})}},[t]);return e.jsxs(Ws,{children:[e.jsx(Gs,{}),n,e.jsx(Ks,{})]})};function it(){const{sidebar:{isPinned:s,width:t}}=G();return e.jsxs("div",{className:"bg-zinc-950 w-dvw flex h-dvh max-h-dvh overflow-hidden relative",children:[e.jsx(Xs,{}),e.jsxs("div",{className:"flex-1 flex flex-col h-full overflow-hidden ",style:{marginLeft:s?`${t}px`:"0"},children:[e.jsx(Ls,{}),e.jsx(Be,{})]})]})}export{it as component};
@@ -0,0 +1 @@
1
+ import{j as r}from"./radix-ui-c-7GrHMM.js";import{R as t}from"./runner-tab-CloOoJUy.js";import{aa as m}from"./index-DO_12lzR.js";import"./icons-B2mES2Qq.js";import"./react-dom-BcUZDRtY.js";import"./monaco-editor-BMj4E99D.js";import"./tanstack-BaWakKkc.js";import"./index-CESnXcY7.js";import"./format-cell-value-Cn3RA9a1.js";import"./tooltip-B4cd0H8Q.js";import"./queries.store-DCqn9r_M.js";function j(){const{queryId:o}=m.useParams();return r.jsx(t,{queryId:o})}export{j as component};
@@ -0,0 +1,8 @@
1
+ import{j as r,Y as rr,Z as ar,_ as or,$ as En,a0 as On,a1 as Mn}from"./radix-ui-c-7GrHMM.js";import{c as A,z as dn,B as R,P as Le,A as gt,E as $e,S as he,a as me,b as ge,d as xe,e as B,C as _,F as Tn,r as de,G as ir,L as ie,I as ne,H as De,f as st,g as rt,q as _n,J as He,t as We,K as lr,M as cr,N as at,O as re,D as Kt,h as Vt,i as Ut,k as Ce,Q as dr,R as Lt,U as ur,V as Rn,j as fr,l as hr,W as It,u as mr,X as gr}from"./index-DO_12lzR.js";import{u as P,p as Be}from"./index-CESnXcY7.js";import{a as D,r as g,y as Wn,f as An,e as $t,z as xr,L as zn,H as Tt,v as Fn,J as Yn,X as xt,K as pr,M as br,A as yr,l as Cr,N as wr,d as vr,Q as Sr,U as kr,n as jr,V as Nr}from"./icons-B2mES2Qq.js";import{S as Dr,K as je,A as Pn,a as In,b as Bn,c as Kn,d as Vn,e as Un,f as Ln,g as $n,h as Ke}from"./scroll-area-D613A-kL.js";import{c as Qe,T as Me,a as Te,b as _e}from"./tooltip-B4cd0H8Q.js";import{u as Er,k as Hn,m as qn,n as tt,a as pt,b as bt,o as Jn,p as Or}from"./tanstack-BaWakKkc.js";import{f as Mr}from"./format-cell-value-Cn3RA9a1.js";import{D as Tr,a as _r,b as Rr,c as Wr,d as Ar,e as zr}from"./dialog-BtqI2R7E.js";import{u as Fr}from"./use-delete-column-DxoXObaz.js";import"./react-dom-BcUZDRtY.js";import"./monaco-editor-BMj4E99D.js";function ke({className:e,...t}){return r.jsx("textarea",{"data-slot":"textarea",className:A("border-input bg-input/20 dark:bg-input/30 focus-visible:border-ring focus-visible:ring-ring/30 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 resize-none rounded-sm border px-2 py-2 text-sm transition-colors focus-visible:ring-[2px] aria-invalid:ring-[2px] md:text-xs/relaxed placeholder:text-muted-foreground flex field-sizing-content min-h-16 w-full outline-none disabled:cursor-not-allowed disabled:opacity-50",e),...t})}const Gn=6048e5,Yr=864e5,un=Symbol.for("constructDateFrom");function J(e,t){return typeof e=="function"?e(t):e&&typeof e=="object"&&un in e?e[un](t):e instanceof Date?new e.constructor(t):new Date(t)}function $(e,t){return J(t||e,e)}function mt(e,t,n){const s=$(e,n?.in);return isNaN(t)?J(e,NaN):(t&&s.setDate(s.getDate()+t),s)}function Qn(e,t,n){const s=$(e,n?.in);if(isNaN(t))return J(e,NaN);if(!t)return s;const a=s.getDate(),i=J(e,s.getTime());i.setMonth(s.getMonth()+t+1,0);const c=i.getDate();return a>=c?i:(s.setFullYear(i.getFullYear(),i.getMonth(),a),s)}let Pr={};function ot(){return Pr}function Ve(e,t){const n=ot(),s=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,a=$(e,t?.in),i=a.getDay(),c=(i<s?7:0)+i-s;return a.setDate(a.getDate()-c),a.setHours(0,0,0,0),a}function nt(e,t){return Ve(e,{...t,weekStartsOn:1})}function Xn(e,t){const n=$(e,t?.in),s=n.getFullYear(),a=J(n,0);a.setFullYear(s+1,0,4),a.setHours(0,0,0,0);const i=nt(a),c=J(n,0);c.setFullYear(s,0,4),c.setHours(0,0,0,0);const o=nt(c);return n.getTime()>=i.getTime()?s+1:n.getTime()>=o.getTime()?s:s-1}function fn(e){const t=$(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 qe(e,...t){const n=J.bind(null,t.find(s=>typeof s=="object"));return t.map(n)}function Ue(e,t){const n=$(e,t?.in);return n.setHours(0,0,0,0),n}function Ht(e,t,n){const[s,a]=qe(n?.in,e,t),i=Ue(s),c=Ue(a),o=+i-fn(i),l=+c-fn(c);return Math.round((o-l)/Yr)}function Ir(e,t){const n=Xn(e,t),s=J(e,0);return s.setFullYear(n,0,4),s.setHours(0,0,0,0),nt(s)}function Br(e,t,n){return mt(e,t*7,n)}function Kr(e,t,n){return Qn(e,t*12,n)}function Vr(e,t){let n,s=t?.in;return e.forEach(a=>{!s&&typeof a=="object"&&(s=J.bind(null,a));const i=$(a,s);(!n||n<i||isNaN(+i))&&(n=i)}),J(s,n||NaN)}function Ur(e,t){let n,s=t?.in;return e.forEach(a=>{!s&&typeof a=="object"&&(s=J.bind(null,a));const i=$(a,s);(!n||n>i||isNaN(+i))&&(n=i)}),J(s,n||NaN)}function Lr(e,t,n){const[s,a]=qe(n?.in,e,t);return+Ue(s)==+Ue(a)}function Zn(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}function $r(e){return!(!Zn(e)&&typeof e!="number"||isNaN(+$(e)))}function es(e,t,n){const[s,a]=qe(n?.in,e,t),i=s.getFullYear()-a.getFullYear(),c=s.getMonth()-a.getMonth();return i*12+c}function Hr(e,t){const n=$(e,t?.in),s=n.getMonth();return n.setFullYear(n.getFullYear(),s+1,0),n.setHours(23,59,59,999),n}function ts(e,t){const[n,s]=qe(e,t.start,t.end);return{start:n,end:s}}function qr(e,t){const{start:n,end:s}=ts(t?.in,e);let a=+n>+s;const i=a?+n:+s,c=a?s:n;c.setHours(0,0,0,0),c.setDate(1);let o=1;const l=[];for(;+c<=i;)l.push(J(n,c)),c.setMonth(c.getMonth()+o);return a?l.reverse():l}function Jr(e,t){const n=$(e,t?.in);return n.setDate(1),n.setHours(0,0,0,0),n}function Gr(e,t){const n=$(e,t?.in),s=n.getFullYear();return n.setFullYear(s+1,0,0),n.setHours(23,59,59,999),n}function ns(e,t){const n=$(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}function Qr(e,t){const{start:n,end:s}=ts(t?.in,e);let a=+n>+s;const i=a?+n:+s,c=a?s:n;c.setHours(0,0,0,0),c.setMonth(0,1);let o=1;const l=[];for(;+c<=i;)l.push(J(n,c)),c.setFullYear(c.getFullYear()+o);return a?l.reverse():l}function ss(e,t){const n=ot(),s=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,a=$(e,t?.in),i=a.getDay(),c=(i<s?-7:0)+6-(i-s);return a.setDate(a.getDate()+c),a.setHours(23,59,59,999),a}function Xr(e,t){return ss(e,{...t,weekStartsOn:1})}const Zr={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"}},ea=(e,t,n)=>{let s;const a=Zr[e];return typeof a=="string"?s=a:t===1?s=a.one:s=a.other.replace("{{count}}",t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?"in "+s:s+" ago":s};function _t(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const ta={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},na={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},sa={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},ra={date:_t({formats:ta,defaultWidth:"full"}),time:_t({formats:na,defaultWidth:"full"}),dateTime:_t({formats:sa,defaultWidth:"full"})},aa={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},oa=(e,t,n,s)=>aa[e];function Xe(e){return(t,n)=>{const s=n?.context?String(n.context):"standalone";let a;if(s==="formatting"&&e.formattingValues){const c=e.defaultFormattingWidth||e.defaultWidth,o=n?.width?String(n.width):c;a=e.formattingValues[o]||e.formattingValues[c]}else{const c=e.defaultWidth,o=n?.width?String(n.width):e.defaultWidth;a=e.values[o]||e.values[c]}const i=e.argumentCallback?e.argumentCallback(t):t;return a[i]}}const ia={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},la={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},ca={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"]},da={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"]},ua={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"}},fa={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"}},ha=(e,t)=>{const n=Number(e),s=n%100;if(s>20||s<10)switch(s%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},ma={ordinalNumber:ha,era:Xe({values:ia,defaultWidth:"wide"}),quarter:Xe({values:la,defaultWidth:"wide",argumentCallback:e=>e-1}),month:Xe({values:ca,defaultWidth:"wide"}),day:Xe({values:da,defaultWidth:"wide"}),dayPeriod:Xe({values:ua,defaultWidth:"wide",formattingValues:fa,defaultFormattingWidth:"wide"})};function Ze(e){return(t,n={})=>{const s=n.width,a=s&&e.matchPatterns[s]||e.matchPatterns[e.defaultMatchWidth],i=t.match(a);if(!i)return null;const c=i[0],o=s&&e.parsePatterns[s]||e.parsePatterns[e.defaultParseWidth],l=Array.isArray(o)?xa(o,f=>f.test(c)):ga(o,f=>f.test(c));let d;d=e.valueCallback?e.valueCallback(l):l,d=n.valueCallback?n.valueCallback(d):d;const u=t.slice(c.length);return{value:d,rest:u}}}function ga(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function xa(e,t){for(let n=0;n<e.length;n++)if(t(e[n]))return n}function pa(e){return(t,n={})=>{const s=t.match(e.matchPattern);if(!s)return null;const a=s[0],i=t.match(e.parsePattern);if(!i)return null;let c=e.valueCallback?e.valueCallback(i[0]):i[0];c=n.valueCallback?n.valueCallback(c):c;const o=t.slice(a.length);return{value:c,rest:o}}}const ba=/^(\d+)(th|st|nd|rd)?/i,ya=/\d+/i,Ca={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},wa={any:[/^b/i,/^(a|c)/i]},va={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},Sa={any:[/1/i,/2/i,/3/i,/4/i]},ka={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},ja={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]},Na={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},Da={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]},Ea={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},Oa={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}},Ma={ordinalNumber:pa({matchPattern:ba,parsePattern:ya,valueCallback:e=>parseInt(e,10)}),era:Ze({matchPatterns:Ca,defaultMatchWidth:"wide",parsePatterns:wa,defaultParseWidth:"any"}),quarter:Ze({matchPatterns:va,defaultMatchWidth:"wide",parsePatterns:Sa,defaultParseWidth:"any",valueCallback:e=>e+1}),month:Ze({matchPatterns:ka,defaultMatchWidth:"wide",parsePatterns:ja,defaultParseWidth:"any"}),day:Ze({matchPatterns:Na,defaultMatchWidth:"wide",parsePatterns:Da,defaultParseWidth:"any"}),dayPeriod:Ze({matchPatterns:Ea,defaultMatchWidth:"any",parsePatterns:Oa,defaultParseWidth:"any"})},Ie={code:"en-US",formatDistance:ea,formatLong:ra,formatRelative:oa,localize:ma,match:Ma,options:{weekStartsOn:0,firstWeekContainsDate:1}};function Ta(e,t){const n=$(e,t?.in);return Ht(n,ns(n))+1}function qt(e,t){const n=$(e,t?.in),s=+nt(n)-+Ir(n);return Math.round(s/Gn)+1}function rs(e,t){const n=$(e,t?.in),s=n.getFullYear(),a=ot(),i=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??a.firstWeekContainsDate??a.locale?.options?.firstWeekContainsDate??1,c=J(t?.in||e,0);c.setFullYear(s+1,0,i),c.setHours(0,0,0,0);const o=Ve(c,t),l=J(t?.in||e,0);l.setFullYear(s,0,i),l.setHours(0,0,0,0);const d=Ve(l,t);return+n>=+o?s+1:+n>=+d?s:s-1}function _a(e,t){const n=ot(),s=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,a=rs(e,t),i=J(t?.in||e,0);return i.setFullYear(a,0,s),i.setHours(0,0,0,0),Ve(i,t)}function Jt(e,t){const n=$(e,t?.in),s=+Ve(n,t)-+_a(n,t);return Math.round(s/Gn)+1}function L(e,t){const n=e<0?"-":"",s=Math.abs(e).toString().padStart(t,"0");return n+s}const Ne={y(e,t){const n=e.getFullYear(),s=n>0?n:1-n;return L(t==="yy"?s%100:s,t.length)},M(e,t){const n=e.getMonth();return t==="M"?String(n+1):L(n+1,2)},d(e,t){return L(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 L(e.getHours()%12||12,t.length)},H(e,t){return L(e.getHours(),t.length)},m(e,t){return L(e.getMinutes(),t.length)},s(e,t){return L(e.getSeconds(),t.length)},S(e,t){const n=t.length,s=e.getMilliseconds(),a=Math.trunc(s*Math.pow(10,n-3));return L(a,t.length)}},Ye={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},hn={G:function(e,t,n){const s=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(s,{width:"abbreviated"});case"GGGGG":return n.era(s,{width:"narrow"});default:return n.era(s,{width:"wide"})}},y:function(e,t,n){if(t==="yo"){const s=e.getFullYear(),a=s>0?s:1-s;return n.ordinalNumber(a,{unit:"year"})}return Ne.y(e,t)},Y:function(e,t,n,s){const a=rs(e,s),i=a>0?a:1-a;if(t==="YY"){const c=i%100;return L(c,2)}return t==="Yo"?n.ordinalNumber(i,{unit:"year"}):L(i,t.length)},R:function(e,t){const n=Xn(e);return L(n,t.length)},u:function(e,t){const n=e.getFullYear();return L(n,t.length)},Q:function(e,t,n){const s=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(s);case"QQ":return L(s,2);case"Qo":return n.ordinalNumber(s,{unit:"quarter"});case"QQQ":return n.quarter(s,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(s,{width:"narrow",context:"formatting"});default:return n.quarter(s,{width:"wide",context:"formatting"})}},q:function(e,t,n){const s=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(s);case"qq":return L(s,2);case"qo":return n.ordinalNumber(s,{unit:"quarter"});case"qqq":return n.quarter(s,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(s,{width:"narrow",context:"standalone"});default:return n.quarter(s,{width:"wide",context:"standalone"})}},M:function(e,t,n){const s=e.getMonth();switch(t){case"M":case"MM":return Ne.M(e,t);case"Mo":return n.ordinalNumber(s+1,{unit:"month"});case"MMM":return n.month(s,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(s,{width:"narrow",context:"formatting"});default:return n.month(s,{width:"wide",context:"formatting"})}},L:function(e,t,n){const s=e.getMonth();switch(t){case"L":return String(s+1);case"LL":return L(s+1,2);case"Lo":return n.ordinalNumber(s+1,{unit:"month"});case"LLL":return n.month(s,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(s,{width:"narrow",context:"standalone"});default:return n.month(s,{width:"wide",context:"standalone"})}},w:function(e,t,n,s){const a=Jt(e,s);return t==="wo"?n.ordinalNumber(a,{unit:"week"}):L(a,t.length)},I:function(e,t,n){const s=qt(e);return t==="Io"?n.ordinalNumber(s,{unit:"week"}):L(s,t.length)},d:function(e,t,n){return t==="do"?n.ordinalNumber(e.getDate(),{unit:"date"}):Ne.d(e,t)},D:function(e,t,n){const s=Ta(e);return t==="Do"?n.ordinalNumber(s,{unit:"dayOfYear"}):L(s,t.length)},E:function(e,t,n){const s=e.getDay();switch(t){case"E":case"EE":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"})}},e:function(e,t,n,s){const a=e.getDay(),i=(a-s.weekStartsOn+8)%7||7;switch(t){case"e":return String(i);case"ee":return L(i,2);case"eo":return n.ordinalNumber(i,{unit:"day"});case"eee":return n.day(a,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(a,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(a,{width:"short",context:"formatting"});default:return n.day(a,{width:"wide",context:"formatting"})}},c:function(e,t,n,s){const a=e.getDay(),i=(a-s.weekStartsOn+8)%7||7;switch(t){case"c":return String(i);case"cc":return L(i,t.length);case"co":return n.ordinalNumber(i,{unit:"day"});case"ccc":return n.day(a,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(a,{width:"narrow",context:"standalone"});case"cccccc":return n.day(a,{width:"short",context:"standalone"});default:return n.day(a,{width:"wide",context:"standalone"})}},i:function(e,t,n){const s=e.getDay(),a=s===0?7:s;switch(t){case"i":return String(a);case"ii":return L(a,t.length);case"io":return n.ordinalNumber(a,{unit:"day"});case"iii":return n.day(s,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(s,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(s,{width:"short",context:"formatting"});default:return n.day(s,{width:"wide",context:"formatting"})}},a:function(e,t,n){const a=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(a,{width:"narrow",context:"formatting"});default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},b:function(e,t,n){const s=e.getHours();let a;switch(s===12?a=Ye.noon:s===0?a=Ye.midnight:a=s/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(a,{width:"narrow",context:"formatting"});default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},B:function(e,t,n){const s=e.getHours();let a;switch(s>=17?a=Ye.evening:s>=12?a=Ye.afternoon:s>=4?a=Ye.morning:a=Ye.night,t){case"B":case"BB":case"BBB":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(a,{width:"narrow",context:"formatting"});default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},h:function(e,t,n){if(t==="ho"){let s=e.getHours()%12;return s===0&&(s=12),n.ordinalNumber(s,{unit:"hour"})}return Ne.h(e,t)},H:function(e,t,n){return t==="Ho"?n.ordinalNumber(e.getHours(),{unit:"hour"}):Ne.H(e,t)},K:function(e,t,n){const s=e.getHours()%12;return t==="Ko"?n.ordinalNumber(s,{unit:"hour"}):L(s,t.length)},k:function(e,t,n){let s=e.getHours();return s===0&&(s=24),t==="ko"?n.ordinalNumber(s,{unit:"hour"}):L(s,t.length)},m:function(e,t,n){return t==="mo"?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):Ne.m(e,t)},s:function(e,t,n){return t==="so"?n.ordinalNumber(e.getSeconds(),{unit:"second"}):Ne.s(e,t)},S:function(e,t){return Ne.S(e,t)},X:function(e,t,n){const s=e.getTimezoneOffset();if(s===0)return"Z";switch(t){case"X":return gn(s);case"XXXX":case"XX":return Ee(s);default:return Ee(s,":")}},x:function(e,t,n){const s=e.getTimezoneOffset();switch(t){case"x":return gn(s);case"xxxx":case"xx":return Ee(s);default:return Ee(s,":")}},O:function(e,t,n){const s=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+mn(s,":");default:return"GMT"+Ee(s,":")}},z:function(e,t,n){const s=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+mn(s,":");default:return"GMT"+Ee(s,":")}},t:function(e,t,n){const s=Math.trunc(+e/1e3);return L(s,t.length)},T:function(e,t,n){return L(+e,t.length)}};function mn(e,t=""){const n=e>0?"-":"+",s=Math.abs(e),a=Math.trunc(s/60),i=s%60;return i===0?n+String(a):n+String(a)+t+L(i,2)}function gn(e,t){return e%60===0?(e>0?"-":"+")+L(Math.abs(e)/60,2):Ee(e,t)}function Ee(e,t=""){const n=e>0?"-":"+",s=Math.abs(e),a=L(Math.trunc(s/60),2),i=L(s%60,2);return n+a+t+i}const xn=(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"})}},as=(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"})}},Ra=(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],s=n[1],a=n[2];if(!a)return xn(e,t);let i;switch(s){case"P":i=t.dateTime({width:"short"});break;case"PP":i=t.dateTime({width:"medium"});break;case"PPP":i=t.dateTime({width:"long"});break;default:i=t.dateTime({width:"full"});break}return i.replace("{{date}}",xn(s,t)).replace("{{time}}",as(a,t))},Wa={p:as,P:Ra},Aa=/^D+$/,za=/^Y+$/,Fa=["D","DD","YY","YYYY"];function Ya(e){return Aa.test(e)}function Pa(e){return za.test(e)}function Ia(e,t,n){const s=Ba(e,t,n);if(console.warn(s),Fa.includes(e))throw new RangeError(s)}function Ba(e,t,n){const s=e[0]==="Y"?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${s} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const Ka=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Va=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,Ua=/^'([^]*?)'?$/,La=/''/g,$a=/[a-zA-Z]/;function we(e,t,n){const s=ot(),a=n?.locale??s.locale??Ie,i=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??s.firstWeekContainsDate??s.locale?.options?.firstWeekContainsDate??1,c=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??s.weekStartsOn??s.locale?.options?.weekStartsOn??0,o=$(e,n?.in);if(!$r(o))throw new RangeError("Invalid time value");let l=t.match(Va).map(u=>{const f=u[0];if(f==="p"||f==="P"){const h=Wa[f];return h(u,a.formatLong)}return u}).join("").match(Ka).map(u=>{if(u==="''")return{isToken:!1,value:"'"};const f=u[0];if(f==="'")return{isToken:!1,value:Ha(u)};if(hn[f])return{isToken:!0,value:u};if(f.match($a))throw new RangeError("Format string contains an unescaped latin alphabet character `"+f+"`");return{isToken:!1,value:u}});a.localize.preprocessor&&(l=a.localize.preprocessor(o,l));const d={firstWeekContainsDate:i,weekStartsOn:c,locale:a};return l.map(u=>{if(!u.isToken)return u.value;const f=u.value;(!n?.useAdditionalWeekYearTokens&&Pa(f)||!n?.useAdditionalDayOfYearTokens&&Ya(f))&&Ia(f,t,String(e));const h=hn[f[0]];return h(o,f,a.localize,d)}).join("")}function Ha(e){const t=e.match(Ua);return t?t[1].replace(La,"'"):e}function qa(e,t){const n=$(e,t?.in),s=n.getFullYear(),a=n.getMonth(),i=J(n,0);return i.setFullYear(s,a+1,0),i.setHours(0,0,0,0),i.getDate()}function Ja(e,t){return $(e,t?.in).getMonth()}function Ga(e,t){return $(e,t?.in).getFullYear()}function Qa(e,t){return+$(e)>+$(t)}function Xa(e,t){return+$(e)<+$(t)}function Za(e,t,n){const[s,a]=qe(n?.in,e,t);return s.getFullYear()===a.getFullYear()&&s.getMonth()===a.getMonth()}function eo(e,t,n){const[s,a]=qe(n?.in,e,t);return s.getFullYear()===a.getFullYear()}function to(e,t,n){const s=$(e,n?.in),a=s.getFullYear(),i=s.getDate(),c=J(e,0);c.setFullYear(a,t,15),c.setHours(0,0,0,0);const o=qa(c);return s.setMonth(t,Math.min(i,o)),s}function no(e,t,n){const s=$(e,n?.in);return isNaN(+s)?J(e,NaN):(s.setFullYear(t),s)}function so(e,t,n="long"){return new Intl.DateTimeFormat("en-US",{hour:"numeric",timeZone:e,timeZoneName:n}).format(t).split(/\s/g).slice(2).join(" ")}const ro={},et={};function Re(e,t){try{const s=(ro[e]||=new Intl.DateTimeFormat("en-US",{timeZone:e,timeZoneName:"longOffset"}).format)(t).split("GMT")[1];return s in et?et[s]:pn(s,s.split(":"))}catch{if(e in et)return et[e];const n=e?.match(ao);return n?pn(e,n.slice(1)):NaN}}const ao=/([+-]\d\d):?(\d\d)?/;function pn(e,t){const n=+(t[0]||0),s=+(t[1]||0),a=+(t[2]||0)/60;return et[e]=n*60+s>0?n*60+s+a:n*60-s-a}class fe extends Date{constructor(...t){super(),t.length>1&&typeof t[t.length-1]=="string"&&(this.timeZone=t.pop()),this.internal=new Date,isNaN(Re(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)),os(this),Bt(this)):this.setTime(Date.now())}static tz(t,...n){return n.length?new fe(...n,t):new fe(Date.now(),t)}withTimeZone(t){return new fe(+this,t)}getTimezoneOffset(){const t=-Re(this.timeZone,this);return t>0?Math.floor(t):Math.ceil(t)}setTime(t){return Date.prototype.setTime.apply(this,arguments),Bt(this),+this}[Symbol.for("constructDateFrom")](t){return new fe(+new Date(t),this.timeZone)}}const bn=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(!bn.test(e))return;const t=e.replace(bn,"$1UTC");fe.prototype[t]&&(e.startsWith("get")?fe.prototype[e]=function(){return this.internal[t]()}:(fe.prototype[e]=function(){return Date.prototype[t].apply(this.internal,arguments),oo(this),+this},fe.prototype[t]=function(){return Date.prototype[t].apply(this,arguments),Bt(this),+this}))});function Bt(e){e.internal.setTime(+e),e.internal.setUTCSeconds(e.internal.getUTCSeconds()-Math.round(-Re(e.timeZone,e)*60))}function oo(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()),os(e)}function os(e){const t=Re(e.timeZone,e),n=t>0?Math.floor(t):Math.ceil(t),s=new Date(+e);s.setUTCHours(s.getUTCHours()-1);const a=-new Date(+e).getTimezoneOffset(),i=-new Date(+s).getTimezoneOffset(),c=a-i,o=Date.prototype.getHours.apply(e)!==e.internal.getUTCHours();c&&o&&e.internal.setUTCMinutes(e.internal.getUTCMinutes()+c);const l=a-n;l&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+l);const d=new Date(+e);d.setUTCSeconds(0);const u=a>0?d.getSeconds():(d.getSeconds()-60)%60,f=Math.round(-(Re(e.timeZone,e)*60))%60;(f||u)&&(e.internal.setUTCSeconds(e.internal.getUTCSeconds()+f),Date.prototype.setUTCSeconds.call(e,Date.prototype.getUTCSeconds.call(e)+f+u));const h=Re(e.timeZone,e),p=h>0?Math.floor(h):Math.ceil(h),k=-new Date(+e).getTimezoneOffset()-p,S=p!==n,w=k-l;if(S&&w){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+w);const y=Re(e.timeZone,e),x=y>0?Math.floor(y):Math.ceil(y),m=p-x;m&&(e.internal.setUTCMinutes(e.internal.getUTCMinutes()+m),Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+m))}}class X extends fe{static tz(t,...n){return n.length?new X(...n,t):new X(Date.now(),t)}toISOString(){const[t,n,s]=this.tzComponents(),a=`${t}${n}:${s}`;return this.internal.toISOString().slice(0,-1)+a}toString(){return`${this.toDateString()} ${this.toTimeString()}`}toDateString(){const[t,n,s,a]=this.internal.toUTCString().split(" ");return`${t?.slice(0,-1)} ${s} ${n} ${a}`}toTimeString(){const t=this.internal.toUTCString().split(" ")[4],[n,s,a]=this.tzComponents();return`${t} GMT${n}${s}${a} (${so(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(),n=t>0?"-":"+",s=String(Math.floor(Math.abs(t)/60)).padStart(2,"0"),a=String(Math.abs(t)%60).padStart(2,"0");return[n,s,a]}withTimeZone(t){return new X(+this,t)}[Symbol.for("constructDateFrom")](t){return new X(+new Date(t),this.timeZone)}}const yn=5,io=4;function lo(e,t){const n=t.startOfMonth(e),s=n.getDay()>0?n.getDay():7,a=t.addDays(e,-s+1),i=t.addDays(a,yn*7-1);return t.getMonth(e)===t.getMonth(i)?yn:io}function is(e,t){const n=t.startOfMonth(e),s=n.getDay();return s===1?n:s===0?t.addDays(n,-6):t.addDays(n,-1*(s-1))}function co(e,t){const n=is(e,t),s=lo(e,t);return t.addDays(n,s*7-1)}const ls={...Ie,labels:{labelDayButton:(e,t,n,s)=>{let a;s&&typeof s.format=="function"?a=s.format.bind(s):a=(c,o)=>we(c,o,{locale:Ie,...n});let i=a(e,"PPPP");return t.today&&(i=`Today, ${i}`),t.selected&&(i=`${i}, selected`),i},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 s;return n&&typeof n.format=="function"?s=n.format.bind(n):s=(a,i)=>we(a,i,{locale:Ie,...t}),s(e,"LLLL yyyy")},labelGridcell:(e,t,n,s)=>{let a;s&&typeof s.format=="function"?a=s.format.bind(s):a=(c,o)=>we(c,o,{locale:Ie,...n});let i=a(e,"PPPP");return t?.today&&(i=`Today, ${i}`),i},labelNav:"Navigation bar",labelWeekNumberHeader:"Week Number",labelWeekday:(e,t,n)=>{let s;return n&&typeof n.format=="function"?s=n.format.bind(n):s=(a,i)=>we(a,i,{locale:Ie,...t}),s(e,"cccc")}}};class ae{constructor(t,n){this.Date=Date,this.today=()=>this.overrides?.today?this.overrides.today():this.options.timeZone?X.tz(this.options.timeZone):new this.Date,this.newDate=(s,a,i)=>this.overrides?.newDate?this.overrides.newDate(s,a,i):this.options.timeZone?new X(s,a,i,this.options.timeZone):new Date(s,a,i),this.addDays=(s,a)=>this.overrides?.addDays?this.overrides.addDays(s,a):mt(s,a),this.addMonths=(s,a)=>this.overrides?.addMonths?this.overrides.addMonths(s,a):Qn(s,a),this.addWeeks=(s,a)=>this.overrides?.addWeeks?this.overrides.addWeeks(s,a):Br(s,a),this.addYears=(s,a)=>this.overrides?.addYears?this.overrides.addYears(s,a):Kr(s,a),this.differenceInCalendarDays=(s,a)=>this.overrides?.differenceInCalendarDays?this.overrides.differenceInCalendarDays(s,a):Ht(s,a),this.differenceInCalendarMonths=(s,a)=>this.overrides?.differenceInCalendarMonths?this.overrides.differenceInCalendarMonths(s,a):es(s,a),this.eachMonthOfInterval=s=>this.overrides?.eachMonthOfInterval?this.overrides.eachMonthOfInterval(s):qr(s),this.eachYearOfInterval=s=>{const a=this.overrides?.eachYearOfInterval?this.overrides.eachYearOfInterval(s):Qr(s),i=new Set(a.map(o=>this.getYear(o)));if(i.size===a.length)return a;const c=[];return i.forEach(o=>{c.push(new Date(o,0,1))}),c},this.endOfBroadcastWeek=s=>this.overrides?.endOfBroadcastWeek?this.overrides.endOfBroadcastWeek(s):co(s,this),this.endOfISOWeek=s=>this.overrides?.endOfISOWeek?this.overrides.endOfISOWeek(s):Xr(s),this.endOfMonth=s=>this.overrides?.endOfMonth?this.overrides.endOfMonth(s):Hr(s),this.endOfWeek=(s,a)=>this.overrides?.endOfWeek?this.overrides.endOfWeek(s,a):ss(s,this.options),this.endOfYear=s=>this.overrides?.endOfYear?this.overrides.endOfYear(s):Gr(s),this.format=(s,a,i)=>{const c=this.overrides?.format?this.overrides.format(s,a,this.options):we(s,a,this.options);return this.options.numerals&&this.options.numerals!=="latn"?this.replaceDigits(c):c},this.getISOWeek=s=>this.overrides?.getISOWeek?this.overrides.getISOWeek(s):qt(s),this.getMonth=(s,a)=>this.overrides?.getMonth?this.overrides.getMonth(s,this.options):Ja(s,this.options),this.getYear=(s,a)=>this.overrides?.getYear?this.overrides.getYear(s,this.options):Ga(s,this.options),this.getWeek=(s,a)=>this.overrides?.getWeek?this.overrides.getWeek(s,this.options):Jt(s,this.options),this.isAfter=(s,a)=>this.overrides?.isAfter?this.overrides.isAfter(s,a):Qa(s,a),this.isBefore=(s,a)=>this.overrides?.isBefore?this.overrides.isBefore(s,a):Xa(s,a),this.isDate=s=>this.overrides?.isDate?this.overrides.isDate(s):Zn(s),this.isSameDay=(s,a)=>this.overrides?.isSameDay?this.overrides.isSameDay(s,a):Lr(s,a),this.isSameMonth=(s,a)=>this.overrides?.isSameMonth?this.overrides.isSameMonth(s,a):Za(s,a),this.isSameYear=(s,a)=>this.overrides?.isSameYear?this.overrides.isSameYear(s,a):eo(s,a),this.max=s=>this.overrides?.max?this.overrides.max(s):Vr(s),this.min=s=>this.overrides?.min?this.overrides.min(s):Ur(s),this.setMonth=(s,a)=>this.overrides?.setMonth?this.overrides.setMonth(s,a):to(s,a),this.setYear=(s,a)=>this.overrides?.setYear?this.overrides.setYear(s,a):no(s,a),this.startOfBroadcastWeek=(s,a)=>this.overrides?.startOfBroadcastWeek?this.overrides.startOfBroadcastWeek(s,this):is(s,this),this.startOfDay=s=>this.overrides?.startOfDay?this.overrides.startOfDay(s):Ue(s),this.startOfISOWeek=s=>this.overrides?.startOfISOWeek?this.overrides.startOfISOWeek(s):nt(s),this.startOfMonth=s=>this.overrides?.startOfMonth?this.overrides.startOfMonth(s):Jr(s),this.startOfWeek=(s,a)=>this.overrides?.startOfWeek?this.overrides.startOfWeek(s,this.options):Ve(s,this.options),this.startOfYear=s=>this.overrides?.startOfYear?this.overrides.startOfYear(s):ns(s),this.options={locale:ls,...t},this.overrides=n}getDigitMap(){const{numerals:t="latn"}=this.options,n=new Intl.NumberFormat("en-US",{numberingSystem:t}),s={};for(let a=0;a<10;a++)s[a.toString()]=n.format(a);return s}replaceDigits(t){const n=this.getDigitMap();return t.replace(/\d/g,s=>n[s]||s)}formatNumber(t){return this.replaceDigits(t.toString())}getMonthYearOrder(){const t=this.options.locale?.code;return t&&ae.yearFirstLocales.has(t)?"year-first":"month-first"}formatMonthYear(t){const{locale:n,timeZone:s,numerals:a}=this.options,i=n?.code;if(i&&ae.yearFirstLocales.has(i))try{return new Intl.DateTimeFormat(i,{month:"long",year:"numeric",timeZone:s,numberingSystem:a}).format(t)}catch{}const c=this.getMonthYearOrder()==="year-first"?"y LLLL":"LLLL y";return this.format(t,c)}}ae.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"]);const pe=new ae;class cs{constructor(t,n,s=pe){this.date=t,this.displayMonth=n,this.outside=!!(n&&!s.isSameMonth(t,n)),this.dateLib=s,this.isoDate=s.format(t,"yyyy-MM-dd"),this.displayMonthId=s.format(n,"yyyy-MM"),this.dateMonthId=s.format(t,"yyyy-MM")}isEqualTo(t){return this.dateLib.isSameDay(t.date,this.date)&&this.dateLib.isSameMonth(t.displayMonth,this.displayMonth)}}class uo{constructor(t,n){this.date=t,this.weeks=n}}class fo{constructor(t,n){this.days=n,this.weekNumber=t}}function ho(e){return D.createElement("button",{...e})}function mo(e){return D.createElement("span",{...e})}function go(e){const{size:t=24,orientation:n="left",className:s}=e;return D.createElement("svg",{className:s,width:t,height:t,viewBox:"0 0 24 24"},n==="up"&&D.createElement("polygon",{points:"6.77 17 12.5 11.43 18.24 17 20 15.28 12.5 8 5 15.28"}),n==="down"&&D.createElement("polygon",{points:"6.77 8 12.5 13.57 18.24 8 20 9.72 12.5 17 5 9.72"}),n==="left"&&D.createElement("polygon",{points:"16 18.112 9.81111111 12 16 5.87733333 14.0888889 4 6 12 14.0888889 20"}),n==="right"&&D.createElement("polygon",{points:"8 18.112 14.18888889 12 8 5.87733333 9.91111111 4 18 12 9.91111111 20"}))}function xo(e){const{day:t,modifiers:n,...s}=e;return D.createElement("td",{...s})}function po(e){const{day:t,modifiers:n,...s}=e,a=D.useRef(null);return D.useEffect(()=>{n.focused&&a.current?.focus()},[n.focused]),D.createElement("button",{ref:a,...s})}var M;(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"})(M||(M={}));var H;(function(e){e.disabled="disabled",e.hidden="hidden",e.outside="outside",e.focused="focused",e.today="today"})(H||(H={}));var ce;(function(e){e.range_end="range_end",e.range_middle="range_middle",e.range_start="range_start",e.selected="selected"})(ce||(ce={}));var se;(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"})(se||(se={}));function bo(e){const{options:t,className:n,components:s,classNames:a,...i}=e,c=[a[M.Dropdown],n].join(" "),o=t?.find(({value:l})=>l===i.value);return D.createElement("span",{"data-disabled":i.disabled,className:a[M.DropdownRoot]},D.createElement(s.Select,{className:c,...i},t?.map(({value:l,label:d,disabled:u})=>D.createElement(s.Option,{key:l,value:l,disabled:u},d))),D.createElement("span",{className:a[M.CaptionLabel],"aria-hidden":!0},o?.label,D.createElement(s.Chevron,{orientation:"down",size:18,className:a[M.Chevron]})))}function yo(e){return D.createElement("div",{...e})}function Co(e){return D.createElement("div",{...e})}function wo(e){const{calendarMonth:t,displayIndex:n,...s}=e;return D.createElement("div",{...s},e.children)}function vo(e){const{calendarMonth:t,displayIndex:n,...s}=e;return D.createElement("div",{...s})}function So(e){return D.createElement("table",{...e})}function ko(e){return D.createElement("div",{...e})}const ds=g.createContext(void 0);function it(){const e=g.useContext(ds);if(e===void 0)throw new Error("useDayPicker() must be used within a custom component.");return e}function jo(e){const{components:t}=it();return D.createElement(t.Dropdown,{...e})}function No(e){const{onPreviousClick:t,onNextClick:n,previousMonth:s,nextMonth:a,...i}=e,{components:c,classNames:o,labels:{labelPrevious:l,labelNext:d}}=it(),u=g.useCallback(h=>{a&&n?.(h)},[a,n]),f=g.useCallback(h=>{s&&t?.(h)},[s,t]);return D.createElement("nav",{...i},D.createElement(c.PreviousMonthButton,{type:"button",className:o[M.PreviousMonthButton],tabIndex:s?void 0:-1,"aria-disabled":s?void 0:!0,"aria-label":l(s),onClick:f},D.createElement(c.Chevron,{disabled:s?void 0:!0,className:o[M.Chevron],orientation:"left"})),D.createElement(c.NextMonthButton,{type:"button",className:o[M.NextMonthButton],tabIndex:a?void 0:-1,"aria-disabled":a?void 0:!0,"aria-label":d(a),onClick:u},D.createElement(c.Chevron,{disabled:a?void 0:!0,orientation:"right",className:o[M.Chevron]})))}function Do(e){const{components:t}=it();return D.createElement(t.Button,{...e})}function Eo(e){return D.createElement("option",{...e})}function Oo(e){const{components:t}=it();return D.createElement(t.Button,{...e})}function Mo(e){const{rootRef:t,...n}=e;return D.createElement("div",{...n,ref:t})}function To(e){return D.createElement("select",{...e})}function _o(e){const{week:t,...n}=e;return D.createElement("tr",{...n})}function Ro(e){return D.createElement("th",{...e})}function Wo(e){return D.createElement("thead",{"aria-hidden":!0},D.createElement("tr",{...e}))}function Ao(e){const{week:t,...n}=e;return D.createElement("th",{...n})}function zo(e){return D.createElement("th",{...e})}function Fo(e){return D.createElement("tbody",{...e})}function Yo(e){const{components:t}=it();return D.createElement(t.Dropdown,{...e})}const Po=Object.freeze(Object.defineProperty({__proto__:null,Button:ho,CaptionLabel:mo,Chevron:go,Day:xo,DayButton:po,Dropdown:bo,DropdownNav:yo,Footer:Co,Month:wo,MonthCaption:vo,MonthGrid:So,Months:ko,MonthsDropdown:jo,Nav:No,NextMonthButton:Do,Option:Eo,PreviousMonthButton:Oo,Root:Mo,Select:To,Week:_o,WeekNumber:Ao,WeekNumberHeader:zo,Weekday:Ro,Weekdays:Wo,Weeks:Fo,YearsDropdown:Yo},Symbol.toStringTag,{value:"Module"}));function ve(e,t,n=!1,s=pe){let{from:a,to:i}=e;const{differenceInCalendarDays:c,isSameDay:o}=s;return a&&i?(c(i,a)<0&&([a,i]=[i,a]),c(t,a)>=(n?1:0)&&c(i,t)>=(n?1:0)):!n&&i?o(i,t):!n&&a?o(a,t):!1}function Gt(e){return!!(e&&typeof e=="object"&&"before"in e&&"after"in e)}function yt(e){return!!(e&&typeof e=="object"&&"from"in e)}function Qt(e){return!!(e&&typeof e=="object"&&"after"in e)}function Xt(e){return!!(e&&typeof e=="object"&&"before"in e)}function us(e){return!!(e&&typeof e=="object"&&"dayOfWeek"in e)}function fs(e,t){return Array.isArray(e)&&e.every(t.isDate)}function Se(e,t,n=pe){const s=Array.isArray(t)?t:[t],{isSameDay:a,differenceInCalendarDays:i,isAfter:c}=n;return s.some(o=>{if(typeof o=="boolean")return o;if(n.isDate(o))return a(e,o);if(fs(o,n))return o.some(l=>a(e,l));if(yt(o))return ve(o,e,!1,n);if(us(o))return Array.isArray(o.dayOfWeek)?o.dayOfWeek.includes(e.getDay()):o.dayOfWeek===e.getDay();if(Gt(o)){const l=i(o.before,e),d=i(o.after,e),u=l>0,f=d<0;return c(o.before,o.after)?f&&u:u||f}return Qt(o)?i(e,o.after)>0:Xt(o)?i(o.before,e)>0:typeof o=="function"?o(e):!1})}function Io(e,t,n,s,a){const{disabled:i,hidden:c,modifiers:o,showOutsideDays:l,broadcastCalendar:d,today:u=a.today()}=t,{isSameDay:f,isSameMonth:h,startOfMonth:p,isBefore:v,endOfMonth:k,isAfter:S}=a,w=n&&p(n),y=s&&k(s),x={[H.focused]:[],[H.outside]:[],[H.disabled]:[],[H.hidden]:[],[H.today]:[]},m={};for(const b of e){const{date:C,displayMonth:j}=b,E=!!(j&&!h(C,j)),N=!!(w&&v(C,w)),O=!!(y&&S(C,y)),T=!!(i&&Se(C,i,a)),q=!!(c&&Se(C,c,a))||N||O||!d&&!l&&E||d&&l===!1&&E,G=f(C,u);E&&x.outside.push(b),T&&x.disabled.push(b),q&&x.hidden.push(b),G&&x.today.push(b),o&&Object.keys(o).forEach(Y=>{const I=o?.[Y];I&&Se(C,I,a)&&(m[Y]?m[Y].push(b):m[Y]=[b])})}return b=>{const C={[H.focused]:!1,[H.disabled]:!1,[H.hidden]:!1,[H.outside]:!1,[H.today]:!1},j={};for(const E in x){const N=x[E];C[E]=N.some(O=>O===b)}for(const E in m)j[E]=m[E].some(N=>N===b);return{...C,...j}}}function Bo(e,t,n={}){return Object.entries(e).filter(([,a])=>a===!0).reduce((a,[i])=>(n[i]?a.push(n[i]):t[H[i]]?a.push(t[H[i]]):t[ce[i]]&&a.push(t[ce[i]]),a),[t[M.Day]])}function Ko(e){return{...Po,...e}}function Vo(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,s])=>{n.startsWith("data-")&&(t[n]=s)}),t}function Zt(){const e={};for(const t in M)e[M[t]]=`rdp-${M[t]}`;for(const t in H)e[H[t]]=`rdp-${H[t]}`;for(const t in ce)e[ce[t]]=`rdp-${ce[t]}`;for(const t in se)e[se[t]]=`rdp-${se[t]}`;return e}function hs(e,t,n){return(n??new ae(t)).formatMonthYear(e)}const Uo=hs;function Lo(e,t,n){return(n??new ae(t)).format(e,"d")}function $o(e,t=pe){return t.format(e,"LLLL")}function Ho(e,t,n){return(n??new ae(t)).format(e,"cccccc")}function qo(e,t=pe){return e<10?t.formatNumber(`0${e.toLocaleString()}`):t.formatNumber(`${e.toLocaleString()}`)}function Jo(){return""}function ms(e,t=pe){return t.format(e,"yyyy")}const Go=ms,Qo=Object.freeze(Object.defineProperty({__proto__:null,formatCaption:hs,formatDay:Lo,formatMonthCaption:Uo,formatMonthDropdown:$o,formatWeekNumber:qo,formatWeekNumberHeader:Jo,formatWeekdayName:Ho,formatYearCaption:Go,formatYearDropdown:ms},Symbol.toStringTag,{value:"Module"}));function Xo(e){return e?.formatMonthCaption&&!e.formatCaption&&(e.formatCaption=e.formatMonthCaption),e?.formatYearCaption&&!e.formatYearDropdown&&(e.formatYearDropdown=e.formatYearCaption),{...Qo,...e}}function en(e,t,n,s){let a=(s??new ae(n)).format(e,"PPPP");return t.today&&(a=`Today, ${a}`),t.selected&&(a=`${a}, selected`),a}const Zo=en;function tn(e,t,n){return(n??new ae(t)).formatMonthYear(e)}const ei=tn;function gs(e,t,n,s){let a=(s??new ae(n)).format(e,"PPPP");return t?.today&&(a=`Today, ${a}`),a}function xs(e){return"Choose the Month"}function ps(){return""}const ti="Go to the Next Month";function bs(e,t){return ti}function ys(e){return"Go to the Previous Month"}function Cs(e,t,n){return(n??new ae(t)).format(e,"cccc")}function ws(e,t){return`Week ${e}`}function vs(e){return"Week Number"}function Ss(e){return"Choose the Year"}const ni=Object.freeze(Object.defineProperty({__proto__:null,labelCaption:ei,labelDay:Zo,labelDayButton:en,labelGrid:tn,labelGridcell:gs,labelMonthDropdown:xs,labelNav:ps,labelNext:bs,labelPrevious:ys,labelWeekNumber:ws,labelWeekNumberHeader:vs,labelWeekday:Cs,labelYearDropdown:Ss},Symbol.toStringTag,{value:"Module"})),le=(e,t,n)=>t||(n?typeof n=="function"?n:(...s)=>n:e);function si(e,t){const n=t.locale?.labels??{};return{...ni,...e??{},labelDayButton:le(en,e?.labelDayButton,n.labelDayButton),labelMonthDropdown:le(xs,e?.labelMonthDropdown,n.labelMonthDropdown),labelNext:le(bs,e?.labelNext,n.labelNext),labelPrevious:le(ys,e?.labelPrevious,n.labelPrevious),labelWeekNumber:le(ws,e?.labelWeekNumber,n.labelWeekNumber),labelYearDropdown:le(Ss,e?.labelYearDropdown,n.labelYearDropdown),labelGrid:le(tn,e?.labelGrid,n.labelGrid),labelGridcell:le(gs,e?.labelGridcell,n.labelGridcell),labelNav:le(ps,e?.labelNav,n.labelNav),labelWeekNumberHeader:le(vs,e?.labelWeekNumberHeader,n.labelWeekNumberHeader),labelWeekday:le(Cs,e?.labelWeekday,n.labelWeekday)}}function ri(e,t,n,s,a){const{startOfMonth:i,startOfYear:c,endOfYear:o,eachMonthOfInterval:l,getMonth:d}=a;return l({start:c(e),end:o(e)}).map(h=>{const p=s.formatMonthDropdown(h,a),v=d(h),k=t&&h<i(t)||n&&h>i(n)||!1;return{value:v,label:p,disabled:k}})}function ai(e,t={},n={}){let s={...t?.[M.Day]};return Object.entries(e).filter(([,a])=>a===!0).forEach(([a])=>{s={...s,...n?.[a]}}),s}function oi(e,t,n,s){const a=s??e.today(),i=n?e.startOfBroadcastWeek(a,e):t?e.startOfISOWeek(a):e.startOfWeek(a),c=[];for(let o=0;o<7;o++){const l=e.addDays(i,o);c.push(l)}return c}function ii(e,t,n,s,a=!1){if(!e||!t)return;const{startOfYear:i,endOfYear:c,eachYearOfInterval:o,getYear:l}=s,d=i(e),u=c(t),f=o({start:d,end:u});return a&&f.reverse(),f.map(h=>{const p=n.formatYearDropdown(h,s);return{value:l(h),label:p,disabled:!1}})}function li(e,t={}){const{weekStartsOn:n,locale:s}=t,a=n??s?.options?.weekStartsOn??0,i=o=>{const l=typeof o=="number"||typeof o=="string"?new Date(o):o;return new X(l.getFullYear(),l.getMonth(),l.getDate(),12,0,0,e)},c=o=>{const l=i(o);return new Date(l.getFullYear(),l.getMonth(),l.getDate(),0,0,0,0)};return{today:()=>i(X.tz(e)),newDate:(o,l,d)=>new X(o,l,d,12,0,0,e),startOfDay:o=>i(o),startOfWeek:(o,l)=>{const d=i(o),u=l?.weekStartsOn??a,f=(d.getDay()-u+7)%7;return d.setDate(d.getDate()-f),d},startOfISOWeek:o=>{const l=i(o),d=(l.getDay()-1+7)%7;return l.setDate(l.getDate()-d),l},startOfMonth:o=>{const l=i(o);return l.setDate(1),l},startOfYear:o=>{const l=i(o);return l.setMonth(0,1),l},endOfWeek:(o,l)=>{const d=i(o),h=(((l?.weekStartsOn??a)+6)%7-d.getDay()+7)%7;return d.setDate(d.getDate()+h),d},endOfISOWeek:o=>{const l=i(o),d=(7-l.getDay())%7;return l.setDate(l.getDate()+d),l},endOfMonth:o=>{const l=i(o);return l.setMonth(l.getMonth()+1,0),l},endOfYear:o=>{const l=i(o);return l.setMonth(11,31),l},eachMonthOfInterval:o=>{const l=i(o.start),d=i(o.end),u=[],f=new X(l.getFullYear(),l.getMonth(),1,12,0,0,e),h=d.getFullYear()*12+d.getMonth();for(;f.getFullYear()*12+f.getMonth()<=h;)u.push(new X(f,e)),f.setMonth(f.getMonth()+1,1);return u},addDays:(o,l)=>{const d=i(o);return d.setDate(d.getDate()+l),d},addWeeks:(o,l)=>{const d=i(o);return d.setDate(d.getDate()+l*7),d},addMonths:(o,l)=>{const d=i(o);return d.setMonth(d.getMonth()+l),d},addYears:(o,l)=>{const d=i(o);return d.setFullYear(d.getFullYear()+l),d},eachYearOfInterval:o=>{const l=i(o.start),d=i(o.end),u=[],f=new X(l.getFullYear(),0,1,12,0,0,e);for(;f.getFullYear()<=d.getFullYear();)u.push(new X(f,e)),f.setFullYear(f.getFullYear()+1,0,1);return u},getWeek:(o,l)=>{const d=c(o);return Jt(d,{weekStartsOn:l?.weekStartsOn??a,firstWeekContainsDate:l?.firstWeekContainsDate??s?.options?.firstWeekContainsDate??1})},getISOWeek:o=>{const l=c(o);return qt(l)},differenceInCalendarDays:(o,l)=>{const d=c(o),u=c(l);return Ht(d,u)},differenceInCalendarMonths:(o,l)=>{const d=c(o),u=c(l);return es(d,u)}}}const lt=e=>e instanceof HTMLElement?e:null,Rt=e=>[...e.querySelectorAll("[data-animated-month]")??[]],ci=e=>lt(e.querySelector("[data-animated-month]")),Wt=e=>lt(e.querySelector("[data-animated-caption]")),At=e=>lt(e.querySelector("[data-animated-weeks]")),di=e=>lt(e.querySelector("[data-animated-nav]")),ui=e=>lt(e.querySelector("[data-animated-weekdays]"));function fi(e,t,{classNames:n,months:s,focused:a,dateLib:i}){const c=g.useRef(null),o=g.useRef(s),l=g.useRef(!1);g.useLayoutEffect(()=>{const d=o.current;if(o.current=s,!t||!e.current||!(e.current instanceof HTMLElement)||s.length===0||d.length===0||s.length!==d.length)return;const u=i.isSameMonth(s[0].date,d[0].date),f=i.isAfter(s[0].date,d[0].date),h=f?n[se.caption_after_enter]:n[se.caption_before_enter],p=f?n[se.weeks_after_enter]:n[se.weeks_before_enter],v=c.current,k=e.current.cloneNode(!0);if(k instanceof HTMLElement?(Rt(k).forEach(x=>{if(!(x instanceof HTMLElement))return;const m=ci(x);m&&x.contains(m)&&x.removeChild(m);const b=Wt(x);b&&b.classList.remove(h);const C=At(x);C&&C.classList.remove(p)}),c.current=k):c.current=null,l.current||u||a)return;const S=v instanceof HTMLElement?Rt(v):[],w=Rt(e.current);if(w?.every(y=>y instanceof HTMLElement)&&S&&S.every(y=>y instanceof HTMLElement)){l.current=!0,e.current.style.isolation="isolate";const y=di(e.current);y&&(y.style.zIndex="1"),w.forEach((x,m)=>{const b=S[m];if(!b)return;x.style.position="relative",x.style.overflow="hidden";const C=Wt(x);C&&C.classList.add(h);const j=At(x);j&&j.classList.add(p);const E=()=>{l.current=!1,e.current&&(e.current.style.isolation=""),y&&(y.style.zIndex=""),C&&C.classList.remove(h),j&&j.classList.remove(p),x.style.position="",x.style.overflow="",x.contains(b)&&x.removeChild(b)};b.style.pointerEvents="none",b.style.position="absolute",b.style.overflow="hidden",b.setAttribute("aria-hidden","true");const N=ui(b);N&&(N.style.opacity="0");const O=Wt(b);O&&(O.classList.add(f?n[se.caption_before_exit]:n[se.caption_after_exit]),O.addEventListener("animationend",E));const T=At(b);T&&T.classList.add(f?n[se.weeks_before_exit]:n[se.weeks_after_exit]),x.insertBefore(b,x.firstChild)})}})}function hi(e,t,n,s){const a=e[0],i=e[e.length-1],{ISOWeek:c,fixedWeeks:o,broadcastCalendar:l}=n??{},{addDays:d,differenceInCalendarDays:u,differenceInCalendarMonths:f,endOfBroadcastWeek:h,endOfISOWeek:p,endOfMonth:v,endOfWeek:k,isAfter:S,startOfBroadcastWeek:w,startOfISOWeek:y,startOfWeek:x}=s,m=l?w(a,s):c?y(a):x(a),b=l?h(i):c?p(v(i)):k(v(i)),C=t&&(l?h(t):c?p(t):k(t)),j=C&&S(b,C)?C:b,E=u(j,m),N=f(i,a)+1,O=[];for(let G=0;G<=E;G++){const Y=d(m,G);O.push(Y)}const q=(l?35:42)*N;if(o&&O.length<q){const G=q-O.length;for(let Y=0;Y<G;Y++){const I=d(O[O.length-1],1);O.push(I)}}return O}function mi(e){const t=[];return e.reduce((n,s)=>{const a=s.weeks.reduce((i,c)=>i.concat(c.days.slice()),t.slice());return n.concat(a.slice())},t.slice())}function gi(e,t,n,s){const{numberOfMonths:a=1}=n,i=[];for(let c=0;c<a;c++){const o=s.addMonths(e,c);if(t&&o>t)break;i.push(o)}return i}function Cn(e,t,n,s){const{month:a,defaultMonth:i,today:c=s.today(),numberOfMonths:o=1}=e;let l=a||i||c;const{differenceInCalendarMonths:d,addMonths:u,startOfMonth:f}=s;if(n&&d(n,l)<o-1){const h=-1*(o-1);l=u(n,h)}return t&&d(l,t)<0&&(l=t),f(l)}function xi(e,t,n,s){const{addDays:a,endOfBroadcastWeek:i,endOfISOWeek:c,endOfMonth:o,endOfWeek:l,getISOWeek:d,getWeek:u,startOfBroadcastWeek:f,startOfISOWeek:h,startOfWeek:p}=s,v=e.reduce((k,S)=>{const w=n.broadcastCalendar?f(S,s):n.ISOWeek?h(S):p(S),y=n.broadcastCalendar?i(S):n.ISOWeek?c(o(S)):l(o(S)),x=t.filter(j=>j>=w&&j<=y),m=n.broadcastCalendar?35:42;if(n.fixedWeeks&&x.length<m){const j=t.filter(E=>{const N=m-x.length;return E>y&&E<=a(y,N)});x.push(...j)}const b=x.reduce((j,E)=>{const N=n.ISOWeek?d(E):u(E),O=j.find(q=>q.weekNumber===N),T=new cs(E,S,s);return O?O.days.push(T):j.push(new fo(N,[T])),j},[]),C=new uo(S,b);return k.push(C),k},[]);return n.reverseMonths?v.reverse():v}function pi(e,t){let{startMonth:n,endMonth:s}=e;const{startOfYear:a,startOfDay:i,startOfMonth:c,endOfMonth:o,addYears:l,endOfYear:d,newDate:u,today:f}=t,{fromYear:h,toYear:p,fromMonth:v,toMonth:k}=e;!n&&v&&(n=v),!n&&h&&(n=t.newDate(h,0,1)),!s&&k&&(s=k),!s&&p&&(s=u(p,11,31));const S=e.captionLayout==="dropdown"||e.captionLayout==="dropdown-years";return n?n=c(n):h?n=u(h,0,1):!n&&S&&(n=a(l(e.today??f(),-100))),s?s=o(s):p?s=u(p,11,31):!s&&S&&(s=d(e.today??f())),[n&&i(n),s&&i(s)]}function bi(e,t,n,s){if(n.disableNavigation)return;const{pagedNavigation:a,numberOfMonths:i=1}=n,{startOfMonth:c,addMonths:o,differenceInCalendarMonths:l}=s,d=a?i:1,u=c(e);if(!t)return o(u,d);if(!(l(t,e)<i))return o(u,d)}function yi(e,t,n,s){if(n.disableNavigation)return;const{pagedNavigation:a,numberOfMonths:i}=n,{startOfMonth:c,addMonths:o,differenceInCalendarMonths:l}=s,d=a?i??1:1,u=c(e);if(!t)return o(u,-d);if(!(l(u,t)<=0))return o(u,-d)}function Ci(e){const t=[];return e.reduce((n,s)=>n.concat(s.weeks.slice()),t.slice())}function Ct(e,t){const[n,s]=g.useState(e);return[t===void 0?n:t,s]}function wi(e,t){const[n,s]=pi(e,t),{startOfMonth:a,endOfMonth:i}=t,c=Cn(e,n,s,t),[o,l]=Ct(c,e.month?c:void 0);g.useEffect(()=>{const m=Cn(e,n,s,t);l(m)},[e.timeZone]);const{months:d,weeks:u,days:f,previousMonth:h,nextMonth:p}=g.useMemo(()=>{const m=gi(o,s,{numberOfMonths:e.numberOfMonths},t),b=hi(m,e.endMonth?i(e.endMonth):void 0,{ISOWeek:e.ISOWeek,fixedWeeks:e.fixedWeeks,broadcastCalendar:e.broadcastCalendar},t),C=xi(m,b,{broadcastCalendar:e.broadcastCalendar,fixedWeeks:e.fixedWeeks,ISOWeek:e.ISOWeek,reverseMonths:e.reverseMonths},t),j=Ci(C),E=mi(C),N=yi(o,n,e,t),O=bi(o,s,e,t);return{months:C,weeks:j,days:E,previousMonth:N,nextMonth:O}},[t,o.getTime(),s?.getTime(),n?.getTime(),e.disableNavigation,e.broadcastCalendar,e.endMonth?.getTime(),e.fixedWeeks,e.ISOWeek,e.numberOfMonths,e.pagedNavigation,e.reverseMonths]),{disableNavigation:v,onMonthChange:k}=e,S=m=>u.some(b=>b.days.some(C=>C.isEqualTo(m))),w=m=>{if(v)return;let b=a(m);n&&b<a(n)&&(b=a(n)),s&&b>a(s)&&(b=a(s)),l(b),k?.(b)};return{months:d,weeks:u,days:f,navStart:n,navEnd:s,previousMonth:h,nextMonth:p,goToMonth:w,goToDay:m=>{S(m)||w(m.date)}}}var ue;(function(e){e[e.Today=0]="Today",e[e.Selected=1]="Selected",e[e.LastFocused=2]="LastFocused",e[e.FocusedModifier=3]="FocusedModifier"})(ue||(ue={}));function wn(e){return!e[H.disabled]&&!e[H.hidden]&&!e[H.outside]}function vi(e,t,n,s){let a,i=-1;for(const c of e){const o=t(c);wn(o)&&(o[H.focused]&&i<ue.FocusedModifier?(a=c,i=ue.FocusedModifier):s?.isEqualTo(c)&&i<ue.LastFocused?(a=c,i=ue.LastFocused):n(c.date)&&i<ue.Selected?(a=c,i=ue.Selected):o[H.today]&&i<ue.Today&&(a=c,i=ue.Today))}return a||(a=e.find(c=>wn(t(c)))),a}function Si(e,t,n,s,a,i,c){const{ISOWeek:o,broadcastCalendar:l}=i,{addDays:d,addMonths:u,addWeeks:f,addYears:h,endOfBroadcastWeek:p,endOfISOWeek:v,endOfWeek:k,max:S,min:w,startOfBroadcastWeek:y,startOfISOWeek:x,startOfWeek:m}=c;let C={day:d,week:f,month:u,year:h,startOfWeek:j=>l?y(j,c):o?x(j):m(j),endOfWeek:j=>l?p(j):o?v(j):k(j)}[e](n,t==="after"?1:-1);return t==="before"&&s?C=S([s,C]):t==="after"&&a&&(C=w([a,C])),C}function ks(e,t,n,s,a,i,c,o=0){if(o>365)return;const l=Si(e,t,n.date,s,a,i,c),d=!!(i.disabled&&Se(l,i.disabled,c)),u=!!(i.hidden&&Se(l,i.hidden,c)),f=l,h=new cs(l,f,c);return!d&&!u?h:ks(e,t,h,s,a,i,c,o+1)}function ki(e,t,n,s,a){const{autoFocus:i}=e,[c,o]=g.useState(),l=vi(t.days,n,s||(()=>!1),c),[d,u]=g.useState(i?l:void 0);return{isFocusTarget:k=>!!l?.isEqualTo(k),setFocused:u,focused:d,blur:()=>{o(d),u(void 0)},moveFocus:(k,S)=>{if(!d)return;const w=ks(k,S,d,t.navStart,t.navEnd,e,a);w&&(e.disableNavigation&&!t.days.some(x=>x.isEqualTo(w))||(t.goToDay(w),u(w)))}}}function ji(e,t){const{selected:n,required:s,onSelect:a}=e,[i,c]=Ct(n,a?n:void 0),o=a?n:i,{isSameDay:l}=t,d=p=>o?.some(v=>l(v,p))??!1,{min:u,max:f}=e;return{selected:o,select:(p,v,k)=>{let S=[...o??[]];if(d(p)){if(o?.length===u||s&&o?.length===1)return;S=o?.filter(w=>!l(w,p))}else o?.length===f?S=[p]:S=[...S,p];return a||c(S),a?.(S,p,v,k),S},isSelected:d}}function Ni(e,t,n=0,s=0,a=!1,i=pe){const{from:c,to:o}=t||{},{isSameDay:l,isAfter:d,isBefore:u}=i;let f;if(!c&&!o)f={from:e,to:n>0?void 0:e};else if(c&&!o)l(c,e)?n===0?f={from:c,to:e}:a?f={from:c,to:void 0}:f=void 0:u(e,c)?f={from:e,to:c}:f={from:c,to:e};else if(c&&o)if(l(c,e)&&l(o,e))a?f={from:c,to:o}:f=void 0;else if(l(c,e))f={from:c,to:n>0?void 0:e};else if(l(o,e))f={from:e,to:n>0?void 0:e};else if(u(e,c))f={from:e,to:o};else if(d(e,c))f={from:c,to:e};else if(d(e,o))f={from:c,to:e};else throw new Error("Invalid range");if(f?.from&&f?.to){const h=i.differenceInCalendarDays(f.to,f.from);s>0&&h>s?f={from:e,to:void 0}:n>1&&h<n&&(f={from:e,to:void 0})}return f}function Di(e,t,n=pe){const s=Array.isArray(t)?t:[t];let a=e.from;const i=n.differenceInCalendarDays(e.to,e.from),c=Math.min(i,6);for(let o=0;o<=c;o++){if(s.includes(a.getDay()))return!0;a=n.addDays(a,1)}return!1}function vn(e,t,n=pe){return ve(e,t.from,!1,n)||ve(e,t.to,!1,n)||ve(t,e.from,!1,n)||ve(t,e.to,!1,n)}function Ei(e,t,n=pe){const s=Array.isArray(t)?t:[t];if(s.filter(o=>typeof o!="function").some(o=>typeof o=="boolean"?o:n.isDate(o)?ve(e,o,!1,n):fs(o,n)?o.some(l=>ve(e,l,!1,n)):yt(o)?o.from&&o.to?vn(e,{from:o.from,to:o.to},n):!1:us(o)?Di(e,o.dayOfWeek,n):Gt(o)?n.isAfter(o.before,o.after)?vn(e,{from:n.addDays(o.after,1),to:n.addDays(o.before,-1)},n):Se(e.from,o,n)||Se(e.to,o,n):Qt(o)||Xt(o)?Se(e.from,o,n)||Se(e.to,o,n):!1))return!0;const c=s.filter(o=>typeof o=="function");if(c.length){let o=e.from;const l=n.differenceInCalendarDays(e.to,e.from);for(let d=0;d<=l;d++){if(c.some(u=>u(o)))return!0;o=n.addDays(o,1)}}return!1}function Oi(e,t){const{disabled:n,excludeDisabled:s,selected:a,required:i,onSelect:c}=e,[o,l]=Ct(a,c?a:void 0),d=c?a:o;return{selected:d,select:(h,p,v)=>{const{min:k,max:S}=e,w=h?Ni(h,d,k,S,i,t):void 0;return s&&n&&w?.from&&w.to&&Ei({from:w.from,to:w.to},n,t)&&(w.from=h,w.to=void 0),c||l(w),c?.(w,h,p,v),w},isSelected:h=>d&&ve(d,h,!1,t)}}function Mi(e,t){const{selected:n,required:s,onSelect:a}=e,[i,c]=Ct(n,a?n:void 0),o=a?n:i,{isSameDay:l}=t;return{selected:o,select:(f,h,p)=>{let v=f;return!s&&o&&o&&l(f,o)&&(v=void 0),a||c(v),a?.(v,f,h,p),v},isSelected:f=>o?l(o,f):!1}}function Ti(e,t){const n=Mi(e,t),s=ji(e,t),a=Oi(e,t);switch(e.mode){case"single":return n;case"multiple":return s;case"range":return a;default:return}}function oe(e,t){return e instanceof X&&e.timeZone===t?e:new X(e,t)}function Pe(e,t,n){return oe(e,t)}function Sn(e,t,n){return typeof e=="boolean"||typeof e=="function"?e:e instanceof Date?Pe(e,t):Array.isArray(e)?e.map(s=>s instanceof Date?Pe(s,t):s):yt(e)?{...e,from:e.from?oe(e.from,t):e.from,to:e.to?oe(e.to,t):e.to}:Gt(e)?{before:Pe(e.before,t),after:Pe(e.after,t)}:Qt(e)?{after:Pe(e.after,t)}:Xt(e)?{before:Pe(e.before,t)}:e}function zt(e,t,n){return e&&(Array.isArray(e)?e.map(s=>Sn(s,t)):Sn(e,t))}function _i(e){let t=e;const n=t.timeZone;if(n&&(t={...e,timeZone:n},t.today&&(t.today=oe(t.today,n)),t.month&&(t.month=oe(t.month,n)),t.defaultMonth&&(t.defaultMonth=oe(t.defaultMonth,n)),t.startMonth&&(t.startMonth=oe(t.startMonth,n)),t.endMonth&&(t.endMonth=oe(t.endMonth,n)),t.mode==="single"&&t.selected?t.selected=oe(t.selected,n):t.mode==="multiple"&&t.selected?t.selected=t.selected?.map(F=>oe(F,n)):t.mode==="range"&&t.selected&&(t.selected={from:t.selected.from?oe(t.selected.from,n):t.selected.from,to:t.selected.to?oe(t.selected.to,n):t.selected.to}),t.disabled!==void 0&&(t.disabled=zt(t.disabled,n)),t.hidden!==void 0&&(t.hidden=zt(t.hidden,n)),t.modifiers)){const F={};Object.keys(t.modifiers).forEach(U=>{F[U]=zt(t.modifiers?.[U],n)}),t.modifiers=F}const{components:s,formatters:a,labels:i,dateLib:c,locale:o,classNames:l}=g.useMemo(()=>{const F={...ls,...t.locale},U=t.broadcastCalendar?1:t.weekStartsOn,z=t.noonSafe&&t.timeZone?li(t.timeZone,{weekStartsOn:U,locale:F}):void 0,V=t.dateLib&&z?{...z,...t.dateLib}:t.dateLib??z,te=new ae({locale:F,weekStartsOn:U,firstWeekContainsDate:t.firstWeekContainsDate,useAdditionalWeekYearTokens:t.useAdditionalWeekYearTokens,useAdditionalDayOfYearTokens:t.useAdditionalDayOfYearTokens,timeZone:t.timeZone,numerals:t.numerals},V);return{dateLib:te,components:Ko(t.components),formatters:Xo(t.formatters),labels:si(t.labels,te.options),locale:F,classNames:{...Zt(),...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:c.today()});const{captionLayout:d,mode:u,navLayout:f,numberOfMonths:h=1,onDayBlur:p,onDayClick:v,onDayFocus:k,onDayKeyDown:S,onDayMouseEnter:w,onDayMouseLeave:y,onNextClick:x,onPrevClick:m,showWeekNumber:b,styles:C}=t,{formatCaption:j,formatDay:E,formatMonthDropdown:N,formatWeekNumber:O,formatWeekNumberHeader:T,formatWeekdayName:q,formatYearDropdown:G}=a,Y=wi(t,c),{days:I,months:W,navStart:Q,navEnd:Ge,previousMonth:Z,nextMonth:ee,goToMonth:ye}=Y,kt=Io(I,t,Q,Ge,c),{isSelected:jt,select:Nt,selected:ct}=Ti(t,c)??{},{blur:sn,focused:rn,isFocusTarget:Ts,moveFocus:an,setFocused:dt}=ki(t,Y,kt,jt??(()=>!1),c),{labelDayButton:_s,labelGridcell:Rs,labelGrid:Ws,labelMonthDropdown:As,labelNav:on,labelPrevious:zs,labelNext:Fs,labelWeekday:Ys,labelWeekNumber:Ps,labelWeekNumberHeader:Is,labelYearDropdown:Bs}=i,Ks=g.useMemo(()=>oi(c,t.ISOWeek,t.broadcastCalendar,t.today),[c,t.ISOWeek,t.broadcastCalendar,t.today]),ln=u!==void 0||v!==void 0,Dt=g.useCallback(()=>{Z&&(ye(Z),m?.(Z))},[Z,ye,m]),Et=g.useCallback(()=>{ee&&(ye(ee),x?.(ee))},[ye,ee,x]),Vs=g.useCallback((F,U)=>z=>{z.preventDefault(),z.stopPropagation(),dt(F),!U.disabled&&(Nt?.(F.date,U,z),v?.(F.date,U,z))},[Nt,v,dt]),Us=g.useCallback((F,U)=>z=>{dt(F),k?.(F.date,U,z)},[k,dt]),Ls=g.useCallback((F,U)=>z=>{sn(),p?.(F.date,U,z)},[sn,p]),$s=g.useCallback((F,U)=>z=>{const V={ArrowLeft:[z.shiftKey?"month":"day",t.dir==="rtl"?"after":"before"],ArrowRight:[z.shiftKey?"month":"day",t.dir==="rtl"?"before":"after"],ArrowDown:[z.shiftKey?"year":"week","after"],ArrowUp:[z.shiftKey?"year":"week","before"],PageUp:[z.shiftKey?"year":"month","before"],PageDown:[z.shiftKey?"year":"month","after"],Home:["startOfWeek","before"],End:["endOfWeek","after"]};if(V[z.key]){z.preventDefault(),z.stopPropagation();const[te,K]=V[z.key];an(te,K)}S?.(F.date,U,z)},[an,S,t.dir]),Hs=g.useCallback((F,U)=>z=>{w?.(F.date,U,z)},[w]),qs=g.useCallback((F,U)=>z=>{y?.(F.date,U,z)},[y]),Js=g.useCallback(F=>U=>{const z=Number(U.target.value),V=c.setMonth(c.startOfMonth(F),z);ye(V)},[c,ye]),Gs=g.useCallback(F=>U=>{const z=Number(U.target.value),V=c.setYear(c.startOfMonth(F),z);ye(V)},[c,ye]),{className:Qs,style:Xs}=g.useMemo(()=>({className:[l[M.Root],t.className].filter(Boolean).join(" "),style:{...C?.[M.Root],...t.style}}),[l,t.className,t.style,C]),Zs=Vo(t),cn=g.useRef(null);fi(cn,!!t.animate,{classNames:l,months:W,focused:rn,dateLib:c});const er={dayPickerProps:t,selected:ct,select:Nt,isSelected:jt,months:W,nextMonth:ee,previousMonth:Z,goToMonth:ye,getModifiers:kt,components:s,classNames:l,styles:C,labels:i,formatters:a};return D.createElement(ds.Provider,{value:er},D.createElement(s.Root,{rootRef:t.animate?cn:void 0,className:Qs,style:Xs,dir:t.dir,id:t.id,lang:t.lang,nonce:t.nonce,title:t.title,role:t.role,"aria-label":t["aria-label"],"aria-labelledby":t["aria-labelledby"],...Zs},D.createElement(s.Months,{className:l[M.Months],style:C?.[M.Months]},!t.hideNavigation&&!f&&D.createElement(s.Nav,{"data-animated-nav":t.animate?"true":void 0,className:l[M.Nav],style:C?.[M.Nav],"aria-label":on(),onPreviousClick:Dt,onNextClick:Et,previousMonth:Z,nextMonth:ee}),W.map((F,U)=>D.createElement(s.Month,{"data-animated-month":t.animate?"true":void 0,className:l[M.Month],style:C?.[M.Month],key:U,displayIndex:U,calendarMonth:F},f==="around"&&!t.hideNavigation&&U===0&&D.createElement(s.PreviousMonthButton,{type:"button",className:l[M.PreviousMonthButton],tabIndex:Z?void 0:-1,"aria-disabled":Z?void 0:!0,"aria-label":zs(Z),onClick:Dt,"data-animated-button":t.animate?"true":void 0},D.createElement(s.Chevron,{disabled:Z?void 0:!0,className:l[M.Chevron],orientation:t.dir==="rtl"?"right":"left"})),D.createElement(s.MonthCaption,{"data-animated-caption":t.animate?"true":void 0,className:l[M.MonthCaption],style:C?.[M.MonthCaption],calendarMonth:F,displayIndex:U},d?.startsWith("dropdown")?D.createElement(s.DropdownNav,{className:l[M.Dropdowns],style:C?.[M.Dropdowns]},(()=>{const z=d==="dropdown"||d==="dropdown-months"?D.createElement(s.MonthsDropdown,{key:"month",className:l[M.MonthsDropdown],"aria-label":As(),classNames:l,components:s,disabled:!!t.disableNavigation,onChange:Js(F.date),options:ri(F.date,Q,Ge,a,c),style:C?.[M.Dropdown],value:c.getMonth(F.date)}):D.createElement("span",{key:"month"},N(F.date,c)),V=d==="dropdown"||d==="dropdown-years"?D.createElement(s.YearsDropdown,{key:"year",className:l[M.YearsDropdown],"aria-label":Bs(c.options),classNames:l,components:s,disabled:!!t.disableNavigation,onChange:Gs(F.date),options:ii(Q,Ge,a,c,!!t.reverseYears),style:C?.[M.Dropdown],value:c.getYear(F.date)}):D.createElement("span",{key:"year"},G(F.date,c));return c.getMonthYearOrder()==="year-first"?[V,z]:[z,V]})(),D.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(F.date,c.options,c))):D.createElement(s.CaptionLabel,{className:l[M.CaptionLabel],role:"status","aria-live":"polite"},j(F.date,c.options,c))),f==="around"&&!t.hideNavigation&&U===h-1&&D.createElement(s.NextMonthButton,{type:"button",className:l[M.NextMonthButton],tabIndex:ee?void 0:-1,"aria-disabled":ee?void 0:!0,"aria-label":Fs(ee),onClick:Et,"data-animated-button":t.animate?"true":void 0},D.createElement(s.Chevron,{disabled:ee?void 0:!0,className:l[M.Chevron],orientation:t.dir==="rtl"?"left":"right"})),U===h-1&&f==="after"&&!t.hideNavigation&&D.createElement(s.Nav,{"data-animated-nav":t.animate?"true":void 0,className:l[M.Nav],style:C?.[M.Nav],"aria-label":on(),onPreviousClick:Dt,onNextClick:Et,previousMonth:Z,nextMonth:ee}),D.createElement(s.MonthGrid,{role:"grid","aria-multiselectable":u==="multiple"||u==="range","aria-label":Ws(F.date,c.options,c)||void 0,className:l[M.MonthGrid],style:C?.[M.MonthGrid]},!t.hideWeekdays&&D.createElement(s.Weekdays,{"data-animated-weekdays":t.animate?"true":void 0,className:l[M.Weekdays],style:C?.[M.Weekdays]},b&&D.createElement(s.WeekNumberHeader,{"aria-label":Is(c.options),className:l[M.WeekNumberHeader],style:C?.[M.WeekNumberHeader],scope:"col"},T()),Ks.map(z=>D.createElement(s.Weekday,{"aria-label":Ys(z,c.options,c),className:l[M.Weekday],key:String(z),style:C?.[M.Weekday],scope:"col"},q(z,c.options,c)))),D.createElement(s.Weeks,{"data-animated-weeks":t.animate?"true":void 0,className:l[M.Weeks],style:C?.[M.Weeks]},F.weeks.map(z=>D.createElement(s.Week,{className:l[M.Week],key:z.weekNumber,style:C?.[M.Week],week:z},b&&D.createElement(s.WeekNumber,{week:z,style:C?.[M.WeekNumber],"aria-label":Ps(z.weekNumber,{locale:o}),className:l[M.WeekNumber],scope:"row",role:"rowheader"},O(z.weekNumber,c)),z.days.map(V=>{const{date:te}=V,K=kt(V);if(K[H.focused]=!K.hidden&&!!rn?.isEqualTo(V),K[ce.selected]=jt?.(te)||K.selected,yt(ct)){const{from:Ot,to:Mt}=ct;K[ce.range_start]=!!(Ot&&Mt&&c.isSameDay(te,Ot)),K[ce.range_end]=!!(Ot&&Mt&&c.isSameDay(te,Mt)),K[ce.range_middle]=ve(ct,te,!0,c)}const tr=ai(K,C,t.modifiersStyles),nr=Bo(K,l,t.modifiersClassNames),sr=!ln&&!K.hidden?Rs(te,K,c.options,c):void 0;return D.createElement(s.Day,{key:`${V.isoDate}_${V.displayMonthId}`,day:V,modifiers:K,className:nr.join(" "),style:tr,role:"gridcell","aria-selected":K.selected||void 0,"aria-label":sr,"data-day":V.isoDate,"data-month":V.outside?V.dateMonthId:void 0,"data-selected":K.selected||void 0,"data-disabled":K.disabled||void 0,"data-hidden":K.hidden||void 0,"data-outside":V.outside||void 0,"data-focused":K.focused||void 0,"data-today":K.today||void 0},!K.hidden&&ln?D.createElement(s.DayButton,{className:l[M.DayButton],style:C?.[M.DayButton],type:"button",day:V,modifiers:K,disabled:!K.focused&&K.disabled||void 0,"aria-disabled":K.focused&&K.disabled||void 0,tabIndex:Ts(V)?0:-1,"aria-label":_s(te,K,c.options,c),onClick:Vs(V,K),onBlur:Ls(V,K),onFocus:Us(V,K),onKeyDown:$s(V,K),onMouseEnter:Hs(V,K),onMouseLeave:qs(V,K)},E(te,c.options,c)):!K.hidden&&E(V.date,c.options,c))})))))))),t.footer&&D.createElement(s.Footer,{className:l[M.Footer],style:C?.[M.Footer],role:"status","aria-live":"polite"},t.footer)))}function Ri({className:e,classNames:t,showOutsideDays:n=!0,captionLayout:s="label",buttonVariant:a="ghost",formatters:i,components:c,...o}){const l=Zt();return r.jsx(_i,{showOutsideDays:n,className:A("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:s,formatters:{formatMonthDropdown:d=>d.toLocaleString("default",{month:"short"}),...i},classNames:{root:A("w-fit",l.root),months:A("flex gap-4 flex-col md:flex-row relative",l.months),month:A("flex flex-col w-full gap-4",l.month),nav:A("flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between",l.nav),button_previous:A(dn({variant:a}),"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",l.button_previous),button_next:A(dn({variant:a}),"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",l.button_next),month_caption:A("flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)",l.month_caption),dropdowns:A("w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5",l.dropdowns),dropdown_root:A("relative cn-calendar-dropdown-root rounded-(--cell-radius)",l.dropdown_root),dropdown:A("absolute bg-popover inset-0 opacity-0",l.dropdown),caption_label:A("select-none font-medium",s==="label"?"text-sm":"cn-calendar-caption-label rounded-(--cell-radius) flex items-center gap-1 text-sm [&>svg]:text-muted-foreground [&>svg]:size-3.5",l.caption_label),table:"w-full border-collapse",weekdays:A("flex",l.weekdays),weekday:A("text-muted-foreground rounded-(--cell-radius) flex-1 font-normal text-[0.8rem] select-none",l.weekday),week:A("flex w-full mt-2",l.week),week_number_header:A("select-none w-(--cell-size)",l.week_number_header),week_number:A("text-[0.8rem] select-none text-muted-foreground",l.week_number),day:A("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",o.showWeekNumber?"[&:nth-child(2)[data-selected=true]_button]:rounded-l-(--cell-radius)":"[&:first-child[data-selected=true]_button]:rounded-l-(--cell-radius)",l.day),range_start:A("rounded-l-(--cell-radius) bg-muted elative after:bg-muted after:absolute after:inset-y-0 after:w-4 after:right-0 -z-0 isolate",l.range_start),range_middle:A("rounded-none",l.range_middle),range_end:A("rounded-r-(--cell-radius) bg-muted relative after:bg-muted-200 after:absolute after:inset-y-0 after:w-4 after:left-0 -z-0 isolate",l.range_end),today:A("bg-muted text-foreground rounded-(--cell-radius) data-[selected=true]:rounded-none",l.today),outside:A("text-muted-foreground aria-selected:text-muted-foreground",l.outside),disabled:A("text-muted-foreground opacity-50",l.disabled),hidden:A("invisible",l.hidden),...t},components:{Root:({className:d,rootRef:u,...f})=>r.jsx("div",{"data-slot":"calendar",ref:u,className:A(d),...f}),Chevron:({className:d,orientation:u,...f})=>u==="left"?r.jsx(Wn,{className:A("size-4",d),...f}):u==="right"?r.jsx(An,{className:A("size-4",d),...f}):r.jsx($t,{className:A("size-4",d),...f}),DayButton:Wi,WeekNumber:({children:d,...u})=>r.jsx("td",{...u,children:r.jsx("div",{className:"flex size-(--cell-size) items-center justify-center text-center",children:d})}),...c},...o})}function Wi({className:e,day:t,modifiers:n,...s}){const a=Zt(),i=g.useRef(null);return g.useEffect(()=>{n.focused&&i.current?.focus()},[n.focused]),r.jsx(R,{ref:i,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:A("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",a.day,e),...s})}function Oe({value:e,onChange:t,placeholder:n="Pick a date",className:s,disabled:a,startYear:i=1980,endYear:c=new Date().getFullYear()+10,icon:o=!0,isFormatted:l=!0,showTime:d=!1}){const[u,f]=g.useState(!1),h=e?e.getHours():0,p=e?e.getMinutes():0,v=e?e.getSeconds():0,k=(j,E)=>{const N={target:{value:String(j)}};E(N)},S=j=>{j&&e&&(j.setHours(e.getHours()),j.setMinutes(e.getMinutes()),j.setSeconds(e.getSeconds())),t?.(j),d||f(!1)},w=(j,E)=>{const N=e?new Date(e):new Date;j==="hours"&&N.setHours(E),j==="minutes"&&N.setMinutes(E),j==="seconds"&&N.setSeconds(E),t?.(N)},y=j=>{const E=Ue(new Date);switch(j){case"NULL":t?.(null);break;case"NOW":t?.(new Date);break;case"TODAY":t?.(E);break;case"YESTERDAY":t?.(mt(E,-1));break;case"TOMORROW":t?.(mt(E,1));break}},x=Array.from({length:24},(j,E)=>E),m=Array.from({length:60},(j,E)=>E),b=Array.from({length:60},(j,E)=>E),C=e&&e instanceof Date&&!Number.isNaN(e.getTime())?l?d?we(e,"dd/MM/yyyy HH:mm:ss"):we(e,"dd/MM/yyyy"):d?we(e,"yyyy-MM-dd HH:mm:ss"):we(e,"yyyy-MM-dd"):e===null?"NULL":n;return r.jsxs(Le,{open:u,onOpenChange:f,children:[r.jsx(gt,{asChild:!0,children:r.jsxs(R,{variant:"outline",className:A("w-[280px] justify-start text-left font-normal",!e&&"text-muted-foreground",s),disabled:a,children:[o&&r.jsx(xr,{className:"mr-2 h-4 w-4"}),C]})}),r.jsx($e,{className:"w-auto p-0",align:"end",children:r.jsxs("div",{className:"flex",children:[r.jsxs("div",{className:"flex flex-col gap-1 p-2 border-r",children:[r.jsx(R,{variant:"ghost",size:"sm",className:"justify-start text-xs h-7",onClick:()=>y("NULL"),children:"NULL"}),r.jsx(R,{variant:"ghost",size:"sm",className:"justify-start text-xs h-7",onClick:()=>y("NOW"),children:"NOW"}),r.jsx(R,{variant:"ghost",size:"sm",className:"justify-start text-xs h-7",onClick:()=>y("TODAY"),children:"TODAY"}),r.jsx(R,{variant:"ghost",size:"sm",className:"justify-start text-xs h-7",onClick:()=>y("YESTERDAY"),children:"YESTERDAY"}),r.jsx(R,{variant:"ghost",size:"sm",className:"justify-start text-xs h-7",onClick:()=>y("TOMORROW"),children:"TOMORROW"})]}),r.jsx(Ri,{components:{Dropdown:j=>r.jsxs(he,{onValueChange:E=>{j.onChange&&k(E,j.onChange)},value:String(j.value),children:[r.jsx(me,{className:"h-8 w-fit font-medium first-letter:capitalize focus:ring-0 focus:ring-offset-0",children:r.jsx(ge,{})}),r.jsx(xe,{children:j.options?.map(E=>r.jsx(B,{value:String(E.value),children:E.label},E.value))})]}),DropdownNav:j=>r.jsx("div",{className:"flex w-full items-center gap-2",children:j.children})},defaultMonth:e||new Date,hideNavigation:!0,mode:"single",onSelect:S,selected:e||void 0,startMonth:new Date(i,0),endMonth:new Date(c,11)}),d&&r.jsxs("div",{className:"flex border-l",children:[r.jsx(Ft,{label:"H",values:x,selected:h,onChange:j=>w("hours",j)}),r.jsx(Ft,{label:"M",values:m,selected:p,onChange:j=>w("minutes",j)}),r.jsx(Ft,{label:"S",values:b,selected:v,onChange:j=>w("seconds",j)})]})]})})]})}function Ft({label:e,values:t,selected:n,onChange:s}){const a=g.useRef(new Map);return g.useEffect(()=>{const i=a.current.get(n);i&&i.scrollIntoView({block:"center",behavior:"auto"})},[n]),r.jsxs("div",{className:"flex flex-col",children:[r.jsx("div",{className:"px-3 py-2 text-xs font-medium text-muted-foreground text-center border-b",children:e}),r.jsx(Dr,{className:"h-[224px]",children:r.jsx("div",{className:"flex flex-col p-1",children:t.map(i=>r.jsx("button",{ref:c=>{c&&a.current.set(i,c)},type:"button",onClick:()=>s(i),className:A("w-10 h-8 text-sm rounded-md hover:bg-accent flex items-center justify-center",n===i&&"bg-primary text-primary-foreground hover:bg-primary"),children:i.toString().padStart(2,"0")},i))})})]})}const ut=e=>String(e).padStart(2,"0"),Yt=e=>{const t=e.getFullYear(),n=ut(e.getMonth()+1),s=ut(e.getDate()),a=ut(e.getHours()),i=ut(e.getMinutes());return`${t}-${n}-${s}T${a}:${i}`},Ai=({columnName:e,dataTypeLabel:t,columnDefault:n,enumValues:s,isForeignKey:a,referencedTable:i,referencedColumn:c})=>{const[,o]=P(_.REFERENCED_TABLE_STATE_KEYS.ACTIVE_TABLE),{control:l}=Tn(),{openSheet:d,setRecordReference:u}=de(),f=h=>{const p={...h,value:h.value??""};return a?r.jsxs("div",{className:"flex flex-col gap-2",children:[r.jsxs("div",{className:"flex",children:[r.jsx(ne,{id:e,placeholder:n??"",className:"-me-px flex-1 rounded-e-none shadow-none focus-visible:z-10",...p}),r.jsx(Qe,{delayDuration:0,children:r.jsxs(Me,{children:[r.jsx(Te,{asChild:!0,children:r.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:()=>{i&&e&&c&&u(i,e,c),d("record-reference"),o(i)},children:r.jsx(zn,{"aria-hidden":"true",className:"size-4",size:16})})}),r.jsx(_e,{className:"px-2 py-1 text-xs",children:"Go to table"})]})})]}),r.jsxs("span",{className:"text-xs text-muted-foreground",children:["Has a foreign key relation to"," ",r.jsx("button",{type:"button",className:"font-mono text-primary",onClick:()=>{i&&e&&c&&u(i,e,c),d("record-reference"),o(i)},children:i})," ","table"]})]}):t==="int"||t==="bigint"||t==="smallint"||t==="numeric"||t==="float"||t==="double"||t==="money"?r.jsx(ne,{id:e,type:"number",placeholder:n??"0",...p}):t==="boolean"?r.jsxs(he,{value:h.value,onValueChange:v=>h.onChange(v),children:[r.jsx(me,{className:"w-full",children:r.jsx(ge,{placeholder:n??"true"})}),r.jsxs(xe,{children:[r.jsx(B,{value:"true",children:"true"}),r.jsx(B,{value:"false",children:"false"})]})]}):t==="text"||t==="xml"?r.jsx(ke,{id:e,placeholder:n??"",rows:4,...p}):t==="json"||t==="jsonb"?r.jsx(ke,{id:e,placeholder:n??'{"key": "value"}',rows:6,...p}):t==="date"?n?.toLowerCase().includes("current_date")||n?.toLowerCase().includes("now()")||n?.toLowerCase().includes("curdate()")?r.jsxs("div",{className:"flex",children:[r.jsx(Oe,{value:h.value?new Date(h.value):h.value===""?null:void 0,onChange:k=>h.onChange(k?k.toISOString().split("T")[0]:""),placeholder:n??"Select a date",className:"-me-px flex-1 rounded-e-none shadow-none focus-visible:z-10"}),r.jsx(Qe,{delayDuration:0,children:r.jsxs(Me,{children:[r.jsx(Te,{asChild:!0,children:r.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 k=new Date().toISOString().split("T")[0];h.onChange(k)},children:r.jsx(Tt,{"aria-hidden":"true",className:"size-4",size:16})})}),r.jsx(_e,{className:"px-2 py-1 text-xs",children:"Set to now"})]})})]}):r.jsx(Oe,{value:h.value?new Date(h.value):h.value===""?null:void 0,onChange:k=>h.onChange(k?k.toISOString().split("T")[0]:""),placeholder:n??"Select a date"}):t==="timestamptz"?n?.toLowerCase().includes("current_timestamp")||n?.toLowerCase().includes("now()")||n?.toLowerCase().includes("localtimestamp")?r.jsxs("div",{className:"flex",children:[r.jsx(Oe,{value:h.value?new Date(h.value):h.value===""?null:void 0,onChange:k=>h.onChange(k?k.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"}),r.jsx(Qe,{delayDuration:0,children:r.jsxs(Me,{children:[r.jsx(Te,{asChild:!0,children:r.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 k=new Date().toISOString();h.onChange(k)},children:r.jsx(Tt,{"aria-hidden":"true",className:"size-4",size:16})})}),r.jsx(_e,{className:"px-2 py-1 text-xs",children:"Set to now"})]})})]}):r.jsx(Oe,{value:h.value?new Date(h.value):h.value===""?null:void 0,onChange:k=>h.onChange(k?k.toISOString():""),showTime:!0,isFormatted:!1,placeholder:n??"Select a date and time"}):t==="timestamp"?n?.toLowerCase().includes("current_timestamp")||n?.toLowerCase().includes("now()")||n?.toLowerCase().includes("localtimestamp")?r.jsxs("div",{className:"flex",children:[r.jsx(Oe,{value:h.value?new Date(h.value):h.value===""?null:void 0,onChange:k=>h.onChange(k?Yt(k):""),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"}),r.jsx(Qe,{delayDuration:0,children:r.jsxs(Me,{children:[r.jsx(Te,{asChild:!0,children:r.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:()=>{h.onChange(Yt(new Date))},children:r.jsx(Tt,{"aria-hidden":"true",className:"size-4",size:16})})}),r.jsx(_e,{className:"px-2 py-1 text-xs",children:"Set to now"})]})})]}):r.jsx(Oe,{value:h.value?new Date(h.value):h.value===""?null:void 0,onChange:k=>h.onChange(k?Yt(k):""),showTime:!0,isFormatted:!1,placeholder:n??"Select a date and time"}):t==="uuid"?n?.toLowerCase().includes("uuid")||n?.toLowerCase().includes("gen_random_uuid")?r.jsxs("div",{className:"flex",children:[r.jsx(ne,{id:e,type:"text",placeholder:n??"",pattern:"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}",className:"-me-px flex-1 rounded-e-none shadow-none focus-visible:z-10",...p}),r.jsx(Qe,{delayDuration:0,children:r.jsxs(Me,{children:[r.jsx(Te,{asChild:!0,children:r.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 k=crypto.randomUUID();h.onChange(k)},children:r.jsx(Fn,{"aria-hidden":"true",className:"size-4",size:16})})}),r.jsx(_e,{className:"px-2 py-1 text-xs",children:"Generate UUID"})]})})]}):r.jsx(ne,{id:e,type:"text",placeholder:n??"",pattern:"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}",...p}):t==="array"?r.jsx(ke,{id:e,placeholder:n??'["item1", "item2"]',rows:3,...p}):t==="enum"?s&&s.length>0?r.jsxs(he,{value:h.value,onValueChange:v=>h.onChange(v),children:[r.jsx(me,{className:"w-full",children:r.jsx(ge,{placeholder:n??"Select a value"})}),r.jsx(xe,{children:s.map(v=>r.jsx(B,{value:v,children:v},v))})]}):r.jsx(ne,{id:e,placeholder:n??"",...p}):t==="interval"?r.jsx(ne,{id:e,type:"text",placeholder:n??"1 day",...p}):t==="bytea"?r.jsx(ne,{id:e,type:"file",...p}):t==="inet"||t==="cidr"||t==="macaddr"||t==="macaddr8"?r.jsx(ne,{id:e,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",...p}):t==="point"||t==="line"||t==="polygon"?r.jsx(ne,{id:e,type:"text",placeholder:t==="point"?"(x,y)":t==="line"?"{A,B,C}":"((x1,y1),(x2,y2),...)",...p}):r.jsx(ne,{id:e,type:"text",placeholder:n??"",...p})};return r.jsx(ir,{control:l,name:e,render:({field:h})=>r.jsxs("div",{className:"grid grid-cols-3 gap-4",children:[r.jsxs("div",{className:"col-span-1 flex flex-col gap-1",children:[r.jsx(ie,{htmlFor:e,children:e}),r.jsx("span",{className:"text-xs text-muted-foreground",children:t})]}),r.jsx("div",{className:"col-span-2 w-full",children:f(h)})]})},e)},zi=({tableName:e})=>{const[t,n]=P(_.REFERENCED_TABLE_STATE_KEYS.FILTERS,Be(x=>x).withDefault([]).withOptions({history:"push"})),[,s]=P(_.REFERENCED_TABLE_STATE_KEYS.CURSOR),[,a]=P(_.REFERENCED_TABLE_STATE_KEYS.DIRECTION),{tableCols:i}=De({tableName:e}),[c,o]=g.useState(!1),[l,d]=g.useState([]),u=()=>{const x=i?.[0]?.columnName??"";d([...l,{columnName:x,operator:"=",value:""}])},f=x=>{d(l.filter((m,b)=>b!==x))},h=(x,m)=>{d(l.map((b,C)=>C===x?{...b,columnName:m}:b))},p=(x,m)=>{d(l.map((b,C)=>C===x?{...b,value:m}:b))},v=(x,m)=>{d(l.map((b,C)=>C===x?{...b,operator:m}:b))},k=()=>{d([]),n([]),s(null),a(null),o(!1)},S=()=>{const x=l.filter(m=>m.columnName&&m.operator&&m.value!=="");n(x),s(null),a(null),o(!1)},w=t.length>0,y=x=>{x&&d(t),o(x)};return r.jsxs(Le,{open:c,onOpenChange:y,children:[r.jsx(gt,{asChild:!0,children:r.jsxs(R,{type:"button",variant:"ghost",className:"border-r border-l-0 border-y-0 border-zinc-800 rounded-none text-xs h-full","aria-label":"Filter table data","data-active":w,children:[r.jsx(Yn,{className:"size-4"}),"Filter",w&&r.jsx(je,{className:"text-[10px] font-normal text-white bg-primary/10 border border-primary/90 px-1.5 py-0.5",children:t.length})]})}),r.jsxs($e,{className:"w-md space-y-2",align:"start",children:[r.jsx("div",{className:"flex items-center gap-4",children:r.jsxs(R,{variant:"outline",size:"lg",className:"text-sm",onClick:u,children:["Add filter",l&&l.length>0&&r.jsx(je,{className:"text-xs font-normal text-white bg-primary/10 border border-primary/90 px-1.5 py-0.5",children:l.length})]})}),r.jsx("div",{className:"flex flex-col gap-4",children:l.length>0?l.map((x,m)=>r.jsxs("div",{className:"flex-1 flex h-9 gap-2",children:[r.jsxs(he,{value:x.columnName,onValueChange:b=>h(m,b),children:[r.jsx(me,{className:"w-full flex-1",children:r.jsx(ge,{placeholder:"Select column"})}),r.jsx(xe,{children:i?.map(b=>r.jsx(B,{value:b.columnName,children:b.columnName},b.columnName))})]}),r.jsxs(he,{value:x.operator,onValueChange:b=>v(m,b),children:[r.jsx(me,{children:r.jsx(ge,{placeholder:"Op"})}),r.jsxs(xe,{children:[r.jsx(B,{value:"=",children:"="}),r.jsx(B,{value:"!=",children:"!="}),r.jsx(B,{value:">",children:">"}),r.jsx(B,{value:">=",children:">="}),r.jsx(B,{value:"<",children:"<"}),r.jsx(B,{value:"<=",children:"<="}),r.jsx(B,{value:"is",children:"is"}),r.jsx(B,{value:"is not",children:"is not"}),r.jsx(B,{value:"like",children:"like"}),r.jsx(B,{value:"not like",children:"not like"}),r.jsx(B,{value:"ilike",children:"ilike"}),r.jsx(B,{value:"not ilike",children:"not ilike"})]})]}),r.jsx(ne,{type:"text",placeholder:"Value",value:x.value,onChange:b=>p(m,b.target.value)}),r.jsx(R,{variant:"ghost",size:"icon",className:"text-xs",onClick:()=>f(m),children:r.jsx(xt,{className:"size-4"})})]},m)):r.jsx("div",{className:"flex-1 flex h-9 gap-2 items-center justify-center",children:r.jsx("p",{className:"text-sm text-muted-foreground text-center",children:"No filters applied"})})}),r.jsxs("div",{className:"gap-2 flex justify-end",children:[r.jsx(R,{variant:"outline",size:"lg",className:"text-sm",onClick:k,children:"Reset"}),r.jsx(R,{variant:"default",size:"lg",className:"text-sm",onClick:S,children:"Apply"})]})]})]})};function Fi({className:e,size:t="default",...n}){return r.jsx(rr,{"data-slot":"switch","data-size":t,className:A("data-checked:bg-primary data-unchecked:bg-input focus-visible:border-ring focus-visible:ring-ring/30 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 dark:data-unchecked:bg-input/80 shrink-0 rounded-full border border-transparent focus-visible:ring-[2px] aria-invalid:ring-[2px] data-[size=default]:h-[16.6px] data-[size=default]:w-[28px] data-[size=sm]:h-[14px] data-[size=sm]:w-[24px] peer group/switch relative inline-flex items-center transition-all outline-none after:absolute after:-inset-x-3 after:-inset-y-2 data-disabled:cursor-not-allowed data-disabled:opacity-50",e),...n,children:r.jsx(ar,{"data-slot":"switch-thumb",className:"bg-background dark:data-unchecked:bg-foreground dark:data-checked:bg-primary-foreground rounded-full group-data-[size=default]/switch:size-3.5 group-data-[size=sm]/switch:size-3 group-data-[size=default]/switch:data-checked:translate-x-[calc(100%-2px)] group-data-[size=sm]/switch:data-checked:translate-x-[calc(100%-2px)] group-data-[size=default]/switch:data-unchecked:translate-x-0 group-data-[size=sm]/switch:data-unchecked:translate-x-0 pointer-events-none block ring-0 transition-transform"})})}const Yi=({tableName:e})=>{const{tableCols:t}=De({tableName:e}),[n,s]=P(_.REFERENCED_TABLE_STATE_KEYS.SORT,Be(y=>y).withDefault([]).withOptions({history:"push"})),[,a]=P(_.REFERENCED_TABLE_STATE_KEYS.CURSOR),[,i]=P(_.REFERENCED_TABLE_STATE_KEYS.DIRECTION),[c,o]=g.useState(!1),[l,d]=g.useState([]),u=()=>{const y=t?.[0]?.columnName??"";d([...l,{columnName:y,direction:"asc"}])},f=y=>{d(l.filter((x,m)=>m!==y))},h=(y,x)=>{d(l.map((m,b)=>b===y?{...m,columnName:x}:m))},p=(y,x)=>{d(l.map((m,b)=>b===y?{...m,direction:x}:m))},v=()=>{d([]),s([]),a(null),i(null),o(!1)},k=()=>{const y=l.filter(x=>x.columnName);s(y),a(null),i(null),o(!1)},S=n.length>0,w=y=>{y&&d(n),o(y)};return r.jsxs(Le,{open:c,onOpenChange:w,children:[r.jsx(gt,{asChild:!0,children:r.jsxs(R,{variant:"ghost",className:"border-r border-l-0 border-y-0 border-zinc-800 rounded-none text-xs h-full",children:[r.jsx(pr,{className:"size-4"}),"Sort",S&&r.jsx(je,{className:"text-[10px] font-normal text-white bg-primary/10 border border-primary/90 px-1.5 py-0.5",children:n.length})]})}),r.jsxs($e,{className:"w-md space-y-2",align:"start",children:[r.jsx("div",{className:"flex items-center gap-4",children:r.jsxs(R,{variant:"outline",size:"lg",className:"text-sm",onClick:u,children:["Add sort",l&&l.length>0&&r.jsx(je,{className:"text-xs font-normal text-white bg-primary/10 border border-primary/90 px-1.5 py-0.5",children:l.length})]})}),r.jsx("div",{className:"flex flex-col gap-4",children:l.length>0?l.map((y,x)=>r.jsxs("div",{className:"flex-1 flex h-9 gap-2 items-center",children:[r.jsxs(he,{value:y.columnName,onValueChange:m=>h(x,m),children:[r.jsx(me,{className:"w-full flex-1",children:r.jsx(ge,{placeholder:"Select column"})}),r.jsx(xe,{children:t?.map(m=>r.jsx(B,{value:m.columnName,children:m.columnName},m.columnName))})]}),r.jsxs("div",{className:"flex items-center space-x-2",children:[r.jsx(ie,{htmlFor:`sort-direction-${x}`,children:"Asc"}),r.jsx(Fi,{id:`sort-direction-${x}`,checked:y.direction==="desc",onCheckedChange:m=>p(x,m?"desc":"asc")}),r.jsx(ie,{htmlFor:`sort-direction-${x}`,children:"Desc"})]}),r.jsx(R,{variant:"ghost",size:"icon",className:"text-xs",onClick:()=>f(x),children:r.jsx(xt,{className:"size-4"})})]},x)):r.jsx("div",{className:"flex-1 flex h-9 gap-2 items-center justify-center",children:r.jsx("p",{className:"text-sm text-muted-foreground text-center",children:"No sorts applied"})})}),r.jsxs("div",{className:"gap-2 flex justify-end",children:[r.jsx(R,{variant:"outline",size:"lg",className:"text-sm",onClick:v,children:"Reset"}),r.jsx(R,{variant:"default",size:"lg",className:"text-sm",onClick:k,children:"Apply"})]})]})]})};function Pi({className:e,...t}){return r.jsx("div",{"data-slot":"table-container",className:"relative w-full overflow-x-auto",children:r.jsx("table",{"data-slot":"table",className:A("w-full caption-bottom text-xs",e),...t})})}function Ii({className:e,...t}){return r.jsx("thead",{"data-slot":"table-header",className:A("[&_tr]:border-b",e),...t})}function Bi({className:e,...t}){return r.jsx("tbody",{"data-slot":"table-body",className:A("[&_tr:last-child]:border-0",e),...t})}function Pt({className:e,...t}){return r.jsx("tr",{"data-slot":"table-row",className:A("hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",e),...t})}function Ki({className:e,...t}){return r.jsx("th",{"data-slot":"table-head",className:A("text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0",e),...t})}function kn({className:e,...t}){return r.jsx("td",{"data-slot":"table-cell",className:A("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0",e),...t})}const wt=({tableName:e,isReferencedTable:t=!1})=>{const{selectedDatabase:n}=st(),[s]=P(_.REFERENCED_TABLE_STATE_KEYS.ACTIVE_TABLE),a=e||s,[i]=P(t?_.REFERENCED_TABLE_STATE_KEYS.CURSOR:_.TABLE_STATE_KEYS.CURSOR),[c]=P(t?_.REFERENCED_TABLE_STATE_KEYS.LIMIT.toString():_.TABLE_STATE_KEYS.LIMIT),[o]=P(t?_.REFERENCED_TABLE_STATE_KEYS.DIRECTION:_.TABLE_STATE_KEYS.DIRECTION),[l]=P(_.REFERENCED_TABLE_STATE_KEYS.SORT,Be(w=>w).withDefault([]).withOptions({history:"push"})),[d]=P(_.TABLE_STATE_KEYS.SORT),[u]=P(_.TABLE_STATE_KEYS.ORDER),[f]=P(t?_.REFERENCED_TABLE_STATE_KEYS.FILTERS:_.TABLE_STATE_KEYS.FILTERS,Be(w=>w).withDefault([]).withOptions({history:"push"})),{data:h,isLoading:p,isRefetching:v,refetch:k,error:S}=Er({queryKey:[_.CACHE_KEYS.TABLE_DATA,a,i,c,o,t?JSON.stringify(l):d,u,JSON.stringify(f),n],queryFn:async()=>{const w=_.CACHE_KEYS.TABLE_DEFAULT_LIMIT.toString(),y={limit:c?.toString()||w,db:n??void 0};return i&&(y.cursor=i),o&&(y.direction=o),t?l&&l.length>0&&(y.sort=JSON.stringify(l)):(d&&(y.sort=d),u&&(y.order=u)),f&&f.length>0&&(y.filters=JSON.stringify(f)),await rt.get(`/tables/${a}/data`,{params:y})},select:w=>w.data.data,enabled:!!a});return{tableData:h,isLoadingTableData:p,isRefetchingTableData:v,errorTableData:S,refetchTableData:k}},Vi=({tableName:e,referencedColumn:t,columnName:n})=>{const{setValue:s}=Tn(),{closeSheet:a}=de(),{tableCols:i,isLoadingTableCols:c}=De({tableName:e}),[o,l]=P(_.REFERENCED_TABLE_STATE_KEYS.ACTIVE_TABLE),{tableData:d,isLoadingTableData:u}=wt({tableName:e,isReferencedTable:!0}),[,f]=P(_.REFERENCED_TABLE_STATE_KEYS.CURSOR),[,h]=P(_.REFERENCED_TABLE_STATE_KEYS.DIRECTION),[p,v]=P(_.REFERENCED_TABLE_STATE_KEYS.LIMIT.toString());g.useEffect(()=>{e&&o!==e&&l(e),e&&!p&&v(_.REFERENCED_TABLE_STATE_KEYS.DEFAULT_LIMIT.toString())},[e,o,p,l,v]);const k=()=>{d?.meta?.nextCursor&&(f(d.meta.nextCursor),h("forward"))},S=()=>{d?.meta?.prevCursor&&(f(d.meta.prevCursor),h("backward"))},w=g.useMemo(()=>i?.map(m=>({id:m.columnName,accessorKey:m.columnName,header:m.columnName,cell:({row:b})=>r.jsx("div",{className:"font-medium max-w-[200px] truncate",children:Mr(b.getValue(m.columnName))})}))??[],[i]),y=Hn({columns:w??[],data:d?.data??[],getCoreRowModel:qn()}),x=m=>{console.log(m.original[t??""]),s(n??"",m.original[t??""]),a("record-reference")};return c||u?r.jsx("div",{className:"flex items-center justify-center h-full",children:r.jsx(_n,{size:"size-8"})}):r.jsxs("div",{children:[r.jsxs("div",{className:"sticky top-0 left-0 right-0 h-8 border-b border-zinc-800 w-full flex items-center justify-between bg-background z-50",children:[r.jsxs("div",{className:"flex items-center h-full",children:[r.jsx(zi,{tableName:e}),r.jsx(Yi,{tableName:e})]}),r.jsxs("div",{className:"flex items-center h-full",children:[r.jsx(R,{variant:"ghost",size:"icon",className:"border-l border-r-0 border-y-0 border-zinc-800 rounded-none text-xs h-full aspect-square size-8",onClick:S,disabled:!d?.meta?.hasPreviousPage,children:r.jsx(br,{className:"size-3"})}),r.jsx(R,{variant:"ghost",size:"icon",className:"border-r border-l border-y-0 border-zinc-800 rounded-none text-xs h-full aspect-square size-8",onClick:k,disabled:!d?.meta?.hasNextPage,children:r.jsx(yr,{className:"size-3"})})]})]}),r.jsxs(Pi,{children:[r.jsx(Ii,{children:y.getHeaderGroups().map(m=>r.jsx(Pt,{className:"hover:bg-transparent text-xs sticky top-0 right-0 left-0",children:m.headers.map(b=>r.jsx(Ki,{className:"border-r border-zinc-800",children:b.isPlaceholder?null:tt(b.column.columnDef.header,b.getContext())},b.id))},m.id))}),r.jsx(Bi,{children:y.getRowModel().rows?.length?y.getRowModel().rows.map(m=>r.jsx(Pt,{className:"text-xs cursor-pointer",onClick:()=>x(m),children:m.getVisibleCells().map(b=>r.jsx(kn,{className:"border-r border-zinc-800",children:tt(b.column.columnDef.cell,b.getContext())},b.id))},m.id)):r.jsx(Pt,{children:r.jsx(kn,{className:"h-24 text-center",colSpan:w.length,children:"No results."})})})]})]})},Ui=()=>{const[,e]=P(_.REFERENCED_TABLE_STATE_KEYS.ACTIVE_TABLE),[,t]=P(_.REFERENCED_TABLE_STATE_KEYS.CURSOR),[,n]=P(_.REFERENCED_TABLE_STATE_KEYS.DIRECTION),[,s]=P(_.REFERENCED_TABLE_STATE_KEYS.LIMIT.toString()),[,a]=P(_.REFERENCED_TABLE_STATE_KEYS.SORT.toString()),[,i]=P(_.REFERENCED_TABLE_STATE_KEYS.ORDER.toString()),[,c]=P(_.REFERENCED_TABLE_STATE_KEYS.FILTERS,Be(u=>u).withDefault([]).withOptions({history:"push"})),{closeSheet:o,isSheetOpen:l,recordReferenceData:d}=de();return!d.tableName||!d.referencedColumn?null:r.jsx(He,{title:`View records in the table ${d.tableName}`,size:"max-w-lg!",contentClassName:"p-0",open:l("record-reference"),onOpenChange:u=>{u||(o("record-reference"),e(null),t(null),n(null),s(null),a(null),i(null),c(null))},children:r.jsx(Vi,{tableName:d.tableName,referencedColumn:d.referencedColumn??null,columnName:d.columnName??""})})},Li=({tableName:e})=>{const t=pt(),{closeSheet:n}=de(),{selectedDatabase:s}=st(),{mutateAsync:a,isPending:i}=bt({mutationFn:async o=>{const l=new URLSearchParams({db:s??""});return(await rt.post("/records",{tableName:e,data:o},{params:l})).data.data},onSuccess:async o=>{await Promise.all([t.invalidateQueries({queryKey:[_.CACHE_KEYS.TABLE_DATA,e],exact:!1}),t.invalidateQueries({queryKey:[_.CACHE_KEYS.TABLES_LIST]})]),n("add-record"),console.log("Record created successfully:",o)},onError:o=>{console.error("Error creating record:",o)}});return{createRecord:async(o,l)=>{if(!o||Object.keys(o).length===0)throw new Error("At least one field is required");return We.promise(a(o,l),{loading:"Creating record...",success:d=>d||"Record created successfully",error:d=>d.detail||d.message||"Failed to create record"})},isCreatingRecord:i}},$i=({tableName:e})=>{const{closeSheet:t,isSheetOpen:n}=de(),{tableCols:s,isLoadingTableCols:a}=De({tableName:e}),{createRecord:i,isCreatingRecord:c}=Li({tableName:e}),o=lr(),l=async h=>{console.log("onSubmit",h),i(h,{onSuccess:()=>{o.reset(),t("add-record")},onError:p=>{console.error("Failed to create record:",p)}})},d=h=>{console.log("onError",h)},u=()=>{o.reset(),t("add-record")};console.log("tableCols",s);const f=()=>s&&s.length>0?r.jsxs(cr,{...o,children:[r.jsxs("form",{onSubmit:o.handleSubmit(l,d),className:"flex flex-col h-full",children:[r.jsx("div",{className:"space-y-6",children:s&&s.length>0&&!a?s.map(h=>r.jsx(Ai,{...h},h.columnName)):null}),r.jsxs("div",{className:"flex justify-end gap-2 py-6",children:[r.jsx(at,{asChild:!0,onClick:u,disabled:c,children:r.jsx(R,{variant:"outline",size:"lg",children:"Close"})}),r.jsx(R,{type:"submit",size:"lg",disabled:c||!o.formState.isDirty,children:"Save"})]})]}),r.jsx(Ui,{})]}):r.jsx("div",{className:"flex flex-col h-full",children:r.jsx("div",{className:"space-y-6",children:r.jsx(re,{variant:"info",title:"No columns found",message:"Please add at least one column to the table before adding a record."})})});return r.jsx(He,{title:`Add a new record to the table: ${e}`,open:n("add-record"),onOpenChange:h=>{h||u()},children:f()})},nn=or,vt=g.forwardRef(({className:e,...t},n)=>r.jsx(En,{ref:n,className:A("inline-flex h-10 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground",e),...t}));vt.displayName=En.displayName;const Ae=g.forwardRef(({className:e,...t},n)=>r.jsx(On,{ref:n,className:A("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),...t}));Ae.displayName=On.displayName;const ze=g.forwardRef(({className:e,...t},n)=>r.jsx(Mn,{ref:n,className:A("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",e),...t}));ze.displayName=Mn.displayName;const St=({tableName:e})=>{const t=pt(),{closeSheet:n}=de(),{selectedDatabase:s}=st(),{mutateAsync:a,isPending:i}=bt({mutationFn:async o=>{const l=new URLSearchParams({db:s??""}),d=await rt.post("/records/bulk",{tableName:e,records:o},{params:l});return console.log("res",d.data.data),d.data.data},onSuccess:async()=>{await Promise.all([t.invalidateQueries({queryKey:[_.CACHE_KEYS.TABLE_DATA,e],exact:!1}),t.invalidateQueries({queryKey:[_.CACHE_KEYS.TABLES_LIST],exact:!1}),t.invalidateQueries({queryKey:[_.CACHE_KEYS.TABLE_COLUMNS,e],exact:!1})]),n("bulk-insert-records")}});return{bulkInsertRecords:async(o,l)=>{if(!o||o.length===0)throw new Error("At least one record is required");return We.promise(a(o),{loading:`Inserting ${o.length} record${o.length!==1?"s":""}...`,success:d=>(l?.onSuccess?.(d),d.failureCount>0?`${d.successCount} records inserted, ${d.failureCount} failed`:d.message),error:d=>(l?.onError?.(d),d.detail||d.message||"Failed to insert records")})},isInserting:i}},Fe=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 Hi(t)},Hi=e=>{const t=e.split(`
2
+ `).filter(c=>c.trim());if(t.length<1)throw new Error("No data to parse");const n=t[0],s=qi(n),a=jn(n,s).map(c=>c.trim());if(a.length===0)throw new Error("No headers found in CSV");const i=[];for(let c=1;c<t.length;c++){const o=jn(t[c],s);o.length!==a.length&&console.warn(`Row ${c+1} has ${o.length} values but ${a.length} headers expected`);const l={};a.forEach((d,u)=>{const f=o[u]?.trim()??"";l[d]=Ji(f)}),i.push(l)}if(i.length===0)throw new Error("No records found in CSV");return i},qi=e=>{const t=[","," ",";"];let n=0,s=",";for(const a of t){const i=(e.match(new RegExp(`\\${a}`,"g"))||[]).length;i>n&&(n=i,s=a)}return s},jn=(e,t)=>{const n=[];let s="",a=!1;for(let i=0;i<e.length;i++){const c=e[i],o=e[i+1];c==='"'?a&&o==='"'?(s+='"',i++):a=!a:c===t&&!a?(n.push(s),s=""):s+=c}return n.push(s),n},Ji=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},Gi=({tableName:e})=>{const{closeSheet:t,isSheetOpen:n}=de(),{bulkInsertRecords:s,isInserting:a}=St({tableName:e}),i=g.useRef(null),[c,o]=g.useState(""),[l,d]=g.useState(null),[u,f]=g.useState([]),[h,p]=g.useState(null),[v,k]=g.useState("file"),S=m=>{const b=m.target.files?.[0];b&&(d(b),f([]),p(null))},w=g.useCallback(()=>{p(null),f([]);try{if(v==="file"&&l){const m=new FileReader;m.onload=b=>{try{const C=b.target?.result,j=Fe(C);f(j)}catch(C){p(C instanceof Error?C.message:"Failed to parse file")}},m.readAsText(l)}else if(c.trim()){const m=Fe(c);f(m)}else p(v==="file"?"No file selected":"Input is empty")}catch(m){p(m instanceof Error?m.message:"Failed to format data")}},[c,l,v]),y=async()=>{if(u.length===0){p("No records to insert");return}try{await s(u,{onSuccess:()=>{o(""),d(null),f([]),p(null),t("bulk-insert-csv")}})}catch(m){console.error("Error inserting records:",m)}},x=()=>{o(""),d(null),f([]),p(null),t("bulk-insert-csv")};return r.jsx(He,{title:`Add data from CSV into: ${e}`,open:n("bulk-insert-csv"),onOpenChange:m=>{m||x()},children:r.jsxs("div",{className:"flex flex-col h-full gap-4",children:[r.jsx(re,{variant:"info",title:"CSV Import",message:"Enter CSV data with headers. Supports comma, tab, or semicolon delimiters. First row should be column names."}),r.jsxs(nn,{value:v,onValueChange:m=>k(m),children:[r.jsxs(vt,{className:"grid w-full grid-cols-2",children:[r.jsx(Ae,{value:"file",children:"File"}),r.jsx(Ae,{value:"text",children:"Text"})]}),r.jsx(ze,{value:"file",className:"flex-1 flex flex-col gap-4",children:r.jsxs("div",{className:"flex flex-col gap-2",children:[r.jsx(ie,{htmlFor:"file-input",className:"mb-2 text-sm font-medium text-zinc-300",children:"Select CSV file"}),r.jsx("input",{id:"file-input",ref:i,type:"file",accept:".csv",onChange:S,disabled:a,className:"text-sm text-zinc-400 file:mr-4 file:py-2 file:px-4 file:rounded-md file:border-0 file:text-sm file:font-semibold file:bg-zinc-700 file:text-white hover:file:bg-zinc-600 cursor-pointer disabled:opacity-50"})]})}),r.jsx(ze,{value:"text",className:"flex-1 flex flex-col gap-4",children:r.jsxs("div",{className:"flex-1 flex flex-col",children:[r.jsx(ie,{htmlFor:"text-input",className:"text-sm font-medium mb-2 text-zinc-300",children:"Data Input"}),r.jsx(ke,{id:"text-input",value:c,onChange:m=>{o(m.target.value),f([]),p(null)},placeholder:`column1,column2,column3
3
+ value1,value2,value3
4
+ value4,value5,value6`,className:"flex-1 resize-none font-mono text-sm",disabled:a})]})})]}),h&&r.jsx(re,{variant:"error",title:"Parse Error",message:h}),u.length>0&&r.jsx(re,{variant:"success",title:"Ready to Insert",message:`${u.length} record${u.length!==1?"s":""} parsed successfully`}),r.jsxs("div",{className:"flex justify-between gap-2",children:[r.jsx(R,{variant:"secondary",size:"lg",onClick:w,disabled:v==="file"?!l:!c.trim()||a,children:"Format"}),r.jsxs("div",{className:"flex gap-2",children:[r.jsx(at,{asChild:!0,onClick:x,disabled:a,children:r.jsx(R,{variant:"outline",size:"lg",children:"Close"})}),r.jsx(R,{type:"button",size:"lg",onClick:y,disabled:u.length===0||a,children:a?"Inserting...":"Insert"})]})]})]})})},Qi=({tableName:e})=>{const{closeSheet:t,isSheetOpen:n}=de(),{bulkInsertRecords:s,isInserting:a}=St({tableName:e}),i=g.useRef(null),[c,o]=g.useState(""),[l,d]=g.useState(null),[u,f]=g.useState([]),[h,p]=g.useState(null),[v,k]=g.useState("file"),S=m=>{const b=m.target.files?.[0];b&&(d(b),f([]),p(null))},w=g.useCallback(()=>{p(null),f([]);try{if(v==="file"&&l){const m=new FileReader;m.onload=b=>{try{const C=b.target?.result,j=Fe(C);f(j)}catch(C){p(C instanceof Error?C.message:"Failed to parse file")}},m.readAsText(l)}else if(c.trim()){const m=Fe(c);f(m)}else p(v==="file"?"No file selected":"Input is empty")}catch(m){p(m instanceof Error?m.message:"Failed to format data")}},[c,l,v]),y=async()=>{if(u.length===0){p("No records to insert");return}try{await s(u,{onSuccess:()=>{o(""),d(null),f([]),p(null),t("bulk-insert-excel")}})}catch(m){console.error("Error inserting records:",m)}},x=()=>{o(""),d(null),f([]),p(null),t("bulk-insert-excel")};return r.jsx(He,{title:`Add data from Excel into: ${e}`,open:n("bulk-insert-excel"),onOpenChange:m=>{m||x()},children:r.jsxs("div",{className:"flex flex-col h-full gap-4",children:[r.jsx(re,{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."}),r.jsxs(nn,{value:v,onValueChange:m=>k(m),children:[r.jsxs(vt,{className:"grid w-full grid-cols-2",children:[r.jsx(Ae,{value:"file",children:"File"}),r.jsx(Ae,{value:"text",children:"Text"})]}),r.jsx(ze,{value:"file",className:"flex-1 flex flex-col gap-4",children:r.jsxs("div",{className:"flex flex-col gap-2",children:[r.jsx(ie,{htmlFor:"file-input",className:"mb-2 text-sm font-medium text-zinc-300",children:"Select Excel file"}),r.jsx("input",{id:"file-input",ref:i,type:"file",accept:".xlsx,.xls",onChange:S,disabled:a,className:"text-sm text-zinc-400 file:mr-4 file:py-2 file:px-4 file:rounded-md file:border-0 file:text-sm file:font-semibold file:bg-zinc-700 file:text-white hover:file:bg-zinc-600 cursor-pointer disabled:opacity-50"})]})}),r.jsx(ze,{value:"text",className:"flex-1 flex flex-col gap-4",children:r.jsxs("div",{className:"flex-1 flex flex-col",children:[r.jsx(ie,{htmlFor:"text-input",className:"mb-2 text-sm font-medium text-zinc-300",children:"Data Input"}),r.jsx(ke,{id:"text-input",value:c,onChange:m=>{o(m.target.value),f([]),p(null)},placeholder:`column1 column2 column3
5
+ value1 value2 value3
6
+ value4 value5 value6`,className:"flex-1 resize-none font-mono text-sm",disabled:a})]})})]}),h&&r.jsx(re,{variant:"error",title:"Parse Error",message:h}),u.length>0&&r.jsx(re,{variant:"success",title:"Ready to Insert",message:`${u.length} record${u.length!==1?"s":""} parsed successfully`}),r.jsxs("div",{className:"flex justify-between gap-2",children:[r.jsx(R,{variant:"secondary",size:"lg",onClick:w,disabled:v==="file"?!l:!c.trim()||a,children:"Format"}),r.jsxs("div",{className:"flex gap-2",children:[r.jsx(at,{asChild:!0,onClick:x,disabled:a,children:r.jsx(R,{variant:"outline",size:"lg",children:"Close"})}),r.jsx(R,{type:"button",size:"lg",onClick:y,disabled:u.length===0||a,children:a?"Inserting...":"Insert"})]})]})]})})},Xi=({tableName:e})=>{const{closeSheet:t,isSheetOpen:n}=de(),{bulkInsertRecords:s,isInserting:a}=St({tableName:e}),i=g.useRef(null),[c,o]=g.useState(""),[l,d]=g.useState(null),[u,f]=g.useState([]),[h,p]=g.useState(null),[v,k]=g.useState("file"),S=m=>{const b=m.target.files?.[0];b&&(d(b),f([]),p(null))},w=g.useCallback(()=>{p(null),f([]);try{if(v==="file"&&l){const m=new FileReader;m.onload=b=>{try{const C=b.target?.result,j=Fe(C);f(j)}catch(C){p(C instanceof Error?C.message:"Failed to parse file")}},m.readAsText(l)}else if(c.trim()){const m=Fe(c);f(m)}else p(v==="file"?"No file selected":"Input is empty")}catch(m){p(m instanceof Error?m.message:"Failed to format data")}},[c,l,v]),y=async()=>{if(u.length===0){p("No records to insert");return}try{await s(u,{onSuccess:()=>{o(""),d(null),f([]),p(null),t("bulk-insert-json")}})}catch(m){console.error("Error inserting records:",m)}},x=()=>{o(""),d(null),f([]),p(null),t("bulk-insert-json")};return r.jsx(He,{title:`Add data from JSON into: ${e}`,open:n("bulk-insert-json"),onOpenChange:m=>{m||x()},children:r.jsxs("div",{className:"flex flex-col h-full gap-4",children:[r.jsx(re,{variant:"info",title:"JSON Import",message:'Enter JSON array or single object. Example: [{"name": "John", "age": 30}, {"name": "Jane", "age": 28}]'}),r.jsxs(nn,{value:v,onValueChange:m=>k(m),children:[r.jsxs(vt,{className:"grid w-full grid-cols-2",children:[r.jsx(Ae,{value:"file",children:"File"}),r.jsx(Ae,{value:"text",children:"Text"})]}),r.jsx(ze,{value:"file",className:"flex-1 flex flex-col gap-4",children:r.jsxs("div",{className:"flex flex-col gap-2",children:[r.jsx(ie,{htmlFor:"file-input",className:"mb-2 text-sm font-medium text-zinc-300",children:"Select JSON file"}),r.jsx("input",{id:"file-input",ref:i,type:"file",accept:".json",onChange:S,disabled:a,className:"text-sm text-zinc-400 file:mr-4 file:py-2 file:px-4 file:rounded-md file:border-0 file:text-sm file:font-semibold file:bg-zinc-700 file:text-white hover:file:bg-zinc-600 cursor-pointer disabled:opacity-50"})]})}),r.jsx(ze,{value:"text",className:"flex-1 flex flex-col gap-4",children:r.jsxs("div",{className:"flex-1 flex flex-col",children:[r.jsx(ie,{htmlFor:"text-input",className:"mb-2 text-sm font-medium text-zinc-300",children:"Data Input"}),r.jsx(ke,{id:"text-input",value:c,onChange:m=>{o(m.target.value),f([]),p(null)},placeholder:'[{"column1": "value1", "column2": "value2"}]',className:"flex-1 resize-none font-mono text-sm",disabled:a})]})})]}),h&&r.jsx(re,{variant:"error",title:"Parse Error",message:h}),u.length>0&&r.jsx(re,{variant:"success",title:"Ready to Insert",message:`${u.length} record${u.length!==1?"s":""} parsed successfully`}),r.jsxs("div",{className:"flex justify-between gap-2",children:[r.jsx(R,{variant:"secondary",size:"lg",onClick:w,disabled:v==="file"?!l:!c.trim()||a,children:"Format"}),r.jsxs("div",{className:"flex gap-2",children:[r.jsx(at,{asChild:!0,onClick:x,disabled:a,children:r.jsx(R,{variant:"outline",size:"lg",children:"Close"})}),r.jsx(R,{type:"button",size:"lg",onClick:y,disabled:u.length===0||a,children:a?"Inserting...":"Insert"})]})]})]})})},Zi=({tableName:e})=>{const{closeSheet:t,isSheetOpen:n}=de(),{bulkInsertRecords:s,isInserting:a}=St({tableName:e}),[i,c]=g.useState(""),[o,l]=g.useState([]),[d,u]=g.useState(null),[f,h]=g.useState("auto"),p=g.useCallback(()=>{u(null),l([]);try{if(!i.trim()){u("Input is empty");return}const w=Fe(i);l(w)}catch(w){u(w instanceof Error?w.message:"Failed to parse data")}},[i]),v=async()=>{if(o.length===0){u("No records to insert");return}try{await s(o,{onSuccess:()=>{c(""),l([]),u(null)}})}catch(w){console.error("Error inserting records:",w)}},k=()=>{c(""),l([]),u(null),t("bulk-insert-records")},S=()=>{c(""),l([]),u(null)};return r.jsx(He,{title:`Bulk Insert Records into: ${e}`,open:n("bulk-insert-records"),onOpenChange:w=>{w||k()},children:r.jsxs("div",{className:"flex flex-col h-full gap-4",children:[r.jsxs("div",{className:"flex gap-2",children:[r.jsx("button",{onClick:()=>h("auto"),type:"button",className:`px-3 py-1 text-sm rounded-md transition-colors ${f==="auto"?"bg-blue-600 text-white":"bg-zinc-700 text-zinc-300 hover:bg-zinc-600"}`,children:"Auto"}),r.jsx("button",{onClick:()=>h("csv"),type:"button",className:`px-3 py-1 text-sm rounded-md transition-colors ${f==="csv"?"bg-blue-600 text-white":"bg-zinc-700 text-zinc-300 hover:bg-zinc-600"}`,children:"CSV"}),r.jsx("button",{onClick:()=>h("json"),type:"button",className:`px-3 py-1 text-sm rounded-md transition-colors ${f==="json"?"bg-blue-600 text-white":"bg-zinc-700 text-zinc-300 hover:bg-zinc-600"}`,children:"JSON"})]}),r.jsx(re,{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."}),r.jsxs("div",{className:"flex-1 flex flex-col",children:[r.jsx(ie,{htmlFor:"text-input",className:"mb-2 text-sm font-medium text-zinc-300",children:"Data Input"}),r.jsx(ke,{id:"text-input",value:i,onChange:w=>{c(w.target.value),l([]),u(null)},placeholder:f==="json"?'[{"column1": "value1", "column2": "value2"}]':`column1,column2,column3
7
+ value1,value2,value3
8
+ value4,value5,value6`,className:"flex-1 resize-none font-mono text-sm"})]}),d&&r.jsx(re,{variant:"error",title:"Parse Error",message:d}),o.length>0&&r.jsx(re,{variant:"success",title:"Ready to Insert",message:`${o.length} record${o.length!==1?"s":""} parsed successfully`}),r.jsxs("div",{className:"flex justify-between gap-2",children:[r.jsxs("div",{className:"flex gap-2",children:[r.jsx(R,{variant:"outline",size:"lg",onClick:S,disabled:!i||a,children:"Clear"}),r.jsx(R,{variant:"secondary",size:"lg",onClick:p,disabled:!i||a,children:"Preview"})]}),r.jsxs("div",{className:"flex gap-2",children:[r.jsx(at,{asChild:!0,onClick:k,disabled:a,children:r.jsx(R,{variant:"outline",size:"lg",children:"Close"})}),r.jsx(R,{type:"button",size:"lg",onClick:v,disabled:o.length===0||a,children:a?"Inserting...":"Insert"})]})]})]})})},el=()=>{const{openSheet:e}=de();return r.jsxs(Kt,{children:[r.jsx(Vt,{asChild:!0,children:r.jsxs(R,{type:"button",variant:"default",className:"h-8! border-l-0 border-y-0 border-r border-zinc-800 rounded-none flex items-center gap-2","aria-label":"Add records to the table",children:[r.jsx(Cr,{className:"size-4"}),"Add Record"]})}),r.jsxs(Ut,{align:"start",className:"w-48",children:[r.jsx(Ce,{onClick:()=>e("add-record"),children:"Add Record"}),r.jsx(Ce,{onClick:()=>e("bulk-insert-csv"),children:"Add data from CSV"}),r.jsx(Ce,{onClick:()=>e("bulk-insert-excel"),children:"Add data from Excel"}),r.jsx(Ce,{onClick:()=>e("bulk-insert-json"),children:"Add data from JSON"})]})]})},ft=(e,t)=>`${e.id??JSON.stringify(e)}-${t}`,be=dr()((e,t)=>({updates:new Map,setUpdate:(n,s,a,i)=>{e(c=>{const o=new Map(c.updates),l=ft(n,s);return a===i?o.delete(l):o.set(l,{rowData:n,columnName:s,newValue:a,originalValue:i}),console.log("setUpdate",{rowData:n,columnName:s,newValue:a,originalValue:i}),{updates:o}})},clearUpdates:()=>e({updates:new Map}),clearUpdate:(n,s)=>{e(a=>{const i=new Map(a.updates);return i.delete(ft(n,s)),{updates:i}})},getUpdates:()=>Array.from(t().updates.values()),getUpdate:(n,s)=>t().updates.get(ft(n,s))??null,hasUpdate:(n,s)=>t().updates.has(ft(n,s)),hasAnyUpdates:()=>t().updates.size>0,getUpdateCount:()=>t().updates.size})),js=()=>{const e=pt(),{table:t}=Lt.useParams(),{clearUpdates:n,getUpdateCount:s}=be(),{selectedDatabase:a}=st(),{mutateAsync:i,isPending:c}=bt({mutationFn:async o=>{if(!t)throw new Error("No table selected");const l={tableName:t,updates:o.map(u=>({rowData:u.rowData,columnName:u.columnName,value:u.newValue}))},d=new URLSearchParams({db:a??""});return rt.patch("/records",l,{params:d})},onSuccess:async o=>{const l=s();We.success(o.data.data||`${l} ${l===1?"change":"changes"} saved successfully`),n(),await Promise.all([e.invalidateQueries({queryKey:[_.CACHE_KEYS.TABLE_DATA,t],exact:!1})])},onError:o=>{console.error("Update error:",o),We.error("Failed to save changes",{description:o instanceof Error?o.message:"Unknown error occurred"})}});return{updateCell:i,isUpdatingCell:c}},tl=()=>{const{getUpdateCount:e,clearUpdates:t}=be(),{isUpdatingCell:n}=js(),s=g.useCallback(()=>{t()},[t]);return e()===0?null:r.jsx(R,{type:"button",variant:"secondary",className:"h-8! border-l-0 border-y-0 border-r border-zinc-800 rounded-none",onClick:s,"aria-label":"Clear changes to the table",disabled:n,children:"Clear Changes"})},nl=({tableName:e})=>{const t=pt(),{tableCols:n}=De({tableName:e}),{selectedDatabase:s}=st(),{mutateAsync:a,isPending:i,reset:c,error:o}=bt({mutationFn:async({rowData:u,force:f=!1})=>{if(!e)throw new Error("No active table selected");if(!n||n.length===0)throw new Error("No table columns found");return await sl(e,n,u,f,s||void 0)},onSuccess:async u=>{console.log("result",u),We.success(`Deleted ${u.deletedCount} records from "${e}"`),await Promise.all([t.invalidateQueries({queryKey:[_.CACHE_KEYS.TABLE_DATA,e],exact:!1}),t.invalidateQueries({queryKey:[_.CACHE_KEYS.TABLES_LIST]})])},onError:u=>{console.error("Delete error:",u),u instanceof ur&&u.status===409?We.error(`Cannot delete records from "${e}" due to foreign key constraints, on ${u.response?.data.relatedRecords.map(f=>f.tableName).join(", ")}`):We.error(u instanceof Error?u.message:"Unknown error occurred")}});return{deleteCells:async u=>a({rowData:u,force:!1}),forceDeleteCells:async u=>a({rowData:u,force:!0}),isDeletingCells:i,resetDeleteResult:c,deleteCellsError:o}},sl=async(e,t,n,s,a)=>{const i=s?"/records/force":"/records",c=t.find(d=>d.isPrimaryKey);if(!c)throw new Error("No primary key found for this table");const o=n.map(d=>({columnName:c.columnName,value:d[c.columnName]})),l={tableName:e,primaryKeys:o};try{const d=await rt.delete(i,{data:l,params:{db:a}});return{deletedCount:d.data.data.deletedCount,fkViolation:d.data.data.fkViolation,relatedRecords:d.data.data.relatedRecords}}catch(d){const u=d;if(console.log("axiosError",u),u.response?.status===409)return{deletedCount:u.response.data.deletedCount};throw d}},rl=({isOpenFkDialog:e,handleDialogClose:t,relatedRecords:n,handleCancelForceDelete:s,handleForceDelete:a,isDeletingCells:i})=>r.jsx(Tr,{open:e,onOpenChange:t,children:r.jsxs(_r,{className:"max-w-2xl z-500",children:[r.jsxs(Rr,{children:[r.jsx(Wr,{children:"Cannot Delete - Foreign Key Constraint"}),r.jsx(Ar,{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."})]}),r.jsx(al,{relatedRecords:n}),r.jsxs(zr,{className:"gap-2",children:[r.jsx(R,{variant:"outline",onClick:s,disabled:i,children:"Cancel"}),r.jsx(R,{variant:"destructive",onClick:a,disabled:i,children:i?"Deleting...":"Force Delete All"})]})]})}),al=({relatedRecords:e})=>r.jsx("div",{className:"space-y-4 max-h-64 overflow-y-auto",children:e.map((t,n)=>r.jsxs("div",{className:"border border-zinc-700 rounded-md p-3",children:[r.jsxs("div",{className:"font-medium text-sm mb-2",children:["Table: ",r.jsx("span",{className:"text-primary",children:t.tableName}),r.jsxs("span",{className:"text-muted-foreground ml-2",children:["(",t.records.length," record",t.records.length!==1?"s":"",")"]})]}),r.jsxs("div",{className:"text-xs text-muted-foreground mb-2",children:["References column: ",t.columnName]}),r.jsx("div",{className:"bg-zinc-900 rounded p-2 text-xs overflow-x-auto",children:r.jsxs("pre",{className:"whitespace-pre-wrap",children:[JSON.stringify(t.records.slice(0,5),null,2),t.records.length>5&&r.jsxs("div",{className:"text-muted-foreground mt-2",children:["... and ",t.records.length-5," more"]})]})})]},`${t.tableName}-${t.columnName}-${n}`))}),ol=({selectedRows:e,setRowSelection:t,tableName:n})=>{const{deleteCells:s,forceDeleteCells:a,isDeletingCells:i,resetDeleteResult:c}=nl({tableName:n}),[o,l]=g.useState([]),[d,u]=g.useState(!1),[f,h]=g.useState(!1),[p,v]=g.useState([]),k=g.useCallback(()=>{h(!0)},[]),S=g.useCallback(async()=>{const m=e.map(b=>b.original);h(!1);try{await s(m),t({})}catch{l(m),v([]),u(!0)}},[s,e,t]),w=async()=>{if(o.length===0)return;const m=await a(o);console.log("Force delete response:",m),m?.deletedCount>0&&(u(!1),l([]),v([]),c(),t({}))},y=g.useCallback(()=>{u(!1),l([]),v([]),c()},[c]),x=m=>{i||(m?u(m):y())};return e?.length===0?null:r.jsxs(r.Fragment,{children:[r.jsxs(R,{type:"button",variant:"destructive",className:"h-8! border-l-0 border-y-0 border-r border-zinc-800 text-white rounded-none",onClick:k,"aria-label":"Delete the selected record",disabled:i,children:["Delete Record",e?.length>1&&r.jsx("span",{className:"ml-1.5 px-1.5 text-[10px] bg-white/20 border border-white/20 rounded",children:e?.length})]}),r.jsx(Pn,{open:f,onOpenChange:h,children:r.jsxs(In,{children:[r.jsxs(Bn,{children:[r.jsxs(Kn,{children:["Delete ",e.length===1?"Record":"Records"]}),r.jsxs(Vn,{children:["Are you sure you want to delete"," ",e.length===1?"this record":`${e.length} records`," ",'from "',n,'"? This action cannot be undone.']})]}),r.jsxs(Un,{children:[r.jsx(Ln,{children:"Cancel"}),r.jsx($n,{variant:"destructive",onClick:S,children:"Delete"})]})]})}),r.jsx(rl,{isOpenFkDialog:d,handleDialogClose:x,relatedRecords:p,handleCancelForceDelete:y,handleForceDelete:w,isDeletingCells:i})]})},il=({tableName:e})=>{const[t,n]=P(_.TABLE_STATE_KEYS.FILTERS,Be(x=>x).withDefault([]).withOptions({history:"push"})),[,s]=P(_.TABLE_STATE_KEYS.CURSOR),[,a]=P(_.TABLE_STATE_KEYS.DIRECTION),{tableCols:i}=De({tableName:e}),[c,o]=g.useState(!1),[l,d]=g.useState([]),u=()=>{const x=i?.[0]?.columnName??"";d([...l,{columnName:x,operator:"=",value:""}])},f=x=>{d(l.filter((m,b)=>b!==x))},h=(x,m)=>{d(l.map((b,C)=>C===x?{...b,columnName:m}:b))},p=(x,m)=>{d(l.map((b,C)=>C===x?{...b,value:m}:b))},v=(x,m)=>{d(l.map((b,C)=>C===x?{...b,operator:m}:b))},k=()=>{d([]),n([]),s(null),a(null),o(!1)},S=()=>{const x=l.filter(m=>m.columnName&&m.operator&&m.value!=="");n(x),s(null),a(null),o(!1)},w=t.length>0,y=x=>{x&&d(t),o(x)};return r.jsxs(Le,{open:c,onOpenChange:y,children:[r.jsx(gt,{asChild:!0,children:r.jsx(R,{type:"button",variant:"ghost",className:"size-8! aspect-square border-l-0 border-y-0 border-r border-zinc-800 rounded-none","aria-label":"Filter table data","data-active":w,children:r.jsx(Yn,{className:"size-4"})})}),r.jsxs($e,{className:"w-md space-y-2",align:"start",children:[r.jsx("div",{className:"flex items-center gap-4",children:r.jsxs(R,{variant:"outline",size:"lg",className:"text-sm",onClick:u,children:["Add filter",l&&l.length>0&&r.jsx(je,{className:"text-xs font-normal text-white bg-primary/10 border border-primary/90 px-1.5 py-0.5",children:l.length})]})}),r.jsx("div",{className:"flex flex-col gap-4",children:l.length>0?l.map((x,m)=>r.jsxs("div",{className:"flex-1 flex h-9 gap-2",children:[r.jsxs(he,{value:x.columnName,onValueChange:b=>h(m,b),children:[r.jsx(me,{className:"w-full flex-1",children:r.jsx(ge,{placeholder:"Select column"})}),r.jsx(xe,{children:i?.map(b=>r.jsx(B,{value:b.columnName,children:b.columnName},b.columnName))})]}),r.jsxs(he,{value:x.operator,onValueChange:b=>v(m,b),children:[r.jsx(me,{children:r.jsx(ge,{placeholder:"Op"})}),r.jsxs(xe,{children:[r.jsx(B,{value:"=",children:"="}),r.jsx(B,{value:"!=",children:"!="}),r.jsx(B,{value:">",children:">"}),r.jsx(B,{value:">=",children:">="}),r.jsx(B,{value:"<",children:"<"}),r.jsx(B,{value:"<=",children:"<="}),r.jsx(B,{value:"is",children:"is"}),r.jsx(B,{value:"is not",children:"is not"}),r.jsx(B,{value:"like",children:"like"}),r.jsx(B,{value:"not like",children:"not like"}),r.jsx(B,{value:"ilike",children:"ilike"}),r.jsx(B,{value:"not ilike",children:"not ilike"})]})]}),r.jsx(ne,{type:"text",placeholder:"Value",value:x.value,onChange:b=>p(m,b.target.value)}),r.jsx(R,{variant:"ghost",size:"icon",className:"text-xs",onClick:()=>f(m),children:r.jsx(xt,{className:"size-4"})})]},m)):r.jsx("div",{className:"flex-1 flex h-9 gap-2 items-center justify-center",children:r.jsx("p",{className:"text-sm text-muted-foreground text-center",children:"No filters applied"})})}),r.jsxs("div",{className:"gap-2 flex justify-end",children:[r.jsx(R,{variant:"outline",size:"lg",className:"text-sm",onClick:k,children:"Reset"}),r.jsx(R,{variant:"default",size:"lg",className:"text-sm",onClick:S,children:"Apply"})]})]})]})},ll=({tableName:e})=>{const{refetchTableData:t,isRefetchingTableData:n}=wt({tableName:e}),{refetchTableCols:s,isRefetchingTableCols:a}=De({tableName:e}),i=g.useCallback(()=>{Promise.all([t(),s()])},[t,s]);return r.jsx(R,{type:"button",variant:"ghost",className:"size-8! aspect-square border-l-0 border-y-0 border-r border-zinc-800 rounded-none",onClick:i,"aria-label":"Refetch table data and columns",disabled:n||a,children:r.jsx(Fn,{className:"size-4"})})},cl=({setRowSelection:e})=>{const{getUpdates:t,getUpdateCount:n}=be(),{updateCell:s,isUpdatingCell:a}=js(),i=g.useCallback(async()=>{const o=t();if(o.length!==0){console.log("Saving updates:",o);try{await s(o),e({})}catch(l){console.error("Failed to save updates:",l)}}},[t,s,e]);if(n()===0)return null;const c=n();return r.jsxs(R,{type:"button",variant:"default",className:"h-8! border-l-0 border-y-0 border-r border-zinc-800 rounded-none bg-green-700 text-white hover:bg-green-800",onClick:i,"aria-label":"Save changes to the table",disabled:a,children:["Save Changes",c>0&&r.jsx("span",{className:"ml-1.5 px-1.5 text-[10px] bg-white/20 border border-white/20 rounded",children:c})]})},Nn=({selectedRows:e,setRowSelection:t,tableName:n})=>r.jsx("header",{className:"max-h-8 overflow-hidden border-b border-zinc-800 w-full flex items-center justify-between bg-black sticky top-0 left-0 right-0 z-0",children:r.jsxs("div",{className:"flex items-center ",children:[r.jsx(ll,{tableName:n}),r.jsx(il,{tableName:n}),r.jsx(el,{}),r.jsx(cl,{setRowSelection:t}),r.jsx(tl,{}),r.jsx(ol,{tableName:n,selectedRows:e,setRowSelection:t})]})});function Je({table:e,cell:t,rowIndex:n,columnId:s,isEditing:a,isFocused:i,isSelected:c,className:o,onClick:l,onKeyDown:d,...u}){const{getUpdate:f}=be(),h=e.options.meta,p=t.row.original,v=!!f(p,s),k=g.useCallback(C=>{a||(C.preventDefault(),l?.(C),i?h?.onCellEditingStart?.(n,s):h?.onCellClick?.(n,s,C))},[h,n,s,a,i,l]),S=g.useCallback(C=>{a||h?.onCellContextMenu?.(n,s,C)},[h,n,s,a]),w=g.useCallback(C=>{a||h?.onCellMouseDown?.(n,s,C)},[h,n,s,a]),y=g.useCallback(C=>{a||h?.onCellMouseEnter?.(n,s,C)},[h,n,s,a]),x=g.useCallback(()=>{a||h?.onCellMouseUp?.()},[h,a]),m=g.useCallback(C=>{a||(C.preventDefault(),h?.onCellDoubleClick?.(n,s))},[h,n,s,a]),b=g.useCallback(C=>{if(d?.(C),!C.defaultPrevented&&!(C.key==="ArrowUp"||C.key==="ArrowDown"||C.key==="ArrowLeft"||C.key==="ArrowRight"||C.key==="Home"||C.key==="End"||C.key==="PageUp"||C.key==="PageDown"||C.key==="Tab")&&i&&!a){if(C.key==="F2"||C.key==="Enter"){C.preventDefault(),C.stopPropagation(),h?.onCellEditingStart?.(n,s);return}if(C.key===" "){C.preventDefault(),C.stopPropagation(),h?.onCellEditingStart?.(n,s);return}C.key.length===1&&!C.ctrlKey&&!C.metaKey&&(C.preventDefault(),C.stopPropagation(),h?.onCellEditingStart?.(n,s))}},[d,i,a,h,n,s]);return r.jsx("div",{role:"button","data-slot":"grid-cell-wrapper","data-editing":a?"":void 0,"data-focused":i?"":void 0,"data-selected":c?"":void 0,"data-has-update":v?"":void 0,tabIndex:i&&!a?0:-1,className:A("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":i,"bg-primary/10":c&&!a,"cursor-default":!a,"ring-2 ring-primary":v},o),onClick:k,onContextMenu:S,onDoubleClick:m,onMouseDown:w,onMouseEnter:y,onMouseUp:x,onKeyDown:b,...u})}const ht=g.memo(({cell:e,table:t,rowIndex:n,columnId:s,isEditing:a,isFocused:i,isSelected:c})=>{const{setUpdate:o,clearUpdate:l,getUpdate:d}=be(),u=e.getValue(),[f,h]=g.useState(()=>u??""),[p,v]=g.useState(!1),k=g.useRef(null),S=g.useRef(null),w=t.options.meta,y=e.row.original,x=s,m=d(y,x),b=m?m.newValue:u??"",C=g.useCallback(()=>{console.log("onSave",{editorValue:f,initialValue:u,columnName:x,rowData:y}),o(y,x,f,u),w?.onCellEditingStop?.(),v(!1)},[w,f,u,x,y,o]),j=g.useCallback(()=>{h(u??""),l(y,x),w?.onCellEditingStop?.(),v(!1)},[w,u,x,y,l,f]),E=g.useCallback(Y=>{const I=Y.target.value;console.log("onChange",I,x,f,u),h(I)},[x,f,u]),N=g.useCallback(Y=>{v(Y),Y||(f!==u&&o(y,x,f,u),w?.onCellEditingStop?.())},[w,f,u,x,y,o]),O=g.useCallback(Y=>{if(Y.preventDefault(),k.current){k.current.focus();const I=k.current.value.length;k.current.setSelectionRange(I,I)}},[]),T=g.useCallback(Y=>{a&&!p&&(Y.key==="Escape"?(Y.preventDefault(),w?.onCellEditingStop?.()):Y.key==="Tab"&&(Y.preventDefault(),w?.onCellEditingStop?.({direction:Y.shiftKey?"left":"right"})))},[a,p,w]),q=g.useCallback(Y=>{Y.key==="Escape"?(Y.preventDefault(),console.log("onTextareaKeyDown",Y.key,f,u),j()):Y.key==="Enter"&&(Y.ctrlKey||Y.metaKey)&&(Y.preventDefault(),console.log("onTextareaKeyDown",Y.key,f,u),C()),Y.stopPropagation()},[j,C,f,u]),G=g.useCallback(()=>{f!==u&&o(y,x,f,u),w?.onCellEditingStop?.(),v(!1)},[w,f,u,x,y,o]);return g.useEffect(()=>{a&&!p?(h(b),v(!0)):!a&&p&&v(!1)},[a,p,b]),g.useEffect(()=>{i&&!a&&!w?.isScrolling&&S.current&&S.current.focus()},[i,a,w?.isScrolling]),Ke("enter",()=>C()),Ke("esc",()=>j()),r.jsxs(Le,{open:p,onOpenChange:N,children:[r.jsx(Rn,{asChild:!0,children:r.jsx(Je,{ref:S,cell:e,table:t,rowIndex:n,columnId:s,isEditing:a,isFocused:i,isSelected:c,onKeyDown:T,children:r.jsx("span",{"data-slot":"grid-cell-content",children:b})})}),r.jsxs($e,{"data-grid-cell-editor":"",align:"start",side:"bottom",sideOffset:0,className:"w-[400px] rounded-none p-0 gap-0",onOpenAutoFocus:O,children:[r.jsx(ke,{ref:k,value:f,onChange:E,onKeyDown:q,onBlur:G,className:"min-h-[150px] resize-none rounded-none border-0 shadow-none focus-visible:ring-0",placeholder:"Enter text..."}),r.jsxs("div",{className:"flex flex-col border-t",children:[r.jsxs(R,{variant:"ghost",size:"sm",className:"rounded-none justify-start text-xs py-4 px-2",children:[r.jsx(je,{className:"text-xs font-normal",children:"⌘↵"}),r.jsx("span",{className:"ml-1 text-xs",children:"Save Changes"})]}),r.jsxs(R,{variant:"ghost",size:"sm",className:"rounded-none justify-start text-xs py-4 px-2",children:[r.jsx(je,{className:"text-xs font-normal",children:"esc"}),r.jsx("span",{className:"ml-1 text-xs",children:"Cancel Changes"})]})]})]})]})});ht.displayName="TableTextCell";const Ns=g.memo(({cell:e,table:t,rowIndex:n,columnId:s,isEditing:a,isFocused:i,isSelected:c})=>{const{setUpdate:o,clearUpdate:l}=be(),d=e.getValue(),[u,f]=g.useState(()=>d),[h,p]=g.useState(!1),v=g.useRef(null),k=g.useRef(null),S=t.options.meta,w=e.row.original,y=s,x=g.useCallback(()=>{console.log("onSave",{value:u,initialValue:d,columnName:y,rowData:w}),o(w,y,u,d),p(!1),S?.onCellEditingStop?.()},[S,u,d,y,w,o]),m=g.useCallback(()=>{f(d),l(w,y),p(!1),S?.onCellEditingStop?.()},[S,d,y,w,l,u]),b=g.useCallback(N=>{const O=N.target.value;console.log("onChange",O,y,u,d),f(Number(O)),o(w,y,Number(O),d)},[y,u,d,w,o]),C=g.useCallback(N=>{a&&!h&&(N.key==="Escape"?(N.preventDefault(),S?.onCellEditingStop?.()):N.key==="Tab"&&(N.preventDefault(),u!==d&&o(w,y,u,d),S?.onCellEditingStop?.({direction:N.shiftKey?"left":"right"})))},[a,h,S,u,d,y,w,o]),j=g.useCallback(N=>{N.key==="Escape"?(N.preventDefault(),console.log("onTextInputKeyDown",N.key,u,d),m()):N.key==="Enter"&&(N.ctrlKey||N.metaKey)&&(N.preventDefault(),console.log("onTextInputKeyDown",N.key,u,d),x()),N.stopPropagation()},[m,x,u,d]),E=g.useCallback(()=>{u!==d&&o(w,y,u,d),p(!1),S?.onCellEditingStop?.()},[S,u,d,y,w,o]);return a&&!h&&p(!0),g.useEffect(()=>{i&&!a&&!S?.isScrolling&&k.current&&k.current.focus()},[i,a,S?.isScrolling]),Ke("enter",()=>x()),Ke("esc",()=>m()),r.jsx(Je,{ref:k,cell:e,table:t,rowIndex:n,columnId:s,isEditing:a,isFocused:i,isSelected:c,onKeyDown:C,children:r.jsx(ne,{type:"number",ref:v,value:u||"",onChange:N=>b(N),onKeyDown:N=>j(N),onBlur:E,className:"size-full rounded-none border-none p-0 shadow-none hover:bg-transparent! focus-visible:ring-0 dark:bg-transparent [&_svg]:hidden"})})});Ns.displayName="TableNumberCell";const Ds=g.memo(({cell:e,table:t,rowIndex:n,columnId:s,isEditing:a,isFocused:i,isSelected:c})=>{const{setUpdate:o,clearUpdate:l,getUpdate:d}=be(),u=e.getValue(),[f,h]=g.useState(!1),p=g.useRef(null),v=g.useRef(null),k=g.useRef(a),S=t.options.meta;g.useEffect(()=>{k.current=a},[a]);const w=e.row.original,y=s,x=d(w,y),m=x?x.newValue:u,b=g.useMemo(()=>m==null?"null":m?"true":"false",[m]),C=g.useCallback(T=>{let q;T==="null"?q=null:q=T==="true",o(w,y,q,u),h(!1),S?.onCellEditingStop?.()},[y,w,u,o,S]),j=g.useCallback(()=>{l(w,y),h(!1),S?.onCellEditingStop?.()},[w,y,l,S]),E=g.useCallback(T=>{h(T),!T&&a&&S?.onCellEditingStop?.()},[a,S]),N=g.useCallback(T=>{a&&!f&&(T.key==="Escape"?(T.preventDefault(),j()):T.key==="Tab"&&(T.preventDefault(),j(),S?.onCellEditingStop?.({direction:T.shiftKey?"left":"right"})))},[a,f,S,j]);g.useEffect(()=>{if(a){const T=setTimeout(()=>{k.current&&(h(!0),setTimeout(()=>{k.current&&v.current?.click()},0))},0);return()=>{clearTimeout(T),h(!1)}}},[a]),g.useEffect(()=>{i&&!a&&!S?.isScrolling&&p.current&&p.current.focus()},[i,a,S?.isScrolling]);const O=m==null?"NULL":m?"true":"false";return r.jsx(Je,{ref:p,cell:e,table:t,rowIndex:n,columnId:s,isEditing:a,isFocused:i,isSelected:c,onKeyDown:N,className:"p-0!",children:a?r.jsxs(he,{value:b,onValueChange:C,open:f,onOpenChange:E,children:[r.jsx(me,{ref:v,className:"size-full px-2 py-1.5 rounded-none border-none p-0 shadow-none hover:bg-transparent! focus-visible:ring-0 dark:bg-transparent [&_svg]:hidden",children:r.jsx(ge,{})}),r.jsxs(xe,{"data-grid-cell-editor":"",alignOffset:-8,sideOffset:-8,className:"min-w-[calc(var(--radix-select-trigger-width)+16px)]",onEscapeKeyDown:j,onPointerDownOutside:T=>{T.preventDefault(),h(!1),S?.onCellEditingStop?.()},children:[r.jsx(B,{value:"true",children:"true"}),r.jsx(B,{value:"false",children:"false"}),r.jsx(B,{value:"null",children:"NULL"})]})]}):r.jsx("span",{className:"flex items-center size-full px-2 py-1.5",children:O})})});Ds.displayName="TableBooleanCell";const Es=g.memo(({cell:e,table:t,rowIndex:n,columnId:s,isEditing:a,isFocused:i,isSelected:c})=>{const{setUpdate:o,clearUpdate:l,getUpdate:d}=be(),u=e.getValue(),[f,h]=g.useState(!1),p=g.useRef(null),v=g.useRef(null),k=g.useRef(a),S=t.options.meta,w=e.column.columnDef.meta?.enumValues;g.useEffect(()=>{k.current=a},[a]);const y=e.row.original,x=s,m=d(y,x),b=m?m.newValue:u,C=g.useCallback(T=>{o(y,x,T==="null"?null:T,u),h(!1),S?.onCellEditingStop?.()},[x,y,u,o,S]),j=g.useCallback(()=>{l(y,x),h(!1),S?.onCellEditingStop?.()},[y,x,l,S]),E=g.useCallback(T=>{h(T),!T&&a&&S?.onCellEditingStop?.()},[a,S]),N=g.useCallback(T=>{a&&!f&&(T.key==="Escape"?(T.preventDefault(),j()):T.key==="Tab"&&(T.preventDefault(),j(),S?.onCellEditingStop?.({direction:T.shiftKey?"left":"right"})))},[a,f,S,j]);g.useEffect(()=>{if(a){const T=setTimeout(()=>{k.current&&(h(!0),setTimeout(()=>{k.current&&v.current?.click()},0))},0);return()=>{clearTimeout(T),h(!1)}}},[a]),g.useEffect(()=>{i&&!a&&!S?.isScrolling&&p.current&&p.current.focus()},[i,a,S?.isScrolling]);const O=b??"NULL";return r.jsx(Je,{ref:p,cell:e,table:t,rowIndex:n,columnId:s,isEditing:a,isFocused:i,isSelected:c,onKeyDown:N,className:"p-0!",children:a?r.jsxs(he,{value:b===null?"null":b,onValueChange:C,open:f,onOpenChange:E,children:[r.jsx(me,{ref:v,className:"size-full px-2 py-1.5 rounded-none border-none p-0 shadow-none hover:bg-transparent! focus-visible:ring-0 dark:bg-transparent [&_svg]:hidden",children:r.jsx(ge,{})}),r.jsxs(xe,{"data-grid-cell-editor":"",alignOffset:-8,sideOffset:-8,className:"min-w-[calc(var(--radix-select-trigger-width)+16px)]",onEscapeKeyDown:j,onPointerDownOutside:T=>{T.preventDefault(),h(!1),S?.onCellEditingStop?.()},children:[w?.map(T=>r.jsx(B,{value:T,children:T},T)),r.jsx(B,{value:"null",children:"NULL"})]})]}):r.jsx("span",{className:"flex items-center size-full px-2 py-1.5 truncate",children:O})})});Es.displayName="TableEnumCell";const Os=g.memo(({cell:e,table:t,rowIndex:n,columnId:s,isEditing:a,isFocused:i,isSelected:c})=>{const{setUpdate:o,clearUpdate:l,getUpdate:d}=be(),u=e.getValue(),f=g.useRef(null),h=t.options.meta,p=e.row.original,v=s,k=d(p,v),S=k?k.newValue:u,w=g.useCallback(m=>{console.log("onDateChange",m,v,u);const b=m?m.toISOString():null;o(p,v,b,u),h?.onCellEditingStop?.()},[v,u,p,o,h]),y=g.useCallback(()=>{l(p,v),h?.onCellEditingStop?.()},[p,v,l,h,S,u]),x=g.useCallback(m=>{a&&(m.key==="Escape"||m.key==="Tab")&&(m.preventDefault(),y())},[a,y]);return g.useEffect(()=>{i&&!a&&!h?.isScrolling&&f.current&&f.current.focus()},[i,a,h?.isScrolling]),r.jsx(Je,{ref:f,cell:e,table:t,rowIndex:n,columnId:s,isEditing:a,isFocused:i,isSelected:c,onKeyDown:x,className:"p-0!",children:r.jsx(Oe,{isFormatted:!1,icon:!1,value:S?new Date(S):void 0,onChange:w,placeholder:"Pick a date",className:"size-full px-2! py-1.5! rounded-none border-none p-0 shadow-none hover:bg-transparent! focus-visible:ring-0 dark:bg-transparent [&_svg]:hidden"})})});Os.displayName="TableDateCell";const Ms=g.memo(({cell:e,table:t,rowIndex:n,columnId:s,isEditing:a,isFocused:i,isSelected:c})=>{const{setUpdate:o,clearUpdate:l,getUpdate:d}=be(),u=e.getValue();let f;if(typeof u=="string")try{f=JSON.parse(u),console.warn(`TableJsonCell ${s}: initialValue was a string, parsed it to object`,f)}catch(W){console.error(`TableJsonCell ${s}: Failed to parse initialValue string`,u,W),f={}}else f=u;g.useEffect(()=>{console.log(`TableJsonCell ${s} initialValue:`,typeof f,f)},[f,s]);const[h,p]=g.useState(()=>JSON.stringify(f,null,2)??""),[v,k]=g.useState(!1),S=g.useRef(null),w=g.useRef(null),y=t.options.meta,x=e.row.original,m=s,b=d(x,m),C=b?b.newValue:f,j=JSON.stringify(C),E=g.useCallback(()=>{console.log("onSave",{editorValue:h,initialValue:f,columnName:m,rowData:x});try{const W=JSON.parse(h);console.log("Parsed value:",typeof W,W),console.log("Initial value:",typeof f,f),o(x,m,W,f)}catch(W){console.error("Invalid JSON:",W);return}y?.onCellEditingStop?.(),k(!1)},[y,h,f,m,x,o]),N=g.useCallback(()=>{p(JSON.stringify(f,null,2)??""),l(x,m),y?.onCellEditingStop?.(),k(!1)},[y,f,m,x,l,h]),O=g.useCallback(W=>{const Q=W.target.value;console.log("onChange",Q,m,h,f),p(Q)},[m,h,f]),T=g.useCallback(W=>{if(k(W),!W){try{const Q=JSON.parse(h);JSON.stringify(Q)!==JSON.stringify(f)&&o(x,m,Q,f)}catch(Q){console.error("Invalid JSON on close:",Q)}y?.onCellEditingStop?.()}},[y,h,f,m,x,o]),q=g.useCallback(W=>{if(W.preventDefault(),S.current){S.current.focus();const Q=S.current.value.length;S.current.setSelectionRange(Q,Q)}},[]),G=g.useCallback(W=>{a&&!v&&(W.key==="Escape"?(W.preventDefault(),y?.onCellEditingStop?.()):W.key==="Tab"&&(W.preventDefault(),y?.onCellEditingStop?.({direction:W.shiftKey?"left":"right"})))},[a,v,y]),Y=g.useCallback(W=>{W.key==="Escape"?(W.preventDefault(),console.log("onTextareaKeyDown",W.key,h,f),N()):W.key==="Enter"&&(W.ctrlKey||W.metaKey)&&(W.preventDefault(),console.log("onTextareaKeyDown",W.key,h,f),E()),W.stopPropagation()},[N,E,h,f]),I=g.useCallback(()=>{try{const W=JSON.parse(h);JSON.stringify(W)!==JSON.stringify(f)&&o(x,m,W,f)}catch(W){console.error("Invalid JSON on blur:",W)}y?.onCellEditingStop?.(),k(!1)},[y,h,f,m,x,o]);return g.useEffect(()=>{a&&!v?(p(JSON.stringify(C,null,2)),k(!0)):!a&&v&&k(!1)},[a,v,C]),g.useEffect(()=>{i&&!a&&!y?.isScrolling&&w.current&&w.current.focus()},[i,a,y?.isScrolling]),Ke("enter",()=>E()),Ke("esc",()=>N()),r.jsxs(Le,{open:v,onOpenChange:T,children:[r.jsx(Rn,{asChild:!0,children:r.jsx(Je,{ref:w,cell:e,table:t,rowIndex:n,columnId:s,isEditing:a,isFocused:i,isSelected:c,onKeyDown:G,children:r.jsx("span",{"data-slot":"grid-cell-content",children:j})})}),r.jsxs($e,{"data-grid-cell-editor":"",align:"start",side:"bottom",sideOffset:0,className:"w-[400px] rounded-none p-0 gap-0",onOpenAutoFocus:q,children:[r.jsx(ke,{ref:S,value:h,onChange:O,onKeyDown:Y,onBlur:I,className:"min-h-[150px] resize-none rounded-none border-0 shadow-none focus-visible:ring-0",placeholder:"Enter JSON..."}),r.jsxs("div",{className:"flex flex-col border-t",children:[r.jsxs(R,{variant:"ghost",size:"sm",className:"rounded-none justify-start text-xs py-4 px-2",children:[r.jsx(je,{className:"text-xs font-normal",children:"⌘↵"}),r.jsx("span",{className:"ml-1 text-xs",children:"Save Changes"})]}),r.jsxs(R,{variant:"ghost",size:"sm",className:"rounded-none justify-start text-xs py-4 px-2",children:[r.jsx(je,{className:"text-xs font-normal",children:"esc"}),r.jsx("span",{className:"ml-1 text-xs",children:"Cancel Changes"})]})]})]})]})});Ms.displayName="TableJsonCell";const dl=({cell:e,table:t})=>{const n=t.options.meta,s=e.row.index,i=t.getRowModel().rows.findIndex(h=>h.original===e.row.original),c=i>=0?i:s,o=e.column.id,l=n?.focusedCell?.rowIndex===c&&n?.focusedCell?.columnId===o,d=n?.editingCell?.rowIndex===c&&n?.editingCell?.columnId===o,u=n?.getIsCellSelected?.(c,o)??!1;switch(e.column.columnDef.meta?.variant){case"text":return r.jsx(ht,{cell:e,table:t,rowIndex:c,columnId:o,isEditing:d,isFocused:l,isSelected:u});case"boolean":return r.jsx(Ds,{cell:e,table:t,rowIndex:c,columnId:o,isEditing:d,isFocused:l,isSelected:u});case"number":return r.jsx(Ns,{cell:e,table:t,rowIndex:c,columnId:o,isEditing:d,isFocused:l,isSelected:u});case"enum":return r.jsx(Es,{cell:e,table:t,rowIndex:c,columnId:o,isEditing:d,isFocused:l,isSelected:u});case"date":return r.jsx(Os,{cell:e,table:t,rowIndex:c,columnId:o,isEditing:d,isFocused:l,isSelected:u});case"json":return r.jsx(Ms,{cell:e,table:t,rowIndex:c,columnId:o,isEditing:d,isFocused:l,isSelected:u});case"array":return r.jsx(ht,{cell:e,table:t,rowIndex:c,columnId:o,isEditing:d,isFocused:l,isSelected:u});default:return r.jsx(ht,{cell:e,table:t,rowIndex:c,columnId:o,isEditing:d,isFocused:l,isSelected:u})}},ul=({columnVirtualizer:e,row:t,rowVirtualizer:n,virtualPaddingLeft:s,virtualPaddingRight:a,virtualRow:i})=>{const c=t.getVisibleCells(),o=e.getVirtualItems();return r.jsxs("tr",{"data-index":i.index,ref:l=>n.measureElement(l),className:"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",style:{transform:`translateY(${i.start}px)`},children:[s?r.jsx("td",{style:{display:"flex",width:s}}):null,o.map(l=>{const d=c[l.index];return r.jsx("td",{className:A("flex border-r border-zinc-800 h-8"),style:{width:l.index===0?"40px":d.column.getSize()},children:tt(d.column.columnDef.cell,d.getContext())},d.id)}),a?r.jsx("td",{style:{display:"flex",width:a}}):null]},t.id)},fl=({columnVirtualizer:e,table:t,tableContainerRef:n,virtualPaddingLeft:s,virtualPaddingRight:a})=>{const{rows:i}=t.getRowModel(),c=Jn({count:i.length,estimateSize:()=>33,getScrollElement:()=>n.current,measureElement:typeof window<"u"&&navigator.userAgent.indexOf("Firefox")===-1?l=>l?.getBoundingClientRect().height:void 0,overscan:5}),o=c.getVirtualItems();return r.jsx("tbody",{style:{display:"grid",height:`${c.getTotalSize()}px`,position:"relative"},children:o.map(l=>{const d=i[l.index];return r.jsx(ul,{columnVirtualizer:e,row:d,rowVirtualizer:c,virtualPaddingLeft:s,virtualPaddingRight:a,virtualRow:l},d.id)})})},hl=g.memo(ml,(e,t)=>{const n=e.header.column,s=t.header.column;return!(n.getIsResizing()!==s.getIsResizing()||n.getSize()!==s.getSize()||e.label!==t.label)});function ml({header:e,table:t,label:n}){const s=t._getDefaultColumnDef(),a=g.useCallback(()=>{t.setColumnSizing(i=>{const c={...i};return delete c[e.column.id],c})},[e.column.id,t]);return r.jsx("div",{role:"separator","aria-orientation":"vertical","aria-label":`Resize ${n} column`,"aria-valuenow":e.column.getSize(),"aria-valuemin":s.minSize,"aria-valuemax":s.maxSize,tabIndex:0,className:A("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:a,onMouseDown:e.getResizeHandler(),onTouchStart:e.getResizeHandler()})}const gl=({columnVirtualizer:e,headerGroup:t,virtualPaddingLeft:n,virtualPaddingRight:s,table:a})=>{const{table:i}=Lt.useParams(),[c,o]=g.useState(!1),[l,d]=g.useState(null),[u,f]=g.useState(!1),{deleteColumn:h}=Fr(),[,p]=P(_.COLUMN_NAME),[,v]=P(_.TABLE_STATE_KEYS.SORT),[,k]=P(_.TABLE_STATE_KEYS.ORDER),[,S]=P(_.TABLE_STATE_KEYS.CURSOR),[,w]=P(_.TABLE_STATE_KEYS.DIRECTION),y=e.getVirtualItems(),x=a.getState().columnSizingInfo.isResizingColumn,m=g.useCallback(N=>O=>{O===null?(p(null),v(null),k(null)):(p(N),v(N),k(O==="desc"?"desc":"asc")),S(null),w(null)},[p,v,k,S,w]),b=g.useCallback(N=>{d(N),f(!1),o(!0)},[]),C=g.useCallback(N=>{o(N),N||(d(null),f(!1))},[]),j=g.useCallback(async()=>{!l||!i||(await h({db:i,tableName:i,columnName:l,cascade:u}),o(!1),d(null),f(!1))},[l,i,h,u]),E=g.useCallback(()=>{o(!1),d(null),f(!1)},[]);return r.jsxs(r.Fragment,{children:[r.jsxs("tr",{className:A("flex w-fit bg-black border-b items-center justify-between text-sm data-[state=open]:bg-accent/40 [&_svg]:size-4",x&&"pointer-events-none"),children:[n?r.jsx("th",{style:{display:"flex",width:n}}):null,y.map(N=>{const O=t.headers[N.index],T=O.column.columnDef.meta?.isPrimaryKey,q=O.column.columnDef.meta?.isForeignKey,G=O.column.columnDef.meta?.dataTypeLabel;return r.jsx("th",{className:"h-full flex z-100! relative",style:{display:"flex",width:N.index===0?"40px":O.getSize()},children:r.jsx("div",{className:A("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-zinc-800",O.column.getCanSort()?"cursor-pointer select-none":""),children:N.index===0?tt(O.column.columnDef.header,O.getContext()):r.jsxs(r.Fragment,{children:[r.jsxs(Kt,{children:[r.jsx(Vt,{asChild:!0,children:r.jsxs(R,{variant:"outline",className:"relative border-none w-full h-full bg-transparent! rounded-none justify-between",children:[r.jsxs("div",{className:"flex items-center gap-1",children:[T&&r.jsxs(Me,{children:[r.jsx(Te,{asChild:!0,children:r.jsx("span",{className:"inline-flex",children:r.jsx(wr,{size:20,className:"text-primary"})})}),r.jsx(_e,{className:"text-[10px]",children:"primary key"})]}),q&&r.jsxs(Me,{children:[r.jsx(Te,{asChild:!0,children:r.jsx("span",{className:"inline-flex",children:r.jsx(zn,{size:20,className:"text-primary"})})}),r.jsx(_e,{className:"text-[10px]",children:"foreign key"})]}),tt(O.column.columnDef.header,O.getContext())]}),r.jsxs("div",{className:"flex items-center gap-1",children:[G&&r.jsx("span",{className:"text-xs leading-none text-muted-foreground",children:G}),r.jsx("span",{className:"text-xs leading-none text-muted-foreground",children:{asc:r.jsx($t,{}),desc:r.jsx(vr,{})}[O.column.getIsSorted()]??null})]})]})}),r.jsxs(Ut,{className:"w-44",align:"start",children:[r.jsxs(fr,{children:[r.jsxs(Ce,{onClick:()=>m(O.column.id)("asc"),children:[r.jsx(Sr,{}),"Sort ascending"]}),r.jsxs(Ce,{onClick:()=>m(O.column.id)("desc"),children:[r.jsx(kr,{}),"Sort descending"]}),O.column.getIsSorted()&&r.jsxs(Ce,{onClick:()=>m(O.column.id)(null),children:[r.jsx(xt,{}),"Remove sort"]})]}),r.jsx(hr,{}),r.jsxs(Ce,{variant:"destructive",onClick:()=>b(O.column.id),children:[r.jsx(jr,{}),"Delete column"]})]})]}),O.column.getCanResize()&&r.jsx(hl,{header:O,table:a,label:O.column.id})]})})},O.id)}),s?r.jsx("th",{style:{display:"flex",width:s}}):null]},t.id),r.jsx(Pn,{open:c,onOpenChange:C,children:r.jsxs(In,{children:[r.jsxs(Bn,{children:[r.jsx(Kn,{children:"Delete Column"}),r.jsxs(Vn,{children:['Are you sure you want to delete the column "',l,'"? This action cannot be undone and will permanently remove all data in this column.']})]}),r.jsxs("div",{className:"flex gap-2 py-2",children:[r.jsx(It,{id:"cascade-delete",checked:u,onCheckedChange:N=>f(N===!0)}),r.jsx(ie,{htmlFor:"cascade-delete",className:"text-xs text-muted-foreground cursor-pointer",children:"Drop with CASCADE (also remove dependent indexes, constraints, and foreign key references)"})]}),r.jsxs(Un,{children:[r.jsx(Ln,{onClick:E,children:"Cancel"}),r.jsx($n,{variant:"destructive",onClick:j,children:"Delete"})]})]})})]})},xl=({columnVirtualizer:e,table:t,virtualPaddingLeft:n,virtualPaddingRight:s})=>r.jsx("thead",{className:"h-9 grid sticky top-0 z-10",children:t.getHeaderGroups().map(a=>r.jsx(gl,{columnVirtualizer:e,headerGroup:a,table:t,virtualPaddingLeft:n,virtualPaddingRight:s},a.id))}),pl=({table:e})=>{const t=e.getVisibleLeafColumns(),n=g.useRef(null),s=Jn({count:t.length,estimateSize:o=>t[o].getSize(),getScrollElement:()=>n.current,horizontal:!0,overscan:3}),a=s.getVirtualItems();let i,c;return s&&a?.length&&(i=a[0]?.start??0,c=s.getTotalSize()-(a[a.length-1]?.end??0)),r.jsx("div",{className:"w-full flex-1 overflow-auto",ref:n,style:{position:"relative"},children:r.jsxs("table",{style:{display:"grid"},children:[r.jsx(xl,{columnVirtualizer:s,table:e,virtualPaddingLeft:i,virtualPaddingRight:c}),r.jsx(fl,{columnVirtualizer:s,table:e,tableContainerRef:n,virtualPaddingLeft:i,virtualPaddingRight:c})]})})};function bl({className:e,...t}){return r.jsx("nav",{"aria-label":"pagination","data-slot":"pagination",className:A("mx-auto flex w-full justify-center",e),...t})}function yl({className:e,...t}){return r.jsx("ul",{"data-slot":"pagination-content",className:A("flex flex-row items-center gap-1",e),...t})}function Dn({...e}){return r.jsx("li",{"data-slot":"pagination-item",...e})}const Cl=({tableName:e})=>{const{sidebar:{isPinned:t,width:n}}=mr(),[s,a]=P(_.TABLE_STATE_KEYS.LIMIT),[,i]=P(_.TABLE_STATE_KEYS.CURSOR),[,c]=P(_.TABLE_STATE_KEYS.DIRECTION),{tableData:o}=wt({tableName:e}),l=o?.meta?.total??0,d=o?.data?.length??0,[u,f]=g.useState(s??"50"),h=g.useRef(null);g.useEffect(()=>{f(s??"50")},[s]);const p=w=>{const y=parseInt(w,10);if(Number.isNaN(y)||y<1)return;const x=Math.min(y,1e4).toString();f(x),a(x),i(null),c(null)},v=()=>{o?.meta?.nextCursor&&(i(o.meta.nextCursor),c("asc"))},k=()=>{o?.meta?.prevCursor&&(i(o.meta.prevCursor),c("desc"))},S=()=>{i(null),c(null)};return r.jsxs("footer",{className:"fixed bottom-0 left-0 right-0 h-9 border-t border-zinc-800 flex items-center justify-between bg-black px-2 text-white",style:{marginLeft:t?`${n}px`:"0"},children:[r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx(ie,{className:"text-xs text-zinc-400 whitespace-nowrap",children:"Rows per page"}),r.jsxs("div",{className:"flex items-center h-6 rounded-sm border border-transparent hover:border-zinc-700 focus-within:border-zinc-600 transition-colors",children:[r.jsx("input",{ref:h,type:"number",min:1,max:1e4,value:u,onChange:w=>f(w.target.value),onBlur:w=>p(w.target.value),onKeyDown:w=>{w.key==="Enter"&&h.current?.blur()},className:"w-10 h-full bg-transparent text-xs text-center text-white outline-none [appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none"}),r.jsxs(Kt,{children:[r.jsx(Vt,{asChild:!0,children:r.jsx("button",{type:"button",className:"flex items-center h-full px-0.5 text-zinc-500 hover:text-zinc-300 transition-colors focus:outline-none","aria-label":"Choose preset row count",children:r.jsx($t,{className:"size-3"})})}),r.jsx(Ut,{align:"start",className:"min-w-16 border-zinc-800",children:gr.map(w=>r.jsx(Ce,{onSelect:()=>p(w.toString()),className:"text-xs justify-center",children:w},w))})]})]})]}),r.jsx("div",{className:"flex items-center justify-center text-xs text-zinc-400",children:r.jsxs("p",{className:"whitespace-nowrap","aria-live":"polite",children:["Showing ",r.jsx("span",{className:"text-zinc-200",children:d})," of"," ",r.jsx("span",{className:"text-zinc-200",children:l})," rows"]})}),r.jsxs("div",{className:"flex items-center gap-0.5",children:[r.jsx(R,{size:"sm",variant:"ghost",className:"h-6 w-6 disabled:opacity-30",onClick:S,disabled:!o?.meta?.hasPreviousPage||l===0,"aria-label":"Go to first page",children:r.jsx(Nr,{"aria-hidden":"true"})}),r.jsx(bl,{children:r.jsxs(yl,{className:"gap-0.5",children:[r.jsx(Dn,{children:r.jsx(R,{size:"icon-sm",variant:"ghost",className:"h-6 w-6 disabled:opacity-30",onClick:k,disabled:!o?.meta?.hasPreviousPage||l===0,"aria-label":"Go to previous page",children:r.jsx(Wn,{"aria-hidden":"true"})})}),r.jsx(Dn,{children:r.jsx(R,{size:"icon-sm",variant:"ghost",className:"h-6 w-6 disabled:opacity-30",onClick:v,disabled:!o?.meta?.hasNextPage||l===0,"aria-label":"Go to next page",children:r.jsx(An,{"aria-hidden":"true"})})})]})})]})]})},wl=()=>({id:"select",accessorKey:"select",header:({table:e})=>r.jsx("div",{className:"w-full h-full flex items-center justify-center",children:r.jsx(It,{checked:e.getIsAllRowsSelected(),onCheckedChange:()=>e.toggleAllRowsSelected()})}),cell:({row:e})=>r.jsx("div",{className:"w-full h-full flex items-center justify-center",children:r.jsx(It,{checked:e.getIsSelected(),onCheckedChange:()=>e.toggleSelected()})}),size:20,enableSorting:!1}),vl=({tableName:e})=>{const[t]=P(_.COLUMN_NAME),[n]=P(_.TABLE_STATE_KEYS.ORDER),{tableData:s,isLoadingTableData:a,errorTableData:i}=wt({tableName:e}),{tableCols:c,isLoadingTableCols:o,errorTableCols:l}=De({tableName:e}),[d,u]=g.useState({}),[f,h]=g.useState({}),[p,v]=g.useState(null),[k,S]=g.useState(null),w=g.useMemo(()=>wl(),[]),y=g.useMemo(()=>[w,...c?.map(I=>({accessorKey:I.columnName,header:I.columnName,meta:{variant:I.enumValues?"enum":I.dataType,isPrimaryKey:I.isPrimaryKey,isForeignKey:I.isForeignKey,referencedTable:I.referencedTable,referencedColumn:I.referencedColumn,enumValues:I.enumValues,dataTypeLabel:I.dataTypeLabel},size:(I.columnName.length+(I.dataTypeLabel?.length||0))*5+100,minSize:100,maxSize:500}))||[]],[c,w]);g.useEffect(()=>{u({})},[e]);const x=g.useMemo(()=>t&&n?[{id:t,desc:n==="desc"}]:[],[t,n]),m=g.useMemo(()=>s?.data||[],[s?.data]),b=g.useCallback((I,W)=>{v({rowIndex:I,columnId:W})},[]),C=g.useCallback((I,W)=>{S({rowIndex:I,columnId:W})},[]),j=g.useCallback((I,W)=>{S({rowIndex:I,columnId:W})},[]),E=g.useCallback(()=>{S(null)},[]),N=g.useCallback(I=>{console.log("Data update:",I)},[]),O=g.useCallback(()=>!1,[]),T=g.useMemo(()=>({focusedCell:p,editingCell:k,onCellClick:b,onCellDoubleClick:C,onCellEditingStart:j,onCellEditingStop:E,onDataUpdate:N,getIsCellSelected:O}),[p,k,b,C,j,E,N,O]),q=Hn({data:m,columns:y,defaultColumn:{cell:dl,size:50,minSize:100,maxSize:500},getCoreRowModel:qn(),getSortedRowModel:Or(),state:{sorting:x,rowSelection:d,columnSizing:f},manualSorting:!1,enableRowSelection:!0,enableMultiRowSelection:!0,enableColumnResizing:!0,columnResizeMode:"onChange",onRowSelectionChange:u,onColumnSizingChange:h,meta:T});if(a||o)return r.jsx("div",{className:"size-full flex items-center justify-center",children:r.jsx(_n,{size:"size-7"})});if(i||l){const I=i||l,W=I?.message||"",Q=W.includes("does not exist")||W.includes("404")||I?.status===404,Ge=W.includes("Network Error")||W.includes("Failed to fetch");let Z="Something went wrong",ee=W||"An unexpected error occurred";return Q?(Z="Table not found",ee=W||`The table "${e}" does not exist or has been deleted`):Ge&&(Z="Connection failed",ee="Unable to connect to the database server. Please check your connection."),r.jsx("div",{className:"size-full flex flex-col items-center justify-center",children:r.jsxs("div",{className:"flex-1 flex flex-col items-center justify-center gap-2",children:[r.jsx("div",{className:"text-sm font-medium",children:Z}),r.jsx("div",{className:"text-sm text-muted-foreground",children:ee})]})})}const G=!s||!s.data||s.data.length===0,Y=q.getSelectedRowModel().rows;return G?r.jsxs("div",{className:"size-full flex flex-col items-center justify-center",children:[r.jsx(Nn,{selectedRows:Y,setRowSelection:u,tableName:e}),r.jsxs("div",{className:"text-sm text-muted-foreground flex-1 flex items-center justify-center",children:['No data available for "',e,'" table']})]}):r.jsxs("div",{className:"flex-1 w-full flex flex-col overflow-hidden",children:[r.jsx(Nn,{selectedRows:Y,setRowSelection:u,tableName:e}),r.jsx(pl,{table:q}),r.jsx(Cl,{tableName:e})]})};function Al(){const{table:e}=Lt.useParams();return r.jsxs("main",{className:"flex-1 flex flex-col overflow-hidden",children:[r.jsx(vl,{tableName:e}),r.jsx($i,{tableName:e}),r.jsx(Zi,{tableName:e}),r.jsx(Gi,{tableName:e}),r.jsx(Xi,{tableName:e}),r.jsx(Qi,{tableName:e})]})}export{Al as component};