d1s 0.2.11 → 0.2.13

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 (318) hide show
  1. package/dist/.next/.next/BUILD_ID +1 -1
  2. package/dist/.next/.next/app-build-manifest.json +28 -28
  3. package/dist/.next/.next/app-path-routes-manifest.json +1 -1
  4. package/dist/.next/.next/build-manifest.json +3 -3
  5. package/dist/.next/.next/cache/.rscinfo +1 -1
  6. package/dist/.next/.next/cache/.tsbuildinfo +1 -1
  7. package/dist/.next/.next/cache/webpack/client-production/0.pack +0 -0
  8. package/dist/.next/.next/cache/webpack/client-production/1.pack +0 -0
  9. package/dist/.next/.next/cache/webpack/client-production/10.pack +0 -0
  10. package/dist/.next/.next/cache/webpack/client-production/11.pack +0 -0
  11. package/dist/.next/.next/cache/webpack/client-production/12.pack +0 -0
  12. package/dist/.next/.next/cache/webpack/client-production/2.pack +0 -0
  13. package/dist/.next/.next/cache/webpack/client-production/3.pack +0 -0
  14. package/dist/.next/.next/cache/webpack/client-production/4.pack +0 -0
  15. package/dist/.next/.next/cache/webpack/client-production/5.pack +0 -0
  16. package/dist/.next/.next/cache/webpack/client-production/6.pack +0 -0
  17. package/dist/.next/.next/cache/webpack/client-production/7.pack +0 -0
  18. package/dist/.next/.next/cache/webpack/client-production/8.pack +0 -0
  19. package/dist/.next/.next/cache/webpack/client-production/9.pack +0 -0
  20. package/dist/.next/.next/cache/webpack/client-production/index.pack +0 -0
  21. package/dist/.next/.next/cache/webpack/client-production/index.pack.old +0 -0
  22. package/dist/.next/.next/cache/webpack/edge-server-production/index.pack +0 -0
  23. package/dist/.next/.next/cache/webpack/server-production/0.pack +0 -0
  24. package/dist/.next/.next/cache/webpack/server-production/1.pack +0 -0
  25. package/dist/.next/.next/cache/webpack/server-production/2.pack +0 -0
  26. package/dist/.next/.next/cache/webpack/server-production/3.pack +0 -0
  27. package/dist/.next/.next/cache/webpack/server-production/index.pack +0 -0
  28. package/dist/.next/.next/cache/webpack/server-production/index.pack.old +0 -0
  29. package/dist/.next/.next/next-minimal-server.js.nft.json +1 -1
  30. package/dist/.next/.next/next-server.js.nft.json +1 -1
  31. package/dist/.next/.next/prerender-manifest.json +1 -1
  32. package/dist/.next/.next/required-server-files.json +1 -1
  33. package/dist/.next/.next/server/app/_not-found/page.js +1 -1
  34. package/dist/.next/.next/server/app/_not-found/page.js.nft.json +1 -1
  35. package/dist/.next/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  36. package/dist/.next/.next/server/app/_not-found.html +1 -1
  37. package/dist/.next/.next/server/app/_not-found.rsc +4 -4
  38. package/dist/.next/.next/server/app/api/cloudflare/route.js +1 -1
  39. package/dist/.next/.next/server/app/api/cloudflare/route_client-reference-manifest.js +1 -1
  40. package/dist/.next/.next/server/app/api/databases/route.js +1 -1
  41. package/dist/.next/.next/server/app/api/databases/route_client-reference-manifest.js +1 -1
  42. package/dist/.next/.next/server/app/api/migrations/sync/route.js +5 -5
  43. package/dist/.next/.next/server/app/api/migrations/sync/route_client-reference-manifest.js +1 -1
  44. package/dist/.next/.next/server/app/api/migrations/sync-files/route.js +3 -3
  45. package/dist/.next/.next/server/app/api/migrations/sync-files/route_client-reference-manifest.js +1 -1
  46. package/dist/.next/.next/server/app/api/pull-data/confirm/route.js +1 -1
  47. package/dist/.next/.next/server/app/api/pull-data/confirm/route_client-reference-manifest.js +1 -1
  48. package/dist/.next/.next/server/app/api/pull-remote/confirm/route.js +2 -2
  49. package/dist/.next/.next/server/app/api/pull-remote/confirm/route_client-reference-manifest.js +1 -1
  50. package/dist/.next/.next/server/app/api/pull-remote/preview/route.js +4 -4
  51. package/dist/.next/.next/server/app/api/pull-remote/preview/route_client-reference-manifest.js +1 -1
  52. package/dist/.next/.next/server/app/api/push-remote/confirm/route.js +5 -5
  53. package/dist/.next/.next/server/app/api/push-remote/confirm/route_client-reference-manifest.js +1 -1
  54. package/dist/.next/.next/server/app/api/push-remote/preview/route.js +4 -4
  55. package/dist/.next/.next/server/app/api/push-remote/preview/route_client-reference-manifest.js +1 -1
  56. package/dist/.next/.next/server/app/api/query/route.js +3 -3
  57. package/dist/.next/.next/server/app/api/query/route_client-reference-manifest.js +1 -1
  58. package/dist/.next/.next/server/app/api/tables/[name]/route.js +5 -5
  59. package/dist/.next/.next/server/app/api/tables/[name]/route_client-reference-manifest.js +1 -1
  60. package/dist/.next/.next/server/app/api/tables/route.js +2 -2
  61. package/dist/.next/.next/server/app/api/tables/route_client-reference-manifest.js +1 -1
  62. package/dist/.next/.next/server/app/api/update/route.js +1 -1
  63. package/dist/.next/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
  64. package/dist/.next/.next/server/app/index.html +2 -2
  65. package/dist/.next/.next/server/app/index.rsc +5 -5
  66. package/dist/.next/.next/server/app/page.js +7 -7
  67. package/dist/.next/.next/server/app/page.js.nft.json +1 -1
  68. package/dist/.next/.next/server/app/page_client-reference-manifest.js +1 -1
  69. package/dist/.next/.next/server/app-paths-manifest.json +1 -1
  70. package/dist/.next/.next/server/chunks/226.js +12 -12
  71. package/dist/.next/.next/server/chunks/391.js +1 -1
  72. package/dist/.next/.next/server/chunks/572.js +1 -0
  73. package/dist/.next/.next/server/chunks/992.js +3 -3
  74. package/dist/.next/.next/server/middleware-build-manifest.js +1 -1
  75. package/dist/.next/.next/server/next-font-manifest.js +1 -1
  76. package/dist/.next/.next/server/next-font-manifest.json +1 -1
  77. package/dist/.next/.next/server/pages/404.html +1 -1
  78. package/dist/.next/.next/server/pages/500.html +1 -1
  79. package/dist/.next/.next/server/server-reference-manifest.json +1 -1
  80. package/dist/.next/.next/static/chunks/{576-c4daf274bb6469a1.js → 576-18a2209e1ed26aad.js} +1 -1
  81. package/dist/.next/.next/static/chunks/{92-c4466e0f1ca8a3a8.js → 92-5f7522943fcb72a8.js} +1 -1
  82. package/dist/.next/.next/static/chunks/app/{layout-be6ee67cf0c92654.js → layout-40ec07d04681ba81.js} +1 -1
  83. package/dist/.next/.next/static/chunks/app/page-f05cd0fc436bf9bc.js +1 -0
  84. package/dist/.next/.next/static/chunks/app/page-f2bc307c0d8acdaa.js +1 -0
  85. package/dist/.next/.next/static/chunks/{main-app-fa35024de9bd9284.js → main-app-4506e88db72db4b7.js} +1 -1
  86. package/dist/.next/.next/static/css/{9f6c25c5400f83d3.css → 7c16f57d325d0d7d.css} +1 -1
  87. package/dist/.next/.next/static/ejYPqJ2kVicVp5EFWOZIC/_buildManifest.js +1 -0
  88. package/dist/.next/.next/static/ejYPqJ2kVicVp5EFWOZIC/_ssgManifest.js +1 -0
  89. package/dist/.next/.next/static/gABGrAoO8IPArDo_Ns_7g/_buildManifest.js +1 -0
  90. package/dist/.next/.next/static/gABGrAoO8IPArDo_Ns_7g/_ssgManifest.js +1 -0
  91. package/dist/.next/.next/static/gh-QfIUVo4FTTduYCVKT6/_buildManifest.js +1 -0
  92. package/dist/.next/.next/static/gh-QfIUVo4FTTduYCVKT6/_ssgManifest.js +1 -0
  93. package/dist/.next/.next/static/media/8d697b304b401681-s.woff2 +0 -0
  94. package/dist/.next/.next/static/media/9610d9e46709d722-s.woff2 +0 -0
  95. package/dist/.next/.next/static/thaCy2qVeNqYYhdayr13C/_buildManifest.js +1 -0
  96. package/dist/.next/.next/static/thaCy2qVeNqYYhdayr13C/_ssgManifest.js +1 -0
  97. package/dist/.next/.next/static/ybCx6L6gHqtODbKmlhU-d/_buildManifest.js +1 -0
  98. package/dist/.next/.next/static/ybCx6L6gHqtODbKmlhU-d/_ssgManifest.js +1 -0
  99. package/dist/.next/.next/trace +3 -3
  100. package/dist/.next/.next/types/app/api/cloudflare/route.ts +1 -1
  101. package/dist/.next/.next/types/app/api/databases/route.ts +1 -1
  102. package/dist/.next/.next/types/app/api/migrations/sync/route.ts +1 -1
  103. package/dist/.next/.next/types/app/api/migrations/sync-files/route.ts +1 -1
  104. package/dist/.next/.next/types/app/api/pull-data/confirm/route.ts +1 -1
  105. package/dist/.next/.next/types/app/api/pull-remote/confirm/route.ts +1 -1
  106. package/dist/.next/.next/types/app/api/pull-remote/preview/route.ts +1 -1
  107. package/dist/.next/.next/types/app/api/push-remote/confirm/route.ts +1 -1
  108. package/dist/.next/.next/types/app/api/push-remote/preview/route.ts +1 -1
  109. package/dist/.next/.next/types/app/api/query/route.ts +1 -1
  110. package/dist/.next/.next/types/app/api/tables/[name]/route.ts +1 -1
  111. package/dist/.next/.next/types/app/api/tables/route.ts +1 -1
  112. package/dist/.next/.next/types/app/api/update/route.ts +1 -1
  113. package/dist/.next/.next/types/app/page.ts +1 -1
  114. package/dist/.next/BUILD_ID +1 -1
  115. package/dist/.next/app-build-manifest.json +28 -28
  116. package/dist/.next/app-path-routes-manifest.json +1 -1
  117. package/dist/.next/build-manifest.json +3 -3
  118. package/dist/.next/cache/.rscinfo +1 -1
  119. package/dist/.next/cache/.tsbuildinfo +1 -1
  120. package/dist/.next/cache/webpack/client-production/0.pack +0 -0
  121. package/dist/.next/cache/webpack/client-production/1.pack +0 -0
  122. package/dist/.next/cache/webpack/client-production/2.pack +0 -0
  123. package/dist/.next/cache/webpack/client-production/index.pack +0 -0
  124. package/dist/.next/cache/webpack/client-production/index.pack.old +0 -0
  125. package/dist/.next/cache/webpack/edge-server-production/index.pack +0 -0
  126. package/dist/.next/cache/webpack/server-production/0.pack +0 -0
  127. package/dist/.next/cache/webpack/server-production/index.pack +0 -0
  128. package/dist/.next/next-minimal-server.js.nft.json +1 -1
  129. package/dist/.next/next-server.js.nft.json +1 -1
  130. package/dist/.next/prerender-manifest.json +1 -1
  131. package/dist/.next/required-server-files.json +1 -1
  132. package/dist/.next/server/app/_not-found/page.js +1 -1
  133. package/dist/.next/server/app/_not-found/page.js.nft.json +1 -1
  134. package/dist/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  135. package/dist/.next/server/app/_not-found.html +1 -1
  136. package/dist/.next/server/app/_not-found.rsc +4 -4
  137. package/dist/.next/server/app/api/cloudflare/route.js +1 -1
  138. package/dist/.next/server/app/api/cloudflare/route_client-reference-manifest.js +1 -1
  139. package/dist/.next/server/app/api/databases/route.js +1 -1
  140. package/dist/.next/server/app/api/databases/route_client-reference-manifest.js +1 -1
  141. package/dist/.next/server/app/api/migrations/sync/route.js +5 -5
  142. package/dist/.next/server/app/api/migrations/sync/route_client-reference-manifest.js +1 -1
  143. package/dist/.next/server/app/api/migrations/sync-files/route.js +3 -3
  144. package/dist/.next/server/app/api/migrations/sync-files/route_client-reference-manifest.js +1 -1
  145. package/dist/.next/server/app/api/pull-data/confirm/route.js +1 -1
  146. package/dist/.next/server/app/api/pull-data/confirm/route_client-reference-manifest.js +1 -1
  147. package/dist/.next/server/app/api/pull-remote/confirm/route.js +2 -2
  148. package/dist/.next/server/app/api/pull-remote/confirm/route_client-reference-manifest.js +1 -1
  149. package/dist/.next/server/app/api/pull-remote/preview/route.js +4 -4
  150. package/dist/.next/server/app/api/pull-remote/preview/route_client-reference-manifest.js +1 -1
  151. package/dist/.next/server/app/api/push-remote/confirm/route.js +5 -5
  152. package/dist/.next/server/app/api/push-remote/confirm/route_client-reference-manifest.js +1 -1
  153. package/dist/.next/server/app/api/push-remote/preview/route.js +4 -4
  154. package/dist/.next/server/app/api/push-remote/preview/route_client-reference-manifest.js +1 -1
  155. package/dist/.next/server/app/api/query/route.js +3 -3
  156. package/dist/.next/server/app/api/query/route_client-reference-manifest.js +1 -1
  157. package/dist/.next/server/app/api/tables/[name]/route.js +5 -5
  158. package/dist/.next/server/app/api/tables/[name]/route_client-reference-manifest.js +1 -1
  159. package/dist/.next/server/app/api/tables/route.js +2 -2
  160. package/dist/.next/server/app/api/tables/route_client-reference-manifest.js +1 -1
  161. package/dist/.next/server/app/api/update/route.js +1 -1
  162. package/dist/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
  163. package/dist/.next/server/app/index.html +2 -2
  164. package/dist/.next/server/app/index.rsc +5 -5
  165. package/dist/.next/server/app/page.js +7 -7
  166. package/dist/.next/server/app/page.js.nft.json +1 -1
  167. package/dist/.next/server/app/page_client-reference-manifest.js +1 -1
  168. package/dist/.next/server/app-paths-manifest.json +1 -1
  169. package/dist/.next/server/chunks/226.js +12 -12
  170. package/dist/.next/server/chunks/391.js +1 -1
  171. package/dist/.next/server/chunks/572.js +1 -0
  172. package/dist/.next/server/chunks/992.js +3 -3
  173. package/dist/.next/server/middleware-build-manifest.js +1 -1
  174. package/dist/.next/server/next-font-manifest.js +1 -1
  175. package/dist/.next/server/next-font-manifest.json +1 -1
  176. package/dist/.next/server/pages/404.html +1 -1
  177. package/dist/.next/server/pages/500.html +1 -1
  178. package/dist/.next/server/server-reference-manifest.json +1 -1
  179. package/dist/.next/static/IX-QLbm7scYnyqWeeimal/_buildManifest.js +1 -0
  180. package/dist/.next/static/IX-QLbm7scYnyqWeeimal/_ssgManifest.js +1 -0
  181. package/dist/.next/static/chunks/{576-c4daf274bb6469a1.js → 576-18a2209e1ed26aad.js} +1 -1
  182. package/dist/.next/static/chunks/{92-c4466e0f1ca8a3a8.js → 92-5f7522943fcb72a8.js} +1 -1
  183. package/dist/.next/static/chunks/app/{layout-be6ee67cf0c92654.js → layout-40ec07d04681ba81.js} +1 -1
  184. package/dist/.next/static/chunks/app/page-f05cd0fc436bf9bc.js +1 -0
  185. package/dist/.next/static/chunks/{main-app-fa35024de9bd9284.js → main-app-4506e88db72db4b7.js} +1 -1
  186. package/dist/.next/static/css/{9f6c25c5400f83d3.css → 7c16f57d325d0d7d.css} +1 -1
  187. package/dist/.next/static/media/8d697b304b401681-s.woff2 +0 -0
  188. package/dist/.next/static/media/9610d9e46709d722-s.woff2 +0 -0
  189. package/dist/.next/trace +3 -14
  190. package/dist/.next/types/app/api/cloudflare/route.ts +1 -1
  191. package/dist/.next/types/app/api/databases/route.ts +1 -1
  192. package/dist/.next/types/app/api/migrations/sync/route.ts +1 -1
  193. package/dist/.next/types/app/api/migrations/sync-files/route.ts +1 -1
  194. package/dist/.next/types/app/api/pull-data/confirm/route.ts +1 -1
  195. package/dist/.next/types/app/api/pull-remote/confirm/route.ts +1 -1
  196. package/dist/.next/types/app/api/pull-remote/preview/route.ts +1 -1
  197. package/dist/.next/types/app/api/push-remote/confirm/route.ts +1 -1
  198. package/dist/.next/types/app/api/push-remote/preview/route.ts +1 -1
  199. package/dist/.next/types/app/api/query/route.ts +1 -1
  200. package/dist/.next/types/app/api/tables/[name]/route.ts +1 -1
  201. package/dist/.next/types/app/api/tables/route.ts +1 -1
  202. package/dist/.next/types/app/api/update/route.ts +1 -1
  203. package/dist/.next/types/app/page.ts +1 -1
  204. package/dist/app/api/tables/[name]/route.js +22 -10
  205. package/dist/app/globals.css +39 -0
  206. package/dist/d1-studio.js +2 -2
  207. package/dist/lib/data-type-handlers.js +426 -0
  208. package/dist/lib/sql-operations.js +32 -8
  209. package/dist/lib/sql-sanitizer.js +233 -0
  210. package/package.json +3 -9
  211. package/dist/.next/.next/server/chunks/90.js +0 -1
  212. package/dist/.next/.next/static/chunks/app/page-36ed30b2266617f3.js +0 -1
  213. package/dist/.next/server/chunks/90.js +0 -1
  214. package/dist/.next/static/chunks/app/page-36ed30b2266617f3.js +0 -1
  215. package/dist/app/app/api/cloudflare/route.js +0 -150
  216. package/dist/app/app/api/databases/route.js +0 -71
  217. package/dist/app/app/api/migrations/sync/route.js +0 -174
  218. package/dist/app/app/api/migrations/sync-files/route.js +0 -172
  219. package/dist/app/app/api/pull-data/confirm/route.js +0 -230
  220. package/dist/app/app/api/pull-remote/confirm/route.js +0 -278
  221. package/dist/app/app/api/pull-remote/preview/route.js +0 -144
  222. package/dist/app/app/api/push-remote/confirm/route.js +0 -196
  223. package/dist/app/app/api/push-remote/preview/route.js +0 -179
  224. package/dist/app/app/api/query/route.js +0 -168
  225. package/dist/app/app/api/tables/[name]/route.js +0 -174
  226. package/dist/app/app/api/tables/route.js +0 -178
  227. package/dist/app/app/api/update/route.js +0 -45
  228. package/dist/app/app/globals.css +0 -93
  229. package/dist/app/app/layout.jsx +0 -35
  230. package/dist/app/app/page.jsx +0 -34
  231. package/next.config.mjs +0 -18
  232. package/postcss.config.mjs +0 -8
  233. package/scripts/studio.js +0 -199
  234. package/scripts/test.js +0 -366
  235. package/src/app/api/cloudflare/route.js +0 -150
  236. package/src/app/api/databases/route.js +0 -71
  237. package/src/app/api/migrations/sync/route.js +0 -174
  238. package/src/app/api/migrations/sync-files/route.js +0 -172
  239. package/src/app/api/pull-data/confirm/route.js +0 -230
  240. package/src/app/api/pull-remote/confirm/route.js +0 -278
  241. package/src/app/api/pull-remote/preview/route.js +0 -144
  242. package/src/app/api/push-remote/confirm/route.js +0 -196
  243. package/src/app/api/push-remote/preview/route.js +0 -179
  244. package/src/app/api/query/route.js +0 -168
  245. package/src/app/api/tables/[name]/route.js +0 -174
  246. package/src/app/api/tables/route.js +0 -178
  247. package/src/app/api/update/route.js +0 -45
  248. package/src/app/globals.css +0 -93
  249. package/src/app/layout.jsx +0 -35
  250. package/src/app/page.jsx +0 -34
  251. package/src/components/cloudflare-credentials-modal.jsx +0 -94
  252. package/src/components/column-selector.jsx +0 -133
  253. package/src/components/column-sorting.jsx +0 -65
  254. package/src/components/delete-records-dialog.jsx +0 -64
  255. package/src/components/download-button.jsx +0 -205
  256. package/src/components/edit-error-alert.jsx +0 -30
  257. package/src/components/editable-cell.jsx +0 -163
  258. package/src/components/editable-row.jsx +0 -169
  259. package/src/components/environment-handler.jsx +0 -332
  260. package/src/components/environment-select.jsx +0 -62
  261. package/src/components/pull-preview-toast.jsx +0 -215
  262. package/src/components/push-error-alert.jsx +0 -72
  263. package/src/components/push-preview-toast.jsx +0 -183
  264. package/src/components/query-results.jsx +0 -112
  265. package/src/components/refresh-button.jsx +0 -61
  266. package/src/components/resize-columns.jsx +0 -101
  267. package/src/components/sidebar.jsx +0 -254
  268. package/src/components/sql-editor.jsx +0 -411
  269. package/src/components/sql-error-display.jsx +0 -167
  270. package/src/components/sync-migrations-button.jsx +0 -87
  271. package/src/components/table-error-dialog.jsx +0 -65
  272. package/src/components/table-toolbar.jsx +0 -285
  273. package/src/components/table-view.jsx +0 -843
  274. package/src/components/ui/alert.jsx +0 -47
  275. package/src/components/ui/button.jsx +0 -48
  276. package/src/components/ui/card.jsx +0 -50
  277. package/src/components/ui/checkbox.jsx +0 -24
  278. package/src/components/ui/collapsible.jsx +0 -11
  279. package/src/components/ui/dialog.jsx +0 -96
  280. package/src/components/ui/dropdown-menu.jsx +0 -158
  281. package/src/components/ui/input.jsx +0 -19
  282. package/src/components/ui/scroll-area.jsx +0 -40
  283. package/src/components/ui/select.jsx +0 -121
  284. package/src/components/ui/separator.jsx +0 -25
  285. package/src/components/ui/sheet.jsx +0 -109
  286. package/src/components/ui/sidebar.jsx +0 -620
  287. package/src/components/ui/skeleton.jsx +0 -14
  288. package/src/components/ui/table.jsx +0 -86
  289. package/src/components/ui/tabs.jsx +0 -43
  290. package/src/components/ui/toast.jsx +0 -86
  291. package/src/components/ui/toaster.jsx +0 -35
  292. package/src/components/ui/tooltip.jsx +0 -28
  293. package/src/components/update-banner.jsx +0 -93
  294. package/src/context/database-context.js +0 -510
  295. package/src/hooks/use-mobile.jsx +0 -19
  296. package/src/hooks/use-sql-error.ts +0 -23
  297. package/src/hooks/use-toast.js +0 -155
  298. package/src/lib/database-queue.js +0 -37
  299. package/src/lib/error.js +0 -20
  300. package/src/lib/find-wrangler-config.js +0 -74
  301. package/src/lib/license.js +0 -99
  302. package/src/lib/logger.js +0 -58
  303. package/src/lib/migrations.js +0 -415
  304. package/src/lib/parse-sql-error.js +0 -200
  305. package/src/lib/request-deduplication.js +0 -24
  306. package/src/lib/schema-operations.js +0 -106
  307. package/src/lib/sql-error-types.js +0 -14
  308. package/src/lib/sql-operations.js +0 -647
  309. package/src/lib/utils.js +0 -6
  310. package/src/lib/version-utils.js +0 -34
  311. /package/dist/.next/.next/static/{OUHnbB-64afrrZQL0Srn5 → FEsQ9jwPUQv5A3fwg6Opl}/_buildManifest.js +0 -0
  312. /package/dist/.next/.next/static/{OUHnbB-64afrrZQL0Srn5 → FEsQ9jwPUQv5A3fwg6Opl}/_ssgManifest.js +0 -0
  313. /package/dist/.next/.next/static/{ZBTCAyp1kO5FdEHMU-Dw2 → Y9mYu4WBghepP5oT_3OdR}/_buildManifest.js +0 -0
  314. /package/dist/.next/.next/static/{ZBTCAyp1kO5FdEHMU-Dw2 → Y9mYu4WBghepP5oT_3OdR}/_ssgManifest.js +0 -0
  315. /package/dist/.next/.next/static/{bHYW7fgIBDF8-Q33_WPoE → ae3gNmoSGm-R5LJC4UagI}/_buildManifest.js +0 -0
  316. /package/dist/.next/.next/static/{bHYW7fgIBDF8-Q33_WPoE → ae3gNmoSGm-R5LJC4UagI}/_ssgManifest.js +0 -0
  317. /package/dist/.next/{static/ZBTCAyp1kO5FdEHMU-Dw2 → .next/static/bKfUJeuvAQlBmR3TjrfkH}/_buildManifest.js +0 -0
  318. /package/dist/.next/{static/ZBTCAyp1kO5FdEHMU-Dw2 → .next/static/bKfUJeuvAQlBmR3TjrfkH}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[92],{5613:e=>{e.exports={style:{fontFamily:"'Geist', 'Geist Fallback'",fontStyle:"normal"},className:"__className_4d318d",variable:"__variable_4d318d"}},7207:e=>{e.exports={style:{fontFamily:"'Geist Mono', 'Geist Mono Fallback'",fontStyle:"normal"},className:"__className_ea5f4b",variable:"__variable_ea5f4b"}},9930:(e,t,r)=>{"use strict";r.d(t,{Kq:()=>B,LM:()=>J,VY:()=>ee,bL:()=>Q,bm:()=>er,hE:()=>$,rc:()=>et});var n=r(2115),o=r(7650),a=r(3610),s=r(8068),i=r(9741),l=r(8166),u=r(9674),c=r(7323),d=r(7028),p=r(3360),v=r(1524),f=r(1488),m=r(6611),w=r(3543),y=r(5155),E="ToastProvider",[x,h,T]=(0,i.N)("Toast"),[b,g]=(0,l.A)("Toast",[T]),[C,P]=b(E),R=e=>{let{__scopeToast:t,label:r="Notification",duration:o=5e3,swipeDirection:a="right",swipeThreshold:s=50,children:i}=e,[l,u]=n.useState(null),[c,d]=n.useState(0),p=n.useRef(!1),v=n.useRef(!1);return r.trim()||console.error("Invalid prop `label` supplied to `".concat(E,"`. Expected non-empty `string`.")),(0,y.jsx)(x.Provider,{scope:t,children:(0,y.jsx)(C,{scope:t,label:r,duration:o,swipeDirection:a,swipeThreshold:s,toastCount:c,viewport:l,onViewportChange:u,onToastAdd:n.useCallback(()=>d(e=>e+1),[]),onToastRemove:n.useCallback(()=>d(e=>e-1),[]),isFocusedToastEscapeKeyDownRef:p,isClosePausedRef:v,children:i})})};R.displayName=E;var N="ToastViewport",L=["F8"],j="toast.viewportPause",F="toast.viewportResume",k=n.forwardRef((e,t)=>{let{__scopeToast:r,hotkey:o=L,label:a="Notifications ({hotkey})",...i}=e,l=P(N,r),c=h(r),d=n.useRef(null),v=n.useRef(null),f=n.useRef(null),m=n.useRef(null),w=(0,s.s)(t,m,l.onViewportChange),E=o.join("+").replace(/Key/g,"").replace(/Digit/g,""),T=l.toastCount>0;n.useEffect(()=>{let e=e=>{var t;0!==o.length&&o.every(t=>e[t]||e.code===t)&&(null===(t=m.current)||void 0===t||t.focus())};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[o]),n.useEffect(()=>{let e=d.current,t=m.current;if(T&&e&&t){let r=()=>{if(!l.isClosePausedRef.current){let e=new CustomEvent(j);t.dispatchEvent(e),l.isClosePausedRef.current=!0}},n=()=>{if(l.isClosePausedRef.current){let e=new CustomEvent(F);t.dispatchEvent(e),l.isClosePausedRef.current=!1}},o=t=>{e.contains(t.relatedTarget)||n()},a=()=>{e.contains(document.activeElement)||n()};return e.addEventListener("focusin",r),e.addEventListener("focusout",o),e.addEventListener("pointermove",r),e.addEventListener("pointerleave",a),window.addEventListener("blur",r),window.addEventListener("focus",n),()=>{e.removeEventListener("focusin",r),e.removeEventListener("focusout",o),e.removeEventListener("pointermove",r),e.removeEventListener("pointerleave",a),window.removeEventListener("blur",r),window.removeEventListener("focus",n)}}},[T,l.isClosePausedRef]);let b=n.useCallback(e=>{let{tabbingDirection:t}=e,r=c().map(e=>{let r=e.ref.current,n=[r,...function(e){let t=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t="INPUT"===e.tagName&&"hidden"===e.type;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)t.push(r.currentNode);return t}(r)];return"forwards"===t?n:n.reverse()});return("forwards"===t?r.reverse():r).flat()},[c]);return n.useEffect(()=>{let e=m.current;if(e){let t=t=>{let r=t.altKey||t.ctrlKey||t.metaKey;if("Tab"===t.key&&!r){var n,o,a;let r=document.activeElement,s=t.shiftKey;if(t.target===e&&s){null===(n=v.current)||void 0===n||n.focus();return}let i=b({tabbingDirection:s?"backwards":"forwards"}),l=i.findIndex(e=>e===r);z(i.slice(l+1))?t.preventDefault():s?null===(o=v.current)||void 0===o||o.focus():null===(a=f.current)||void 0===a||a.focus()}};return e.addEventListener("keydown",t),()=>e.removeEventListener("keydown",t)}},[c,b]),(0,y.jsxs)(u.lg,{ref:d,role:"region","aria-label":a.replace("{hotkey}",E),tabIndex:-1,style:{pointerEvents:T?void 0:"none"},children:[T&&(0,y.jsx)(S,{ref:v,onFocusFromOutsideViewport:()=>{z(b({tabbingDirection:"forwards"}))}}),(0,y.jsx)(x.Slot,{scope:r,children:(0,y.jsx)(p.sG.ol,{tabIndex:-1,...i,ref:w})}),T&&(0,y.jsx)(S,{ref:f,onFocusFromOutsideViewport:()=>{z(b({tabbingDirection:"backwards"}))}})]})});k.displayName=N;var D="ToastFocusProxy",S=n.forwardRef((e,t)=>{let{__scopeToast:r,onFocusFromOutsideViewport:n,...o}=e,a=P(D,r);return(0,y.jsx)(w.s,{"aria-hidden":!0,tabIndex:0,...o,ref:t,style:{position:"fixed"},onFocus:e=>{var t;let r=e.relatedTarget;(null===(t=a.viewport)||void 0===t?void 0:t.contains(r))||n()}})});S.displayName=D;var _="Toast",I=n.forwardRef((e,t)=>{let{forceMount:r,open:n,defaultOpen:o,onOpenChange:s,...i}=e,[l=!0,u]=(0,f.i)({prop:n,defaultProp:o,onChange:s});return(0,y.jsx)(d.C,{present:r||l,children:(0,y.jsx)(K,{open:l,...i,ref:t,onClose:()=>u(!1),onPause:(0,v.c)(e.onPause),onResume:(0,v.c)(e.onResume),onSwipeStart:(0,a.m)(e.onSwipeStart,e=>{e.currentTarget.setAttribute("data-swipe","start")}),onSwipeMove:(0,a.m)(e.onSwipeMove,e=>{let{x:t,y:r}=e.detail.delta;e.currentTarget.setAttribute("data-swipe","move"),e.currentTarget.style.setProperty("--radix-toast-swipe-move-x","".concat(t,"px")),e.currentTarget.style.setProperty("--radix-toast-swipe-move-y","".concat(r,"px"))}),onSwipeCancel:(0,a.m)(e.onSwipeCancel,e=>{e.currentTarget.setAttribute("data-swipe","cancel"),e.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),e.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),e.currentTarget.style.removeProperty("--radix-toast-swipe-end-x"),e.currentTarget.style.removeProperty("--radix-toast-swipe-end-y")}),onSwipeEnd:(0,a.m)(e.onSwipeEnd,e=>{let{x:t,y:r}=e.detail.delta;e.currentTarget.setAttribute("data-swipe","end"),e.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),e.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),e.currentTarget.style.setProperty("--radix-toast-swipe-end-x","".concat(t,"px")),e.currentTarget.style.setProperty("--radix-toast-swipe-end-y","".concat(r,"px")),u(!1)})})})});I.displayName=_;var[A,M]=b(_,{onClose(){}}),K=n.forwardRef((e,t)=>{let{__scopeToast:r,type:i="foreground",duration:l,open:c,onClose:d,onEscapeKeyDown:f,onPause:m,onResume:w,onSwipeStart:E,onSwipeMove:h,onSwipeCancel:T,onSwipeEnd:b,...g}=e,C=P(_,r),[R,N]=n.useState(null),L=(0,s.s)(t,e=>N(e)),k=n.useRef(null),D=n.useRef(null),S=l||C.duration,I=n.useRef(0),M=n.useRef(S),K=n.useRef(0),{onToastAdd:O,onToastRemove:V}=C,q=(0,v.c)(()=>{var e;(null==R?void 0:R.contains(document.activeElement))&&(null===(e=C.viewport)||void 0===e||e.focus()),d()}),U=n.useCallback(e=>{e&&e!==1/0&&(window.clearTimeout(K.current),I.current=new Date().getTime(),K.current=window.setTimeout(q,e))},[q]);n.useEffect(()=>{let e=C.viewport;if(e){let t=()=>{U(M.current),null==w||w()},r=()=>{let e=new Date().getTime()-I.current;M.current=M.current-e,window.clearTimeout(K.current),null==m||m()};return e.addEventListener(j,r),e.addEventListener(F,t),()=>{e.removeEventListener(j,r),e.removeEventListener(F,t)}}},[C.viewport,S,m,w,U]),n.useEffect(()=>{c&&!C.isClosePausedRef.current&&U(S)},[c,S,C.isClosePausedRef,U]),n.useEffect(()=>(O(),()=>V()),[O,V]);let X=n.useMemo(()=>R?function e(t){let r=[];return Array.from(t.childNodes).forEach(t=>{if(t.nodeType===t.TEXT_NODE&&t.textContent&&r.push(t.textContent),t.nodeType===t.ELEMENT_NODE){let n=t.ariaHidden||t.hidden||"none"===t.style.display,o=""===t.dataset.radixToastAnnounceExclude;if(!n){if(o){let e=t.dataset.radixToastAnnounceAlt;e&&r.push(e)}else r.push(...e(t))}}}),r}(R):null,[R]);return C.viewport?(0,y.jsxs)(y.Fragment,{children:[X&&(0,y.jsx)(G,{__scopeToast:r,role:"status","aria-live":"foreground"===i?"assertive":"polite","aria-atomic":!0,children:X}),(0,y.jsx)(A,{scope:r,onClose:q,children:o.createPortal((0,y.jsx)(x.ItemSlot,{scope:r,children:(0,y.jsx)(u.bL,{asChild:!0,onEscapeKeyDown:(0,a.m)(f,()=>{C.isFocusedToastEscapeKeyDownRef.current||q(),C.isFocusedToastEscapeKeyDownRef.current=!1}),children:(0,y.jsx)(p.sG.li,{role:"status","aria-live":"off","aria-atomic":!0,tabIndex:0,"data-state":c?"open":"closed","data-swipe-direction":C.swipeDirection,...g,ref:L,style:{userSelect:"none",touchAction:"none",...e.style},onKeyDown:(0,a.m)(e.onKeyDown,e=>{"Escape"!==e.key||(null==f||f(e.nativeEvent),e.nativeEvent.defaultPrevented||(C.isFocusedToastEscapeKeyDownRef.current=!0,q()))}),onPointerDown:(0,a.m)(e.onPointerDown,e=>{0===e.button&&(k.current={x:e.clientX,y:e.clientY})}),onPointerMove:(0,a.m)(e.onPointerMove,e=>{if(!k.current)return;let t=e.clientX-k.current.x,r=e.clientY-k.current.y,n=!!D.current,o=["left","right"].includes(C.swipeDirection),a=["left","up"].includes(C.swipeDirection)?Math.min:Math.max,s=o?a(0,t):0,i=o?0:a(0,r),l="touch"===e.pointerType?10:2,u={x:s,y:i},c={originalEvent:e,delta:u};n?(D.current=u,W("toast.swipeMove",h,c,{discrete:!1})):Z(u,C.swipeDirection,l)?(D.current=u,W("toast.swipeStart",E,c,{discrete:!1}),e.target.setPointerCapture(e.pointerId)):(Math.abs(t)>l||Math.abs(r)>l)&&(k.current=null)}),onPointerUp:(0,a.m)(e.onPointerUp,e=>{let t=D.current,r=e.target;if(r.hasPointerCapture(e.pointerId)&&r.releasePointerCapture(e.pointerId),D.current=null,k.current=null,t){let r=e.currentTarget,n={originalEvent:e,delta:t};Z(t,C.swipeDirection,C.swipeThreshold)?W("toast.swipeEnd",b,n,{discrete:!0}):W("toast.swipeCancel",T,n,{discrete:!0}),r.addEventListener("click",e=>e.preventDefault(),{once:!0})}})})})}),C.viewport)})]}):null}),G=e=>{let{__scopeToast:t,children:r,...o}=e,a=P(_,t),[s,i]=n.useState(!1),[l,u]=n.useState(!1);return function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:()=>{},t=(0,v.c)(e);(0,m.N)(()=>{let e=0,r=0;return e=window.requestAnimationFrame(()=>r=window.requestAnimationFrame(t)),()=>{window.cancelAnimationFrame(e),window.cancelAnimationFrame(r)}},[t])}(()=>i(!0)),n.useEffect(()=>{let e=window.setTimeout(()=>u(!0),1e3);return()=>window.clearTimeout(e)},[]),l?null:(0,y.jsx)(c.Z,{asChild:!0,children:(0,y.jsx)(w.s,{...o,children:s&&(0,y.jsxs)(y.Fragment,{children:[a.label," ",r]})})})},O=n.forwardRef((e,t)=>{let{__scopeToast:r,...n}=e;return(0,y.jsx)(p.sG.div,{...n,ref:t})});O.displayName="ToastTitle";var V=n.forwardRef((e,t)=>{let{__scopeToast:r,...n}=e;return(0,y.jsx)(p.sG.div,{...n,ref:t})});V.displayName="ToastDescription";var q="ToastAction",U=n.forwardRef((e,t)=>{let{altText:r,...n}=e;return r.trim()?(0,y.jsx)(H,{altText:r,asChild:!0,children:(0,y.jsx)(Y,{...n,ref:t})}):(console.error("Invalid prop `altText` supplied to `".concat(q,"`. Expected non-empty `string`.")),null)});U.displayName=q;var X="ToastClose",Y=n.forwardRef((e,t)=>{let{__scopeToast:r,...n}=e,o=M(X,r);return(0,y.jsx)(H,{asChild:!0,children:(0,y.jsx)(p.sG.button,{type:"button",...n,ref:t,onClick:(0,a.m)(e.onClick,o.onClose)})})});Y.displayName=X;var H=n.forwardRef((e,t)=>{let{__scopeToast:r,altText:n,...o}=e;return(0,y.jsx)(p.sG.div,{"data-radix-toast-announce-exclude":"","data-radix-toast-announce-alt":n||void 0,...o,ref:t})});function W(e,t,r,n){let{discrete:o}=n,a=r.originalEvent.currentTarget,s=new CustomEvent(e,{bubbles:!0,cancelable:!0,detail:r});t&&a.addEventListener(e,t,{once:!0}),o?(0,p.hO)(a,s):a.dispatchEvent(s)}var Z=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=Math.abs(e.x),o=Math.abs(e.y),a=n>o;return"left"===t||"right"===t?a&&n>r:!a&&o>r};function z(e){let t=document.activeElement;return e.some(e=>e===t||(e.focus(),document.activeElement!==t))}var B=R,J=k,Q=I,$=O,ee=V,et=U,er=Y}}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[92],{5613:e=>{e.exports={style:{fontFamily:"'Geist', 'Geist Fallback'",fontStyle:"normal"},className:"__className_5cfdac",variable:"__variable_5cfdac"}},7207:e=>{e.exports={style:{fontFamily:"'Geist Mono', 'Geist Mono Fallback'",fontStyle:"normal"},className:"__className_9a8899",variable:"__variable_9a8899"}},9930:(e,t,r)=>{"use strict";r.d(t,{Kq:()=>B,LM:()=>J,VY:()=>ee,bL:()=>Q,bm:()=>er,hE:()=>$,rc:()=>et});var n=r(2115),o=r(7650),a=r(3610),s=r(8068),i=r(9741),l=r(8166),u=r(9674),c=r(7323),d=r(7028),p=r(3360),v=r(1524),f=r(1488),m=r(6611),w=r(3543),y=r(5155),E="ToastProvider",[x,h,T]=(0,i.N)("Toast"),[b,g]=(0,l.A)("Toast",[T]),[C,P]=b(E),R=e=>{let{__scopeToast:t,label:r="Notification",duration:o=5e3,swipeDirection:a="right",swipeThreshold:s=50,children:i}=e,[l,u]=n.useState(null),[c,d]=n.useState(0),p=n.useRef(!1),v=n.useRef(!1);return r.trim()||console.error("Invalid prop `label` supplied to `".concat(E,"`. Expected non-empty `string`.")),(0,y.jsx)(x.Provider,{scope:t,children:(0,y.jsx)(C,{scope:t,label:r,duration:o,swipeDirection:a,swipeThreshold:s,toastCount:c,viewport:l,onViewportChange:u,onToastAdd:n.useCallback(()=>d(e=>e+1),[]),onToastRemove:n.useCallback(()=>d(e=>e-1),[]),isFocusedToastEscapeKeyDownRef:p,isClosePausedRef:v,children:i})})};R.displayName=E;var N="ToastViewport",L=["F8"],j="toast.viewportPause",F="toast.viewportResume",k=n.forwardRef((e,t)=>{let{__scopeToast:r,hotkey:o=L,label:a="Notifications ({hotkey})",...i}=e,l=P(N,r),c=h(r),d=n.useRef(null),v=n.useRef(null),f=n.useRef(null),m=n.useRef(null),w=(0,s.s)(t,m,l.onViewportChange),E=o.join("+").replace(/Key/g,"").replace(/Digit/g,""),T=l.toastCount>0;n.useEffect(()=>{let e=e=>{var t;0!==o.length&&o.every(t=>e[t]||e.code===t)&&(null===(t=m.current)||void 0===t||t.focus())};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[o]),n.useEffect(()=>{let e=d.current,t=m.current;if(T&&e&&t){let r=()=>{if(!l.isClosePausedRef.current){let e=new CustomEvent(j);t.dispatchEvent(e),l.isClosePausedRef.current=!0}},n=()=>{if(l.isClosePausedRef.current){let e=new CustomEvent(F);t.dispatchEvent(e),l.isClosePausedRef.current=!1}},o=t=>{e.contains(t.relatedTarget)||n()},a=()=>{e.contains(document.activeElement)||n()};return e.addEventListener("focusin",r),e.addEventListener("focusout",o),e.addEventListener("pointermove",r),e.addEventListener("pointerleave",a),window.addEventListener("blur",r),window.addEventListener("focus",n),()=>{e.removeEventListener("focusin",r),e.removeEventListener("focusout",o),e.removeEventListener("pointermove",r),e.removeEventListener("pointerleave",a),window.removeEventListener("blur",r),window.removeEventListener("focus",n)}}},[T,l.isClosePausedRef]);let b=n.useCallback(e=>{let{tabbingDirection:t}=e,r=c().map(e=>{let r=e.ref.current,n=[r,...function(e){let t=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t="INPUT"===e.tagName&&"hidden"===e.type;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)t.push(r.currentNode);return t}(r)];return"forwards"===t?n:n.reverse()});return("forwards"===t?r.reverse():r).flat()},[c]);return n.useEffect(()=>{let e=m.current;if(e){let t=t=>{let r=t.altKey||t.ctrlKey||t.metaKey;if("Tab"===t.key&&!r){var n,o,a;let r=document.activeElement,s=t.shiftKey;if(t.target===e&&s){null===(n=v.current)||void 0===n||n.focus();return}let i=b({tabbingDirection:s?"backwards":"forwards"}),l=i.findIndex(e=>e===r);z(i.slice(l+1))?t.preventDefault():s?null===(o=v.current)||void 0===o||o.focus():null===(a=f.current)||void 0===a||a.focus()}};return e.addEventListener("keydown",t),()=>e.removeEventListener("keydown",t)}},[c,b]),(0,y.jsxs)(u.lg,{ref:d,role:"region","aria-label":a.replace("{hotkey}",E),tabIndex:-1,style:{pointerEvents:T?void 0:"none"},children:[T&&(0,y.jsx)(S,{ref:v,onFocusFromOutsideViewport:()=>{z(b({tabbingDirection:"forwards"}))}}),(0,y.jsx)(x.Slot,{scope:r,children:(0,y.jsx)(p.sG.ol,{tabIndex:-1,...i,ref:w})}),T&&(0,y.jsx)(S,{ref:f,onFocusFromOutsideViewport:()=>{z(b({tabbingDirection:"backwards"}))}})]})});k.displayName=N;var D="ToastFocusProxy",S=n.forwardRef((e,t)=>{let{__scopeToast:r,onFocusFromOutsideViewport:n,...o}=e,a=P(D,r);return(0,y.jsx)(w.s,{"aria-hidden":!0,tabIndex:0,...o,ref:t,style:{position:"fixed"},onFocus:e=>{var t;let r=e.relatedTarget;(null===(t=a.viewport)||void 0===t?void 0:t.contains(r))||n()}})});S.displayName=D;var _="Toast",I=n.forwardRef((e,t)=>{let{forceMount:r,open:n,defaultOpen:o,onOpenChange:s,...i}=e,[l=!0,u]=(0,f.i)({prop:n,defaultProp:o,onChange:s});return(0,y.jsx)(d.C,{present:r||l,children:(0,y.jsx)(K,{open:l,...i,ref:t,onClose:()=>u(!1),onPause:(0,v.c)(e.onPause),onResume:(0,v.c)(e.onResume),onSwipeStart:(0,a.m)(e.onSwipeStart,e=>{e.currentTarget.setAttribute("data-swipe","start")}),onSwipeMove:(0,a.m)(e.onSwipeMove,e=>{let{x:t,y:r}=e.detail.delta;e.currentTarget.setAttribute("data-swipe","move"),e.currentTarget.style.setProperty("--radix-toast-swipe-move-x","".concat(t,"px")),e.currentTarget.style.setProperty("--radix-toast-swipe-move-y","".concat(r,"px"))}),onSwipeCancel:(0,a.m)(e.onSwipeCancel,e=>{e.currentTarget.setAttribute("data-swipe","cancel"),e.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),e.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),e.currentTarget.style.removeProperty("--radix-toast-swipe-end-x"),e.currentTarget.style.removeProperty("--radix-toast-swipe-end-y")}),onSwipeEnd:(0,a.m)(e.onSwipeEnd,e=>{let{x:t,y:r}=e.detail.delta;e.currentTarget.setAttribute("data-swipe","end"),e.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),e.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),e.currentTarget.style.setProperty("--radix-toast-swipe-end-x","".concat(t,"px")),e.currentTarget.style.setProperty("--radix-toast-swipe-end-y","".concat(r,"px")),u(!1)})})})});I.displayName=_;var[A,M]=b(_,{onClose(){}}),K=n.forwardRef((e,t)=>{let{__scopeToast:r,type:i="foreground",duration:l,open:c,onClose:d,onEscapeKeyDown:f,onPause:m,onResume:w,onSwipeStart:E,onSwipeMove:h,onSwipeCancel:T,onSwipeEnd:b,...g}=e,C=P(_,r),[R,N]=n.useState(null),L=(0,s.s)(t,e=>N(e)),k=n.useRef(null),D=n.useRef(null),S=l||C.duration,I=n.useRef(0),M=n.useRef(S),K=n.useRef(0),{onToastAdd:O,onToastRemove:V}=C,q=(0,v.c)(()=>{var e;(null==R?void 0:R.contains(document.activeElement))&&(null===(e=C.viewport)||void 0===e||e.focus()),d()}),U=n.useCallback(e=>{e&&e!==1/0&&(window.clearTimeout(K.current),I.current=new Date().getTime(),K.current=window.setTimeout(q,e))},[q]);n.useEffect(()=>{let e=C.viewport;if(e){let t=()=>{U(M.current),null==w||w()},r=()=>{let e=new Date().getTime()-I.current;M.current=M.current-e,window.clearTimeout(K.current),null==m||m()};return e.addEventListener(j,r),e.addEventListener(F,t),()=>{e.removeEventListener(j,r),e.removeEventListener(F,t)}}},[C.viewport,S,m,w,U]),n.useEffect(()=>{c&&!C.isClosePausedRef.current&&U(S)},[c,S,C.isClosePausedRef,U]),n.useEffect(()=>(O(),()=>V()),[O,V]);let X=n.useMemo(()=>R?function e(t){let r=[];return Array.from(t.childNodes).forEach(t=>{if(t.nodeType===t.TEXT_NODE&&t.textContent&&r.push(t.textContent),t.nodeType===t.ELEMENT_NODE){let n=t.ariaHidden||t.hidden||"none"===t.style.display,o=""===t.dataset.radixToastAnnounceExclude;if(!n){if(o){let e=t.dataset.radixToastAnnounceAlt;e&&r.push(e)}else r.push(...e(t))}}}),r}(R):null,[R]);return C.viewport?(0,y.jsxs)(y.Fragment,{children:[X&&(0,y.jsx)(G,{__scopeToast:r,role:"status","aria-live":"foreground"===i?"assertive":"polite","aria-atomic":!0,children:X}),(0,y.jsx)(A,{scope:r,onClose:q,children:o.createPortal((0,y.jsx)(x.ItemSlot,{scope:r,children:(0,y.jsx)(u.bL,{asChild:!0,onEscapeKeyDown:(0,a.m)(f,()=>{C.isFocusedToastEscapeKeyDownRef.current||q(),C.isFocusedToastEscapeKeyDownRef.current=!1}),children:(0,y.jsx)(p.sG.li,{role:"status","aria-live":"off","aria-atomic":!0,tabIndex:0,"data-state":c?"open":"closed","data-swipe-direction":C.swipeDirection,...g,ref:L,style:{userSelect:"none",touchAction:"none",...e.style},onKeyDown:(0,a.m)(e.onKeyDown,e=>{"Escape"!==e.key||(null==f||f(e.nativeEvent),e.nativeEvent.defaultPrevented||(C.isFocusedToastEscapeKeyDownRef.current=!0,q()))}),onPointerDown:(0,a.m)(e.onPointerDown,e=>{0===e.button&&(k.current={x:e.clientX,y:e.clientY})}),onPointerMove:(0,a.m)(e.onPointerMove,e=>{if(!k.current)return;let t=e.clientX-k.current.x,r=e.clientY-k.current.y,n=!!D.current,o=["left","right"].includes(C.swipeDirection),a=["left","up"].includes(C.swipeDirection)?Math.min:Math.max,s=o?a(0,t):0,i=o?0:a(0,r),l="touch"===e.pointerType?10:2,u={x:s,y:i},c={originalEvent:e,delta:u};n?(D.current=u,W("toast.swipeMove",h,c,{discrete:!1})):Z(u,C.swipeDirection,l)?(D.current=u,W("toast.swipeStart",E,c,{discrete:!1}),e.target.setPointerCapture(e.pointerId)):(Math.abs(t)>l||Math.abs(r)>l)&&(k.current=null)}),onPointerUp:(0,a.m)(e.onPointerUp,e=>{let t=D.current,r=e.target;if(r.hasPointerCapture(e.pointerId)&&r.releasePointerCapture(e.pointerId),D.current=null,k.current=null,t){let r=e.currentTarget,n={originalEvent:e,delta:t};Z(t,C.swipeDirection,C.swipeThreshold)?W("toast.swipeEnd",b,n,{discrete:!0}):W("toast.swipeCancel",T,n,{discrete:!0}),r.addEventListener("click",e=>e.preventDefault(),{once:!0})}})})})}),C.viewport)})]}):null}),G=e=>{let{__scopeToast:t,children:r,...o}=e,a=P(_,t),[s,i]=n.useState(!1),[l,u]=n.useState(!1);return function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:()=>{},t=(0,v.c)(e);(0,m.N)(()=>{let e=0,r=0;return e=window.requestAnimationFrame(()=>r=window.requestAnimationFrame(t)),()=>{window.cancelAnimationFrame(e),window.cancelAnimationFrame(r)}},[t])}(()=>i(!0)),n.useEffect(()=>{let e=window.setTimeout(()=>u(!0),1e3);return()=>window.clearTimeout(e)},[]),l?null:(0,y.jsx)(c.Z,{asChild:!0,children:(0,y.jsx)(w.s,{...o,children:s&&(0,y.jsxs)(y.Fragment,{children:[a.label," ",r]})})})},O=n.forwardRef((e,t)=>{let{__scopeToast:r,...n}=e;return(0,y.jsx)(p.sG.div,{...n,ref:t})});O.displayName="ToastTitle";var V=n.forwardRef((e,t)=>{let{__scopeToast:r,...n}=e;return(0,y.jsx)(p.sG.div,{...n,ref:t})});V.displayName="ToastDescription";var q="ToastAction",U=n.forwardRef((e,t)=>{let{altText:r,...n}=e;return r.trim()?(0,y.jsx)(H,{altText:r,asChild:!0,children:(0,y.jsx)(Y,{...n,ref:t})}):(console.error("Invalid prop `altText` supplied to `".concat(q,"`. Expected non-empty `string`.")),null)});U.displayName=q;var X="ToastClose",Y=n.forwardRef((e,t)=>{let{__scopeToast:r,...n}=e,o=M(X,r);return(0,y.jsx)(H,{asChild:!0,children:(0,y.jsx)(p.sG.button,{type:"button",...n,ref:t,onClick:(0,a.m)(e.onClick,o.onClose)})})});Y.displayName=X;var H=n.forwardRef((e,t)=>{let{__scopeToast:r,altText:n,...o}=e;return(0,y.jsx)(p.sG.div,{"data-radix-toast-announce-exclude":"","data-radix-toast-announce-alt":n||void 0,...o,ref:t})});function W(e,t,r,n){let{discrete:o}=n,a=r.originalEvent.currentTarget,s=new CustomEvent(e,{bubbles:!0,cancelable:!0,detail:r});t&&a.addEventListener(e,t,{once:!0}),o?(0,p.hO)(a,s):a.dispatchEvent(s)}var Z=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=Math.abs(e.x),o=Math.abs(e.y),a=n>o;return"left"===t||"right"===t?a&&n>r:!a&&o>r};function z(e){let t=document.activeElement;return e.some(e=>e===t||(e.focus(),document.activeElement!==t))}var B=R,J=k,Q=I,$=O,ee=V,et=U,er=Y}}]);
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[177],{936:(e,t,r)=>{Promise.resolve().then(r.t.bind(r,5613,23)),Promise.resolve().then(r.t.bind(r,7207,23)),Promise.resolve().then(r.t.bind(r,347,23)),Promise.resolve().then(r.bind(r,6124)),Promise.resolve().then(r.bind(r,33))},6124:(e,t,r)=>{"use strict";r.d(t,{Toaster:()=>g});var s=r(5155),a=r(6528),o=r(2115),d=r(9930),i=r(1027),n=r(689),l=r(4031);let u=d.Kq,c=o.forwardRef((e,t)=>{let{className:r,...a}=e;return(0,s.jsx)(d.LM,{ref:t,className:(0,l.cn)("fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]",r),...a})});c.displayName=d.LM.displayName;let f=(0,i.F)("group pointer-events-auto relative flex w-full items-center justify-between space-x-2 overflow-hidden rounded-md border p-4 pr-6 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",{variants:{variant:{default:"border bg-background text-foreground",destructive:"destructive group border-destructive bg-destructive text-destructive-foreground"}},defaultVariants:{variant:"default"}}),p=o.forwardRef((e,t)=>{let{className:r,variant:a,...o}=e;return(0,s.jsx)(d.bL,{ref:t,className:(0,l.cn)(f({variant:a}),r),...o})});p.displayName=d.bL.displayName,o.forwardRef((e,t)=>{let{className:r,...a}=e;return(0,s.jsx)(d.rc,{ref:t,className:(0,l.cn)("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium transition-colors hover:bg-secondary focus:outline-none focus:ring-1 focus:ring-ring disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive",r),...a})}).displayName=d.rc.displayName;let m=o.forwardRef((e,t)=>{let{className:r,...a}=e;return(0,s.jsx)(d.bm,{ref:t,className:(0,l.cn)("absolute right-1 top-1 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-1 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",r),"toast-close":"",...a,children:(0,s.jsx)(n.A,{className:"h-4 w-4"})})});m.displayName=d.bm.displayName;let v=o.forwardRef((e,t)=>{let{className:r,...a}=e;return(0,s.jsx)(d.hE,{ref:t,className:(0,l.cn)("text-sm font-semibold [&+div]:text-xs",r),...a})});v.displayName=d.hE.displayName;let x=o.forwardRef((e,t)=>{let{className:r,...a}=e;return(0,s.jsx)(d.VY,{ref:t,className:(0,l.cn)("text-sm opacity-90",r),...a})});function g(){let{toasts:e}=(0,a.dj)();return(0,s.jsxs)(u,{children:[e.map(function(e){let{id:t,title:r,description:a,action:o,...d}=e;return(0,s.jsxs)(p,{...d,children:[(0,s.jsxs)("div",{className:"grid gap-1",children:[r&&(0,s.jsx)(v,{children:r}),a&&(0,s.jsx)(x,{children:a})]}),o,(0,s.jsx)(m,{})]},t)}),(0,s.jsx)(c,{})]})}x.displayName=d.VY.displayName},347:()=>{}},e=>{var t=t=>e(e.s=t);e.O(0,[280,692,92,735,441,517,358],()=>t(936)),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[177],{796:(e,t,r)=>{Promise.resolve().then(r.t.bind(r,5613,23)),Promise.resolve().then(r.t.bind(r,7207,23)),Promise.resolve().then(r.t.bind(r,347,23)),Promise.resolve().then(r.bind(r,6124)),Promise.resolve().then(r.bind(r,33))},6124:(e,t,r)=>{"use strict";r.d(t,{Toaster:()=>g});var s=r(5155),a=r(6528),o=r(2115),d=r(9930),i=r(1027),n=r(689),l=r(4031);let u=d.Kq,c=o.forwardRef((e,t)=>{let{className:r,...a}=e;return(0,s.jsx)(d.LM,{ref:t,className:(0,l.cn)("fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]",r),...a})});c.displayName=d.LM.displayName;let f=(0,i.F)("group pointer-events-auto relative flex w-full items-center justify-between space-x-2 overflow-hidden rounded-md border p-4 pr-6 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",{variants:{variant:{default:"border bg-background text-foreground",destructive:"destructive group border-destructive bg-destructive text-destructive-foreground"}},defaultVariants:{variant:"default"}}),p=o.forwardRef((e,t)=>{let{className:r,variant:a,...o}=e;return(0,s.jsx)(d.bL,{ref:t,className:(0,l.cn)(f({variant:a}),r),...o})});p.displayName=d.bL.displayName,o.forwardRef((e,t)=>{let{className:r,...a}=e;return(0,s.jsx)(d.rc,{ref:t,className:(0,l.cn)("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium transition-colors hover:bg-secondary focus:outline-none focus:ring-1 focus:ring-ring disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive",r),...a})}).displayName=d.rc.displayName;let m=o.forwardRef((e,t)=>{let{className:r,...a}=e;return(0,s.jsx)(d.bm,{ref:t,className:(0,l.cn)("absolute right-1 top-1 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-1 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",r),"toast-close":"",...a,children:(0,s.jsx)(n.A,{className:"h-4 w-4"})})});m.displayName=d.bm.displayName;let v=o.forwardRef((e,t)=>{let{className:r,...a}=e;return(0,s.jsx)(d.hE,{ref:t,className:(0,l.cn)("text-sm font-semibold [&+div]:text-xs",r),...a})});v.displayName=d.hE.displayName;let x=o.forwardRef((e,t)=>{let{className:r,...a}=e;return(0,s.jsx)(d.VY,{ref:t,className:(0,l.cn)("text-sm opacity-90",r),...a})});function g(){let{toasts:e}=(0,a.dj)();return(0,s.jsxs)(u,{children:[e.map(function(e){let{id:t,title:r,description:a,action:o,...d}=e;return(0,s.jsxs)(p,{...d,children:[(0,s.jsxs)("div",{className:"grid gap-1",children:[r&&(0,s.jsx)(v,{children:r}),a&&(0,s.jsx)(x,{children:a})]}),o,(0,s.jsx)(m,{})]},t)}),(0,s.jsx)(c,{})]})}x.displayName=d.VY.displayName},347:()=>{}},e=>{var t=t=>e(e.s=t);e.O(0,[280,692,92,735,441,517,358],()=>t(796)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[974],{4576:(e,t,a)=>{Promise.resolve().then(a.bind(a,2624))},2624:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>tt});var s=a(5155),l=a(2115),n=a(2398),r=a(1680),i=a(7443),o=a(2591),c=a(2783),d=a(4031);let u=l.forwardRef((e,t)=>{let{className:a,type:l,...n}=e;return(0,s.jsx)("input",{type:l,className:(0,d.cn)("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",a),ref:t,...n})});u.displayName="Input";var m=a(1027);let h=(0,m.F)("relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"}},defaultVariants:{variant:"default"}}),x=l.forwardRef((e,t)=>{let{className:a,variant:l,...n}=e;return(0,s.jsx)("div",{ref:t,role:"alert",className:(0,d.cn)(h({variant:l}),a),...n})});x.displayName="Alert",l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)("h5",{ref:t,className:(0,d.cn)("mb-1 font-medium leading-none tracking-tight",a),...l})}).displayName="AlertTitle";let f=l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)("div",{ref:t,className:(0,d.cn)("text-sm [&_p]:leading-relaxed",a),...l})});f.displayName="AlertDescription";var p=a(33),g=a(6217),N=a(689);let v=g.bL;g.l9;let j=g.ZL;g.bm;let b=l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)(g.hJ,{ref:t,className:(0,d.cn)("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",a),...l})});b.displayName=g.hJ.displayName;let w=l.forwardRef((e,t)=>{let{className:a,children:l,...n}=e;return(0,s.jsxs)(j,{children:[(0,s.jsx)(b,{}),(0,s.jsxs)(g.UC,{ref:t,className:(0,d.cn)("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",a),...n,children:[l,(0,s.jsxs)(g.bm,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[(0,s.jsx)(N.A,{className:"h-4 w-4"}),(0,s.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})});w.displayName=g.UC.displayName;let y=e=>{let{className:t,...a}=e;return(0,s.jsx)("div",{className:(0,d.cn)("flex flex-col space-y-1.5 text-center sm:text-left",t),...a})};y.displayName="DialogHeader";let C=e=>{let{className:t,...a}=e;return(0,s.jsx)("div",{className:(0,d.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",t),...a})};C.displayName="DialogFooter";let E=l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)(g.hE,{ref:t,className:(0,d.cn)("text-lg font-semibold leading-none tracking-tight",a),...l})});E.displayName=g.hE.displayName;let S=l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)(g.VY,{ref:t,className:(0,d.cn)("text-sm text-muted-foreground",a),...l})});S.displayName=g.VY.displayName;var R=a(2317);let T=(0,m.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),A=l.forwardRef((e,t)=>{let{className:a,variant:l,size:n,asChild:r=!1,...i}=e,o=r?R.DX:"button";return(0,s.jsx)(o,{className:(0,d.cn)(T({variant:l,size:n,className:a})),ref:t,...i})});function k(e){let{open:t,onClose:a,onSubmit:n}=e,[r,i]=(0,l.useState)(""),[o,d]=(0,l.useState)(""),[m,h]=(0,l.useState)(""),[p,g]=(0,l.useState)(!1),N=async e=>{e.preventDefault(),h(""),g(!0);try{await n({accountId:r,apiToken:o}),localStorage.setItem("cf_credentials",JSON.stringify({accountId:r,apiToken:o})),a()}catch(e){h(e.message)}finally{g(!1)}};return(0,s.jsx)(v,{open:t,onOpenChange:a,children:(0,s.jsxs)(w,{className:"sm:max-w-md",children:[(0,s.jsxs)(y,{children:[(0,s.jsx)(E,{children:"Connect to Cloudflare"}),(0,s.jsx)(S,{children:"Enter your Cloudflare credentials to push your database to production."})]}),(0,s.jsxs)("form",{onSubmit:N,className:"space-y-4 mt-4",children:[m&&(0,s.jsx)(x,{variant:"destructive",children:(0,s.jsx)(f,{children:m})}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("label",{className:"text-sm font-medium",children:"Account ID"}),(0,s.jsx)(u,{placeholder:"Your Cloudflare Account ID",value:r,onChange:e=>i(e.target.value),required:!0})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("label",{className:"text-sm font-medium",children:"API Token"}),(0,s.jsx)(u,{type:"password",placeholder:"Your D1 Database API Token",value:o,onChange:e=>d(e.target.value),required:!0})]}),(0,s.jsxs)("div",{className:"flex justify-end gap-3",children:[(0,s.jsx)(A,{type:"button",variant:"outline",onClick:a,children:"Cancel"}),(0,s.jsxs)(A,{type:"submit",disabled:p,children:[p&&(0,s.jsx)(c.A,{className:"mr-2 h-4 w-4 animate-spin"}),"Connect"]})]})]})]})})}A.displayName="Button";var _=a(6528),O=a(1868);let L=l.forwardRef((e,t)=>{let{className:a,children:l,...n}=e;return(0,s.jsxs)(O.bL,{ref:t,className:(0,d.cn)("relative overflow-hidden",a),...n,children:[(0,s.jsx)(O.LM,{className:"h-full w-full rounded-[inherit]",children:l}),(0,s.jsx)(I,{}),(0,s.jsx)(O.OK,{})]})});L.displayName=O.bL.displayName;let I=l.forwardRef((e,t)=>{let{className:a,orientation:l="vertical",...n}=e;return(0,s.jsx)(O.VM,{ref:t,orientation:l,className:(0,d.cn)("flex touch-none select-none transition-colors","vertical"===l&&"h-full w-2.5 border-l border-l-transparent p-[1px]","horizontal"===l&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",a),...n,children:(0,s.jsx)(O.lr,{className:"relative flex-1 rounded-full bg-border"})})});I.displayName=O.VM.displayName;let U=l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)("div",{className:"relative w-full overflow-auto",children:(0,s.jsx)("table",{ref:t,className:(0,d.cn)("w-full caption-bottom text-sm",a),...l})})});U.displayName="Table";let P=l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)("thead",{ref:t,className:(0,d.cn)("[&_tr]:border-b",a),...l})});P.displayName="TableHeader";let D=l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)("tbody",{ref:t,className:(0,d.cn)("[&_tr:last-child]:border-0",a),...l})});D.displayName="TableBody",l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)("tfoot",{ref:t,className:(0,d.cn)("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",a),...l})}).displayName="TableFooter";let F=l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)("tr",{ref:t,className:(0,d.cn)("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",a),...l})});F.displayName="TableRow";let M=l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)("th",{ref:t,className:(0,d.cn)("h-10 px-2 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",a),...l})});M.displayName="TableHead";let z=l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)("td",{ref:t,className:(0,d.cn)("p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",a),...l})});z.displayName="TableCell",l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)("caption",{ref:t,className:(0,d.cn)("mt-4 text-sm text-muted-foreground",a),...l})}).displayName="TableCaption";let Q=function(e){let{preview:t=[],onConfirm:a,onCancel:n,isConfirming:r,error:i,isLoading:o,success:u}=e,[m,h]=(0,l.useState)(!0);if(o)return(0,s.jsx)("div",{className:"fixed bottom-4 right-4 z-50 font-sans w-[600px]",children:(0,s.jsx)("div",{className:"rounded-lg border p-4 shadow-lg bg-background",children:(0,s.jsxs)("div",{className:"flex items-start gap-3",children:[(0,s.jsx)(c.A,{className:"h-5 w-5 text-neutral-600 shrink-0 mt-0.5 animate-spin"}),(0,s.jsx)("div",{className:"flex-1 space-y-3",children:(0,s.jsxs)("div",{className:"space-y-1",children:[(0,s.jsx)("p",{className:"font-medium text-neutral-800",children:"Preparing Push Migration"}),(0,s.jsx)("p",{className:"text-sm text-neutral-600",children:"Checking local migrations..."})]})})]})})});if(!(null==t?void 0:t.length))return(0,s.jsx)("div",{className:"fixed bottom-4 right-4 z-50 w-[600px]",children:(0,s.jsx)("div",{className:"rounded-lg border p-4",children:(0,s.jsx)("p",{className:"text-sm font-medium",children:"No migrations to preview"})})});let x=t.filter(e=>"will be applied"===e.action).length,f=t.filter(e=>"skipped"===e.action).length;t.filter(e=>"applied"===e.action).length;let p=e=>{switch(e){case"will be applied":return"\uD83D\uDD52️";case"applied":case"skipped":return"✅";case"failed":return"❌";default:return""}};return(0,s.jsx)("div",{className:"fixed bottom-4 right-4 z-50 font-sans w-[600px]",children:(0,s.jsx)("div",{className:(0,d.cn)("rounded-lg border p-4 shadow-lg",i?"bg-destructive/15":"bg-background"),children:(0,s.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsx)("h5",{className:"font-medium text-neutral-900",children:"Push Migration Preview"}),(0,s.jsx)("button",{onClick:n,className:"text-neutral-500 hover:text-neutral-900 p-1 rounded-md hover:bg-neutral-100",children:(0,s.jsx)(N.A,{className:"h-4 w-4"})})]}),(0,s.jsxs)("p",{className:"text-sm text-neutral-700",children:[x," migration(s) \uD83D\uDD52️ pending, ",f," to ✅ skip"]}),i?(0,s.jsx)("p",{className:"text-sm text-destructive font-medium mt-1",children:i.message}):u&&(0,s.jsx)("p",{className:"text-sm text-green-700 font-medium mt-1",children:u})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("button",{onClick:()=>h(!m),className:"text-sm font-medium hover:underline",children:m?"Hide Details":"Show Details"}),m&&(0,s.jsx)(L,{className:"h-[480px] mt-2 rounded border border-neutral-200",children:(0,s.jsxs)(U,{children:[(0,s.jsx)(P,{children:(0,s.jsxs)(F,{children:[(0,s.jsx)(M,{children:"Migration"}),(0,s.jsx)(M,{className:"text-center w-24",children:"Status"})]})}),(0,s.jsx)(D,{children:t.map((e,t)=>(0,s.jsxs)(F,{children:[(0,s.jsx)(z,{className:"font-mono text-xs",children:e.name}),(0,s.jsx)(z,{className:"text-center align-middle",children:p(e.action)})]},t))})]})})]}),(0,s.jsxs)("div",{className:"flex gap-2 pt-1",children:[(0,s.jsx)(A,{onClick:a,disabled:r||0===x,className:"flex-1",children:r?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(c.A,{className:"mr-2 h-4 w-4 animate-spin"}),"Confirming..."]}):"Confirm Push"}),(0,s.jsx)(A,{variant:"outline",onClick:n,disabled:r,className:"flex-1",children:"Cancel"})]})]})})})},V=function(e){let{preview:t=[],onConfirm:a,onCancel:n,onDataPull:r,isConfirming:i,isDataPulling:o,error:u,isLoading:m,success:h}=e;console.log("PullPreviewToast rendered with:",{previewLength:t.length,isConfirming:i,error:u,isLoading:m}),(0,l.useEffect)(()=>(console.log("PullPreviewToast mounted/updated"),()=>console.log("PullPreviewToast unmounted")),[]);let[x,f]=(0,l.useState)(!1);if(m)return console.log("Rendering loading state"),(0,s.jsx)("div",{className:"fixed bottom-4 right-4 z-50 font-sans w-[600px]",children:(0,s.jsx)("div",{className:"rounded-lg border p-4 shadow-lg bg-background",children:(0,s.jsxs)("div",{className:"flex items-start gap-3",children:[(0,s.jsx)(c.A,{className:"h-5 w-5 text-neutral-600 shrink-0 mt-0.5 animate-spin"}),(0,s.jsx)("div",{className:"flex-1 space-y-3",children:(0,s.jsxs)("div",{className:"space-y-1",children:[(0,s.jsx)("p",{className:"font-medium text-neutral-800",children:"Preparing Pull Migration"}),(0,s.jsx)("p",{className:"text-sm text-neutral-600",children:"Checking remote migrations..."})]})})]})})});if(!(null==t?void 0:t.length))return console.log("No preview data available"),(0,s.jsx)("div",{className:"fixed bottom-4 right-4 z-50 w-[600px]",children:(0,s.jsx)("div",{className:"rounded-lg border bg-destructive/15 p-4",children:(0,s.jsx)("div",{className:"flex items-center gap-2",children:(0,s.jsx)("p",{className:"text-sm font-medium text-destructive",children:"No preview data available"})})})});let p=t.filter(e=>(e.migration||e.name||"").endsWith(".sql")),g=p.length;console.log("Migration stats:",{totalMigrations:g});let v=h&&!o&&!u;return(0,s.jsx)("div",{className:"fixed bottom-4 right-4 z-50 font-sans w-[600px]",children:(0,s.jsx)("div",{className:(0,d.cn)("rounded-lg border p-4 shadow-lg",u?"bg-destructive/15":"bg-background"),children:(0,s.jsx)("div",{className:"flex items-start gap-x-1",children:(0,s.jsxs)("div",{className:"flex-1 space-y-3",children:[(0,s.jsxs)("div",{className:"space-y-1",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsx)("h5",{className:(0,d.cn)("font-medium",u?"text-destructive":"text-neutral-900"),children:u?"Pull Migration Error":"Pull Migration Preview"}),(0,s.jsx)("button",{onClick:n,className:"text-neutral-500 hover:text-neutral-900 p-1 rounded-md hover:bg-neutral-100",children:(0,s.jsx)(N.A,{className:"h-4 w-4"})})]}),(0,s.jsx)("p",{className:(0,d.cn)("text-sm",u?"text-destructive/80":"text-neutral-700"),children:"".concat(g," migration(s) will be applied")}),u&&(0,s.jsx)("p",{className:"text-sm text-destructive font-medium mt-1",children:u.message}),h&&(0,s.jsx)("p",{className:"text-sm text-green-700 font-medium mt-1",children:h})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("button",{onClick:()=>f(!x),className:"text-sm font-medium hover:underline",children:x?"Hide Details":"Show Details"}),x&&(0,s.jsx)(L,{className:"h-[480px] mt-2 rounded border border-neutral-200",children:(0,s.jsxs)("div",{className:"w-full",children:[(0,s.jsx)("div",{className:"bg-neutral-50 border-b px-4 py-2",children:(0,s.jsx)("div",{className:"text-sm font-medium text-neutral-600",children:"Migration"})}),(0,s.jsx)("div",{children:p.map((e,t)=>(0,s.jsx)("div",{className:"px-4 py-2 border-b last:border-0",children:(0,s.jsx)("div",{className:"font-mono text-xs",children:e.migration||e.name})},t))})]})})]}),(0,s.jsx)("div",{className:"flex flex-col gap-2 pt-1",children:(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)(A,{onClick:a,disabled:i,className:"flex-1 ".concat(i?"cursor-not-allowed opacity-50":""),children:i?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(c.A,{className:"h-4 w-4 animate-spin"}),"Confirming..."]}):"Confirm Pull"}),(0,s.jsxs)("div",{className:"flex-1 flex flex-col gap-2",children:[(0,s.jsx)(A,{onClick:r,disabled:!v,variant:"outline",className:"w-full ".concat(v?"":"cursor-not-allowed opacity-50"),children:o?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(c.A,{className:"h-4 w-4 animate-spin"}),"Syncing remote data..."]}):"Sync remote data"}),(0,s.jsx)("p",{className:"text-xs text-neutral-500 text-center",children:"75 records per table"})]})]})})]})})})})};var K=a(3409),J=a(2645),q=a(2488),Y=a(7193);let X=K.bL;K.YJ;let H=K.WT,W=l.forwardRef((e,t)=>{let{className:a,children:l,...n}=e;return(0,s.jsxs)(K.l9,{ref:t,className:(0,d.cn)("flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",a),...n,children:[l,(0,s.jsx)(K.In,{asChild:!0,children:(0,s.jsx)(J.A,{className:"h-4 w-4 opacity-50"})})]})});W.displayName=K.l9.displayName;let B=l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)(K.PP,{ref:t,className:(0,d.cn)("flex cursor-default items-center justify-center py-1",a),...l,children:(0,s.jsx)(q.A,{className:"h-4 w-4"})})});B.displayName=K.PP.displayName;let G=l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)(K.wn,{ref:t,className:(0,d.cn)("flex cursor-default items-center justify-center py-1",a),...l,children:(0,s.jsx)(J.A,{className:"h-4 w-4"})})});G.displayName=K.wn.displayName;let Z=l.forwardRef((e,t)=>{let{className:a,children:l,position:n="popper",...r}=e;return(0,s.jsx)(K.ZL,{children:(0,s.jsxs)(K.UC,{ref:t,className:(0,d.cn)("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=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","popper"===n&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",a),position:n,...r,children:[(0,s.jsx)(B,{}),(0,s.jsx)(K.LM,{className:(0,d.cn)("p-1","popper"===n&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:l}),(0,s.jsx)(G,{})]})})});Z.displayName=K.UC.displayName,l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)(K.JU,{ref:t,className:(0,d.cn)("px-2 py-1.5 text-sm font-semibold",a),...l})}).displayName=K.JU.displayName;let $=l.forwardRef((e,t)=>{let{className:a,children:l,...n}=e;return(0,s.jsxs)(K.q7,{ref:t,className:(0,d.cn)("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),...n,children:[(0,s.jsx)("span",{className:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,s.jsx)(K.VF,{children:(0,s.jsx)(Y.A,{className:"h-4 w-4"})})}),(0,s.jsx)(K.p4,{children:l})]})});$.displayName=K.q7.displayName,l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)(K.wv,{ref:t,className:(0,d.cn)("-mx-1 my-1 h-px bg-muted",a),...l})}).displayName=K.wv.displayName;var ee=a(2303),et=a(319),ea=a(5942);function es(e){let{value:t,onValueChange:a,isLoading:l,disabled:n,showPreview:r}=e;return(0,s.jsxs)(X,{value:t,onValueChange:a,disabled:n||l||r,children:[(0,s.jsx)(W,{className:"w-full bg-white border-neutral-200 font-medium",children:(0,s.jsx)("div",{className:"flex items-center gap-1 text-sm",children:l||r?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(c.A,{className:"h-4 w-4 animate-spin text-muted-foreground"}),(0,s.jsx)("span",{className:"text-muted-foreground font-medium",children:"pull"===t?"Pulling...":"syncing"===t?"Syncing...":"production"===t?"Pushing...":"Loading..."})]}):(0,s.jsx)(H,{placeholder:"Environment",className:"w-full"})})}),(0,s.jsxs)(Z,{children:[(0,s.jsx)($,{value:"local",children:(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(ee.A,{className:"h-4 w-4"}),(0,s.jsx)("span",{children:"Local"})]})}),(0,s.jsx)($,{value:"pull",children:(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(et.A,{className:"h-4 w-4"}),(0,s.jsx)("span",{children:"Pull remote"})]})}),(0,s.jsx)($,{value:"production",children:(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(ea.A,{className:"h-4 w-4"}),(0,s.jsx)("span",{children:"Push remote"})]})})]})]})}function el(e){var t;let{className:a,currentView:d,onNavigate:m,onTableSelect:h}=e,{tables:g,refreshTables:N,isLoading:v,error:j}=(0,p.t)(),[b,w]=(0,l.useState)([]),[y,C]=(0,l.useState)(""),[E,S]=(0,l.useState)("local"),[R,T]=(0,l.useState)(!1),[A,O]=(0,l.useState)(null),[L,I]=(0,l.useState)(!1),{isConnecting:U,isPushing:P,showPreview:D,connectToCloudflare:F,pushToRemote:M,pullFromRemote:z,pullToRemotePreview:K,validateStoredCredentials:J,PreviewUI:q}=function(){var e,t;let[a,n]=(0,l.useState)(!1),[r,i]=(0,l.useState)(!1),[o,c]=(0,l.useState)(!1),[d,u]=(0,l.useState)(!1),[m,h]=(0,l.useState)(null),[x,f]=(0,l.useState)(null),[g,N]=(0,l.useState)(null),[v,j]=(0,l.useState)(null),[b,w]=(0,l.useState)("local"),{toast:y}=(0,_.dj)(),{refreshTables:C}=(0,p.t)(),E=()=>{u(!1),h(null),f(null),N(null),j(null)},S=async()=>{let e=localStorage.getItem("cf_credentials");if(!e)return null;try{let t=JSON.parse(e),a=await fetch("/api/cloudflare",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!a.ok)throw Error("Invalid stored credentials");let s=await a.json();return{...t,databaseId:s.database.id}}catch(e){return console.error("Failed to validate stored credentials:",e),localStorage.removeItem("cf_credentials"),null}},R=async()=>{try{N("push"),u(!0),i(!0),f(null),j(null),h({preview:[]});let t=await S();if(!t)throw Error("No valid credentials found");let a=await fetch("/api/push-remote/preview",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),s=await a.json();if(!s.success){var e;throw Error((null===(e=s.error)||void 0===e?void 0:e.message)||"Failed to generate preview")}h(s.details.details)}catch(e){console.error("Push to remote preview failed:",e),f(e),y({title:"Preview Failed",description:e.message||"Failed to generate preview",variant:"destructive"})}finally{i(!1)}},T=async()=>{try{i(!0),f(null),j(null);let t=await S();if(!t)throw Error("No valid credentials found");let a=await fetch("/api/push-remote/confirm",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),s=await a.json();if(!s.success){var e;throw Error((null===(e=s.error)||void 0===e?void 0:e.message)||"Failed to confirm push")}h(e=>({...e,preview:e.preview.map(e=>({...e,action:"will be applied"===e.action?"applied":e.action}))})),j("Applied ".concat(s.details.applied," migration(s), skipped ").concat(s.details.skipped,".")),w("local")}catch(e){console.error("Push to remote confirm failed:",e),f(e),w("local")}finally{i(!1)}},A=async()=>{try{N("pull"),u(!0),i(!0),f(null),j(null),h({preview:[]});let t=await S();if(!t)throw Error("No valid credentials found");let a=await fetch("/api/pull-remote/preview",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),s=await a.json();if(!s.success){var e;throw Error((null===(e=s.error)||void 0===e?void 0:e.message)||"Failed to generate pull preview")}h(s.details)}catch(e){console.error("Pull to remote preview failed:",e),f(e),y({title:"Preview Failed",description:e.message||"Failed to generate pull preview",variant:"destructive"})}finally{i(!1)}},k=async()=>{try{i(!0),w("pull"),f(null),j(null);let t=await S();if(!t)throw Error("No valid credentials found");let a=await fetch("/api/pull-remote/confirm",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),s=await a.json();if(!s.success){var e;throw Error((null===(e=s.error)||void 0===e?void 0:e.message)||"Failed to confirm pull")}j("Pull migrations applied successfully."),h(e=>({...e,preview:e.preview.map(e=>({...e,action:"will be applied"===e.action?"applied":e.action}))})),await C()}catch(e){console.error("Pull to remote confirm failed:",e),f(e)}finally{i(!1),w("local")}},O=async()=>{try{c(!0),w("syncing"),f(null),j(null);let t=await S();if(!t)throw Error("No valid credentials found");let a=await fetch("/api/pull-data/confirm",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),s=await a.json();if(!s.success){var e;throw Error((null===(e=s.error)||void 0===e?void 0:e.message)||"Failed to confirm data pull")}j("Remote data synced successfully."),await C()}catch(e){console.error("Data pull confirm failed:",e),f(e)}finally{c(!1),w("local")}};async function L(e){try{n(!0);let t=await fetch("/api/cloudflare",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),a=await t.json();if(!t.ok)throw Error(a.error||"Failed to connect to Cloudflare");localStorage.setItem("cf_credentials",JSON.stringify({...e,databaseId:a.database.id})),y({title:"Connected to Cloudflare",description:"Connected to database: ".concat(a.database.name),variant:"default"})}catch(e){throw y({title:"Connection Failed",description:e.message||"Failed to connect to Cloudflare",variant:"destructive"}),e}finally{n(!1)}}let I=d&&("pull"===g?(0,s.jsx)(V,{preview:(null==m?void 0:m.preview)||[],onConfirm:k,onDataPull:O,onCancel:E,isConfirming:r,isDataPulling:o,error:x,success:v,isLoading:r&&!(null==m?void 0:null===(e=m.preview)||void 0===e?void 0:e.length)}):(0,s.jsx)(Q,{preview:(null==m?void 0:m.preview)||[],onConfirm:T,onCancel:E,isConfirming:r,error:x,success:v,isLoading:r&&!(null==m?void 0:null===(t=m.preview)||void 0===t?void 0:t.length)}));return{isConnecting:a,isPushing:r,isDataPulling:o,showPreview:d,previewError:x,environment:b,setEnvironment:w,pushToRemote:R,pullToRemotePreview:A,confirmPull:k,confirmDataPull:O,connectToCloudflare:L,validateStoredCredentials:S,PreviewUI:I}}(),Y=(0,l.useMemo)(()=>{let e=[...(null==g?void 0:g.filter(e=>e.toLowerCase().includes(y.toLowerCase())))||[]].sort((e,t)=>e.localeCompare(t)),t=e.indexOf("d1_migrations");return -1!==t&&(e.splice(t,1),e.unshift("d1_migrations")),e},[g,y]),X=async e=>{try{I(!0),O(e),h(e)}catch(e){console.error("Error selecting table:",e)}finally{I(!1)}},H=async e=>{if(console.log("Environment change triggered:",e),S(e),"production"===e)try{if(!await J()){T(!0);return}await M()}catch(e){console.error("Environment change failed:",e),S("local")}else if("pull"===e)try{if(!await J()){T(!0);return}await K()}catch(e){console.error("Pull from remote failed:",e),S("local")}else S(e)};return(0,l.useEffect)(()=>{(async()=>{try{let e=await fetch("/api/databases"),t=await e.json();if(!e.ok)throw Error(t.error||"Failed to fetch databases");w(t.databases||[])}catch(e){console.error("Error fetching databases:",e)}})(),N()},[N]),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("aside",{className:"".concat(a," top-[var(--banner-height,0px)] left-0 h-[calc(100vh-var(--banner-height,0px))] bg-neutral-50 p-4"),children:[(0,s.jsxs)("div",{className:"flex flex-col h-full font-sans",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between gap-2 mb-4",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(n.A,{className:"h-5 w-5"}),(0,s.jsx)("span",{className:"font-mono font-bold text-sm",children:"d1-studio"})]}),(0,s.jsx)("div",{className:"text-xs text-muted-foreground",children:"v0.2.11 • Local"})]}),j&&(0,s.jsxs)(x,{variant:"destructive",className:"mb-4",children:[(0,s.jsx)(r.A,{className:"h-4 w-4"}),(0,s.jsx)(f,{className:"text-sm ml-2",children:j})]}),(0,s.jsxs)("div",{className:"mb-2",children:[(0,s.jsx)("div",{className:"text-xs text-muted-foreground mb-1",children:"Database name"}),(0,s.jsx)("div",{className:"font-semibold text-sm",children:(null===(t=b[0])||void 0===t?void 0:t.database_name)||"No database found"})]}),(0,s.jsx)("div",{className:"mb-6",children:(0,s.jsx)(es,{className:"w-full",value:E,onValueChange:H,isLoading:P,disabled:U,showPreview:D})}),(0,s.jsx)("div",{className:"mb-3",children:(0,s.jsxs)("button",{className:"w-full flex items-center gap-x-1 border rounded-md text-sm font-medium transition-colors px-2 py-2\n ".concat("sql-editor"===d?"bg-neutral-900 text-white":"bg-white hover:bg-neutral-100"),onClick:()=>m("sql-editor"),disabled:L,children:[(0,s.jsx)(i.A,{className:"h-[16px] w-[16px]"}),"SQL editor"]})}),(0,s.jsxs)("div",{className:"relative mb-3 bg-white",children:[(0,s.jsx)(o.A,{className:"absolute left-2 top-2.5 h-4 w-4 text-neutral-500"}),(0,s.jsx)(u,{placeholder:"Search tables",value:y,onChange:e=>C(e.target.value),className:"pl-7"})]}),(0,s.jsxs)("div",{className:"flex-1 min-h-0 flex flex-col",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between mb-1 flex-none",children:[(0,s.jsxs)("h3",{className:"text-sm font-medium text-muted-foreground",children:["Tables ",(null==g?void 0:g.length)?"(".concat(g.length,")"):""]}),v&&(0,s.jsx)(c.A,{className:"h-4 w-4 animate-spin text-muted-foreground"})]}),(0,s.jsx)("div",{className:"overflow-y-auto flex-1",children:(0,s.jsxs)("div",{className:"pr-2 pb-4",children:[" ",!v&&0===Y.length&&(0,s.jsx)("div",{className:"text-sm font-medium text-muted-foreground px-2 py-2",children:y?"No matching tables found":j?"Error loading tables":"No tables available"}),Y.map(e=>(0,s.jsx)("button",{className:"w-full text-left text-sm font-medium rounded-md transition-colors px-2 py-2\n ".concat("table-view"===d&&A===e?"bg-[#F0F0F0] text-neutral-900 font-semibold":"text-neutral-700 hover:bg-[#F2F2F2]","\n ").concat(L&&"opacity-50 cursor-not-allowed"),onClick:()=>X(e),disabled:L,children:e},e))]})})]})]}),(0,s.jsx)(k,{open:R,onClose:()=>{T(!1),S("local")},onSubmit:F})]}),q]})}var en=a(707),er=a(1170),ei=a(3320),eo=a(5377);function ec(e){let{results:t}=e;return t&&Array.isArray(t)?(0,s.jsxs)("div",{className:"text-xs font-medium text-neutral-900 flex items-center gap-2 mb-2",children:[t.length," ",1===t.length?"row":"rows"," returned"]}):null}function ed(e){var t;let{error:a}=e;console.debug("SQLErrorDisplay - Received error prop:",a);let l=a&&"string"==typeof a.message?a:{message:"An unknown error occurred",details:{}};return(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:"text-neutral-700 text-sm",children:l.message}),(null===(t=l.details)||void 0===t?void 0:t.stderr)&&(0,s.jsx)("pre",{className:"mt-2 p-2 text-xs text-red-500 whitespace-pre-wrap",children:l.details.stderr})]})}function eu(e){let{query:t,results:a}=e;if(!(null==a?void 0:a.length))return(0,s.jsx)("div",{className:"text-sm text-neutral-500",children:"No results to display."});let l=null==t?void 0:t.trim().toLowerCase().startsWith("pragma table_info"),n=l?["Column Name","Type","Not Null","Default Value","Primary Key"]:Object.keys(a[0]),r=l?a.map(e=>({"Column Name":e.name,Type:e.type,"Not Null":1===e.notnull?"YES":"NO","Default Value":e.dflt_value||"(null)","Primary Key":1===e.pk?"YES":"NO"})):a;return(0,s.jsxs)("div",{className:"flex flex-col h-full",children:[(0,s.jsx)(ec,{results:r}),(0,s.jsx)("div",{className:"flex-1 overflow-auto border rounded-lg",children:(0,s.jsx)("div",{className:"min-w-full",children:(0,s.jsxs)(U,{children:[(0,s.jsx)(P,{children:(0,s.jsx)(F,{className:"bg-muted/50",children:n.map(e=>(0,s.jsx)(M,{className:"font-mono text-xs font-medium text-muted-foreground",children:e},e))})}),(0,s.jsx)(D,{children:r.map((e,t)=>(0,s.jsx)(F,{className:"hover:bg-muted/50",children:n.map(a=>{let l=e[a],n=null===l?"(null)":String(l);return(0,s.jsx)(z,{className:"font-monospace text-xs whitespace-nowrap",children:n},"".concat(t,"-").concat(a))})},t))})]})})})]})}var em=a(4471),eh=a(5325),ex=a(1703);let ef=em.bL,ep=em.l9;em.YJ,em.ZL,em.Pb,em.z6,l.forwardRef((e,t)=>{let{className:a,inset:l,children:n,...r}=e;return(0,s.jsxs)(em.ZP,{ref:t,className:(0,d.cn)("flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",l&&"pl-8",a),...r,children:[n,(0,s.jsx)(eh.A,{className:"ml-auto"})]})}).displayName=em.ZP.displayName,l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)(em.G5,{ref:t,className:(0,d.cn)("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=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",a),...l})}).displayName=em.G5.displayName;let eg=l.forwardRef((e,t)=>{let{className:a,sideOffset:l=4,...n}=e;return(0,s.jsx)(em.ZL,{children:(0,s.jsx)(em.UC,{ref:t,sideOffset:l,className:(0,d.cn)("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md","data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=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",a),...n})})});eg.displayName=em.UC.displayName;let eN=l.forwardRef((e,t)=>{let{className:a,inset:l,...n}=e;return(0,s.jsx)(em.q7,{ref:t,className:(0,d.cn)("relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0",l&&"pl-8",a),...n})});eN.displayName=em.q7.displayName,l.forwardRef((e,t)=>{let{className:a,children:l,checked:n,...r}=e;return(0,s.jsxs)(em.H_,{ref:t,className:(0,d.cn)("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),checked:n,...r,children:[(0,s.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,s.jsx)(em.VF,{children:(0,s.jsx)(Y.A,{className:"h-4 w-4"})})}),l]})}).displayName=em.H_.displayName,l.forwardRef((e,t)=>{let{className:a,children:l,...n}=e;return(0,s.jsxs)(em.hN,{ref:t,className:(0,d.cn)("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),...n,children:[(0,s.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,s.jsx)(em.VF,{children:(0,s.jsx)(ex.A,{className:"h-2 w-2 fill-current"})})}),l]})}).displayName=em.hN.displayName,l.forwardRef((e,t)=>{let{className:a,inset:l,...n}=e;return(0,s.jsx)(em.JU,{ref:t,className:(0,d.cn)("px-2 py-1.5 text-sm font-semibold",l&&"pl-8",a),...n})}).displayName=em.JU.displayName,l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)(em.wv,{ref:t,className:(0,d.cn)("-mx-1 my-1 h-px bg-muted",a),...l})}).displayName=em.wv.displayName;let ev={SYNTAX_ERROR:"SYNTAX_ERROR",EXECUTION_ERROR:"EXECUTION_ERROR",TABLE_NOT_FOUND:"TABLE_NOT_FOUND",TABLE_EXISTS:"TABLE_EXISTS",FOREIGN_KEY_ERROR:"FOREIGN_KEY_ERROR",UNIQUE_CONSTRAINT_ERROR:"UNIQUE_CONSTRAINT_ERROR",NOT_NULL_CONSTRAINT_ERROR:"NOT_NULL_CONSTRAINT_ERROR",CHECK_CONSTRAINT_ERROR:"CHECK_CONSTRAINT_ERROR",UNKNOWN_ERROR:"UNKNOWN_ERROR"};function ej(e){if(console.debug("parseSQLError - Received error:",e),!e)return console.debug("parseSQLError - error is null or undefined."),{type:ev.UNKNOWN_ERROR,message:"An unknown error occurred",details:{}};let t="",a=null,s=null,l=e.cmd||e.details&&e.details.command;if(l){let e=l.match(RegExp('--command="(.+?)"',"s"));e&&console.debug("parseSQLError - Extracted original query:",s=e[1].replace(/\\n/g,"\n"))}let n=e.stderr||e.details&&e.details.stderr;if(n){let r=n.replace(/\x1B\[[0-9;]*[a-zA-Z]/g,"");if(console.debug("parseSQLError - Cleaned stderr:",r),r.includes("env: node: No such file or directory"))return console.debug("parseSQLError - Detected 'env: node: No such file or directory' error."),{type:ev.EXECUTION_ERROR,message:e.message||"Execution error: env: node: No such file or directory",details:{originalQuery:s,stderr:r}};let i=r.match(/near "([^"]+)": syntax error at offset (\d+)/);if(i){let[e,l,n]=i;return a=parseInt(n,10),t='Syntax error near "'.concat(l,'" at position ').concat(a),console.debug("parseSQLError - Syntax error detected:",{near:l,offset:a}),{type:ev.SYNTAX_ERROR,message:t,details:{originalQuery:s,errorLocation:{offset:a,near:l},stderr:r}}}if(r.includes("UNIQUE constraint failed")){let[e,t,a]=r.match(/UNIQUE constraint failed: (\w+)\.(\w+)/)||[];return console.debug("parseSQLError - UNIQUE constraint error detected:",{table:t,column:a}),{type:ev.UNIQUE_CONSTRAINT_ERROR,message:"Unique constraint violation updating ".concat(t,".").concat(a),details:{originalQuery:s,stderr:r}}}if(r.includes("NOT NULL constraint failed")){let[e,t,a]=r.match(/NOT NULL constraint failed: (\w+)\.(\w+)/)||[];return console.debug("parseSQLError - NOT NULL constraint error detected:",{table:t,column:a}),{type:ev.NOT_NULL_CONSTRAINT_ERROR,message:"NOT NULL constraint violation updating ".concat(t,".").concat(a),details:{originalQuery:s,stderr:r}}}if(r.includes("CHECK constraint failed")){let[e,t]=r.match(/CHECK constraint failed: (\w+)/)||[];return console.debug("parseSQLError - CHECK constraint error detected:",{constraintName:t}),{type:ev.CHECK_CONSTRAINT_ERROR,message:"Check constraint violation updating ".concat(t),details:{originalQuery:s,stderr:r}}}if(r.includes("FOREIGN KEY constraint failed")){console.debug("parseSQLError - FOREIGN KEY constraint error detected.");let e=/--command="([^"]+)"/.exec(l||""),t=e?e[1]:null,a={};if(t){let e=/UPDATE\s+(\w+)\s+SET\s+(\w+)\s*=/.exec(t);e&&(a={table:e[1],column:e[2]})}let s=a.table?"Foreign key constraint violation updating ".concat(a.table,".").concat(a.column):"Foreign key constraint violation";return{type:ev.FOREIGN_KEY_ERROR,message:s,details:{...a,originalQuery:t,stderr:r}}}if(r.includes("no such table")){let[e,t]=r.match(/no such table: (\w+)/)||[];return console.debug("parseSQLError - Table not found error detected:",{table:t}),{type:ev.TABLE_NOT_FOUND,message:"Table not found: ".concat(t),details:{originalQuery:s,stderr:r}}}if(r.includes("already exists")){let[e,t]=r.match(/table (\w+) already exists/)||[];return console.debug("parseSQLError - Table exists error detected:",{table:t}),{type:ev.TABLE_EXISTS,message:"Table already exists: ".concat(t),details:{originalQuery:s,stderr:r}}}return console.debug("parseSQLError - No specific error match found. Using fallback for execution error."),{type:ev.EXECUTION_ERROR,message:e.message||"Failed to execute SQL command",details:{originalQuery:s,stderr:r}}}return console.debug("parseSQLError - No stderr available; using default error handling."),{type:ev.UNKNOWN_ERROR,message:e.message||"An unknown error occurred",details:{}}}let eb={"Show Tables":"SELECT name\n FROM sqlite_master \n WHERE type='table' \n AND name NOT LIKE 'sqlite_%';","Table Schema":"-- Table Schema\n-- Replace table_name with your table name\nPRAGMA table_info(table_name);","Table Indexes":"-- Table Indexes\n-- Replace table_name with your table name\nSELECT \n m.name as table_name,\n i.name as index_name,\n i.sql as index_definition\nFROM sqlite_master m\nJOIN sqlite_master i ON m.name = i.tbl_name\nWHERE m.type = 'table'\nAND i.type = 'index'\nAND m.name = 'table_name';","Foreign Keys":"-- Foreign Key Information\n-- Replace table_name with your table name\nPRAGMA foreign_key_list(table_name);","Table Data":"-- Table Data\n-- Replace table_name with your table name\nSELECT * FROM table_name LIMIT 100;","Row Count":"-- Row Count\n-- Replace table_name with your table name\nSELECT COUNT(*) as total_rows FROM table_name;","Column Stats":"-- Column Statistics\n-- Replace table_name and column_name with your values\nSELECT \n COUNT(*) as total_rows,\n COUNT(column_name) as non_null_count,\n COUNT(DISTINCT column_name) as unique_values,\n MIN(column_name) as min_value,\n MAX(column_name) as max_value\nFROM table_name;","Create Table":"CREATE TABLE IF NOT EXISTS new_table (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n name TEXT NOT NULL,\n email TEXT UNIQUE,\n status TEXT CHECK(status IN ('active', 'inactive')) DEFAULT 'active',\n created_at DATETIME DEFAULT CURRENT_TIMESTAMP\n);\n\n-- Create indexes\nCREATE INDEX idx_new_table_name ON new_table(name);\nCREATE UNIQUE INDEX idx_new_table_email ON new_table(email);","Create View":"-- Create a view\nCREATE VIEW view_name AS\nSELECT column1, column2\nFROM table_name\nWHERE condition;"},ew={"Schema Information":["Show Tables","Table Schema","Table Indexes","Foreign Keys"],"Data Queries":["Table Data","Row Count","Column Stats"],"Schema Modification":["Create Table","Create View"]};function ey(e){let{onSelectQuery:t}=e;return(0,s.jsxs)(ef,{children:[(0,s.jsx)(ep,{asChild:!0,children:(0,s.jsxs)(A,{variant:"outline",size:"sm",children:["Query Templates",(0,s.jsx)(J.A,{className:"ml-2 h-4 w-4"})]})}),(0,s.jsx)(eg,{align:"start",className:"w-72",children:Object.entries(ew).map(e=>{let[a,n]=e;return(0,s.jsxs)(l.Fragment,{children:[(0,s.jsx)("div",{className:"px-2 py-1.5 text-sm font-semibold text-neutral-900 font-sans",children:a}),n.map(e=>(0,s.jsx)(eN,{onClick:()=>t(e),className:"font-sans text-neutral-800",children:e},e))]},a)})})]})}function eC(){let{executeQuery:e,refreshTables:t}=(0,p.t)(),[a,n]=(0,l.useState)(null),[r,i]=(0,l.useState)(!1),[o,d]=(0,l.useState)(300),[u,m]=(0,l.useState)(!1),h=(0,l.useRef)(null),x=(0,l.useRef)(null);(0,l.useEffect)(()=>{x.current&&(x.current.style.height="".concat(o,"px"))},[o]);let f=(0,l.useCallback)(e=>{e.preventDefault();let t=e.pageY,a=e=>{d(Math.min(Math.max(o+(e.pageY-t),100),.8*window.innerHeight))},s=()=>{document.removeEventListener("mousemove",a),document.removeEventListener("mouseup",s)};document.addEventListener("mousemove",a),document.addEventListener("mouseup",s)},[o]),g=async()=>{if(!h.current)return;let a=h.current.getValue().trim().replace(/;+$/,"");if(!a){n({success:!1,error:{message:"Query cannot be empty."}});return}try{var s,l,r,o;i(!0),n(null);let c=await e(a);/^(CREATE|DROP|ALTER)\s+TABLE/i.test(a)&&await t();let d=[];if(c.results){if(Array.isArray(c.results)){if(c.results.length>0&&(null===(s=c.results[0])||void 0===s?void 0:s.columns)&&(null===(l=c.results[0])||void 0===l?void 0:l.values)){let e=c.results[0];d=e.values.map(t=>e.columns.reduce((e,a,s)=>(e[a]=t[s],e),{}))}else d=1===c.results.length&&c.results[0].results&&Array.isArray(c.results[0].results)?c.results[0].results:c.results}else if(c.results.columns&&c.results.values){let e=c.results;d=e.values.map(t=>e.columns.reduce((e,a,s)=>(e[a]=t[s],e),{}))}}else if(c.result&&c.result.results){if(Array.isArray(c.result.results)){if(c.result.results.length>0&&(null===(r=c.result.results[0])||void 0===r?void 0:r.columns)&&(null===(o=c.result.results[0])||void 0===o?void 0:o.values)){let e=c.result.results[0];d=e.values.map(t=>e.columns.reduce((e,a,s)=>(e[a]=t[s],e),{}))}else d=1===c.result.results.length&&c.result.results[0].results&&Array.isArray(c.result.results[0].results)?c.result.results[0].results:c.result.results}else if(c.result.results.columns&&c.result.results.values){let e=c.result.results;d=e.values.map(t=>e.columns.reduce((e,a,s)=>(e[a]=t[s],e),{}))}}n({success:!0,results:d})}catch(e){n({success:!1,error:ej(e)||{message:"An unknown error occurred",details:{}}})}finally{i(!1)}};return(0,s.jsxs)("div",{className:"h-full flex flex-col bg-white text-neutral-900 font-sans",children:[(0,s.jsx)("div",{className:"px-4 py-2 bg-neutral-100 border-b flex items-center gap-4",children:(0,s.jsx)(ey,{onSelectQuery:e=>{if(h.current){let t=Object.keys(eb).find(t=>t.toLowerCase()===e.toLowerCase());if(t){let e=eb[t];h.current.setValue(e),h.current.focus()}else console.warn("Query template not found for: ".concat(e))}}})}),(0,s.jsx)("div",{ref:x,className:"relative pt-2 overflow-hidden",style:{height:"".concat(o,"px"),minHeight:"100px"},children:(0,s.jsx)(en.Ay,{height:"100%",language:"sql",options:{minimap:{enabled:!1},fontSize:14,wordWrap:"on",automaticLayout:!0,lineNumbers:"on",fontFamily:"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace"},onMount:e=>{h.current=e,e.addCommand(monaco.KeyMod.CtrlCmd|monaco.KeyCode.Enter,()=>{g()})}})}),(0,s.jsx)("div",{className:"relative h-0.5 cursor-row-resize bg-neutral-200 group ".concat(u?"bg-neutral-300":"hover:bg-neutral-300"),onMouseDown:e=>{m(!0),f(e)},onMouseUp:()=>m(!1),children:(0,s.jsx)("div",{className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 bg-neutral-900 rounded-sm px-0.5 \n ".concat(u?"visible":"invisible group-hover:visible"),children:(0,s.jsx)(er.A,{className:"h-3 w-3 text-white"})})}),(0,s.jsx)("div",{className:"px-4 py-3 bg-neutral-100 border-b font-sans",children:(0,s.jsxs)("div",{className:"flex justify-between items-center",children:[(0,s.jsx)("h3",{className:"text-sm font-medium",children:"Results"}),(0,s.jsxs)(A,{size:"sm",onClick:g,disabled:r,className:"flex items-center gap-1 text-sm font-medium",children:["Run",r?(0,s.jsx)(c.A,{className:"h-4 w-4 animate-spin"}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(ei.A,{className:"h-4 w-4"}),(0,s.jsx)(eo.A,{className:"h-4 w-4"})]})]})]})}),(0,s.jsx)("div",{className:"flex-1 overflow-auto p-4 bg-white",children:(()=>{var e;if(r)return(0,s.jsxs)("div",{className:"flex items-center text-sm text-neutral-700",children:[(0,s.jsx)(c.A,{className:"h-4 w-4 animate-spin mr-2 font-sans"}),"Running your query..."]});if(!a)return(0,s.jsx)("div",{className:"text-sm text-neutral-500 font-sans",children:"Run the query to see the results."});if(!a.success)return console.debug("SQLEditor - Rendering error:",a.error),(0,s.jsx)(ed,{error:a.error});let t=a.results;return t&&0!==t.length?(0,s.jsx)(eu,{query:(null===(e=h.current)||void 0===e?void 0:e.getValue())||"",results:t}):(0,s.jsx)("div",{className:"text-sm text-neutral-900 font-sans",children:"Success. No results to display."})})()})]})}var eE=a(6352);let eS=l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)(eE.bL,{ref:t,className:(0,d.cn)("peer h-4 w-4 shrink-0 rounded-sm border border-primary shadow focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",a),...l,children:(0,s.jsx)(eE.C1,{className:(0,d.cn)("flex items-center justify-center text-current"),children:(0,s.jsx)(Y.A,{className:"h-4 w-4"})})})});eS.displayName=eE.bL.displayName;var eR=a(138),eT=a(1598),eA=a(2884),ek=a(9710);let e_=ek.Kq,eO=ek.bL,eL=ek.l9,eI=l.forwardRef((e,t)=>{let{className:a,sideOffset:l=4,...n}=e;return(0,s.jsx)(ek.ZL,{children:(0,s.jsx)(ek.UC,{ref:t,sideOffset:l,className:(0,d.cn)("z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-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",a),...n})})});eI.displayName=ek.UC.displayName;var eU=a(6235);let eP=(0,l.memo)(e=>{let{onRefresh:t,disabled:a}=e,[n,r]=(0,l.useState)(!1),i=async()=>{if(!n&&!a){r(!0);try{await t()}catch(e){console.error("Refresh failed:",e)}finally{setTimeout(()=>{r(!1)},500)}}};return(0,s.jsx)(e_,{children:(0,s.jsxs)(eO,{children:[(0,s.jsx)(eL,{asChild:!0,children:(0,s.jsx)(A,{variant:"outline",size:"icon",onClick:i,disabled:n||a,className:"h-8",children:n?(0,s.jsx)(c.A,{className:"h-4 w-4 animate-spin"}):(0,s.jsx)(eU.A,{className:"h-4 w-4"})})}),(0,s.jsx)(eI,{children:(0,s.jsx)("p",{children:"Refresh table data"})})]})})});eP.displayName="RefreshButton";var eD=a(7973);let eF=(0,l.memo)(e=>{let{tableName:t,onSync:a}=e,[n,r]=(0,l.useState)(!1),{toast:i}=(0,_.dj)();if("d1_migrations"!==t)return null;let o=async()=>{try{r(!0);let e=await fetch("/api/migrations/sync-files",{method:"POST"}),t=await e.json();if(!e.ok)throw Error(t.error||"Failed to sync migrations");let{added:s=[],removed:l=[]}=t.details||{};i({title:"Migrations Synced",description:"Added: ".concat(s.length,", Removed: ").concat(l.length)}),a&&await a()}catch(e){console.error("Error syncing migrations:",e),i({variant:"destructive",title:"Sync Failed",description:e.message})}finally{r(!1)}};return(0,s.jsx)(e_,{children:(0,s.jsxs)(eO,{children:[(0,s.jsx)(eL,{asChild:!0,children:(0,s.jsx)(A,{variant:"outline",size:"icon",onClick:o,disabled:n,className:"h-8",children:n?(0,s.jsx)(c.A,{className:"h-4 w-4 animate-spin"}):(0,s.jsx)(eD.A,{className:"h-4 w-4"})})}),(0,s.jsx)(eI,{children:(0,s.jsx)("p",{children:"Sync migration files with d1_migrations table"})})]})})});eF.displayName="SyncMigrationsButton";var eM=a(358),ez=a(8742),eQ=a(6697);let eV=(0,l.memo)(e=>{let{tableName:t,onDownloadStart:a,onDownloadComplete:n,disabled:r}=e,[i,o]=(0,l.useState)(!1),{toast:d}=(0,_.dj)(),u=(e,t)=>{try{let a=new Blob([e],{type:"application/octet-stream"}),s=window.URL.createObjectURL(a),l=document.createElement("a");l.href=s,l.download=t,document.body.appendChild(l),l.click(),document.body.removeChild(l),window.URL.revokeObjectURL(s)}catch(e){throw console.error("Error during file download:",e),e}},m=async e=>{if(!r)try{o(!0),null==a||a();let s=await fetch("/api/tables/".concat(t)),l=await s.json();if(!s.ok)throw Error(l.error||"Failed to fetch data");let{data:r,schema:i}=l;if(!(null==r?void 0:r.length)){d({title:"No Data",description:"The table is empty.",variant:"destructive"});return}let c=new Date().toISOString().split("T")[0],m="".concat(t,"_").concat(c,".").concat(e);switch(e){case"json":{let e=JSON.stringify(r,null,2);u(e,m);break}case"csv":{let e=Object.keys(r[0]),t=[e.join(","),...r.map(t=>e.map(e=>{let a=t[e];if(null==a)return"";if("string"==typeof a){let e=a.replace(/"/g,'""');return'"'.concat(e,'"')}return a}).join(","))].join("\n");u(t,m);break}case"sql":{let e="CREATE TABLE IF NOT EXISTS ".concat(t," (\n")+i.map(e=>{let t=[];return e.pk&&t.push("PRIMARY KEY"),e.notnull||t.push("NOT NULL")," ".concat(e.name," ").concat(e.type).concat(t.length?" ".concat(t.join(" ")):"")}).join(",\n")+"\n);\n\n",a=r.map(e=>{let a=Object.keys(e),s=a.map(t=>{let a=e[t];return null===a?"NULL":"string"==typeof a?"'".concat(a.replace(/'/g,"''"),"'"):a});return"INSERT INTO ".concat(t," (").concat(a.join(", "),")\nVALUES (").concat(s.join(", "),");")}).join("\n");u(e+a,m)}}d({title:"Download Complete",description:"".concat(r.length," rows exported as ").concat(e.toUpperCase(),".")}),null==n||n()}catch(e){console.error("Download error:",e),d({variant:"destructive",title:"Download Failed",description:e.message})}finally{o(!1)}};return(0,s.jsxs)(ef,{children:[(0,s.jsx)(e_,{children:(0,s.jsxs)(eO,{children:[(0,s.jsx)(eL,{asChild:!0,children:(0,s.jsx)(ep,{asChild:!0,children:(0,s.jsx)(A,{variant:"outline",size:"icon",className:"h-8",disabled:i||r,children:i?(0,s.jsx)(c.A,{className:"h-4 w-4 animate-spin"}):(0,s.jsx)(et.A,{className:"h-4 w-4"})})})}),(0,s.jsx)(eI,{children:(0,s.jsx)("p",{children:"Download table data"})})]})}),(0,s.jsxs)(eg,{align:"end",children:[(0,s.jsxs)(eN,{onClick:()=>m("json"),disabled:r,children:[(0,s.jsx)(eM.A,{className:"mr-2 h-4 w-4"}),(0,s.jsx)("span",{children:"Download JSON"})]}),(0,s.jsxs)(eN,{onClick:()=>m("csv"),disabled:r,children:[(0,s.jsx)(ez.A,{className:"mr-2 h-4 w-4"}),(0,s.jsx)("span",{children:"Download CSV"})]}),(0,s.jsxs)(eN,{onClick:()=>m("sql"),disabled:r,children:[(0,s.jsx)(eQ.A,{className:"mr-2 h-4 w-4"}),(0,s.jsx)("span",{children:"Download SQL"})]})]})]})});eV.displayName="DownloadButton";var eK=a(9045);let eJ=function(e){let{schema:t=[],visibleColumns:a=[],onColumnToggle:n}=e,[r,i]=(0,l.useState)("");(0,l.useEffect)(()=>{if(!t||0===t.length)return;let e=t.map(e=>e.name);0===a.length&&e.forEach(e=>n(e))},[t,a.length,n]);let o=t.filter(e=>e.name.toLowerCase().includes(r.toLowerCase())),c=o.map(e=>e.name),d=c.length>0&&c.every(e=>a.includes(e)),m=e=>{n(e)};return(0,s.jsxs)(ef,{children:[(0,s.jsx)(ep,{asChild:!0,children:(0,s.jsxs)(A,{size:"sm",variant:"outline",className:"font-semibold",children:[(0,s.jsx)(eK.A,{className:"h-4 w-4"}),"Columns (",a.length,")"]})}),(0,s.jsxs)(eg,{align:"end",className:"w-64 font-sans",children:[(0,s.jsx)("div",{className:"p-2",children:(0,s.jsx)(u,{placeholder:"Search columns...",value:r,onChange:e=>i(e.target.value),className:"h-8"})}),(0,s.jsxs)("div",{className:"flex items-center space-x-2 px-2 py-1.5 hover:bg-accent rounded-md",children:[(0,s.jsx)(eS,{id:"select-all-columns",checked:d,onCheckedChange:e=>{e?o.forEach(e=>{a.includes(e.name)||n(e.name)}):o.forEach(e=>{a.includes(e.name)&&n(e.name)})},className:"shrink-0"}),(0,s.jsxs)("label",{htmlFor:"select-all-columns",className:"flex-1 cursor-pointer text-sm font-medium",children:["Select All ",r&&"(Filtered)"]})]}),(0,s.jsx)("div",{className:"max-h-[300px] overflow-y-auto",children:o.map(e=>(0,s.jsxs)("div",{className:"flex items-start space-x-2 px-2 py-1.5 hover:bg-accent rounded-md",children:[(0,s.jsx)(eS,{id:"column-".concat(e.name),checked:a.includes(e.name),onCheckedChange:()=>m(e.name),className:"mt-1"}),(0,s.jsxs)("label",{htmlFor:"column-".concat(e.name),className:"flex-1 cursor-pointer",children:[(0,s.jsx)("div",{className:"text-sm font-medium",children:e.name}),(0,s.jsx)("div",{className:"text-xs text-muted-foreground",children:e.type.toLowerCase()})]})]},e.name))})]})]})},eq=(0,l.memo)(e=>{let{onAdd:t,onDelete:a,selectedCount:l,disabled:n,newRecordsCount:r,schema:i,visibleColumns:o,onColumnToggle:c}=e;return(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)(e_,{children:(0,s.jsxs)(eO,{children:[(0,s.jsx)(eL,{asChild:!0,children:(0,s.jsx)("span",{children:(0,s.jsxs)(A,{size:"sm",variant:"outline",className:"font-semibold opacity-50 cursor-not-allowed",disabled:!0,children:[(0,s.jsx)(eR.A,{className:"h-4 w-4"}),"Filters"]})})}),(0,s.jsx)(eI,{children:(0,s.jsx)("p",{children:"Filters are not available yet. Coming soon!"})})]})}),(0,s.jsx)(eJ,{schema:i,visibleColumns:o,onColumnToggle:c}),(0,s.jsx)("div",{className:"h-4 border-r mx-2"}),(0,s.jsx)(A,{size:"sm",variant:"default",className:"font-semibold",onClick:t,children:"Add record"}),l>0&&(0,s.jsxs)(A,{size:"sm",className:"font-semibold",onClick:a,variant:"destructive",disabled:n||r>0,children:["Delete ",l," ",1===l?"record":"records"]})]})}),eY=(0,l.memo)(e=>{let{totalRows:t}=e;return(0,s.jsxs)("span",{className:"text-sm text-neutral-600",children:[t," ",1===t?"row":"rows"]})}),eX=(0,l.memo)(e=>{let{currentPage:t,totalPages:a,onPageChange:l,disabled:n,newRecordsCount:r}=e;return(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)(A,{variant:"ghost",size:"icon",onClick:()=>{console.log("Pagination: navigating to previous page",t-1),l(t-1)},disabled:1===t||n||r>0,className:"h-8",children:(0,s.jsx)(eT.A,{className:"h-4 w-4"})}),(0,s.jsxs)("span",{className:"text-sm",children:["Page ",t," of ",a]}),(0,s.jsx)(A,{variant:"ghost",size:"icon",onClick:()=>{console.log("Pagination: navigating to next page",t+1),l(t+1)},disabled:t===a||n||r>0,className:"h-8",children:(0,s.jsx)(eA.A,{className:"h-4 w-4"})})]})}),eH=(0,l.memo)(e=>{let{value:t,onValueChange:a,disabled:l,newRecordsCount:n}=e;return(0,s.jsxs)(X,{value:t.toString(),onValueChange:a,disabled:l||n>0,children:[(0,s.jsx)(W,{className:"w-20 h-8",children:(0,s.jsx)(H,{})}),(0,s.jsxs)(Z,{children:[(0,s.jsx)($,{value:"50",children:"50"}),(0,s.jsx)($,{value:"100",children:"100"}),(0,s.jsx)($,{value:"250",children:"250"})]})]})}),eW=(0,l.memo)(e=>{let{onSave:t,onDiscard:a,totalChanges:l,isSaving:n}=e;return(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(A,{size:"sm",variant:"ghost",className:"font-semibold",onClick:a,disabled:n,children:"Discard changes"}),(0,s.jsx)(A,{size:"sm",className:"font-semibold bg-green-600 hover:bg-green-700",variant:"default",onClick:t,disabled:n,children:n?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(c.A,{className:"h-4 w-4 animate-spin"}),"Saving..."]}):"Save ".concat(l," ").concat(1===l?"change":"changes")})]})}),eB=e=>{let{selectedCount:t=0,onAdd:a,onDelete:l,onRefresh:n,totalRows:r=0,currentPage:i=1,totalPages:o=1,onPageChange:c,rowsPerPage:d=50,onRowsPerPageChange:u,tableName:m,onDownloadStart:h,onDownloadComplete:x,disabled:f=!1,editCount:p=0,newRecordsCount:g=0,onSaveChanges:N,onDiscardChanges:v,isSaving:j=!1,schema:b,visibleColumns:w,onColumnToggle:y}=e,C=p+g;return(0,s.jsx)("div",{className:"flex items-center justify-between p-3 border-b bg-background font-sans",children:(0,s.jsxs)("div",{className:"flex items-center justify-between w-full",children:[(0,s.jsx)(eq,{onAdd:a,onDelete:l,selectedCount:t,disabled:f||j,newRecordsCount:g,schema:b,visibleColumns:w,onColumnToggle:y}),(0,s.jsx)("div",{className:"flex items-center gap-4",children:C>0?(0,s.jsx)(eW,{onSave:N,onDiscard:v,totalChanges:C,isSaving:j}):(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)(eY,{totalRows:r}),(0,s.jsx)(eX,{currentPage:i,totalPages:o,onPageChange:c,disabled:f,newRecordsCount:g}),(0,s.jsx)(eH,{value:d,onValueChange:e=>{u(parseInt(e,10)),c(1)},disabled:f,newRecordsCount:g}),(0,s.jsx)(eP,{onRefresh:n,disabled:f}),(0,s.jsx)(eF,{tableName:m,onSync:n,disabled:f}),(0,s.jsx)(eV,{tableName:m,onDownloadStart:h,onDownloadComplete:x,disabled:f})]})})]})})};eB.displayName="TableToolbar";let eG=(0,l.memo)(eB);function eZ(e){let{value:t,row:a,column:n,schema:r,onChange:i,onStartEdit:o,isEditing:c}=e,d="string"==typeof t?t.replace(/^'|'$/g,""):t,[m,h]=(0,l.useState)(d),[x,f]=(0,l.useState)("auto"),p=(0,l.useRef)(null),g=(0,l.useRef)(null),N=r.find(e=>e.name===n),v=(0,l.useMemo)(()=>(null==N?void 0:N.check)||null,[N]),j=(0,l.useMemo)(()=>{var e;let t=(null==N?void 0:null===(e=N.type)||void 0===e?void 0:e.toLowerCase())||"";return"boolean"===t||"bool"===t||"integer"===t&&n.toLowerCase().startsWith("is_")},[N,n]);(0,l.useEffect)(()=>{h(d)},[d]),(0,l.useEffect)(()=>{if(p.current&&!c){let e=p.current.offsetWidth;f("".concat(e,"px"))}},[c]),(0,l.useEffect)(()=>{c&&g.current&&(g.current.focus(),g.current.select())},[c]),null==N||N.pk;let b=(0,l.useCallback)(e=>{let t=j?"true"===e?1:"false"===e?0:e:e;h(e),null==i||i(t)},[i,j]),w=(0,l.useCallback)(()=>{!c&&o&&o(d)},[c,o,d]),y="border-x border-neutral-200 px-3 py-2.5 text-xs font-mono whitespace-nowrap",C=(0,l.useMemo)(()=>null==d?"null":j?1===d||"1"===d||"true"===d?"true":"false":d.toString(),[d,j]);return c?j?(0,s.jsx)(z,{className:"".concat(y," p-0"),style:{width:x},children:(0,s.jsx)("div",{className:"w-full h-full",children:(0,s.jsxs)(X,{value:C,onValueChange:b,defaultOpen:c,children:[(0,s.jsx)(W,{className:"w-full h-9 min-w-0 rounded-none border-0 bg-orange-50 text-orange-900",children:(0,s.jsx)(H,{placeholder:"Select value"})}),(0,s.jsxs)(Z,{className:"min-w-[8rem]",children:[(0,s.jsx)($,{value:"true",children:"true"}),(0,s.jsx)($,{value:"false",children:"false"})]})]})})}):(null==v?void 0:v.length)>0?(0,s.jsx)(z,{className:"".concat(y," p-0"),style:{width:x},children:(0,s.jsx)("div",{className:"w-full h-full",children:(0,s.jsxs)(X,{value:null!=m?m:v[0],onValueChange:b,defaultOpen:c,children:[(0,s.jsx)(W,{className:"w-full h-9 min-w-0 rounded-none border-0 bg-orange-50 text-orange-900",children:(0,s.jsx)(H,{placeholder:"Select ".concat(n)})}),(0,s.jsx)(Z,{className:"min-w-[8rem]",children:v.map(e=>(0,s.jsx)($,{value:e,children:e},e))})]})})}):(0,s.jsx)(z,{className:"".concat(y," p-0"),style:{width:x},children:(0,s.jsx)(u,{ref:g,value:null!=m?m:"",onChange:e=>b(e.target.value),className:"w-full min-w-0 rounded-none border-0 bg-orange-50 text-orange-900"})}):(0,s.jsx)(z,{ref:p,className:"".concat(y," cursor-pointer hover:bg-muted/50"),onClick:w,children:C})}var e$=a(5524);function e0(e){return"string"==typeof e?e.replace(/^'|'$/g,""):e}function e1(e){let{schema:t,onRemove:a,onChange:n,showCheckbox:r=!1,initialData:i={}}=e,[o,c]=(0,l.useState)(()=>t.reduce((e,t)=>{var a;let s=null!==(a=i[t.name])&&void 0!==a?a:null;if(s=e0(s),"INTEGER"===t.type.toUpperCase()&&1===t.pk&&(null===s||""===s))s="[Auto-generated INT]";else if(null===s){if(t.dflt_value){let e=e0(t.dflt_value);s=e.includes("randomblob")||e.includes("lower(hex(")?"[Auto-generated UUID]":"INTEGER"===t.type.toUpperCase()&&1===t.pk&&(e.includes("AUTOINCREMENT")||e.includes("AUTO_INCREMENT")||e.includes("nextval")||""===e||"0"===e)?"[Auto-generated INT]":e}else"INTEGER"===t.type.toUpperCase()?s="":"TEXT"===t.type.toUpperCase()&&(s="")}return e[t.name]=s,e},{})),d=(e,t)=>{let a={...o,[e]:t};c(a),null==n||n(a)},m=e=>{var t;let a=(null===(t=e.type)||void 0===t?void 0:t.toLowerCase())||"";return"boolean"===a||"bool"===a||"integer"===a&&e.name.toLowerCase().startsWith("is_")};return(0,s.jsxs)(F,{className:"bg-orange-50/50",children:[(0,s.jsx)(z,{className:"w-10 p-0",children:(0,s.jsx)("div",{className:"pl-1 flex items-center",children:r?(0,s.jsx)(eS,{disabled:!0}):(0,s.jsx)(A,{variant:"ghost",size:"icon",className:"h-8 w-8 text-orange-700 hover:text-orange-800",onClick:a,children:(0,s.jsx)(e$.A,{className:"h-4 w-4"})})})}),t.map(e=>{var t,a;let l=1===e.pk,n=e.check||null;if(m(e)){let t="false";if(null!==e.dflt_value&&void 0!==e.dflt_value){let a=e.dflt_value.toString().toLowerCase();t="1"===a||"true"===a||"'true'"===a||'"true"'===a?"true":"false"}let a=null!==o[e.name]&&void 0!==o[e.name]?1===o[e.name]||!0===o[e.name]||"true"===o[e.name]?"true":"false":t;return(0,s.jsx)(z,{className:"border-x border-neutral-200 p-0",children:(0,s.jsx)("div",{className:"w-full",children:(0,s.jsxs)(X,{value:a,onValueChange:t=>d(e.name,"true"===t?1:0),children:[(0,s.jsx)(W,{className:"w-full h-9 min-w-0 rounded-none border-0 bg-orange-50 text-orange-900",title:"Default: ".concat(t),children:(0,s.jsx)(H,{placeholder:"Select ".concat(e.name)})}),(0,s.jsxs)(Z,{className:"min-w-[8rem]",children:[(0,s.jsx)($,{value:"true",children:"true"}),(0,s.jsx)($,{value:"false",children:"false"})]})]})})},e.name)}return(null==n?void 0:n.length)>0?(0,s.jsx)(z,{className:"border-x border-neutral-200 p-0",children:(0,s.jsx)("div",{className:"w-full",children:(0,s.jsxs)(X,{value:null!==(t=o[e.name])&&void 0!==t?t:n[0],onValueChange:t=>d(e.name,t),children:[(0,s.jsx)(W,{className:"w-full h-9 min-w-0 rounded-none border-0 bg-orange-50 text-orange-900",children:(0,s.jsx)(H,{placeholder:"Select ".concat(e.name)})}),(0,s.jsx)(Z,{className:"min-w-[8rem]",children:n.map(e=>(0,s.jsx)($,{value:e,children:e},e))})]})})},e.name):(0,s.jsx)(z,{className:"border-x border-neutral-200 p-0",children:(0,s.jsx)(u,{value:null!==(a=o[e.name])&&void 0!==a?a:"",onChange:t=>d(e.name,t.target.value),className:"w-full min-w-0 rounded-none border-0 px-2 bg-orange-50 text-orange-900",placeholder:l&&"INTEGER"===e.type.toUpperCase()?"Auto-generated INT":l?"Auto-generated":"Enter ".concat(e.name)})},e.name)})]})}let e4=function(e){let{isOpen:t,onClose:a,onConfirm:l,selectedCount:n,tableName:i,isDeleting:o,error:c}=e;return(0,s.jsx)(v,{open:t,onOpenChange:a,children:(0,s.jsxs)(w,{className:"sm:max-w-md font-sans",children:[(0,s.jsxs)(y,{children:[(0,s.jsxs)(E,{className:"mb-2",children:["Delete ",n," ",1===n?"Record":"Records","?"]}),(0,s.jsxs)(S,{className:"text-neutral-600 font-medium",children:["You're about to delete ",n," ",1===n?"record":"records"," from ",(0,s.jsx)("span",{className:"font-sans font-bold text-neutral-900",children:i}),"."]})]}),c&&(0,s.jsxs)(x,{variant:"destructive",children:[(0,s.jsx)(r.A,{className:"h-4 w-4"}),(0,s.jsx)(f,{children:c})]}),(0,s.jsxs)(C,{className:"flex gap-1 mt-2 sm:justify-end font-sans",children:[(0,s.jsx)(A,{variant:"outline",onClick:a,disabled:o,children:"Cancel"}),(0,s.jsx)(A,{variant:"destructive",onClick:l,disabled:o,children:o?"Deleting...":"Delete"})]})]})})};function e2(e){var t;let{isOpen:a,onClose:l,error:n}=e;if(!n||!a)return null;let{message:i,icon:o}=n?{message:n.message,icon:r.A}:{message:"An unknown error occurred.",icon:r.A};return(0,s.jsx)(v,{open:a,onOpenChange:l,children:(0,s.jsxs)(w,{className:"sm:max-w-md font-sans",children:[(0,s.jsx)(y,{children:(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(o,{className:"h-4 w-4 text-red-500"}),(0,s.jsx)(E,{children:"Error"})]})}),(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsx)("p",{className:"bg-neutral-100 p-2 rounded-md text-neutral-900",children:i}),(null===(t=n.details)||void 0===t?void 0:t.suggestions)&&(0,s.jsxs)("div",{className:"text-sm space-y-1",children:[(0,s.jsx)("p",{className:"font-medium",children:"Suggestions:"}),(0,s.jsx)("ul",{className:"list-disc pl-4 space-y-1",children:n.details.suggestions.map((e,t)=>(0,s.jsx)("li",{children:e},t))})]})]}),(0,s.jsx)("div",{className:"flex justify-end gap-2 mt-4",children:(0,s.jsx)(A,{variant:"default",onClick:l,children:"Got it"})})]})})}let e5=e=>{let{children:t,width:a,onResize:n,className:r=""}=e,[i,o]=(0,l.useState)(!1),c=(0,l.useRef)(null),d=(0,l.useCallback)(e=>{var t;e.preventDefault(),o(!0);let a=e.clientX,s=(null===(t=c.current)||void 0===t?void 0:t.offsetWidth)||0,l=e=>{c.current&&n(Math.max(s+(e.clientX-a),100))},r=()=>{o(!1),document.removeEventListener("mousemove",l),document.removeEventListener("mouseup",r)};document.addEventListener("mousemove",l),document.addEventListener("mouseup",r)},[n]);return(0,s.jsxs)("th",{ref:c,className:"relative ".concat(r," ").concat(i?"select-none":""),style:{width:"".concat(a,"px")},children:[t,(0,s.jsx)("div",{className:"absolute top-0 right-0 h-full w-1 cursor-col-resize group hover:bg-neutral-300",onMouseDown:d})]})},e3=e=>{let{columns:t,children:a,onColumnsResize:n,className:r=""}=e,[i,o]=(0,l.useState)(t.reduce((e,t)=>({...e,[t.key]:t.width||150}),{})),c=(0,l.useCallback)((e,t)=>{o(a=>{let s={...a,[e]:t};return null==n||n(s),s})},[n]);return(0,s.jsx)("div",{className:"w-full ".concat(r),children:l.Children.map(a,e=>l.isValidElement(e)?l.cloneElement(e,{onResize:c}):e)})};var e9=a(3998),e8=a(3303),e7=a(8729);function e6(e){let{column:t,sortConfig:a,onSort:l,children:n}=e,r=a[t];return(0,s.jsx)("div",{className:"flex items-center w-full",children:(0,s.jsxs)(A,{variant:"ghost",size:"sm",className:"h-8 hover:bg-neutral-100 w-full justify-between",onClick:()=>{l(t,r?"asc"===r?"desc":null:"asc")},children:[(0,s.jsx)("span",{className:"flex items-center gap-1 font-mono",children:n}),(0,s.jsxs)("span",{className:"shrink-0",children:["asc"===r&&(0,s.jsx)(e9.A,{className:"h-4 w-4"}),"desc"===r&&(0,s.jsx)(e8.A,{className:"h-4 w-4"}),!r&&(0,s.jsx)(e7.A,{className:"h-4 w-4"})]})]})})}function te(e){let{tableName:t}=e,{executeQuery:a,getCachedTable:n,updateTableCache:i,invalidateTable:o,switchTable:d,activeTable:u,updateTableData:m}=(0,p.t)(),{toast:h}=(0,_.dj)(),[g,N]=(0,l.useState)(()=>[]),[v,j]=(0,l.useState)([]),[b,w]=(0,l.useState)(0),[y,C]=(0,l.useState)(!0),[E,S]=(0,l.useState)(!1),[R,T]=(0,l.useState)(null),[A,k]=(0,l.useState)(new Map),[O,Q]=(0,l.useState)(new Set),[V,K]=(0,l.useState)([]),[J,q]=(0,l.useState)(1),[Y,X]=(0,l.useState)(50),[H,W]=(0,l.useState)(1),[B,G]=(0,l.useState)(new Set),Z=(0,l.useRef)(null),[$,ee]=(0,l.useState)(!1),[et,ea]=(0,l.useState)(!1),[es,el]=(0,l.useState)(null),[en,er]=(0,l.useState)(!1),[ei,eo]=(0,l.useState)(null),[ec,ed]=(0,l.useState)({}),[eu,em]=(0,l.useState)({}),[eh,ex]=(0,l.useState)([]);(0,l.useEffect)(()=>{if(t){let e=localStorage.getItem("table-widths-".concat(t));e&&em(JSON.parse(e));let a=localStorage.getItem("table-columns-".concat(t));if(a)try{ex(JSON.parse(a))}catch(e){ex([])}}},[t]);let ef=(0,l.useCallback)(async function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!t)return;let a=n(t,J,Y);if(a&&!e){N(a.data),j(a.schema),w(a.meta.total),W(a.meta.totalPages);return}C(!0),T(null),G(new Set);try{let a=await d(t,{page:J,limit:Y,forceFetch:e});return a.meta.page=J,N(Array.isArray(a.data)?a.data:[]),j(a.schema||[]),w(a.meta.total),W(a.meta.totalPages),!0}catch(e){throw console.error("Error loading table data:",e),T(e.message||String(e)),h({variant:"destructive",title:"Error",description:"Failed to load table: ".concat(e.message)}),e}finally{C(!1)}},[t,J,Y,n,d,h,eh.length]),ep=(0,l.useCallback)(e=>{ex(a=>{let s=a.includes(e)?a.filter(t=>t!==e):[...a,e];return localStorage.setItem("table-columns-".concat(t),JSON.stringify(s)),s})},[t]),eg=(0,l.useCallback)((e,a)=>{em(s=>{let l={...s,[e]:a};return localStorage.setItem("table-widths-".concat(t),JSON.stringify(l)),l})},[t]),eN=(0,l.useCallback)(async()=>{try{G(new Set),o(t),await ef(!0),h({title:"Success",description:"Table data refreshed"})}catch(e){console.error("Refresh failed:",e),h({variant:"destructive",title:"Refresh Failed",description:e.message})}},[ef,o,t,h]),ev=(0,l.useCallback)((e,a)=>{ed(t=>({...t,[e]:a}));let s=a&&g.length?[...g].sort((t,s)=>{let l=t[e],n=s[e];if(null==l&&null==n)return 0;if(null==l)return 1;if(null==n)return -1;if("number"==typeof l&&"number"==typeof n)return"asc"===a?l-n:n-l;let r=String(l).toLowerCase(),i=String(n).toLowerCase();return"asc"===a?r.localeCompare(i):i.localeCompare(r)}):g;N(s);let l=n(t);l&&i(t,s,l.schema,{...l.meta,currentPage:J,limit:Y},J,Y)},[g,t,n,i]),eb=(0,l.useCallback)((e,t,a)=>{let s="".concat(e,"-").concat(t);k(e=>new Map(e).set(s,{value:a,originalValue:a})),Q(t=>new Set(t).add(e))},[]),ew=(0,l.useCallback)((e,t,a)=>{var s,l;let n="".concat(e,"-").concat(t),r=g[e],i=null!==(l=null===(s=A.get(n))||void 0===s?void 0:s.originalValue)&&void 0!==l?l:r[t];if(a===i){let t=new Map(A);if(t.delete(n),k(t),!Array.from(t.keys()).some(t=>t.startsWith("".concat(e,"-")))){let t=new Set(O);t.delete(e),Q(t)}}else k(e=>new Map(e).set(n,{value:a,originalValue:i})),Q(t=>new Set(t).add(e))},[g,A,O]),ey=(0,l.useCallback)(()=>{K(e=>[...e,{}])},[]),eC=(0,l.useCallback)(e=>{K(t=>t.filter((t,a)=>a!==e))},[]),eE=(0,l.useCallback)((e,t)=>{K(a=>{let s=[...a];return s[e]=t,s})},[]),eR=async function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];S(!0);try{if(V.length>0){let e=0,s=v.filter(e=>"datetime"===e.type.toLowerCase()).map(e=>e.name);for(let l of V){let n=Object.keys(l).filter(e=>{let t=l[e];if(null===t||""===t||"null"===t)return!1;if((null==t?void 0:t.toString())==="[Auto-generated INT]"){let t=v.find(t=>t.name===e);if(t&&1===t.pk&&"INTEGER"===t.type.toUpperCase())return!1}return!0});if(s.forEach(e=>{n.includes(e)||n.push(e)}),0===n.length)continue;let r=n.map(e=>{if(s.includes(e))return"CURRENT_TIMESTAMP";let t=l[e];if(null===t||""===t||"null"===t)return"NULL";let a=t.toString();if("[Auto-generated UUID]"===a){let t=v.find(t=>t.name===e);if(t&&t.dflt_value)return t.dflt_value}if("[Auto-generated INT]"===a){let t=v.find(t=>t.name===e);if(t&&1===t.pk&&"INTEGER"===t.type.toUpperCase())return null}return a.includes("randomblob")||a.includes("CURRENT_TIMESTAMP")||a.includes("lower(hex(")||a.startsWith("(")&&a.endsWith(")")?a:"'".concat(a.replace(/'/g,"''"),"'")}),i="INSERT INTO ".concat(t," (").concat(n.join(", "),") VALUES (").concat(r.join(", "),");");await a(i),e++}if(e>0){let a=await m(t);N(a.data),w(a.meta.total),W(Math.ceil(a.meta.total/Y)),h({title:"Success",description:"Added ".concat(e," ").concat(1===e?"record":"records")})}K([])}if(A.size>0&&(e||!ei)){var s;let e=null===(s=v.find(e=>1===e.pk))||void 0===s?void 0:s.name;if(!e)throw Error("No primary key found in table schema");let l=new Map;A.forEach((t,a)=>{let[s,n]=a.split("-"),r=g[s];l.has(r[e])||l.set(r[e],new Map),l.get(r[e]).set(n,t.value)});let n=0;for(let[s,r]of l){let l=Array.from(r.entries()).map(e=>{let[t,a]=e;return null===a||""===a||"null"===a?"".concat(t," = NULL"):"CURRENT_TIMESTAMP"===a?"".concat(t," = CURRENT_TIMESTAMP"):"".concat(t," = '").concat(a.toString().replace(/'/g,"''"),"'")}).join(", "),i="\n UPDATE ".concat(t,"\n SET ").concat(l,"\n WHERE ").concat(e," = ").concat(s,";\n ");await a(i),n++}if(n>0){let e=await m(t);N(e.data),w(e.meta.total),W(Math.ceil(e.meta.total/Y)),h({title:"Success",description:"Updated ".concat(n," ").concat(1===n?"record":"records")})}}k(new Map),Q(new Set),eo(null)}catch(e){eo({...ej(e),stderr:e.stderr,stdout:e.stdout}),er(!0)}finally{S(!1)}},eT=(0,l.useCallback)(async()=>{if(ea(!0),el(null),t){ea(!0),el(null);try{var e;let s=null===(e=v.find(e=>1===e.pk))||void 0===e?void 0:e.name;if(!s)throw Error("No primary key found in table schema");let l=Array.from(B).map(e=>g[e][s]);if(0===l.length)return;let r=l.map(e=>"string"==typeof e&&isNaN(e)?"'".concat(e.replace(/'/g,"''"),"'"):e),o="DELETE FROM ".concat(t," WHERE ").concat(s," IN (").concat(r.join(","),");");await a(o);let c=new Set(l),d=g.filter(e=>!c.has(e[s]));N(d),w(e=>e-l.length),W(Math.ceil((b-l.length)/Y));let u=n(t);u&&i(t,d,u.schema,{...u.meta,total:u.meta.total-l.length}),J>1&&g.length===l.length&&(q(e=>e-1),await ef()),ee(!1),G(new Set),h({title:"Success",description:"Successfully deleted ".concat(l.length," ").concat(1===l.length?"record":"records")})}catch(e){console.error("Delete operation failed:",e),el(e.message||String(e))}finally{ea(!1)}}},[t,B,g,v,a,m,ef,J,Y,b,h,n,i]);(0,l.useEffect)(()=>{if(!t)return;k(new Map),Q(new Set),K([]),T(null),G(new Set),q(1);let e=n(t,1,Y);e?(N(e.data),j(e.schema),w(e.meta.total),W(e.meta.totalPages),ex(a=>{if(a.length)return a;let s=e.schema.map(e=>e.name);return localStorage.setItem("table-columns-".concat(t),JSON.stringify(s)),s})):ef(!1)},[t,Y]),(0,l.useEffect)(()=>{if(u===t){let e=n(t);e&&(N(e.data),j(e.schema),w(e.meta.total),W(e.meta.totalPages))}},[u,t,n]),(0,l.useEffect)(()=>{if(t&&!y){var e;let a=n(t,J,Y);a&&J===(null===(e=a.meta)||void 0===e?void 0:e.currentPage)||ef(!1)}},[t,J,Y,y,ef,n]),(0,l.useEffect)(()=>{Z.current&&(Z.current.indeterminate=B.size>0&&B.size<g.length)},[B.size,g.length]);let eA=(0,l.useCallback)(e=>{G(e?new Set(g.map((e,t)=>t)):new Set)},[g]),ek=(0,l.useCallback)((e,t)=>{G(a=>{let s=new Set(a);return t?s.add(e):s.delete(e),s})},[]);(0,l.useCallback)(e=>{em(e),localStorage.setItem("table-widths-".concat(t),JSON.stringify(e))},[t]);let e_=v.filter(e=>eh.includes(e.name)),eO=A.size>0||V.length>0;return R?(0,s.jsx)("div",{className:"p-4",children:(0,s.jsxs)(x,{variant:"destructive",children:[(0,s.jsx)(r.A,{className:"h-4 w-4"}),(0,s.jsxs)(f,{children:["Failed to load table: ",R]})]})}):(0,s.jsxs)("div",{className:"h-full flex flex-col",children:[(0,s.jsx)(eG,{selectedCount:B.size,totalRows:b,currentPage:J,totalPages:H,rowsPerPage:Y,onPageChange:q,onRowsPerPageChange:X,onAdd:ey,onDelete:()=>ee(!0),onRefresh:eN,tableName:t,disabled:eO,editCount:A.size,newRecordsCount:V.length,isSaving:E,onSaveChanges:eR,onDiscardChanges:()=>{k(new Map),Q(new Set),K([]),eo(null),h({description:"Changes discarded"})},schema:v,visibleColumns:eh,onColumnToggle:ep}),(0,s.jsx)(e3,{columns:v,onColumnsResize:eg,children:(0,s.jsx)("div",{className:"flex-1 overflow-hidden bg-background font-mono",children:(0,s.jsx)(L,{className:"w-full h-screen",children:(0,s.jsxs)("div",{className:"relative w-max min-w-fit pb-4",children:[(0,s.jsxs)(U,{children:[!y&&(0,s.jsx)(P,{className:"bg-neutral-100 sticky top-0 z-30",children:(0,s.jsxs)(F,{children:[(0,s.jsx)(M,{className:"w-10 p-0 border-r border-neutral-200",children:(0,s.jsx)("div",{className:"py-0.5 px-3 flex items-center",children:(0,s.jsx)(eS,{ref:Z,checked:B.size===g.length&&g.length>0,onCheckedChange:eA,disabled:eO})})}),e_.map(e=>{var t;return(0,s.jsx)(e5,{width:eu[e.name]||150,onResize:t=>eg(e.name,t),className:"py-0.5 whitespace-nowrap border-r border-neutral-200",children:(0,s.jsxs)(e6,{column:e.name,sortConfig:ec,onSort:ev,children:[(0,s.jsx)("span",{className:"text-xs font-bold text-foreground",children:e.name}),(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:null===(t=e.type)||void 0===t?void 0:t.toLowerCase()})]})},e.name)})]})}),(0,s.jsxs)(D,{children:[y&&(0,s.jsx)(F,{className:"hover:bg-transparent",children:(0,s.jsx)(z,{colSpan:e_.length+1,className:"h-[calc(100vh-200px)]",children:(0,s.jsx)("div",{className:"h-full w-full flex items-center justify-center",children:(0,s.jsx)(c.A,{className:"h-6 w-6 animate-spin text-primary"})})})}),!y&&(0,s.jsxs)(s.Fragment,{children:[V.map((e,t)=>(0,s.jsx)(e1,{schema:e_,onRemove:()=>eC(t),onChange:e=>eE(t,e)},"new-".concat(t))),0===g.length&&0===V.length?(0,s.jsx)(F,{className:"hover:bg-transparent",children:(0,s.jsx)(z,{colSpan:e_.length+1,className:"h-[calc(100vh-200px)] text-center text-muted-foreground",children:"Table is empty"})}):g.map((e,t)=>(0,s.jsxs)(F,{className:"".concat(B.has(t)?"bg-muted/50":""),children:[(0,s.jsx)(z,{className:"p-0",children:(0,s.jsx)("div",{className:"px-3 py-2.5 flex items-center",children:(0,s.jsx)(eS,{checked:B.has(t),onCheckedChange:e=>ek(t,e),disabled:eO})})}),e_.map(a=>{let l="".concat(t,"-").concat(a.name),n=A.get(l);return(0,s.jsx)(eZ,{value:n?n.value:e[a.name],row:e,column:a.name,schema:v,onChange:e=>ew(t,a.name,e),onStartEdit:e=>eb(t,a.name,e),isEditing:A.has(l),style:{width:"".concat(eu[a.name]||150,"px")}},a.name)})]},t))]})]})]}),(0,s.jsx)(I,{orientation:"horizontal"})]})})})}),(0,s.jsx)(e4,{isOpen:$,onClose:()=>{ee(!1),el(null)},onConfirm:eT,selectedCount:B.size,tableName:t,isDeleting:et,error:es}),(0,s.jsx)(e2,{isOpen:en,onClose:()=>er(!1),error:ei,onOpenInSQL:()=>{er(!1)},onUpdateAnyway:async()=>{er(!1),await eR(!0)},showSQLOption:(null==ei?void 0:ei.type)==="NULLABLE_PK"})]})}function tt(){let[e,t]=(0,l.useState)("sql-editor"),[a,n]=(0,l.useState)(null);return(0,s.jsxs)("div",{className:"flex h-screen bg-background",children:[(0,s.jsx)(el,{className:"w-64 border-r flex-shrink-0",currentView:e,onNavigate:t,onTableSelect:e=>{n(e),t("table-view")}}),(0,s.jsxs)("main",{className:"flex-1 overflow-hidden",children:["sql-editor"===e&&(0,s.jsx)(eC,{}),"table-view"===e&&a&&(0,s.jsx)(te,{tableName:a})]})]})}}},e=>{var t=t=>e(e.s=t);e.O(0,[692,576,735,441,517,358],()=>t(4576)),_N_E=e.O()}]);
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[358],{2775:(e,s,n)=>{Promise.resolve().then(n.t.bind(n,7033,23)),Promise.resolve().then(n.t.bind(n,4547,23)),Promise.resolve().then(n.t.bind(n,4835,23)),Promise.resolve().then(n.t.bind(n,2328,23)),Promise.resolve().then(n.t.bind(n,5244,23)),Promise.resolve().then(n.t.bind(n,3866,23)),Promise.resolve().then(n.t.bind(n,6213,23))}},e=>{var s=s=>e(e.s=s);e.O(0,[441,517],()=>(s(7200),s(2775))),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[358],{8105:(e,s,n)=>{Promise.resolve().then(n.t.bind(n,7033,23)),Promise.resolve().then(n.t.bind(n,4547,23)),Promise.resolve().then(n.t.bind(n,4835,23)),Promise.resolve().then(n.t.bind(n,2328,23)),Promise.resolve().then(n.t.bind(n,5244,23)),Promise.resolve().then(n.t.bind(n,3866,23)),Promise.resolve().then(n.t.bind(n,6213,23))}},e=>{var s=s=>e(e.s=s);e.O(0,[441,517],()=>(s(7200),s(8105))),_N_E=e.O()}]);
@@ -1,3 +1,3 @@
1
- @font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba015fad6dcf6784-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/569ce4b8f30dc480-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Fallback;src:local("Arial");ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.00%;size-adjust:104.76%}.__className_4d318d{font-family:Geist,Geist Fallback;font-style:normal}.__variable_4d318d{--font-geist-sans:"Geist","Geist Fallback"}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/747892c23ea88013-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/93f479601ee12b01-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Mono Fallback;src:local("Arial");ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.00%;size-adjust:134.59%}.__className_ea5f4b{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.__variable_ea5f4b{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
1
+ @font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8d697b304b401681-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba015fad6dcf6784-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/569ce4b8f30dc480-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Fallback;src:local("Arial");ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.00%;size-adjust:104.76%}.__className_5cfdac{font-family:Geist,Geist Fallback;font-style:normal}.__variable_5cfdac{--font-geist-sans:"Geist","Geist Fallback"}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/9610d9e46709d722-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/747892c23ea88013-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/93f479601ee12b01-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Mono Fallback;src:local("Arial");ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.00%;size-adjust:134.59%}.__className_9a8899{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.__variable_9a8899{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
2
2
  ! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
3
3
  */*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background:0 0% 100%;--foreground:240 10% 3.9%;--card:0 0% 100%;--card-foreground:240 10% 3.9%;--popover:0 0% 100%;--popover-foreground:240 10% 3.9%;--primary:240 5.9% 10%;--primary-foreground:0 0% 98%;--secondary:240 4.8% 95.9%;--secondary-foreground:240 5.9% 10%;--muted:240 4.8% 95.9%;--muted-foreground:240 3.8% 46.1%;--accent:240 4.8% 95.9%;--accent-foreground:240 5.9% 10%;--destructive:0 84.2% 60.2%;--destructive-foreground:0 0% 98%;--border:240 5.9% 90%;--input:240 5.9% 90%;--ring:240 10% 3.9%;--chart-1:12 76% 61%;--chart-2:173 58% 39%;--chart-3:197 37% 24%;--chart-4:43 74% 66%;--chart-5:27 87% 67%;--radius:0.5rem;--sidebar-background:0 0% 98%;--sidebar-foreground:240 5.3% 26.1%;--sidebar-primary:240 5.9% 10%;--sidebar-primary-foreground:0 0% 98%;--sidebar-accent:240 4.8% 95.9%;--sidebar-accent-foreground:240 5.9% 10%;--sidebar-border:220 13% 91%;--sidebar-ring:217.2 91.2% 59.8%}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.left-0{left:0}.left-1\/2{left:50%}.left-2{left:.5rem}.left-\[50\%\]{left:50%}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-1{top:.25rem}.top-1\.5{top:.375rem}.top-1\/2{top:50%}.top-2\.5{top:.625rem}.top-3\.5{top:.875rem}.top-4{top:1rem}.top-\[50\%\]{top:50%}.top-\[var\(--banner-height\2c 0px\)\]{top:var(--banner-height,0)}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.z-\[100\]{z-index:100}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3\.5{margin-left:.875rem;margin-right:.875rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem}.mb-1,.my-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.\!table{display:table!important}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1/1}.size-4{width:1rem;height:1rem}.h-0\.5{height:.125rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[16px\]{height:16px}.h-\[1px\]{height:1px}.h-\[480px\]{height:480px}.h-\[calc\(100vh-200px\)\]{height:calc(100vh - 200px)}.h-\[calc\(100vh-var\(--banner-height\2c 0px\)\)\]{height:calc(100vh - var(--banner-height,0px))}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.h-svh{height:100svh}.max-h-96{max-height:24rem}.max-h-\[300px\]{max-height:300px}.max-h-screen{max-height:100vh}.min-h-0{min-height:0}.min-h-svh{min-height:100svh}.w-1{width:.25rem}.w-10{width:2.5rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[--sidebar-width\]{width:var(--sidebar-width)}.w-\[16px\]{width:16px}.w-\[1px\]{width:1px}.w-\[600px\]{width:600px}.w-auto{width:auto}.w-full{width:100%}.w-max{width:max-content}.min-w-0{min-width:0}.min-w-5{min-width:1.25rem}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.min-w-fit{min-width:fit-content}.min-w-full{min-width:100%}.max-w-\[--skeleton-width\]{max-width:var(--skeleton-width)}.max-w-lg{max-width:32rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink-0,.shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-px{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-px{--tw-translate-x:-1px}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.translate-x-\[-50\%\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[-50\%\]{--tw-translate-x:-50%}.translate-x-px{--tw-translate-x:1px}.translate-x-px,.translate-y-\[-50\%\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y:-50%}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-row-resize{cursor:row-resize}.touch-none{touch-action:none}.select-none{user-select:none}.resize{resize:both}.list-disc{list-style-type:disc}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-x-1{column-gap:.25rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.rounded{border-radius:.25rem}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-0{border-width:0}.border-x{border-left-width:1px;border-right-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-destructive{border-color:hsl(var(--destructive))}.border-destructive\/50{border-color:hsl(var(--destructive)/.5)}.border-input{border-color:hsl(var(--input))}.border-neutral-200{--tw-border-opacity:1;border-color:rgb(229 229 229/var(--tw-border-opacity,1))}.border-primary{border-color:hsl(var(--primary))}.border-sidebar-border{border-color:hsl(var(--sidebar-border))}.border-yellow-500{--tw-border-opacity:1;border-color:rgb(234 179 8/var(--tw-border-opacity,1))}.border-l-transparent{border-left-color:transparent}.border-t-transparent{border-top-color:transparent}.bg-\[\#F0F0F0\]{--tw-bg-opacity:1;background-color:rgb(240 240 240/var(--tw-bg-opacity,1))}.bg-background{background-color:hsl(var(--background))}.bg-black\/80{background-color:rgba(0,0,0,.8)}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-destructive\/10{background-color:hsl(var(--destructive)/.1)}.bg-destructive\/15{background-color:hsl(var(--destructive)/.15)}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.bg-muted{background-color:hsl(var(--muted))}.bg-muted\/50{background-color:hsl(var(--muted)/.5)}.bg-neutral-100{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity,1))}.bg-neutral-200{--tw-bg-opacity:1;background-color:rgb(229 229 229/var(--tw-bg-opacity,1))}.bg-neutral-300{--tw-bg-opacity:1;background-color:rgb(212 212 212/var(--tw-bg-opacity,1))}.bg-neutral-50{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.bg-neutral-900{--tw-bg-opacity:1;background-color:rgb(23 23 23/var(--tw-bg-opacity,1))}.bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.bg-orange-50\/50{background-color:rgba(255,247,237,.5)}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/10{background-color:hsl(var(--primary)/.1)}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-sidebar{background-color:hsl(var(--sidebar-background))}.bg-sidebar-border{background-color:hsl(var(--sidebar-border))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity,1))}.fill-current{fill:currentColor}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-\[1px\]{padding:1px}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pl-1{padding-left:.25rem}.pl-2{padding-left:.5rem}.pl-4{padding-left:1rem}.pl-6{padding-left:1.5rem}.pl-7{padding-left:1.75rem}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.pr-6{padding-right:1.5rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.tracking-widest{letter-spacing:.1em}.text-card-foreground{color:hsl(var(--card-foreground))}.text-current{color:currentColor}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-destructive-foreground\/80{color:hsl(var(--destructive-foreground)/.8)}.text-destructive-foreground\/90{color:hsl(var(--destructive-foreground)/.9)}.text-destructive\/80{color:hsl(var(--destructive)/.8)}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/50{color:hsl(var(--foreground)/.5)}.text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-neutral-500{--tw-text-opacity:1;color:rgb(115 115 115/var(--tw-text-opacity,1))}.text-neutral-600{--tw-text-opacity:1;color:rgb(82 82 82/var(--tw-text-opacity,1))}.text-neutral-700{--tw-text-opacity:1;color:rgb(64 64 64/var(--tw-text-opacity,1))}.text-neutral-800{--tw-text-opacity:1;color:rgb(38 38 38/var(--tw-text-opacity,1))}.text-neutral-900{--tw-text-opacity:1;color:rgb(23 23 23/var(--tw-text-opacity,1))}.text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.text-orange-900{--tw-text-opacity:1;color:rgb(124 45 18/var(--tw-text-opacity,1))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-sidebar-foreground{color:hsl(var(--sidebar-foreground))}.text-sidebar-foreground\/70{color:hsl(var(--sidebar-foreground)/.7)}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{--tw-shadow:0 0 0 1px hsl(var(--sidebar-border));--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.shadow-none,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-sidebar-ring{--tw-ring-color:hsl(var(--sidebar-ring))}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[left\2c right\2c width\]{transition-property:left,right,width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[margin\2c opa\]{transition-property:margin,opa;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\2c height\2c padding\]{transition-property:width,height,padding;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{transition-timing-function:linear}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.fade-in-0{--tw-enter-opacity:0}.zoom-in-95{--tw-enter-scale:.95}.duration-200{animation-duration:.2s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{animation-timing-function:linear}body{font-family:Arial,Helvetica,sans-serif}.table-fixed{table-layout:fixed;width:100%}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::file-selector-button{color:hsl(var(--foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:-.5rem}.after\:inset-y-0:after{content:var(--tw-content);top:0;bottom:0}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.last\:border-0:last-child{border-width:0}.hover\:bg-\[\#F2F2F2\]:hover{--tw-bg-opacity:1;background-color:rgb(242 242 242/var(--tw-bg-opacity,1))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/10:hover{background-color:hsl(var(--destructive)/.1)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive)/.9)}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted)/.5)}.hover\:bg-neutral-100:hover{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity,1))}.hover\:bg-neutral-300:hover{--tw-bg-opacity:1;background-color:rgb(212 212 212/var(--tw-bg-opacity,1))}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary)/.9)}.hover\:bg-secondary:hover{background-color:hsl(var(--secondary))}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary)/.8)}.hover\:bg-sidebar-accent:hover{background-color:hsl(var(--sidebar-accent))}.hover\:bg-transparent:hover{background-color:transparent}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-neutral-700:hover{--tw-text-opacity:1;color:rgb(64 64 64/var(--tw-text-opacity,1))}.hover\:text-neutral-900:hover{--tw-text-opacity:1;color:rgb(23 23 23/var(--tw-text-opacity,1))}.hover\:text-orange-800:hover{--tw-text-opacity:1;color:rgb(154 52 18/var(--tw-text-opacity,1))}.hover\:text-sidebar-accent-foreground:hover{color:hsl(var(--sidebar-accent-foreground))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{--tw-shadow:0 0 0 1px hsl(var(--sidebar-accent));--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:hsl(var(--sidebar-border))}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-1:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:ring-sidebar-ring:focus-visible{--tw-ring-color:hsl(var(--sidebar-ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.active\:bg-sidebar-accent:active{background-color:hsl(var(--sidebar-accent))}.active\:text-sidebar-accent-foreground:active{color:hsl(var(--sidebar-accent-foreground))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group\/menu-item:focus-within .group-focus-within\/menu-item\:opacity-100{opacity:1}.group:hover .group-hover\:visible{visibility:visible}.group:hover .group-hover\:opacity-100,.group\/menu-item:hover .group-hover\/menu-item\:opacity-100{opacity:1}.group.destructive .group-\[\.destructive\]\:border-muted\/40{border-color:hsl(var(--muted)/.4)}.group.destructive .group-\[\.destructive\]\:text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover{border-color:hsl(var(--destructive)/.3)}.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover{background-color:hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover{color:hsl(var(--destructive-foreground))}.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover{--tw-text-opacity:1;color:rgb(254 242 242/var(--tw-text-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus{--tw-ring-color:hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(248 113 113/var(--tw-ring-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus{--tw-ring-offset-color:#dc2626}.peer\/menu-button:hover~.peer-hover\/menu-button\:text-sidebar-accent-foreground{color:hsl(var(--sidebar-accent-foreground))}.has-\[\[data-variant\=inset\]\]\:bg-sidebar:has([data-variant=inset]){background-color:hsl(var(--sidebar-background))}.group\/menu-item:has([data-sidebar=menu-action]) .group-has-\[\[data-sidebar\=menu-action\]\]\/menu-item\:pr-8{padding-right:2rem}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:0.25rem}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom],.data-\[side\=left\]\:-translate-x-1[data-side=left]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:-0.25rem}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:0.25rem}.data-\[side\=right\]\:translate-x-1[data-side=right],.data-\[side\=top\]\:-translate-y-1[data-side=top]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:-0.25rem}.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel]{--tw-translate-x:0px}.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel],.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{--tw-translate-x:var(--radix-toast-swipe-end-x)}.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{--tw-translate-x:var(--radix-toast-swipe-move-x);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[active\=true\]\:bg-sidebar-accent[data-active=true]{background-color:hsl(var(--sidebar-accent))}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:hsl(var(--background))}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:hsl(var(--secondary))}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:hsl(var(--muted))}.data-\[active\=true\]\:font-medium[data-active=true]{font-weight:500}.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active=true]{color:hsl(var(--sidebar-accent-foreground))}.data-\[state\=active\]\:text-foreground[data-state=active]{color:hsl(var(--foreground))}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:hsl(var(--primary-foreground))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=active\]\:shadow[data-state=active]{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}.data-\[state\=closed\]\:duration-300[data-state=closed]{transition-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{transition-duration:.5s}.data-\[state\=open\]\:animate-in[data-state=open]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.data-\[state\=closed\]\:animate-out[data-state=closed],.data-\[swipe\=end\]\:animate-out[data-swipe=end]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:fade-out-80[data-state=closed]{--tw-exit-opacity:0.8}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-0.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:0.5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-0.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:0.5rem}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x:-50%}.data-\[state\=closed\]\:slide-out-to-right-full[data-state=closed],.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x:-50%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-top-full[data-state=open]{--tw-enter-translate-y:-100%}.data-\[state\=closed\]\:duration-300[data-state=closed]{animation-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{animation-duration:.5s}.data-\[state\=open\]\:hover\:bg-sidebar-accent:hover[data-state=open]{background-color:hsl(var(--sidebar-accent))}.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground:hover[data-state=open]{color:hsl(var(--sidebar-accent-foreground))}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]{left:calc(var(--sidebar-width) * -1)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]{right:calc(var(--sidebar-width) * -1)}.group[data-side=left] .group-data-\[side\=left\]\:-right-4{right:-1rem}.group[data-side=right] .group-data-\[side\=right\]\:left-0{left:0}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:-mt-8{margin-top:-2rem}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:hidden{display:none}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!size-8{width:2rem!important;height:2rem!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[--sidebar-width-icon\]{width:var(--sidebar-width-icon)}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)\)\]{width:calc(var(--sidebar-width-icon) + 1rem)}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)_\+2px\)\]{width:calc(var(--sidebar-width-icon) + 1rem + 2px)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:w-0{width:0}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:translate-x-0{--tw-translate-x:0px}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:translate-x-0,.group[data-side=right] .group-data-\[side\=right\]\:rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[data-side=right] .group-data-\[side\=right\]\:rotate-180{--tw-rotate:180deg}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:overflow-hidden{overflow:hidden}.group[data-variant=floating] .group-data-\[variant\=floating\]\:rounded-lg{border-radius:var(--radius)}.group[data-variant=floating] .group-data-\[variant\=floating\]\:border{border-width:1px}.group[data-side=left] .group-data-\[side\=left\]\:border-r{border-right-width:1px}.group[data-side=right] .group-data-\[side\=right\]\:border-l{border-left-width:1px}.group[data-variant=floating] .group-data-\[variant\=floating\]\:border-sidebar-border{border-color:hsl(var(--sidebar-border))}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!p-0{padding:0!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!p-2{padding:.5rem!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:opacity-0{opacity:0}.group[data-variant=floating] .group-data-\[variant\=floating\]\:shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:after\:left-full:after{content:var(--tw-content);left:100%}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:hover\:bg-sidebar:hover{background-color:hsl(var(--sidebar-background))}.peer\/menu-button[data-size=default]~.peer-data-\[size\=default\]\/menu-button\:top-1\.5{top:.375rem}.peer\/menu-button[data-size=lg]~.peer-data-\[size\=lg\]\/menu-button\:top-2\.5{top:.625rem}.peer\/menu-button[data-size=sm]~.peer-data-\[size\=sm\]\/menu-button\:top-1{top:.25rem}.peer[data-variant=inset]~.peer-data-\[variant\=inset\]\:min-h-\[calc\(100svh-theme\(spacing\.4\)\)\]{min-height:calc(100svh - 1rem)}.peer\/menu-button[data-active=true]~.peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground{color:hsl(var(--sidebar-accent-foreground))}.dark\:border-destructive:is(.dark *){border-color:hsl(var(--destructive))}@media (min-width:640px){.sm\:bottom-0{bottom:0}.sm\:right-0{right:0}.sm\:top-auto{top:auto}.sm\:flex{display:flex}.sm\:max-w-md{max-width:28rem}.sm\:max-w-sm{max-width:24rem}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:justify-end{justify-content:flex-end}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:text-left{text-align:left}.data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state=open]{--tw-enter-translate-y:100%}}@media (min-width:768px){.md\:block{display:block}.md\:flex{display:flex}.md\:max-w-\[420px\]{max-width:420px}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:opacity-0{opacity:0}.after\:md\:hidden:after{content:var(--tw-content);display:none}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:m-2{margin:.5rem}.peer[data-state=collapsed][data-variant=inset]~.md\:peer-data-\[state\=collapsed\]\:peer-data-\[variant\=inset\]\:ml-2{margin-left:.5rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:ml-0{margin-left:0}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:rounded-xl{border-radius:.75rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}}.\[\&\+div\]\:text-xs+div{font-size:.75rem;line-height:1rem}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>span\:last-child\]\:truncate>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.\[\&\>span\]\:line-clamp-1>span{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y:-3px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:left-4>svg{left:1rem}.\[\&\>svg\]\:top-4>svg{top:1rem}.\[\&\>svg\]\:size-4>svg{width:1rem;height:1rem}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-destructive>svg{color:hsl(var(--destructive))}.\[\&\>svg\]\:text-foreground>svg{color:hsl(var(--foreground))}.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{color:hsl(var(--sidebar-accent-foreground))}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:1.75rem}.\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0}.\[\&_p\]\:leading-relaxed p{line-height:1.625}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:-.5rem}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=left] .\[\[data-side\=left\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:-.5rem}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-side=right] .\[\[data-side\=right\]_\&\]\:cursor-e-resize{cursor:e-resize}