d1s 0.2.13 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -1
- package/dist/.next/.next/BUILD_ID +1 -1
- package/dist/.next/.next/app-build-manifest.json +121 -79
- package/dist/.next/.next/app-path-routes-manifest.json +1 -1
- package/dist/.next/.next/build-manifest.json +7 -7
- package/dist/.next/.next/cache/.rscinfo +1 -1
- package/dist/.next/.next/cache/.tsbuildinfo +1 -1
- package/dist/.next/.next/cache/webpack/client-development/0.pack.gz +0 -0
- package/dist/.next/.next/cache/webpack/client-development/1.pack.gz +0 -0
- package/dist/.next/.next/cache/webpack/client-development/index.pack.gz +0 -0
- package/dist/.next/.next/cache/webpack/client-development/index.pack.gz.old +0 -0
- package/dist/.next/.next/cache/webpack/client-production/0.pack +0 -0
- package/dist/.next/.next/cache/webpack/client-production/1.pack +0 -0
- package/dist/.next/.next/cache/webpack/client-production/10.pack +0 -0
- package/dist/.next/.next/cache/webpack/client-production/11.pack +0 -0
- package/dist/.next/.next/cache/webpack/client-production/12.pack +0 -0
- package/dist/.next/.next/cache/webpack/client-production/2.pack +0 -0
- package/dist/.next/.next/cache/webpack/client-production/3.pack +0 -0
- package/dist/.next/.next/cache/webpack/client-production/4.pack +0 -0
- package/dist/.next/.next/cache/webpack/client-production/5.pack +0 -0
- package/dist/.next/.next/cache/webpack/client-production/6.pack +0 -0
- package/dist/.next/.next/cache/webpack/client-production/7.pack +0 -0
- package/dist/.next/.next/cache/webpack/client-production/8.pack +0 -0
- package/dist/.next/.next/cache/webpack/client-production/9.pack +0 -0
- package/dist/.next/.next/cache/webpack/client-production/index.pack +0 -0
- package/dist/.next/.next/cache/webpack/client-production/index.pack.old +0 -0
- package/dist/.next/.next/cache/webpack/edge-server-production/index.pack +0 -0
- package/dist/.next/.next/cache/webpack/server-development/0.pack.gz +0 -0
- package/dist/.next/.next/cache/webpack/server-development/1.pack.gz +0 -0
- package/dist/.next/.next/cache/webpack/server-development/index.pack.gz +0 -0
- package/dist/.next/.next/cache/webpack/server-production/0.pack +0 -0
- package/dist/.next/.next/cache/webpack/server-production/1.pack +0 -0
- package/dist/.next/.next/cache/webpack/server-production/index.pack +0 -0
- package/dist/.next/.next/cache/webpack/server-production/index.pack.old +0 -0
- package/dist/.next/.next/next-minimal-server.js.nft.json +1 -1
- package/dist/.next/.next/next-server.js.nft.json +1 -1
- package/dist/.next/.next/prerender-manifest.json +1 -1
- package/dist/.next/.next/react-loadable-manifest.json +11 -1
- package/dist/.next/.next/required-server-files.json +1 -1
- package/dist/.next/.next/routes-manifest.json +1 -1
- package/dist/.next/.next/server/app/_not-found/page.js +1 -1
- package/dist/.next/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/dist/.next/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/dist/.next/.next/server/app/_not-found.html +1 -1
- package/dist/.next/.next/server/app/_not-found.rsc +5 -5
- package/dist/.next/.next/server/app/api/cloudflare/route.js +1 -1
- package/dist/.next/.next/server/app/api/cloudflare/route.js.nft.json +1 -1
- package/dist/.next/.next/server/app/api/cloudflare/route_client-reference-manifest.js +1 -1
- package/dist/.next/.next/server/app/api/databases/route.js +1 -1
- package/dist/.next/.next/server/app/api/databases/route.js.nft.json +1 -1
- package/dist/.next/.next/server/app/api/databases/route_client-reference-manifest.js +1 -1
- package/dist/.next/.next/server/app/api/migrations/list/route.js +26 -0
- package/dist/.next/.next/server/app/api/migrations/list/route.js.nft.json +1 -0
- package/dist/.next/.next/server/app/api/migrations/list/route_client-reference-manifest.js +1 -0
- package/dist/.next/.next/server/app/api/migrations/sync/route.js +5 -5
- package/dist/.next/.next/server/app/api/migrations/sync/route.js.nft.json +1 -1
- package/dist/.next/.next/server/app/api/migrations/sync/route_client-reference-manifest.js +1 -1
- package/dist/.next/.next/server/app/api/migrations/sync-files/route.js +4 -4
- package/dist/.next/.next/server/app/api/migrations/sync-files/route.js.nft.json +1 -1
- package/dist/.next/.next/server/app/api/migrations/sync-files/route_client-reference-manifest.js +1 -1
- package/dist/.next/.next/server/app/api/pro/route.js +1 -0
- package/dist/.next/.next/server/app/api/pro/route.js.nft.json +1 -0
- package/dist/.next/.next/server/app/api/pro/route_client-reference-manifest.js +1 -0
- package/dist/.next/.next/server/app/api/pull-data/confirm/route.js +1 -1
- package/dist/.next/.next/server/app/api/pull-data/confirm/route.js.nft.json +1 -1
- package/dist/.next/.next/server/app/api/pull-data/confirm/route_client-reference-manifest.js +1 -1
- package/dist/.next/.next/server/app/api/pull-remote/confirm/route.js +4 -4
- package/dist/.next/.next/server/app/api/pull-remote/confirm/route.js.nft.json +1 -1
- package/dist/.next/.next/server/app/api/pull-remote/confirm/route_client-reference-manifest.js +1 -1
- package/dist/.next/.next/server/app/api/pull-remote/preview/route.js +4 -4
- package/dist/.next/.next/server/app/api/pull-remote/preview/route.js.nft.json +1 -1
- package/dist/.next/.next/server/app/api/pull-remote/preview/route_client-reference-manifest.js +1 -1
- package/dist/.next/.next/server/app/api/push-remote/confirm/route.js +6 -6
- package/dist/.next/.next/server/app/api/push-remote/confirm/route.js.nft.json +1 -1
- package/dist/.next/.next/server/app/api/push-remote/confirm/route_client-reference-manifest.js +1 -1
- package/dist/.next/.next/server/app/api/push-remote/preview/route.js +6 -6
- package/dist/.next/.next/server/app/api/push-remote/preview/route.js.nft.json +1 -1
- package/dist/.next/.next/server/app/api/push-remote/preview/route_client-reference-manifest.js +1 -1
- package/dist/.next/.next/server/app/api/query/route.js +9 -9
- package/dist/.next/.next/server/app/api/query/route.js.nft.json +1 -1
- package/dist/.next/.next/server/app/api/query/route_client-reference-manifest.js +1 -1
- package/dist/.next/.next/server/app/api/schema/route.js +1 -0
- package/dist/.next/.next/server/app/api/schema/route.js.nft.json +1 -0
- package/dist/.next/.next/server/app/api/schema/route_client-reference-manifest.js +1 -0
- package/dist/.next/.next/server/app/api/tables/[name]/import/route.js +1 -0
- package/dist/.next/.next/server/app/api/tables/[name]/import/route.js.nft.json +1 -0
- package/dist/.next/.next/server/app/api/tables/[name]/import/route_client-reference-manifest.js +1 -0
- package/dist/.next/.next/server/app/api/tables/[name]/route.js +5 -5
- package/dist/.next/.next/server/app/api/tables/[name]/route.js.nft.json +1 -1
- package/dist/.next/.next/server/app/api/tables/[name]/route_client-reference-manifest.js +1 -1
- package/dist/.next/.next/server/app/api/tables/route.js +2 -2
- package/dist/.next/.next/server/app/api/tables/route.js.nft.json +1 -1
- package/dist/.next/.next/server/app/api/tables/route_client-reference-manifest.js +1 -1
- package/dist/.next/.next/server/app/api/time-travel/preview/route.js +1 -0
- package/dist/.next/.next/server/app/api/time-travel/preview/route.js.nft.json +1 -0
- package/dist/.next/.next/server/app/api/time-travel/preview/route_client-reference-manifest.js +1 -0
- package/dist/.next/.next/server/app/api/time-travel/restore/route.js +1 -0
- package/dist/.next/.next/server/app/api/time-travel/restore/route.js.nft.json +1 -0
- package/dist/.next/.next/server/app/api/time-travel/restore/route_client-reference-manifest.js +1 -0
- package/dist/.next/.next/server/app/api/update/route.js +1 -1
- package/dist/.next/.next/server/app/api/update/route.js.nft.json +1 -1
- package/dist/.next/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
- package/dist/.next/.next/server/app/index.html +5 -3
- package/dist/.next/.next/server/app/index.rsc +6 -6
- package/dist/.next/.next/server/app/page.js +15 -15
- package/dist/.next/.next/server/app/page.js.nft.json +1 -1
- package/dist/.next/.next/server/app/page_client-reference-manifest.js +1 -1
- package/dist/.next/.next/server/app-paths-manifest.json +10 -4
- package/dist/.next/.next/server/chunks/226.js +12 -12
- package/dist/.next/.next/server/chunks/391.js +1 -1
- package/dist/.next/.next/server/chunks/452.js +1 -1
- package/dist/.next/.next/server/chunks/487.js +1 -0
- package/dist/.next/.next/server/chunks/572.js +1 -1
- package/dist/.next/.next/server/chunks/992.js +3 -3
- package/dist/.next/{server/chunks/638.js → .next/server/chunks/994.js} +3 -3
- package/dist/.next/.next/server/middleware-build-manifest.js +1 -1
- package/dist/.next/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/dist/.next/.next/server/next-font-manifest.js +1 -1
- package/dist/.next/.next/server/next-font-manifest.json +1 -1
- package/dist/.next/.next/server/pages/404.html +1 -1
- package/dist/.next/.next/server/pages/500.html +1 -1
- package/dist/.next/.next/server/pages-manifest.json +1 -1
- package/dist/.next/.next/server/server-reference-manifest.json +1 -1
- package/dist/.next/.next/static/-OO4tE7EKr8o62Bne-ODo/_buildManifest.js +1 -0
- package/dist/.next/.next/static/3kAeIJC56X7aw1Fk5_OXO/_buildManifest.js +1 -0
- package/dist/.next/.next/static/J8r9W6xxmYYvuKehItNuW/_buildManifest.js +1 -0
- package/dist/.next/.next/static/arc9h7hbaQzL1Dl0iuVrT/_buildManifest.js +1 -0
- package/dist/.next/.next/static/chunks/1a258343.3b3e7ba5ba0bd0d2.js +1 -0
- package/dist/.next/.next/static/chunks/345.8fc37569d5708622.js +1 -0
- package/dist/.next/.next/static/chunks/480-85b6c8ae3f51b156.js +1 -0
- package/dist/.next/.next/static/chunks/52.2cdc9bdb75e1fc2e.js +1 -0
- package/dist/.next/.next/static/chunks/803-a2fcfbd00e6b3b38.js +1 -0
- package/dist/.next/.next/static/chunks/{92-5f7522943fcb72a8.js → 92-a84bdac2be7c8d7a.js} +1 -1
- package/dist/.next/.next/static/chunks/app/api/cloudflare/route-d0c1dc2a9e7dce36.js +1 -0
- package/dist/.next/.next/static/chunks/app/api/databases/route-cd322321212797cf.js +1 -0
- package/dist/.next/.next/static/chunks/app/api/migrations/list/route-cd710ff75b6bcd02.js +1 -0
- package/dist/.next/.next/static/chunks/app/api/migrations/sync/route-ee522f232b9f0a9c.js +1 -0
- package/dist/.next/.next/static/chunks/app/api/migrations/sync-files/route-79ee2c26f87d3bc7.js +1 -0
- package/dist/.next/.next/static/chunks/app/api/pro/route-c90c1f901fc00d38.js +1 -0
- package/dist/.next/.next/static/chunks/app/api/pull-data/confirm/route-118764086af798f8.js +1 -0
- package/dist/.next/.next/static/chunks/app/api/pull-remote/confirm/route-2b0ade4ebfcea0bc.js +1 -0
- package/dist/.next/.next/static/chunks/app/api/pull-remote/preview/route-342db7ea13e6f447.js +1 -0
- package/dist/.next/.next/static/chunks/app/api/push-remote/confirm/route-b778c053bd515abd.js +1 -0
- package/dist/.next/.next/static/chunks/app/api/push-remote/preview/route-ab090482f299f57f.js +1 -0
- package/dist/.next/.next/static/chunks/app/api/query/route-4d21a8b1d34491f1.js +1 -0
- package/dist/.next/.next/static/chunks/app/api/schema/route-cb17a387d6b557ad.js +1 -0
- package/dist/.next/.next/static/chunks/app/api/tables/[name]/import/route-510472de7a5c29bd.js +1 -0
- package/dist/.next/.next/static/chunks/app/api/tables/[name]/route-6a1fa95c303ce0de.js +1 -0
- package/dist/.next/.next/static/chunks/app/api/tables/route-daa975df4ea8e8f8.js +1 -0
- package/dist/.next/.next/static/chunks/app/api/time-travel/preview/route-5787d7e8f17bd539.js +1 -0
- package/dist/.next/.next/static/chunks/app/api/time-travel/restore/route-84b64a27e831e21c.js +1 -0
- package/dist/.next/.next/static/chunks/app/api/update/route-54ee900537982652.js +1 -0
- package/dist/.next/.next/static/chunks/app/{layout-40ec07d04681ba81.js → layout-f0ec4d636ee0f763.js} +1 -1
- package/dist/.next/.next/static/chunks/app/page-358bf2112802ff85.js +1 -0
- package/dist/.next/.next/static/chunks/webpack-024900a94af4f0a7.js +1 -0
- package/dist/.next/.next/static/css/2c165a0ede9b2442.css +3 -0
- package/dist/.next/.next/static/css/32df9a4d493f8b0f.css +31 -0
- package/dist/.next/.next/static/fiesjBWbrmSSyLf4biwrX/_buildManifest.js +1 -0
- package/dist/.next/.next/static/ft39e6W6vSgUL7peRo7pE/_buildManifest.js +1 -0
- package/dist/.next/.next/static/media/4cf2300e9c8272f7-s.p.woff2 +0 -0
- package/dist/.next/.next/static/u7ssdTycF4iQ-w-pQZhxg/_buildManifest.js +1 -0
- package/dist/.next/.next/trace +3 -3
- package/dist/.next/.next/types/app/api/migrations/list/route.ts +347 -0
- package/dist/.next/.next/types/app/api/pro/route.ts +347 -0
- package/dist/.next/.next/types/app/api/schema/route.ts +347 -0
- package/dist/.next/.next/types/app/api/tables/[name]/import/route.ts +347 -0
- package/dist/.next/.next/types/app/api/time-travel/preview/route.ts +347 -0
- package/dist/.next/.next/types/app/api/time-travel/restore/route.ts +347 -0
- package/dist/.next/BUILD_ID +1 -1
- package/dist/.next/app-build-manifest.json +122 -80
- package/dist/.next/app-path-routes-manifest.json +1 -1
- package/dist/.next/build-manifest.json +7 -7
- package/dist/.next/cache/.rscinfo +1 -1
- package/dist/.next/cache/.tsbuildinfo +1 -1
- package/dist/.next/cache/webpack/client-production/0.pack +0 -0
- package/dist/.next/cache/webpack/client-production/index.pack +0 -0
- package/dist/.next/cache/webpack/edge-server-production/index.pack +0 -0
- package/dist/.next/cache/webpack/server-production/0.pack +0 -0
- package/dist/.next/cache/webpack/server-production/index.pack +0 -0
- package/dist/.next/next-minimal-server.js.nft.json +1 -1
- package/dist/.next/next-server.js.nft.json +1 -1
- package/dist/.next/prerender-manifest.json +1 -1
- package/dist/.next/react-loadable-manifest.json +11 -1
- package/dist/.next/required-server-files.json +1 -1
- package/dist/.next/routes-manifest.json +1 -1
- package/dist/.next/server/app/_not-found/page.js +1 -1
- package/dist/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/dist/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/_not-found.html +1 -1
- package/dist/.next/server/app/_not-found.rsc +5 -5
- package/dist/.next/server/app/api/cloudflare/route.js +1 -1
- package/dist/.next/server/app/api/cloudflare/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/cloudflare/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/databases/route.js +1 -1
- package/dist/.next/server/app/api/databases/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/databases/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/migrations/list/route.js +26 -0
- package/dist/.next/server/app/api/migrations/list/route.js.nft.json +1 -0
- package/dist/.next/server/app/api/migrations/list/route_client-reference-manifest.js +1 -0
- package/dist/.next/server/app/api/migrations/sync/route.js +5 -5
- package/dist/.next/server/app/api/migrations/sync/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/migrations/sync/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/migrations/sync-files/route.js +4 -4
- package/dist/.next/server/app/api/migrations/sync-files/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/migrations/sync-files/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/pro/route.js +1 -0
- package/dist/.next/server/app/api/pro/route.js.nft.json +1 -0
- package/dist/.next/server/app/api/pro/route_client-reference-manifest.js +1 -0
- package/dist/.next/server/app/api/pull-data/confirm/route.js +1 -1
- package/dist/.next/server/app/api/pull-data/confirm/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/pull-data/confirm/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/pull-remote/confirm/route.js +4 -4
- package/dist/.next/server/app/api/pull-remote/confirm/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/pull-remote/confirm/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/pull-remote/preview/route.js +4 -4
- package/dist/.next/server/app/api/pull-remote/preview/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/pull-remote/preview/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/push-remote/confirm/route.js +6 -6
- package/dist/.next/server/app/api/push-remote/confirm/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/push-remote/confirm/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/push-remote/preview/route.js +6 -6
- package/dist/.next/server/app/api/push-remote/preview/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/push-remote/preview/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/query/route.js +9 -9
- package/dist/.next/server/app/api/query/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/query/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/schema/route.js +1 -0
- package/dist/.next/server/app/api/schema/route.js.nft.json +1 -0
- package/dist/.next/server/app/api/schema/route_client-reference-manifest.js +1 -0
- package/dist/.next/server/app/api/tables/[name]/import/route.js +1 -0
- package/dist/.next/server/app/api/tables/[name]/import/route.js.nft.json +1 -0
- package/dist/.next/server/app/api/tables/[name]/import/route_client-reference-manifest.js +1 -0
- package/dist/.next/server/app/api/tables/[name]/route.js +5 -5
- package/dist/.next/server/app/api/tables/[name]/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/tables/[name]/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/tables/route.js +2 -2
- package/dist/.next/server/app/api/tables/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/tables/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/time-travel/preview/route.js +1 -0
- package/dist/.next/server/app/api/time-travel/preview/route.js.nft.json +1 -0
- package/dist/.next/server/app/api/time-travel/preview/route_client-reference-manifest.js +1 -0
- package/dist/.next/server/app/api/time-travel/restore/route.js +1 -0
- package/dist/.next/server/app/api/time-travel/restore/route.js.nft.json +1 -0
- package/dist/.next/server/app/api/time-travel/restore/route_client-reference-manifest.js +1 -0
- package/dist/.next/server/app/api/update/route.js +1 -1
- package/dist/.next/server/app/api/update/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/index.html +5 -3
- package/dist/.next/server/app/index.rsc +6 -6
- package/dist/.next/server/app/page.js +15 -15
- package/dist/.next/server/app/page.js.nft.json +1 -1
- package/dist/.next/server/app/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app-paths-manifest.json +11 -5
- package/dist/.next/server/chunks/226.js +12 -12
- package/dist/.next/server/chunks/391.js +1 -1
- package/dist/.next/server/chunks/452.js +1 -1
- package/dist/.next/server/chunks/487.js +1 -0
- package/dist/.next/server/chunks/572.js +1 -1
- package/dist/.next/server/chunks/992.js +3 -3
- package/dist/.next/{.next/server/chunks/638.js → server/chunks/994.js} +3 -3
- package/dist/.next/server/middleware-build-manifest.js +1 -1
- package/dist/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/dist/.next/server/next-font-manifest.js +1 -1
- package/dist/.next/server/next-font-manifest.json +1 -1
- package/dist/.next/server/pages/404.html +1 -1
- package/dist/.next/server/pages/500.html +1 -1
- package/dist/.next/server/pages-manifest.json +1 -1
- package/dist/.next/server/server-reference-manifest.json +1 -1
- package/dist/.next/static/chunks/1a258343.3b3e7ba5ba0bd0d2.js +1 -0
- package/dist/.next/static/chunks/345.8fc37569d5708622.js +1 -0
- package/dist/.next/static/chunks/480-85b6c8ae3f51b156.js +1 -0
- package/dist/.next/static/chunks/52.2cdc9bdb75e1fc2e.js +1 -0
- package/dist/.next/static/chunks/803-a2fcfbd00e6b3b38.js +1 -0
- package/dist/.next/static/chunks/{92-5f7522943fcb72a8.js → 92-a84bdac2be7c8d7a.js} +1 -1
- package/dist/.next/static/chunks/app/api/cloudflare/route-d0c1dc2a9e7dce36.js +1 -0
- package/dist/.next/static/chunks/app/api/databases/route-cd322321212797cf.js +1 -0
- package/dist/.next/static/chunks/app/api/migrations/list/route-cd710ff75b6bcd02.js +1 -0
- package/dist/.next/static/chunks/app/api/migrations/sync/route-ee522f232b9f0a9c.js +1 -0
- package/dist/.next/static/chunks/app/api/migrations/sync-files/route-79ee2c26f87d3bc7.js +1 -0
- package/dist/.next/static/chunks/app/api/pro/route-c90c1f901fc00d38.js +1 -0
- package/dist/.next/static/chunks/app/api/pull-data/confirm/route-118764086af798f8.js +1 -0
- package/dist/.next/static/chunks/app/api/pull-remote/confirm/route-2b0ade4ebfcea0bc.js +1 -0
- package/dist/.next/static/chunks/app/api/pull-remote/preview/route-342db7ea13e6f447.js +1 -0
- package/dist/.next/static/chunks/app/api/push-remote/confirm/route-b778c053bd515abd.js +1 -0
- package/dist/.next/static/chunks/app/api/push-remote/preview/route-ab090482f299f57f.js +1 -0
- package/dist/.next/static/chunks/app/api/query/route-4d21a8b1d34491f1.js +1 -0
- package/dist/.next/static/chunks/app/api/schema/route-cb17a387d6b557ad.js +1 -0
- package/dist/.next/static/chunks/app/api/tables/[name]/import/route-510472de7a5c29bd.js +1 -0
- package/dist/.next/static/chunks/app/api/tables/[name]/route-6a1fa95c303ce0de.js +1 -0
- package/dist/.next/static/chunks/app/api/tables/route-daa975df4ea8e8f8.js +1 -0
- package/dist/.next/static/chunks/app/api/time-travel/preview/route-5787d7e8f17bd539.js +1 -0
- package/dist/.next/static/chunks/app/api/time-travel/restore/route-84b64a27e831e21c.js +1 -0
- package/dist/.next/static/chunks/app/api/update/route-54ee900537982652.js +1 -0
- package/dist/.next/static/chunks/app/{layout-40ec07d04681ba81.js → layout-f0ec4d636ee0f763.js} +1 -1
- package/dist/.next/static/chunks/app/page-358bf2112802ff85.js +1 -0
- package/dist/.next/static/chunks/webpack-024900a94af4f0a7.js +1 -0
- package/dist/.next/static/css/2c165a0ede9b2442.css +3 -0
- package/dist/.next/static/css/32df9a4d493f8b0f.css +31 -0
- package/dist/.next/static/media/4cf2300e9c8272f7-s.p.woff2 +0 -0
- package/dist/.next/static/zh4Fz2tbm8GRka4woRrGp/_buildManifest.js +1 -0
- package/dist/.next/trace +18 -3
- package/dist/.next/types/app/api/migrations/list/route.ts +347 -0
- package/dist/.next/types/app/api/pro/route.ts +347 -0
- package/dist/.next/types/app/api/schema/route.ts +347 -0
- package/dist/.next/types/app/api/tables/[name]/import/route.ts +347 -0
- package/dist/.next/types/app/api/time-travel/preview/route.ts +347 -0
- package/dist/.next/types/app/api/time-travel/restore/route.ts +347 -0
- package/dist/app/api/databases/route.js +2 -1
- package/dist/app/api/migrations/list/route.js +137 -0
- package/dist/app/api/migrations/sync-files/route.js +2 -1
- package/dist/app/api/pro/route.js +7 -0
- package/dist/app/api/pull-remote/confirm/route.js +138 -146
- package/dist/app/api/pull-remote/preview/route.js +49 -84
- package/dist/app/api/push-remote/confirm/route.js +31 -12
- package/dist/app/api/push-remote/preview/route.js +27 -12
- package/dist/app/api/query/route.js +24 -13
- package/dist/app/api/schema/route.js +63 -0
- package/dist/app/api/tables/[name]/import/route.js +112 -0
- package/dist/app/api/tables/[name]/route.js +38 -29
- package/dist/app/api/tables/route.js +29 -16
- package/dist/app/api/time-travel/preview/route.js +122 -0
- package/dist/app/api/time-travel/restore/route.js +106 -0
- package/dist/app/page.jsx +26 -8
- package/dist/d1-studio.js +129 -23
- package/dist/lib/license.js +99 -71
- package/dist/lib/local-db.js +223 -0
- package/dist/lib/migrations.js +40 -2
- package/dist/lib/parse-sql-error.js +99 -160
- package/dist/lib/sql-operations.js +28 -10
- package/dist/lib/telemetry.js +39 -0
- package/package.json +6 -2
- package/dist/.next/.next/cache/webpack/server-production/2.pack +0 -0
- package/dist/.next/.next/cache/webpack/server-production/3.pack +0 -0
- package/dist/.next/.next/static/FEsQ9jwPUQv5A3fwg6Opl/_buildManifest.js +0 -1
- package/dist/.next/.next/static/Y9mYu4WBghepP5oT_3OdR/_buildManifest.js +0 -1
- package/dist/.next/.next/static/ae3gNmoSGm-R5LJC4UagI/_buildManifest.js +0 -1
- package/dist/.next/.next/static/bKfUJeuvAQlBmR3TjrfkH/_buildManifest.js +0 -1
- package/dist/.next/.next/static/chunks/576-18a2209e1ed26aad.js +0 -1
- package/dist/.next/.next/static/chunks/735-b885dfec6353171d.js +0 -1
- package/dist/.next/.next/static/chunks/app/api/cloudflare/route-b77846f372b01f38.js +0 -1
- package/dist/.next/.next/static/chunks/app/api/databases/route-407794f8145d9a0b.js +0 -1
- package/dist/.next/.next/static/chunks/app/api/migrations/sync/route-9f480f5590369a8f.js +0 -1
- package/dist/.next/.next/static/chunks/app/api/migrations/sync-files/route-92010db279b4dd8e.js +0 -1
- package/dist/.next/.next/static/chunks/app/api/pull-data/confirm/route-a02fe6d3cdd0a535.js +0 -1
- package/dist/.next/.next/static/chunks/app/api/pull-remote/confirm/route-f401a03507d1da50.js +0 -1
- package/dist/.next/.next/static/chunks/app/api/pull-remote/preview/route-3c53814b5cb8b6b0.js +0 -1
- package/dist/.next/.next/static/chunks/app/api/push-remote/confirm/route-8f359249e907c63b.js +0 -1
- package/dist/.next/.next/static/chunks/app/api/push-remote/preview/route-b51bf94f39c17a9d.js +0 -1
- package/dist/.next/.next/static/chunks/app/api/query/route-87bae2d4aebaf859.js +0 -1
- package/dist/.next/.next/static/chunks/app/api/tables/[name]/route-d20ca163b9c03e7c.js +0 -1
- package/dist/.next/.next/static/chunks/app/api/tables/route-0f46f911562abcdf.js +0 -1
- package/dist/.next/.next/static/chunks/app/api/update/route-14edc1917760bce0.js +0 -1
- package/dist/.next/.next/static/chunks/app/page-f05cd0fc436bf9bc.js +0 -1
- package/dist/.next/.next/static/chunks/app/page-f2bc307c0d8acdaa.js +0 -1
- package/dist/.next/.next/static/chunks/webpack-c76ac1e586b2802a.js +0 -1
- package/dist/.next/.next/static/css/7c16f57d325d0d7d.css +0 -3
- package/dist/.next/.next/static/ejYPqJ2kVicVp5EFWOZIC/_buildManifest.js +0 -1
- package/dist/.next/.next/static/gABGrAoO8IPArDo_Ns_7g/_buildManifest.js +0 -1
- package/dist/.next/.next/static/gh-QfIUVo4FTTduYCVKT6/_buildManifest.js +0 -1
- package/dist/.next/.next/static/media/569ce4b8f30dc480-s.p.woff2 +0 -0
- package/dist/.next/.next/static/thaCy2qVeNqYYhdayr13C/_buildManifest.js +0 -1
- package/dist/.next/.next/static/ybCx6L6gHqtODbKmlhU-d/_buildManifest.js +0 -1
- package/dist/.next/.next/static/ybCx6L6gHqtODbKmlhU-d/_ssgManifest.js +0 -1
- package/dist/.next/cache/webpack/client-production/1.pack +0 -0
- package/dist/.next/cache/webpack/client-production/2.pack +0 -0
- package/dist/.next/cache/webpack/client-production/index.pack.old +0 -0
- package/dist/.next/static/IX-QLbm7scYnyqWeeimal/_buildManifest.js +0 -1
- package/dist/.next/static/IX-QLbm7scYnyqWeeimal/_ssgManifest.js +0 -1
- package/dist/.next/static/chunks/576-18a2209e1ed26aad.js +0 -1
- package/dist/.next/static/chunks/735-b885dfec6353171d.js +0 -1
- package/dist/.next/static/chunks/app/api/cloudflare/route-b77846f372b01f38.js +0 -1
- package/dist/.next/static/chunks/app/api/databases/route-407794f8145d9a0b.js +0 -1
- package/dist/.next/static/chunks/app/api/migrations/sync/route-9f480f5590369a8f.js +0 -1
- package/dist/.next/static/chunks/app/api/migrations/sync-files/route-92010db279b4dd8e.js +0 -1
- package/dist/.next/static/chunks/app/api/pull-data/confirm/route-a02fe6d3cdd0a535.js +0 -1
- package/dist/.next/static/chunks/app/api/pull-remote/confirm/route-f401a03507d1da50.js +0 -1
- package/dist/.next/static/chunks/app/api/pull-remote/preview/route-3c53814b5cb8b6b0.js +0 -1
- package/dist/.next/static/chunks/app/api/push-remote/confirm/route-8f359249e907c63b.js +0 -1
- package/dist/.next/static/chunks/app/api/push-remote/preview/route-b51bf94f39c17a9d.js +0 -1
- package/dist/.next/static/chunks/app/api/query/route-87bae2d4aebaf859.js +0 -1
- package/dist/.next/static/chunks/app/api/tables/[name]/route-d20ca163b9c03e7c.js +0 -1
- package/dist/.next/static/chunks/app/api/tables/route-0f46f911562abcdf.js +0 -1
- package/dist/.next/static/chunks/app/api/update/route-14edc1917760bce0.js +0 -1
- package/dist/.next/static/chunks/app/page-f05cd0fc436bf9bc.js +0 -1
- package/dist/.next/static/chunks/webpack-c76ac1e586b2802a.js +0 -1
- package/dist/.next/static/css/7c16f57d325d0d7d.css +0 -3
- package/dist/.next/static/media/569ce4b8f30dc480-s.p.woff2 +0 -0
- /package/dist/.next/.next/static/{FEsQ9jwPUQv5A3fwg6Opl → -OO4tE7EKr8o62Bne-ODo}/_ssgManifest.js +0 -0
- /package/dist/.next/.next/static/{Y9mYu4WBghepP5oT_3OdR → 3kAeIJC56X7aw1Fk5_OXO}/_ssgManifest.js +0 -0
- /package/dist/.next/.next/static/{ae3gNmoSGm-R5LJC4UagI → J8r9W6xxmYYvuKehItNuW}/_ssgManifest.js +0 -0
- /package/dist/.next/.next/static/{bKfUJeuvAQlBmR3TjrfkH → arc9h7hbaQzL1Dl0iuVrT}/_ssgManifest.js +0 -0
- /package/dist/.next/.next/static/chunks/{4bd1b696-8c908eb707f85a27.js → 4bd1b696-124ea104c06f6cea.js} +0 -0
- /package/dist/.next/.next/static/chunks/{517-3b698a5d3da06ff7.js → 517-c876ce2f00030cd0.js} +0 -0
- /package/dist/.next/.next/static/chunks/{692-ede418e1d28a1394.js → 692-9e59d546afd11ec3.js} +0 -0
- /package/dist/.next/.next/static/chunks/app/_not-found/{page-b786c3dd79ad15a5.js → page-3e24b81707d98126.js} +0 -0
- /package/dist/.next/.next/static/{ejYPqJ2kVicVp5EFWOZIC → fiesjBWbrmSSyLf4biwrX}/_ssgManifest.js +0 -0
- /package/dist/.next/.next/static/{gABGrAoO8IPArDo_Ns_7g → ft39e6W6vSgUL7peRo7pE}/_ssgManifest.js +0 -0
- /package/dist/.next/.next/static/{gh-QfIUVo4FTTduYCVKT6 → u7ssdTycF4iQ-w-pQZhxg}/_ssgManifest.js +0 -0
- /package/dist/.next/static/chunks/{4bd1b696-8c908eb707f85a27.js → 4bd1b696-124ea104c06f6cea.js} +0 -0
- /package/dist/.next/static/chunks/{517-3b698a5d3da06ff7.js → 517-c876ce2f00030cd0.js} +0 -0
- /package/dist/.next/static/chunks/{692-ede418e1d28a1394.js → 692-9e59d546afd11ec3.js} +0 -0
- /package/dist/.next/static/chunks/app/_not-found/{page-b786c3dd79ad15a5.js → page-3e24b81707d98126.js} +0 -0
- /package/dist/.next/{.next/static/thaCy2qVeNqYYhdayr13C → static/zh4Fz2tbm8GRka4woRrGp}/_ssgManifest.js +0 -0
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
(()=>{var e={};e.id=974,e.ids=[974],e.modules={846:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},9121:e=>{"use strict";e.exports=require("next/dist/server/app-render/action-async-storage.external.js")},3295:e=>{"use strict";e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},9294:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},3033:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},3873:e=>{"use strict";e.exports=require("path")},7185:(e,t,r)=>{"use strict";r.r(t),r.d(t,{GlobalError:()=>l.a,__next_app__:()=>u,pages:()=>d,routeModule:()=>f,tree:()=>c});var n=r(260),a=r(8203),o=r(5155),l=r.n(o),i=r(7292),s={};for(let e in i)0>["default","tree","pages","GlobalError","__next_app__","routeModule"].indexOf(e)&&(s[e]=()=>i[e]);r.d(t,s);let c=["",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(r.bind(r,8868)),"/Volumes/ProjectSpace/_wip/d1studio/src/app/page.jsx"]}]},{layout:[()=>Promise.resolve().then(r.bind(r,8180)),"/Volumes/ProjectSpace/_wip/d1studio/src/app/layout.jsx"],"not-found":[()=>Promise.resolve().then(r.t.bind(r,9937,23)),"next/dist/client/components/not-found-error"],forbidden:[()=>Promise.resolve().then(r.t.bind(r,9116,23)),"next/dist/client/components/forbidden-error"],unauthorized:[()=>Promise.resolve().then(r.t.bind(r,1485,23)),"next/dist/client/components/unauthorized-error"]}],d=["/Volumes/ProjectSpace/_wip/d1studio/src/app/page.jsx"],u={require:r,loadChunk:()=>Promise.resolve()},f=new n.AppPageRouteModule({definition:{kind:a.RouteKind.APP_PAGE,page:"/page",pathname:"/",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:c}})},7048:(e,t,r)=>{Promise.resolve().then(r.bind(r,8868))},6776:(e,t,r)=>{Promise.resolve().then(r.bind(r,4535))},4535:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>se});var n,a,o=r(5512),l=r(8009),i=r.t(l,2),s=r.n(l),c=r(4825);let d=(0,c.A)("Table2",[["path",{d:"M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18",key:"gugj83"}]]),u=(0,c.A)("CircleAlert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]),f=(0,c.A)("SquareTerminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]]),p=(0,c.A)("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]),m=(0,c.A)("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);var h=r(3603);let g=l.forwardRef(({className:e,type:t,...r},n)=>(0,o.jsx)("input",{type:t,className:(0,h.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",e),ref:n,...r}));g.displayName="Input";var x=r(1643);let v=(0,x.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"}}),y=l.forwardRef(({className:e,variant:t,...r},n)=>(0,o.jsx)("div",{ref:n,role:"alert",className:(0,h.cn)(v({variant:t}),e),...r}));y.displayName="Alert",l.forwardRef(({className:e,...t},r)=>(0,o.jsx)("h5",{ref:r,className:(0,h.cn)("mb-1 font-medium leading-none tracking-tight",e),...t})).displayName="AlertTitle";let w=l.forwardRef(({className:e,...t},r)=>(0,o.jsx)("div",{ref:r,className:(0,h.cn)("text-sm [&_p]:leading-relaxed",e),...t}));w.displayName="AlertDescription";var b=r(2899),j=r(1412),N=r(9952),C=r(6004),E=r(9397),S=i["useId".toString()]||(()=>void 0),R=0;function k(e){let[t,r]=l.useState(S());return(0,E.N)(()=>{e||r(e=>e??String(R++))},[e]),e||(t?`radix-${t}`:"")}var T=r(3024),A=r(1675),M=r(830),P=r(2828),L="focusScope.autoFocusOnMount",O="focusScope.autoFocusOnUnmount",D={bubbles:!1,cancelable:!0},_=l.forwardRef((e,t)=>{let{loop:r=!1,trapped:n=!1,onMountAutoFocus:a,onUnmountAutoFocus:i,...s}=e,[c,d]=l.useState(null),u=(0,P.c)(a),f=(0,P.c)(i),p=l.useRef(null),m=(0,N.s)(t,e=>d(e)),h=l.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;l.useEffect(()=>{if(n){let e=function(e){if(h.paused||!c)return;let t=e.target;c.contains(t)?p.current=t:$(p.current,{select:!0})},t=function(e){if(h.paused||!c)return;let t=e.relatedTarget;null===t||c.contains(t)||$(p.current,{select:!0})};document.addEventListener("focusin",e),document.addEventListener("focusout",t);let r=new MutationObserver(function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&$(c)});return c&&r.observe(c,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",e),document.removeEventListener("focusout",t),r.disconnect()}}},[n,c,h.paused]),l.useEffect(()=>{if(c){z.add(h);let e=document.activeElement;if(!c.contains(e)){let t=new CustomEvent(L,D);c.addEventListener(L,u),c.dispatchEvent(t),t.defaultPrevented||(function(e,{select:t=!1}={}){let r=document.activeElement;for(let n of e)if($(n,{select:t}),document.activeElement!==r)return}(I(c).filter(e=>"A"!==e.tagName),{select:!0}),document.activeElement===e&&$(c))}return()=>{c.removeEventListener(L,u),setTimeout(()=>{let t=new CustomEvent(O,D);c.addEventListener(O,f),c.dispatchEvent(t),t.defaultPrevented||$(e??document.body,{select:!0}),c.removeEventListener(O,f),z.remove(h)},0)}}},[c,u,f,h]);let g=l.useCallback(e=>{if(!r&&!n||h.paused)return;let t="Tab"===e.key&&!e.altKey&&!e.ctrlKey&&!e.metaKey,a=document.activeElement;if(t&&a){let t=e.currentTarget,[n,o]=function(e){let t=I(e);return[F(t,e),F(t.reverse(),e)]}(t);n&&o?e.shiftKey||a!==o?e.shiftKey&&a===n&&(e.preventDefault(),r&&$(o,{select:!0})):(e.preventDefault(),r&&$(n,{select:!0})):a===t&&e.preventDefault()}},[r,n,h.paused]);return(0,o.jsx)(M.sG.div,{tabIndex:-1,...s,ref:m,onKeyDown:g})});function I(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}function F(e,t){for(let r of e)if(!function(e,{upTo:t}){if("hidden"===getComputedStyle(e).visibility)return!0;for(;e&&(void 0===t||e!==t);){if("none"===getComputedStyle(e).display)return!0;e=e.parentElement}return!1}(r,{upTo:t}))return r}function $(e,{select:t=!1}={}){if(e&&e.focus){var r;let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&(r=e)instanceof HTMLInputElement&&"select"in r&&t&&e.select()}}_.displayName="FocusScope";var z=function(){let e=[];return{add(t){let r=e[0];t!==r&&r?.pause(),(e=U(e,t)).unshift(t)},remove(t){e=U(e,t),e[0]?.resume()}}}();function U(e,t){let r=[...e],n=r.indexOf(t);return -1!==n&&r.splice(n,1),r}var H=r(707),V=r(8060),W=0;function K(){l.useEffect(()=>{let e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??B()),document.body.insertAdjacentElement("beforeend",e[1]??B()),W++,()=>{1===W&&document.querySelectorAll("[data-radix-focus-guard]").forEach(e=>e.remove()),W--}},[])}function B(){let e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var G=function(){return(G=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var a in t=arguments[r])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e}).apply(this,arguments)};function q(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&0>t.indexOf(n)&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var a=0,n=Object.getOwnPropertySymbols(e);a<n.length;a++)0>t.indexOf(n[a])&&Object.prototype.propertyIsEnumerable.call(e,n[a])&&(r[n[a]]=e[n[a]]);return r}Object.create,Object.create;var X=("function"==typeof SuppressedError&&SuppressedError,"right-scroll-bar-position"),Y="width-before-scroll-bar";function Q(e,t){return"function"==typeof e?e(t):e&&(e.current=t),e}var J="undefined"!=typeof window?l.useLayoutEffect:l.useEffect,Z=new WeakMap;function ee(e){return e}var et=function(e){void 0===e&&(e={});var t,r,n,a=(void 0===t&&(t=ee),r=[],n=!1,{read:function(){if(n)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return r.length?r[r.length-1]:null},useMedium:function(e){var a=t(e,n);return r.push(a),function(){r=r.filter(function(e){return e!==a})}},assignSyncMedium:function(e){for(n=!0;r.length;){var t=r;r=[],t.forEach(e)}r={push:function(t){return e(t)},filter:function(){return r}}},assignMedium:function(e){n=!0;var t=[];if(r.length){var a=r;r=[],a.forEach(e),t=r}var o=function(){var r=t;t=[],r.forEach(e)},l=function(){return Promise.resolve().then(o)};l(),r={push:function(e){t.push(e),l()},filter:function(e){return t=t.filter(e),r}}}});return a.options=G({async:!0,ssr:!1},e),a}(),er=function(){},en=l.forwardRef(function(e,t){var r,n,a,o,i=l.useRef(null),s=l.useState({onScrollCapture:er,onWheelCapture:er,onTouchMoveCapture:er}),c=s[0],d=s[1],u=e.forwardProps,f=e.children,p=e.className,m=e.removeScrollBar,h=e.enabled,g=e.shards,x=e.sideCar,v=e.noIsolation,y=e.inert,w=e.allowPinchZoom,b=e.as,j=e.gapMode,N=q(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","as","gapMode"]),C=(r=[i,t],n=function(e){return r.forEach(function(t){return Q(t,e)})},(a=(0,l.useState)(function(){return{value:null,callback:n,facade:{get current(){return a.value},set current(value){var e=a.value;e!==value&&(a.value=value,a.callback(value,e))}}}})[0]).callback=n,o=a.facade,J(function(){var e=Z.get(o);if(e){var t=new Set(e),n=new Set(r),a=o.current;t.forEach(function(e){n.has(e)||Q(e,null)}),n.forEach(function(e){t.has(e)||Q(e,a)})}Z.set(o,r)},[r]),o),E=G(G({},N),c);return l.createElement(l.Fragment,null,h&&l.createElement(x,{sideCar:et,removeScrollBar:m,shards:g,noIsolation:v,inert:y,setCallbacks:d,allowPinchZoom:!!w,lockRef:i,gapMode:j}),u?l.cloneElement(l.Children.only(f),G(G({},E),{ref:C})):l.createElement(void 0===b?"div":b,G({},E,{className:p,ref:C}),f))});en.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},en.classNames={fullWidth:Y,zeroRight:X};var ea=function(e){var t=e.sideCar,r=q(e,["sideCar"]);if(!t)throw Error("Sidecar: please provide `sideCar` property to import the right car");var n=t.read();if(!n)throw Error("Sidecar medium not found");return l.createElement(n,G({},r))};ea.isSideCarExport=!0;var eo=function(){var e=0,t=null;return{add:function(n){if(0==e&&(t=function(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=a||r.nc;return t&&e.setAttribute("nonce",t),e}())){var o,l;(o=t).styleSheet?o.styleSheet.cssText=n:o.appendChild(document.createTextNode(n)),l=t,(document.head||document.getElementsByTagName("head")[0]).appendChild(l)}e++},remove:function(){--e||!t||(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},el=function(){var e=eo();return function(t,r){l.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&r])}},ei=function(){var e=el();return function(t){return e(t.styles,t.dynamic),null}},es={left:0,top:0,right:0,gap:0},ec=function(e){return parseInt(e||"",10)||0},ed=function(e){var t=window.getComputedStyle(document.body),r=t["padding"===e?"paddingLeft":"marginLeft"],n=t["padding"===e?"paddingTop":"marginTop"],a=t["padding"===e?"paddingRight":"marginRight"];return[ec(r),ec(n),ec(a)]},eu=function(e){if(void 0===e&&(e="margin"),"undefined"==typeof window)return es;var t=ed(e),r=document.documentElement.clientWidth,n=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,n-r+t[2]-t[0])}},ef=ei(),ep="data-scroll-locked",em=function(e,t,r,n){var a=e.left,o=e.top,l=e.right,i=e.gap;return void 0===r&&(r="margin"),"\n .".concat("with-scroll-bars-hidden"," {\n overflow: hidden ").concat(n,";\n padding-right: ").concat(i,"px ").concat(n,";\n }\n body[").concat(ep,"] {\n overflow: hidden ").concat(n,";\n overscroll-behavior: contain;\n ").concat([t&&"position: relative ".concat(n,";"),"margin"===r&&"\n padding-left: ".concat(a,"px;\n padding-top: ").concat(o,"px;\n padding-right: ").concat(l,"px;\n margin-left:0;\n margin-top:0;\n margin-right: ").concat(i,"px ").concat(n,";\n "),"padding"===r&&"padding-right: ".concat(i,"px ").concat(n,";")].filter(Boolean).join(""),"\n }\n \n .").concat(X," {\n right: ").concat(i,"px ").concat(n,";\n }\n \n .").concat(Y," {\n margin-right: ").concat(i,"px ").concat(n,";\n }\n \n .").concat(X," .").concat(X," {\n right: 0 ").concat(n,";\n }\n \n .").concat(Y," .").concat(Y," {\n margin-right: 0 ").concat(n,";\n }\n \n body[").concat(ep,"] {\n ").concat("--removed-body-scroll-bar-size",": ").concat(i,"px;\n }\n")},eh=function(){var e=parseInt(document.body.getAttribute(ep)||"0",10);return isFinite(e)?e:0},eg=function(){l.useEffect(function(){return document.body.setAttribute(ep,(eh()+1).toString()),function(){var e=eh()-1;e<=0?document.body.removeAttribute(ep):document.body.setAttribute(ep,e.toString())}},[])},ex=function(e){var t=e.noRelative,r=e.noImportant,n=e.gapMode,a=void 0===n?"margin":n;eg();var o=l.useMemo(function(){return eu(a)},[a]);return l.createElement(ef,{styles:em(o,!t,a,r?"":"!important")})},ev=!1;if("undefined"!=typeof window)try{var ey=Object.defineProperty({},"passive",{get:function(){return ev=!0,!0}});window.addEventListener("test",ey,ey),window.removeEventListener("test",ey,ey)}catch(e){ev=!1}var ew=!!ev&&{passive:!1},eb=function(e,t){if(!(e instanceof Element))return!1;var r=window.getComputedStyle(e);return"hidden"!==r[t]&&!(r.overflowY===r.overflowX&&"TEXTAREA"!==e.tagName&&"visible"===r[t])},ej=function(e,t){var r=t.ownerDocument,n=t;do{if("undefined"!=typeof ShadowRoot&&n instanceof ShadowRoot&&(n=n.host),eN(e,n)){var a=eC(e,n);if(a[1]>a[2])return!0}n=n.parentNode}while(n&&n!==r.body);return!1},eN=function(e,t){return"v"===e?eb(t,"overflowY"):eb(t,"overflowX")},eC=function(e,t){return"v"===e?[t.scrollTop,t.scrollHeight,t.clientHeight]:[t.scrollLeft,t.scrollWidth,t.clientWidth]},eE=function(e,t,r,n,a){var o,l=(o=window.getComputedStyle(t).direction,"h"===e&&"rtl"===o?-1:1),i=l*n,s=r.target,c=t.contains(s),d=!1,u=i>0,f=0,p=0;do{var m=eC(e,s),h=m[0],g=m[1]-m[2]-l*h;(h||g)&&eN(e,s)&&(f+=g,p+=h),s instanceof ShadowRoot?s=s.host:s=s.parentNode}while(!c&&s!==document.body||c&&(t.contains(s)||t===s));return u&&(a&&1>Math.abs(f)||!a&&i>f)?d=!0:!u&&(a&&1>Math.abs(p)||!a&&-i>p)&&(d=!0),d},eS=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},eR=function(e){return[e.deltaX,e.deltaY]},ek=function(e){return e&&"current"in e?e.current:e},eT=0,eA=[];let eM=(n=function(e){var t=l.useRef([]),r=l.useRef([0,0]),n=l.useRef(),a=l.useState(eT++)[0],o=l.useState(ei)[0],i=l.useRef(e);l.useEffect(function(){i.current=e},[e]),l.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(a));var t=(function(e,t,r){if(r||2==arguments.length)for(var n,a=0,o=t.length;a<o;a++)!n&&a in t||(n||(n=Array.prototype.slice.call(t,0,a)),n[a]=t[a]);return e.concat(n||Array.prototype.slice.call(t))})([e.lockRef.current],(e.shards||[]).map(ek),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add("allow-interactivity-".concat(a))}),function(){document.body.classList.remove("block-interactivity-".concat(a)),t.forEach(function(e){return e.classList.remove("allow-interactivity-".concat(a))})}}},[e.inert,e.lockRef.current,e.shards]);var s=l.useCallback(function(e,t){if("touches"in e&&2===e.touches.length||"wheel"===e.type&&e.ctrlKey)return!i.current.allowPinchZoom;var a,o=eS(e),l=r.current,s="deltaX"in e?e.deltaX:l[0]-o[0],c="deltaY"in e?e.deltaY:l[1]-o[1],d=e.target,u=Math.abs(s)>Math.abs(c)?"h":"v";if("touches"in e&&"h"===u&&"range"===d.type)return!1;var f=ej(u,d);if(!f)return!0;if(f?a=u:(a="v"===u?"h":"v",f=ej(u,d)),!f)return!1;if(!n.current&&"changedTouches"in e&&(s||c)&&(n.current=a),!a)return!0;var p=n.current||a;return eE(p,t,e,"h"===p?s:c,!0)},[]),c=l.useCallback(function(e){if(eA.length&&eA[eA.length-1]===o){var r="deltaY"in e?eR(e):eS(e),n=t.current.filter(function(t){var n;return t.name===e.type&&(t.target===e.target||e.target===t.shadowParent)&&(n=t.delta)[0]===r[0]&&n[1]===r[1]})[0];if(n&&n.should){e.cancelable&&e.preventDefault();return}if(!n){var a=(i.current.shards||[]).map(ek).filter(Boolean).filter(function(t){return t.contains(e.target)});(a.length>0?s(e,a[0]):!i.current.noIsolation)&&e.cancelable&&e.preventDefault()}}},[]),d=l.useCallback(function(e,r,n,a){var o={name:e,delta:r,target:n,should:a,shadowParent:function(e){for(var t=null;null!==e;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}(n)};t.current.push(o),setTimeout(function(){t.current=t.current.filter(function(e){return e!==o})},1)},[]),u=l.useCallback(function(e){r.current=eS(e),n.current=void 0},[]),f=l.useCallback(function(t){d(t.type,eR(t),t.target,s(t,e.lockRef.current))},[]),p=l.useCallback(function(t){d(t.type,eS(t),t.target,s(t,e.lockRef.current))},[]);l.useEffect(function(){return eA.push(o),e.setCallbacks({onScrollCapture:f,onWheelCapture:f,onTouchMoveCapture:p}),document.addEventListener("wheel",c,ew),document.addEventListener("touchmove",c,ew),document.addEventListener("touchstart",u,ew),function(){eA=eA.filter(function(e){return e!==o}),document.removeEventListener("wheel",c,ew),document.removeEventListener("touchmove",c,ew),document.removeEventListener("touchstart",u,ew)}},[]);var m=e.removeScrollBar,h=e.inert;return l.createElement(l.Fragment,null,h?l.createElement(o,{styles:"\n .block-interactivity-".concat(a," {pointer-events: none;}\n .allow-interactivity-").concat(a," {pointer-events: all;}\n")}):null,m?l.createElement(ex,{gapMode:e.gapMode}):null)},et.useMedium(n),ea);var eP=l.forwardRef(function(e,t){return l.createElement(en,G({},e,{ref:t,sideCar:eM}))});eP.classNames=en.classNames;var eL=new WeakMap,eO=new WeakMap,eD={},e_=0,eI=function(e){return e&&(e.host||eI(e.parentNode))},eF=function(e,t,r,n){var a=(Array.isArray(e)?e:[e]).map(function(e){if(t.contains(e))return e;var r=eI(e);return r&&t.contains(r)?r:(console.error("aria-hidden",e,"in not contained inside",t,". Doing nothing"),null)}).filter(function(e){return!!e});eD[r]||(eD[r]=new WeakMap);var o=eD[r],l=[],i=new Set,s=new Set(a),c=function(e){!e||i.has(e)||(i.add(e),c(e.parentNode))};a.forEach(c);var d=function(e){!e||s.has(e)||Array.prototype.forEach.call(e.children,function(e){if(i.has(e))d(e);else try{var t=e.getAttribute(n),a=null!==t&&"false"!==t,s=(eL.get(e)||0)+1,c=(o.get(e)||0)+1;eL.set(e,s),o.set(e,c),l.push(e),1===s&&a&&eO.set(e,!0),1===c&&e.setAttribute(r,"true"),a||e.setAttribute(n,"true")}catch(t){console.error("aria-hidden: cannot operate on ",e,t)}})};return d(t),i.clear(),e_++,function(){l.forEach(function(e){var t=eL.get(e)-1,a=o.get(e)-1;eL.set(e,t),o.set(e,a),t||(eO.has(e)||e.removeAttribute(n),eO.delete(e)),a||e.removeAttribute(r)}),--e_||(eL=new WeakMap,eL=new WeakMap,eO=new WeakMap,eD={})}},e$=function(e,t,r){void 0===r&&(r="data-aria-hidden");var n,a=Array.from(Array.isArray(e)?e:[e]),o=t||(n=e,"undefined"==typeof document?null:(Array.isArray(n)?n[0]:n).ownerDocument.body);return o?(a.push.apply(a,Array.from(o.querySelectorAll("[aria-live]"))),eF(a,o,r,"aria-hidden")):function(){return null}},ez=r(2705),eU="Dialog",[eH,eV]=(0,C.A)(eU),[eW,eK]=eH(eU),eB=e=>{let{__scopeDialog:t,children:r,open:n,defaultOpen:a,onOpenChange:i,modal:s=!0}=e,c=l.useRef(null),d=l.useRef(null),[u=!1,f]=(0,T.i)({prop:n,defaultProp:a,onChange:i});return(0,o.jsx)(eW,{scope:t,triggerRef:c,contentRef:d,contentId:k(),titleId:k(),descriptionId:k(),open:u,onOpenChange:f,onOpenToggle:l.useCallback(()=>f(e=>!e),[f]),modal:s,children:r})};eB.displayName=eU;var eG="DialogTrigger";l.forwardRef((e,t)=>{let{__scopeDialog:r,...n}=e,a=eK(eG,r),l=(0,N.s)(t,a.triggerRef);return(0,o.jsx)(M.sG.button,{type:"button","aria-haspopup":"dialog","aria-expanded":a.open,"aria-controls":a.contentId,"data-state":tr(a.open),...n,ref:l,onClick:(0,j.m)(e.onClick,a.onOpenToggle)})}).displayName=eG;var eq="DialogPortal",[eX,eY]=eH(eq,{forceMount:void 0}),eQ=e=>{let{__scopeDialog:t,forceMount:r,children:n,container:a}=e,i=eK(eq,t);return(0,o.jsx)(eX,{scope:t,forceMount:r,children:l.Children.map(n,e=>(0,o.jsx)(V.C,{present:r||i.open,children:(0,o.jsx)(H.Z,{asChild:!0,container:a,children:e})}))})};eQ.displayName=eq;var eJ="DialogOverlay",eZ=l.forwardRef((e,t)=>{let r=eY(eJ,e.__scopeDialog),{forceMount:n=r.forceMount,...a}=e,l=eK(eJ,e.__scopeDialog);return l.modal?(0,o.jsx)(V.C,{present:n||l.open,children:(0,o.jsx)(e0,{...a,ref:t})}):null});eZ.displayName=eJ;var e0=l.forwardRef((e,t)=>{let{__scopeDialog:r,...n}=e,a=eK(eJ,r);return(0,o.jsx)(eP,{as:ez.DX,allowPinchZoom:!0,shards:[a.contentRef],children:(0,o.jsx)(M.sG.div,{"data-state":tr(a.open),...n,ref:t,style:{pointerEvents:"auto",...n.style}})})}),e1="DialogContent",e2=l.forwardRef((e,t)=>{let r=eY(e1,e.__scopeDialog),{forceMount:n=r.forceMount,...a}=e,l=eK(e1,e.__scopeDialog);return(0,o.jsx)(V.C,{present:n||l.open,children:l.modal?(0,o.jsx)(e4,{...a,ref:t}):(0,o.jsx)(e5,{...a,ref:t})})});e2.displayName=e1;var e4=l.forwardRef((e,t)=>{let r=eK(e1,e.__scopeDialog),n=l.useRef(null),a=(0,N.s)(t,r.contentRef,n);return l.useEffect(()=>{let e=n.current;if(e)return e$(e)},[]),(0,o.jsx)(e3,{...e,ref:a,trapFocus:r.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,j.m)(e.onCloseAutoFocus,e=>{e.preventDefault(),r.triggerRef.current?.focus()}),onPointerDownOutside:(0,j.m)(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,r=0===t.button&&!0===t.ctrlKey;(2===t.button||r)&&e.preventDefault()}),onFocusOutside:(0,j.m)(e.onFocusOutside,e=>e.preventDefault())})}),e5=l.forwardRef((e,t)=>{let r=eK(e1,e.__scopeDialog),n=l.useRef(!1),a=l.useRef(!1);return(0,o.jsx)(e3,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(n.current||r.triggerRef.current?.focus(),t.preventDefault()),n.current=!1,a.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(n.current=!0,"pointerdown"!==t.detail.originalEvent.type||(a.current=!0));let o=t.target;r.triggerRef.current?.contains(o)&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&a.current&&t.preventDefault()}})}),e3=l.forwardRef((e,t)=>{let{__scopeDialog:r,trapFocus:n,onOpenAutoFocus:a,onCloseAutoFocus:i,...s}=e,c=eK(e1,r),d=l.useRef(null),u=(0,N.s)(t,d);return K(),(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(_,{asChild:!0,loop:!0,trapped:n,onMountAutoFocus:a,onUnmountAutoFocus:i,children:(0,o.jsx)(A.qW,{role:"dialog",id:c.contentId,"aria-describedby":c.descriptionId,"aria-labelledby":c.titleId,"data-state":tr(c.open),...s,ref:u,onDismiss:()=>c.onOpenChange(!1)})}),(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(tl,{titleId:c.titleId}),(0,o.jsx)(ti,{contentRef:d,descriptionId:c.descriptionId})]})]})}),e8="DialogTitle",e9=l.forwardRef((e,t)=>{let{__scopeDialog:r,...n}=e,a=eK(e8,r);return(0,o.jsx)(M.sG.h2,{id:a.titleId,...n,ref:t})});e9.displayName=e8;var e6="DialogDescription",e7=l.forwardRef((e,t)=>{let{__scopeDialog:r,...n}=e,a=eK(e6,r);return(0,o.jsx)(M.sG.p,{id:a.descriptionId,...n,ref:t})});e7.displayName=e6;var te="DialogClose",tt=l.forwardRef((e,t)=>{let{__scopeDialog:r,...n}=e,a=eK(te,r);return(0,o.jsx)(M.sG.button,{type:"button",...n,ref:t,onClick:(0,j.m)(e.onClick,()=>a.onOpenChange(!1))})});function tr(e){return e?"open":"closed"}tt.displayName=te;var tn="DialogTitleWarning",[ta,to]=(0,C.q)(tn,{contentName:e1,titleName:e8,docsSlug:"dialog"}),tl=({titleId:e})=>{let t=to(tn),r=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return l.useEffect(()=>{e&&!document.getElementById(e)&&console.error(r)},[r,e]),null},ti=({contentRef:e,descriptionId:t})=>{let r=to("DialogDescriptionWarning"),n=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${r.contentName}}.`;return l.useEffect(()=>{let r=e.current?.getAttribute("aria-describedby");t&&r&&!document.getElementById(t)&&console.warn(n)},[n,e,t]),null},ts=r(1255);let tc=l.forwardRef(({className:e,...t},r)=>(0,o.jsx)(eZ,{ref:r,className:(0,h.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",e),...t}));tc.displayName=eZ.displayName;let td=l.forwardRef(({className:e,children:t,...r},n)=>(0,o.jsxs)(eQ,{children:[(0,o.jsx)(tc,{}),(0,o.jsxs)(e2,{ref:n,className:(0,h.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",e),...r,children:[t,(0,o.jsxs)(tt,{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,o.jsx)(ts.A,{className:"h-4 w-4"}),(0,o.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));td.displayName=e2.displayName;let tu=({className:e,...t})=>(0,o.jsx)("div",{className:(0,h.cn)("flex flex-col space-y-1.5 text-center sm:text-left",e),...t});tu.displayName="DialogHeader";let tf=({className:e,...t})=>(0,o.jsx)("div",{className:(0,h.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...t});tf.displayName="DialogFooter";let tp=l.forwardRef(({className:e,...t},r)=>(0,o.jsx)(e9,{ref:r,className:(0,h.cn)("text-lg font-semibold leading-none tracking-tight",e),...t}));tp.displayName=e9.displayName;let tm=l.forwardRef(({className:e,...t},r)=>(0,o.jsx)(e7,{ref:r,className:(0,h.cn)("text-sm text-muted-foreground",e),...t}));tm.displayName=e7.displayName;let th=(0,x.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"}}),tg=l.forwardRef(({className:e,variant:t,size:r,asChild:n=!1,...a},l)=>{let i=n?ez.DX:"button";return(0,o.jsx)(i,{className:(0,h.cn)(th({variant:t,size:r,className:e})),ref:l,...a})});function tx({open:e,onClose:t,onSubmit:r}){let[n,a]=(0,l.useState)(""),[i,s]=(0,l.useState)(""),[c,d]=(0,l.useState)(""),[u,f]=(0,l.useState)(!1),p=async e=>{e.preventDefault(),d(""),f(!0);try{await r({accountId:n,apiToken:i}),localStorage.setItem("cf_credentials",JSON.stringify({accountId:n,apiToken:i})),t()}catch(e){d(e.message)}finally{f(!1)}};return(0,o.jsx)(eB,{open:e,onOpenChange:t,children:(0,o.jsxs)(td,{className:"sm:max-w-md",children:[(0,o.jsxs)(tu,{children:[(0,o.jsx)(tp,{children:"Connect to Cloudflare"}),(0,o.jsx)(tm,{children:"Enter your Cloudflare credentials to push your database to production."})]}),(0,o.jsxs)("form",{onSubmit:p,className:"space-y-4 mt-4",children:[c&&(0,o.jsx)(y,{variant:"destructive",children:(0,o.jsx)(w,{children:c})}),(0,o.jsxs)("div",{className:"space-y-2",children:[(0,o.jsx)("label",{className:"text-sm font-medium",children:"Account ID"}),(0,o.jsx)(g,{placeholder:"Your Cloudflare Account ID",value:n,onChange:e=>a(e.target.value),required:!0})]}),(0,o.jsxs)("div",{className:"space-y-2",children:[(0,o.jsx)("label",{className:"text-sm font-medium",children:"API Token"}),(0,o.jsx)(g,{type:"password",placeholder:"Your D1 Database API Token",value:i,onChange:e=>s(e.target.value),required:!0})]}),(0,o.jsxs)("div",{className:"flex justify-end gap-3",children:[(0,o.jsx)(tg,{type:"button",variant:"outline",onClick:t,children:"Cancel"}),(0,o.jsxs)(tg,{type:"submit",disabled:u,children:[u&&(0,o.jsx)(m,{className:"mr-2 h-4 w-4 animate-spin"}),"Connect"]})]})]})]})})}tg.displayName="Button";var tv=r(6888),ty=l.createContext(void 0);function tw(e){let t=l.useContext(ty);return e||t||"ltr"}function tb(e,[t,r]){return Math.min(r,Math.max(t,e))}var tj="ScrollArea",[tN,tC]=(0,C.A)(tj),[tE,tS]=tN(tj),tR=l.forwardRef((e,t)=>{let{__scopeScrollArea:r,type:n="hover",dir:a,scrollHideDelay:i=600,...s}=e,[c,d]=l.useState(null),[u,f]=l.useState(null),[p,m]=l.useState(null),[h,g]=l.useState(null),[x,v]=l.useState(null),[y,w]=l.useState(0),[b,j]=l.useState(0),[C,E]=l.useState(!1),[S,R]=l.useState(!1),k=(0,N.s)(t,e=>d(e)),T=tw(a);return(0,o.jsx)(tE,{scope:r,type:n,dir:T,scrollHideDelay:i,scrollArea:c,viewport:u,onViewportChange:f,content:p,onContentChange:m,scrollbarX:h,onScrollbarXChange:g,scrollbarXEnabled:C,onScrollbarXEnabledChange:E,scrollbarY:x,onScrollbarYChange:v,scrollbarYEnabled:S,onScrollbarYEnabledChange:R,onCornerWidthChange:w,onCornerHeightChange:j,children:(0,o.jsx)(M.sG.div,{dir:T,...s,ref:k,style:{position:"relative","--radix-scroll-area-corner-width":y+"px","--radix-scroll-area-corner-height":b+"px",...e.style}})})});tR.displayName=tj;var tk="ScrollAreaViewport",tT=l.forwardRef((e,t)=>{let{__scopeScrollArea:r,children:n,nonce:a,...i}=e,s=tS(tk,r),c=l.useRef(null),d=(0,N.s)(t,c,s.onViewportChange);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:a}),(0,o.jsx)(M.sG.div,{"data-radix-scroll-area-viewport":"",...i,ref:d,style:{overflowX:s.scrollbarXEnabled?"scroll":"hidden",overflowY:s.scrollbarYEnabled?"scroll":"hidden",...e.style},children:(0,o.jsx)("div",{ref:s.onContentChange,style:{minWidth:"100%",display:"table"},children:n})})]})});tT.displayName=tk;var tA="ScrollAreaScrollbar",tM=l.forwardRef((e,t)=>{let{forceMount:r,...n}=e,a=tS(tA,e.__scopeScrollArea),{onScrollbarXEnabledChange:i,onScrollbarYEnabledChange:s}=a,c="horizontal"===e.orientation;return l.useEffect(()=>(c?i(!0):s(!0),()=>{c?i(!1):s(!1)}),[c,i,s]),"hover"===a.type?(0,o.jsx)(tP,{...n,ref:t,forceMount:r}):"scroll"===a.type?(0,o.jsx)(tL,{...n,ref:t,forceMount:r}):"auto"===a.type?(0,o.jsx)(tO,{...n,ref:t,forceMount:r}):"always"===a.type?(0,o.jsx)(tD,{...n,ref:t}):null});tM.displayName=tA;var tP=l.forwardRef((e,t)=>{let{forceMount:r,...n}=e,a=tS(tA,e.__scopeScrollArea),[i,s]=l.useState(!1);return l.useEffect(()=>{let e=a.scrollArea,t=0;if(e){let r=()=>{window.clearTimeout(t),s(!0)},n=()=>{t=window.setTimeout(()=>s(!1),a.scrollHideDelay)};return e.addEventListener("pointerenter",r),e.addEventListener("pointerleave",n),()=>{window.clearTimeout(t),e.removeEventListener("pointerenter",r),e.removeEventListener("pointerleave",n)}}},[a.scrollArea,a.scrollHideDelay]),(0,o.jsx)(V.C,{present:r||i,children:(0,o.jsx)(tO,{"data-state":i?"visible":"hidden",...n,ref:t})})}),tL=l.forwardRef((e,t)=>{var r,n;let{forceMount:a,...i}=e,s=tS(tA,e.__scopeScrollArea),c="horizontal"===e.orientation,d=tZ(()=>f("SCROLL_END"),100),[u,f]=(r="hidden",n={hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}},l.useReducer((e,t)=>n[e][t]??e,r));return l.useEffect(()=>{if("idle"===u){let e=window.setTimeout(()=>f("HIDE"),s.scrollHideDelay);return()=>window.clearTimeout(e)}},[u,s.scrollHideDelay,f]),l.useEffect(()=>{let e=s.viewport,t=c?"scrollLeft":"scrollTop";if(e){let r=e[t],n=()=>{let n=e[t];r!==n&&(f("SCROLL"),d()),r=n};return e.addEventListener("scroll",n),()=>e.removeEventListener("scroll",n)}},[s.viewport,c,f,d]),(0,o.jsx)(V.C,{present:a||"hidden"!==u,children:(0,o.jsx)(tD,{"data-state":"hidden"===u?"hidden":"visible",...i,ref:t,onPointerEnter:(0,j.m)(e.onPointerEnter,()=>f("POINTER_ENTER")),onPointerLeave:(0,j.m)(e.onPointerLeave,()=>f("POINTER_LEAVE"))})})}),tO=l.forwardRef((e,t)=>{let r=tS(tA,e.__scopeScrollArea),{forceMount:n,...a}=e,[i,s]=l.useState(!1),c="horizontal"===e.orientation,d=tZ(()=>{if(r.viewport){let e=r.viewport.offsetWidth<r.viewport.scrollWidth,t=r.viewport.offsetHeight<r.viewport.scrollHeight;s(c?e:t)}},10);return t0(r.viewport,d),t0(r.content,d),(0,o.jsx)(V.C,{present:n||i,children:(0,o.jsx)(tD,{"data-state":i?"visible":"hidden",...a,ref:t})})}),tD=l.forwardRef((e,t)=>{let{orientation:r="vertical",...n}=e,a=tS(tA,e.__scopeScrollArea),i=l.useRef(null),s=l.useRef(0),[c,d]=l.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),u=tq(c.viewport,c.content),f={...n,sizes:c,onSizesChange:d,hasThumb:!!(u>0&&u<1),onThumbChange:e=>i.current=e,onThumbPointerUp:()=>s.current=0,onThumbPointerDown:e=>s.current=e};function p(e,t){return function(e,t,r,n="ltr"){let a=tX(r),o=t||a/2,l=r.scrollbar.paddingStart+o,i=r.scrollbar.size-r.scrollbar.paddingEnd-(a-o),s=r.content-r.viewport;return tQ([l,i],"ltr"===n?[0,s]:[-1*s,0])(e)}(e,s.current,c,t)}return"horizontal"===r?(0,o.jsx)(t_,{...f,ref:t,onThumbPositionChange:()=>{if(a.viewport&&i.current){let e=tY(a.viewport.scrollLeft,c,a.dir);i.current.style.transform=`translate3d(${e}px, 0, 0)`}},onWheelScroll:e=>{a.viewport&&(a.viewport.scrollLeft=e)},onDragScroll:e=>{a.viewport&&(a.viewport.scrollLeft=p(e,a.dir))}}):"vertical"===r?(0,o.jsx)(tI,{...f,ref:t,onThumbPositionChange:()=>{if(a.viewport&&i.current){let e=tY(a.viewport.scrollTop,c);i.current.style.transform=`translate3d(0, ${e}px, 0)`}},onWheelScroll:e=>{a.viewport&&(a.viewport.scrollTop=e)},onDragScroll:e=>{a.viewport&&(a.viewport.scrollTop=p(e))}}):null}),t_=l.forwardRef((e,t)=>{let{sizes:r,onSizesChange:n,...a}=e,i=tS(tA,e.__scopeScrollArea),[s,c]=l.useState(),d=l.useRef(null),u=(0,N.s)(t,d,i.onScrollbarXChange);return l.useEffect(()=>{d.current&&c(getComputedStyle(d.current))},[d]),(0,o.jsx)(tz,{"data-orientation":"horizontal",...a,ref:u,sizes:r,style:{bottom:0,left:"rtl"===i.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===i.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":tX(r)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,r)=>{if(i.viewport){let n=i.viewport.scrollLeft+t.deltaX;e.onWheelScroll(n),function(e,t){return e>0&&e<t}(n,r)&&t.preventDefault()}},onResize:()=>{d.current&&i.viewport&&s&&n({content:i.viewport.scrollWidth,viewport:i.viewport.offsetWidth,scrollbar:{size:d.current.clientWidth,paddingStart:tG(s.paddingLeft),paddingEnd:tG(s.paddingRight)}})}})}),tI=l.forwardRef((e,t)=>{let{sizes:r,onSizesChange:n,...a}=e,i=tS(tA,e.__scopeScrollArea),[s,c]=l.useState(),d=l.useRef(null),u=(0,N.s)(t,d,i.onScrollbarYChange);return l.useEffect(()=>{d.current&&c(getComputedStyle(d.current))},[d]),(0,o.jsx)(tz,{"data-orientation":"vertical",...a,ref:u,sizes:r,style:{top:0,right:"ltr"===i.dir?0:void 0,left:"rtl"===i.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":tX(r)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,r)=>{if(i.viewport){let n=i.viewport.scrollTop+t.deltaY;e.onWheelScroll(n),function(e,t){return e>0&&e<t}(n,r)&&t.preventDefault()}},onResize:()=>{d.current&&i.viewport&&s&&n({content:i.viewport.scrollHeight,viewport:i.viewport.offsetHeight,scrollbar:{size:d.current.clientHeight,paddingStart:tG(s.paddingTop),paddingEnd:tG(s.paddingBottom)}})}})}),[tF,t$]=tN(tA),tz=l.forwardRef((e,t)=>{let{__scopeScrollArea:r,sizes:n,hasThumb:a,onThumbChange:i,onThumbPointerUp:s,onThumbPointerDown:c,onThumbPositionChange:d,onDragScroll:u,onWheelScroll:f,onResize:p,...m}=e,h=tS(tA,r),[g,x]=l.useState(null),v=(0,N.s)(t,e=>x(e)),y=l.useRef(null),w=l.useRef(""),b=h.viewport,C=n.content-n.viewport,E=(0,P.c)(f),S=(0,P.c)(d),R=tZ(p,10);function k(e){y.current&&u({x:e.clientX-y.current.left,y:e.clientY-y.current.top})}return l.useEffect(()=>{let e=e=>{let t=e.target;g?.contains(t)&&E(e,C)};return document.addEventListener("wheel",e,{passive:!1}),()=>document.removeEventListener("wheel",e,{passive:!1})},[b,g,C,E]),l.useEffect(S,[n,S]),t0(g,R),t0(h.content,R),(0,o.jsx)(tF,{scope:r,scrollbar:g,hasThumb:a,onThumbChange:(0,P.c)(i),onThumbPointerUp:(0,P.c)(s),onThumbPositionChange:S,onThumbPointerDown:(0,P.c)(c),children:(0,o.jsx)(M.sG.div,{...m,ref:v,style:{position:"absolute",...m.style},onPointerDown:(0,j.m)(e.onPointerDown,e=>{0===e.button&&(e.target.setPointerCapture(e.pointerId),y.current=g.getBoundingClientRect(),w.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",h.viewport&&(h.viewport.style.scrollBehavior="auto"),k(e))}),onPointerMove:(0,j.m)(e.onPointerMove,k),onPointerUp:(0,j.m)(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=w.current,h.viewport&&(h.viewport.style.scrollBehavior=""),y.current=null})})})}),tU="ScrollAreaThumb",tH=l.forwardRef((e,t)=>{let{forceMount:r,...n}=e,a=t$(tU,e.__scopeScrollArea);return(0,o.jsx)(V.C,{present:r||a.hasThumb,children:(0,o.jsx)(tV,{ref:t,...n})})}),tV=l.forwardRef((e,t)=>{let{__scopeScrollArea:r,style:n,...a}=e,i=tS(tU,r),s=t$(tU,r),{onThumbPositionChange:c}=s,d=(0,N.s)(t,e=>s.onThumbChange(e)),u=l.useRef(void 0),f=tZ(()=>{u.current&&(u.current(),u.current=void 0)},100);return l.useEffect(()=>{let e=i.viewport;if(e){let t=()=>{if(f(),!u.current){let t=tJ(e,c);u.current=t,c()}};return c(),e.addEventListener("scroll",t),()=>e.removeEventListener("scroll",t)}},[i.viewport,f,c]),(0,o.jsx)(M.sG.div,{"data-state":s.hasThumb?"visible":"hidden",...a,ref:d,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...n},onPointerDownCapture:(0,j.m)(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),r=e.clientX-t.left,n=e.clientY-t.top;s.onThumbPointerDown({x:r,y:n})}),onPointerUp:(0,j.m)(e.onPointerUp,s.onThumbPointerUp)})});tH.displayName=tU;var tW="ScrollAreaCorner",tK=l.forwardRef((e,t)=>{let r=tS(tW,e.__scopeScrollArea),n=!!(r.scrollbarX&&r.scrollbarY);return"scroll"!==r.type&&n?(0,o.jsx)(tB,{...e,ref:t}):null});tK.displayName=tW;var tB=l.forwardRef((e,t)=>{let{__scopeScrollArea:r,...n}=e,a=tS(tW,r),[i,s]=l.useState(0),[c,d]=l.useState(0),u=!!(i&&c);return t0(a.scrollbarX,()=>{let e=a.scrollbarX?.offsetHeight||0;a.onCornerHeightChange(e),d(e)}),t0(a.scrollbarY,()=>{let e=a.scrollbarY?.offsetWidth||0;a.onCornerWidthChange(e),s(e)}),u?(0,o.jsx)(M.sG.div,{...n,ref:t,style:{width:i,height:c,position:"absolute",right:"ltr"===a.dir?0:void 0,left:"rtl"===a.dir?0:void 0,bottom:0,...e.style}}):null});function tG(e){return e?parseInt(e,10):0}function tq(e,t){let r=e/t;return isNaN(r)?0:r}function tX(e){let t=tq(e.viewport,e.content),r=e.scrollbar.paddingStart+e.scrollbar.paddingEnd;return Math.max((e.scrollbar.size-r)*t,18)}function tY(e,t,r="ltr"){let n=tX(t),a=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,o=t.scrollbar.size-a,l=t.content-t.viewport,i=tb(e,"ltr"===r?[0,l]:[-1*l,0]);return tQ([0,l],[0,o-n])(i)}function tQ(e,t){return r=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let n=(t[1]-t[0])/(e[1]-e[0]);return t[0]+n*(r-e[0])}}var tJ=(e,t=()=>{})=>{let r={left:e.scrollLeft,top:e.scrollTop},n=0;return function a(){let o={left:e.scrollLeft,top:e.scrollTop},l=r.left!==o.left,i=r.top!==o.top;(l||i)&&t(),r=o,n=window.requestAnimationFrame(a)}(),()=>window.cancelAnimationFrame(n)};function tZ(e,t){let r=(0,P.c)(e),n=l.useRef(0);return l.useEffect(()=>()=>window.clearTimeout(n.current),[]),l.useCallback(()=>{window.clearTimeout(n.current),n.current=window.setTimeout(r,t)},[r,t])}function t0(e,t){let r=(0,P.c)(t);(0,E.N)(()=>{let t=0;if(e){let n=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(r)});return n.observe(e),()=>{window.cancelAnimationFrame(t),n.unobserve(e)}}},[e,r])}let t1=l.forwardRef(({className:e,children:t,...r},n)=>(0,o.jsxs)(tR,{ref:n,className:(0,h.cn)("relative overflow-hidden",e),...r,children:[(0,o.jsx)(tT,{className:"h-full w-full rounded-[inherit]",children:t}),(0,o.jsx)(t2,{}),(0,o.jsx)(tK,{})]}));t1.displayName=tR.displayName;let t2=l.forwardRef(({className:e,orientation:t="vertical",...r},n)=>(0,o.jsx)(tM,{ref:n,orientation:t,className:(0,h.cn)("flex touch-none select-none transition-colors","vertical"===t&&"h-full w-2.5 border-l border-l-transparent p-[1px]","horizontal"===t&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",e),...r,children:(0,o.jsx)(tH,{className:"relative flex-1 rounded-full bg-border"})}));t2.displayName=tM.displayName;let t4=l.forwardRef(({className:e,...t},r)=>(0,o.jsx)("div",{className:"relative w-full overflow-auto",children:(0,o.jsx)("table",{ref:r,className:(0,h.cn)("w-full caption-bottom text-sm",e),...t})}));t4.displayName="Table";let t5=l.forwardRef(({className:e,...t},r)=>(0,o.jsx)("thead",{ref:r,className:(0,h.cn)("[&_tr]:border-b",e),...t}));t5.displayName="TableHeader";let t3=l.forwardRef(({className:e,...t},r)=>(0,o.jsx)("tbody",{ref:r,className:(0,h.cn)("[&_tr:last-child]:border-0",e),...t}));t3.displayName="TableBody",l.forwardRef(({className:e,...t},r)=>(0,o.jsx)("tfoot",{ref:r,className:(0,h.cn)("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",e),...t})).displayName="TableFooter";let t8=l.forwardRef(({className:e,...t},r)=>(0,o.jsx)("tr",{ref:r,className:(0,h.cn)("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",e),...t}));t8.displayName="TableRow";let t9=l.forwardRef(({className:e,...t},r)=>(0,o.jsx)("th",{ref:r,className:(0,h.cn)("h-10 px-2 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...t}));t9.displayName="TableHead";let t6=l.forwardRef(({className:e,...t},r)=>(0,o.jsx)("td",{ref:r,className:(0,h.cn)("p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...t}));t6.displayName="TableCell",l.forwardRef(({className:e,...t},r)=>(0,o.jsx)("caption",{ref:r,className:(0,h.cn)("mt-4 text-sm text-muted-foreground",e),...t})).displayName="TableCaption";let t7=function({preview:e=[],onConfirm:t,onCancel:r,isConfirming:n,error:a,isLoading:i,success:s}){let[c,d]=(0,l.useState)(!0);if(i)return(0,o.jsx)("div",{className:"fixed bottom-4 right-4 z-50 font-sans w-[600px]",children:(0,o.jsx)("div",{className:"rounded-lg border p-4 shadow-lg bg-background",children:(0,o.jsxs)("div",{className:"flex items-start gap-3",children:[(0,o.jsx)(m,{className:"h-5 w-5 text-neutral-600 shrink-0 mt-0.5 animate-spin"}),(0,o.jsx)("div",{className:"flex-1 space-y-3",children:(0,o.jsxs)("div",{className:"space-y-1",children:[(0,o.jsx)("p",{className:"font-medium text-neutral-800",children:"Preparing Push Migration"}),(0,o.jsx)("p",{className:"text-sm text-neutral-600",children:"Checking local migrations..."})]})})]})})});if(!e?.length)return(0,o.jsx)("div",{className:"fixed bottom-4 right-4 z-50 w-[600px]",children:(0,o.jsx)("div",{className:"rounded-lg border p-4",children:(0,o.jsx)("p",{className:"text-sm font-medium",children:"No migrations to preview"})})});let u=e.filter(e=>"will be applied"===e.action).length,f=e.filter(e=>"skipped"===e.action).length;e.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,o.jsx)("div",{className:"fixed bottom-4 right-4 z-50 font-sans w-[600px]",children:(0,o.jsx)("div",{className:(0,h.cn)("rounded-lg border p-4 shadow-lg",a?"bg-destructive/15":"bg-background"),children:(0,o.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,o.jsxs)("div",{className:"space-y-2",children:[(0,o.jsxs)("div",{className:"flex items-center justify-between",children:[(0,o.jsx)("h5",{className:"font-medium text-neutral-900",children:"Push Migration Preview"}),(0,o.jsx)("button",{onClick:r,className:"text-neutral-500 hover:text-neutral-900 p-1 rounded-md hover:bg-neutral-100",children:(0,o.jsx)(ts.A,{className:"h-4 w-4"})})]}),(0,o.jsxs)("p",{className:"text-sm text-neutral-700",children:[u," migration(s) \uD83D\uDD52️ pending, ",f," to ✅ skip"]}),a?(0,o.jsx)("p",{className:"text-sm text-destructive font-medium mt-1",children:a.message}):s&&(0,o.jsx)("p",{className:"text-sm text-green-700 font-medium mt-1",children:s})]}),(0,o.jsxs)("div",{children:[(0,o.jsx)("button",{onClick:()=>d(!c),className:"text-sm font-medium hover:underline",children:c?"Hide Details":"Show Details"}),c&&(0,o.jsx)(t1,{className:"h-[480px] mt-2 rounded border border-neutral-200",children:(0,o.jsxs)(t4,{children:[(0,o.jsx)(t5,{children:(0,o.jsxs)(t8,{children:[(0,o.jsx)(t9,{children:"Migration"}),(0,o.jsx)(t9,{className:"text-center w-24",children:"Status"})]})}),(0,o.jsx)(t3,{children:e.map((e,t)=>(0,o.jsxs)(t8,{children:[(0,o.jsx)(t6,{className:"font-mono text-xs",children:e.name}),(0,o.jsx)(t6,{className:"text-center align-middle",children:p(e.action)})]},t))})]})})]}),(0,o.jsxs)("div",{className:"flex gap-2 pt-1",children:[(0,o.jsx)(tg,{onClick:t,disabled:n||0===u,className:"flex-1",children:n?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(m,{className:"mr-2 h-4 w-4 animate-spin"}),"Confirming..."]}):"Confirm Push"}),(0,o.jsx)(tg,{variant:"outline",onClick:r,disabled:n,className:"flex-1",children:"Cancel"})]})]})})})},re=function({preview:e=[],onConfirm:t,onCancel:r,onDataPull:n,isConfirming:a,isDataPulling:i,error:s,isLoading:c,success:d}){console.log("PullPreviewToast rendered with:",{previewLength:e.length,isConfirming:a,error:s,isLoading:c});let[u,f]=(0,l.useState)(!1);if(c)return console.log("Rendering loading state"),(0,o.jsx)("div",{className:"fixed bottom-4 right-4 z-50 font-sans w-[600px]",children:(0,o.jsx)("div",{className:"rounded-lg border p-4 shadow-lg bg-background",children:(0,o.jsxs)("div",{className:"flex items-start gap-3",children:[(0,o.jsx)(m,{className:"h-5 w-5 text-neutral-600 shrink-0 mt-0.5 animate-spin"}),(0,o.jsx)("div",{className:"flex-1 space-y-3",children:(0,o.jsxs)("div",{className:"space-y-1",children:[(0,o.jsx)("p",{className:"font-medium text-neutral-800",children:"Preparing Pull Migration"}),(0,o.jsx)("p",{className:"text-sm text-neutral-600",children:"Checking remote migrations..."})]})})]})})});if(!e?.length)return console.log("No preview data available"),(0,o.jsx)("div",{className:"fixed bottom-4 right-4 z-50 w-[600px]",children:(0,o.jsx)("div",{className:"rounded-lg border bg-destructive/15 p-4",children:(0,o.jsx)("div",{className:"flex items-center gap-2",children:(0,o.jsx)("p",{className:"text-sm font-medium text-destructive",children:"No preview data available"})})})});let p=e.filter(e=>(e.migration||e.name||"").endsWith(".sql")),g=p.length;console.log("Migration stats:",{totalMigrations:g});let x=d&&!i&&!s;return(0,o.jsx)("div",{className:"fixed bottom-4 right-4 z-50 font-sans w-[600px]",children:(0,o.jsx)("div",{className:(0,h.cn)("rounded-lg border p-4 shadow-lg",s?"bg-destructive/15":"bg-background"),children:(0,o.jsx)("div",{className:"flex items-start gap-x-1",children:(0,o.jsxs)("div",{className:"flex-1 space-y-3",children:[(0,o.jsxs)("div",{className:"space-y-1",children:[(0,o.jsxs)("div",{className:"flex items-center justify-between",children:[(0,o.jsx)("h5",{className:(0,h.cn)("font-medium",s?"text-destructive":"text-neutral-900"),children:s?"Pull Migration Error":"Pull Migration Preview"}),(0,o.jsx)("button",{onClick:r,className:"text-neutral-500 hover:text-neutral-900 p-1 rounded-md hover:bg-neutral-100",children:(0,o.jsx)(ts.A,{className:"h-4 w-4"})})]}),(0,o.jsx)("p",{className:(0,h.cn)("text-sm",s?"text-destructive/80":"text-neutral-700"),children:`${g} migration(s) will be applied`}),s&&(0,o.jsx)("p",{className:"text-sm text-destructive font-medium mt-1",children:s.message}),d&&(0,o.jsx)("p",{className:"text-sm text-green-700 font-medium mt-1",children:d})]}),(0,o.jsxs)("div",{children:[(0,o.jsx)("button",{onClick:()=>f(!u),className:"text-sm font-medium hover:underline",children:u?"Hide Details":"Show Details"}),u&&(0,o.jsx)(t1,{className:"h-[480px] mt-2 rounded border border-neutral-200",children:(0,o.jsxs)("div",{className:"w-full",children:[(0,o.jsx)("div",{className:"bg-neutral-50 border-b px-4 py-2",children:(0,o.jsx)("div",{className:"text-sm font-medium text-neutral-600",children:"Migration"})}),(0,o.jsx)("div",{children:p.map((e,t)=>(0,o.jsx)("div",{className:"px-4 py-2 border-b last:border-0",children:(0,o.jsx)("div",{className:"font-mono text-xs",children:e.migration||e.name})},t))})]})})]}),(0,o.jsx)("div",{className:"flex flex-col gap-2 pt-1",children:(0,o.jsxs)("div",{className:"flex gap-2",children:[(0,o.jsx)(tg,{onClick:t,disabled:a,className:`flex-1 ${a?"cursor-not-allowed opacity-50":""}`,children:a?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(m,{className:"h-4 w-4 animate-spin"}),"Confirming..."]}):"Confirm Pull"}),(0,o.jsxs)("div",{className:"flex-1 flex flex-col gap-2",children:[(0,o.jsx)(tg,{onClick:n,disabled:!x,variant:"outline",className:`w-full ${x?"":"cursor-not-allowed opacity-50"}`,children:i?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(m,{className:"h-4 w-4 animate-spin"}),"Syncing remote data..."]}):"Sync remote data"}),(0,o.jsx)("p",{className:"text-xs text-neutral-500 text-center",children:"75 records per table"})]})]})})]})})})})};var rt=r(5740),rr=r(9217);let rn=["top","right","bottom","left"],ra=Math.min,ro=Math.max,rl=Math.round,ri=Math.floor,rs=e=>({x:e,y:e}),rc={left:"right",right:"left",bottom:"top",top:"bottom"},rd={start:"end",end:"start"};function ru(e,t){return"function"==typeof e?e(t):e}function rf(e){return e.split("-")[0]}function rp(e){return e.split("-")[1]}function rm(e){return"x"===e?"y":"x"}function rh(e){return"y"===e?"height":"width"}function rg(e){return["top","bottom"].includes(rf(e))?"y":"x"}function rx(e){return e.replace(/start|end/g,e=>rd[e])}function rv(e){return e.replace(/left|right|bottom|top/g,e=>rc[e])}function ry(e){return"number"!=typeof e?{top:0,right:0,bottom:0,left:0,...e}:{top:e,right:e,bottom:e,left:e}}function rw(e){let{x:t,y:r,width:n,height:a}=e;return{width:n,height:a,top:r,left:t,right:t+n,bottom:r+a,x:t,y:r}}function rb(e,t,r){let n,{reference:a,floating:o}=e,l=rg(t),i=rm(rg(t)),s=rh(i),c=rf(t),d="y"===l,u=a.x+a.width/2-o.width/2,f=a.y+a.height/2-o.height/2,p=a[s]/2-o[s]/2;switch(c){case"top":n={x:u,y:a.y-o.height};break;case"bottom":n={x:u,y:a.y+a.height};break;case"right":n={x:a.x+a.width,y:f};break;case"left":n={x:a.x-o.width,y:f};break;default:n={x:a.x,y:a.y}}switch(rp(t)){case"start":n[i]-=p*(r&&d?-1:1);break;case"end":n[i]+=p*(r&&d?-1:1)}return n}let rj=async(e,t,r)=>{let{placement:n="bottom",strategy:a="absolute",middleware:o=[],platform:l}=r,i=o.filter(Boolean),s=await (null==l.isRTL?void 0:l.isRTL(t)),c=await l.getElementRects({reference:e,floating:t,strategy:a}),{x:d,y:u}=rb(c,n,s),f=n,p={},m=0;for(let r=0;r<i.length;r++){let{name:o,fn:h}=i[r],{x:g,y:x,data:v,reset:y}=await h({x:d,y:u,initialPlacement:n,placement:f,strategy:a,middlewareData:p,rects:c,platform:l,elements:{reference:e,floating:t}});d=null!=g?g:d,u=null!=x?x:u,p={...p,[o]:{...p[o],...v}},y&&m<=50&&(m++,"object"==typeof y&&(y.placement&&(f=y.placement),y.rects&&(c=!0===y.rects?await l.getElementRects({reference:e,floating:t,strategy:a}):y.rects),{x:d,y:u}=rb(c,f,s)),r=-1)}return{x:d,y:u,placement:f,strategy:a,middlewareData:p}};async function rN(e,t){var r;void 0===t&&(t={});let{x:n,y:a,platform:o,rects:l,elements:i,strategy:s}=e,{boundary:c="clippingAncestors",rootBoundary:d="viewport",elementContext:u="floating",altBoundary:f=!1,padding:p=0}=ru(t,e),m=ry(p),h=i[f?"floating"===u?"reference":"floating":u],g=rw(await o.getClippingRect({element:null==(r=await (null==o.isElement?void 0:o.isElement(h)))||r?h:h.contextElement||await (null==o.getDocumentElement?void 0:o.getDocumentElement(i.floating)),boundary:c,rootBoundary:d,strategy:s})),x="floating"===u?{x:n,y:a,width:l.floating.width,height:l.floating.height}:l.reference,v=await (null==o.getOffsetParent?void 0:o.getOffsetParent(i.floating)),y=await (null==o.isElement?void 0:o.isElement(v))&&await (null==o.getScale?void 0:o.getScale(v))||{x:1,y:1},w=rw(o.convertOffsetParentRelativeRectToViewportRelativeRect?await o.convertOffsetParentRelativeRectToViewportRelativeRect({elements:i,rect:x,offsetParent:v,strategy:s}):x);return{top:(g.top-w.top+m.top)/y.y,bottom:(w.bottom-g.bottom+m.bottom)/y.y,left:(g.left-w.left+m.left)/y.x,right:(w.right-g.right+m.right)/y.x}}function rC(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function rE(e){return rn.some(t=>e[t]>=0)}async function rS(e,t){let{placement:r,platform:n,elements:a}=e,o=await (null==n.isRTL?void 0:n.isRTL(a.floating)),l=rf(r),i=rp(r),s="y"===rg(r),c=["left","top"].includes(l)?-1:1,d=o&&s?-1:1,u=ru(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}="number"==typeof u?{mainAxis:u,crossAxis:0,alignmentAxis:null}:{mainAxis:u.mainAxis||0,crossAxis:u.crossAxis||0,alignmentAxis:u.alignmentAxis};return i&&"number"==typeof m&&(p="end"===i?-1*m:m),s?{x:p*d,y:f*c}:{x:f*c,y:p*d}}function rR(){return"undefined"!=typeof window}function rk(e){return rM(e)?(e.nodeName||"").toLowerCase():"#document"}function rT(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function rA(e){var t;return null==(t=(rM(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function rM(e){return!!rR()&&(e instanceof Node||e instanceof rT(e).Node)}function rP(e){return!!rR()&&(e instanceof Element||e instanceof rT(e).Element)}function rL(e){return!!rR()&&(e instanceof HTMLElement||e instanceof rT(e).HTMLElement)}function rO(e){return!!rR()&&"undefined"!=typeof ShadowRoot&&(e instanceof ShadowRoot||e instanceof rT(e).ShadowRoot)}function rD(e){let{overflow:t,overflowX:r,overflowY:n,display:a}=rz(e);return/auto|scroll|overlay|hidden|clip/.test(t+n+r)&&!["inline","contents"].includes(a)}function r_(e){return[":popover-open",":modal"].some(t=>{try{return e.matches(t)}catch(e){return!1}})}function rI(e){let t=rF(),r=rP(e)?rz(e):e;return["transform","translate","scale","rotate","perspective"].some(e=>!!r[e]&&"none"!==r[e])||!!r.containerType&&"normal"!==r.containerType||!t&&!!r.backdropFilter&&"none"!==r.backdropFilter||!t&&!!r.filter&&"none"!==r.filter||["transform","translate","scale","rotate","perspective","filter"].some(e=>(r.willChange||"").includes(e))||["paint","layout","strict","content"].some(e=>(r.contain||"").includes(e))}function rF(){return"undefined"!=typeof CSS&&!!CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")}function r$(e){return["html","body","#document"].includes(rk(e))}function rz(e){return rT(e).getComputedStyle(e)}function rU(e){return rP(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function rH(e){if("html"===rk(e))return e;let t=e.assignedSlot||e.parentNode||rO(e)&&e.host||rA(e);return rO(t)?t.host:t}function rV(e,t,r){var n;void 0===t&&(t=[]),void 0===r&&(r=!0);let a=function e(t){let r=rH(t);return r$(r)?t.ownerDocument?t.ownerDocument.body:t.body:rL(r)&&rD(r)?r:e(r)}(e),o=a===(null==(n=e.ownerDocument)?void 0:n.body),l=rT(a);if(o){let e=rW(l);return t.concat(l,l.visualViewport||[],rD(a)?a:[],e&&r?rV(e):[])}return t.concat(a,rV(a,[],r))}function rW(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function rK(e){let t=rz(e),r=parseFloat(t.width)||0,n=parseFloat(t.height)||0,a=rL(e),o=a?e.offsetWidth:r,l=a?e.offsetHeight:n,i=rl(r)!==o||rl(n)!==l;return i&&(r=o,n=l),{width:r,height:n,$:i}}function rB(e){return rP(e)?e:e.contextElement}function rG(e){let t=rB(e);if(!rL(t))return rs(1);let r=t.getBoundingClientRect(),{width:n,height:a,$:o}=rK(t),l=(o?rl(r.width):r.width)/n,i=(o?rl(r.height):r.height)/a;return l&&Number.isFinite(l)||(l=1),i&&Number.isFinite(i)||(i=1),{x:l,y:i}}let rq=rs(0);function rX(e){let t=rT(e);return rF()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:rq}function rY(e,t,r,n){var a;void 0===t&&(t=!1),void 0===r&&(r=!1);let o=e.getBoundingClientRect(),l=rB(e),i=rs(1);t&&(n?rP(n)&&(i=rG(n)):i=rG(e));let s=(void 0===(a=r)&&(a=!1),n&&(!a||n===rT(l))&&a)?rX(l):rs(0),c=(o.left+s.x)/i.x,d=(o.top+s.y)/i.y,u=o.width/i.x,f=o.height/i.y;if(l){let e=rT(l),t=n&&rP(n)?rT(n):n,r=e,a=rW(r);for(;a&&n&&t!==r;){let e=rG(a),t=a.getBoundingClientRect(),n=rz(a),o=t.left+(a.clientLeft+parseFloat(n.paddingLeft))*e.x,l=t.top+(a.clientTop+parseFloat(n.paddingTop))*e.y;c*=e.x,d*=e.y,u*=e.x,f*=e.y,c+=o,d+=l,a=rW(r=rT(a))}}return rw({width:u,height:f,x:c,y:d})}function rQ(e,t){let r=rU(e).scrollLeft;return t?t.left+r:rY(rA(e)).left+r}function rJ(e,t,r){void 0===r&&(r=!1);let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-(r?0:rQ(e,n)),y:n.top+t.scrollTop}}function rZ(e,t,r){let n;if("viewport"===t)n=function(e,t){let r=rT(e),n=rA(e),a=r.visualViewport,o=n.clientWidth,l=n.clientHeight,i=0,s=0;if(a){o=a.width,l=a.height;let e=rF();(!e||e&&"fixed"===t)&&(i=a.offsetLeft,s=a.offsetTop)}return{width:o,height:l,x:i,y:s}}(e,r);else if("document"===t)n=function(e){let t=rA(e),r=rU(e),n=e.ownerDocument.body,a=ro(t.scrollWidth,t.clientWidth,n.scrollWidth,n.clientWidth),o=ro(t.scrollHeight,t.clientHeight,n.scrollHeight,n.clientHeight),l=-r.scrollLeft+rQ(e),i=-r.scrollTop;return"rtl"===rz(n).direction&&(l+=ro(t.clientWidth,n.clientWidth)-a),{width:a,height:o,x:l,y:i}}(rA(e));else if(rP(t))n=function(e,t){let r=rY(e,!0,"fixed"===t),n=r.top+e.clientTop,a=r.left+e.clientLeft,o=rL(e)?rG(e):rs(1),l=e.clientWidth*o.x;return{width:l,height:e.clientHeight*o.y,x:a*o.x,y:n*o.y}}(t,r);else{let r=rX(e);n={x:t.x-r.x,y:t.y-r.y,width:t.width,height:t.height}}return rw(n)}function r0(e){return"static"===rz(e).position}function r1(e,t){if(!rL(e)||"fixed"===rz(e).position)return null;if(t)return t(e);let r=e.offsetParent;return rA(e)===r&&(r=r.ownerDocument.body),r}function r2(e,t){let r=rT(e);if(r_(e))return r;if(!rL(e)){let t=rH(e);for(;t&&!r$(t);){if(rP(t)&&!r0(t))return t;t=rH(t)}return r}let n=r1(e,t);for(;n&&["table","td","th"].includes(rk(n))&&r0(n);)n=r1(n,t);return n&&r$(n)&&r0(n)&&!rI(n)?r:n||function(e){let t=rH(e);for(;rL(t)&&!r$(t);){if(rI(t))return t;if(r_(t))break;t=rH(t)}return null}(e)||r}let r4=async function(e){let t=this.getOffsetParent||r2,r=this.getDimensions,n=await r(e.floating);return{reference:function(e,t,r){let n=rL(t),a=rA(t),o="fixed"===r,l=rY(e,!0,o,t),i={scrollLeft:0,scrollTop:0},s=rs(0);if(n||!n&&!o){if(("body"!==rk(t)||rD(a))&&(i=rU(t)),n){let e=rY(t,!0,o,t);s.x=e.x+t.clientLeft,s.y=e.y+t.clientTop}else a&&(s.x=rQ(a))}let c=!a||n||o?rs(0):rJ(a,i);return{x:l.left+i.scrollLeft-s.x-c.x,y:l.top+i.scrollTop-s.y-c.y,width:l.width,height:l.height}}(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:n.width,height:n.height}}},r5={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:r,offsetParent:n,strategy:a}=e,o="fixed"===a,l=rA(n),i=!!t&&r_(t.floating);if(n===l||i&&o)return r;let s={scrollLeft:0,scrollTop:0},c=rs(1),d=rs(0),u=rL(n);if((u||!u&&!o)&&(("body"!==rk(n)||rD(l))&&(s=rU(n)),rL(n))){let e=rY(n);c=rG(n),d.x=e.x+n.clientLeft,d.y=e.y+n.clientTop}let f=!l||u||o?rs(0):rJ(l,s,!0);return{width:r.width*c.x,height:r.height*c.y,x:r.x*c.x-s.scrollLeft*c.x+d.x+f.x,y:r.y*c.y-s.scrollTop*c.y+d.y+f.y}},getDocumentElement:rA,getClippingRect:function(e){let{element:t,boundary:r,rootBoundary:n,strategy:a}=e,o=[..."clippingAncestors"===r?r_(t)?[]:function(e,t){let r=t.get(e);if(r)return r;let n=rV(e,[],!1).filter(e=>rP(e)&&"body"!==rk(e)),a=null,o="fixed"===rz(e).position,l=o?rH(e):e;for(;rP(l)&&!r$(l);){let t=rz(l),r=rI(l);r||"fixed"!==t.position||(a=null),(o?!r&&!a:!r&&"static"===t.position&&!!a&&["absolute","fixed"].includes(a.position)||rD(l)&&!r&&function e(t,r){let n=rH(t);return!(n===r||!rP(n)||r$(n))&&("fixed"===rz(n).position||e(n,r))}(e,l))?n=n.filter(e=>e!==l):a=t,l=rH(l)}return t.set(e,n),n}(t,this._c):[].concat(r),n],l=o[0],i=o.reduce((e,r)=>{let n=rZ(t,r,a);return e.top=ro(n.top,e.top),e.right=ra(n.right,e.right),e.bottom=ra(n.bottom,e.bottom),e.left=ro(n.left,e.left),e},rZ(t,l,a));return{width:i.right-i.left,height:i.bottom-i.top,x:i.left,y:i.top}},getOffsetParent:r2,getElementRects:r4,getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){let{width:t,height:r}=rK(e);return{width:t,height:r}},getScale:rG,isElement:rP,isRTL:function(e){return"rtl"===rz(e).direction}};function r3(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}let r8=e=>({name:"arrow",options:e,async fn(t){let{x:r,y:n,placement:a,rects:o,platform:l,elements:i,middlewareData:s}=t,{element:c,padding:d=0}=ru(e,t)||{};if(null==c)return{};let u=ry(d),f={x:r,y:n},p=rm(rg(a)),m=rh(p),h=await l.getDimensions(c),g="y"===p,x=g?"clientHeight":"clientWidth",v=o.reference[m]+o.reference[p]-f[p]-o.floating[m],y=f[p]-o.reference[p],w=await (null==l.getOffsetParent?void 0:l.getOffsetParent(c)),b=w?w[x]:0;b&&await (null==l.isElement?void 0:l.isElement(w))||(b=i.floating[x]||o.floating[m]);let j=b/2-h[m]/2-1,N=ra(u[g?"top":"left"],j),C=ra(u[g?"bottom":"right"],j),E=b-h[m]-C,S=b/2-h[m]/2+(v/2-y/2),R=ro(N,ra(S,E)),k=!s.arrow&&null!=rp(a)&&S!==R&&o.reference[m]/2-(S<N?N:C)-h[m]/2<0,T=k?S<N?S-N:S-E:0;return{[p]:f[p]+T,data:{[p]:R,centerOffset:S-R-T,...k&&{alignmentOffset:T}},reset:k}}}),r9=(e,t,r)=>{let n=new Map,a={platform:r5,...r},o={...a.platform,_c:n};return rj(e,t,{...a,platform:o})};var r6="undefined"!=typeof document?l.useLayoutEffect:l.useEffect;function r7(e,t){let r,n,a;if(e===t)return!0;if(typeof e!=typeof t)return!1;if("function"==typeof e&&e.toString()===t.toString())return!0;if(e&&t&&"object"==typeof e){if(Array.isArray(e)){if((r=e.length)!==t.length)return!1;for(n=r;0!=n--;)if(!r7(e[n],t[n]))return!1;return!0}if((r=(a=Object.keys(e)).length)!==Object.keys(t).length)return!1;for(n=r;0!=n--;)if(!({}).hasOwnProperty.call(t,a[n]))return!1;for(n=r;0!=n--;){let r=a[n];if(("_owner"!==r||!e.$$typeof)&&!r7(e[r],t[r]))return!1}return!0}return e!=e&&t!=t}function ne(e){return"undefined"==typeof window?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function nt(e,t){let r=ne(e);return Math.round(t*r)/r}function nr(e){let t=l.useRef(e);return r6(()=>{t.current=e}),t}let nn=e=>({name:"arrow",options:e,fn(t){let{element:r,padding:n}="function"==typeof e?e(t):e;return r&&({}).hasOwnProperty.call(r,"current")?null!=r.current?r8({element:r.current,padding:n}).fn(t):{}:r?r8({element:r,padding:n}).fn(t):{}}}),na=(e,t)=>({...function(e){return void 0===e&&(e=0),{name:"offset",options:e,async fn(t){var r,n;let{x:a,y:o,placement:l,middlewareData:i}=t,s=await rS(t,e);return l===(null==(r=i.offset)?void 0:r.placement)&&null!=(n=i.arrow)&&n.alignmentOffset?{}:{x:a+s.x,y:o+s.y,data:{...s,placement:l}}}}}(e),options:[e,t]}),no=(e,t)=>({...function(e){return void 0===e&&(e={}),{name:"shift",options:e,async fn(t){let{x:r,y:n,placement:a}=t,{mainAxis:o=!0,crossAxis:l=!1,limiter:i={fn:e=>{let{x:t,y:r}=e;return{x:t,y:r}}},...s}=ru(e,t),c={x:r,y:n},d=await rN(t,s),u=rg(rf(a)),f=rm(u),p=c[f],m=c[u];if(o){let e="y"===f?"top":"left",t="y"===f?"bottom":"right",r=p+d[e],n=p-d[t];p=ro(r,ra(p,n))}if(l){let e="y"===u?"top":"left",t="y"===u?"bottom":"right",r=m+d[e],n=m-d[t];m=ro(r,ra(m,n))}let h=i.fn({...t,[f]:p,[u]:m});return{...h,data:{x:h.x-r,y:h.y-n,enabled:{[f]:o,[u]:l}}}}}}(e),options:[e,t]}),nl=(e,t)=>({...function(e){return void 0===e&&(e={}),{options:e,fn(t){let{x:r,y:n,placement:a,rects:o,middlewareData:l}=t,{offset:i=0,mainAxis:s=!0,crossAxis:c=!0}=ru(e,t),d={x:r,y:n},u=rg(a),f=rm(u),p=d[f],m=d[u],h=ru(i,t),g="number"==typeof h?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(s){let e="y"===f?"height":"width",t=o.reference[f]-o.floating[e]+g.mainAxis,r=o.reference[f]+o.reference[e]-g.mainAxis;p<t?p=t:p>r&&(p=r)}if(c){var x,v;let e="y"===f?"width":"height",t=["top","left"].includes(rf(a)),r=o.reference[u]-o.floating[e]+(t&&(null==(x=l.offset)?void 0:x[u])||0)+(t?0:g.crossAxis),n=o.reference[u]+o.reference[e]+(t?0:(null==(v=l.offset)?void 0:v[u])||0)-(t?g.crossAxis:0);m<r?m=r:m>n&&(m=n)}return{[f]:p,[u]:m}}}}(e),options:[e,t]}),ni=(e,t)=>({...function(e){return void 0===e&&(e={}),{name:"flip",options:e,async fn(t){var r,n,a,o,l;let{placement:i,middlewareData:s,rects:c,initialPlacement:d,platform:u,elements:f}=t,{mainAxis:p=!0,crossAxis:m=!0,fallbackPlacements:h,fallbackStrategy:g="bestFit",fallbackAxisSideDirection:x="none",flipAlignment:v=!0,...y}=ru(e,t);if(null!=(r=s.arrow)&&r.alignmentOffset)return{};let w=rf(i),b=rg(d),j=rf(d)===d,N=await (null==u.isRTL?void 0:u.isRTL(f.floating)),C=h||(j||!v?[rv(d)]:function(e){let t=rv(e);return[rx(e),t,rx(t)]}(d)),E="none"!==x;!h&&E&&C.push(...function(e,t,r,n){let a=rp(e),o=function(e,t,r){let n=["left","right"],a=["right","left"];switch(e){case"top":case"bottom":if(r)return t?a:n;return t?n:a;case"left":case"right":return t?["top","bottom"]:["bottom","top"];default:return[]}}(rf(e),"start"===r,n);return a&&(o=o.map(e=>e+"-"+a),t&&(o=o.concat(o.map(rx)))),o}(d,v,x,N));let S=[d,...C],R=await rN(t,y),k=[],T=(null==(n=s.flip)?void 0:n.overflows)||[];if(p&&k.push(R[w]),m){let e=function(e,t,r){void 0===r&&(r=!1);let n=rp(e),a=rm(rg(e)),o=rh(a),l="x"===a?n===(r?"end":"start")?"right":"left":"start"===n?"bottom":"top";return t.reference[o]>t.floating[o]&&(l=rv(l)),[l,rv(l)]}(i,c,N);k.push(R[e[0]],R[e[1]])}if(T=[...T,{placement:i,overflows:k}],!k.every(e=>e<=0)){let e=((null==(a=s.flip)?void 0:a.index)||0)+1,t=S[e];if(t)return{data:{index:e,overflows:T},reset:{placement:t}};let r=null==(o=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0])?void 0:o.placement;if(!r)switch(g){case"bestFit":{let e=null==(l=T.filter(e=>{if(E){let t=rg(e.placement);return t===b||"y"===t}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0])?void 0:l[0];e&&(r=e);break}case"initialPlacement":r=d}if(i!==r)return{reset:{placement:r}}}return{}}}}(e),options:[e,t]}),ns=(e,t)=>({...function(e){return void 0===e&&(e={}),{name:"size",options:e,async fn(t){var r,n;let a,o;let{placement:l,rects:i,platform:s,elements:c}=t,{apply:d=()=>{},...u}=ru(e,t),f=await rN(t,u),p=rf(l),m=rp(l),h="y"===rg(l),{width:g,height:x}=i.floating;"top"===p||"bottom"===p?(a=p,o=m===(await (null==s.isRTL?void 0:s.isRTL(c.floating))?"start":"end")?"left":"right"):(o=p,a="end"===m?"top":"bottom");let v=x-f.top-f.bottom,y=g-f.left-f.right,w=ra(x-f[a],v),b=ra(g-f[o],y),j=!t.middlewareData.shift,N=w,C=b;if(null!=(r=t.middlewareData.shift)&&r.enabled.x&&(C=y),null!=(n=t.middlewareData.shift)&&n.enabled.y&&(N=v),j&&!m){let e=ro(f.left,0),t=ro(f.right,0),r=ro(f.top,0),n=ro(f.bottom,0);h?C=g-2*(0!==e||0!==t?e+t:ro(f.left,f.right)):N=x-2*(0!==r||0!==n?r+n:ro(f.top,f.bottom))}await d({...t,availableWidth:C,availableHeight:N});let E=await s.getDimensions(c.floating);return g!==E.width||x!==E.height?{reset:{rects:!0}}:{}}}}(e),options:[e,t]}),nc=(e,t)=>({...function(e){return void 0===e&&(e={}),{name:"hide",options:e,async fn(t){let{rects:r}=t,{strategy:n="referenceHidden",...a}=ru(e,t);switch(n){case"referenceHidden":{let e=rC(await rN(t,{...a,elementContext:"reference"}),r.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:rE(e)}}}case"escaped":{let e=rC(await rN(t,{...a,altBoundary:!0}),r.floating);return{data:{escapedOffsets:e,escaped:rE(e)}}}default:return{}}}}}(e),options:[e,t]}),nd=(e,t)=>({...nn(e),options:[e,t]});var nu=l.forwardRef((e,t)=>{let{children:r,width:n=10,height:a=5,...l}=e;return(0,o.jsx)(M.sG.svg,{...l,ref:t,width:n,height:a,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?r:(0,o.jsx)("polygon",{points:"0,0 30,0 15,10"})})});function nf(e){let[t,r]=l.useState(void 0);return(0,E.N)(()=>{if(e){r({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{let n,a;if(!Array.isArray(t)||!t.length)return;let o=t[0];if("borderBoxSize"in o){let e=o.borderBoxSize,t=Array.isArray(e)?e[0]:e;n=t.inlineSize,a=t.blockSize}else n=e.offsetWidth,a=e.offsetHeight;r({width:n,height:a})});return t.observe(e,{box:"border-box"}),()=>t.unobserve(e)}r(void 0)},[e]),t}nu.displayName="Arrow";var np="Popper",[nm,nh]=(0,C.A)(np),[ng,nx]=nm(np),nv=e=>{let{__scopePopper:t,children:r}=e,[n,a]=l.useState(null);return(0,o.jsx)(ng,{scope:t,anchor:n,onAnchorChange:a,children:r})};nv.displayName=np;var ny="PopperAnchor",nw=l.forwardRef((e,t)=>{let{__scopePopper:r,virtualRef:n,...a}=e,i=nx(ny,r),s=l.useRef(null),c=(0,N.s)(t,s);return l.useEffect(()=>{i.onAnchorChange(n?.current||s.current)}),n?null:(0,o.jsx)(M.sG.div,{...a,ref:c})});nw.displayName=ny;var nb="PopperContent",[nj,nN]=nm(nb),nC=l.forwardRef((e,t)=>{let{__scopePopper:r,side:n="bottom",sideOffset:a=0,align:i="center",alignOffset:s=0,arrowPadding:c=0,avoidCollisions:d=!0,collisionBoundary:u=[],collisionPadding:f=0,sticky:p="partial",hideWhenDetached:m=!1,updatePositionStrategy:h="optimized",onPlaced:g,...x}=e,v=nx(nb,r),[y,w]=l.useState(null),b=(0,N.s)(t,e=>w(e)),[j,C]=l.useState(null),S=nf(j),R=S?.width??0,k=S?.height??0,T="number"==typeof f?f:{top:0,right:0,bottom:0,left:0,...f},A=Array.isArray(u)?u:[u],L=A.length>0,O={padding:T,boundary:A.filter(nk),altBoundary:L},{refs:D,floatingStyles:_,placement:I,isPositioned:F,middlewareData:$}=function(e){void 0===e&&(e={});let{placement:t="bottom",strategy:r="absolute",middleware:n=[],platform:a,elements:{reference:o,floating:i}={},transform:s=!0,whileElementsMounted:c,open:d}=e,[u,f]=l.useState({x:0,y:0,strategy:r,placement:t,middlewareData:{},isPositioned:!1}),[p,m]=l.useState(n);r7(p,n)||m(n);let[h,g]=l.useState(null),[x,v]=l.useState(null),y=l.useCallback(e=>{e!==N.current&&(N.current=e,g(e))},[]),w=l.useCallback(e=>{e!==C.current&&(C.current=e,v(e))},[]),b=o||h,j=i||x,N=l.useRef(null),C=l.useRef(null),E=l.useRef(u),S=null!=c,R=nr(c),k=nr(a),T=nr(d),A=l.useCallback(()=>{if(!N.current||!C.current)return;let e={placement:t,strategy:r,middleware:p};k.current&&(e.platform=k.current),r9(N.current,C.current,e).then(e=>{let t={...e,isPositioned:!1!==T.current};M.current&&!r7(E.current,t)&&(E.current=t,rt.flushSync(()=>{f(t)}))})},[p,t,r,k,T]);r6(()=>{!1===d&&E.current.isPositioned&&(E.current.isPositioned=!1,f(e=>({...e,isPositioned:!1})))},[d]);let M=l.useRef(!1);r6(()=>(M.current=!0,()=>{M.current=!1}),[]),r6(()=>{if(b&&(N.current=b),j&&(C.current=j),b&&j){if(R.current)return R.current(b,j,A);A()}},[b,j,A,R,S]);let P=l.useMemo(()=>({reference:N,floating:C,setReference:y,setFloating:w}),[y,w]),L=l.useMemo(()=>({reference:b,floating:j}),[b,j]),O=l.useMemo(()=>{let e={position:r,left:0,top:0};if(!L.floating)return e;let t=nt(L.floating,u.x),n=nt(L.floating,u.y);return s?{...e,transform:"translate("+t+"px, "+n+"px)",...ne(L.floating)>=1.5&&{willChange:"transform"}}:{position:r,left:t,top:n}},[r,s,L.floating,u.x,u.y]);return l.useMemo(()=>({...u,update:A,refs:P,elements:L,floatingStyles:O}),[u,A,P,L,O])}({strategy:"fixed",placement:n+("center"!==i?"-"+i:""),whileElementsMounted:(...e)=>(function(e,t,r,n){let a;void 0===n&&(n={});let{ancestorScroll:o=!0,ancestorResize:l=!0,elementResize:i="function"==typeof ResizeObserver,layoutShift:s="function"==typeof IntersectionObserver,animationFrame:c=!1}=n,d=rB(e),u=o||l?[...d?rV(d):[],...rV(t)]:[];u.forEach(e=>{o&&e.addEventListener("scroll",r,{passive:!0}),l&&e.addEventListener("resize",r)});let f=d&&s?function(e,t){let r,n=null,a=rA(e);function o(){var e;clearTimeout(r),null==(e=n)||e.disconnect(),n=null}return function l(i,s){void 0===i&&(i=!1),void 0===s&&(s=1),o();let c=e.getBoundingClientRect(),{left:d,top:u,width:f,height:p}=c;if(i||t(),!f||!p)return;let m=ri(u),h=ri(a.clientWidth-(d+f)),g={rootMargin:-m+"px "+-h+"px "+-ri(a.clientHeight-(u+p))+"px "+-ri(d)+"px",threshold:ro(0,ra(1,s))||1},x=!0;function v(t){let n=t[0].intersectionRatio;if(n!==s){if(!x)return l();n?l(!1,n):r=setTimeout(()=>{l(!1,1e-7)},1e3)}1!==n||r3(c,e.getBoundingClientRect())||l(),x=!1}try{n=new IntersectionObserver(v,{...g,root:a.ownerDocument})}catch(e){n=new IntersectionObserver(v,g)}n.observe(e)}(!0),o}(d,r):null,p=-1,m=null;i&&(m=new ResizeObserver(e=>{let[n]=e;n&&n.target===d&&m&&(m.unobserve(t),cancelAnimationFrame(p),p=requestAnimationFrame(()=>{var e;null==(e=m)||e.observe(t)})),r()}),d&&!c&&m.observe(d),m.observe(t));let h=c?rY(e):null;return c&&function t(){let n=rY(e);h&&!r3(h,n)&&r(),h=n,a=requestAnimationFrame(t)}(),r(),()=>{var e;u.forEach(e=>{o&&e.removeEventListener("scroll",r),l&&e.removeEventListener("resize",r)}),null==f||f(),null==(e=m)||e.disconnect(),m=null,c&&cancelAnimationFrame(a)}})(...e,{animationFrame:"always"===h}),elements:{reference:v.anchor},middleware:[na({mainAxis:a+k,alignmentAxis:s}),d&&no({mainAxis:!0,crossAxis:!1,limiter:"partial"===p?nl():void 0,...O}),d&&ni({...O}),ns({...O,apply:({elements:e,rects:t,availableWidth:r,availableHeight:n})=>{let{width:a,height:o}=t.reference,l=e.floating.style;l.setProperty("--radix-popper-available-width",`${r}px`),l.setProperty("--radix-popper-available-height",`${n}px`),l.setProperty("--radix-popper-anchor-width",`${a}px`),l.setProperty("--radix-popper-anchor-height",`${o}px`)}}),j&&nd({element:j,padding:c}),nT({arrowWidth:R,arrowHeight:k}),m&&nc({strategy:"referenceHidden",...O})]}),[z,U]=nA(I),H=(0,P.c)(g);(0,E.N)(()=>{F&&H?.()},[F,H]);let V=$.arrow?.x,W=$.arrow?.y,K=$.arrow?.centerOffset!==0,[B,G]=l.useState();return(0,E.N)(()=>{y&&G(window.getComputedStyle(y).zIndex)},[y]),(0,o.jsx)("div",{ref:D.setFloating,"data-radix-popper-content-wrapper":"",style:{..._,transform:F?_.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:B,"--radix-popper-transform-origin":[$.transformOrigin?.x,$.transformOrigin?.y].join(" "),...$.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:(0,o.jsx)(nj,{scope:r,placedSide:z,onArrowChange:C,arrowX:V,arrowY:W,shouldHideArrow:K,children:(0,o.jsx)(M.sG.div,{"data-side":z,"data-align":U,...x,ref:b,style:{...x.style,animation:F?void 0:"none"}})})})});nC.displayName=nb;var nE="PopperArrow",nS={top:"bottom",right:"left",bottom:"top",left:"right"},nR=l.forwardRef(function(e,t){let{__scopePopper:r,...n}=e,a=nN(nE,r),l=nS[a.placedSide];return(0,o.jsx)("span",{ref:a.onArrowChange,style:{position:"absolute",left:a.arrowX,top:a.arrowY,[l]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[a.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[a.placedSide],visibility:a.shouldHideArrow?"hidden":void 0},children:(0,o.jsx)(nu,{...n,ref:t,style:{...n.style,display:"block"}})})});function nk(e){return null!==e}nR.displayName=nE;var nT=e=>({name:"transformOrigin",options:e,fn(t){let{placement:r,rects:n,middlewareData:a}=t,o=a.arrow?.centerOffset!==0,l=o?0:e.arrowWidth,i=o?0:e.arrowHeight,[s,c]=nA(r),d={start:"0%",center:"50%",end:"100%"}[c],u=(a.arrow?.x??0)+l/2,f=(a.arrow?.y??0)+i/2,p="",m="";return"bottom"===s?(p=o?d:`${u}px`,m=`${-i}px`):"top"===s?(p=o?d:`${u}px`,m=`${n.floating.height+i}px`):"right"===s?(p=`${-i}px`,m=o?d:`${f}px`):"left"===s&&(p=`${n.floating.width+i}px`,m=o?d:`${f}px`),{data:{x:p,y:m}}}});function nA(e){let[t,r="center"]=e.split("-");return[t,r]}function nM(e){let t=l.useRef({value:e,previous:e});return l.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var nP=r(6441),nL=[" ","Enter","ArrowUp","ArrowDown"],nO=[" ","Enter"],nD="Select",[n_,nI,nF]=(0,rr.N)(nD),[n$,nz]=(0,C.A)(nD,[nF,nh]),nU=nh(),[nH,nV]=n$(nD),[nW,nK]=n$(nD),nB=e=>{let{__scopeSelect:t,children:r,open:n,defaultOpen:a,onOpenChange:i,value:s,defaultValue:c,onValueChange:d,dir:u,name:f,autoComplete:p,disabled:m,required:h,form:g}=e,x=nU(t),[v,y]=l.useState(null),[w,b]=l.useState(null),[j,N]=l.useState(!1),C=tw(u),[E=!1,S]=(0,T.i)({prop:n,defaultProp:a,onChange:i}),[R,A]=(0,T.i)({prop:s,defaultProp:c,onChange:d}),M=l.useRef(null),P=!v||g||!!v.closest("form"),[L,O]=l.useState(new Set),D=Array.from(L).map(e=>e.props.value).join(";");return(0,o.jsx)(nv,{...x,children:(0,o.jsxs)(nH,{required:h,scope:t,trigger:v,onTriggerChange:y,valueNode:w,onValueNodeChange:b,valueNodeHasChildren:j,onValueNodeHasChildrenChange:N,contentId:k(),value:R,onValueChange:A,open:E,onOpenChange:S,dir:C,triggerPointerDownPosRef:M,disabled:m,children:[(0,o.jsx)(n_.Provider,{scope:t,children:(0,o.jsx)(nW,{scope:e.__scopeSelect,onNativeOptionAdd:l.useCallback(e=>{O(t=>new Set(t).add(e))},[]),onNativeOptionRemove:l.useCallback(e=>{O(t=>{let r=new Set(t);return r.delete(e),r})},[]),children:r})}),P?(0,o.jsxs)(ab,{"aria-hidden":!0,required:h,tabIndex:-1,name:f,autoComplete:p,value:R,onChange:e=>A(e.target.value),disabled:m,form:g,children:[void 0===R?(0,o.jsx)("option",{value:""}):null,Array.from(L)]},D):null]})})};nB.displayName=nD;var nG="SelectTrigger",nq=l.forwardRef((e,t)=>{let{__scopeSelect:r,disabled:n=!1,...a}=e,i=nU(r),s=nV(nG,r),c=s.disabled||n,d=(0,N.s)(t,s.onTriggerChange),u=nI(r),f=l.useRef("touch"),[p,m,h]=aj(e=>{let t=u().filter(e=>!e.disabled),r=t.find(e=>e.value===s.value),n=aN(t,e,r);void 0!==n&&s.onValueChange(n.value)}),g=e=>{c||(s.onOpenChange(!0),h()),e&&(s.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})};return(0,o.jsx)(nw,{asChild:!0,...i,children:(0,o.jsx)(M.sG.button,{type:"button",role:"combobox","aria-controls":s.contentId,"aria-expanded":s.open,"aria-required":s.required,"aria-autocomplete":"none",dir:s.dir,"data-state":s.open?"open":"closed",disabled:c,"data-disabled":c?"":void 0,"data-placeholder":aw(s.value)?"":void 0,...a,ref:d,onClick:(0,j.m)(a.onClick,e=>{e.currentTarget.focus(),"mouse"!==f.current&&g(e)}),onPointerDown:(0,j.m)(a.onPointerDown,e=>{f.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),0===e.button&&!1===e.ctrlKey&&"mouse"===e.pointerType&&(g(e),e.preventDefault())}),onKeyDown:(0,j.m)(a.onKeyDown,e=>{let t=""!==p.current;e.ctrlKey||e.altKey||e.metaKey||1!==e.key.length||m(e.key),(!t||" "!==e.key)&&nL.includes(e.key)&&(g(),e.preventDefault())})})})});nq.displayName=nG;var nX="SelectValue",nY=l.forwardRef((e,t)=>{let{__scopeSelect:r,className:n,style:a,children:l,placeholder:i="",...s}=e,c=nV(nX,r),{onValueNodeHasChildrenChange:d}=c,u=void 0!==l,f=(0,N.s)(t,c.onValueNodeChange);return(0,E.N)(()=>{d(u)},[d,u]),(0,o.jsx)(M.sG.span,{...s,ref:f,style:{pointerEvents:"none"},children:aw(c.value)?(0,o.jsx)(o.Fragment,{children:i}):l})});nY.displayName=nX;var nQ=l.forwardRef((e,t)=>{let{__scopeSelect:r,children:n,...a}=e;return(0,o.jsx)(M.sG.span,{"aria-hidden":!0,...a,ref:t,children:n||"▼"})});nQ.displayName="SelectIcon";var nJ=e=>(0,o.jsx)(H.Z,{asChild:!0,...e});nJ.displayName="SelectPortal";var nZ="SelectContent",n0=l.forwardRef((e,t)=>{let r=nV(nZ,e.__scopeSelect),[n,a]=l.useState();return((0,E.N)(()=>{a(new DocumentFragment)},[]),r.open)?(0,o.jsx)(n4,{...e,ref:t}):n?rt.createPortal((0,o.jsx)(n1,{scope:e.__scopeSelect,children:(0,o.jsx)(n_.Slot,{scope:e.__scopeSelect,children:(0,o.jsx)("div",{children:e.children})})}),n):null});n0.displayName=nZ;var[n1,n2]=n$(nZ),n4=l.forwardRef((e,t)=>{let{__scopeSelect:r,position:n="item-aligned",onCloseAutoFocus:a,onEscapeKeyDown:i,onPointerDownOutside:s,side:c,sideOffset:d,align:u,alignOffset:f,arrowPadding:p,collisionBoundary:m,collisionPadding:h,sticky:g,hideWhenDetached:x,avoidCollisions:v,...y}=e,w=nV(nZ,r),[b,C]=l.useState(null),[E,S]=l.useState(null),R=(0,N.s)(t,e=>C(e)),[k,T]=l.useState(null),[M,P]=l.useState(null),L=nI(r),[O,D]=l.useState(!1),I=l.useRef(!1);l.useEffect(()=>{if(b)return e$(b)},[b]),K();let F=l.useCallback(e=>{let[t,...r]=L().map(e=>e.ref.current),[n]=r.slice(-1),a=document.activeElement;for(let r of e)if(r===a||(r?.scrollIntoView({block:"nearest"}),r===t&&E&&(E.scrollTop=0),r===n&&E&&(E.scrollTop=E.scrollHeight),r?.focus(),document.activeElement!==a))return},[L,E]),$=l.useCallback(()=>F([k,b]),[F,k,b]);l.useEffect(()=>{O&&$()},[O,$]);let{onOpenChange:z,triggerPointerDownPosRef:U}=w;l.useEffect(()=>{if(b){let e={x:0,y:0},t=t=>{e={x:Math.abs(Math.round(t.pageX)-(U.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(U.current?.y??0))}},r=r=>{e.x<=10&&e.y<=10?r.preventDefault():b.contains(r.target)||z(!1),document.removeEventListener("pointermove",t),U.current=null};return null!==U.current&&(document.addEventListener("pointermove",t),document.addEventListener("pointerup",r,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",t),document.removeEventListener("pointerup",r,{capture:!0})}}},[b,z,U]),l.useEffect(()=>{let e=()=>z(!1);return window.addEventListener("blur",e),window.addEventListener("resize",e),()=>{window.removeEventListener("blur",e),window.removeEventListener("resize",e)}},[z]);let[H,V]=aj(e=>{let t=L().filter(e=>!e.disabled),r=t.find(e=>e.ref.current===document.activeElement),n=aN(t,e,r);n&&setTimeout(()=>n.ref.current.focus())}),W=l.useCallback((e,t,r)=>{let n=!I.current&&!r;(void 0!==w.value&&w.value===t||n)&&(T(e),n&&(I.current=!0))},[w.value]),B=l.useCallback(()=>b?.focus(),[b]),G=l.useCallback((e,t,r)=>{let n=!I.current&&!r;(void 0!==w.value&&w.value===t||n)&&P(e)},[w.value]),q="popper"===n?n3:n5,X=q===n3?{side:c,sideOffset:d,align:u,alignOffset:f,arrowPadding:p,collisionBoundary:m,collisionPadding:h,sticky:g,hideWhenDetached:x,avoidCollisions:v}:{};return(0,o.jsx)(n1,{scope:r,content:b,viewport:E,onViewportChange:S,itemRefCallback:W,selectedItem:k,onItemLeave:B,itemTextRefCallback:G,focusSelectedItem:$,selectedItemText:M,position:n,isPositioned:O,searchRef:H,children:(0,o.jsx)(eP,{as:ez.DX,allowPinchZoom:!0,children:(0,o.jsx)(_,{asChild:!0,trapped:w.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:(0,j.m)(a,e=>{w.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:(0,o.jsx)(A.qW,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:i,onPointerDownOutside:s,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>w.onOpenChange(!1),children:(0,o.jsx)(q,{role:"listbox",id:w.contentId,"data-state":w.open?"open":"closed",dir:w.dir,onContextMenu:e=>e.preventDefault(),...y,...X,onPlaced:()=>D(!0),ref:R,style:{display:"flex",flexDirection:"column",outline:"none",...y.style},onKeyDown:(0,j.m)(y.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if("Tab"===e.key&&e.preventDefault(),t||1!==e.key.length||V(e.key),["ArrowUp","ArrowDown","Home","End"].includes(e.key)){let t=L().filter(e=>!e.disabled).map(e=>e.ref.current);if(["ArrowUp","End"].includes(e.key)&&(t=t.slice().reverse()),["ArrowUp","ArrowDown"].includes(e.key)){let r=e.target,n=t.indexOf(r);t=t.slice(n+1)}setTimeout(()=>F(t)),e.preventDefault()}})})})})})})});n4.displayName="SelectContentImpl";var n5=l.forwardRef((e,t)=>{let{__scopeSelect:r,onPlaced:n,...a}=e,i=nV(nZ,r),s=n2(nZ,r),[c,d]=l.useState(null),[u,f]=l.useState(null),p=(0,N.s)(t,e=>f(e)),m=nI(r),h=l.useRef(!1),g=l.useRef(!0),{viewport:x,selectedItem:v,selectedItemText:y,focusSelectedItem:w}=s,b=l.useCallback(()=>{if(i.trigger&&i.valueNode&&c&&u&&x&&v&&y){let e=i.trigger.getBoundingClientRect(),t=u.getBoundingClientRect(),r=i.valueNode.getBoundingClientRect(),a=y.getBoundingClientRect();if("rtl"!==i.dir){let n=a.left-t.left,o=r.left-n,l=e.left-o,i=e.width+l,s=Math.max(i,t.width),d=tb(o,[10,Math.max(10,window.innerWidth-10-s)]);c.style.minWidth=i+"px",c.style.left=d+"px"}else{let n=t.right-a.right,o=window.innerWidth-r.right-n,l=window.innerWidth-e.right-o,i=e.width+l,s=Math.max(i,t.width),d=tb(o,[10,Math.max(10,window.innerWidth-10-s)]);c.style.minWidth=i+"px",c.style.right=d+"px"}let o=m(),l=window.innerHeight-20,s=x.scrollHeight,d=window.getComputedStyle(u),f=parseInt(d.borderTopWidth,10),p=parseInt(d.paddingTop,10),g=parseInt(d.borderBottomWidth,10),w=f+p+s+parseInt(d.paddingBottom,10)+g,b=Math.min(5*v.offsetHeight,w),j=window.getComputedStyle(x),N=parseInt(j.paddingTop,10),C=parseInt(j.paddingBottom,10),E=e.top+e.height/2-10,S=v.offsetHeight/2,R=f+p+(v.offsetTop+S);if(R<=E){let e=o.length>0&&v===o[o.length-1].ref.current;c.style.bottom="0px";let t=Math.max(l-E,S+(e?C:0)+(u.clientHeight-x.offsetTop-x.offsetHeight)+g);c.style.height=R+t+"px"}else{let e=o.length>0&&v===o[0].ref.current;c.style.top="0px";let t=Math.max(E,f+x.offsetTop+(e?N:0)+S);c.style.height=t+(w-R)+"px",x.scrollTop=R-E+x.offsetTop}c.style.margin="10px 0",c.style.minHeight=b+"px",c.style.maxHeight=l+"px",n?.(),requestAnimationFrame(()=>h.current=!0)}},[m,i.trigger,i.valueNode,c,u,x,v,y,i.dir,n]);(0,E.N)(()=>b(),[b]);let[j,C]=l.useState();(0,E.N)(()=>{u&&C(window.getComputedStyle(u).zIndex)},[u]);let S=l.useCallback(e=>{e&&!0===g.current&&(b(),w?.(),g.current=!1)},[b,w]);return(0,o.jsx)(n8,{scope:r,contentWrapper:c,shouldExpandOnScrollRef:h,onScrollButtonChange:S,children:(0,o.jsx)("div",{ref:d,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:j},children:(0,o.jsx)(M.sG.div,{...a,ref:p,style:{boxSizing:"border-box",maxHeight:"100%",...a.style}})})})});n5.displayName="SelectItemAlignedPosition";var n3=l.forwardRef((e,t)=>{let{__scopeSelect:r,align:n="start",collisionPadding:a=10,...l}=e,i=nU(r);return(0,o.jsx)(nC,{...i,...l,ref:t,align:n,collisionPadding:a,style:{boxSizing:"border-box",...l.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});n3.displayName="SelectPopperPosition";var[n8,n9]=n$(nZ,{}),n6="SelectViewport",n7=l.forwardRef((e,t)=>{let{__scopeSelect:r,nonce:n,...a}=e,i=n2(n6,r),s=n9(n6,r),c=(0,N.s)(t,i.onViewportChange),d=l.useRef(0);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:n}),(0,o.jsx)(n_.Slot,{scope:r,children:(0,o.jsx)(M.sG.div,{"data-radix-select-viewport":"",role:"presentation",...a,ref:c,style:{position:"relative",flex:1,overflow:"hidden auto",...a.style},onScroll:(0,j.m)(a.onScroll,e=>{let t=e.currentTarget,{contentWrapper:r,shouldExpandOnScrollRef:n}=s;if(n?.current&&r){let e=Math.abs(d.current-t.scrollTop);if(e>0){let n=window.innerHeight-20,a=Math.max(parseFloat(r.style.minHeight),parseFloat(r.style.height));if(a<n){let o=a+e,l=Math.min(n,o),i=o-l;r.style.height=l+"px","0px"===r.style.bottom&&(t.scrollTop=i>0?i:0,r.style.justifyContent="flex-end")}}}d.current=t.scrollTop})})})]})});n7.displayName=n6;var ae="SelectGroup",[at,ar]=n$(ae);l.forwardRef((e,t)=>{let{__scopeSelect:r,...n}=e,a=k();return(0,o.jsx)(at,{scope:r,id:a,children:(0,o.jsx)(M.sG.div,{role:"group","aria-labelledby":a,...n,ref:t})})}).displayName=ae;var an="SelectLabel",aa=l.forwardRef((e,t)=>{let{__scopeSelect:r,...n}=e,a=ar(an,r);return(0,o.jsx)(M.sG.div,{id:a.id,...n,ref:t})});aa.displayName=an;var ao="SelectItem",[al,ai]=n$(ao),as=l.forwardRef((e,t)=>{let{__scopeSelect:r,value:n,disabled:a=!1,textValue:i,...s}=e,c=nV(ao,r),d=n2(ao,r),u=c.value===n,[f,p]=l.useState(i??""),[m,h]=l.useState(!1),g=(0,N.s)(t,e=>d.itemRefCallback?.(e,n,a)),x=k(),v=l.useRef("touch"),y=()=>{a||(c.onValueChange(n),c.onOpenChange(!1))};if(""===n)throw Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return(0,o.jsx)(al,{scope:r,value:n,disabled:a,textId:x,isSelected:u,onItemTextChange:l.useCallback(e=>{p(t=>t||(e?.textContent??"").trim())},[]),children:(0,o.jsx)(n_.ItemSlot,{scope:r,value:n,disabled:a,textValue:f,children:(0,o.jsx)(M.sG.div,{role:"option","aria-labelledby":x,"data-highlighted":m?"":void 0,"aria-selected":u&&m,"data-state":u?"checked":"unchecked","aria-disabled":a||void 0,"data-disabled":a?"":void 0,tabIndex:a?void 0:-1,...s,ref:g,onFocus:(0,j.m)(s.onFocus,()=>h(!0)),onBlur:(0,j.m)(s.onBlur,()=>h(!1)),onClick:(0,j.m)(s.onClick,()=>{"mouse"!==v.current&&y()}),onPointerUp:(0,j.m)(s.onPointerUp,()=>{"mouse"===v.current&&y()}),onPointerDown:(0,j.m)(s.onPointerDown,e=>{v.current=e.pointerType}),onPointerMove:(0,j.m)(s.onPointerMove,e=>{v.current=e.pointerType,a?d.onItemLeave?.():"mouse"===v.current&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:(0,j.m)(s.onPointerLeave,e=>{e.currentTarget===document.activeElement&&d.onItemLeave?.()}),onKeyDown:(0,j.m)(s.onKeyDown,e=>{d.searchRef?.current!==""&&" "===e.key||(nO.includes(e.key)&&y()," "===e.key&&e.preventDefault())})})})})});as.displayName=ao;var ac="SelectItemText",ad=l.forwardRef((e,t)=>{let{__scopeSelect:r,className:n,style:a,...i}=e,s=nV(ac,r),c=n2(ac,r),d=ai(ac,r),u=nK(ac,r),[f,p]=l.useState(null),m=(0,N.s)(t,e=>p(e),d.onItemTextChange,e=>c.itemTextRefCallback?.(e,d.value,d.disabled)),h=f?.textContent,g=l.useMemo(()=>(0,o.jsx)("option",{value:d.value,disabled:d.disabled,children:h},d.value),[d.disabled,d.value,h]),{onNativeOptionAdd:x,onNativeOptionRemove:v}=u;return(0,E.N)(()=>(x(g),()=>v(g)),[x,v,g]),(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(M.sG.span,{id:d.textId,...i,ref:m}),d.isSelected&&s.valueNode&&!s.valueNodeHasChildren?rt.createPortal(i.children,s.valueNode):null]})});ad.displayName=ac;var au="SelectItemIndicator",af=l.forwardRef((e,t)=>{let{__scopeSelect:r,...n}=e;return ai(au,r).isSelected?(0,o.jsx)(M.sG.span,{"aria-hidden":!0,...n,ref:t}):null});af.displayName=au;var ap="SelectScrollUpButton",am=l.forwardRef((e,t)=>{let r=n2(ap,e.__scopeSelect),n=n9(ap,e.__scopeSelect),[a,i]=l.useState(!1),s=(0,N.s)(t,n.onScrollButtonChange);return(0,E.N)(()=>{if(r.viewport&&r.isPositioned){let e=function(){i(t.scrollTop>0)},t=r.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}},[r.viewport,r.isPositioned]),a?(0,o.jsx)(ax,{...e,ref:s,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=r;e&&t&&(e.scrollTop=e.scrollTop-t.offsetHeight)}}):null});am.displayName=ap;var ah="SelectScrollDownButton",ag=l.forwardRef((e,t)=>{let r=n2(ah,e.__scopeSelect),n=n9(ah,e.__scopeSelect),[a,i]=l.useState(!1),s=(0,N.s)(t,n.onScrollButtonChange);return(0,E.N)(()=>{if(r.viewport&&r.isPositioned){let e=function(){let e=t.scrollHeight-t.clientHeight;i(Math.ceil(t.scrollTop)<e)},t=r.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}},[r.viewport,r.isPositioned]),a?(0,o.jsx)(ax,{...e,ref:s,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=r;e&&t&&(e.scrollTop=e.scrollTop+t.offsetHeight)}}):null});ag.displayName=ah;var ax=l.forwardRef((e,t)=>{let{__scopeSelect:r,onAutoScroll:n,...a}=e,i=n2("SelectScrollButton",r),s=l.useRef(null),c=nI(r),d=l.useCallback(()=>{null!==s.current&&(window.clearInterval(s.current),s.current=null)},[]);return l.useEffect(()=>()=>d(),[d]),(0,E.N)(()=>{let e=c().find(e=>e.ref.current===document.activeElement);e?.ref.current?.scrollIntoView({block:"nearest"})},[c]),(0,o.jsx)(M.sG.div,{"aria-hidden":!0,...a,ref:t,style:{flexShrink:0,...a.style},onPointerDown:(0,j.m)(a.onPointerDown,()=>{null===s.current&&(s.current=window.setInterval(n,50))}),onPointerMove:(0,j.m)(a.onPointerMove,()=>{i.onItemLeave?.(),null===s.current&&(s.current=window.setInterval(n,50))}),onPointerLeave:(0,j.m)(a.onPointerLeave,()=>{d()})})}),av=l.forwardRef((e,t)=>{let{__scopeSelect:r,...n}=e;return(0,o.jsx)(M.sG.div,{"aria-hidden":!0,...n,ref:t})});av.displayName="SelectSeparator";var ay="SelectArrow";function aw(e){return""===e||void 0===e}l.forwardRef((e,t)=>{let{__scopeSelect:r,...n}=e,a=nU(r),l=nV(ay,r),i=n2(ay,r);return l.open&&"popper"===i.position?(0,o.jsx)(nR,{...a,...n,ref:t}):null}).displayName=ay;var ab=l.forwardRef((e,t)=>{let{value:r,...n}=e,a=l.useRef(null),i=(0,N.s)(t,a),s=nM(r);return l.useEffect(()=>{let e=a.current,t=Object.getOwnPropertyDescriptor(window.HTMLSelectElement.prototype,"value").set;if(s!==r&&t){let n=new Event("change",{bubbles:!0});t.call(e,r),e.dispatchEvent(n)}},[s,r]),(0,o.jsx)(nP.s,{asChild:!0,children:(0,o.jsx)("select",{...n,ref:i,defaultValue:r})})});function aj(e){let t=(0,P.c)(e),r=l.useRef(""),n=l.useRef(0),a=l.useCallback(e=>{let a=r.current+e;t(a),function e(t){r.current=t,window.clearTimeout(n.current),""!==t&&(n.current=window.setTimeout(()=>e(""),1e3))}(a)},[t]),o=l.useCallback(()=>{r.current="",window.clearTimeout(n.current)},[]);return l.useEffect(()=>()=>window.clearTimeout(n.current),[]),[r,a,o]}function aN(e,t,r){var n;let a=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,o=(n=Math.max(r?e.indexOf(r):-1,0),e.map((t,r)=>e[(n+r)%e.length]));1===a.length&&(o=o.filter(e=>e!==r));let l=o.find(e=>e.textValue.toLowerCase().startsWith(a.toLowerCase()));return l!==r?l:void 0}ab.displayName="BubbleSelect";let aC=(0,c.A)("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]),aE=(0,c.A)("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]),aS=(0,c.A)("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]),aR=l.forwardRef(({className:e,children:t,...r},n)=>(0,o.jsxs)(nq,{ref:n,className:(0,h.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",e),...r,children:[t,(0,o.jsx)(nQ,{asChild:!0,children:(0,o.jsx)(aC,{className:"h-4 w-4 opacity-50"})})]}));aR.displayName=nq.displayName;let ak=l.forwardRef(({className:e,...t},r)=>(0,o.jsx)(am,{ref:r,className:(0,h.cn)("flex cursor-default items-center justify-center py-1",e),...t,children:(0,o.jsx)(aE,{className:"h-4 w-4"})}));ak.displayName=am.displayName;let aT=l.forwardRef(({className:e,...t},r)=>(0,o.jsx)(ag,{ref:r,className:(0,h.cn)("flex cursor-default items-center justify-center py-1",e),...t,children:(0,o.jsx)(aC,{className:"h-4 w-4"})}));aT.displayName=ag.displayName;let aA=l.forwardRef(({className:e,children:t,position:r="popper",...n},a)=>(0,o.jsx)(nJ,{children:(0,o.jsxs)(n0,{ref:a,className:(0,h.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"===r&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:r,...n,children:[(0,o.jsx)(ak,{}),(0,o.jsx)(n7,{className:(0,h.cn)("p-1","popper"===r&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:t}),(0,o.jsx)(aT,{})]})}));aA.displayName=n0.displayName,l.forwardRef(({className:e,...t},r)=>(0,o.jsx)(aa,{ref:r,className:(0,h.cn)("px-2 py-1.5 text-sm font-semibold",e),...t})).displayName=aa.displayName;let aM=l.forwardRef(({className:e,children:t,...r},n)=>(0,o.jsxs)(as,{ref:n,className:(0,h.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",e),...r,children:[(0,o.jsx)("span",{className:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,o.jsx)(af,{children:(0,o.jsx)(aS,{className:"h-4 w-4"})})}),(0,o.jsx)(ad,{children:t})]}));aM.displayName=as.displayName,l.forwardRef(({className:e,...t},r)=>(0,o.jsx)(av,{ref:r,className:(0,h.cn)("-mx-1 my-1 h-px bg-muted",e),...t})).displayName=av.displayName;let aP=(0,c.A)("HardDrive",[["line",{x1:"22",x2:"2",y1:"12",y2:"12",key:"1y58io"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}],["line",{x1:"6",x2:"6.01",y1:"16",y2:"16",key:"sgf278"}],["line",{x1:"10",x2:"10.01",y1:"16",y2:"16",key:"1l4acy"}]]),aL=(0,c.A)("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]),aO=(0,c.A)("Upload",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"17 8 12 3 7 8",key:"t8dd8p"}],["line",{x1:"12",x2:"12",y1:"3",y2:"15",key:"widbto"}]]);function aD({value:e,onValueChange:t,isLoading:r,disabled:n,showPreview:a}){return(0,o.jsxs)(nB,{value:e,onValueChange:t,disabled:n||r||a,children:[(0,o.jsx)(aR,{className:"w-full bg-white border-neutral-200 font-medium",children:(0,o.jsx)("div",{className:"flex items-center gap-1 text-sm",children:r||a?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(m,{className:"h-4 w-4 animate-spin text-muted-foreground"}),(0,o.jsx)("span",{className:"text-muted-foreground font-medium",children:"pull"===e?"Pulling...":"syncing"===e?"Syncing...":"production"===e?"Pushing...":"Loading..."})]}):(0,o.jsx)(nY,{placeholder:"Environment",className:"w-full"})})}),(0,o.jsxs)(aA,{children:[(0,o.jsx)(aM,{value:"local",children:(0,o.jsxs)("div",{className:"flex items-center gap-2",children:[(0,o.jsx)(aP,{className:"h-4 w-4"}),(0,o.jsx)("span",{children:"Local"})]})}),(0,o.jsx)(aM,{value:"pull",children:(0,o.jsxs)("div",{className:"flex items-center gap-2",children:[(0,o.jsx)(aL,{className:"h-4 w-4"}),(0,o.jsx)("span",{children:"Pull remote"})]})}),(0,o.jsx)(aM,{value:"production",children:(0,o.jsxs)("div",{className:"flex items-center gap-2",children:[(0,o.jsx)(aO,{className:"h-4 w-4"}),(0,o.jsx)("span",{children:"Push remote"})]})})]})]})}function a_({className:e,currentView:t,onNavigate:r,onTableSelect:n}){let{tables:a,refreshTables:i,isLoading:s,error:c}=(0,b.t)(),[h,x]=(0,l.useState)([]),[v,j]=(0,l.useState)(""),[N,C]=(0,l.useState)("local"),[E,S]=(0,l.useState)(!1),[R,k]=(0,l.useState)(null),[T,A]=(0,l.useState)(!1),{isConnecting:M,isPushing:P,showPreview:L,connectToCloudflare:O,pushToRemote:D,pullFromRemote:_,pullToRemotePreview:I,validateStoredCredentials:F,PreviewUI:$}=function(){let[e,t]=(0,l.useState)(!1),[r,n]=(0,l.useState)(!1),[a,i]=(0,l.useState)(!1),[s,c]=(0,l.useState)(!1),[d,u]=(0,l.useState)(null),[f,p]=(0,l.useState)(null),[m,h]=(0,l.useState)(null),[g,x]=(0,l.useState)(null),[v,y]=(0,l.useState)("local"),{toast:w}=(0,tv.dj)(),{refreshTables:j}=(0,b.t)(),N=()=>{c(!1),u(null),p(null),h(null),x(null)},C=async()=>{let e=localStorage.getItem("cf_credentials");if(!e)return null;try{let t=JSON.parse(e),r=await fetch("/api/cloudflare",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!r.ok)throw Error("Invalid stored credentials");let n=await r.json();return{...t,databaseId:n.database.id}}catch(e){return console.error("Failed to validate stored credentials:",e),localStorage.removeItem("cf_credentials"),null}},E=async()=>{try{h("push"),c(!0),n(!0),p(null),x(null),u({preview:[]});let e=await C();if(!e)throw Error("No valid credentials found");let t=await fetch("/api/push-remote/preview",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),r=await t.json();if(!r.success)throw Error(r.error?.message||"Failed to generate preview");u(r.details.details)}catch(e){console.error("Push to remote preview failed:",e),p(e),w({title:"Preview Failed",description:e.message||"Failed to generate preview",variant:"destructive"})}finally{n(!1)}},S=async()=>{try{n(!0),p(null),x(null);let e=await C();if(!e)throw Error("No valid credentials found");let t=await fetch("/api/push-remote/confirm",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),r=await t.json();if(!r.success)throw Error(r.error?.message||"Failed to confirm push");u(e=>({...e,preview:e.preview.map(e=>({...e,action:"will be applied"===e.action?"applied":e.action}))})),x(`Applied ${r.details.applied} migration(s), skipped ${r.details.skipped}.`),y("local")}catch(e){console.error("Push to remote confirm failed:",e),p(e),y("local")}finally{n(!1)}},R=async()=>{try{h("pull"),c(!0),n(!0),p(null),x(null),u({preview:[]});let e=await C();if(!e)throw Error("No valid credentials found");let t=await fetch("/api/pull-remote/preview",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),r=await t.json();if(!r.success)throw Error(r.error?.message||"Failed to generate pull preview");u(r.details)}catch(e){console.error("Pull to remote preview failed:",e),p(e),w({title:"Preview Failed",description:e.message||"Failed to generate pull preview",variant:"destructive"})}finally{n(!1)}},k=async()=>{try{n(!0),y("pull"),p(null),x(null);let e=await C();if(!e)throw Error("No valid credentials found");let t=await fetch("/api/pull-remote/confirm",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),r=await t.json();if(!r.success)throw Error(r.error?.message||"Failed to confirm pull");x("Pull migrations applied successfully."),u(e=>({...e,preview:e.preview.map(e=>({...e,action:"will be applied"===e.action?"applied":e.action}))})),await j()}catch(e){console.error("Pull to remote confirm failed:",e),p(e)}finally{n(!1),y("local")}},T=async()=>{try{i(!0),y("syncing"),p(null),x(null);let e=await C();if(!e)throw Error("No valid credentials found");let t=await fetch("/api/pull-data/confirm",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),r=await t.json();if(!r.success)throw Error(r.error?.message||"Failed to confirm data pull");x("Remote data synced successfully."),await j()}catch(e){console.error("Data pull confirm failed:",e),p(e)}finally{i(!1),y("local")}};async function A(e){try{t(!0);let r=await fetch("/api/cloudflare",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),n=await r.json();if(!r.ok)throw Error(n.error||"Failed to connect to Cloudflare");localStorage.setItem("cf_credentials",JSON.stringify({...e,databaseId:n.database.id})),w({title:"Connected to Cloudflare",description:`Connected to database: ${n.database.name}`,variant:"default"})}catch(e){throw w({title:"Connection Failed",description:e.message||"Failed to connect to Cloudflare",variant:"destructive"}),e}finally{t(!1)}}let M=s&&("pull"===m?(0,o.jsx)(re,{preview:d?.preview||[],onConfirm:k,onDataPull:T,onCancel:N,isConfirming:r,isDataPulling:a,error:f,success:g,isLoading:r&&!d?.preview?.length}):(0,o.jsx)(t7,{preview:d?.preview||[],onConfirm:S,onCancel:N,isConfirming:r,error:f,success:g,isLoading:r&&!d?.preview?.length}));return{isConnecting:e,isPushing:r,isDataPulling:a,showPreview:s,previewError:f,environment:v,setEnvironment:y,pushToRemote:E,pullToRemotePreview:R,confirmPull:k,confirmDataPull:T,connectToCloudflare:A,validateStoredCredentials:C,PreviewUI:M}}(),z=(0,l.useMemo)(()=>{let e=[...a?.filter(e=>e.toLowerCase().includes(v.toLowerCase()))||[]].sort((e,t)=>e.localeCompare(t)),t=e.indexOf("d1_migrations");return -1!==t&&(e.splice(t,1),e.unshift("d1_migrations")),e},[a,v]),U=async e=>{try{A(!0),k(e),n(e)}catch(e){console.error("Error selecting table:",e)}finally{A(!1)}},H=async e=>{if(console.log("Environment change triggered:",e),C(e),"production"===e)try{if(!await F()){S(!0);return}await D()}catch(e){console.error("Environment change failed:",e),C("local")}else if("pull"===e)try{if(!await F()){S(!0);return}await I()}catch(e){console.error("Pull from remote failed:",e),C("local")}else C(e)};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)("aside",{className:`${e} top-[var(--banner-height,0px)] left-0 h-[calc(100vh-var(--banner-height,0px))] bg-neutral-50 p-4`,children:[(0,o.jsxs)("div",{className:"flex flex-col h-full font-sans",children:[(0,o.jsxs)("div",{className:"flex items-center justify-between gap-2 mb-4",children:[(0,o.jsxs)("div",{className:"flex items-center gap-2",children:[(0,o.jsx)(d,{className:"h-5 w-5"}),(0,o.jsx)("span",{className:"font-mono font-bold text-sm",children:"d1-studio"})]}),(0,o.jsx)("div",{className:"text-xs text-muted-foreground",children:"v0.2.11 • Local"})]}),c&&(0,o.jsxs)(y,{variant:"destructive",className:"mb-4",children:[(0,o.jsx)(u,{className:"h-4 w-4"}),(0,o.jsx)(w,{className:"text-sm ml-2",children:c})]}),(0,o.jsxs)("div",{className:"mb-2",children:[(0,o.jsx)("div",{className:"text-xs text-muted-foreground mb-1",children:"Database name"}),(0,o.jsx)("div",{className:"font-semibold text-sm",children:h[0]?.database_name||"No database found"})]}),(0,o.jsx)("div",{className:"mb-6",children:(0,o.jsx)(aD,{className:"w-full",value:N,onValueChange:H,isLoading:P,disabled:M,showPreview:L})}),(0,o.jsx)("div",{className:"mb-3",children:(0,o.jsxs)("button",{className:`w-full flex items-center gap-x-1 border rounded-md text-sm font-medium transition-colors px-2 py-2
|
|
6
|
-
${"sql-editor"===t?"bg-neutral-900 text-white":"bg-white hover:bg-neutral-100"}`,onClick:()=>r("sql-editor"),disabled:T,children:[(0,o.jsx)(f,{className:"h-[16px] w-[16px]"}),"SQL editor"]})}),(0,o.jsxs)("div",{className:"relative mb-3 bg-white",children:[(0,o.jsx)(p,{className:"absolute left-2 top-2.5 h-4 w-4 text-neutral-500"}),(0,o.jsx)(g,{placeholder:"Search tables",value:v,onChange:e=>j(e.target.value),className:"pl-7"})]}),(0,o.jsxs)("div",{className:"flex-1 min-h-0 flex flex-col",children:[(0,o.jsxs)("div",{className:"flex items-center justify-between mb-1 flex-none",children:[(0,o.jsxs)("h3",{className:"text-sm font-medium text-muted-foreground",children:["Tables ",a?.length?`(${a.length})`:""]}),s&&(0,o.jsx)(m,{className:"h-4 w-4 animate-spin text-muted-foreground"})]}),(0,o.jsx)("div",{className:"overflow-y-auto flex-1",children:(0,o.jsxs)("div",{className:"pr-2 pb-4",children:[" ",!s&&0===z.length&&(0,o.jsx)("div",{className:"text-sm font-medium text-muted-foreground px-2 py-2",children:v?"No matching tables found":c?"Error loading tables":"No tables available"}),z.map(e=>(0,o.jsx)("button",{className:`w-full text-left text-sm font-medium rounded-md transition-colors px-2 py-2
|
|
7
|
-
${"table-view"===t&&R===e?"bg-[#F0F0F0] text-neutral-900 font-semibold":"text-neutral-700 hover:bg-[#F2F2F2]"}
|
|
8
|
-
${T&&"opacity-50 cursor-not-allowed"}`,onClick:()=>U(e),disabled:T,children:e},e))]})})]})]}),(0,o.jsx)(tx,{open:E,onClose:()=>{S(!1),C("local")},onSubmit:O})]}),$]})}function aI(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function aF(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function a$(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?aF(Object(r),!0).forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):aF(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function az(e){return function t(){for(var r=this,n=arguments.length,a=Array(n),o=0;o<n;o++)a[o]=arguments[o];return a.length>=e.length?e.apply(this,a):function(){for(var e=arguments.length,n=Array(e),o=0;o<e;o++)n[o]=arguments[o];return t.apply(r,[].concat(a,n))}}}function aU(e){return({}).toString.call(e).includes("Object")}function aH(e){return"function"==typeof e}var aV=az(function(e,t){throw Error(e[t]||e.default)})({initialIsRequired:"initial state is required",initialType:"initial state should be an object",initialContent:"initial state shouldn't be an empty object",handlerType:"handler should be an object or a function",handlersType:"all handlers should be a functions",selectorType:"selector should be a function",changeType:"provided value of changes should be an object",changeField:'it seams you want to change a field in the state which is not specified in the "initial" state',default:"an unknown error accured in `state-local` package"}),aW={changes:function(e,t){return aU(t)||aV("changeType"),Object.keys(t).some(function(t){return!Object.prototype.hasOwnProperty.call(e,t)})&&aV("changeField"),t},selector:function(e){aH(e)||aV("selectorType")},handler:function(e){aH(e)||aU(e)||aV("handlerType"),aU(e)&&Object.values(e).some(function(e){return!aH(e)})&&aV("handlersType")},initial:function(e){e||aV("initialIsRequired"),aU(e)||aV("initialType"),Object.keys(e).length||aV("initialContent")}};function aK(e,t){return aH(t)?t(e.current):t}function aB(e,t){return e.current=a$(a$({},e.current),t),t}function aG(e,t,r){return aH(t)?t(e.current):Object.keys(r).forEach(function(r){var n;return null===(n=t[r])||void 0===n?void 0:n.call(t,e.current[r])}),r}(function(e){return function t(){for(var r=this,n=arguments.length,a=Array(n),o=0;o<n;o++)a[o]=arguments[o];return a.length>=e.length?e.apply(this,a):function(){for(var e=arguments.length,n=Array(e),o=0;o<e;o++)n[o]=arguments[o];return t.apply(r,[].concat(a,n))}}})(function(e,t){throw Error(e[t]||e.default)})({configIsRequired:"the configuration object is required",configType:"the configuration object should be an object",default:"an unknown error accured in `@monaco-editor/loader` package",deprecation:"Deprecation warning!\n You are using deprecated way of configuration.\n\n Instead of using\n monaco.config({ urls: { monacoBase: '...' } })\n use\n monaco.config({ paths: { vs: '...' } })\n\n For more please check the link https://github.com/suren-atoyan/monaco-loader#config\n "});let aq=function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return function(e){return t.reduceRight(function(e,t){return t(e)},e)}};var aX={type:"cancelation",msg:"operation is manually canceled"};let aY=function(e){var t=!1,r=new Promise(function(r,n){e.then(function(e){return t?n(aX):r(e)}),e.catch(n)});return r.cancel=function(){return t=!0},r};var aQ=function(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var r=[],n=!0,a=!1,o=void 0;try{for(var l,i=e[Symbol.iterator]();!(n=(l=i.next()).done)&&(r.push(l.value),2!==r.length);n=!0);}catch(e){a=!0,o=e}finally{try{n||null==i.return||i.return()}finally{if(a)throw o}}return r}}(e,2)||function(e,t){if(e){if("string"==typeof e)return aI(e,2);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return aI(e,t)}}(e,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(({create:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};aW.initial(e),aW.handler(t);var r={current:e},n=az(aG)(r,t),a=az(aB)(r),o=az(aW.changes)(e),l=az(aK)(r);return[function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(e){return e};return aW.selector(e),e(r.current)},function(e){(function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return function(e){return t.reduceRight(function(e,t){return t(e)},e)}})(n,a,o,l)(e)}]}}).create({config:{paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.43.0/min/vs"}},isInitialized:!1,resolve:null,reject:null,monaco:null}),0),aJ=aQ[0],aZ=aQ[1];function a0(e){return document.body.appendChild(e)}function a1(e){var t,r,n=aJ(function(e){return{config:e.config,reject:e.reject}}),a=(t="".concat(n.config.paths.vs,"/loader.js"),r=document.createElement("script"),t&&(r.src=t),r);return a.onload=function(){return e()},a.onerror=n.reject,a}function a2(){var e=aJ(function(e){return{config:e.config,resolve:e.resolve,reject:e.reject}}),t=window.require;t.config(e.config),t(["vs/editor/editor.main"],function(t){a4(t),e.resolve(t)},function(t){e.reject(t)})}function a4(e){aJ().monaco||aZ({monaco:e})}var a5=new Promise(function(e,t){return aZ({resolve:e,reject:t})});let a3={init:function(){var e=aJ(function(e){return{monaco:e.monaco,isInitialized:e.isInitialized,resolve:e.resolve}});if(!e.isInitialized){if(aZ({isInitialized:!0}),e.monaco)return e.resolve(e.monaco),aY(a5);if(window.monaco&&window.monaco.editor)return a4(window.monaco),e.resolve(window.monaco),aY(a5);aq(a0,a1)(a2)}return aY(a5)}};var a8={wrapper:{display:"flex",position:"relative",textAlign:"initial"},fullWidth:{width:"100%"},hide:{display:"none"}},a9={container:{display:"flex",height:"100%",width:"100%",justifyContent:"center",alignItems:"center"}},a6=function({children:e}){return l.createElement("div",{style:a9.container},e)},a7=(0,l.memo)(function({width:e,height:t,isEditorReady:r,loading:n,_ref:a,className:o,wrapperProps:i}){return l.createElement("section",{style:{...a8.wrapper,width:e,height:t},...i},!r&&l.createElement(a6,null,n),l.createElement("div",{ref:a,style:{...a8.fullWidth,...!r&&a8.hide},className:o}))}),oe=function(e){(0,l.useEffect)(e,[])},ot=function(e,t,r=!0){let n=(0,l.useRef)(!0);(0,l.useEffect)(n.current||!r?()=>{n.current=!1}:e,t)};function or(){}function on(e,t,r,n){return e.editor.getModel(oa(e,n))||e.editor.createModel(t,r,n?oa(e,n):void 0)}function oa(e,t){return e.Uri.parse(t)}(0,l.memo)(function({original:e,modified:t,language:r,originalLanguage:n,modifiedLanguage:a,originalModelPath:o,modifiedModelPath:i,keepCurrentOriginalModel:s=!1,keepCurrentModifiedModel:c=!1,theme:d="light",loading:u="Loading...",options:f={},height:p="100%",width:m="100%",className:h,wrapperProps:g={},beforeMount:x=or,onMount:v=or}){let[y,w]=(0,l.useState)(!1),[b,j]=(0,l.useState)(!0),N=(0,l.useRef)(null),C=(0,l.useRef)(null),E=(0,l.useRef)(null),S=(0,l.useRef)(v),R=(0,l.useRef)(x),k=(0,l.useRef)(!1);oe(()=>{let e=a3.init();return e.then(e=>(C.current=e)&&j(!1)).catch(e=>e?.type!=="cancelation"&&console.error("Monaco initialization: error:",e)),()=>{let t;return N.current?(t=N.current?.getModel(),void(s||t?.original?.dispose(),c||t?.modified?.dispose(),N.current?.dispose())):e.cancel()}}),ot(()=>{if(N.current&&C.current){let t=N.current.getOriginalEditor(),a=on(C.current,e||"",n||r||"text",o||"");a!==t.getModel()&&t.setModel(a)}},[o],y),ot(()=>{if(N.current&&C.current){let e=N.current.getModifiedEditor(),n=on(C.current,t||"",a||r||"text",i||"");n!==e.getModel()&&e.setModel(n)}},[i],y),ot(()=>{let e=N.current.getModifiedEditor();e.getOption(C.current.editor.EditorOption.readOnly)?e.setValue(t||""):t!==e.getValue()&&(e.executeEdits("",[{range:e.getModel().getFullModelRange(),text:t||"",forceMoveMarkers:!0}]),e.pushUndoStop())},[t],y),ot(()=>{N.current?.getModel()?.original.setValue(e||"")},[e],y),ot(()=>{let{original:e,modified:t}=N.current.getModel();C.current.editor.setModelLanguage(e,n||r||"text"),C.current.editor.setModelLanguage(t,a||r||"text")},[r,n,a],y),ot(()=>{C.current?.editor.setTheme(d)},[d],y),ot(()=>{N.current?.updateOptions(f)},[f],y);let T=(0,l.useCallback)(()=>{if(!C.current)return;R.current(C.current);let l=on(C.current,e||"",n||r||"text",o||""),s=on(C.current,t||"",a||r||"text",i||"");N.current?.setModel({original:l,modified:s})},[r,t,a,e,n,o,i]),A=(0,l.useCallback)(()=>{!k.current&&E.current&&(N.current=C.current.editor.createDiffEditor(E.current,{automaticLayout:!0,...f}),T(),C.current?.editor.setTheme(d),w(!0),k.current=!0)},[f,d,T]);return(0,l.useEffect)(()=>{y&&S.current(N.current,C.current)},[y]),(0,l.useEffect)(()=>{b||y||A()},[b,y,A]),l.createElement(a7,{width:m,height:p,isEditorReady:y,loading:u,_ref:E,className:h,wrapperProps:g})});var oo=function(e){let t=(0,l.useRef)();return(0,l.useEffect)(()=>{t.current=e},[e]),t.current},ol=new Map,oi=(0,l.memo)(function({defaultValue:e,defaultLanguage:t,defaultPath:r,value:n,language:a,path:o,theme:i="light",line:s,loading:c="Loading...",options:d={},overrideServices:u={},saveViewState:f=!0,keepCurrentModel:p=!1,width:m="100%",height:h="100%",className:g,wrapperProps:x={},beforeMount:v=or,onMount:y=or,onChange:w,onValidate:b=or}){let[j,N]=(0,l.useState)(!1),[C,E]=(0,l.useState)(!0),S=(0,l.useRef)(null),R=(0,l.useRef)(null),k=(0,l.useRef)(null),T=(0,l.useRef)(y),A=(0,l.useRef)(v),M=(0,l.useRef)(),P=(0,l.useRef)(n),L=oo(o),O=(0,l.useRef)(!1),D=(0,l.useRef)(!1);oe(()=>{let e=a3.init();return e.then(e=>(S.current=e)&&E(!1)).catch(e=>e?.type!=="cancelation"&&console.error("Monaco initialization: error:",e)),()=>R.current?void(M.current?.dispose(),p?f&&ol.set(o,R.current.saveViewState()):R.current.getModel()?.dispose(),R.current.dispose()):e.cancel()}),ot(()=>{let l=on(S.current,e||n||"",t||a||"",o||r||"");l!==R.current?.getModel()&&(f&&ol.set(L,R.current?.saveViewState()),R.current?.setModel(l),f&&R.current?.restoreViewState(ol.get(o)))},[o],j),ot(()=>{R.current?.updateOptions(d)},[d],j),ot(()=>{R.current&&void 0!==n&&(R.current.getOption(S.current.editor.EditorOption.readOnly)?R.current.setValue(n):n===R.current.getValue()||(D.current=!0,R.current.executeEdits("",[{range:R.current.getModel().getFullModelRange(),text:n,forceMoveMarkers:!0}]),R.current.pushUndoStop(),D.current=!1))},[n],j),ot(()=>{let e=R.current?.getModel();e&&a&&S.current?.editor.setModelLanguage(e,a)},[a],j),ot(()=>{void 0!==s&&R.current?.revealLine(s)},[s],j),ot(()=>{S.current?.editor.setTheme(i)},[i],j);let _=(0,l.useCallback)(()=>{if(!(!k.current||!S.current)&&!O.current){A.current(S.current);let l=o||r,c=on(S.current,n||e||"",t||a||"",l||"");R.current=S.current?.editor.create(k.current,{model:c,automaticLayout:!0,...d},u),f&&R.current.restoreViewState(ol.get(l)),S.current.editor.setTheme(i),void 0!==s&&R.current.revealLine(s),N(!0),O.current=!0}},[e,t,r,n,a,o,d,u,f,i,s]);return(0,l.useEffect)(()=>{j&&T.current(R.current,S.current)},[j]),(0,l.useEffect)(()=>{C||j||_()},[C,j,_]),P.current=n,(0,l.useEffect)(()=>{j&&w&&(M.current?.dispose(),M.current=R.current?.onDidChangeModelContent(e=>{D.current||w(R.current.getValue(),e)}))},[j,w]),(0,l.useEffect)(()=>{if(j){let e=S.current.editor.onDidChangeMarkers(e=>{let t=R.current.getModel()?.uri;if(t&&e.find(e=>e.path===t.path)){let e=S.current.editor.getModelMarkers({resource:t});b?.(e)}});return()=>{e?.dispose()}}return()=>{}},[j,b]),l.createElement(a7,{width:m,height:h,isEditorReady:j,loading:c,_ref:k,className:g,wrapperProps:x})});let os=(0,c.A)("GripHorizontal",[["circle",{cx:"12",cy:"9",r:"1",key:"124mty"}],["circle",{cx:"19",cy:"9",r:"1",key:"1ruzo2"}],["circle",{cx:"5",cy:"9",r:"1",key:"1a8b28"}],["circle",{cx:"12",cy:"15",r:"1",key:"1e56xg"}],["circle",{cx:"19",cy:"15",r:"1",key:"1a92ep"}],["circle",{cx:"5",cy:"15",r:"1",key:"5r1jwy"}]]),oc=(0,c.A)("Command",[["path",{d:"M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3",key:"11bfej"}]]),od=(0,c.A)("CornerDownLeft",[["polyline",{points:"9 10 4 15 9 20",key:"r3jprv"}],["path",{d:"M20 4v7a4 4 0 0 1-4 4H4",key:"6o5b7l"}]]);function ou({results:e}){return e&&Array.isArray(e)?(0,o.jsxs)("div",{className:"text-xs font-medium text-neutral-900 flex items-center gap-2 mb-2",children:[e.length," ",1===e.length?"row":"rows"," returned"]}):null}function of({error:e}){console.debug("SQLErrorDisplay - Received error prop:",e);let t=e&&"string"==typeof e.message?e:{message:"An unknown error occurred",details:{}};return(0,o.jsxs)("div",{children:[(0,o.jsx)("div",{className:"text-neutral-700 text-sm",children:t.message}),t.details?.stderr&&(0,o.jsx)("pre",{className:"mt-2 p-2 text-xs text-red-500 whitespace-pre-wrap",children:t.details.stderr})]})}function op({query:e,results:t}){if(!t?.length)return(0,o.jsx)("div",{className:"text-sm text-neutral-500",children:"No results to display."});let r=e?.trim().toLowerCase().startsWith("pragma table_info"),n=r?["Column Name","Type","Not Null","Default Value","Primary Key"]:Object.keys(t[0]),a=r?t.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"})):t;return(0,o.jsxs)("div",{className:"flex flex-col h-full",children:[(0,o.jsx)(ou,{results:a}),(0,o.jsx)("div",{className:"flex-1 overflow-auto border rounded-lg",children:(0,o.jsx)("div",{className:"min-w-full",children:(0,o.jsxs)(t4,{children:[(0,o.jsx)(t5,{children:(0,o.jsx)(t8,{className:"bg-muted/50",children:n.map(e=>(0,o.jsx)(t9,{className:"font-mono text-xs font-medium text-muted-foreground",children:e},e))})}),(0,o.jsx)(t3,{children:a.map((e,t)=>(0,o.jsx)(t8,{className:"hover:bg-muted/50",children:n.map(r=>{let n=e[r],a=null===n?"(null)":String(n);return(0,o.jsx)(t6,{className:"font-monospace text-xs whitespace-nowrap",children:a},`${t}-${r}`)})},t))})]})})})]})}var om="rovingFocusGroup.onEntryFocus",oh={bubbles:!1,cancelable:!0},og="RovingFocusGroup",[ox,ov,oy]=(0,rr.N)(og),[ow,ob]=(0,C.A)(og,[oy]),[oj,oN]=ow(og),oC=l.forwardRef((e,t)=>(0,o.jsx)(ox.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,o.jsx)(ox.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,o.jsx)(oE,{...e,ref:t})})}));oC.displayName=og;var oE=l.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:r,orientation:n,loop:a=!1,dir:i,currentTabStopId:s,defaultCurrentTabStopId:c,onCurrentTabStopIdChange:d,onEntryFocus:u,preventScrollOnEntryFocus:f=!1,...p}=e,m=l.useRef(null),h=(0,N.s)(t,m),g=tw(i),[x=null,v]=(0,T.i)({prop:s,defaultProp:c,onChange:d}),[y,w]=l.useState(!1),b=(0,P.c)(u),C=ov(r),E=l.useRef(!1),[S,R]=l.useState(0);return l.useEffect(()=>{let e=m.current;if(e)return e.addEventListener(om,b),()=>e.removeEventListener(om,b)},[b]),(0,o.jsx)(oj,{scope:r,orientation:n,dir:g,loop:a,currentTabStopId:x,onItemFocus:l.useCallback(e=>v(e),[v]),onItemShiftTab:l.useCallback(()=>w(!0),[]),onFocusableItemAdd:l.useCallback(()=>R(e=>e+1),[]),onFocusableItemRemove:l.useCallback(()=>R(e=>e-1),[]),children:(0,o.jsx)(M.sG.div,{tabIndex:y||0===S?-1:0,"data-orientation":n,...p,ref:h,style:{outline:"none",...e.style},onMouseDown:(0,j.m)(e.onMouseDown,()=>{E.current=!0}),onFocus:(0,j.m)(e.onFocus,e=>{let t=!E.current;if(e.target===e.currentTarget&&t&&!y){let t=new CustomEvent(om,oh);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=C().filter(e=>e.focusable);oT([e.find(e=>e.active),e.find(e=>e.id===x),...e].filter(Boolean).map(e=>e.ref.current),f)}}E.current=!1}),onBlur:(0,j.m)(e.onBlur,()=>w(!1))})})}),oS="RovingFocusGroupItem",oR=l.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:r,focusable:n=!0,active:a=!1,tabStopId:i,...s}=e,c=k(),d=i||c,u=oN(oS,r),f=u.currentTabStopId===d,p=ov(r),{onFocusableItemAdd:m,onFocusableItemRemove:h}=u;return l.useEffect(()=>{if(n)return m(),()=>h()},[n,m,h]),(0,o.jsx)(ox.ItemSlot,{scope:r,id:d,focusable:n,active:a,children:(0,o.jsx)(M.sG.span,{tabIndex:f?0:-1,"data-orientation":u.orientation,...s,ref:t,onMouseDown:(0,j.m)(e.onMouseDown,e=>{n?u.onItemFocus(d):e.preventDefault()}),onFocus:(0,j.m)(e.onFocus,()=>u.onItemFocus(d)),onKeyDown:(0,j.m)(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey){u.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=function(e,t,r){var n;let a=(n=e.key,"rtl"!==r?n:"ArrowLeft"===n?"ArrowRight":"ArrowRight"===n?"ArrowLeft":n);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(a))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(a)))return ok[a]}(e,u.orientation,u.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let r=p().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)r.reverse();else if("prev"===t||"next"===t){"prev"===t&&r.reverse();let n=r.indexOf(e.currentTarget);r=u.loop?function(e,t){return e.map((r,n)=>e[(t+n)%e.length])}(r,n+1):r.slice(n+1)}setTimeout(()=>oT(r))}})})})});oR.displayName=oS;var ok={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function oT(e,t=!1){let r=document.activeElement;for(let n of e)if(n===r||(n.focus({preventScroll:t}),document.activeElement!==r))return}var oA=["Enter"," "],oM=["ArrowUp","PageDown","End"],oP=["ArrowDown","PageUp","Home",...oM],oL={ltr:[...oA,"ArrowRight"],rtl:[...oA,"ArrowLeft"]},oO={ltr:["ArrowLeft"],rtl:["ArrowRight"]},oD="Menu",[o_,oI,oF]=(0,rr.N)(oD),[o$,oz]=(0,C.A)(oD,[oF,nh,ob]),oU=nh(),oH=ob(),[oV,oW]=o$(oD),[oK,oB]=o$(oD),oG=e=>{let{__scopeMenu:t,open:r=!1,children:n,dir:a,onOpenChange:i,modal:s=!0}=e,c=oU(t),[d,u]=l.useState(null),f=l.useRef(!1),p=(0,P.c)(i),m=tw(a);return l.useEffect(()=>{let e=()=>{f.current=!0,document.addEventListener("pointerdown",t,{capture:!0,once:!0}),document.addEventListener("pointermove",t,{capture:!0,once:!0})},t=()=>f.current=!1;return document.addEventListener("keydown",e,{capture:!0}),()=>{document.removeEventListener("keydown",e,{capture:!0}),document.removeEventListener("pointerdown",t,{capture:!0}),document.removeEventListener("pointermove",t,{capture:!0})}},[]),(0,o.jsx)(nv,{...c,children:(0,o.jsx)(oV,{scope:t,open:r,onOpenChange:p,content:d,onContentChange:u,children:(0,o.jsx)(oK,{scope:t,onClose:l.useCallback(()=>p(!1),[p]),isUsingKeyboardRef:f,dir:m,modal:s,children:n})})})};oG.displayName=oD;var oq=l.forwardRef((e,t)=>{let{__scopeMenu:r,...n}=e,a=oU(r);return(0,o.jsx)(nw,{...a,...n,ref:t})});oq.displayName="MenuAnchor";var oX="MenuPortal",[oY,oQ]=o$(oX,{forceMount:void 0}),oJ=e=>{let{__scopeMenu:t,forceMount:r,children:n,container:a}=e,l=oW(oX,t);return(0,o.jsx)(oY,{scope:t,forceMount:r,children:(0,o.jsx)(V.C,{present:r||l.open,children:(0,o.jsx)(H.Z,{asChild:!0,container:a,children:n})})})};oJ.displayName=oX;var oZ="MenuContent",[o0,o1]=o$(oZ),o2=l.forwardRef((e,t)=>{let r=oQ(oZ,e.__scopeMenu),{forceMount:n=r.forceMount,...a}=e,l=oW(oZ,e.__scopeMenu),i=oB(oZ,e.__scopeMenu);return(0,o.jsx)(o_.Provider,{scope:e.__scopeMenu,children:(0,o.jsx)(V.C,{present:n||l.open,children:(0,o.jsx)(o_.Slot,{scope:e.__scopeMenu,children:i.modal?(0,o.jsx)(o4,{...a,ref:t}):(0,o.jsx)(o5,{...a,ref:t})})})})}),o4=l.forwardRef((e,t)=>{let r=oW(oZ,e.__scopeMenu),n=l.useRef(null),a=(0,N.s)(t,n);return l.useEffect(()=>{let e=n.current;if(e)return e$(e)},[]),(0,o.jsx)(o3,{...e,ref:a,trapFocus:r.open,disableOutsidePointerEvents:r.open,disableOutsideScroll:!0,onFocusOutside:(0,j.m)(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>r.onOpenChange(!1)})}),o5=l.forwardRef((e,t)=>{let r=oW(oZ,e.__scopeMenu);return(0,o.jsx)(o3,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>r.onOpenChange(!1)})}),o3=l.forwardRef((e,t)=>{let{__scopeMenu:r,loop:n=!1,trapFocus:a,onOpenAutoFocus:i,onCloseAutoFocus:s,disableOutsidePointerEvents:c,onEntryFocus:d,onEscapeKeyDown:u,onPointerDownOutside:f,onFocusOutside:p,onInteractOutside:m,onDismiss:h,disableOutsideScroll:g,...x}=e,v=oW(oZ,r),y=oB(oZ,r),w=oU(r),b=oH(r),C=oI(r),[E,S]=l.useState(null),R=l.useRef(null),k=(0,N.s)(t,R,v.onContentChange),T=l.useRef(0),M=l.useRef(""),P=l.useRef(0),L=l.useRef(null),O=l.useRef("right"),D=l.useRef(0),I=g?eP:l.Fragment,F=g?{as:ez.DX,allowPinchZoom:!0}:void 0,$=e=>{let t=M.current+e,r=C().filter(e=>!e.disabled),n=document.activeElement,a=r.find(e=>e.ref.current===n)?.textValue,o=function(e,t,r){var n;let a=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,o=(n=Math.max(r?e.indexOf(r):-1,0),e.map((t,r)=>e[(n+r)%e.length]));1===a.length&&(o=o.filter(e=>e!==r));let l=o.find(e=>e.toLowerCase().startsWith(a.toLowerCase()));return l!==r?l:void 0}(r.map(e=>e.textValue),t,a),l=r.find(e=>e.textValue===o)?.ref.current;(function e(t){M.current=t,window.clearTimeout(T.current),""!==t&&(T.current=window.setTimeout(()=>e(""),1e3))})(t),l&&setTimeout(()=>l.focus())};l.useEffect(()=>()=>window.clearTimeout(T.current),[]),K();let z=l.useCallback(e=>O.current===L.current?.side&&function(e,t){return!!t&&function(e,t){let{x:r,y:n}=e,a=!1;for(let e=0,o=t.length-1;e<t.length;o=e++){let l=t[e].x,i=t[e].y,s=t[o].x,c=t[o].y;i>n!=c>n&&r<(s-l)*(n-i)/(c-i)+l&&(a=!a)}return a}({x:e.clientX,y:e.clientY},t)}(e,L.current?.area),[]);return(0,o.jsx)(o0,{scope:r,searchRef:M,onItemEnter:l.useCallback(e=>{z(e)&&e.preventDefault()},[z]),onItemLeave:l.useCallback(e=>{z(e)||(R.current?.focus(),S(null))},[z]),onTriggerLeave:l.useCallback(e=>{z(e)&&e.preventDefault()},[z]),pointerGraceTimerRef:P,onPointerGraceIntentChange:l.useCallback(e=>{L.current=e},[]),children:(0,o.jsx)(I,{...F,children:(0,o.jsx)(_,{asChild:!0,trapped:a,onMountAutoFocus:(0,j.m)(i,e=>{e.preventDefault(),R.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:s,children:(0,o.jsx)(A.qW,{asChild:!0,disableOutsidePointerEvents:c,onEscapeKeyDown:u,onPointerDownOutside:f,onFocusOutside:p,onInteractOutside:m,onDismiss:h,children:(0,o.jsx)(oC,{asChild:!0,...b,dir:y.dir,orientation:"vertical",loop:n,currentTabStopId:E,onCurrentTabStopIdChange:S,onEntryFocus:(0,j.m)(d,e=>{y.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,o.jsx)(nC,{role:"menu","aria-orientation":"vertical","data-state":lb(v.open),"data-radix-menu-content":"",dir:y.dir,...w,...x,ref:k,style:{outline:"none",...x.style},onKeyDown:(0,j.m)(x.onKeyDown,e=>{let t=e.target.closest("[data-radix-menu-content]")===e.currentTarget,r=e.ctrlKey||e.altKey||e.metaKey,n=1===e.key.length;t&&("Tab"===e.key&&e.preventDefault(),!r&&n&&$(e.key));let a=R.current;if(e.target!==a||!oP.includes(e.key))return;e.preventDefault();let o=C().filter(e=>!e.disabled).map(e=>e.ref.current);oM.includes(e.key)&&o.reverse(),function(e){let t=document.activeElement;for(let r of e)if(r===t||(r.focus(),document.activeElement!==t))return}(o)}),onBlur:(0,j.m)(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(T.current),M.current="")}),onPointerMove:(0,j.m)(e.onPointerMove,lC(e=>{let t=e.target,r=D.current!==e.clientX;if(e.currentTarget.contains(t)&&r){let t=e.clientX>D.current?"right":"left";O.current=t,D.current=e.clientX}}))})})})})})})});o2.displayName=oZ;var o8=l.forwardRef((e,t)=>{let{__scopeMenu:r,...n}=e;return(0,o.jsx)(M.sG.div,{role:"group",...n,ref:t})});o8.displayName="MenuGroup";var o9=l.forwardRef((e,t)=>{let{__scopeMenu:r,...n}=e;return(0,o.jsx)(M.sG.div,{...n,ref:t})});o9.displayName="MenuLabel";var o6="MenuItem",o7="menu.itemSelect",le=l.forwardRef((e,t)=>{let{disabled:r=!1,onSelect:n,...a}=e,i=l.useRef(null),s=oB(o6,e.__scopeMenu),c=o1(o6,e.__scopeMenu),d=(0,N.s)(t,i),u=l.useRef(!1);return(0,o.jsx)(lt,{...a,ref:d,disabled:r,onClick:(0,j.m)(e.onClick,()=>{let e=i.current;if(!r&&e){let t=new CustomEvent(o7,{bubbles:!0,cancelable:!0});e.addEventListener(o7,e=>n?.(e),{once:!0}),(0,M.hO)(e,t),t.defaultPrevented?u.current=!1:s.onClose()}}),onPointerDown:t=>{e.onPointerDown?.(t),u.current=!0},onPointerUp:(0,j.m)(e.onPointerUp,e=>{u.current||e.currentTarget?.click()}),onKeyDown:(0,j.m)(e.onKeyDown,e=>{let t=""!==c.searchRef.current;!r&&(!t||" "!==e.key)&&oA.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})});le.displayName=o6;var lt=l.forwardRef((e,t)=>{let{__scopeMenu:r,disabled:n=!1,textValue:a,...i}=e,s=o1(o6,r),c=oH(r),d=l.useRef(null),u=(0,N.s)(t,d),[f,p]=l.useState(!1),[m,h]=l.useState("");return l.useEffect(()=>{let e=d.current;e&&h((e.textContent??"").trim())},[i.children]),(0,o.jsx)(o_.ItemSlot,{scope:r,disabled:n,textValue:a??m,children:(0,o.jsx)(oR,{asChild:!0,...c,focusable:!n,children:(0,o.jsx)(M.sG.div,{role:"menuitem","data-highlighted":f?"":void 0,"aria-disabled":n||void 0,"data-disabled":n?"":void 0,...i,ref:u,onPointerMove:(0,j.m)(e.onPointerMove,lC(e=>{n?s.onItemLeave(e):(s.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:(0,j.m)(e.onPointerLeave,lC(e=>s.onItemLeave(e))),onFocus:(0,j.m)(e.onFocus,()=>p(!0)),onBlur:(0,j.m)(e.onBlur,()=>p(!1))})})})}),lr=l.forwardRef((e,t)=>{let{checked:r=!1,onCheckedChange:n,...a}=e;return(0,o.jsx)(ld,{scope:e.__scopeMenu,checked:r,children:(0,o.jsx)(le,{role:"menuitemcheckbox","aria-checked":lj(r)?"mixed":r,...a,ref:t,"data-state":lN(r),onSelect:(0,j.m)(a.onSelect,()=>n?.(!!lj(r)||!r),{checkForDefaultPrevented:!1})})})});lr.displayName="MenuCheckboxItem";var ln="MenuRadioGroup",[la,lo]=o$(ln,{value:void 0,onValueChange:()=>{}}),ll=l.forwardRef((e,t)=>{let{value:r,onValueChange:n,...a}=e,l=(0,P.c)(n);return(0,o.jsx)(la,{scope:e.__scopeMenu,value:r,onValueChange:l,children:(0,o.jsx)(o8,{...a,ref:t})})});ll.displayName=ln;var li="MenuRadioItem",ls=l.forwardRef((e,t)=>{let{value:r,...n}=e,a=lo(li,e.__scopeMenu),l=r===a.value;return(0,o.jsx)(ld,{scope:e.__scopeMenu,checked:l,children:(0,o.jsx)(le,{role:"menuitemradio","aria-checked":l,...n,ref:t,"data-state":lN(l),onSelect:(0,j.m)(n.onSelect,()=>a.onValueChange?.(r),{checkForDefaultPrevented:!1})})})});ls.displayName=li;var lc="MenuItemIndicator",[ld,lu]=o$(lc,{checked:!1}),lf=l.forwardRef((e,t)=>{let{__scopeMenu:r,forceMount:n,...a}=e,l=lu(lc,r);return(0,o.jsx)(V.C,{present:n||lj(l.checked)||!0===l.checked,children:(0,o.jsx)(M.sG.span,{...a,ref:t,"data-state":lN(l.checked)})})});lf.displayName=lc;var lp=l.forwardRef((e,t)=>{let{__scopeMenu:r,...n}=e;return(0,o.jsx)(M.sG.div,{role:"separator","aria-orientation":"horizontal",...n,ref:t})});lp.displayName="MenuSeparator";var lm=l.forwardRef((e,t)=>{let{__scopeMenu:r,...n}=e,a=oU(r);return(0,o.jsx)(nR,{...a,...n,ref:t})});lm.displayName="MenuArrow";var[lh,lg]=o$("MenuSub"),lx="MenuSubTrigger",lv=l.forwardRef((e,t)=>{let r=oW(lx,e.__scopeMenu),n=oB(lx,e.__scopeMenu),a=lg(lx,e.__scopeMenu),i=o1(lx,e.__scopeMenu),s=l.useRef(null),{pointerGraceTimerRef:c,onPointerGraceIntentChange:d}=i,u={__scopeMenu:e.__scopeMenu},f=l.useCallback(()=>{s.current&&window.clearTimeout(s.current),s.current=null},[]);return l.useEffect(()=>f,[f]),l.useEffect(()=>{let e=c.current;return()=>{window.clearTimeout(e),d(null)}},[c,d]),(0,o.jsx)(oq,{asChild:!0,...u,children:(0,o.jsx)(lt,{id:a.triggerId,"aria-haspopup":"menu","aria-expanded":r.open,"aria-controls":a.contentId,"data-state":lb(r.open),...e,ref:(0,N.t)(t,a.onTriggerChange),onClick:t=>{e.onClick?.(t),e.disabled||t.defaultPrevented||(t.currentTarget.focus(),r.open||r.onOpenChange(!0))},onPointerMove:(0,j.m)(e.onPointerMove,lC(t=>{i.onItemEnter(t),t.defaultPrevented||e.disabled||r.open||s.current||(i.onPointerGraceIntentChange(null),s.current=window.setTimeout(()=>{r.onOpenChange(!0),f()},100))})),onPointerLeave:(0,j.m)(e.onPointerLeave,lC(e=>{f();let t=r.content?.getBoundingClientRect();if(t){let n=r.content?.dataset.side,a="right"===n,o=t[a?"left":"right"],l=t[a?"right":"left"];i.onPointerGraceIntentChange({area:[{x:e.clientX+(a?-5:5),y:e.clientY},{x:o,y:t.top},{x:l,y:t.top},{x:l,y:t.bottom},{x:o,y:t.bottom}],side:n}),window.clearTimeout(c.current),c.current=window.setTimeout(()=>i.onPointerGraceIntentChange(null),300)}else{if(i.onTriggerLeave(e),e.defaultPrevented)return;i.onPointerGraceIntentChange(null)}})),onKeyDown:(0,j.m)(e.onKeyDown,t=>{let a=""!==i.searchRef.current;!e.disabled&&(!a||" "!==t.key)&&oL[n.dir].includes(t.key)&&(r.onOpenChange(!0),r.content?.focus(),t.preventDefault())})})})});lv.displayName=lx;var ly="MenuSubContent",lw=l.forwardRef((e,t)=>{let r=oQ(oZ,e.__scopeMenu),{forceMount:n=r.forceMount,...a}=e,i=oW(oZ,e.__scopeMenu),s=oB(oZ,e.__scopeMenu),c=lg(ly,e.__scopeMenu),d=l.useRef(null),u=(0,N.s)(t,d);return(0,o.jsx)(o_.Provider,{scope:e.__scopeMenu,children:(0,o.jsx)(V.C,{present:n||i.open,children:(0,o.jsx)(o_.Slot,{scope:e.__scopeMenu,children:(0,o.jsx)(o3,{id:c.contentId,"aria-labelledby":c.triggerId,...a,ref:u,align:"start",side:"rtl"===s.dir?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{s.isUsingKeyboardRef.current&&d.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:(0,j.m)(e.onFocusOutside,e=>{e.target!==c.trigger&&i.onOpenChange(!1)}),onEscapeKeyDown:(0,j.m)(e.onEscapeKeyDown,e=>{s.onClose(),e.preventDefault()}),onKeyDown:(0,j.m)(e.onKeyDown,e=>{let t=e.currentTarget.contains(e.target),r=oO[s.dir].includes(e.key);t&&r&&(i.onOpenChange(!1),c.trigger?.focus(),e.preventDefault())})})})})})});function lb(e){return e?"open":"closed"}function lj(e){return"indeterminate"===e}function lN(e){return lj(e)?"indeterminate":e?"checked":"unchecked"}function lC(e){return t=>"mouse"===t.pointerType?e(t):void 0}lw.displayName=ly;var lE="DropdownMenu",[lS,lR]=(0,C.A)(lE,[oz]),lk=oz(),[lT,lA]=lS(lE),lM=e=>{let{__scopeDropdownMenu:t,children:r,dir:n,open:a,defaultOpen:i,onOpenChange:s,modal:c=!0}=e,d=lk(t),u=l.useRef(null),[f=!1,p]=(0,T.i)({prop:a,defaultProp:i,onChange:s});return(0,o.jsx)(lT,{scope:t,triggerId:k(),triggerRef:u,contentId:k(),open:f,onOpenChange:p,onOpenToggle:l.useCallback(()=>p(e=>!e),[p]),modal:c,children:(0,o.jsx)(oG,{...d,open:f,onOpenChange:p,dir:n,modal:c,children:r})})};lM.displayName=lE;var lP="DropdownMenuTrigger",lL=l.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,disabled:n=!1,...a}=e,l=lA(lP,r),i=lk(r);return(0,o.jsx)(oq,{asChild:!0,...i,children:(0,o.jsx)(M.sG.button,{type:"button",id:l.triggerId,"aria-haspopup":"menu","aria-expanded":l.open,"aria-controls":l.open?l.contentId:void 0,"data-state":l.open?"open":"closed","data-disabled":n?"":void 0,disabled:n,...a,ref:(0,N.t)(t,l.triggerRef),onPointerDown:(0,j.m)(e.onPointerDown,e=>{n||0!==e.button||!1!==e.ctrlKey||(l.onOpenToggle(),l.open||e.preventDefault())}),onKeyDown:(0,j.m)(e.onKeyDown,e=>{!n&&(["Enter"," "].includes(e.key)&&l.onOpenToggle(),"ArrowDown"===e.key&&l.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(e.key)&&e.preventDefault())})})})});lL.displayName=lP;var lO=e=>{let{__scopeDropdownMenu:t,...r}=e,n=lk(t);return(0,o.jsx)(oJ,{...n,...r})};lO.displayName="DropdownMenuPortal";var lD="DropdownMenuContent",l_=l.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,a=lA(lD,r),i=lk(r),s=l.useRef(!1);return(0,o.jsx)(o2,{id:a.contentId,"aria-labelledby":a.triggerId,...i,...n,ref:t,onCloseAutoFocus:(0,j.m)(e.onCloseAutoFocus,e=>{s.current||a.triggerRef.current?.focus(),s.current=!1,e.preventDefault()}),onInteractOutside:(0,j.m)(e.onInteractOutside,e=>{let t=e.detail.originalEvent,r=0===t.button&&!0===t.ctrlKey,n=2===t.button||r;(!a.modal||n)&&(s.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});l_.displayName=lD,l.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,a=lk(r);return(0,o.jsx)(o8,{...a,...n,ref:t})}).displayName="DropdownMenuGroup";var lI=l.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,a=lk(r);return(0,o.jsx)(o9,{...a,...n,ref:t})});lI.displayName="DropdownMenuLabel";var lF=l.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,a=lk(r);return(0,o.jsx)(le,{...a,...n,ref:t})});lF.displayName="DropdownMenuItem";var l$=l.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,a=lk(r);return(0,o.jsx)(lr,{...a,...n,ref:t})});l$.displayName="DropdownMenuCheckboxItem",l.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,a=lk(r);return(0,o.jsx)(ll,{...a,...n,ref:t})}).displayName="DropdownMenuRadioGroup";var lz=l.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,a=lk(r);return(0,o.jsx)(ls,{...a,...n,ref:t})});lz.displayName="DropdownMenuRadioItem";var lU=l.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,a=lk(r);return(0,o.jsx)(lf,{...a,...n,ref:t})});lU.displayName="DropdownMenuItemIndicator";var lH=l.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,a=lk(r);return(0,o.jsx)(lp,{...a,...n,ref:t})});lH.displayName="DropdownMenuSeparator",l.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,a=lk(r);return(0,o.jsx)(lm,{...a,...n,ref:t})}).displayName="DropdownMenuArrow";var lV=l.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,a=lk(r);return(0,o.jsx)(lv,{...a,...n,ref:t})});lV.displayName="DropdownMenuSubTrigger";var lW=l.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,a=lk(r);return(0,o.jsx)(lw,{...a,...n,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});lW.displayName="DropdownMenuSubContent";let lK=(0,c.A)("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]),lB=(0,c.A)("Circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);l.forwardRef(({className:e,inset:t,children:r,...n},a)=>(0,o.jsxs)(lV,{ref:a,className:(0,h.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",t&&"pl-8",e),...n,children:[r,(0,o.jsx)(lK,{className:"ml-auto"})]})).displayName=lV.displayName,l.forwardRef(({className:e,...t},r)=>(0,o.jsx)(lW,{ref:r,className:(0,h.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",e),...t})).displayName=lW.displayName;let lG=l.forwardRef(({className:e,sideOffset:t=4,...r},n)=>(0,o.jsx)(lO,{children:(0,o.jsx)(l_,{ref:n,sideOffset:t,className:(0,h.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",e),...r})}));lG.displayName=l_.displayName;let lq=l.forwardRef(({className:e,inset:t,...r},n)=>(0,o.jsx)(lF,{ref:n,className:(0,h.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",t&&"pl-8",e),...r}));lq.displayName=lF.displayName,l.forwardRef(({className:e,children:t,checked:r,...n},a)=>(0,o.jsxs)(l$,{ref:a,className:(0,h.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",e),checked:r,...n,children:[(0,o.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,o.jsx)(lU,{children:(0,o.jsx)(aS,{className:"h-4 w-4"})})}),t]})).displayName=l$.displayName,l.forwardRef(({className:e,children:t,...r},n)=>(0,o.jsxs)(lz,{ref:n,className:(0,h.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",e),...r,children:[(0,o.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,o.jsx)(lU,{children:(0,o.jsx)(lB,{className:"h-2 w-2 fill-current"})})}),t]})).displayName=lz.displayName,l.forwardRef(({className:e,inset:t,...r},n)=>(0,o.jsx)(lI,{ref:n,className:(0,h.cn)("px-2 py-1.5 text-sm font-semibold",t&&"pl-8",e),...r})).displayName=lI.displayName,l.forwardRef(({className:e,...t},r)=>(0,o.jsx)(lH,{ref:r,className:(0,h.cn)("-mx-1 my-1 h-px bg-muted",e),...t})).displayName=lH.displayName;let lX={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 lY(e){if(console.debug("parseSQLError - Received error:",e),!e)return console.debug("parseSQLError - error is null or undefined."),{type:lX.UNKNOWN_ERROR,message:"An unknown error occurred",details:{}};let t="",r=null,n=null,a=e.cmd||e.details&&e.details.command;if(a){let e=a.match(/--command="(.+?)"/s);e&&console.debug("parseSQLError - Extracted original query:",n=e[1].replace(/\\n/g,"\n"))}let o=e.stderr||e.details&&e.details.stderr;if(o){let l=o.replace(/\x1B\[[0-9;]*[a-zA-Z]/g,"");if(console.debug("parseSQLError - Cleaned stderr:",l),l.includes("env: node: No such file or directory"))return console.debug("parseSQLError - Detected 'env: node: No such file or directory' error."),{type:lX.EXECUTION_ERROR,message:e.message||"Execution error: env: node: No such file or directory",details:{originalQuery:n,stderr:l}};let i=l.match(/near "([^"]+)": syntax error at offset (\d+)/);if(i){let[e,a,o]=i;return r=parseInt(o,10),t=`Syntax error near "${a}" at position ${r}`,console.debug("parseSQLError - Syntax error detected:",{near:a,offset:r}),{type:lX.SYNTAX_ERROR,message:t,details:{originalQuery:n,errorLocation:{offset:r,near:a},stderr:l}}}if(l.includes("UNIQUE constraint failed")){let[e,t,r]=l.match(/UNIQUE constraint failed: (\w+)\.(\w+)/)||[];return console.debug("parseSQLError - UNIQUE constraint error detected:",{table:t,column:r}),{type:lX.UNIQUE_CONSTRAINT_ERROR,message:`Unique constraint violation updating ${t}.${r}`,details:{originalQuery:n,stderr:l}}}if(l.includes("NOT NULL constraint failed")){let[e,t,r]=l.match(/NOT NULL constraint failed: (\w+)\.(\w+)/)||[];return console.debug("parseSQLError - NOT NULL constraint error detected:",{table:t,column:r}),{type:lX.NOT_NULL_CONSTRAINT_ERROR,message:`NOT NULL constraint violation updating ${t}.${r}`,details:{originalQuery:n,stderr:l}}}if(l.includes("CHECK constraint failed")){let[e,t]=l.match(/CHECK constraint failed: (\w+)/)||[];return console.debug("parseSQLError - CHECK constraint error detected:",{constraintName:t}),{type:lX.CHECK_CONSTRAINT_ERROR,message:`Check constraint violation updating ${t}`,details:{originalQuery:n,stderr:l}}}if(l.includes("FOREIGN KEY constraint failed")){console.debug("parseSQLError - FOREIGN KEY constraint error detected.");let e=/--command="([^"]+)"/.exec(a||""),t=e?e[1]:null,r={};if(t){let e=/UPDATE\s+(\w+)\s+SET\s+(\w+)\s*=/.exec(t);e&&(r={table:e[1],column:e[2]})}let n=r.table?`Foreign key constraint violation updating ${r.table}.${r.column}`:"Foreign key constraint violation";return{type:lX.FOREIGN_KEY_ERROR,message:n,details:{...r,originalQuery:t,stderr:l}}}if(l.includes("no such table")){let[e,t]=l.match(/no such table: (\w+)/)||[];return console.debug("parseSQLError - Table not found error detected:",{table:t}),{type:lX.TABLE_NOT_FOUND,message:`Table not found: ${t}`,details:{originalQuery:n,stderr:l}}}if(l.includes("already exists")){let[e,t]=l.match(/table (\w+) already exists/)||[];return console.debug("parseSQLError - Table exists error detected:",{table:t}),{type:lX.TABLE_EXISTS,message:`Table already exists: ${t}`,details:{originalQuery:n,stderr:l}}}return console.debug("parseSQLError - No specific error match found. Using fallback for execution error."),{type:lX.EXECUTION_ERROR,message:e.message||"Failed to execute SQL command",details:{originalQuery:n,stderr:l}}}return console.debug("parseSQLError - No stderr available; using default error handling."),{type:lX.UNKNOWN_ERROR,message:e.message||"An unknown error occurred",details:{}}}let lQ={"Show Tables":`SELECT name
|
|
1
|
+
(()=>{var e={};e.id=974,e.ids=[974],e.modules={846:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},9121:e=>{"use strict";e.exports=require("next/dist/server/app-render/action-async-storage.external.js")},3295:e=>{"use strict";e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},9294:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},3033:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},3873:e=>{"use strict";e.exports=require("path")},7185:(e,t,r)=>{"use strict";r.r(t),r.d(t,{GlobalError:()=>o.a,__next_app__:()=>u,pages:()=>d,routeModule:()=>f,tree:()=>c});var n=r(260),a=r(8203),l=r(5155),o=r.n(l),s=r(7292),i={};for(let e in s)0>["default","tree","pages","GlobalError","__next_app__","routeModule"].indexOf(e)&&(i[e]=()=>s[e]);r.d(t,i);let c=["",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(r.bind(r,8868)),"/Volumes/ProjectSpace/_wip/d1studio/src/app/page.jsx"]}]},{layout:[()=>Promise.resolve().then(r.bind(r,8180)),"/Volumes/ProjectSpace/_wip/d1studio/src/app/layout.jsx"],"not-found":[()=>Promise.resolve().then(r.t.bind(r,9937,23)),"next/dist/client/components/not-found-error"],forbidden:[()=>Promise.resolve().then(r.t.bind(r,9116,23)),"next/dist/client/components/forbidden-error"],unauthorized:[()=>Promise.resolve().then(r.t.bind(r,1485,23)),"next/dist/client/components/unauthorized-error"]}],d=["/Volumes/ProjectSpace/_wip/d1studio/src/app/page.jsx"],u={require:r,loadChunk:()=>Promise.resolve()},f=new n.AppPageRouteModule({definition:{kind:a.RouteKind.APP_PAGE,page:"/page",pathname:"/",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:c}})},7048:(e,t,r)=>{Promise.resolve().then(r.bind(r,8868))},6776:(e,t,r)=>{Promise.resolve().then(r.bind(r,7098))},6256:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return a}});let n=r(5488)._(r(568));function a(e,t){var r;let a={};"function"==typeof e&&(a.loader=e);let l={...a,...t};return(0,n.default)({...l,modules:null==(r=l.loadableGenerated)?void 0:r.modules})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3400:(e,t)=>{"use strict";function r(e){return e.split("/").map(e=>encodeURIComponent(e)).join("/")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"encodeURIPath",{enumerable:!0,get:function(){return r}})},5771:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"BailoutToCSR",{enumerable:!0,get:function(){return a}});let n=r(4639);function a(e){let{reason:t,children:r}=e;throw new n.BailoutToCSRError(t)}},568:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return c}});let n=r(5512),a=r(8009),l=r(5771),o=r(6054);function s(e){return{default:e&&"default"in e?e.default:e}}let i={loader:()=>Promise.resolve(s(()=>null)),loading:null,ssr:!0},c=function(e){let t={...i,...e},r=(0,a.lazy)(()=>t.loader().then(s)),c=t.loading;function d(e){let s=c?(0,n.jsx)(c,{isLoading:!0,pastDelay:!0,error:null}):null,i=!t.ssr||!!t.loading,d=i?a.Suspense:a.Fragment,u=t.ssr?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.PreloadChunks,{moduleIds:t.modules}),(0,n.jsx)(r,{...e})]}):(0,n.jsx)(l.BailoutToCSR,{reason:"next/dynamic",children:(0,n.jsx)(r,{...e})});return(0,n.jsx)(d,{...i?{fallback:s}:{},children:u})}return d.displayName="LoadableComponent",d}},6054:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"PreloadChunks",{enumerable:!0,get:function(){return s}});let n=r(5512),a=r(5740),l=r(9294),o=r(3400);function s(e){let{moduleIds:t}=e,r=l.workAsyncStorage.getStore();if(void 0===r)return null;let s=[];if(r.reactLoadableManifest&&t){let e=r.reactLoadableManifest;for(let r of t){if(!e[r])continue;let t=e[r].files;s.push(...t)}}return 0===s.length?null:(0,n.jsx)(n.Fragment,{children:s.map(e=>{let t=r.assetPrefix+"/_next/"+(0,o.encodeURIPath)(e);return e.endsWith(".css")?(0,n.jsx)("link",{precedence:"dynamic",href:t,rel:"stylesheet",as:"style"},e):((0,a.preload)(t,{as:"script",fetchPriority:"low"}),null)})})}},7098:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>iO});var n,a,l=r(5512),o=r(8009),s=r.t(o,2),i=r.n(o);let c={rE:"0.3.0"};var d=r(4825);let u=(0,d.A)("Lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]),f=(0,d.A)("Table2",[["path",{d:"M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18",key:"gugj83"}]]),m=(0,d.A)("CircleAlert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]),p=(0,d.A)("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]),h=(0,d.A)("ArrowDownToLine",[["path",{d:"M12 17V3",key:"1cwfxf"}],["path",{d:"m6 11 6 6 6-6",key:"12ii2o"}],["path",{d:"M19 21H5",key:"150jfl"}]]),x=(0,d.A)("ArrowUpFromLine",[["path",{d:"m18 9-6-6-6 6",key:"kcunyi"}],["path",{d:"M12 3v14",key:"7cf3v8"}],["path",{d:"M5 21h14",key:"11awu3"}]]),g=(0,d.A)("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]),v=(0,d.A)("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]),y=(0,d.A)("SquareTerminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]]),b=(0,d.A)("Database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]),w=(0,d.A)("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);var j=r(3603);let N=o.forwardRef(({className:e,type:t,...r},n)=>(0,l.jsx)("input",{type:t,className:(0,j.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",e),ref:n,...r}));N.displayName="Input";var C=r(1643);let k=(0,C.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"}}),S=o.forwardRef(({className:e,variant:t,...r},n)=>(0,l.jsx)("div",{ref:n,role:"alert",className:(0,j.cn)(k({variant:t}),e),...r}));S.displayName="Alert",o.forwardRef(({className:e,...t},r)=>(0,l.jsx)("h5",{ref:r,className:(0,j.cn)("mb-1 font-medium leading-none tracking-tight",e),...t})).displayName="AlertTitle";let R=o.forwardRef(({className:e,...t},r)=>(0,l.jsx)("div",{ref:r,className:(0,j.cn)("text-sm [&_p]:leading-relaxed",e),...t}));R.displayName="AlertDescription";var E=r(1412),T=r(9952),M=r(6004),A=r(643),D=r(830),_=r(9217),O=o.createContext(void 0);function P(e){let t=o.useContext(O);return e||t||"ltr"}var L=r(1675),I=0;function $(){o.useEffect(()=>{let e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??F()),document.body.insertAdjacentElement("beforeend",e[1]??F()),I++,()=>{1===I&&document.querySelectorAll("[data-radix-focus-guard]").forEach(e=>e.remove()),I--}},[])}function F(){let e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var U=r(2828),z="focusScope.autoFocusOnMount",B="focusScope.autoFocusOnUnmount",H={bubbles:!1,cancelable:!0},W=o.forwardRef((e,t)=>{let{loop:r=!1,trapped:n=!1,onMountAutoFocus:a,onUnmountAutoFocus:s,...i}=e,[c,d]=o.useState(null),u=(0,U.c)(a),f=(0,U.c)(s),m=o.useRef(null),p=(0,T.s)(t,e=>d(e)),h=o.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;o.useEffect(()=>{if(n){let e=function(e){if(h.paused||!c)return;let t=e.target;c.contains(t)?m.current=t:q(m.current,{select:!0})},t=function(e){if(h.paused||!c)return;let t=e.relatedTarget;null===t||c.contains(t)||q(m.current,{select:!0})};document.addEventListener("focusin",e),document.addEventListener("focusout",t);let r=new MutationObserver(function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&q(c)});return c&&r.observe(c,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",e),document.removeEventListener("focusout",t),r.disconnect()}}},[n,c,h.paused]),o.useEffect(()=>{if(c){G.add(h);let e=document.activeElement;if(!c.contains(e)){let t=new CustomEvent(z,H);c.addEventListener(z,u),c.dispatchEvent(t),t.defaultPrevented||(function(e,{select:t=!1}={}){let r=document.activeElement;for(let n of e)if(q(n,{select:t}),document.activeElement!==r)return}(V(c).filter(e=>"A"!==e.tagName),{select:!0}),document.activeElement===e&&q(c))}return()=>{c.removeEventListener(z,u),setTimeout(()=>{let t=new CustomEvent(B,H);c.addEventListener(B,f),c.dispatchEvent(t),t.defaultPrevented||q(e??document.body,{select:!0}),c.removeEventListener(B,f),G.remove(h)},0)}}},[c,u,f,h]);let x=o.useCallback(e=>{if(!r&&!n||h.paused)return;let t="Tab"===e.key&&!e.altKey&&!e.ctrlKey&&!e.metaKey,a=document.activeElement;if(t&&a){let t=e.currentTarget,[n,l]=function(e){let t=V(e);return[K(t,e),K(t.reverse(),e)]}(t);n&&l?e.shiftKey||a!==l?e.shiftKey&&a===n&&(e.preventDefault(),r&&q(l,{select:!0})):(e.preventDefault(),r&&q(n,{select:!0})):a===t&&e.preventDefault()}},[r,n,h.paused]);return(0,l.jsx)(D.sG.div,{tabIndex:-1,...i,ref:p,onKeyDown:x})});function V(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}function K(e,t){for(let r of e)if(!function(e,{upTo:t}){if("hidden"===getComputedStyle(e).visibility)return!0;for(;e&&(void 0===t||e!==t);){if("none"===getComputedStyle(e).display)return!0;e=e.parentElement}return!1}(r,{upTo:t}))return r}function q(e,{select:t=!1}={}){if(e&&e.focus){var r;let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&(r=e)instanceof HTMLInputElement&&"select"in r&&t&&e.select()}}W.displayName="FocusScope";var G=function(){let e=[];return{add(t){let r=e[0];t!==r&&r?.pause(),(e=Y(e,t)).unshift(t)},remove(t){e=Y(e,t),e[0]?.resume()}}}();function Y(e,t){let r=[...e],n=r.indexOf(t);return -1!==n&&r.splice(n,1),r}var X=r(9397),Q=s["useId".toString()]||(()=>void 0),J=0;function Z(e){let[t,r]=o.useState(Q());return(0,X.N)(()=>{e||r(e=>e??String(J++))},[e]),e||(t?`radix-${t}`:"")}let ee=["top","right","bottom","left"],et=Math.min,er=Math.max,en=Math.round,ea=Math.floor,el=e=>({x:e,y:e}),eo={left:"right",right:"left",bottom:"top",top:"bottom"},es={start:"end",end:"start"};function ei(e,t){return"function"==typeof e?e(t):e}function ec(e){return e.split("-")[0]}function ed(e){return e.split("-")[1]}function eu(e){return"x"===e?"y":"x"}function ef(e){return"y"===e?"height":"width"}function em(e){return["top","bottom"].includes(ec(e))?"y":"x"}function ep(e){return e.replace(/start|end/g,e=>es[e])}function eh(e){return e.replace(/left|right|bottom|top/g,e=>eo[e])}function ex(e){return"number"!=typeof e?{top:0,right:0,bottom:0,left:0,...e}:{top:e,right:e,bottom:e,left:e}}function eg(e){let{x:t,y:r,width:n,height:a}=e;return{width:n,height:a,top:r,left:t,right:t+n,bottom:r+a,x:t,y:r}}function ev(e,t,r){let n,{reference:a,floating:l}=e,o=em(t),s=eu(em(t)),i=ef(s),c=ec(t),d="y"===o,u=a.x+a.width/2-l.width/2,f=a.y+a.height/2-l.height/2,m=a[i]/2-l[i]/2;switch(c){case"top":n={x:u,y:a.y-l.height};break;case"bottom":n={x:u,y:a.y+a.height};break;case"right":n={x:a.x+a.width,y:f};break;case"left":n={x:a.x-l.width,y:f};break;default:n={x:a.x,y:a.y}}switch(ed(t)){case"start":n[s]-=m*(r&&d?-1:1);break;case"end":n[s]+=m*(r&&d?-1:1)}return n}let ey=async(e,t,r)=>{let{placement:n="bottom",strategy:a="absolute",middleware:l=[],platform:o}=r,s=l.filter(Boolean),i=await (null==o.isRTL?void 0:o.isRTL(t)),c=await o.getElementRects({reference:e,floating:t,strategy:a}),{x:d,y:u}=ev(c,n,i),f=n,m={},p=0;for(let r=0;r<s.length;r++){let{name:l,fn:h}=s[r],{x:x,y:g,data:v,reset:y}=await h({x:d,y:u,initialPlacement:n,placement:f,strategy:a,middlewareData:m,rects:c,platform:o,elements:{reference:e,floating:t}});d=null!=x?x:d,u=null!=g?g:u,m={...m,[l]:{...m[l],...v}},y&&p<=50&&(p++,"object"==typeof y&&(y.placement&&(f=y.placement),y.rects&&(c=!0===y.rects?await o.getElementRects({reference:e,floating:t,strategy:a}):y.rects),{x:d,y:u}=ev(c,f,i)),r=-1)}return{x:d,y:u,placement:f,strategy:a,middlewareData:m}};async function eb(e,t){var r;void 0===t&&(t={});let{x:n,y:a,platform:l,rects:o,elements:s,strategy:i}=e,{boundary:c="clippingAncestors",rootBoundary:d="viewport",elementContext:u="floating",altBoundary:f=!1,padding:m=0}=ei(t,e),p=ex(m),h=s[f?"floating"===u?"reference":"floating":u],x=eg(await l.getClippingRect({element:null==(r=await (null==l.isElement?void 0:l.isElement(h)))||r?h:h.contextElement||await (null==l.getDocumentElement?void 0:l.getDocumentElement(s.floating)),boundary:c,rootBoundary:d,strategy:i})),g="floating"===u?{x:n,y:a,width:o.floating.width,height:o.floating.height}:o.reference,v=await (null==l.getOffsetParent?void 0:l.getOffsetParent(s.floating)),y=await (null==l.isElement?void 0:l.isElement(v))&&await (null==l.getScale?void 0:l.getScale(v))||{x:1,y:1},b=eg(l.convertOffsetParentRelativeRectToViewportRelativeRect?await l.convertOffsetParentRelativeRectToViewportRelativeRect({elements:s,rect:g,offsetParent:v,strategy:i}):g);return{top:(x.top-b.top+p.top)/y.y,bottom:(b.bottom-x.bottom+p.bottom)/y.y,left:(x.left-b.left+p.left)/y.x,right:(b.right-x.right+p.right)/y.x}}function ew(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function ej(e){return ee.some(t=>e[t]>=0)}async function eN(e,t){let{placement:r,platform:n,elements:a}=e,l=await (null==n.isRTL?void 0:n.isRTL(a.floating)),o=ec(r),s=ed(r),i="y"===em(r),c=["left","top"].includes(o)?-1:1,d=l&&i?-1:1,u=ei(t,e),{mainAxis:f,crossAxis:m,alignmentAxis:p}="number"==typeof u?{mainAxis:u,crossAxis:0,alignmentAxis:null}:{mainAxis:u.mainAxis||0,crossAxis:u.crossAxis||0,alignmentAxis:u.alignmentAxis};return s&&"number"==typeof p&&(m="end"===s?-1*p:p),i?{x:m*d,y:f*c}:{x:f*c,y:m*d}}function eC(){return"undefined"!=typeof window}function ek(e){return eE(e)?(e.nodeName||"").toLowerCase():"#document"}function eS(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function eR(e){var t;return null==(t=(eE(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function eE(e){return!!eC()&&(e instanceof Node||e instanceof eS(e).Node)}function eT(e){return!!eC()&&(e instanceof Element||e instanceof eS(e).Element)}function eM(e){return!!eC()&&(e instanceof HTMLElement||e instanceof eS(e).HTMLElement)}function eA(e){return!!eC()&&"undefined"!=typeof ShadowRoot&&(e instanceof ShadowRoot||e instanceof eS(e).ShadowRoot)}function eD(e){let{overflow:t,overflowX:r,overflowY:n,display:a}=eI(e);return/auto|scroll|overlay|hidden|clip/.test(t+n+r)&&!["inline","contents"].includes(a)}function e_(e){return[":popover-open",":modal"].some(t=>{try{return e.matches(t)}catch(e){return!1}})}function eO(e){let t=eP(),r=eT(e)?eI(e):e;return["transform","translate","scale","rotate","perspective"].some(e=>!!r[e]&&"none"!==r[e])||!!r.containerType&&"normal"!==r.containerType||!t&&!!r.backdropFilter&&"none"!==r.backdropFilter||!t&&!!r.filter&&"none"!==r.filter||["transform","translate","scale","rotate","perspective","filter"].some(e=>(r.willChange||"").includes(e))||["paint","layout","strict","content"].some(e=>(r.contain||"").includes(e))}function eP(){return"undefined"!=typeof CSS&&!!CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")}function eL(e){return["html","body","#document"].includes(ek(e))}function eI(e){return eS(e).getComputedStyle(e)}function e$(e){return eT(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function eF(e){if("html"===ek(e))return e;let t=e.assignedSlot||e.parentNode||eA(e)&&e.host||eR(e);return eA(t)?t.host:t}function eU(e,t,r){var n;void 0===t&&(t=[]),void 0===r&&(r=!0);let a=function e(t){let r=eF(t);return eL(r)?t.ownerDocument?t.ownerDocument.body:t.body:eM(r)&&eD(r)?r:e(r)}(e),l=a===(null==(n=e.ownerDocument)?void 0:n.body),o=eS(a);if(l){let e=ez(o);return t.concat(o,o.visualViewport||[],eD(a)?a:[],e&&r?eU(e):[])}return t.concat(a,eU(a,[],r))}function ez(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function eB(e){let t=eI(e),r=parseFloat(t.width)||0,n=parseFloat(t.height)||0,a=eM(e),l=a?e.offsetWidth:r,o=a?e.offsetHeight:n,s=en(r)!==l||en(n)!==o;return s&&(r=l,n=o),{width:r,height:n,$:s}}function eH(e){return eT(e)?e:e.contextElement}function eW(e){let t=eH(e);if(!eM(t))return el(1);let r=t.getBoundingClientRect(),{width:n,height:a,$:l}=eB(t),o=(l?en(r.width):r.width)/n,s=(l?en(r.height):r.height)/a;return o&&Number.isFinite(o)||(o=1),s&&Number.isFinite(s)||(s=1),{x:o,y:s}}let eV=el(0);function eK(e){let t=eS(e);return eP()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:eV}function eq(e,t,r,n){var a;void 0===t&&(t=!1),void 0===r&&(r=!1);let l=e.getBoundingClientRect(),o=eH(e),s=el(1);t&&(n?eT(n)&&(s=eW(n)):s=eW(e));let i=(void 0===(a=r)&&(a=!1),n&&(!a||n===eS(o))&&a)?eK(o):el(0),c=(l.left+i.x)/s.x,d=(l.top+i.y)/s.y,u=l.width/s.x,f=l.height/s.y;if(o){let e=eS(o),t=n&&eT(n)?eS(n):n,r=e,a=ez(r);for(;a&&n&&t!==r;){let e=eW(a),t=a.getBoundingClientRect(),n=eI(a),l=t.left+(a.clientLeft+parseFloat(n.paddingLeft))*e.x,o=t.top+(a.clientTop+parseFloat(n.paddingTop))*e.y;c*=e.x,d*=e.y,u*=e.x,f*=e.y,c+=l,d+=o,a=ez(r=eS(a))}}return eg({width:u,height:f,x:c,y:d})}function eG(e,t){let r=e$(e).scrollLeft;return t?t.left+r:eq(eR(e)).left+r}function eY(e,t,r){void 0===r&&(r=!1);let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-(r?0:eG(e,n)),y:n.top+t.scrollTop}}function eX(e,t,r){let n;if("viewport"===t)n=function(e,t){let r=eS(e),n=eR(e),a=r.visualViewport,l=n.clientWidth,o=n.clientHeight,s=0,i=0;if(a){l=a.width,o=a.height;let e=eP();(!e||e&&"fixed"===t)&&(s=a.offsetLeft,i=a.offsetTop)}return{width:l,height:o,x:s,y:i}}(e,r);else if("document"===t)n=function(e){let t=eR(e),r=e$(e),n=e.ownerDocument.body,a=er(t.scrollWidth,t.clientWidth,n.scrollWidth,n.clientWidth),l=er(t.scrollHeight,t.clientHeight,n.scrollHeight,n.clientHeight),o=-r.scrollLeft+eG(e),s=-r.scrollTop;return"rtl"===eI(n).direction&&(o+=er(t.clientWidth,n.clientWidth)-a),{width:a,height:l,x:o,y:s}}(eR(e));else if(eT(t))n=function(e,t){let r=eq(e,!0,"fixed"===t),n=r.top+e.clientTop,a=r.left+e.clientLeft,l=eM(e)?eW(e):el(1),o=e.clientWidth*l.x;return{width:o,height:e.clientHeight*l.y,x:a*l.x,y:n*l.y}}(t,r);else{let r=eK(e);n={x:t.x-r.x,y:t.y-r.y,width:t.width,height:t.height}}return eg(n)}function eQ(e){return"static"===eI(e).position}function eJ(e,t){if(!eM(e)||"fixed"===eI(e).position)return null;if(t)return t(e);let r=e.offsetParent;return eR(e)===r&&(r=r.ownerDocument.body),r}function eZ(e,t){let r=eS(e);if(e_(e))return r;if(!eM(e)){let t=eF(e);for(;t&&!eL(t);){if(eT(t)&&!eQ(t))return t;t=eF(t)}return r}let n=eJ(e,t);for(;n&&["table","td","th"].includes(ek(n))&&eQ(n);)n=eJ(n,t);return n&&eL(n)&&eQ(n)&&!eO(n)?r:n||function(e){let t=eF(e);for(;eM(t)&&!eL(t);){if(eO(t))return t;if(e_(t))break;t=eF(t)}return null}(e)||r}let e0=async function(e){let t=this.getOffsetParent||eZ,r=this.getDimensions,n=await r(e.floating);return{reference:function(e,t,r){let n=eM(t),a=eR(t),l="fixed"===r,o=eq(e,!0,l,t),s={scrollLeft:0,scrollTop:0},i=el(0);if(n||!n&&!l){if(("body"!==ek(t)||eD(a))&&(s=e$(t)),n){let e=eq(t,!0,l,t);i.x=e.x+t.clientLeft,i.y=e.y+t.clientTop}else a&&(i.x=eG(a))}let c=!a||n||l?el(0):eY(a,s);return{x:o.left+s.scrollLeft-i.x-c.x,y:o.top+s.scrollTop-i.y-c.y,width:o.width,height:o.height}}(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:n.width,height:n.height}}},e1={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:r,offsetParent:n,strategy:a}=e,l="fixed"===a,o=eR(n),s=!!t&&e_(t.floating);if(n===o||s&&l)return r;let i={scrollLeft:0,scrollTop:0},c=el(1),d=el(0),u=eM(n);if((u||!u&&!l)&&(("body"!==ek(n)||eD(o))&&(i=e$(n)),eM(n))){let e=eq(n);c=eW(n),d.x=e.x+n.clientLeft,d.y=e.y+n.clientTop}let f=!o||u||l?el(0):eY(o,i,!0);return{width:r.width*c.x,height:r.height*c.y,x:r.x*c.x-i.scrollLeft*c.x+d.x+f.x,y:r.y*c.y-i.scrollTop*c.y+d.y+f.y}},getDocumentElement:eR,getClippingRect:function(e){let{element:t,boundary:r,rootBoundary:n,strategy:a}=e,l=[..."clippingAncestors"===r?e_(t)?[]:function(e,t){let r=t.get(e);if(r)return r;let n=eU(e,[],!1).filter(e=>eT(e)&&"body"!==ek(e)),a=null,l="fixed"===eI(e).position,o=l?eF(e):e;for(;eT(o)&&!eL(o);){let t=eI(o),r=eO(o);r||"fixed"!==t.position||(a=null),(l?!r&&!a:!r&&"static"===t.position&&!!a&&["absolute","fixed"].includes(a.position)||eD(o)&&!r&&function e(t,r){let n=eF(t);return!(n===r||!eT(n)||eL(n))&&("fixed"===eI(n).position||e(n,r))}(e,o))?n=n.filter(e=>e!==o):a=t,o=eF(o)}return t.set(e,n),n}(t,this._c):[].concat(r),n],o=l[0],s=l.reduce((e,r)=>{let n=eX(t,r,a);return e.top=er(n.top,e.top),e.right=et(n.right,e.right),e.bottom=et(n.bottom,e.bottom),e.left=er(n.left,e.left),e},eX(t,o,a));return{width:s.right-s.left,height:s.bottom-s.top,x:s.left,y:s.top}},getOffsetParent:eZ,getElementRects:e0,getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){let{width:t,height:r}=eB(e);return{width:t,height:r}},getScale:eW,isElement:eT,isRTL:function(e){return"rtl"===eI(e).direction}};function e2(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}let e5=e=>({name:"arrow",options:e,async fn(t){let{x:r,y:n,placement:a,rects:l,platform:o,elements:s,middlewareData:i}=t,{element:c,padding:d=0}=ei(e,t)||{};if(null==c)return{};let u=ex(d),f={x:r,y:n},m=eu(em(a)),p=ef(m),h=await o.getDimensions(c),x="y"===m,g=x?"clientHeight":"clientWidth",v=l.reference[p]+l.reference[m]-f[m]-l.floating[p],y=f[m]-l.reference[m],b=await (null==o.getOffsetParent?void 0:o.getOffsetParent(c)),w=b?b[g]:0;w&&await (null==o.isElement?void 0:o.isElement(b))||(w=s.floating[g]||l.floating[p]);let j=w/2-h[p]/2-1,N=et(u[x?"top":"left"],j),C=et(u[x?"bottom":"right"],j),k=w-h[p]-C,S=w/2-h[p]/2+(v/2-y/2),R=er(N,et(S,k)),E=!i.arrow&&null!=ed(a)&&S!==R&&l.reference[p]/2-(S<N?N:C)-h[p]/2<0,T=E?S<N?S-N:S-k:0;return{[m]:f[m]+T,data:{[m]:R,centerOffset:S-R-T,...E&&{alignmentOffset:T}},reset:E}}}),e4=(e,t,r)=>{let n=new Map,a={platform:e1,...r},l={...a.platform,_c:n};return ey(e,t,{...a,platform:l})};var e3=r(5740),e6="undefined"!=typeof document?o.useLayoutEffect:o.useEffect;function e8(e,t){let r,n,a;if(e===t)return!0;if(typeof e!=typeof t)return!1;if("function"==typeof e&&e.toString()===t.toString())return!0;if(e&&t&&"object"==typeof e){if(Array.isArray(e)){if((r=e.length)!==t.length)return!1;for(n=r;0!=n--;)if(!e8(e[n],t[n]))return!1;return!0}if((r=(a=Object.keys(e)).length)!==Object.keys(t).length)return!1;for(n=r;0!=n--;)if(!({}).hasOwnProperty.call(t,a[n]))return!1;for(n=r;0!=n--;){let r=a[n];if(("_owner"!==r||!e.$$typeof)&&!e8(e[r],t[r]))return!1}return!0}return e!=e&&t!=t}function e9(e){return"undefined"==typeof window?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function e7(e,t){let r=e9(e);return Math.round(t*r)/r}function te(e){let t=o.useRef(e);return e6(()=>{t.current=e}),t}let tt=e=>({name:"arrow",options:e,fn(t){let{element:r,padding:n}="function"==typeof e?e(t):e;return r&&({}).hasOwnProperty.call(r,"current")?null!=r.current?e5({element:r.current,padding:n}).fn(t):{}:r?e5({element:r,padding:n}).fn(t):{}}}),tr=(e,t)=>({...function(e){return void 0===e&&(e=0),{name:"offset",options:e,async fn(t){var r,n;let{x:a,y:l,placement:o,middlewareData:s}=t,i=await eN(t,e);return o===(null==(r=s.offset)?void 0:r.placement)&&null!=(n=s.arrow)&&n.alignmentOffset?{}:{x:a+i.x,y:l+i.y,data:{...i,placement:o}}}}}(e),options:[e,t]}),tn=(e,t)=>({...function(e){return void 0===e&&(e={}),{name:"shift",options:e,async fn(t){let{x:r,y:n,placement:a}=t,{mainAxis:l=!0,crossAxis:o=!1,limiter:s={fn:e=>{let{x:t,y:r}=e;return{x:t,y:r}}},...i}=ei(e,t),c={x:r,y:n},d=await eb(t,i),u=em(ec(a)),f=eu(u),m=c[f],p=c[u];if(l){let e="y"===f?"top":"left",t="y"===f?"bottom":"right",r=m+d[e],n=m-d[t];m=er(r,et(m,n))}if(o){let e="y"===u?"top":"left",t="y"===u?"bottom":"right",r=p+d[e],n=p-d[t];p=er(r,et(p,n))}let h=s.fn({...t,[f]:m,[u]:p});return{...h,data:{x:h.x-r,y:h.y-n,enabled:{[f]:l,[u]:o}}}}}}(e),options:[e,t]}),ta=(e,t)=>({...function(e){return void 0===e&&(e={}),{options:e,fn(t){let{x:r,y:n,placement:a,rects:l,middlewareData:o}=t,{offset:s=0,mainAxis:i=!0,crossAxis:c=!0}=ei(e,t),d={x:r,y:n},u=em(a),f=eu(u),m=d[f],p=d[u],h=ei(s,t),x="number"==typeof h?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(i){let e="y"===f?"height":"width",t=l.reference[f]-l.floating[e]+x.mainAxis,r=l.reference[f]+l.reference[e]-x.mainAxis;m<t?m=t:m>r&&(m=r)}if(c){var g,v;let e="y"===f?"width":"height",t=["top","left"].includes(ec(a)),r=l.reference[u]-l.floating[e]+(t&&(null==(g=o.offset)?void 0:g[u])||0)+(t?0:x.crossAxis),n=l.reference[u]+l.reference[e]+(t?0:(null==(v=o.offset)?void 0:v[u])||0)-(t?x.crossAxis:0);p<r?p=r:p>n&&(p=n)}return{[f]:m,[u]:p}}}}(e),options:[e,t]}),tl=(e,t)=>({...function(e){return void 0===e&&(e={}),{name:"flip",options:e,async fn(t){var r,n,a,l,o;let{placement:s,middlewareData:i,rects:c,initialPlacement:d,platform:u,elements:f}=t,{mainAxis:m=!0,crossAxis:p=!0,fallbackPlacements:h,fallbackStrategy:x="bestFit",fallbackAxisSideDirection:g="none",flipAlignment:v=!0,...y}=ei(e,t);if(null!=(r=i.arrow)&&r.alignmentOffset)return{};let b=ec(s),w=em(d),j=ec(d)===d,N=await (null==u.isRTL?void 0:u.isRTL(f.floating)),C=h||(j||!v?[eh(d)]:function(e){let t=eh(e);return[ep(e),t,ep(t)]}(d)),k="none"!==g;!h&&k&&C.push(...function(e,t,r,n){let a=ed(e),l=function(e,t,r){let n=["left","right"],a=["right","left"];switch(e){case"top":case"bottom":if(r)return t?a:n;return t?n:a;case"left":case"right":return t?["top","bottom"]:["bottom","top"];default:return[]}}(ec(e),"start"===r,n);return a&&(l=l.map(e=>e+"-"+a),t&&(l=l.concat(l.map(ep)))),l}(d,v,g,N));let S=[d,...C],R=await eb(t,y),E=[],T=(null==(n=i.flip)?void 0:n.overflows)||[];if(m&&E.push(R[b]),p){let e=function(e,t,r){void 0===r&&(r=!1);let n=ed(e),a=eu(em(e)),l=ef(a),o="x"===a?n===(r?"end":"start")?"right":"left":"start"===n?"bottom":"top";return t.reference[l]>t.floating[l]&&(o=eh(o)),[o,eh(o)]}(s,c,N);E.push(R[e[0]],R[e[1]])}if(T=[...T,{placement:s,overflows:E}],!E.every(e=>e<=0)){let e=((null==(a=i.flip)?void 0:a.index)||0)+1,t=S[e];if(t)return{data:{index:e,overflows:T},reset:{placement:t}};let r=null==(l=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0])?void 0:l.placement;if(!r)switch(x){case"bestFit":{let e=null==(o=T.filter(e=>{if(k){let t=em(e.placement);return t===w||"y"===t}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0])?void 0:o[0];e&&(r=e);break}case"initialPlacement":r=d}if(s!==r)return{reset:{placement:r}}}return{}}}}(e),options:[e,t]}),to=(e,t)=>({...function(e){return void 0===e&&(e={}),{name:"size",options:e,async fn(t){var r,n;let a,l;let{placement:o,rects:s,platform:i,elements:c}=t,{apply:d=()=>{},...u}=ei(e,t),f=await eb(t,u),m=ec(o),p=ed(o),h="y"===em(o),{width:x,height:g}=s.floating;"top"===m||"bottom"===m?(a=m,l=p===(await (null==i.isRTL?void 0:i.isRTL(c.floating))?"start":"end")?"left":"right"):(l=m,a="end"===p?"top":"bottom");let v=g-f.top-f.bottom,y=x-f.left-f.right,b=et(g-f[a],v),w=et(x-f[l],y),j=!t.middlewareData.shift,N=b,C=w;if(null!=(r=t.middlewareData.shift)&&r.enabled.x&&(C=y),null!=(n=t.middlewareData.shift)&&n.enabled.y&&(N=v),j&&!p){let e=er(f.left,0),t=er(f.right,0),r=er(f.top,0),n=er(f.bottom,0);h?C=x-2*(0!==e||0!==t?e+t:er(f.left,f.right)):N=g-2*(0!==r||0!==n?r+n:er(f.top,f.bottom))}await d({...t,availableWidth:C,availableHeight:N});let k=await i.getDimensions(c.floating);return x!==k.width||g!==k.height?{reset:{rects:!0}}:{}}}}(e),options:[e,t]}),ts=(e,t)=>({...function(e){return void 0===e&&(e={}),{name:"hide",options:e,async fn(t){let{rects:r}=t,{strategy:n="referenceHidden",...a}=ei(e,t);switch(n){case"referenceHidden":{let e=ew(await eb(t,{...a,elementContext:"reference"}),r.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:ej(e)}}}case"escaped":{let e=ew(await eb(t,{...a,altBoundary:!0}),r.floating);return{data:{escapedOffsets:e,escaped:ej(e)}}}default:return{}}}}}(e),options:[e,t]}),ti=(e,t)=>({...tt(e),options:[e,t]});var tc=o.forwardRef((e,t)=>{let{children:r,width:n=10,height:a=5,...o}=e;return(0,l.jsx)(D.sG.svg,{...o,ref:t,width:n,height:a,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?r:(0,l.jsx)("polygon",{points:"0,0 30,0 15,10"})})});function td(e){let[t,r]=o.useState(void 0);return(0,X.N)(()=>{if(e){r({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{let n,a;if(!Array.isArray(t)||!t.length)return;let l=t[0];if("borderBoxSize"in l){let e=l.borderBoxSize,t=Array.isArray(e)?e[0]:e;n=t.inlineSize,a=t.blockSize}else n=e.offsetWidth,a=e.offsetHeight;r({width:n,height:a})});return t.observe(e,{box:"border-box"}),()=>t.unobserve(e)}r(void 0)},[e]),t}tc.displayName="Arrow";var tu="Popper",[tf,tm]=(0,M.A)(tu),[tp,th]=tf(tu),tx=e=>{let{__scopePopper:t,children:r}=e,[n,a]=o.useState(null);return(0,l.jsx)(tp,{scope:t,anchor:n,onAnchorChange:a,children:r})};tx.displayName=tu;var tg="PopperAnchor",tv=o.forwardRef((e,t)=>{let{__scopePopper:r,virtualRef:n,...a}=e,s=th(tg,r),i=o.useRef(null),c=(0,T.s)(t,i);return o.useEffect(()=>{s.onAnchorChange(n?.current||i.current)}),n?null:(0,l.jsx)(D.sG.div,{...a,ref:c})});tv.displayName=tg;var ty="PopperContent",[tb,tw]=tf(ty),tj=o.forwardRef((e,t)=>{let{__scopePopper:r,side:n="bottom",sideOffset:a=0,align:s="center",alignOffset:i=0,arrowPadding:c=0,avoidCollisions:d=!0,collisionBoundary:u=[],collisionPadding:f=0,sticky:m="partial",hideWhenDetached:p=!1,updatePositionStrategy:h="optimized",onPlaced:x,...g}=e,v=th(ty,r),[y,b]=o.useState(null),w=(0,T.s)(t,e=>b(e)),[j,N]=o.useState(null),C=td(j),k=C?.width??0,S=C?.height??0,R="number"==typeof f?f:{top:0,right:0,bottom:0,left:0,...f},E=Array.isArray(u)?u:[u],M=E.length>0,A={padding:R,boundary:E.filter(tS),altBoundary:M},{refs:_,floatingStyles:O,placement:P,isPositioned:L,middlewareData:I}=function(e){void 0===e&&(e={});let{placement:t="bottom",strategy:r="absolute",middleware:n=[],platform:a,elements:{reference:l,floating:s}={},transform:i=!0,whileElementsMounted:c,open:d}=e,[u,f]=o.useState({x:0,y:0,strategy:r,placement:t,middlewareData:{},isPositioned:!1}),[m,p]=o.useState(n);e8(m,n)||p(n);let[h,x]=o.useState(null),[g,v]=o.useState(null),y=o.useCallback(e=>{e!==N.current&&(N.current=e,x(e))},[]),b=o.useCallback(e=>{e!==C.current&&(C.current=e,v(e))},[]),w=l||h,j=s||g,N=o.useRef(null),C=o.useRef(null),k=o.useRef(u),S=null!=c,R=te(c),E=te(a),T=te(d),M=o.useCallback(()=>{if(!N.current||!C.current)return;let e={placement:t,strategy:r,middleware:m};E.current&&(e.platform=E.current),e4(N.current,C.current,e).then(e=>{let t={...e,isPositioned:!1!==T.current};A.current&&!e8(k.current,t)&&(k.current=t,e3.flushSync(()=>{f(t)}))})},[m,t,r,E,T]);e6(()=>{!1===d&&k.current.isPositioned&&(k.current.isPositioned=!1,f(e=>({...e,isPositioned:!1})))},[d]);let A=o.useRef(!1);e6(()=>(A.current=!0,()=>{A.current=!1}),[]),e6(()=>{if(w&&(N.current=w),j&&(C.current=j),w&&j){if(R.current)return R.current(w,j,M);M()}},[w,j,M,R,S]);let D=o.useMemo(()=>({reference:N,floating:C,setReference:y,setFloating:b}),[y,b]),_=o.useMemo(()=>({reference:w,floating:j}),[w,j]),O=o.useMemo(()=>{let e={position:r,left:0,top:0};if(!_.floating)return e;let t=e7(_.floating,u.x),n=e7(_.floating,u.y);return i?{...e,transform:"translate("+t+"px, "+n+"px)",...e9(_.floating)>=1.5&&{willChange:"transform"}}:{position:r,left:t,top:n}},[r,i,_.floating,u.x,u.y]);return o.useMemo(()=>({...u,update:M,refs:D,elements:_,floatingStyles:O}),[u,M,D,_,O])}({strategy:"fixed",placement:n+("center"!==s?"-"+s:""),whileElementsMounted:(...e)=>(function(e,t,r,n){let a;void 0===n&&(n={});let{ancestorScroll:l=!0,ancestorResize:o=!0,elementResize:s="function"==typeof ResizeObserver,layoutShift:i="function"==typeof IntersectionObserver,animationFrame:c=!1}=n,d=eH(e),u=l||o?[...d?eU(d):[],...eU(t)]:[];u.forEach(e=>{l&&e.addEventListener("scroll",r,{passive:!0}),o&&e.addEventListener("resize",r)});let f=d&&i?function(e,t){let r,n=null,a=eR(e);function l(){var e;clearTimeout(r),null==(e=n)||e.disconnect(),n=null}return function o(s,i){void 0===s&&(s=!1),void 0===i&&(i=1),l();let c=e.getBoundingClientRect(),{left:d,top:u,width:f,height:m}=c;if(s||t(),!f||!m)return;let p=ea(u),h=ea(a.clientWidth-(d+f)),x={rootMargin:-p+"px "+-h+"px "+-ea(a.clientHeight-(u+m))+"px "+-ea(d)+"px",threshold:er(0,et(1,i))||1},g=!0;function v(t){let n=t[0].intersectionRatio;if(n!==i){if(!g)return o();n?o(!1,n):r=setTimeout(()=>{o(!1,1e-7)},1e3)}1!==n||e2(c,e.getBoundingClientRect())||o(),g=!1}try{n=new IntersectionObserver(v,{...x,root:a.ownerDocument})}catch(e){n=new IntersectionObserver(v,x)}n.observe(e)}(!0),l}(d,r):null,m=-1,p=null;s&&(p=new ResizeObserver(e=>{let[n]=e;n&&n.target===d&&p&&(p.unobserve(t),cancelAnimationFrame(m),m=requestAnimationFrame(()=>{var e;null==(e=p)||e.observe(t)})),r()}),d&&!c&&p.observe(d),p.observe(t));let h=c?eq(e):null;return c&&function t(){let n=eq(e);h&&!e2(h,n)&&r(),h=n,a=requestAnimationFrame(t)}(),r(),()=>{var e;u.forEach(e=>{l&&e.removeEventListener("scroll",r),o&&e.removeEventListener("resize",r)}),null==f||f(),null==(e=p)||e.disconnect(),p=null,c&&cancelAnimationFrame(a)}})(...e,{animationFrame:"always"===h}),elements:{reference:v.anchor},middleware:[tr({mainAxis:a+S,alignmentAxis:i}),d&&tn({mainAxis:!0,crossAxis:!1,limiter:"partial"===m?ta():void 0,...A}),d&&tl({...A}),to({...A,apply:({elements:e,rects:t,availableWidth:r,availableHeight:n})=>{let{width:a,height:l}=t.reference,o=e.floating.style;o.setProperty("--radix-popper-available-width",`${r}px`),o.setProperty("--radix-popper-available-height",`${n}px`),o.setProperty("--radix-popper-anchor-width",`${a}px`),o.setProperty("--radix-popper-anchor-height",`${l}px`)}}),j&&ti({element:j,padding:c}),tR({arrowWidth:k,arrowHeight:S}),p&&ts({strategy:"referenceHidden",...A})]}),[$,F]=tE(P),z=(0,U.c)(x);(0,X.N)(()=>{L&&z?.()},[L,z]);let B=I.arrow?.x,H=I.arrow?.y,W=I.arrow?.centerOffset!==0,[V,K]=o.useState();return(0,X.N)(()=>{y&&K(window.getComputedStyle(y).zIndex)},[y]),(0,l.jsx)("div",{ref:_.setFloating,"data-radix-popper-content-wrapper":"",style:{...O,transform:L?O.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:V,"--radix-popper-transform-origin":[I.transformOrigin?.x,I.transformOrigin?.y].join(" "),...I.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:(0,l.jsx)(tb,{scope:r,placedSide:$,onArrowChange:N,arrowX:B,arrowY:H,shouldHideArrow:W,children:(0,l.jsx)(D.sG.div,{"data-side":$,"data-align":F,...g,ref:w,style:{...g.style,animation:L?void 0:"none"}})})})});tj.displayName=ty;var tN="PopperArrow",tC={top:"bottom",right:"left",bottom:"top",left:"right"},tk=o.forwardRef(function(e,t){let{__scopePopper:r,...n}=e,a=tw(tN,r),o=tC[a.placedSide];return(0,l.jsx)("span",{ref:a.onArrowChange,style:{position:"absolute",left:a.arrowX,top:a.arrowY,[o]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[a.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[a.placedSide],visibility:a.shouldHideArrow?"hidden":void 0},children:(0,l.jsx)(tc,{...n,ref:t,style:{...n.style,display:"block"}})})});function tS(e){return null!==e}tk.displayName=tN;var tR=e=>({name:"transformOrigin",options:e,fn(t){let{placement:r,rects:n,middlewareData:a}=t,l=a.arrow?.centerOffset!==0,o=l?0:e.arrowWidth,s=l?0:e.arrowHeight,[i,c]=tE(r),d={start:"0%",center:"50%",end:"100%"}[c],u=(a.arrow?.x??0)+o/2,f=(a.arrow?.y??0)+s/2,m="",p="";return"bottom"===i?(m=l?d:`${u}px`,p=`${-s}px`):"top"===i?(m=l?d:`${u}px`,p=`${n.floating.height+s}px`):"right"===i?(m=`${-s}px`,p=l?d:`${f}px`):"left"===i&&(m=`${n.floating.width+s}px`,p=l?d:`${f}px`),{data:{x:m,y:p}}}});function tE(e){let[t,r="center"]=e.split("-");return[t,r]}var tT=r(707),tM=r(8060),tA="rovingFocusGroup.onEntryFocus",tD={bubbles:!1,cancelable:!0},t_="RovingFocusGroup",[tO,tP,tL]=(0,_.N)(t_),[tI,t$]=(0,M.A)(t_,[tL]),[tF,tU]=tI(t_),tz=o.forwardRef((e,t)=>(0,l.jsx)(tO.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,l.jsx)(tO.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,l.jsx)(tB,{...e,ref:t})})}));tz.displayName=t_;var tB=o.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:r,orientation:n,loop:a=!1,dir:s,currentTabStopId:i,defaultCurrentTabStopId:c,onCurrentTabStopIdChange:d,onEntryFocus:u,preventScrollOnEntryFocus:f=!1,...m}=e,p=o.useRef(null),h=(0,T.s)(t,p),x=P(s),[g=null,v]=(0,A.i)({prop:i,defaultProp:c,onChange:d}),[y,b]=o.useState(!1),w=(0,U.c)(u),j=tP(r),N=o.useRef(!1),[C,k]=o.useState(0);return o.useEffect(()=>{let e=p.current;if(e)return e.addEventListener(tA,w),()=>e.removeEventListener(tA,w)},[w]),(0,l.jsx)(tF,{scope:r,orientation:n,dir:x,loop:a,currentTabStopId:g,onItemFocus:o.useCallback(e=>v(e),[v]),onItemShiftTab:o.useCallback(()=>b(!0),[]),onFocusableItemAdd:o.useCallback(()=>k(e=>e+1),[]),onFocusableItemRemove:o.useCallback(()=>k(e=>e-1),[]),children:(0,l.jsx)(D.sG.div,{tabIndex:y||0===C?-1:0,"data-orientation":n,...m,ref:h,style:{outline:"none",...e.style},onMouseDown:(0,E.m)(e.onMouseDown,()=>{N.current=!0}),onFocus:(0,E.m)(e.onFocus,e=>{let t=!N.current;if(e.target===e.currentTarget&&t&&!y){let t=new CustomEvent(tA,tD);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=j().filter(e=>e.focusable);tK([e.find(e=>e.active),e.find(e=>e.id===g),...e].filter(Boolean).map(e=>e.ref.current),f)}}N.current=!1}),onBlur:(0,E.m)(e.onBlur,()=>b(!1))})})}),tH="RovingFocusGroupItem",tW=o.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:r,focusable:n=!0,active:a=!1,tabStopId:s,...i}=e,c=Z(),d=s||c,u=tU(tH,r),f=u.currentTabStopId===d,m=tP(r),{onFocusableItemAdd:p,onFocusableItemRemove:h}=u;return o.useEffect(()=>{if(n)return p(),()=>h()},[n,p,h]),(0,l.jsx)(tO.ItemSlot,{scope:r,id:d,focusable:n,active:a,children:(0,l.jsx)(D.sG.span,{tabIndex:f?0:-1,"data-orientation":u.orientation,...i,ref:t,onMouseDown:(0,E.m)(e.onMouseDown,e=>{n?u.onItemFocus(d):e.preventDefault()}),onFocus:(0,E.m)(e.onFocus,()=>u.onItemFocus(d)),onKeyDown:(0,E.m)(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey){u.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=function(e,t,r){var n;let a=(n=e.key,"rtl"!==r?n:"ArrowLeft"===n?"ArrowRight":"ArrowRight"===n?"ArrowLeft":n);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(a))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(a)))return tV[a]}(e,u.orientation,u.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let r=m().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)r.reverse();else if("prev"===t||"next"===t){"prev"===t&&r.reverse();let n=r.indexOf(e.currentTarget);r=u.loop?function(e,t){return e.map((r,n)=>e[(t+n)%e.length])}(r,n+1):r.slice(n+1)}setTimeout(()=>tK(r))}})})})});tW.displayName=tH;var tV={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function tK(e,t=!1){let r=document.activeElement;for(let n of e)if(n===r||(n.focus({preventScroll:t}),document.activeElement!==r))return}var tq=r(2705),tG=new WeakMap,tY=new WeakMap,tX={},tQ=0,tJ=function(e){return e&&(e.host||tJ(e.parentNode))},tZ=function(e,t,r,n){var a=(Array.isArray(e)?e:[e]).map(function(e){if(t.contains(e))return e;var r=tJ(e);return r&&t.contains(r)?r:(console.error("aria-hidden",e,"in not contained inside",t,". Doing nothing"),null)}).filter(function(e){return!!e});tX[r]||(tX[r]=new WeakMap);var l=tX[r],o=[],s=new Set,i=new Set(a),c=function(e){!e||s.has(e)||(s.add(e),c(e.parentNode))};a.forEach(c);var d=function(e){!e||i.has(e)||Array.prototype.forEach.call(e.children,function(e){if(s.has(e))d(e);else try{var t=e.getAttribute(n),a=null!==t&&"false"!==t,i=(tG.get(e)||0)+1,c=(l.get(e)||0)+1;tG.set(e,i),l.set(e,c),o.push(e),1===i&&a&&tY.set(e,!0),1===c&&e.setAttribute(r,"true"),a||e.setAttribute(n,"true")}catch(t){console.error("aria-hidden: cannot operate on ",e,t)}})};return d(t),s.clear(),tQ++,function(){o.forEach(function(e){var t=tG.get(e)-1,a=l.get(e)-1;tG.set(e,t),l.set(e,a),t||(tY.has(e)||e.removeAttribute(n),tY.delete(e)),a||e.removeAttribute(r)}),--tQ||(tG=new WeakMap,tG=new WeakMap,tY=new WeakMap,tX={})}},t0=function(e,t,r){void 0===r&&(r="data-aria-hidden");var n,a=Array.from(Array.isArray(e)?e:[e]),l=t||(n=e,"undefined"==typeof document?null:(Array.isArray(n)?n[0]:n).ownerDocument.body);return l?(a.push.apply(a,Array.from(l.querySelectorAll("[aria-live]"))),tZ(a,l,r,"aria-hidden")):function(){return null}},t1=function(){return(t1=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var a in t=arguments[r])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e}).apply(this,arguments)};function t2(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&0>t.indexOf(n)&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var a=0,n=Object.getOwnPropertySymbols(e);a<n.length;a++)0>t.indexOf(n[a])&&Object.prototype.propertyIsEnumerable.call(e,n[a])&&(r[n[a]]=e[n[a]]);return r}Object.create,Object.create;var t5=("function"==typeof SuppressedError&&SuppressedError,"right-scroll-bar-position"),t4="width-before-scroll-bar";function t3(e,t){return"function"==typeof e?e(t):e&&(e.current=t),e}var t6="undefined"!=typeof window?o.useLayoutEffect:o.useEffect,t8=new WeakMap;function t9(e){return e}var t7=function(e){void 0===e&&(e={});var t,r,n,a=(void 0===t&&(t=t9),r=[],n=!1,{read:function(){if(n)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return r.length?r[r.length-1]:null},useMedium:function(e){var a=t(e,n);return r.push(a),function(){r=r.filter(function(e){return e!==a})}},assignSyncMedium:function(e){for(n=!0;r.length;){var t=r;r=[],t.forEach(e)}r={push:function(t){return e(t)},filter:function(){return r}}},assignMedium:function(e){n=!0;var t=[];if(r.length){var a=r;r=[],a.forEach(e),t=r}var l=function(){var r=t;t=[],r.forEach(e)},o=function(){return Promise.resolve().then(l)};o(),r={push:function(e){t.push(e),o()},filter:function(e){return t=t.filter(e),r}}}});return a.options=t1({async:!0,ssr:!1},e),a}(),re=function(){},rt=o.forwardRef(function(e,t){var r,n,a,l,s=o.useRef(null),i=o.useState({onScrollCapture:re,onWheelCapture:re,onTouchMoveCapture:re}),c=i[0],d=i[1],u=e.forwardProps,f=e.children,m=e.className,p=e.removeScrollBar,h=e.enabled,x=e.shards,g=e.sideCar,v=e.noIsolation,y=e.inert,b=e.allowPinchZoom,w=e.as,j=e.gapMode,N=t2(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","as","gapMode"]),C=(r=[s,t],n=function(e){return r.forEach(function(t){return t3(t,e)})},(a=(0,o.useState)(function(){return{value:null,callback:n,facade:{get current(){return a.value},set current(value){var e=a.value;e!==value&&(a.value=value,a.callback(value,e))}}}})[0]).callback=n,l=a.facade,t6(function(){var e=t8.get(l);if(e){var t=new Set(e),n=new Set(r),a=l.current;t.forEach(function(e){n.has(e)||t3(e,null)}),n.forEach(function(e){t.has(e)||t3(e,a)})}t8.set(l,r)},[r]),l),k=t1(t1({},N),c);return o.createElement(o.Fragment,null,h&&o.createElement(g,{sideCar:t7,removeScrollBar:p,shards:x,noIsolation:v,inert:y,setCallbacks:d,allowPinchZoom:!!b,lockRef:s,gapMode:j}),u?o.cloneElement(o.Children.only(f),t1(t1({},k),{ref:C})):o.createElement(void 0===w?"div":w,t1({},k,{className:m,ref:C}),f))});rt.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},rt.classNames={fullWidth:t4,zeroRight:t5};var rr=function(e){var t=e.sideCar,r=t2(e,["sideCar"]);if(!t)throw Error("Sidecar: please provide `sideCar` property to import the right car");var n=t.read();if(!n)throw Error("Sidecar medium not found");return o.createElement(n,t1({},r))};rr.isSideCarExport=!0;var rn=function(){var e=0,t=null;return{add:function(n){if(0==e&&(t=function(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=a||r.nc;return t&&e.setAttribute("nonce",t),e}())){var l,o;(l=t).styleSheet?l.styleSheet.cssText=n:l.appendChild(document.createTextNode(n)),o=t,(document.head||document.getElementsByTagName("head")[0]).appendChild(o)}e++},remove:function(){--e||!t||(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},ra=function(){var e=rn();return function(t,r){o.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&r])}},rl=function(){var e=ra();return function(t){return e(t.styles,t.dynamic),null}},ro={left:0,top:0,right:0,gap:0},rs=function(e){return parseInt(e||"",10)||0},ri=function(e){var t=window.getComputedStyle(document.body),r=t["padding"===e?"paddingLeft":"marginLeft"],n=t["padding"===e?"paddingTop":"marginTop"],a=t["padding"===e?"paddingRight":"marginRight"];return[rs(r),rs(n),rs(a)]},rc=function(e){if(void 0===e&&(e="margin"),"undefined"==typeof window)return ro;var t=ri(e),r=document.documentElement.clientWidth,n=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,n-r+t[2]-t[0])}},rd=rl(),ru="data-scroll-locked",rf=function(e,t,r,n){var a=e.left,l=e.top,o=e.right,s=e.gap;return void 0===r&&(r="margin"),"\n .".concat("with-scroll-bars-hidden"," {\n overflow: hidden ").concat(n,";\n padding-right: ").concat(s,"px ").concat(n,";\n }\n body[").concat(ru,"] {\n overflow: hidden ").concat(n,";\n overscroll-behavior: contain;\n ").concat([t&&"position: relative ".concat(n,";"),"margin"===r&&"\n padding-left: ".concat(a,"px;\n padding-top: ").concat(l,"px;\n padding-right: ").concat(o,"px;\n margin-left:0;\n margin-top:0;\n margin-right: ").concat(s,"px ").concat(n,";\n "),"padding"===r&&"padding-right: ".concat(s,"px ").concat(n,";")].filter(Boolean).join(""),"\n }\n \n .").concat(t5," {\n right: ").concat(s,"px ").concat(n,";\n }\n \n .").concat(t4," {\n margin-right: ").concat(s,"px ").concat(n,";\n }\n \n .").concat(t5," .").concat(t5," {\n right: 0 ").concat(n,";\n }\n \n .").concat(t4," .").concat(t4," {\n margin-right: 0 ").concat(n,";\n }\n \n body[").concat(ru,"] {\n ").concat("--removed-body-scroll-bar-size",": ").concat(s,"px;\n }\n")},rm=function(){var e=parseInt(document.body.getAttribute(ru)||"0",10);return isFinite(e)?e:0},rp=function(){o.useEffect(function(){return document.body.setAttribute(ru,(rm()+1).toString()),function(){var e=rm()-1;e<=0?document.body.removeAttribute(ru):document.body.setAttribute(ru,e.toString())}},[])},rh=function(e){var t=e.noRelative,r=e.noImportant,n=e.gapMode,a=void 0===n?"margin":n;rp();var l=o.useMemo(function(){return rc(a)},[a]);return o.createElement(rd,{styles:rf(l,!t,a,r?"":"!important")})},rx=!1;if("undefined"!=typeof window)try{var rg=Object.defineProperty({},"passive",{get:function(){return rx=!0,!0}});window.addEventListener("test",rg,rg),window.removeEventListener("test",rg,rg)}catch(e){rx=!1}var rv=!!rx&&{passive:!1},ry=function(e,t){if(!(e instanceof Element))return!1;var r=window.getComputedStyle(e);return"hidden"!==r[t]&&!(r.overflowY===r.overflowX&&"TEXTAREA"!==e.tagName&&"visible"===r[t])},rb=function(e,t){var r=t.ownerDocument,n=t;do{if("undefined"!=typeof ShadowRoot&&n instanceof ShadowRoot&&(n=n.host),rw(e,n)){var a=rj(e,n);if(a[1]>a[2])return!0}n=n.parentNode}while(n&&n!==r.body);return!1},rw=function(e,t){return"v"===e?ry(t,"overflowY"):ry(t,"overflowX")},rj=function(e,t){return"v"===e?[t.scrollTop,t.scrollHeight,t.clientHeight]:[t.scrollLeft,t.scrollWidth,t.clientWidth]},rN=function(e,t,r,n,a){var l,o=(l=window.getComputedStyle(t).direction,"h"===e&&"rtl"===l?-1:1),s=o*n,i=r.target,c=t.contains(i),d=!1,u=s>0,f=0,m=0;do{var p=rj(e,i),h=p[0],x=p[1]-p[2]-o*h;(h||x)&&rw(e,i)&&(f+=x,m+=h),i instanceof ShadowRoot?i=i.host:i=i.parentNode}while(!c&&i!==document.body||c&&(t.contains(i)||t===i));return u&&(a&&1>Math.abs(f)||!a&&s>f)?d=!0:!u&&(a&&1>Math.abs(m)||!a&&-s>m)&&(d=!0),d},rC=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},rk=function(e){return[e.deltaX,e.deltaY]},rS=function(e){return e&&"current"in e?e.current:e},rR=0,rE=[];let rT=(n=function(e){var t=o.useRef([]),r=o.useRef([0,0]),n=o.useRef(),a=o.useState(rR++)[0],l=o.useState(rl)[0],s=o.useRef(e);o.useEffect(function(){s.current=e},[e]),o.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(a));var t=(function(e,t,r){if(r||2==arguments.length)for(var n,a=0,l=t.length;a<l;a++)!n&&a in t||(n||(n=Array.prototype.slice.call(t,0,a)),n[a]=t[a]);return e.concat(n||Array.prototype.slice.call(t))})([e.lockRef.current],(e.shards||[]).map(rS),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add("allow-interactivity-".concat(a))}),function(){document.body.classList.remove("block-interactivity-".concat(a)),t.forEach(function(e){return e.classList.remove("allow-interactivity-".concat(a))})}}},[e.inert,e.lockRef.current,e.shards]);var i=o.useCallback(function(e,t){if("touches"in e&&2===e.touches.length||"wheel"===e.type&&e.ctrlKey)return!s.current.allowPinchZoom;var a,l=rC(e),o=r.current,i="deltaX"in e?e.deltaX:o[0]-l[0],c="deltaY"in e?e.deltaY:o[1]-l[1],d=e.target,u=Math.abs(i)>Math.abs(c)?"h":"v";if("touches"in e&&"h"===u&&"range"===d.type)return!1;var f=rb(u,d);if(!f)return!0;if(f?a=u:(a="v"===u?"h":"v",f=rb(u,d)),!f)return!1;if(!n.current&&"changedTouches"in e&&(i||c)&&(n.current=a),!a)return!0;var m=n.current||a;return rN(m,t,e,"h"===m?i:c,!0)},[]),c=o.useCallback(function(e){if(rE.length&&rE[rE.length-1]===l){var r="deltaY"in e?rk(e):rC(e),n=t.current.filter(function(t){var n;return t.name===e.type&&(t.target===e.target||e.target===t.shadowParent)&&(n=t.delta)[0]===r[0]&&n[1]===r[1]})[0];if(n&&n.should){e.cancelable&&e.preventDefault();return}if(!n){var a=(s.current.shards||[]).map(rS).filter(Boolean).filter(function(t){return t.contains(e.target)});(a.length>0?i(e,a[0]):!s.current.noIsolation)&&e.cancelable&&e.preventDefault()}}},[]),d=o.useCallback(function(e,r,n,a){var l={name:e,delta:r,target:n,should:a,shadowParent:function(e){for(var t=null;null!==e;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}(n)};t.current.push(l),setTimeout(function(){t.current=t.current.filter(function(e){return e!==l})},1)},[]),u=o.useCallback(function(e){r.current=rC(e),n.current=void 0},[]),f=o.useCallback(function(t){d(t.type,rk(t),t.target,i(t,e.lockRef.current))},[]),m=o.useCallback(function(t){d(t.type,rC(t),t.target,i(t,e.lockRef.current))},[]);o.useEffect(function(){return rE.push(l),e.setCallbacks({onScrollCapture:f,onWheelCapture:f,onTouchMoveCapture:m}),document.addEventListener("wheel",c,rv),document.addEventListener("touchmove",c,rv),document.addEventListener("touchstart",u,rv),function(){rE=rE.filter(function(e){return e!==l}),document.removeEventListener("wheel",c,rv),document.removeEventListener("touchmove",c,rv),document.removeEventListener("touchstart",u,rv)}},[]);var p=e.removeScrollBar,h=e.inert;return o.createElement(o.Fragment,null,h?o.createElement(l,{styles:"\n .block-interactivity-".concat(a," {pointer-events: none;}\n .allow-interactivity-").concat(a," {pointer-events: all;}\n")}):null,p?o.createElement(rh,{gapMode:e.gapMode}):null)},t7.useMedium(n),rr);var rM=o.forwardRef(function(e,t){return o.createElement(rt,t1({},e,{ref:t,sideCar:rT}))});rM.classNames=rt.classNames;var rA=["Enter"," "],rD=["ArrowUp","PageDown","End"],r_=["ArrowDown","PageUp","Home",...rD],rO={ltr:[...rA,"ArrowRight"],rtl:[...rA,"ArrowLeft"]},rP={ltr:["ArrowLeft"],rtl:["ArrowRight"]},rL="Menu",[rI,r$,rF]=(0,_.N)(rL),[rU,rz]=(0,M.A)(rL,[rF,tm,t$]),rB=tm(),rH=t$(),[rW,rV]=rU(rL),[rK,rq]=rU(rL),rG=e=>{let{__scopeMenu:t,open:r=!1,children:n,dir:a,onOpenChange:s,modal:i=!0}=e,c=rB(t),[d,u]=o.useState(null),f=o.useRef(!1),m=(0,U.c)(s),p=P(a);return o.useEffect(()=>{let e=()=>{f.current=!0,document.addEventListener("pointerdown",t,{capture:!0,once:!0}),document.addEventListener("pointermove",t,{capture:!0,once:!0})},t=()=>f.current=!1;return document.addEventListener("keydown",e,{capture:!0}),()=>{document.removeEventListener("keydown",e,{capture:!0}),document.removeEventListener("pointerdown",t,{capture:!0}),document.removeEventListener("pointermove",t,{capture:!0})}},[]),(0,l.jsx)(tx,{...c,children:(0,l.jsx)(rW,{scope:t,open:r,onOpenChange:m,content:d,onContentChange:u,children:(0,l.jsx)(rK,{scope:t,onClose:o.useCallback(()=>m(!1),[m]),isUsingKeyboardRef:f,dir:p,modal:i,children:n})})})};rG.displayName=rL;var rY=o.forwardRef((e,t)=>{let{__scopeMenu:r,...n}=e,a=rB(r);return(0,l.jsx)(tv,{...a,...n,ref:t})});rY.displayName="MenuAnchor";var rX="MenuPortal",[rQ,rJ]=rU(rX,{forceMount:void 0}),rZ=e=>{let{__scopeMenu:t,forceMount:r,children:n,container:a}=e,o=rV(rX,t);return(0,l.jsx)(rQ,{scope:t,forceMount:r,children:(0,l.jsx)(tM.C,{present:r||o.open,children:(0,l.jsx)(tT.Z,{asChild:!0,container:a,children:n})})})};rZ.displayName=rX;var r0="MenuContent",[r1,r2]=rU(r0),r5=o.forwardRef((e,t)=>{let r=rJ(r0,e.__scopeMenu),{forceMount:n=r.forceMount,...a}=e,o=rV(r0,e.__scopeMenu),s=rq(r0,e.__scopeMenu);return(0,l.jsx)(rI.Provider,{scope:e.__scopeMenu,children:(0,l.jsx)(tM.C,{present:n||o.open,children:(0,l.jsx)(rI.Slot,{scope:e.__scopeMenu,children:s.modal?(0,l.jsx)(r4,{...a,ref:t}):(0,l.jsx)(r3,{...a,ref:t})})})})}),r4=o.forwardRef((e,t)=>{let r=rV(r0,e.__scopeMenu),n=o.useRef(null),a=(0,T.s)(t,n);return o.useEffect(()=>{let e=n.current;if(e)return t0(e)},[]),(0,l.jsx)(r6,{...e,ref:a,trapFocus:r.open,disableOutsidePointerEvents:r.open,disableOutsideScroll:!0,onFocusOutside:(0,E.m)(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>r.onOpenChange(!1)})}),r3=o.forwardRef((e,t)=>{let r=rV(r0,e.__scopeMenu);return(0,l.jsx)(r6,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>r.onOpenChange(!1)})}),r6=o.forwardRef((e,t)=>{let{__scopeMenu:r,loop:n=!1,trapFocus:a,onOpenAutoFocus:s,onCloseAutoFocus:i,disableOutsidePointerEvents:c,onEntryFocus:d,onEscapeKeyDown:u,onPointerDownOutside:f,onFocusOutside:m,onInteractOutside:p,onDismiss:h,disableOutsideScroll:x,...g}=e,v=rV(r0,r),y=rq(r0,r),b=rB(r),w=rH(r),j=r$(r),[N,C]=o.useState(null),k=o.useRef(null),S=(0,T.s)(t,k,v.onContentChange),R=o.useRef(0),M=o.useRef(""),A=o.useRef(0),D=o.useRef(null),_=o.useRef("right"),O=o.useRef(0),P=x?rM:o.Fragment,I=x?{as:tq.DX,allowPinchZoom:!0}:void 0,F=e=>{let t=M.current+e,r=j().filter(e=>!e.disabled),n=document.activeElement,a=r.find(e=>e.ref.current===n)?.textValue,l=function(e,t,r){var n;let a=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,l=(n=Math.max(r?e.indexOf(r):-1,0),e.map((t,r)=>e[(n+r)%e.length]));1===a.length&&(l=l.filter(e=>e!==r));let o=l.find(e=>e.toLowerCase().startsWith(a.toLowerCase()));return o!==r?o:void 0}(r.map(e=>e.textValue),t,a),o=r.find(e=>e.textValue===l)?.ref.current;(function e(t){M.current=t,window.clearTimeout(R.current),""!==t&&(R.current=window.setTimeout(()=>e(""),1e3))})(t),o&&setTimeout(()=>o.focus())};o.useEffect(()=>()=>window.clearTimeout(R.current),[]),$();let U=o.useCallback(e=>_.current===D.current?.side&&function(e,t){return!!t&&function(e,t){let{x:r,y:n}=e,a=!1;for(let e=0,l=t.length-1;e<t.length;l=e++){let o=t[e].x,s=t[e].y,i=t[l].x,c=t[l].y;s>n!=c>n&&r<(i-o)*(n-s)/(c-s)+o&&(a=!a)}return a}({x:e.clientX,y:e.clientY},t)}(e,D.current?.area),[]);return(0,l.jsx)(r1,{scope:r,searchRef:M,onItemEnter:o.useCallback(e=>{U(e)&&e.preventDefault()},[U]),onItemLeave:o.useCallback(e=>{U(e)||(k.current?.focus(),C(null))},[U]),onTriggerLeave:o.useCallback(e=>{U(e)&&e.preventDefault()},[U]),pointerGraceTimerRef:A,onPointerGraceIntentChange:o.useCallback(e=>{D.current=e},[]),children:(0,l.jsx)(P,{...I,children:(0,l.jsx)(W,{asChild:!0,trapped:a,onMountAutoFocus:(0,E.m)(s,e=>{e.preventDefault(),k.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:i,children:(0,l.jsx)(L.qW,{asChild:!0,disableOutsidePointerEvents:c,onEscapeKeyDown:u,onPointerDownOutside:f,onFocusOutside:m,onInteractOutside:p,onDismiss:h,children:(0,l.jsx)(tz,{asChild:!0,...w,dir:y.dir,orientation:"vertical",loop:n,currentTabStopId:N,onCurrentTabStopIdChange:C,onEntryFocus:(0,E.m)(d,e=>{y.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,l.jsx)(tj,{role:"menu","aria-orientation":"vertical","data-state":nj(v.open),"data-radix-menu-content":"",dir:y.dir,...b,...g,ref:S,style:{outline:"none",...g.style},onKeyDown:(0,E.m)(g.onKeyDown,e=>{let t=e.target.closest("[data-radix-menu-content]")===e.currentTarget,r=e.ctrlKey||e.altKey||e.metaKey,n=1===e.key.length;t&&("Tab"===e.key&&e.preventDefault(),!r&&n&&F(e.key));let a=k.current;if(e.target!==a||!r_.includes(e.key))return;e.preventDefault();let l=j().filter(e=>!e.disabled).map(e=>e.ref.current);rD.includes(e.key)&&l.reverse(),function(e){let t=document.activeElement;for(let r of e)if(r===t||(r.focus(),document.activeElement!==t))return}(l)}),onBlur:(0,E.m)(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(R.current),M.current="")}),onPointerMove:(0,E.m)(e.onPointerMove,nk(e=>{let t=e.target,r=O.current!==e.clientX;if(e.currentTarget.contains(t)&&r){let t=e.clientX>O.current?"right":"left";_.current=t,O.current=e.clientX}}))})})})})})})});r5.displayName=r0;var r8=o.forwardRef((e,t)=>{let{__scopeMenu:r,...n}=e;return(0,l.jsx)(D.sG.div,{role:"group",...n,ref:t})});r8.displayName="MenuGroup";var r9=o.forwardRef((e,t)=>{let{__scopeMenu:r,...n}=e;return(0,l.jsx)(D.sG.div,{...n,ref:t})});r9.displayName="MenuLabel";var r7="MenuItem",ne="menu.itemSelect",nt=o.forwardRef((e,t)=>{let{disabled:r=!1,onSelect:n,...a}=e,s=o.useRef(null),i=rq(r7,e.__scopeMenu),c=r2(r7,e.__scopeMenu),d=(0,T.s)(t,s),u=o.useRef(!1);return(0,l.jsx)(nr,{...a,ref:d,disabled:r,onClick:(0,E.m)(e.onClick,()=>{let e=s.current;if(!r&&e){let t=new CustomEvent(ne,{bubbles:!0,cancelable:!0});e.addEventListener(ne,e=>n?.(e),{once:!0}),(0,D.hO)(e,t),t.defaultPrevented?u.current=!1:i.onClose()}}),onPointerDown:t=>{e.onPointerDown?.(t),u.current=!0},onPointerUp:(0,E.m)(e.onPointerUp,e=>{u.current||e.currentTarget?.click()}),onKeyDown:(0,E.m)(e.onKeyDown,e=>{let t=""!==c.searchRef.current;!r&&(!t||" "!==e.key)&&rA.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})});nt.displayName=r7;var nr=o.forwardRef((e,t)=>{let{__scopeMenu:r,disabled:n=!1,textValue:a,...s}=e,i=r2(r7,r),c=rH(r),d=o.useRef(null),u=(0,T.s)(t,d),[f,m]=o.useState(!1),[p,h]=o.useState("");return o.useEffect(()=>{let e=d.current;e&&h((e.textContent??"").trim())},[s.children]),(0,l.jsx)(rI.ItemSlot,{scope:r,disabled:n,textValue:a??p,children:(0,l.jsx)(tW,{asChild:!0,...c,focusable:!n,children:(0,l.jsx)(D.sG.div,{role:"menuitem","data-highlighted":f?"":void 0,"aria-disabled":n||void 0,"data-disabled":n?"":void 0,...s,ref:u,onPointerMove:(0,E.m)(e.onPointerMove,nk(e=>{n?i.onItemLeave(e):(i.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:(0,E.m)(e.onPointerLeave,nk(e=>i.onItemLeave(e))),onFocus:(0,E.m)(e.onFocus,()=>m(!0)),onBlur:(0,E.m)(e.onBlur,()=>m(!1))})})})}),nn=o.forwardRef((e,t)=>{let{checked:r=!1,onCheckedChange:n,...a}=e;return(0,l.jsx)(nu,{scope:e.__scopeMenu,checked:r,children:(0,l.jsx)(nt,{role:"menuitemcheckbox","aria-checked":nN(r)?"mixed":r,...a,ref:t,"data-state":nC(r),onSelect:(0,E.m)(a.onSelect,()=>n?.(!!nN(r)||!r),{checkForDefaultPrevented:!1})})})});nn.displayName="MenuCheckboxItem";var na="MenuRadioGroup",[nl,no]=rU(na,{value:void 0,onValueChange:()=>{}}),ns=o.forwardRef((e,t)=>{let{value:r,onValueChange:n,...a}=e,o=(0,U.c)(n);return(0,l.jsx)(nl,{scope:e.__scopeMenu,value:r,onValueChange:o,children:(0,l.jsx)(r8,{...a,ref:t})})});ns.displayName=na;var ni="MenuRadioItem",nc=o.forwardRef((e,t)=>{let{value:r,...n}=e,a=no(ni,e.__scopeMenu),o=r===a.value;return(0,l.jsx)(nu,{scope:e.__scopeMenu,checked:o,children:(0,l.jsx)(nt,{role:"menuitemradio","aria-checked":o,...n,ref:t,"data-state":nC(o),onSelect:(0,E.m)(n.onSelect,()=>a.onValueChange?.(r),{checkForDefaultPrevented:!1})})})});nc.displayName=ni;var nd="MenuItemIndicator",[nu,nf]=rU(nd,{checked:!1}),nm=o.forwardRef((e,t)=>{let{__scopeMenu:r,forceMount:n,...a}=e,o=nf(nd,r);return(0,l.jsx)(tM.C,{present:n||nN(o.checked)||!0===o.checked,children:(0,l.jsx)(D.sG.span,{...a,ref:t,"data-state":nC(o.checked)})})});nm.displayName=nd;var np=o.forwardRef((e,t)=>{let{__scopeMenu:r,...n}=e;return(0,l.jsx)(D.sG.div,{role:"separator","aria-orientation":"horizontal",...n,ref:t})});np.displayName="MenuSeparator";var nh=o.forwardRef((e,t)=>{let{__scopeMenu:r,...n}=e,a=rB(r);return(0,l.jsx)(tk,{...a,...n,ref:t})});nh.displayName="MenuArrow";var[nx,ng]=rU("MenuSub"),nv="MenuSubTrigger",ny=o.forwardRef((e,t)=>{let r=rV(nv,e.__scopeMenu),n=rq(nv,e.__scopeMenu),a=ng(nv,e.__scopeMenu),s=r2(nv,e.__scopeMenu),i=o.useRef(null),{pointerGraceTimerRef:c,onPointerGraceIntentChange:d}=s,u={__scopeMenu:e.__scopeMenu},f=o.useCallback(()=>{i.current&&window.clearTimeout(i.current),i.current=null},[]);return o.useEffect(()=>f,[f]),o.useEffect(()=>{let e=c.current;return()=>{window.clearTimeout(e),d(null)}},[c,d]),(0,l.jsx)(rY,{asChild:!0,...u,children:(0,l.jsx)(nr,{id:a.triggerId,"aria-haspopup":"menu","aria-expanded":r.open,"aria-controls":a.contentId,"data-state":nj(r.open),...e,ref:(0,T.t)(t,a.onTriggerChange),onClick:t=>{e.onClick?.(t),e.disabled||t.defaultPrevented||(t.currentTarget.focus(),r.open||r.onOpenChange(!0))},onPointerMove:(0,E.m)(e.onPointerMove,nk(t=>{s.onItemEnter(t),t.defaultPrevented||e.disabled||r.open||i.current||(s.onPointerGraceIntentChange(null),i.current=window.setTimeout(()=>{r.onOpenChange(!0),f()},100))})),onPointerLeave:(0,E.m)(e.onPointerLeave,nk(e=>{f();let t=r.content?.getBoundingClientRect();if(t){let n=r.content?.dataset.side,a="right"===n,l=t[a?"left":"right"],o=t[a?"right":"left"];s.onPointerGraceIntentChange({area:[{x:e.clientX+(a?-5:5),y:e.clientY},{x:l,y:t.top},{x:o,y:t.top},{x:o,y:t.bottom},{x:l,y:t.bottom}],side:n}),window.clearTimeout(c.current),c.current=window.setTimeout(()=>s.onPointerGraceIntentChange(null),300)}else{if(s.onTriggerLeave(e),e.defaultPrevented)return;s.onPointerGraceIntentChange(null)}})),onKeyDown:(0,E.m)(e.onKeyDown,t=>{let a=""!==s.searchRef.current;!e.disabled&&(!a||" "!==t.key)&&rO[n.dir].includes(t.key)&&(r.onOpenChange(!0),r.content?.focus(),t.preventDefault())})})})});ny.displayName=nv;var nb="MenuSubContent",nw=o.forwardRef((e,t)=>{let r=rJ(r0,e.__scopeMenu),{forceMount:n=r.forceMount,...a}=e,s=rV(r0,e.__scopeMenu),i=rq(r0,e.__scopeMenu),c=ng(nb,e.__scopeMenu),d=o.useRef(null),u=(0,T.s)(t,d);return(0,l.jsx)(rI.Provider,{scope:e.__scopeMenu,children:(0,l.jsx)(tM.C,{present:n||s.open,children:(0,l.jsx)(rI.Slot,{scope:e.__scopeMenu,children:(0,l.jsx)(r6,{id:c.contentId,"aria-labelledby":c.triggerId,...a,ref:u,align:"start",side:"rtl"===i.dir?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{i.isUsingKeyboardRef.current&&d.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:(0,E.m)(e.onFocusOutside,e=>{e.target!==c.trigger&&s.onOpenChange(!1)}),onEscapeKeyDown:(0,E.m)(e.onEscapeKeyDown,e=>{i.onClose(),e.preventDefault()}),onKeyDown:(0,E.m)(e.onKeyDown,e=>{let t=e.currentTarget.contains(e.target),r=rP[i.dir].includes(e.key);t&&r&&(s.onOpenChange(!1),c.trigger?.focus(),e.preventDefault())})})})})})});function nj(e){return e?"open":"closed"}function nN(e){return"indeterminate"===e}function nC(e){return nN(e)?"indeterminate":e?"checked":"unchecked"}function nk(e){return t=>"mouse"===t.pointerType?e(t):void 0}nw.displayName=nb;var nS="DropdownMenu",[nR,nE]=(0,M.A)(nS,[rz]),nT=rz(),[nM,nA]=nR(nS),nD=e=>{let{__scopeDropdownMenu:t,children:r,dir:n,open:a,defaultOpen:s,onOpenChange:i,modal:c=!0}=e,d=nT(t),u=o.useRef(null),[f=!1,m]=(0,A.i)({prop:a,defaultProp:s,onChange:i});return(0,l.jsx)(nM,{scope:t,triggerId:Z(),triggerRef:u,contentId:Z(),open:f,onOpenChange:m,onOpenToggle:o.useCallback(()=>m(e=>!e),[m]),modal:c,children:(0,l.jsx)(rG,{...d,open:f,onOpenChange:m,dir:n,modal:c,children:r})})};nD.displayName=nS;var n_="DropdownMenuTrigger",nO=o.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,disabled:n=!1,...a}=e,o=nA(n_,r),s=nT(r);return(0,l.jsx)(rY,{asChild:!0,...s,children:(0,l.jsx)(D.sG.button,{type:"button",id:o.triggerId,"aria-haspopup":"menu","aria-expanded":o.open,"aria-controls":o.open?o.contentId:void 0,"data-state":o.open?"open":"closed","data-disabled":n?"":void 0,disabled:n,...a,ref:(0,T.t)(t,o.triggerRef),onPointerDown:(0,E.m)(e.onPointerDown,e=>{n||0!==e.button||!1!==e.ctrlKey||(o.onOpenToggle(),o.open||e.preventDefault())}),onKeyDown:(0,E.m)(e.onKeyDown,e=>{!n&&(["Enter"," "].includes(e.key)&&o.onOpenToggle(),"ArrowDown"===e.key&&o.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(e.key)&&e.preventDefault())})})})});nO.displayName=n_;var nP=e=>{let{__scopeDropdownMenu:t,...r}=e,n=nT(t);return(0,l.jsx)(rZ,{...n,...r})};nP.displayName="DropdownMenuPortal";var nL="DropdownMenuContent",nI=o.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,a=nA(nL,r),s=nT(r),i=o.useRef(!1);return(0,l.jsx)(r5,{id:a.contentId,"aria-labelledby":a.triggerId,...s,...n,ref:t,onCloseAutoFocus:(0,E.m)(e.onCloseAutoFocus,e=>{i.current||a.triggerRef.current?.focus(),i.current=!1,e.preventDefault()}),onInteractOutside:(0,E.m)(e.onInteractOutside,e=>{let t=e.detail.originalEvent,r=0===t.button&&!0===t.ctrlKey,n=2===t.button||r;(!a.modal||n)&&(i.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});nI.displayName=nL,o.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,a=nT(r);return(0,l.jsx)(r8,{...a,...n,ref:t})}).displayName="DropdownMenuGroup";var n$=o.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,a=nT(r);return(0,l.jsx)(r9,{...a,...n,ref:t})});n$.displayName="DropdownMenuLabel";var nF=o.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,a=nT(r);return(0,l.jsx)(nt,{...a,...n,ref:t})});nF.displayName="DropdownMenuItem";var nU=o.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,a=nT(r);return(0,l.jsx)(nn,{...a,...n,ref:t})});nU.displayName="DropdownMenuCheckboxItem",o.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,a=nT(r);return(0,l.jsx)(ns,{...a,...n,ref:t})}).displayName="DropdownMenuRadioGroup";var nz=o.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,a=nT(r);return(0,l.jsx)(nc,{...a,...n,ref:t})});nz.displayName="DropdownMenuRadioItem";var nB=o.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,a=nT(r);return(0,l.jsx)(nm,{...a,...n,ref:t})});nB.displayName="DropdownMenuItemIndicator";var nH=o.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,a=nT(r);return(0,l.jsx)(np,{...a,...n,ref:t})});nH.displayName="DropdownMenuSeparator",o.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,a=nT(r);return(0,l.jsx)(nh,{...a,...n,ref:t})}).displayName="DropdownMenuArrow";var nW=o.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,a=nT(r);return(0,l.jsx)(ny,{...a,...n,ref:t})});nW.displayName="DropdownMenuSubTrigger";var nV=o.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,a=nT(r);return(0,l.jsx)(nw,{...a,...n,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});nV.displayName="DropdownMenuSubContent";let nK=(0,d.A)("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]),nq=(0,d.A)("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]),nG=(0,d.A)("Circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);o.forwardRef(({className:e,inset:t,children:r,...n},a)=>(0,l.jsxs)(nW,{ref:a,className:(0,j.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",t&&"pl-8",e),...n,children:[r,(0,l.jsx)(nK,{className:"ml-auto"})]})).displayName=nW.displayName,o.forwardRef(({className:e,...t},r)=>(0,l.jsx)(nV,{ref:r,className:(0,j.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",e),...t})).displayName=nV.displayName;let nY=o.forwardRef(({className:e,sideOffset:t=4,...r},n)=>(0,l.jsx)(nP,{children:(0,l.jsx)(nI,{ref:n,sideOffset:t,className:(0,j.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",e),...r})}));nY.displayName=nI.displayName;let nX=o.forwardRef(({className:e,inset:t,...r},n)=>(0,l.jsx)(nF,{ref:n,className:(0,j.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",t&&"pl-8",e),...r}));nX.displayName=nF.displayName,o.forwardRef(({className:e,children:t,checked:r,...n},a)=>(0,l.jsxs)(nU,{ref:a,className:(0,j.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",e),checked:r,...n,children:[(0,l.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,l.jsx)(nB,{children:(0,l.jsx)(nq,{className:"h-4 w-4"})})}),t]})).displayName=nU.displayName,o.forwardRef(({className:e,children:t,...r},n)=>(0,l.jsxs)(nz,{ref:n,className:(0,j.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",e),...r,children:[(0,l.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,l.jsx)(nB,{children:(0,l.jsx)(nG,{className:"h-2 w-2 fill-current"})})}),t]})).displayName=nz.displayName,o.forwardRef(({className:e,inset:t,...r},n)=>(0,l.jsx)(n$,{ref:n,className:(0,j.cn)("px-2 py-1.5 text-sm font-semibold",t&&"pl-8",e),...r})).displayName=n$.displayName,o.forwardRef(({className:e,...t},r)=>(0,l.jsx)(nH,{ref:r,className:(0,j.cn)("-mx-1 my-1 h-px bg-muted",e),...t})).displayName=nH.displayName;var nQ=r(2899);let nJ=(0,C.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"}}),nZ=o.forwardRef(({className:e,variant:t,size:r,asChild:n=!1,...a},o)=>{let s=n?tq.DX:"button";return(0,l.jsx)(s,{className:(0,j.cn)(nJ({variant:t,size:r,className:e})),ref:o,...a})});function n0(e,[t,r]){return Math.min(r,Math.max(t,e))}nZ.displayName="Button";var n1="ScrollArea",[n2,n5]=(0,M.A)(n1),[n4,n3]=n2(n1),n6=o.forwardRef((e,t)=>{let{__scopeScrollArea:r,type:n="hover",dir:a,scrollHideDelay:s=600,...i}=e,[c,d]=o.useState(null),[u,f]=o.useState(null),[m,p]=o.useState(null),[h,x]=o.useState(null),[g,v]=o.useState(null),[y,b]=o.useState(0),[w,j]=o.useState(0),[N,C]=o.useState(!1),[k,S]=o.useState(!1),R=(0,T.s)(t,e=>d(e)),E=P(a);return(0,l.jsx)(n4,{scope:r,type:n,dir:E,scrollHideDelay:s,scrollArea:c,viewport:u,onViewportChange:f,content:m,onContentChange:p,scrollbarX:h,onScrollbarXChange:x,scrollbarXEnabled:N,onScrollbarXEnabledChange:C,scrollbarY:g,onScrollbarYChange:v,scrollbarYEnabled:k,onScrollbarYEnabledChange:S,onCornerWidthChange:b,onCornerHeightChange:j,children:(0,l.jsx)(D.sG.div,{dir:E,...i,ref:R,style:{position:"relative","--radix-scroll-area-corner-width":y+"px","--radix-scroll-area-corner-height":w+"px",...e.style}})})});n6.displayName=n1;var n8="ScrollAreaViewport",n9=o.forwardRef((e,t)=>{let{__scopeScrollArea:r,children:n,nonce:a,...s}=e,i=n3(n8,r),c=o.useRef(null),d=(0,T.s)(t,c,i.onViewportChange);return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:a}),(0,l.jsx)(D.sG.div,{"data-radix-scroll-area-viewport":"",...s,ref:d,style:{overflowX:i.scrollbarXEnabled?"scroll":"hidden",overflowY:i.scrollbarYEnabled?"scroll":"hidden",...e.style},children:(0,l.jsx)("div",{ref:i.onContentChange,style:{minWidth:"100%",display:"table"},children:n})})]})});n9.displayName=n8;var n7="ScrollAreaScrollbar",ae=o.forwardRef((e,t)=>{let{forceMount:r,...n}=e,a=n3(n7,e.__scopeScrollArea),{onScrollbarXEnabledChange:s,onScrollbarYEnabledChange:i}=a,c="horizontal"===e.orientation;return o.useEffect(()=>(c?s(!0):i(!0),()=>{c?s(!1):i(!1)}),[c,s,i]),"hover"===a.type?(0,l.jsx)(at,{...n,ref:t,forceMount:r}):"scroll"===a.type?(0,l.jsx)(ar,{...n,ref:t,forceMount:r}):"auto"===a.type?(0,l.jsx)(an,{...n,ref:t,forceMount:r}):"always"===a.type?(0,l.jsx)(aa,{...n,ref:t}):null});ae.displayName=n7;var at=o.forwardRef((e,t)=>{let{forceMount:r,...n}=e,a=n3(n7,e.__scopeScrollArea),[s,i]=o.useState(!1);return o.useEffect(()=>{let e=a.scrollArea,t=0;if(e){let r=()=>{window.clearTimeout(t),i(!0)},n=()=>{t=window.setTimeout(()=>i(!1),a.scrollHideDelay)};return e.addEventListener("pointerenter",r),e.addEventListener("pointerleave",n),()=>{window.clearTimeout(t),e.removeEventListener("pointerenter",r),e.removeEventListener("pointerleave",n)}}},[a.scrollArea,a.scrollHideDelay]),(0,l.jsx)(tM.C,{present:r||s,children:(0,l.jsx)(an,{"data-state":s?"visible":"hidden",...n,ref:t})})}),ar=o.forwardRef((e,t)=>{var r,n;let{forceMount:a,...s}=e,i=n3(n7,e.__scopeScrollArea),c="horizontal"===e.orientation,d=aj(()=>f("SCROLL_END"),100),[u,f]=(r="hidden",n={hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}},o.useReducer((e,t)=>n[e][t]??e,r));return o.useEffect(()=>{if("idle"===u){let e=window.setTimeout(()=>f("HIDE"),i.scrollHideDelay);return()=>window.clearTimeout(e)}},[u,i.scrollHideDelay,f]),o.useEffect(()=>{let e=i.viewport,t=c?"scrollLeft":"scrollTop";if(e){let r=e[t],n=()=>{let n=e[t];r!==n&&(f("SCROLL"),d()),r=n};return e.addEventListener("scroll",n),()=>e.removeEventListener("scroll",n)}},[i.viewport,c,f,d]),(0,l.jsx)(tM.C,{present:a||"hidden"!==u,children:(0,l.jsx)(aa,{"data-state":"hidden"===u?"hidden":"visible",...s,ref:t,onPointerEnter:(0,E.m)(e.onPointerEnter,()=>f("POINTER_ENTER")),onPointerLeave:(0,E.m)(e.onPointerLeave,()=>f("POINTER_LEAVE"))})})}),an=o.forwardRef((e,t)=>{let r=n3(n7,e.__scopeScrollArea),{forceMount:n,...a}=e,[s,i]=o.useState(!1),c="horizontal"===e.orientation,d=aj(()=>{if(r.viewport){let e=r.viewport.offsetWidth<r.viewport.scrollWidth,t=r.viewport.offsetHeight<r.viewport.scrollHeight;i(c?e:t)}},10);return aN(r.viewport,d),aN(r.content,d),(0,l.jsx)(tM.C,{present:n||s,children:(0,l.jsx)(aa,{"data-state":s?"visible":"hidden",...a,ref:t})})}),aa=o.forwardRef((e,t)=>{let{orientation:r="vertical",...n}=e,a=n3(n7,e.__scopeScrollArea),s=o.useRef(null),i=o.useRef(0),[c,d]=o.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),u=ag(c.viewport,c.content),f={...n,sizes:c,onSizesChange:d,hasThumb:!!(u>0&&u<1),onThumbChange:e=>s.current=e,onThumbPointerUp:()=>i.current=0,onThumbPointerDown:e=>i.current=e};function m(e,t){return function(e,t,r,n="ltr"){let a=av(r),l=t||a/2,o=r.scrollbar.paddingStart+l,s=r.scrollbar.size-r.scrollbar.paddingEnd-(a-l),i=r.content-r.viewport;return ab([o,s],"ltr"===n?[0,i]:[-1*i,0])(e)}(e,i.current,c,t)}return"horizontal"===r?(0,l.jsx)(al,{...f,ref:t,onThumbPositionChange:()=>{if(a.viewport&&s.current){let e=ay(a.viewport.scrollLeft,c,a.dir);s.current.style.transform=`translate3d(${e}px, 0, 0)`}},onWheelScroll:e=>{a.viewport&&(a.viewport.scrollLeft=e)},onDragScroll:e=>{a.viewport&&(a.viewport.scrollLeft=m(e,a.dir))}}):"vertical"===r?(0,l.jsx)(ao,{...f,ref:t,onThumbPositionChange:()=>{if(a.viewport&&s.current){let e=ay(a.viewport.scrollTop,c);s.current.style.transform=`translate3d(0, ${e}px, 0)`}},onWheelScroll:e=>{a.viewport&&(a.viewport.scrollTop=e)},onDragScroll:e=>{a.viewport&&(a.viewport.scrollTop=m(e))}}):null}),al=o.forwardRef((e,t)=>{let{sizes:r,onSizesChange:n,...a}=e,s=n3(n7,e.__scopeScrollArea),[i,c]=o.useState(),d=o.useRef(null),u=(0,T.s)(t,d,s.onScrollbarXChange);return o.useEffect(()=>{d.current&&c(getComputedStyle(d.current))},[d]),(0,l.jsx)(ac,{"data-orientation":"horizontal",...a,ref:u,sizes:r,style:{bottom:0,left:"rtl"===s.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===s.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":av(r)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,r)=>{if(s.viewport){let n=s.viewport.scrollLeft+t.deltaX;e.onWheelScroll(n),function(e,t){return e>0&&e<t}(n,r)&&t.preventDefault()}},onResize:()=>{d.current&&s.viewport&&i&&n({content:s.viewport.scrollWidth,viewport:s.viewport.offsetWidth,scrollbar:{size:d.current.clientWidth,paddingStart:ax(i.paddingLeft),paddingEnd:ax(i.paddingRight)}})}})}),ao=o.forwardRef((e,t)=>{let{sizes:r,onSizesChange:n,...a}=e,s=n3(n7,e.__scopeScrollArea),[i,c]=o.useState(),d=o.useRef(null),u=(0,T.s)(t,d,s.onScrollbarYChange);return o.useEffect(()=>{d.current&&c(getComputedStyle(d.current))},[d]),(0,l.jsx)(ac,{"data-orientation":"vertical",...a,ref:u,sizes:r,style:{top:0,right:"ltr"===s.dir?0:void 0,left:"rtl"===s.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":av(r)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,r)=>{if(s.viewport){let n=s.viewport.scrollTop+t.deltaY;e.onWheelScroll(n),function(e,t){return e>0&&e<t}(n,r)&&t.preventDefault()}},onResize:()=>{d.current&&s.viewport&&i&&n({content:s.viewport.scrollHeight,viewport:s.viewport.offsetHeight,scrollbar:{size:d.current.clientHeight,paddingStart:ax(i.paddingTop),paddingEnd:ax(i.paddingBottom)}})}})}),[as,ai]=n2(n7),ac=o.forwardRef((e,t)=>{let{__scopeScrollArea:r,sizes:n,hasThumb:a,onThumbChange:s,onThumbPointerUp:i,onThumbPointerDown:c,onThumbPositionChange:d,onDragScroll:u,onWheelScroll:f,onResize:m,...p}=e,h=n3(n7,r),[x,g]=o.useState(null),v=(0,T.s)(t,e=>g(e)),y=o.useRef(null),b=o.useRef(""),w=h.viewport,j=n.content-n.viewport,N=(0,U.c)(f),C=(0,U.c)(d),k=aj(m,10);function S(e){y.current&&u({x:e.clientX-y.current.left,y:e.clientY-y.current.top})}return o.useEffect(()=>{let e=e=>{let t=e.target;x?.contains(t)&&N(e,j)};return document.addEventListener("wheel",e,{passive:!1}),()=>document.removeEventListener("wheel",e,{passive:!1})},[w,x,j,N]),o.useEffect(C,[n,C]),aN(x,k),aN(h.content,k),(0,l.jsx)(as,{scope:r,scrollbar:x,hasThumb:a,onThumbChange:(0,U.c)(s),onThumbPointerUp:(0,U.c)(i),onThumbPositionChange:C,onThumbPointerDown:(0,U.c)(c),children:(0,l.jsx)(D.sG.div,{...p,ref:v,style:{position:"absolute",...p.style},onPointerDown:(0,E.m)(e.onPointerDown,e=>{0===e.button&&(e.target.setPointerCapture(e.pointerId),y.current=x.getBoundingClientRect(),b.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",h.viewport&&(h.viewport.style.scrollBehavior="auto"),S(e))}),onPointerMove:(0,E.m)(e.onPointerMove,S),onPointerUp:(0,E.m)(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=b.current,h.viewport&&(h.viewport.style.scrollBehavior=""),y.current=null})})})}),ad="ScrollAreaThumb",au=o.forwardRef((e,t)=>{let{forceMount:r,...n}=e,a=ai(ad,e.__scopeScrollArea);return(0,l.jsx)(tM.C,{present:r||a.hasThumb,children:(0,l.jsx)(af,{ref:t,...n})})}),af=o.forwardRef((e,t)=>{let{__scopeScrollArea:r,style:n,...a}=e,s=n3(ad,r),i=ai(ad,r),{onThumbPositionChange:c}=i,d=(0,T.s)(t,e=>i.onThumbChange(e)),u=o.useRef(void 0),f=aj(()=>{u.current&&(u.current(),u.current=void 0)},100);return o.useEffect(()=>{let e=s.viewport;if(e){let t=()=>{if(f(),!u.current){let t=aw(e,c);u.current=t,c()}};return c(),e.addEventListener("scroll",t),()=>e.removeEventListener("scroll",t)}},[s.viewport,f,c]),(0,l.jsx)(D.sG.div,{"data-state":i.hasThumb?"visible":"hidden",...a,ref:d,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...n},onPointerDownCapture:(0,E.m)(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),r=e.clientX-t.left,n=e.clientY-t.top;i.onThumbPointerDown({x:r,y:n})}),onPointerUp:(0,E.m)(e.onPointerUp,i.onThumbPointerUp)})});au.displayName=ad;var am="ScrollAreaCorner",ap=o.forwardRef((e,t)=>{let r=n3(am,e.__scopeScrollArea),n=!!(r.scrollbarX&&r.scrollbarY);return"scroll"!==r.type&&n?(0,l.jsx)(ah,{...e,ref:t}):null});ap.displayName=am;var ah=o.forwardRef((e,t)=>{let{__scopeScrollArea:r,...n}=e,a=n3(am,r),[s,i]=o.useState(0),[c,d]=o.useState(0),u=!!(s&&c);return aN(a.scrollbarX,()=>{let e=a.scrollbarX?.offsetHeight||0;a.onCornerHeightChange(e),d(e)}),aN(a.scrollbarY,()=>{let e=a.scrollbarY?.offsetWidth||0;a.onCornerWidthChange(e),i(e)}),u?(0,l.jsx)(D.sG.div,{...n,ref:t,style:{width:s,height:c,position:"absolute",right:"ltr"===a.dir?0:void 0,left:"rtl"===a.dir?0:void 0,bottom:0,...e.style}}):null});function ax(e){return e?parseInt(e,10):0}function ag(e,t){let r=e/t;return isNaN(r)?0:r}function av(e){let t=ag(e.viewport,e.content),r=e.scrollbar.paddingStart+e.scrollbar.paddingEnd;return Math.max((e.scrollbar.size-r)*t,18)}function ay(e,t,r="ltr"){let n=av(t),a=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,l=t.scrollbar.size-a,o=t.content-t.viewport,s=n0(e,"ltr"===r?[0,o]:[-1*o,0]);return ab([0,o],[0,l-n])(s)}function ab(e,t){return r=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let n=(t[1]-t[0])/(e[1]-e[0]);return t[0]+n*(r-e[0])}}var aw=(e,t=()=>{})=>{let r={left:e.scrollLeft,top:e.scrollTop},n=0;return function a(){let l={left:e.scrollLeft,top:e.scrollTop},o=r.left!==l.left,s=r.top!==l.top;(o||s)&&t(),r=l,n=window.requestAnimationFrame(a)}(),()=>window.cancelAnimationFrame(n)};function aj(e,t){let r=(0,U.c)(e),n=o.useRef(0);return o.useEffect(()=>()=>window.clearTimeout(n.current),[]),o.useCallback(()=>{window.clearTimeout(n.current),n.current=window.setTimeout(r,t)},[r,t])}function aN(e,t){let r=(0,U.c)(t);(0,X.N)(()=>{let t=0;if(e){let n=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(r)});return n.observe(e),()=>{window.cancelAnimationFrame(t),n.unobserve(e)}}},[e,r])}let aC=o.forwardRef(({className:e,children:t,...r},n)=>(0,l.jsxs)(n6,{ref:n,className:(0,j.cn)("relative overflow-hidden",e),...r,children:[(0,l.jsx)(n9,{className:"h-full w-full rounded-[inherit]",children:t}),(0,l.jsx)(ak,{}),(0,l.jsx)(ap,{})]}));aC.displayName=n6.displayName;let ak=o.forwardRef(({className:e,orientation:t="vertical",...r},n)=>(0,l.jsx)(ae,{ref:n,orientation:t,className:(0,j.cn)("flex touch-none select-none transition-colors","vertical"===t&&"h-full w-2.5 border-l border-l-transparent p-[1px]","horizontal"===t&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",e),...r,children:(0,l.jsx)(au,{className:"relative flex-1 rounded-full bg-border"})}));ak.displayName=ae.displayName;let aS=o.forwardRef(({className:e,...t},r)=>(0,l.jsx)("div",{className:"relative w-full overflow-auto",children:(0,l.jsx)("table",{ref:r,className:(0,j.cn)("w-full caption-bottom text-sm",e),...t})}));aS.displayName="Table";let aR=o.forwardRef(({className:e,...t},r)=>(0,l.jsx)("thead",{ref:r,className:(0,j.cn)("[&_tr]:border-b",e),...t}));aR.displayName="TableHeader";let aE=o.forwardRef(({className:e,...t},r)=>(0,l.jsx)("tbody",{ref:r,className:(0,j.cn)("[&_tr:last-child]:border-0",e),...t}));aE.displayName="TableBody",o.forwardRef(({className:e,...t},r)=>(0,l.jsx)("tfoot",{ref:r,className:(0,j.cn)("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",e),...t})).displayName="TableFooter";let aT=o.forwardRef(({className:e,...t},r)=>(0,l.jsx)("tr",{ref:r,className:(0,j.cn)("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",e),...t}));aT.displayName="TableRow";let aM=o.forwardRef(({className:e,...t},r)=>(0,l.jsx)("th",{ref:r,className:(0,j.cn)("h-10 px-2 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...t}));aM.displayName="TableHead";let aA=o.forwardRef(({className:e,...t},r)=>(0,l.jsx)("td",{ref:r,className:(0,j.cn)("p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...t}));aA.displayName="TableCell",o.forwardRef(({className:e,...t},r)=>(0,l.jsx)("caption",{ref:r,className:(0,j.cn)("mt-4 text-sm text-muted-foreground",e),...t})).displayName="TableCaption";var aD=r(1255);let a_=function({preview:e=[],onConfirm:t,onCancel:r,isConfirming:n,error:a,isLoading:s,success:i,databaseName:c,migrationsDir:d}){let[u,f]=(0,o.useState)(!0);if(s)return(0,l.jsx)("div",{className:"fixed bottom-4 right-4 z-50 font-sans w-[600px]",children:(0,l.jsx)("div",{className:"rounded-lg border p-4 shadow-lg bg-background",children:(0,l.jsxs)("div",{className:"flex items-start gap-3",children:[(0,l.jsx)(v,{className:"h-5 w-5 text-neutral-600 shrink-0 mt-0.5 animate-spin"}),(0,l.jsx)("div",{className:"flex-1 space-y-3",children:(0,l.jsxs)("div",{className:"space-y-1",children:[(0,l.jsxs)("p",{className:"font-medium text-neutral-800",children:["Preparing Push Migration",c?` \xb7 ${c}`:""]}),(0,l.jsx)("p",{className:"text-sm text-neutral-600",children:"Checking local migrations..."})]})})]})})});if(!e?.length)return(0,l.jsx)("div",{className:"fixed bottom-4 right-4 z-50 w-[600px]",children:(0,l.jsx)("div",{className:"rounded-lg border p-4",children:(0,l.jsx)("p",{className:"text-sm font-medium",children:"No migrations to preview"})})});let m=e.filter(e=>"will be applied"===e.action).length,p=e.filter(e=>"skipped"===e.action).length;e.filter(e=>"applied"===e.action).length;let h=e=>{switch(e){case"will be applied":return"\uD83D\uDD52️";case"applied":return"✅";case"skipped":return"⏭️";case"failed":return"❌";default:return""}};return(0,l.jsx)("div",{className:"fixed bottom-4 right-4 z-50 font-sans w-[600px]",children:(0,l.jsx)("div",{className:(0,j.cn)("rounded-lg border p-4 shadow-lg",a?"bg-destructive/15":"bg-background"),children:(0,l.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,l.jsxs)("div",{className:"space-y-2",children:[(0,l.jsxs)("div",{className:"flex items-center justify-between",children:[(0,l.jsxs)("h5",{className:"font-medium text-neutral-900",children:["Push Migration Preview",c&&(0,l.jsx)("span",{className:"ml-2 text-xs font-normal text-neutral-500 font-mono",children:c})]}),(0,l.jsx)("button",{onClick:r,className:"text-neutral-500 hover:text-neutral-900 p-1 rounded-md hover:bg-neutral-100",children:(0,l.jsx)(aD.A,{className:"h-4 w-4"})})]}),(0,l.jsxs)("p",{className:"text-sm text-neutral-700",children:[m," migration(s) \uD83D\uDD52️ pending, ",p," to ⏭️ skip"]}),(0,l.jsx)("p",{className:"text-xs text-neutral-400 font-mono",children:d?(0,l.jsxs)(l.Fragment,{children:["\uD83D\uDCC1 ",d]}):(0,l.jsx)("span",{className:"text-amber-600",children:'⚠ migrations_dir not set — using default "migrations/"'})}),a?(0,l.jsx)("p",{className:"text-sm text-destructive font-medium mt-1",children:a.message}):i&&(0,l.jsx)("p",{className:"text-sm text-green-700 font-medium mt-1",children:i})]}),(0,l.jsxs)("div",{children:[(0,l.jsx)("button",{onClick:()=>f(!u),className:"text-sm font-medium hover:underline",children:u?"Hide Details":"Show Details"}),u&&(0,l.jsx)(aC,{className:"h-[480px] mt-2 rounded border border-neutral-200",children:(0,l.jsxs)(aS,{children:[(0,l.jsx)(aR,{children:(0,l.jsxs)(aT,{children:[(0,l.jsx)(aM,{children:"Migration"}),(0,l.jsx)(aM,{className:"text-center w-24",children:"Status"})]})}),(0,l.jsx)(aE,{children:e.map((e,t)=>(0,l.jsxs)(aT,{children:[(0,l.jsx)(aA,{className:"font-mono text-xs",children:e.name}),(0,l.jsx)(aA,{className:"text-center align-middle",children:h(e.action)})]},t))})]})})]}),(0,l.jsxs)("p",{className:"text-xs text-neutral-400",children:["Seed files (",(0,l.jsx)("span",{className:"font-mono",children:"*seed*.sql"}),") are local-only and excluded from remote sync."]}),(0,l.jsxs)("div",{className:"flex gap-2 pt-1",children:[(0,l.jsx)(nZ,{onClick:t,disabled:n||0===m,className:"flex-1",children:n?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(v,{className:"mr-2 h-4 w-4 animate-spin"}),"Confirming..."]}):"Confirm Push"}),(0,l.jsx)(nZ,{variant:"outline",onClick:r,disabled:n,className:"flex-1",children:"Cancel"})]})]})})})},aO=function({preview:e=[],onConfirm:t,onCancel:r,onDataPull:n,isConfirming:a,isDataPulling:s,error:i,isLoading:c,success:d,databaseName:u,migrationsDir:f}){console.log("PullPreviewToast rendered with:",{previewLength:e.length,isConfirming:a,error:i,isLoading:c});let[m,p]=(0,o.useState)(!1);if(c)return console.log("Rendering loading state"),(0,l.jsx)("div",{className:"fixed bottom-4 right-4 z-50 font-sans w-[600px]",children:(0,l.jsx)("div",{className:"rounded-lg border p-4 shadow-lg bg-background",children:(0,l.jsxs)("div",{className:"flex items-start gap-3",children:[(0,l.jsx)(v,{className:"h-5 w-5 text-neutral-600 shrink-0 mt-0.5 animate-spin"}),(0,l.jsx)("div",{className:"flex-1 space-y-3",children:(0,l.jsxs)("div",{className:"space-y-1",children:[(0,l.jsxs)("p",{className:"font-medium text-neutral-800",children:["Preparing Pull Migration",u?` \xb7 ${u}`:""]}),(0,l.jsx)("p",{className:"text-sm text-neutral-600",children:"Checking remote migrations..."})]})})]})})});if(!e?.length)return console.log("No preview data available"),(0,l.jsx)("div",{className:"fixed bottom-4 right-4 z-50 w-[600px]",children:(0,l.jsx)("div",{className:"rounded-lg border bg-destructive/15 p-4",children:(0,l.jsx)("div",{className:"flex items-center gap-2",children:(0,l.jsx)("p",{className:"text-sm font-medium text-destructive",children:"No preview data available"})})})});let h=e.filter(e=>(e.migration||e.name||"").endsWith(".sql")),x=h.length;console.log("Migration stats:",{totalMigrations:x});let g=d&&!s&&!i;return(0,l.jsx)("div",{className:"fixed bottom-4 right-4 z-50 font-sans w-[600px]",children:(0,l.jsx)("div",{className:(0,j.cn)("rounded-lg border p-4 shadow-lg",i?"bg-destructive/15":"bg-background"),children:(0,l.jsx)("div",{className:"flex items-start gap-x-1",children:(0,l.jsxs)("div",{className:"flex-1 space-y-3",children:[(0,l.jsxs)("div",{className:"space-y-1",children:[(0,l.jsxs)("div",{className:"flex items-center justify-between",children:[(0,l.jsxs)("h5",{className:(0,j.cn)("font-medium",i?"text-destructive":"text-neutral-900"),children:[i?"Pull Migration Error":"Pull Migration Preview",u&&(0,l.jsx)("span",{className:"ml-2 text-xs font-normal text-neutral-500 font-mono",children:u})]}),(0,l.jsx)("button",{onClick:r,className:"text-neutral-500 hover:text-neutral-900 p-1 rounded-md hover:bg-neutral-100",children:(0,l.jsx)(aD.A,{className:"h-4 w-4"})})]}),(0,l.jsx)("p",{className:(0,j.cn)("text-sm",i?"text-destructive/80":"text-neutral-700"),children:`${x} migration(s) will be applied`}),(0,l.jsx)("p",{className:"text-xs text-neutral-400 font-mono",children:f?(0,l.jsxs)(l.Fragment,{children:["\uD83D\uDCC1 ",f]}):(0,l.jsx)("span",{className:"text-amber-600",children:'⚠ migrations_dir not set — using default "migrations/"'})}),i&&(0,l.jsx)("p",{className:"text-sm text-destructive font-medium mt-1",children:i.message}),d&&(0,l.jsx)("p",{className:"text-sm text-green-700 font-medium mt-1",children:d})]}),(0,l.jsxs)("div",{children:[(0,l.jsx)("button",{onClick:()=>p(!m),className:"text-sm font-medium hover:underline",children:m?"Hide Details":"Show Details"}),m&&(0,l.jsx)(aC,{className:"h-[480px] mt-2 rounded border border-neutral-200",children:(0,l.jsxs)("div",{className:"w-full",children:[(0,l.jsx)("div",{className:"bg-neutral-50 border-b px-4 py-2",children:(0,l.jsx)("div",{className:"text-sm font-medium text-neutral-600",children:"Migration"})}),(0,l.jsx)("div",{children:h.map((e,t)=>(0,l.jsx)("div",{className:"px-4 py-2 border-b last:border-0",children:(0,l.jsx)("div",{className:"font-mono text-xs",children:e.migration||e.name})},t))})]})})]}),(0,l.jsxs)("p",{className:"text-xs text-neutral-400",children:["Seed files (",(0,l.jsx)("span",{className:"font-mono",children:"*seed*.sql"}),") are local-only and excluded from remote sync."]}),(0,l.jsx)("div",{className:"flex flex-col gap-2 pt-1",children:(0,l.jsxs)("div",{className:"flex gap-2",children:[(0,l.jsx)(nZ,{onClick:t,disabled:a,className:`flex-1 ${a?"cursor-not-allowed opacity-50":""}`,children:a?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(v,{className:"h-4 w-4 animate-spin"}),"Confirming..."]}):"Confirm Pull"}),(0,l.jsxs)("div",{className:"flex-1 flex flex-col gap-2",children:[(0,l.jsx)(nZ,{onClick:n,disabled:!g,variant:"outline",className:`w-full ${g?"":"cursor-not-allowed opacity-50"}`,children:s?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(v,{className:"h-4 w-4 animate-spin"}),"Syncing remote data..."]}):"Sync remote data"}),(0,l.jsx)("p",{className:"text-xs text-neutral-500 text-center",children:"75 records per table"})]})]})})]})})})})};function aP(){let[e]=(0,o.useState)(!1),[t,r]=(0,o.useState)(!1),[n,a]=(0,o.useState)(!1),[s,i]=(0,o.useState)(null),[c,d]=(0,o.useState)(null),[u,f]=(0,o.useState)(null),[m,p]=(0,o.useState)(null),{refreshTables:h,setOperationStatus:x,setLastSyncTime:g,currentDatabase:v}=(0,nQ.t)(),y=()=>{a(!1),i(null),d(null),f(null),p(null)},b=async()=>{try{f("push"),a(!0),r(!0),d(null),p(null),i({preview:[]});let e=await fetch("/api/push-remote/preview",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({db:v?.database_name})}),t=await e.json();if(!t.success)throw Error(t.error?.message||"Failed to generate preview");i(t.details.details)}catch(e){console.error("Push to remote preview failed:",e),d(e),x("error",e.message||"Failed to generate push preview")}finally{r(!1)}},w=async()=>{try{r(!0),d(null),p(null);let e=await fetch("/api/push-remote/confirm",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({db:v?.database_name})}),t=await e.json();if(!t.success)throw Error(t.error?.message||"Failed to confirm push");i(e=>({...e,preview:e.preview.map(e=>({...e,action:"will be applied"===e.action?"applied":e.action}))})),p(`Applied ${t.details.applied} migration(s), skipped ${t.details.skipped}.`),g(),x("success",`Push complete — ${t.details.applied} migration(s) applied`)}catch(e){console.error("Push to remote confirm failed:",e),d(e)}finally{r(!1)}},j=async()=>{try{f("pull"),a(!0),r(!0),d(null),p(null),i({preview:[]});let e=await fetch("/api/pull-remote/preview",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({db:v?.database_name})}),t=await e.json();if(!t.success)throw Error(t.error?.message||"Failed to generate pull preview");i(t.details)}catch(e){console.error("Pull to remote preview failed:",e),d(e),x("error",e.message||"Failed to generate pull preview")}finally{r(!1)}},N=async()=>{try{r(!0),d(null),p(null);let e=await fetch("/api/pull-remote/confirm",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({db:v?.database_name})}),t=await e.json();if(!t.success)throw Error(t.error?.message||"Failed to confirm pull");p("Pull migrations applied successfully."),g(),x("success","Pull complete"),i(e=>({...e,preview:e.preview.map(e=>({...e,action:"will be applied"===e.action?"applied":e.action}))})),await h()}catch(e){console.error("Pull to remote confirm failed:",e),d(e)}finally{r(!1)}},C=n&&("pull"===u?(0,l.jsx)(aO,{preview:s?.preview||[],onConfirm:N,onCancel:y,isConfirming:t,error:c,success:m,isLoading:t&&!s?.preview?.length,databaseName:v?.database_name,migrationsDir:v?.migrations_dir}):(0,l.jsx)(a_,{preview:s?.preview||[],onConfirm:w,onCancel:y,isConfirming:t,error:c,success:m,isLoading:t&&!s?.preview?.length,databaseName:v?.database_name,migrationsDir:v?.migrations_dir}));return{isConnecting:e,isPushing:t,showPreview:n,pushToRemote:b,pullToRemotePreview:j,PreviewUI:C}}function aL({icon:e,label:t,view:r,currentView:n,onNavigate:a,disabled:o,pro:s,locked:i}){let c=n===r;return(0,l.jsxs)("button",{className:`w-full flex items-center gap-x-1.5 border rounded-md text-sm font-medium transition-colors px-2 py-2
|
|
2
|
+
${c?"bg-neutral-900 text-white":"bg-white hover:bg-neutral-100"}`,onClick:()=>a(r),disabled:o,title:i?"Pro license required — run: d1s --license YOUR-KEY":void 0,children:[(0,l.jsx)(e,{className:"h-[16px] w-[16px] flex-shrink-0"}),(0,l.jsx)("span",{className:"flex-1 text-left",children:t}),s&&i&&(0,l.jsx)(u,{className:"h-3 w-3 opacity-40 flex-shrink-0"})]})}function aI({className:e,currentView:t,onNavigate:r,onTableSelect:n}){let{tables:a,databases:s,currentDatabase:i,switchDatabase:d,isLoading:j,error:C,lastSyncTime:k}=(0,nQ.t)(),[E,T]=(0,o.useState)(""),[M,A]=(0,o.useState)(null),[D,_]=(0,o.useState)(!1),[O,P]=(0,o.useState)(!1),{isConnecting:L,isPushing:I,pushToRemote:$,pullToRemotePreview:F,PreviewUI:U}=aP(),z=(0,o.useMemo)(()=>{let e=[...a?.filter(e=>e.toLowerCase().includes(E.toLowerCase()))||[]].sort((e,t)=>e.localeCompare(t)),t=e.indexOf("d1_migrations");return -1!==t&&(e.splice(t,1),e.unshift("d1_migrations")),e},[a,E]),B=async e=>{try{_(!0),A(e),n(e)}catch(e){console.error("Error selecting table:",e)}finally{_(!1)}};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("aside",{className:`${e} top-[var(--banner-height,0px)] left-0 h-[calc(100vh-var(--banner-height,0px))] bg-neutral-50 p-4`,children:(0,l.jsxs)("div",{className:"flex flex-col h-full font-sans",children:[(0,l.jsxs)("div",{className:"flex items-center justify-between gap-2 mb-3",children:[(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)(f,{className:"h-5 w-5"}),(0,l.jsx)("span",{className:"font-mono font-bold text-sm",children:"d1-studio"})]}),(0,l.jsxs)("div",{className:"text-xs font-medium text-muted-foreground",children:["v",c.rE]})]}),C&&(0,l.jsxs)(S,{variant:"destructive",className:"mb-4",children:[(0,l.jsx)(m,{className:"h-4 w-4"}),(0,l.jsx)(R,{className:"text-sm ml-2",children:C})]}),(0,l.jsxs)("div",{className:"mb-1.5",children:[(0,l.jsx)("div",{className:"text-xs text-muted-foreground mb-1",children:"Database"}),(0,l.jsxs)(nD,{children:[(0,l.jsx)(nO,{asChild:!0,children:(0,l.jsxs)("button",{className:"flex items-center gap-1.5 text-sm font-semibold hover:text-foreground/80 transition-colors max-w-full w-full text-left",children:[(0,l.jsx)("span",{className:"truncate",children:i?.database_name||"Select database"}),i&&(0,l.jsxs)("span",{className:"shrink-0 text-[10px] font-medium px-1.5 py-0.5 rounded bg-green-100 text-green-700",children:["Local",i.hasLocal?" ✓":""]}),(0,l.jsx)(p,{className:"h-3 w-3 shrink-0 ml-auto opacity-50"})]})}),(0,l.jsx)(nY,{align:"start",className:"w-56",children:s.map(e=>(0,l.jsxs)(nX,{onClick:()=>d(e.database_name),className:`flex items-center justify-between gap-2 ${i?.database_name===e.database_name?"font-semibold bg-accent":""}`,children:[(0,l.jsx)("span",{className:"truncate",children:e.database_name}),(0,l.jsxs)("span",{className:"shrink-0 text-[10px] font-medium px-1.5 py-0.5 rounded bg-green-100 text-green-700",children:["Local",e.hasLocal?" ✓":""]})]},e.database_name))})]})]}),(0,l.jsxs)("div",{className:"mb-2",children:[(0,l.jsxs)("div",{className:"flex gap-1.5 mb-1",children:[(0,l.jsxs)("button",{onClick:F,disabled:!O||L||I,title:O?void 0:"Pro license required — run: d1s --license YOUR-KEY",className:"flex-1 flex items-center justify-center gap-1 text-xs font-medium border rounded-md px-2 py-1.5 bg-white hover:bg-neutral-100 disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:[O?(0,l.jsx)(h,{className:"h-3.5 w-3.5"}):(0,l.jsx)(u,{className:"h-3.5 w-3.5 opacity-40"}),"Pull"]}),(0,l.jsxs)("button",{onClick:$,disabled:!O||L||I,title:O?void 0:"Pro license required — run: d1s --license YOUR-KEY",className:"flex-1 flex items-center justify-center gap-1 text-xs font-medium border rounded-md px-2 py-1.5 bg-white hover:bg-neutral-100 disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:[O?(0,l.jsx)(x,{className:"h-3.5 w-3.5"}):(0,l.jsx)(u,{className:"h-3.5 w-3.5 opacity-40"}),"Push"]})]}),(0,l.jsx)("div",{className:"text-[11px] text-muted-foreground px-0.5",children:k?`Remote sync \xb7 ${function(e){if(!e)return null;let t=Math.floor((Date.now()-new Date(e).getTime())/1e3);return t<60?"just now":t<3600?`${Math.floor(t/60)} min ago`:t<86400?`${Math.floor(t/3600)}h ago`:`${Math.floor(t/86400)}d ago`}(k)}`:"Never synced"})]}),(0,l.jsxs)("div",{className:"relative mt-3 mb-2 bg-white",children:[(0,l.jsx)(g,{className:"absolute left-2 top-2.5 h-4 w-4 text-neutral-500"}),(0,l.jsx)(N,{placeholder:"Search tables",value:E,onChange:e=>T(e.target.value),className:"pl-7"})]}),(0,l.jsxs)("div",{className:"flex-1 min-h-0 flex flex-col",children:[(0,l.jsxs)("div",{className:"flex items-center justify-between mb-1 flex-none",children:[(0,l.jsxs)("h3",{className:"text-sm font-medium text-muted-foreground",children:["Tables ",a?.length?`(${a.length})`:""]}),j&&(0,l.jsx)(v,{className:"h-4 w-4 animate-spin text-muted-foreground"})]}),(0,l.jsx)("div",{className:"overflow-y-auto flex-1",children:(0,l.jsxs)("div",{className:"pr-2 pb-2",children:[!j&&0===z.length&&(0,l.jsx)("div",{className:"text-sm font-medium text-muted-foreground px-2 py-2",children:E?"No matching tables found":C?"Error loading tables":"No tables available"}),z.map(e=>(0,l.jsx)("button",{className:`w-full text-left text-sm font-medium rounded-md transition-colors px-2 py-2
|
|
3
|
+
${"table-view"===t&&M===e?"bg-[#F0F0F0] text-neutral-900 font-semibold":"text-neutral-700 hover:bg-[#F2F2F2]"}
|
|
4
|
+
${D&&"opacity-50 cursor-not-allowed"}`,onClick:()=>B(e),disabled:D,children:e},e))]})})]}),(0,l.jsxs)("div",{className:"pt-2 flex flex-col gap-1",children:[(0,l.jsx)(aL,{icon:y,label:"SQL editor",view:"sql-editor",currentView:t,onNavigate:r,disabled:D}),(0,l.jsx)(aL,{icon:b,label:"Schema",view:"schema",currentView:t,onNavigate:r,disabled:D}),(0,l.jsx)(aL,{icon:w,label:"Time travel",view:"time-travel",currentView:t,onNavigate:r,disabled:D||!O,pro:!0,locked:!O})]})]})}),U]})}function a$(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function aF(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function aU(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?aF(Object(r),!0).forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):aF(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function az(e){return function t(){for(var r=this,n=arguments.length,a=Array(n),l=0;l<n;l++)a[l]=arguments[l];return a.length>=e.length?e.apply(this,a):function(){for(var e=arguments.length,n=Array(e),l=0;l<e;l++)n[l]=arguments[l];return t.apply(r,[].concat(a,n))}}}function aB(e){return({}).toString.call(e).includes("Object")}function aH(e){return"function"==typeof e}var aW=az(function(e,t){throw Error(e[t]||e.default)})({initialIsRequired:"initial state is required",initialType:"initial state should be an object",initialContent:"initial state shouldn't be an empty object",handlerType:"handler should be an object or a function",handlersType:"all handlers should be a functions",selectorType:"selector should be a function",changeType:"provided value of changes should be an object",changeField:'it seams you want to change a field in the state which is not specified in the "initial" state',default:"an unknown error accured in `state-local` package"}),aV={changes:function(e,t){return aB(t)||aW("changeType"),Object.keys(t).some(function(t){return!Object.prototype.hasOwnProperty.call(e,t)})&&aW("changeField"),t},selector:function(e){aH(e)||aW("selectorType")},handler:function(e){aH(e)||aB(e)||aW("handlerType"),aB(e)&&Object.values(e).some(function(e){return!aH(e)})&&aW("handlersType")},initial:function(e){e||aW("initialIsRequired"),aB(e)||aW("initialType"),Object.keys(e).length||aW("initialContent")}};function aK(e,t){return aH(t)?t(e.current):t}function aq(e,t){return e.current=aU(aU({},e.current),t),t}function aG(e,t,r){return aH(t)?t(e.current):Object.keys(r).forEach(function(r){var n;return null===(n=t[r])||void 0===n?void 0:n.call(t,e.current[r])}),r}(function(e){return function t(){for(var r=this,n=arguments.length,a=Array(n),l=0;l<n;l++)a[l]=arguments[l];return a.length>=e.length?e.apply(this,a):function(){for(var e=arguments.length,n=Array(e),l=0;l<e;l++)n[l]=arguments[l];return t.apply(r,[].concat(a,n))}}})(function(e,t){throw Error(e[t]||e.default)})({configIsRequired:"the configuration object is required",configType:"the configuration object should be an object",default:"an unknown error accured in `@monaco-editor/loader` package",deprecation:"Deprecation warning!\n You are using deprecated way of configuration.\n\n Instead of using\n monaco.config({ urls: { monacoBase: '...' } })\n use\n monaco.config({ paths: { vs: '...' } })\n\n For more please check the link https://github.com/suren-atoyan/monaco-loader#config\n "});let aY=function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return function(e){return t.reduceRight(function(e,t){return t(e)},e)}};var aX={type:"cancelation",msg:"operation is manually canceled"};let aQ=function(e){var t=!1,r=new Promise(function(r,n){e.then(function(e){return t?n(aX):r(e)}),e.catch(n)});return r.cancel=function(){return t=!0},r};var aJ=function(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var r=[],n=!0,a=!1,l=void 0;try{for(var o,s=e[Symbol.iterator]();!(n=(o=s.next()).done)&&(r.push(o.value),2!==r.length);n=!0);}catch(e){a=!0,l=e}finally{try{n||null==s.return||s.return()}finally{if(a)throw l}}return r}}(e,2)||function(e,t){if(e){if("string"==typeof e)return a$(e,2);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return a$(e,t)}}(e,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(({create:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};aV.initial(e),aV.handler(t);var r={current:e},n=az(aG)(r,t),a=az(aq)(r),l=az(aV.changes)(e),o=az(aK)(r);return[function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(e){return e};return aV.selector(e),e(r.current)},function(e){(function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return function(e){return t.reduceRight(function(e,t){return t(e)},e)}})(n,a,l,o)(e)}]}}).create({config:{paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.43.0/min/vs"}},isInitialized:!1,resolve:null,reject:null,monaco:null}),0),aZ=aJ[0],a0=aJ[1];function a1(e){return document.body.appendChild(e)}function a2(e){var t,r,n=aZ(function(e){return{config:e.config,reject:e.reject}}),a=(t="".concat(n.config.paths.vs,"/loader.js"),r=document.createElement("script"),t&&(r.src=t),r);return a.onload=function(){return e()},a.onerror=n.reject,a}function a5(){var e=aZ(function(e){return{config:e.config,resolve:e.resolve,reject:e.reject}}),t=window.require;t.config(e.config),t(["vs/editor/editor.main"],function(t){a4(t),e.resolve(t)},function(t){e.reject(t)})}function a4(e){aZ().monaco||a0({monaco:e})}var a3=new Promise(function(e,t){return a0({resolve:e,reject:t})});let a6={init:function(){var e=aZ(function(e){return{monaco:e.monaco,isInitialized:e.isInitialized,resolve:e.resolve}});if(!e.isInitialized){if(a0({isInitialized:!0}),e.monaco)return e.resolve(e.monaco),aQ(a3);if(window.monaco&&window.monaco.editor)return a4(window.monaco),e.resolve(window.monaco),aQ(a3);aY(a1,a2)(a5)}return aQ(a3)}};var a8={wrapper:{display:"flex",position:"relative",textAlign:"initial"},fullWidth:{width:"100%"},hide:{display:"none"}},a9={container:{display:"flex",height:"100%",width:"100%",justifyContent:"center",alignItems:"center"}},a7=function({children:e}){return o.createElement("div",{style:a9.container},e)},le=(0,o.memo)(function({width:e,height:t,isEditorReady:r,loading:n,_ref:a,className:l,wrapperProps:s}){return o.createElement("section",{style:{...a8.wrapper,width:e,height:t},...s},!r&&o.createElement(a7,null,n),o.createElement("div",{ref:a,style:{...a8.fullWidth,...!r&&a8.hide},className:l}))}),lt=function(e){(0,o.useEffect)(e,[])},lr=function(e,t,r=!0){let n=(0,o.useRef)(!0);(0,o.useEffect)(n.current||!r?()=>{n.current=!1}:e,t)};function ln(){}function la(e,t,r,n){return e.editor.getModel(ll(e,n))||e.editor.createModel(t,r,n?ll(e,n):void 0)}function ll(e,t){return e.Uri.parse(t)}(0,o.memo)(function({original:e,modified:t,language:r,originalLanguage:n,modifiedLanguage:a,originalModelPath:l,modifiedModelPath:s,keepCurrentOriginalModel:i=!1,keepCurrentModifiedModel:c=!1,theme:d="light",loading:u="Loading...",options:f={},height:m="100%",width:p="100%",className:h,wrapperProps:x={},beforeMount:g=ln,onMount:v=ln}){let[y,b]=(0,o.useState)(!1),[w,j]=(0,o.useState)(!0),N=(0,o.useRef)(null),C=(0,o.useRef)(null),k=(0,o.useRef)(null),S=(0,o.useRef)(v),R=(0,o.useRef)(g),E=(0,o.useRef)(!1);lt(()=>{let e=a6.init();return e.then(e=>(C.current=e)&&j(!1)).catch(e=>e?.type!=="cancelation"&&console.error("Monaco initialization: error:",e)),()=>{let t;return N.current?(t=N.current?.getModel(),void(i||t?.original?.dispose(),c||t?.modified?.dispose(),N.current?.dispose())):e.cancel()}}),lr(()=>{if(N.current&&C.current){let t=N.current.getOriginalEditor(),a=la(C.current,e||"",n||r||"text",l||"");a!==t.getModel()&&t.setModel(a)}},[l],y),lr(()=>{if(N.current&&C.current){let e=N.current.getModifiedEditor(),n=la(C.current,t||"",a||r||"text",s||"");n!==e.getModel()&&e.setModel(n)}},[s],y),lr(()=>{let e=N.current.getModifiedEditor();e.getOption(C.current.editor.EditorOption.readOnly)?e.setValue(t||""):t!==e.getValue()&&(e.executeEdits("",[{range:e.getModel().getFullModelRange(),text:t||"",forceMoveMarkers:!0}]),e.pushUndoStop())},[t],y),lr(()=>{N.current?.getModel()?.original.setValue(e||"")},[e],y),lr(()=>{let{original:e,modified:t}=N.current.getModel();C.current.editor.setModelLanguage(e,n||r||"text"),C.current.editor.setModelLanguage(t,a||r||"text")},[r,n,a],y),lr(()=>{C.current?.editor.setTheme(d)},[d],y),lr(()=>{N.current?.updateOptions(f)},[f],y);let T=(0,o.useCallback)(()=>{if(!C.current)return;R.current(C.current);let o=la(C.current,e||"",n||r||"text",l||""),i=la(C.current,t||"",a||r||"text",s||"");N.current?.setModel({original:o,modified:i})},[r,t,a,e,n,l,s]),M=(0,o.useCallback)(()=>{!E.current&&k.current&&(N.current=C.current.editor.createDiffEditor(k.current,{automaticLayout:!0,...f}),T(),C.current?.editor.setTheme(d),b(!0),E.current=!0)},[f,d,T]);return(0,o.useEffect)(()=>{y&&S.current(N.current,C.current)},[y]),(0,o.useEffect)(()=>{w||y||M()},[w,y,M]),o.createElement(le,{width:p,height:m,isEditorReady:y,loading:u,_ref:k,className:h,wrapperProps:x})});var lo=function(e){let t=(0,o.useRef)();return(0,o.useEffect)(()=>{t.current=e},[e]),t.current},ls=new Map,li=(0,o.memo)(function({defaultValue:e,defaultLanguage:t,defaultPath:r,value:n,language:a,path:l,theme:s="light",line:i,loading:c="Loading...",options:d={},overrideServices:u={},saveViewState:f=!0,keepCurrentModel:m=!1,width:p="100%",height:h="100%",className:x,wrapperProps:g={},beforeMount:v=ln,onMount:y=ln,onChange:b,onValidate:w=ln}){let[j,N]=(0,o.useState)(!1),[C,k]=(0,o.useState)(!0),S=(0,o.useRef)(null),R=(0,o.useRef)(null),E=(0,o.useRef)(null),T=(0,o.useRef)(y),M=(0,o.useRef)(v),A=(0,o.useRef)(),D=(0,o.useRef)(n),_=lo(l),O=(0,o.useRef)(!1),P=(0,o.useRef)(!1);lt(()=>{let e=a6.init();return e.then(e=>(S.current=e)&&k(!1)).catch(e=>e?.type!=="cancelation"&&console.error("Monaco initialization: error:",e)),()=>R.current?void(A.current?.dispose(),m?f&&ls.set(l,R.current.saveViewState()):R.current.getModel()?.dispose(),R.current.dispose()):e.cancel()}),lr(()=>{let o=la(S.current,e||n||"",t||a||"",l||r||"");o!==R.current?.getModel()&&(f&&ls.set(_,R.current?.saveViewState()),R.current?.setModel(o),f&&R.current?.restoreViewState(ls.get(l)))},[l],j),lr(()=>{R.current?.updateOptions(d)},[d],j),lr(()=>{R.current&&void 0!==n&&(R.current.getOption(S.current.editor.EditorOption.readOnly)?R.current.setValue(n):n===R.current.getValue()||(P.current=!0,R.current.executeEdits("",[{range:R.current.getModel().getFullModelRange(),text:n,forceMoveMarkers:!0}]),R.current.pushUndoStop(),P.current=!1))},[n],j),lr(()=>{let e=R.current?.getModel();e&&a&&S.current?.editor.setModelLanguage(e,a)},[a],j),lr(()=>{void 0!==i&&R.current?.revealLine(i)},[i],j),lr(()=>{S.current?.editor.setTheme(s)},[s],j);let L=(0,o.useCallback)(()=>{if(!(!E.current||!S.current)&&!O.current){M.current(S.current);let o=l||r,c=la(S.current,n||e||"",t||a||"",o||"");R.current=S.current?.editor.create(E.current,{model:c,automaticLayout:!0,...d},u),f&&R.current.restoreViewState(ls.get(o)),S.current.editor.setTheme(s),void 0!==i&&R.current.revealLine(i),N(!0),O.current=!0}},[e,t,r,n,a,l,d,u,f,s,i]);return(0,o.useEffect)(()=>{j&&T.current(R.current,S.current)},[j]),(0,o.useEffect)(()=>{C||j||L()},[C,j,L]),D.current=n,(0,o.useEffect)(()=>{j&&b&&(A.current?.dispose(),A.current=R.current?.onDidChangeModelContent(e=>{P.current||b(R.current.getValue(),e)}))},[j,b]),(0,o.useEffect)(()=>{if(j){let e=S.current.editor.onDidChangeMarkers(e=>{let t=R.current.getModel()?.uri;if(t&&e.find(e=>e.path===t.path)){let e=S.current.editor.getModelMarkers({resource:t});w?.(e)}});return()=>{e?.dispose()}}return()=>{}},[j,w]),o.createElement(le,{width:p,height:h,isEditorReady:j,loading:c,_ref:E,className:x,wrapperProps:g})});let lc=(0,d.A)("GripHorizontal",[["circle",{cx:"12",cy:"9",r:"1",key:"124mty"}],["circle",{cx:"19",cy:"9",r:"1",key:"1ruzo2"}],["circle",{cx:"5",cy:"9",r:"1",key:"1a8b28"}],["circle",{cx:"12",cy:"15",r:"1",key:"1e56xg"}],["circle",{cx:"19",cy:"15",r:"1",key:"1a92ep"}],["circle",{cx:"5",cy:"15",r:"1",key:"5r1jwy"}]]),ld=(0,d.A)("Command",[["path",{d:"M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3",key:"11bfej"}]]),lu=(0,d.A)("CornerDownLeft",[["polyline",{points:"9 10 4 15 9 20",key:"r3jprv"}],["path",{d:"M20 4v7a4 4 0 0 1-4 4H4",key:"6o5b7l"}]]);function lf({results:e}){return e&&Array.isArray(e)?(0,l.jsxs)("div",{className:"text-xs font-medium text-neutral-900 flex items-center gap-2 mb-2",children:[e.length," ",1===e.length?"row":"rows"," returned"]}):null}function lm({error:e}){console.debug("SQLErrorDisplay - Received error prop:",e);let t=e&&"string"==typeof e.message?e:{message:"An unknown error occurred",details:{}};return(0,l.jsxs)("div",{children:[(0,l.jsx)("div",{className:"text-neutral-700 text-sm",children:t.message}),t.details?.stderr&&(0,l.jsx)("pre",{className:"mt-2 p-2 text-xs text-red-500 whitespace-pre-wrap",children:t.details.stderr})]})}function lp({query:e,results:t}){if(!t?.length)return(0,l.jsx)("div",{className:"text-sm text-neutral-500",children:"No results to display."});let r=e?.trim().toLowerCase().startsWith("pragma table_info"),n=r?["Column Name","Type","Not Null","Default Value","Primary Key"]:Object.keys(t[0]),a=r?t.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"})):t;return(0,l.jsxs)("div",{className:"flex flex-col h-full",children:[(0,l.jsx)(lf,{results:a}),(0,l.jsx)("div",{className:"flex-1 overflow-auto border rounded-lg",children:(0,l.jsx)("div",{className:"min-w-full",children:(0,l.jsxs)(aS,{children:[(0,l.jsx)(aR,{children:(0,l.jsx)(aT,{className:"bg-muted/50",children:n.map(e=>(0,l.jsx)(aM,{className:"font-mono text-xs font-medium text-muted-foreground",children:e},e))})}),(0,l.jsx)(aE,{children:a.map((e,t)=>(0,l.jsx)(aT,{className:"hover:bg-muted/50",children:n.map(r=>{let n=e[r],a=null===n?"(null)":String(n);return(0,l.jsx)(aA,{className:"font-monospace text-xs whitespace-nowrap",children:a},`${t}-${r}`)})},t))})]})})})]})}let lh={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 lx(e){if(!e)return{type:lh.UNKNOWN_ERROR,message:"An unknown error occurred",details:{}};let t=null,r=e.cmd||e.details&&e.details.command;if(r){let e=r.match(/--command="(.+?)"\s*--json/s);e&&(t=e[1].replace(/\\n/g,"\n").replace(/\\"/g,'"'))}let n=e.stdout||e.details&&e.details.stdout;if(n)try{let e=JSON.parse(n.trim()),a=e?.error?.text||"";if(a)return lg(a,t,r)}catch{}let a=e.stderr||e.details&&e.details.stderr;if(a)return lg(a.replace(/\x1B\[[0-9;]*[a-zA-Z]/g,""),t,r);let l=e.message||e.details&&e.details.originalError||"";return l?lg(l,t,r):{type:lh.UNKNOWN_ERROR,message:e.message||"An unknown error occurred",details:{}}}function lg(e,t,r){if(e.includes("env: node: No such file or directory"))return{type:lh.EXECUTION_ERROR,message:"Node.js not found — ensure Node.js is installed and in PATH",details:{originalQuery:t}};let n=e.match(/near "([^"]+)": syntax error(?:\s+at offset (\d+))?/);if(n){let[,e,r]=n;return{type:lh.SYNTAX_ERROR,message:`Syntax error near "${e}"${r?` at position ${r}`:""}`,details:{originalQuery:t,errorLocation:{near:e,offset:r?parseInt(r):null}}}}if(e.includes("UNIQUE constraint failed")){let[,r]=e.match(/UNIQUE constraint failed: ([\w.]+)/)||[];return{type:lh.UNIQUE_CONSTRAINT_ERROR,message:`UNIQUE constraint failed: ${r||"unknown column"}`,details:{originalQuery:t}}}if(e.includes("NOT NULL constraint failed")){let[,r]=e.match(/NOT NULL constraint failed: ([\w.]+)/)||[];return{type:lh.NOT_NULL_CONSTRAINT_ERROR,message:`NOT NULL constraint failed: ${r||"unknown column"}`,details:{originalQuery:t}}}if(e.includes("CHECK constraint failed")){let[,r]=e.match(/CHECK constraint failed: (\S+)/)||[];return{type:lh.CHECK_CONSTRAINT_ERROR,message:`CHECK constraint failed: ${r||"unknown constraint"}`,details:{originalQuery:t}}}if(e.includes("FOREIGN KEY constraint failed"))return{type:lh.FOREIGN_KEY_ERROR,message:"FOREIGN KEY constraint failed",details:{originalQuery:t}};if(e.includes("no such table")){let[,r]=e.match(/no such table: (\S+)/)||[];return{type:lh.TABLE_NOT_FOUND,message:`Table not found: ${r||"unknown"}`,details:{originalQuery:t}}}if(e.includes("already exists")){let[,r]=e.match(/table (\w+) already exists/)||[];return{type:lh.TABLE_EXISTS,message:`Table already exists: ${r||"unknown"}`,details:{originalQuery:t}}}return{type:lh.EXECUTION_ERROR,message:e.replace(/:\s*SQLITE_\w+$/,"").trim()||"Failed to execute SQL command",details:{originalQuery:t}}}let lv={"Show Tables":`SELECT name
|
|
9
5
|
FROM sqlite_master
|
|
10
6
|
WHERE type='table'
|
|
11
7
|
AND name NOT LIKE 'sqlite_%';`,"Table Schema":`-- Table Schema
|
|
@@ -48,11 +44,15 @@ CREATE UNIQUE INDEX idx_new_table_email ON new_table(email);`,"Create View":`--
|
|
|
48
44
|
CREATE VIEW view_name AS
|
|
49
45
|
SELECT column1, column2
|
|
50
46
|
FROM table_name
|
|
51
|
-
WHERE condition;`},
|
|
52
|
-
${d?"visible":"invisible group-hover:visible"}`,children:(0,o.jsx)(os,{className:"h-3 w-3 text-white"})})}),(0,o.jsx)("div",{className:"px-4 py-3 bg-neutral-100 border-b font-sans",children:(0,o.jsxs)("div",{className:"flex justify-between items-center",children:[(0,o.jsx)("h3",{className:"text-sm font-medium",children:"Results"}),(0,o.jsxs)(tg,{size:"sm",onClick:g,disabled:a,className:"flex items-center gap-1 text-sm font-medium",children:["Run",a?(0,o.jsx)(m,{className:"h-4 w-4 animate-spin"}):(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(oc,{className:"h-4 w-4"}),(0,o.jsx)(od,{className:"h-4 w-4"})]})]})]})}),(0,o.jsx)("div",{className:"flex-1 overflow-auto p-4 bg-white",children:(()=>{if(a)return(0,o.jsxs)("div",{className:"flex items-center text-sm text-neutral-700",children:[(0,o.jsx)(m,{className:"h-4 w-4 animate-spin mr-2 font-sans"}),"Running your query..."]});if(!r)return(0,o.jsx)("div",{className:"text-sm text-neutral-500 font-sans",children:"Run the query to see the results."});if(!r.success)return console.debug("SQLEditor - Rendering error:",r.error),(0,o.jsx)(of,{error:r.error});let e=r.results;return e&&0!==e.length?(0,o.jsx)(op,{query:f.current?.getValue()||"",results:e}):(0,o.jsx)("div",{className:"text-sm text-neutral-900 font-sans",children:"Success. No results to display."})})()})]})}var l1="Checkbox",[l2,l4]=(0,C.A)(l1),[l5,l3]=l2(l1),l8=l.forwardRef((e,t)=>{let{__scopeCheckbox:r,name:n,checked:a,defaultChecked:i,required:s,disabled:c,value:d="on",onCheckedChange:u,form:f,...p}=e,[m,h]=l.useState(null),g=(0,N.s)(t,e=>h(e)),x=l.useRef(!1),v=!m||f||!!m.closest("form"),[y=!1,w]=(0,T.i)({prop:a,defaultProp:i,onChange:u}),b=l.useRef(y);return l.useEffect(()=>{let e=m?.form;if(e){let t=()=>w(b.current);return e.addEventListener("reset",t),()=>e.removeEventListener("reset",t)}},[m,w]),(0,o.jsxs)(l5,{scope:r,state:y,disabled:c,children:[(0,o.jsx)(M.sG.button,{type:"button",role:"checkbox","aria-checked":ie(y)?"mixed":y,"aria-required":s,"data-state":it(y),"data-disabled":c?"":void 0,disabled:c,value:d,...p,ref:g,onKeyDown:(0,j.m)(e.onKeyDown,e=>{"Enter"===e.key&&e.preventDefault()}),onClick:(0,j.m)(e.onClick,e=>{w(e=>!!ie(e)||!e),v&&(x.current=e.isPropagationStopped(),x.current||e.stopPropagation())})}),v&&(0,o.jsx)(l7,{control:m,bubbles:!x.current,name:n,value:d,checked:y,required:s,disabled:c,form:f,style:{transform:"translateX(-100%)"},defaultChecked:!ie(i)&&i})]})});l8.displayName=l1;var l9="CheckboxIndicator",l6=l.forwardRef((e,t)=>{let{__scopeCheckbox:r,forceMount:n,...a}=e,l=l3(l9,r);return(0,o.jsx)(V.C,{present:n||ie(l.state)||!0===l.state,children:(0,o.jsx)(M.sG.span,{"data-state":it(l.state),"data-disabled":l.disabled?"":void 0,...a,ref:t,style:{pointerEvents:"none",...e.style}})})});l6.displayName=l9;var l7=e=>{let{control:t,checked:r,bubbles:n=!0,defaultChecked:a,...i}=e,s=l.useRef(null),c=nM(r),d=nf(t);l.useEffect(()=>{let e=s.current,t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(c!==r&&t){let a=new Event("click",{bubbles:n});e.indeterminate=ie(r),t.call(e,!ie(r)&&r),e.dispatchEvent(a)}},[c,r,n]);let u=l.useRef(!ie(r)&&r);return(0,o.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:a??u.current,...i,tabIndex:-1,ref:s,style:{...e.style,...d,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})};function ie(e){return"indeterminate"===e}function it(e){return ie(e)?"indeterminate":e?"checked":"unchecked"}let ir=l.forwardRef(({className:e,...t},r)=>(0,o.jsx)(l8,{ref:r,className:(0,h.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",e),...t,children:(0,o.jsx)(l6,{className:(0,h.cn)("flex items-center justify-center text-current"),children:(0,o.jsx)(aS,{className:"h-4 w-4"})})}));ir.displayName=l8.displayName;let ia=(0,c.A)("SlidersHorizontal",[["line",{x1:"21",x2:"14",y1:"4",y2:"4",key:"obuewd"}],["line",{x1:"10",x2:"3",y1:"4",y2:"4",key:"1q6298"}],["line",{x1:"21",x2:"12",y1:"12",y2:"12",key:"1iu8h1"}],["line",{x1:"8",x2:"3",y1:"12",y2:"12",key:"ntss68"}],["line",{x1:"21",x2:"16",y1:"20",y2:"20",key:"14d8ph"}],["line",{x1:"12",x2:"3",y1:"20",y2:"20",key:"m0wm8r"}],["line",{x1:"14",x2:"14",y1:"2",y2:"6",key:"14e1ph"}],["line",{x1:"8",x2:"8",y1:"10",y2:"14",key:"1i6ji0"}],["line",{x1:"16",x2:"16",y1:"18",y2:"22",key:"1lctlv"}]]),io=(0,c.A)("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]),il=(0,c.A)("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);var[ii,is]=(0,C.A)("Tooltip",[nh]),ic=nh(),id="TooltipProvider",iu="tooltip.open",[ip,im]=ii(id),ih=e=>{let{__scopeTooltip:t,delayDuration:r=700,skipDelayDuration:n=300,disableHoverableContent:a=!1,children:i}=e,[s,c]=l.useState(!0),d=l.useRef(!1),u=l.useRef(0);return l.useEffect(()=>{let e=u.current;return()=>window.clearTimeout(e)},[]),(0,o.jsx)(ip,{scope:t,isOpenDelayed:s,delayDuration:r,onOpen:l.useCallback(()=>{window.clearTimeout(u.current),c(!1)},[]),onClose:l.useCallback(()=>{window.clearTimeout(u.current),u.current=window.setTimeout(()=>c(!0),n)},[n]),isPointerInTransitRef:d,onPointerInTransitChange:l.useCallback(e=>{d.current=e},[]),disableHoverableContent:a,children:i})};ih.displayName=id;var ig="Tooltip",[ix,iv]=ii(ig),iy=e=>{let{__scopeTooltip:t,children:r,open:n,defaultOpen:a=!1,onOpenChange:i,disableHoverableContent:s,delayDuration:c}=e,d=im(ig,e.__scopeTooltip),u=ic(t),[f,p]=l.useState(null),m=k(),h=l.useRef(0),g=s??d.disableHoverableContent,x=c??d.delayDuration,v=l.useRef(!1),[y=!1,w]=(0,T.i)({prop:n,defaultProp:a,onChange:e=>{e?(d.onOpen(),document.dispatchEvent(new CustomEvent(iu))):d.onClose(),i?.(e)}}),b=l.useMemo(()=>y?v.current?"delayed-open":"instant-open":"closed",[y]),j=l.useCallback(()=>{window.clearTimeout(h.current),h.current=0,v.current=!1,w(!0)},[w]),N=l.useCallback(()=>{window.clearTimeout(h.current),h.current=0,w(!1)},[w]),C=l.useCallback(()=>{window.clearTimeout(h.current),h.current=window.setTimeout(()=>{v.current=!0,w(!0),h.current=0},x)},[x,w]);return l.useEffect(()=>()=>{h.current&&(window.clearTimeout(h.current),h.current=0)},[]),(0,o.jsx)(nv,{...u,children:(0,o.jsx)(ix,{scope:t,contentId:m,open:y,stateAttribute:b,trigger:f,onTriggerChange:p,onTriggerEnter:l.useCallback(()=>{d.isOpenDelayed?C():j()},[d.isOpenDelayed,C,j]),onTriggerLeave:l.useCallback(()=>{g?N():(window.clearTimeout(h.current),h.current=0)},[N,g]),onOpen:j,onClose:N,disableHoverableContent:g,children:r})})};iy.displayName=ig;var iw="TooltipTrigger",ib=l.forwardRef((e,t)=>{let{__scopeTooltip:r,...n}=e,a=iv(iw,r),i=im(iw,r),s=ic(r),c=l.useRef(null),d=(0,N.s)(t,c,a.onTriggerChange),u=l.useRef(!1),f=l.useRef(!1),p=l.useCallback(()=>u.current=!1,[]);return l.useEffect(()=>()=>document.removeEventListener("pointerup",p),[p]),(0,o.jsx)(nw,{asChild:!0,...s,children:(0,o.jsx)(M.sG.button,{"aria-describedby":a.open?a.contentId:void 0,"data-state":a.stateAttribute,...n,ref:d,onPointerMove:(0,j.m)(e.onPointerMove,e=>{"touch"===e.pointerType||f.current||i.isPointerInTransitRef.current||(a.onTriggerEnter(),f.current=!0)}),onPointerLeave:(0,j.m)(e.onPointerLeave,()=>{a.onTriggerLeave(),f.current=!1}),onPointerDown:(0,j.m)(e.onPointerDown,()=>{u.current=!0,document.addEventListener("pointerup",p,{once:!0})}),onFocus:(0,j.m)(e.onFocus,()=>{u.current||a.onOpen()}),onBlur:(0,j.m)(e.onBlur,a.onClose),onClick:(0,j.m)(e.onClick,a.onClose)})})});ib.displayName=iw;var ij="TooltipPortal",[iN,iC]=ii(ij,{forceMount:void 0}),iE=e=>{let{__scopeTooltip:t,forceMount:r,children:n,container:a}=e,l=iv(ij,t);return(0,o.jsx)(iN,{scope:t,forceMount:r,children:(0,o.jsx)(V.C,{present:r||l.open,children:(0,o.jsx)(H.Z,{asChild:!0,container:a,children:n})})})};iE.displayName=ij;var iS="TooltipContent",iR=l.forwardRef((e,t)=>{let r=iC(iS,e.__scopeTooltip),{forceMount:n=r.forceMount,side:a="top",...l}=e,i=iv(iS,e.__scopeTooltip);return(0,o.jsx)(V.C,{present:n||i.open,children:i.disableHoverableContent?(0,o.jsx)(iM,{side:a,...l,ref:t}):(0,o.jsx)(ik,{side:a,...l,ref:t})})}),ik=l.forwardRef((e,t)=>{let r=iv(iS,e.__scopeTooltip),n=im(iS,e.__scopeTooltip),a=l.useRef(null),i=(0,N.s)(t,a),[s,c]=l.useState(null),{trigger:d,onClose:u}=r,f=a.current,{onPointerInTransitChange:p}=n,m=l.useCallback(()=>{c(null),p(!1)},[p]),h=l.useCallback((e,t)=>{let r=e.currentTarget,n={x:e.clientX,y:e.clientY},a=function(e,t){let r=Math.abs(t.top-e.y),n=Math.abs(t.bottom-e.y),a=Math.abs(t.right-e.x),o=Math.abs(t.left-e.x);switch(Math.min(r,n,a,o)){case o:return"left";case a:return"right";case r:return"top";case n:return"bottom";default:throw Error("unreachable")}}(n,r.getBoundingClientRect());c(function(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:e.y>t.y?1:0),function(e){if(e.length<=1)return e.slice();let t=[];for(let r=0;r<e.length;r++){let n=e[r];for(;t.length>=2;){let e=t[t.length-1],r=t[t.length-2];if((e.x-r.x)*(n.y-r.y)>=(e.y-r.y)*(n.x-r.x))t.pop();else break}t.push(n)}t.pop();let r=[];for(let t=e.length-1;t>=0;t--){let n=e[t];for(;r.length>=2;){let e=r[r.length-1],t=r[r.length-2];if((e.x-t.x)*(n.y-t.y)>=(e.y-t.y)*(n.x-t.x))r.pop();else break}r.push(n)}return(r.pop(),1===t.length&&1===r.length&&t[0].x===r[0].x&&t[0].y===r[0].y)?t:t.concat(r)}(t)}([...function(e,t,r=5){let n=[];switch(t){case"top":n.push({x:e.x-r,y:e.y+r},{x:e.x+r,y:e.y+r});break;case"bottom":n.push({x:e.x-r,y:e.y-r},{x:e.x+r,y:e.y-r});break;case"left":n.push({x:e.x+r,y:e.y-r},{x:e.x+r,y:e.y+r});break;case"right":n.push({x:e.x-r,y:e.y-r},{x:e.x-r,y:e.y+r})}return n}(n,a),...function(e){let{top:t,right:r,bottom:n,left:a}=e;return[{x:a,y:t},{x:r,y:t},{x:r,y:n},{x:a,y:n}]}(t.getBoundingClientRect())])),p(!0)},[p]);return l.useEffect(()=>()=>m(),[m]),l.useEffect(()=>{if(d&&f){let e=e=>h(e,f),t=e=>h(e,d);return d.addEventListener("pointerleave",e),f.addEventListener("pointerleave",t),()=>{d.removeEventListener("pointerleave",e),f.removeEventListener("pointerleave",t)}}},[d,f,h,m]),l.useEffect(()=>{if(s){let e=e=>{let t=e.target,r={x:e.clientX,y:e.clientY},n=d?.contains(t)||f?.contains(t),a=!function(e,t){let{x:r,y:n}=e,a=!1;for(let e=0,o=t.length-1;e<t.length;o=e++){let l=t[e].x,i=t[e].y,s=t[o].x,c=t[o].y;i>n!=c>n&&r<(s-l)*(n-i)/(c-i)+l&&(a=!a)}return a}(r,s);n?m():a&&(m(),u())};return document.addEventListener("pointermove",e),()=>document.removeEventListener("pointermove",e)}},[d,f,s,u,m]),(0,o.jsx)(iM,{...e,ref:i})}),[iT,iA]=ii(ig,{isInside:!1}),iM=l.forwardRef((e,t)=>{let{__scopeTooltip:r,children:n,"aria-label":a,onEscapeKeyDown:i,onPointerDownOutside:s,...c}=e,d=iv(iS,r),u=ic(r),{onClose:f}=d;return l.useEffect(()=>(document.addEventListener(iu,f),()=>document.removeEventListener(iu,f)),[f]),l.useEffect(()=>{if(d.trigger){let e=e=>{let t=e.target;t?.contains(d.trigger)&&f()};return window.addEventListener("scroll",e,{capture:!0}),()=>window.removeEventListener("scroll",e,{capture:!0})}},[d.trigger,f]),(0,o.jsx)(A.qW,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:i,onPointerDownOutside:s,onFocusOutside:e=>e.preventDefault(),onDismiss:f,children:(0,o.jsxs)(nC,{"data-state":d.stateAttribute,...u,...c,ref:t,style:{...c.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[(0,o.jsx)(ez.xV,{children:n}),(0,o.jsx)(iT,{scope:r,isInside:!0,children:(0,o.jsx)(nP.b,{id:d.contentId,role:"tooltip",children:a||n})})]})})});iR.displayName=iS;var iP="TooltipArrow";l.forwardRef((e,t)=>{let{__scopeTooltip:r,...n}=e,a=ic(r);return iA(iP,r).isInside?null:(0,o.jsx)(nR,{...a,...n,ref:t})}).displayName=iP;let iL=l.forwardRef(({className:e,sideOffset:t=4,...r},n)=>(0,o.jsx)(iE,{children:(0,o.jsx)(iR,{ref:n,sideOffset:t,className:(0,h.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",e),...r})}));iL.displayName=iR.displayName;let iO=(0,c.A)("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]),iD=(0,l.memo)(({onRefresh:e,disabled:t})=>{let[r,n]=(0,l.useState)(!1),a=async()=>{if(!r&&!t){n(!0);try{await e()}catch(e){console.error("Refresh failed:",e)}finally{setTimeout(()=>{n(!1)},500)}}};return(0,o.jsx)(ih,{children:(0,o.jsxs)(iy,{children:[(0,o.jsx)(ib,{asChild:!0,children:(0,o.jsx)(tg,{variant:"outline",size:"icon",onClick:a,disabled:r||t,className:"h-8",children:r?(0,o.jsx)(m,{className:"h-4 w-4 animate-spin"}):(0,o.jsx)(iO,{className:"h-4 w-4"})})}),(0,o.jsx)(iL,{children:(0,o.jsx)("p",{children:"Refresh table data"})})]})})});iD.displayName="RefreshButton";let i_=(0,c.A)("FolderSync",[["path",{d:"M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v.5",key:"1dkoa9"}],["path",{d:"M12 10v4h4",key:"1czhmt"}],["path",{d:"m12 14 1.535-1.605a5 5 0 0 1 8 1.5",key:"lvuxfi"}],["path",{d:"M22 22v-4h-4",key:"1ewp4q"}],["path",{d:"m22 18-1.535 1.605a5 5 0 0 1-8-1.5",key:"14ync0"}]]),iI=(0,l.memo)(({tableName:e,onSync:t})=>{let[r,n]=(0,l.useState)(!1),{toast:a}=(0,tv.dj)();if("d1_migrations"!==e)return null;let i=async()=>{try{n(!0);let e=await fetch("/api/migrations/sync-files",{method:"POST"}),r=await e.json();if(!e.ok)throw Error(r.error||"Failed to sync migrations");let{added:o=[],removed:l=[]}=r.details||{};a({title:"Migrations Synced",description:`Added: ${o.length}, Removed: ${l.length}`}),t&&await t()}catch(e){console.error("Error syncing migrations:",e),a({variant:"destructive",title:"Sync Failed",description:e.message})}finally{n(!1)}};return(0,o.jsx)(ih,{children:(0,o.jsxs)(iy,{children:[(0,o.jsx)(ib,{asChild:!0,children:(0,o.jsx)(tg,{variant:"outline",size:"icon",onClick:i,disabled:r,className:"h-8",children:r?(0,o.jsx)(m,{className:"h-4 w-4 animate-spin"}):(0,o.jsx)(i_,{className:"h-4 w-4"})})}),(0,o.jsx)(iL,{children:(0,o.jsx)("p",{children:"Sync migration files with d1_migrations table"})})]})})});iI.displayName="SyncMigrationsButton";let iF=(0,c.A)("FileJson",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1",key:"1oajmo"}],["path",{d:"M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1",key:"mpwhp6"}]]),i$=(0,c.A)("FileSpreadsheet",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M8 13h2",key:"yr2amv"}],["path",{d:"M14 13h2",key:"un5t4a"}],["path",{d:"M8 17h2",key:"2yhykz"}],["path",{d:"M14 17h2",key:"10kma7"}]]),iz=(0,c.A)("FileCode",[["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z",key:"1mlx9k"}]]),iU=(0,l.memo)(({tableName:e,onDownloadStart:t,onDownloadComplete:r,disabled:n})=>{let[a,i]=(0,l.useState)(!1),{toast:s}=(0,tv.dj)(),c=(e,t)=>{try{let r=new Blob([e],{type:"application/octet-stream"}),n=window.URL.createObjectURL(r),a=document.createElement("a");a.href=n,a.download=t,document.body.appendChild(a),a.click(),document.body.removeChild(a),window.URL.revokeObjectURL(n)}catch(e){throw console.error("Error during file download:",e),e}},d=async a=>{if(!n)try{i(!0),t?.();let n=await fetch(`/api/tables/${e}`),o=await n.json();if(!n.ok)throw Error(o.error||"Failed to fetch data");let{data:l,schema:d}=o;if(!l?.length){s({title:"No Data",description:"The table is empty.",variant:"destructive"});return}let u=new Date().toISOString().split("T")[0],f=`${e}_${u}.${a}`;switch(a){case"json":{let e=JSON.stringify(l,null,2);c(e,f);break}case"csv":{let e=Object.keys(l[0]),t=[e.join(","),...l.map(t=>e.map(e=>{let r=t[e];if(null==r)return"";if("string"==typeof r){let e=r.replace(/"/g,'""');return`"${e}"`}return r}).join(","))].join("\n");c(t,f);break}case"sql":{let t=`CREATE TABLE IF NOT EXISTS ${e} (
|
|
53
|
-
`+d.map(e=>{let t=[];return e.pk&&t.push("PRIMARY KEY"),e.notnull||t.push("NOT NULL"),` ${e.name} ${e.type}${t.length?` ${t.join(" ")}`:""}`}).join(",\n")+"\n);\n\n",r=
|
|
54
|
-
VALUES (${n.join(", ")});`}).join("\n");c(t+r,f)}}s({title:"Download Complete",description:`${l.length} rows exported as ${a.toUpperCase()}.`}),r?.()}catch(e){console.error("Download error:",e),s({variant:"destructive",title:"Download Failed",description:e.message})}finally{i(!1)}};return(0,o.jsxs)(lM,{children:[(0,o.jsx)(ih,{children:(0,o.jsxs)(iy,{children:[(0,o.jsx)(ib,{asChild:!0,children:(0,o.jsx)(lL,{asChild:!0,children:(0,o.jsx)(tg,{variant:"outline",size:"icon",className:"h-8",disabled:a||n,children:a?(0,o.jsx)(m,{className:"h-4 w-4 animate-spin"}):(0,o.jsx)(aL,{className:"h-4 w-4"})})})}),(0,o.jsx)(iL,{children:(0,o.jsx)("p",{children:"Download table data"})})]})}),(0,o.jsxs)(lG,{align:"end",children:[(0,o.jsxs)(lq,{onClick:()=>d("json"),disabled:n,children:[(0,o.jsx)(iF,{className:"mr-2 h-4 w-4"}),(0,o.jsx)("span",{children:"Download JSON"})]}),(0,o.jsxs)(lq,{onClick:()=>d("csv"),disabled:n,children:[(0,o.jsx)(i$,{className:"mr-2 h-4 w-4"}),(0,o.jsx)("span",{children:"Download CSV"})]}),(0,o.jsxs)(lq,{onClick:()=>d("sql"),disabled:n,children:[(0,o.jsx)(iz,{className:"mr-2 h-4 w-4"}),(0,o.jsx)("span",{children:"Download SQL"})]})]})]})});iU.displayName="DownloadButton";let iH=(0,c.A)("Columns2",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M12 3v18",key:"108xh3"}]]),iV=function({schema:e=[],visibleColumns:t=[],onColumnToggle:r}){let[n,a]=(0,l.useState)(""),i=e.filter(e=>e.name.toLowerCase().includes(n.toLowerCase())),s=i.map(e=>e.name),c=s.length>0&&s.every(e=>t.includes(e)),d=e=>{r(e)};return(0,o.jsxs)(lM,{children:[(0,o.jsx)(lL,{asChild:!0,children:(0,o.jsxs)(tg,{size:"sm",variant:"outline",className:"font-semibold",children:[(0,o.jsx)(iH,{className:"h-4 w-4"}),"Columns (",t.length,")"]})}),(0,o.jsxs)(lG,{align:"end",className:"w-64 font-sans",children:[(0,o.jsx)("div",{className:"p-2",children:(0,o.jsx)(g,{placeholder:"Search columns...",value:n,onChange:e=>a(e.target.value),className:"h-8"})}),(0,o.jsxs)("div",{className:"flex items-center space-x-2 px-2 py-1.5 hover:bg-accent rounded-md",children:[(0,o.jsx)(ir,{id:"select-all-columns",checked:c,onCheckedChange:e=>{e?i.forEach(e=>{t.includes(e.name)||r(e.name)}):i.forEach(e=>{t.includes(e.name)&&r(e.name)})},className:"shrink-0"}),(0,o.jsxs)("label",{htmlFor:"select-all-columns",className:"flex-1 cursor-pointer text-sm font-medium",children:["Select All ",n&&"(Filtered)"]})]}),(0,o.jsx)("div",{className:"max-h-[300px] overflow-y-auto",children:i.map(e=>(0,o.jsxs)("div",{className:"flex items-start space-x-2 px-2 py-1.5 hover:bg-accent rounded-md",children:[(0,o.jsx)(ir,{id:`column-${e.name}`,checked:t.includes(e.name),onCheckedChange:()=>d(e.name),className:"mt-1"}),(0,o.jsxs)("label",{htmlFor:`column-${e.name}`,className:"flex-1 cursor-pointer",children:[(0,o.jsx)("div",{className:"text-sm font-medium",children:e.name}),(0,o.jsx)("div",{className:"text-xs text-muted-foreground",children:e.type.toLowerCase()})]})]},e.name))})]})]})},iW=(0,l.memo)(({onAdd:e,onDelete:t,selectedCount:r,disabled:n,newRecordsCount:a,schema:l,visibleColumns:i,onColumnToggle:s})=>(0,o.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,o.jsx)(ih,{children:(0,o.jsxs)(iy,{children:[(0,o.jsx)(ib,{asChild:!0,children:(0,o.jsx)("span",{children:(0,o.jsxs)(tg,{size:"sm",variant:"outline",className:"font-semibold opacity-50 cursor-not-allowed",disabled:!0,children:[(0,o.jsx)(ia,{className:"h-4 w-4"}),"Filters"]})})}),(0,o.jsx)(iL,{children:(0,o.jsx)("p",{children:"Filters are not available yet. Coming soon!"})})]})}),(0,o.jsx)(iV,{schema:l,visibleColumns:i,onColumnToggle:s}),(0,o.jsx)("div",{className:"h-4 border-r mx-2"}),(0,o.jsx)(tg,{size:"sm",variant:"default",className:"font-semibold",onClick:e,children:"Add record"}),r>0&&(0,o.jsxs)(tg,{size:"sm",className:"font-semibold",onClick:t,variant:"destructive",disabled:n||a>0,children:["Delete ",r," ",1===r?"record":"records"]})]})),iK=(0,l.memo)(({totalRows:e})=>(0,o.jsxs)("span",{className:"text-sm text-neutral-600",children:[e," ",1===e?"row":"rows"]})),iB=(0,l.memo)(({currentPage:e,totalPages:t,onPageChange:r,disabled:n,newRecordsCount:a})=>(0,o.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,o.jsx)(tg,{variant:"ghost",size:"icon",onClick:()=>{console.log("Pagination: navigating to previous page",e-1),r(e-1)},disabled:1===e||n||a>0,className:"h-8",children:(0,o.jsx)(io,{className:"h-4 w-4"})}),(0,o.jsxs)("span",{className:"text-sm",children:["Page ",e," of ",t]}),(0,o.jsx)(tg,{variant:"ghost",size:"icon",onClick:()=>{console.log("Pagination: navigating to next page",e+1),r(e+1)},disabled:e===t||n||a>0,className:"h-8",children:(0,o.jsx)(il,{className:"h-4 w-4"})})]})),iG=(0,l.memo)(({value:e,onValueChange:t,disabled:r,newRecordsCount:n})=>(0,o.jsxs)(nB,{value:e.toString(),onValueChange:t,disabled:r||n>0,children:[(0,o.jsx)(aR,{className:"w-20 h-8",children:(0,o.jsx)(nY,{})}),(0,o.jsxs)(aA,{children:[(0,o.jsx)(aM,{value:"50",children:"50"}),(0,o.jsx)(aM,{value:"100",children:"100"}),(0,o.jsx)(aM,{value:"250",children:"250"})]})]})),iq=(0,l.memo)(({onSave:e,onDiscard:t,totalChanges:r,isSaving:n})=>(0,o.jsxs)("div",{className:"flex items-center gap-2",children:[(0,o.jsx)(tg,{size:"sm",variant:"ghost",className:"font-semibold",onClick:t,disabled:n,children:"Discard changes"}),(0,o.jsx)(tg,{size:"sm",className:"font-semibold bg-green-600 hover:bg-green-700",variant:"default",onClick:e,disabled:n,children:n?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(m,{className:"h-4 w-4 animate-spin"}),"Saving..."]}):`Save ${r} ${1===r?"change":"changes"}`})]})),iX=({selectedCount:e=0,onAdd:t,onDelete:r,onRefresh:n,totalRows:a=0,currentPage:l=1,totalPages:i=1,onPageChange:s,rowsPerPage:c=50,onRowsPerPageChange:d,tableName:u,onDownloadStart:f,onDownloadComplete:p,disabled:m=!1,editCount:h=0,newRecordsCount:g=0,onSaveChanges:x,onDiscardChanges:v,isSaving:y=!1,schema:w,visibleColumns:b,onColumnToggle:j})=>{let N=h+g;return(0,o.jsx)("div",{className:"flex items-center justify-between p-3 border-b bg-background font-sans",children:(0,o.jsxs)("div",{className:"flex items-center justify-between w-full",children:[(0,o.jsx)(iW,{onAdd:t,onDelete:r,selectedCount:e,disabled:m||y,newRecordsCount:g,schema:w,visibleColumns:b,onColumnToggle:j}),(0,o.jsx)("div",{className:"flex items-center gap-4",children:N>0?(0,o.jsx)(iq,{onSave:x,onDiscard:v,totalChanges:N,isSaving:y}):(0,o.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,o.jsx)(iK,{totalRows:a}),(0,o.jsx)(iB,{currentPage:l,totalPages:i,onPageChange:s,disabled:m,newRecordsCount:g}),(0,o.jsx)(iG,{value:c,onValueChange:e=>{d(parseInt(e,10)),s(1)},disabled:m,newRecordsCount:g}),(0,o.jsx)(iD,{onRefresh:n,disabled:m}),(0,o.jsx)(iI,{tableName:u,onSync:n,disabled:m}),(0,o.jsx)(iU,{tableName:u,onDownloadStart:f,onDownloadComplete:p,disabled:m})]})})]})})};iX.displayName="TableToolbar";let iY=(0,l.memo)(iX);function iQ({value:e,row:t,column:r,schema:n,onChange:a,onStartEdit:i,isEditing:s}){let c="string"==typeof e?e.replace(/^'|'$/g,""):e,[d,u]=(0,l.useState)(c),[f,p]=(0,l.useState)("auto"),m=(0,l.useRef)(null),h=(0,l.useRef)(null),x=n.find(e=>e.name===r),v=(0,l.useMemo)(()=>x?.check||null,[x]),y=(0,l.useMemo)(()=>{let e=x?.type?.toLowerCase()||"";return"boolean"===e||"bool"===e||"integer"===e&&r.toLowerCase().startsWith("is_")},[x,r]);x?.pk;let w=(0,l.useCallback)(e=>{let t=y?"true"===e?1:"false"===e?0:e:e;u(e),a?.(t)},[a,y]),b=(0,l.useCallback)(()=>{!s&&i&&i(c)},[s,i,c]),j="border-x border-neutral-200 px-3 py-2.5 text-xs font-mono whitespace-nowrap",N=(0,l.useMemo)(()=>null==c?"null":y?1===c||"1"===c||"true"===c?"true":"false":c.toString(),[c,y]);return s?y?(0,o.jsx)(t6,{className:`${j} p-0`,style:{width:f},children:(0,o.jsx)("div",{className:"w-full h-full",children:(0,o.jsxs)(nB,{value:N,onValueChange:w,defaultOpen:s,children:[(0,o.jsx)(aR,{className:"w-full h-9 min-w-0 rounded-none border-0 bg-orange-50 text-orange-900",children:(0,o.jsx)(nY,{placeholder:"Select value"})}),(0,o.jsxs)(aA,{className:"min-w-[8rem]",children:[(0,o.jsx)(aM,{value:"true",children:"true"}),(0,o.jsx)(aM,{value:"false",children:"false"})]})]})})}):v?.length>0?(0,o.jsx)(t6,{className:`${j} p-0`,style:{width:f},children:(0,o.jsx)("div",{className:"w-full h-full",children:(0,o.jsxs)(nB,{value:d??v[0],onValueChange:w,defaultOpen:s,children:[(0,o.jsx)(aR,{className:"w-full h-9 min-w-0 rounded-none border-0 bg-orange-50 text-orange-900",children:(0,o.jsx)(nY,{placeholder:`Select ${r}`})}),(0,o.jsx)(aA,{className:"min-w-[8rem]",children:v.map(e=>(0,o.jsx)(aM,{value:e,children:e},e))})]})})}):(0,o.jsx)(t6,{className:`${j} p-0`,style:{width:f},children:(0,o.jsx)(g,{ref:h,value:d??"",onChange:e=>w(e.target.value),className:"w-full min-w-0 rounded-none border-0 bg-orange-50 text-orange-900"})}):(0,o.jsx)(t6,{ref:m,className:`${j} cursor-pointer hover:bg-muted/50`,onClick:b,children:N})}let iJ=(0,c.A)("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);function iZ(e){return"string"==typeof e?e.replace(/^'|'$/g,""):e}function i0({schema:e,onRemove:t,onChange:r,showCheckbox:n=!1,initialData:a={}}){let[i,s]=(0,l.useState)(()=>e.reduce((e,t)=>{let r=a[t.name]??null;if(r=iZ(r),"INTEGER"===t.type.toUpperCase()&&1===t.pk&&(null===r||""===r))r="[Auto-generated INT]";else if(null===r){if(t.dflt_value){let e=iZ(t.dflt_value);r=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()?r="":"TEXT"===t.type.toUpperCase()&&(r="")}return e[t.name]=r,e},{})),c=(e,t)=>{let n={...i,[e]:t};s(n),r?.(n)},d=e=>{let t=e.type?.toLowerCase()||"";return"boolean"===t||"bool"===t||"integer"===t&&e.name.toLowerCase().startsWith("is_")};return(0,o.jsxs)(t8,{className:"bg-orange-50/50",children:[(0,o.jsx)(t6,{className:"w-10 p-0",children:(0,o.jsx)("div",{className:"pl-1 flex items-center",children:n?(0,o.jsx)(ir,{disabled:!0}):(0,o.jsx)(tg,{variant:"ghost",size:"icon",className:"h-8 w-8 text-orange-700 hover:text-orange-800",onClick:t,children:(0,o.jsx)(iJ,{className:"h-4 w-4"})})})}),e.map(e=>{let t=1===e.pk,r=e.check||null;if(d(e)){let t="false";if(null!==e.dflt_value&&void 0!==e.dflt_value){let r=e.dflt_value.toString().toLowerCase();t="1"===r||"true"===r||"'true'"===r||'"true"'===r?"true":"false"}let r=null!==i[e.name]&&void 0!==i[e.name]?1===i[e.name]||!0===i[e.name]||"true"===i[e.name]?"true":"false":t;return(0,o.jsx)(t6,{className:"border-x border-neutral-200 p-0",children:(0,o.jsx)("div",{className:"w-full",children:(0,o.jsxs)(nB,{value:r,onValueChange:t=>c(e.name,"true"===t?1:0),children:[(0,o.jsx)(aR,{className:"w-full h-9 min-w-0 rounded-none border-0 bg-orange-50 text-orange-900",title:`Default: ${t}`,children:(0,o.jsx)(nY,{placeholder:`Select ${e.name}`})}),(0,o.jsxs)(aA,{className:"min-w-[8rem]",children:[(0,o.jsx)(aM,{value:"true",children:"true"}),(0,o.jsx)(aM,{value:"false",children:"false"})]})]})})},e.name)}return r?.length>0?(0,o.jsx)(t6,{className:"border-x border-neutral-200 p-0",children:(0,o.jsx)("div",{className:"w-full",children:(0,o.jsxs)(nB,{value:i[e.name]??r[0],onValueChange:t=>c(e.name,t),children:[(0,o.jsx)(aR,{className:"w-full h-9 min-w-0 rounded-none border-0 bg-orange-50 text-orange-900",children:(0,o.jsx)(nY,{placeholder:`Select ${e.name}`})}),(0,o.jsx)(aA,{className:"min-w-[8rem]",children:r.map(e=>(0,o.jsx)(aM,{value:e,children:e},e))})]})})},e.name):(0,o.jsx)(t6,{className:"border-x border-neutral-200 p-0",children:(0,o.jsx)(g,{value:i[e.name]??"",onChange:t=>c(e.name,t.target.value),className:"w-full min-w-0 rounded-none border-0 px-2 bg-orange-50 text-orange-900",placeholder:t&&"INTEGER"===e.type.toUpperCase()?"Auto-generated INT":t?"Auto-generated":`Enter ${e.name}`})},e.name)})]})}let i1=function({isOpen:e,onClose:t,onConfirm:r,selectedCount:n,tableName:a,isDeleting:l,error:i}){return(0,o.jsx)(eB,{open:e,onOpenChange:t,children:(0,o.jsxs)(td,{className:"sm:max-w-md font-sans",children:[(0,o.jsxs)(tu,{children:[(0,o.jsxs)(tp,{className:"mb-2",children:["Delete ",n," ",1===n?"Record":"Records","?"]}),(0,o.jsxs)(tm,{className:"text-neutral-600 font-medium",children:["You're about to delete ",n," ",1===n?"record":"records"," from ",(0,o.jsx)("span",{className:"font-sans font-bold text-neutral-900",children:a}),"."]})]}),i&&(0,o.jsxs)(y,{variant:"destructive",children:[(0,o.jsx)(u,{className:"h-4 w-4"}),(0,o.jsx)(w,{children:i})]}),(0,o.jsxs)(tf,{className:"flex gap-1 mt-2 sm:justify-end font-sans",children:[(0,o.jsx)(tg,{variant:"outline",onClick:t,disabled:l,children:"Cancel"}),(0,o.jsx)(tg,{variant:"destructive",onClick:r,disabled:l,children:l?"Deleting...":"Delete"})]})]})})};function i2({isOpen:e,onClose:t,error:r}){if(!r||!e)return null;let{message:n,icon:a}=r?{message:r.message,icon:u}:{message:"An unknown error occurred.",icon:u};return(0,o.jsx)(eB,{open:e,onOpenChange:t,children:(0,o.jsxs)(td,{className:"sm:max-w-md font-sans",children:[(0,o.jsx)(tu,{children:(0,o.jsxs)("div",{className:"flex items-center gap-2",children:[(0,o.jsx)(a,{className:"h-4 w-4 text-red-500"}),(0,o.jsx)(tp,{children:"Error"})]})}),(0,o.jsxs)("div",{className:"space-y-4",children:[(0,o.jsx)("p",{className:"bg-neutral-100 p-2 rounded-md text-neutral-900",children:n}),r.details?.suggestions&&(0,o.jsxs)("div",{className:"text-sm space-y-1",children:[(0,o.jsx)("p",{className:"font-medium",children:"Suggestions:"}),(0,o.jsx)("ul",{className:"list-disc pl-4 space-y-1",children:r.details.suggestions.map((e,t)=>(0,o.jsx)("li",{children:e},t))})]})]}),(0,o.jsx)("div",{className:"flex justify-end gap-2 mt-4",children:(0,o.jsx)(tg,{variant:"default",onClick:t,children:"Got it"})})]})})}let i4=({children:e,width:t,onResize:r,className:n=""})=>{let[a,i]=(0,l.useState)(!1),s=(0,l.useRef)(null),c=(0,l.useCallback)(e=>{e.preventDefault(),i(!0);let t=e.clientX,n=s.current?.offsetWidth||0,a=e=>{s.current&&r(Math.max(n+(e.clientX-t),100))},o=()=>{i(!1),document.removeEventListener("mousemove",a),document.removeEventListener("mouseup",o)};document.addEventListener("mousemove",a),document.addEventListener("mouseup",o)},[r]);return(0,o.jsxs)("th",{ref:s,className:`relative ${n} ${a?"select-none":""}`,style:{width:`${t}px`},children:[e,(0,o.jsx)("div",{className:"absolute top-0 right-0 h-full w-1 cursor-col-resize group hover:bg-neutral-300",onMouseDown:c})]})},i5=({columns:e,children:t,onColumnsResize:r,className:n=""})=>{let[a,i]=(0,l.useState)(e.reduce((e,t)=>({...e,[t.key]:t.width||150}),{})),c=(0,l.useCallback)((e,t)=>{i(n=>{let a={...n,[e]:t};return r?.(a),a})},[r]);return(0,o.jsx)("div",{className:`w-full ${n}`,children:s().Children.map(t,e=>s().isValidElement(e)?s().cloneElement(e,{onResize:c}):e)})},i3=(0,c.A)("ArrowUp",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]),i8=(0,c.A)("ArrowDown",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]),i9=(0,c.A)("ArrowUpDown",[["path",{d:"m21 16-4 4-4-4",key:"f6ql7i"}],["path",{d:"M17 20V4",key:"1ejh1v"}],["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}]]);function i6({column:e,sortConfig:t,onSort:r,children:n}){let a=t[e];return(0,o.jsx)("div",{className:"flex items-center w-full",children:(0,o.jsxs)(tg,{variant:"ghost",size:"sm",className:"h-8 hover:bg-neutral-100 w-full justify-between",onClick:()=>{r(e,a?"asc"===a?"desc":null:"asc")},children:[(0,o.jsx)("span",{className:"flex items-center gap-1 font-mono",children:n}),(0,o.jsxs)("span",{className:"shrink-0",children:["asc"===a&&(0,o.jsx)(i3,{className:"h-4 w-4"}),"desc"===a&&(0,o.jsx)(i8,{className:"h-4 w-4"}),!a&&(0,o.jsx)(i9,{className:"h-4 w-4"})]})]})})}function i7({tableName:e}){let{executeQuery:t,getCachedTable:r,updateTableCache:n,invalidateTable:a,switchTable:i,activeTable:s,updateTableData:c}=(0,b.t)(),{toast:d}=(0,tv.dj)(),[f,p]=(0,l.useState)(()=>[]),[h,g]=(0,l.useState)([]),[x,v]=(0,l.useState)(0),[j,N]=(0,l.useState)(!0),[C,E]=(0,l.useState)(!1),[S,R]=(0,l.useState)(null),[k,T]=(0,l.useState)(new Map),[A,M]=(0,l.useState)(new Set),[P,L]=(0,l.useState)([]),[O,D]=(0,l.useState)(1),[_,I]=(0,l.useState)(50),[F,$]=(0,l.useState)(1),[z,U]=(0,l.useState)(new Set),H=(0,l.useRef)(null),[V,W]=(0,l.useState)(!1),[K,B]=(0,l.useState)(!1),[G,q]=(0,l.useState)(null),[X,Y]=(0,l.useState)(!1),[Q,J]=(0,l.useState)(null),[Z,ee]=(0,l.useState)({}),[et,er]=(0,l.useState)({}),[en,ea]=(0,l.useState)([]),eo=(0,l.useCallback)(async(t=!1)=>{if(!e)return;let n=r(e,O,_);if(n&&!t){p(n.data),g(n.schema),v(n.meta.total),$(n.meta.totalPages);return}N(!0),R(null),U(new Set);try{let r=await i(e,{page:O,limit:_,forceFetch:t});return r.meta.page=O,p(Array.isArray(r.data)?r.data:[]),g(r.schema||[]),v(r.meta.total),$(r.meta.totalPages),!0}catch(e){throw console.error("Error loading table data:",e),R(e.message||String(e)),d({variant:"destructive",title:"Error",description:`Failed to load table: ${e.message}`}),e}finally{N(!1)}},[e,O,_,r,i,d,en.length]),el=(0,l.useCallback)(t=>{ea(r=>{let n=r.includes(t)?r.filter(e=>e!==t):[...r,t];return localStorage.setItem(`table-columns-${e}`,JSON.stringify(n)),n})},[e]),ei=(0,l.useCallback)((t,r)=>{er(n=>{let a={...n,[t]:r};return localStorage.setItem(`table-widths-${e}`,JSON.stringify(a)),a})},[e]),es=(0,l.useCallback)(async()=>{try{U(new Set),a(e),await eo(!0),d({title:"Success",description:"Table data refreshed"})}catch(e){console.error("Refresh failed:",e),d({variant:"destructive",title:"Refresh Failed",description:e.message})}},[eo,a,e,d]),ec=(0,l.useCallback)((t,a)=>{ee(e=>({...e,[t]:a}));let o=a&&f.length?[...f].sort((e,r)=>{let n=e[t],o=r[t];if(null==n&&null==o)return 0;if(null==n)return 1;if(null==o)return -1;if("number"==typeof n&&"number"==typeof o)return"asc"===a?n-o:o-n;let l=String(n).toLowerCase(),i=String(o).toLowerCase();return"asc"===a?l.localeCompare(i):i.localeCompare(l)}):f;p(o);let l=r(e);l&&n(e,o,l.schema,{...l.meta,currentPage:O,limit:_},O,_)},[f,e,r,n]),ed=(0,l.useCallback)((e,t,r)=>{let n=`${e}-${t}`;T(e=>new Map(e).set(n,{value:r,originalValue:r})),M(t=>new Set(t).add(e))},[]),eu=(0,l.useCallback)((e,t,r)=>{let n=`${e}-${t}`,a=f[e],o=k.get(n)?.originalValue??a[t];if(r===o){let t=new Map(k);if(t.delete(n),T(t),!Array.from(t.keys()).some(t=>t.startsWith(`${e}-`))){let t=new Set(A);t.delete(e),M(t)}}else T(e=>new Map(e).set(n,{value:r,originalValue:o})),M(t=>new Set(t).add(e))},[f,k,A]),ef=(0,l.useCallback)(()=>{L(e=>[...e,{}])},[]),ep=(0,l.useCallback)(e=>{L(t=>t.filter((t,r)=>r!==e))},[]),em=(0,l.useCallback)((e,t)=>{L(r=>{let n=[...r];return n[e]=t,n})},[]),eh=async(r=!1)=>{E(!0);try{if(P.length>0){let r=0,n=h.filter(e=>"datetime"===e.type.toLowerCase()).map(e=>e.name);for(let a of P){let o=Object.keys(a).filter(e=>{let t=a[e];if(null===t||""===t||"null"===t)return!1;if(t?.toString()==="[Auto-generated INT]"){let t=h.find(t=>t.name===e);if(t&&1===t.pk&&"INTEGER"===t.type.toUpperCase())return!1}return!0});if(n.forEach(e=>{o.includes(e)||o.push(e)}),0===o.length)continue;let l=o.map(e=>{if(n.includes(e))return"CURRENT_TIMESTAMP";let t=a[e];if(null===t||""===t||"null"===t)return"NULL";let r=t.toString();if("[Auto-generated UUID]"===r){let t=h.find(t=>t.name===e);if(t&&t.dflt_value)return t.dflt_value}if("[Auto-generated INT]"===r){let t=h.find(t=>t.name===e);if(t&&1===t.pk&&"INTEGER"===t.type.toUpperCase())return null}return r.includes("randomblob")||r.includes("CURRENT_TIMESTAMP")||r.includes("lower(hex(")||r.startsWith("(")&&r.endsWith(")")?r:`'${r.replace(/'/g,"''")}'`}),i=`INSERT INTO ${e} (${o.join(", ")}) VALUES (${l.join(", ")});`;await t(i),r++}if(r>0){let t=await c(e);p(t.data),v(t.meta.total),$(Math.ceil(t.meta.total/_)),d({title:"Success",description:`Added ${r} ${1===r?"record":"records"}`})}L([])}if(k.size>0&&(r||!Q)){let r=h.find(e=>1===e.pk)?.name;if(!r)throw Error("No primary key found in table schema");let n=new Map;k.forEach((e,t)=>{let[a,o]=t.split("-"),l=f[a];n.has(l[r])||n.set(l[r],new Map),n.get(l[r]).set(o,e.value)});let a=0;for(let[o,l]of n){let n=Array.from(l.entries()).map(([e,t])=>null===t||""===t||"null"===t?`${e} = NULL`:"CURRENT_TIMESTAMP"===t?`${e} = CURRENT_TIMESTAMP`:`${e} = '${t.toString().replace(/'/g,"''")}'`).join(", "),i=`
|
|
47
|
+
WHERE condition;`},ly={"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 lb({onSelectQuery:e}){return(0,l.jsxs)(nD,{children:[(0,l.jsx)(nO,{asChild:!0,children:(0,l.jsxs)(nZ,{variant:"outline",size:"sm",children:["Query Templates",(0,l.jsx)(p,{className:"ml-2 h-4 w-4"})]})}),(0,l.jsx)(nY,{align:"start",className:"w-72",children:Object.entries(ly).map(([t,r])=>(0,l.jsxs)(i().Fragment,{children:[(0,l.jsx)("div",{className:"px-2 py-1.5 text-sm font-semibold text-neutral-900 font-sans",children:t}),r.map(t=>(0,l.jsx)(nX,{onClick:()=>e(t),className:"font-sans text-neutral-800",children:t},t))]},t))})]})}function lw({initialQuery:e=""}){let{executeQuery:t,refreshTables:r}=(0,nQ.t)(),[n,a]=(0,o.useState)(null),[s,i]=(0,o.useState)(!1),[c,d]=(0,o.useState)(300),[u,f]=(0,o.useState)(!1),m=(0,o.useRef)(null),p=(0,o.useRef)(null),h=(0,o.useCallback)(e=>{e.preventDefault();let t=e.pageY,r=e=>{d(Math.min(Math.max(c+(e.pageY-t),100),.8*window.innerHeight))},n=()=>{document.removeEventListener("mousemove",r),document.removeEventListener("mouseup",n)};document.addEventListener("mousemove",r),document.addEventListener("mouseup",n)},[c]),x=async()=>{if(!m.current)return;let e=m.current.getValue().trim().replace(/;+$/,"");if(!e){a({success:!1,error:{message:"Query cannot be empty."}});return}try{i(!0),a(null);let n=await t(e);/^(CREATE|DROP|ALTER)\s+TABLE/i.test(e)&&await r();let l=[];if(n.results){if(Array.isArray(n.results)){if(n.results.length>0&&n.results[0]?.columns&&n.results[0]?.values){let e=n.results[0];l=e.values.map(t=>e.columns.reduce((e,r,n)=>(e[r]=t[n],e),{}))}else l=1===n.results.length&&n.results[0].results&&Array.isArray(n.results[0].results)?n.results[0].results:n.results}else if(n.results.columns&&n.results.values){let e=n.results;l=e.values.map(t=>e.columns.reduce((e,r,n)=>(e[r]=t[n],e),{}))}}else if(n.result&&n.result.results){if(Array.isArray(n.result.results)){if(n.result.results.length>0&&n.result.results[0]?.columns&&n.result.results[0]?.values){let e=n.result.results[0];l=e.values.map(t=>e.columns.reduce((e,r,n)=>(e[r]=t[n],e),{}))}else l=1===n.result.results.length&&n.result.results[0].results&&Array.isArray(n.result.results[0].results)?n.result.results[0].results:n.result.results}else if(n.result.results.columns&&n.result.results.values){let e=n.result.results;l=e.values.map(t=>e.columns.reduce((e,r,n)=>(e[r]=t[n],e),{}))}}a({success:!0,results:l})}catch(e){a({success:!1,error:lx(e)||{message:"An unknown error occurred",details:{}}})}finally{i(!1)}};return(0,l.jsxs)("div",{className:"h-full flex flex-col bg-white text-neutral-900 font-sans",children:[(0,l.jsx)("div",{className:"px-4 py-2 bg-neutral-100 border-b flex items-center gap-4",children:(0,l.jsx)(lb,{onSelectQuery:e=>{if(m.current){let t=Object.keys(lv).find(t=>t.toLowerCase()===e.toLowerCase());if(t){let e=lv[t];m.current.setValue(e),m.current.focus()}else console.warn(`Query template not found for: ${e}`)}}})}),(0,l.jsx)("div",{ref:p,className:"relative pt-2 overflow-hidden",style:{height:`${c}px`,minHeight:"100px"},children:(0,l.jsx)(li,{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=>{m.current=e,e.addCommand(monaco.KeyMod.CtrlCmd|monaco.KeyCode.Enter,()=>{x()})}})}),(0,l.jsx)("div",{className:`relative h-0.5 cursor-row-resize bg-neutral-200 group ${u?"bg-neutral-300":"hover:bg-neutral-300"}`,onMouseDown:e=>{f(!0),h(e)},onMouseUp:()=>f(!1),children:(0,l.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
|
|
48
|
+
${u?"visible":"invisible group-hover:visible"}`,children:(0,l.jsx)(lc,{className:"h-3 w-3 text-white"})})}),(0,l.jsx)("div",{className:"px-4 py-3 bg-neutral-100 border-b font-sans",children:(0,l.jsxs)("div",{className:"flex justify-between items-center",children:[(0,l.jsx)("h3",{className:"text-sm font-medium",children:"Results"}),(0,l.jsxs)(nZ,{size:"sm",onClick:x,disabled:s,className:"flex items-center gap-1 text-sm font-medium",children:["Run",s?(0,l.jsx)(v,{className:"h-4 w-4 animate-spin"}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(ld,{className:"h-4 w-4"}),(0,l.jsx)(lu,{className:"h-4 w-4"})]})]})]})}),(0,l.jsx)("div",{className:"flex-1 overflow-auto p-4 bg-white",children:(()=>{if(s)return(0,l.jsxs)("div",{className:"flex items-center text-sm text-neutral-700",children:[(0,l.jsx)(v,{className:"h-4 w-4 animate-spin mr-2 font-sans"}),"Running your query..."]});if(!n)return(0,l.jsx)("div",{className:"text-sm text-neutral-500 font-sans",children:"Run the query to see the results."});if(!n.success)return console.debug("SQLEditor - Rendering error:",n.error),(0,l.jsx)(lm,{error:n.error});let e=n.results;return e&&0!==e.length?(0,l.jsx)(lp,{query:m.current?.getValue()||"",results:e}):(0,l.jsx)("div",{className:"text-sm text-neutral-900 font-sans",children:"Success. No results to display."})})()})]})}function lj(e){let t=o.useRef({value:e,previous:e});return o.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var lN="Checkbox",[lC,lk]=(0,M.A)(lN),[lS,lR]=lC(lN),lE=o.forwardRef((e,t)=>{let{__scopeCheckbox:r,name:n,checked:a,defaultChecked:s,required:i,disabled:c,value:d="on",onCheckedChange:u,form:f,...m}=e,[p,h]=o.useState(null),x=(0,T.s)(t,e=>h(e)),g=o.useRef(!1),v=!p||f||!!p.closest("form"),[y=!1,b]=(0,A.i)({prop:a,defaultProp:s,onChange:u}),w=o.useRef(y);return o.useEffect(()=>{let e=p?.form;if(e){let t=()=>b(w.current);return e.addEventListener("reset",t),()=>e.removeEventListener("reset",t)}},[p,b]),(0,l.jsxs)(lS,{scope:r,state:y,disabled:c,children:[(0,l.jsx)(D.sG.button,{type:"button",role:"checkbox","aria-checked":lD(y)?"mixed":y,"aria-required":i,"data-state":l_(y),"data-disabled":c?"":void 0,disabled:c,value:d,...m,ref:x,onKeyDown:(0,E.m)(e.onKeyDown,e=>{"Enter"===e.key&&e.preventDefault()}),onClick:(0,E.m)(e.onClick,e=>{b(e=>!!lD(e)||!e),v&&(g.current=e.isPropagationStopped(),g.current||e.stopPropagation())})}),v&&(0,l.jsx)(lA,{control:p,bubbles:!g.current,name:n,value:d,checked:y,required:i,disabled:c,form:f,style:{transform:"translateX(-100%)"},defaultChecked:!lD(s)&&s})]})});lE.displayName=lN;var lT="CheckboxIndicator",lM=o.forwardRef((e,t)=>{let{__scopeCheckbox:r,forceMount:n,...a}=e,o=lR(lT,r);return(0,l.jsx)(tM.C,{present:n||lD(o.state)||!0===o.state,children:(0,l.jsx)(D.sG.span,{"data-state":l_(o.state),"data-disabled":o.disabled?"":void 0,...a,ref:t,style:{pointerEvents:"none",...e.style}})})});lM.displayName=lT;var lA=e=>{let{control:t,checked:r,bubbles:n=!0,defaultChecked:a,...s}=e,i=o.useRef(null),c=lj(r),d=td(t);o.useEffect(()=>{let e=i.current,t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(c!==r&&t){let a=new Event("click",{bubbles:n});e.indeterminate=lD(r),t.call(e,!lD(r)&&r),e.dispatchEvent(a)}},[c,r,n]);let u=o.useRef(!lD(r)&&r);return(0,l.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:a??u.current,...s,tabIndex:-1,ref:i,style:{...e.style,...d,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})};function lD(e){return"indeterminate"===e}function l_(e){return lD(e)?"indeterminate":e?"checked":"unchecked"}let lO=o.forwardRef(({className:e,...t},r)=>(0,l.jsx)(lE,{ref:r,className:(0,j.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",e),...t,children:(0,l.jsx)(lM,{className:(0,j.cn)("flex items-center justify-center text-current"),children:(0,l.jsx)(nq,{className:"h-4 w-4"})})}));lO.displayName=lE.displayName;var lP=r(6441),lL=[" ","Enter","ArrowUp","ArrowDown"],lI=[" ","Enter"],l$="Select",[lF,lU,lz]=(0,_.N)(l$),[lB,lH]=(0,M.A)(l$,[lz,tm]),lW=tm(),[lV,lK]=lB(l$),[lq,lG]=lB(l$),lY=e=>{let{__scopeSelect:t,children:r,open:n,defaultOpen:a,onOpenChange:s,value:i,defaultValue:c,onValueChange:d,dir:u,name:f,autoComplete:m,disabled:p,required:h,form:x}=e,g=lW(t),[v,y]=o.useState(null),[b,w]=o.useState(null),[j,N]=o.useState(!1),C=P(u),[k=!1,S]=(0,A.i)({prop:n,defaultProp:a,onChange:s}),[R,E]=(0,A.i)({prop:i,defaultProp:c,onChange:d}),T=o.useRef(null),M=!v||x||!!v.closest("form"),[D,_]=o.useState(new Set),O=Array.from(D).map(e=>e.props.value).join(";");return(0,l.jsx)(tx,{...g,children:(0,l.jsxs)(lV,{required:h,scope:t,trigger:v,onTriggerChange:y,valueNode:b,onValueNodeChange:w,valueNodeHasChildren:j,onValueNodeHasChildrenChange:N,contentId:Z(),value:R,onValueChange:E,open:k,onOpenChange:S,dir:C,triggerPointerDownPosRef:T,disabled:p,children:[(0,l.jsx)(lF.Provider,{scope:t,children:(0,l.jsx)(lq,{scope:e.__scopeSelect,onNativeOptionAdd:o.useCallback(e=>{_(t=>new Set(t).add(e))},[]),onNativeOptionRemove:o.useCallback(e=>{_(t=>{let r=new Set(t);return r.delete(e),r})},[]),children:r})}),M?(0,l.jsxs)(oC,{"aria-hidden":!0,required:h,tabIndex:-1,name:f,autoComplete:m,value:R,onChange:e=>E(e.target.value),disabled:p,form:x,children:[void 0===R?(0,l.jsx)("option",{value:""}):null,Array.from(D)]},O):null]})})};lY.displayName=l$;var lX="SelectTrigger",lQ=o.forwardRef((e,t)=>{let{__scopeSelect:r,disabled:n=!1,...a}=e,s=lW(r),i=lK(lX,r),c=i.disabled||n,d=(0,T.s)(t,i.onTriggerChange),u=lU(r),f=o.useRef("touch"),[m,p,h]=ok(e=>{let t=u().filter(e=>!e.disabled),r=t.find(e=>e.value===i.value),n=oS(t,e,r);void 0!==n&&i.onValueChange(n.value)}),x=e=>{c||(i.onOpenChange(!0),h()),e&&(i.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})};return(0,l.jsx)(tv,{asChild:!0,...s,children:(0,l.jsx)(D.sG.button,{type:"button",role:"combobox","aria-controls":i.contentId,"aria-expanded":i.open,"aria-required":i.required,"aria-autocomplete":"none",dir:i.dir,"data-state":i.open?"open":"closed",disabled:c,"data-disabled":c?"":void 0,"data-placeholder":oN(i.value)?"":void 0,...a,ref:d,onClick:(0,E.m)(a.onClick,e=>{e.currentTarget.focus(),"mouse"!==f.current&&x(e)}),onPointerDown:(0,E.m)(a.onPointerDown,e=>{f.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),0===e.button&&!1===e.ctrlKey&&"mouse"===e.pointerType&&(x(e),e.preventDefault())}),onKeyDown:(0,E.m)(a.onKeyDown,e=>{let t=""!==m.current;e.ctrlKey||e.altKey||e.metaKey||1!==e.key.length||p(e.key),(!t||" "!==e.key)&&lL.includes(e.key)&&(x(),e.preventDefault())})})})});lQ.displayName=lX;var lJ="SelectValue",lZ=o.forwardRef((e,t)=>{let{__scopeSelect:r,className:n,style:a,children:o,placeholder:s="",...i}=e,c=lK(lJ,r),{onValueNodeHasChildrenChange:d}=c,u=void 0!==o,f=(0,T.s)(t,c.onValueNodeChange);return(0,X.N)(()=>{d(u)},[d,u]),(0,l.jsx)(D.sG.span,{...i,ref:f,style:{pointerEvents:"none"},children:oN(c.value)?(0,l.jsx)(l.Fragment,{children:s}):o})});lZ.displayName=lJ;var l0=o.forwardRef((e,t)=>{let{__scopeSelect:r,children:n,...a}=e;return(0,l.jsx)(D.sG.span,{"aria-hidden":!0,...a,ref:t,children:n||"▼"})});l0.displayName="SelectIcon";var l1=e=>(0,l.jsx)(tT.Z,{asChild:!0,...e});l1.displayName="SelectPortal";var l2="SelectContent",l5=o.forwardRef((e,t)=>{let r=lK(l2,e.__scopeSelect),[n,a]=o.useState();return((0,X.N)(()=>{a(new DocumentFragment)},[]),r.open)?(0,l.jsx)(l6,{...e,ref:t}):n?e3.createPortal((0,l.jsx)(l4,{scope:e.__scopeSelect,children:(0,l.jsx)(lF.Slot,{scope:e.__scopeSelect,children:(0,l.jsx)("div",{children:e.children})})}),n):null});l5.displayName=l2;var[l4,l3]=lB(l2),l6=o.forwardRef((e,t)=>{let{__scopeSelect:r,position:n="item-aligned",onCloseAutoFocus:a,onEscapeKeyDown:s,onPointerDownOutside:i,side:c,sideOffset:d,align:u,alignOffset:f,arrowPadding:m,collisionBoundary:p,collisionPadding:h,sticky:x,hideWhenDetached:g,avoidCollisions:v,...y}=e,b=lK(l2,r),[w,j]=o.useState(null),[N,C]=o.useState(null),k=(0,T.s)(t,e=>j(e)),[S,R]=o.useState(null),[M,A]=o.useState(null),D=lU(r),[_,O]=o.useState(!1),P=o.useRef(!1);o.useEffect(()=>{if(w)return t0(w)},[w]),$();let I=o.useCallback(e=>{let[t,...r]=D().map(e=>e.ref.current),[n]=r.slice(-1),a=document.activeElement;for(let r of e)if(r===a||(r?.scrollIntoView({block:"nearest"}),r===t&&N&&(N.scrollTop=0),r===n&&N&&(N.scrollTop=N.scrollHeight),r?.focus(),document.activeElement!==a))return},[D,N]),F=o.useCallback(()=>I([S,w]),[I,S,w]);o.useEffect(()=>{_&&F()},[_,F]);let{onOpenChange:U,triggerPointerDownPosRef:z}=b;o.useEffect(()=>{if(w){let e={x:0,y:0},t=t=>{e={x:Math.abs(Math.round(t.pageX)-(z.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(z.current?.y??0))}},r=r=>{e.x<=10&&e.y<=10?r.preventDefault():w.contains(r.target)||U(!1),document.removeEventListener("pointermove",t),z.current=null};return null!==z.current&&(document.addEventListener("pointermove",t),document.addEventListener("pointerup",r,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",t),document.removeEventListener("pointerup",r,{capture:!0})}}},[w,U,z]),o.useEffect(()=>{let e=()=>U(!1);return window.addEventListener("blur",e),window.addEventListener("resize",e),()=>{window.removeEventListener("blur",e),window.removeEventListener("resize",e)}},[U]);let[B,H]=ok(e=>{let t=D().filter(e=>!e.disabled),r=t.find(e=>e.ref.current===document.activeElement),n=oS(t,e,r);n&&setTimeout(()=>n.ref.current.focus())}),V=o.useCallback((e,t,r)=>{let n=!P.current&&!r;(void 0!==b.value&&b.value===t||n)&&(R(e),n&&(P.current=!0))},[b.value]),K=o.useCallback(()=>w?.focus(),[w]),q=o.useCallback((e,t,r)=>{let n=!P.current&&!r;(void 0!==b.value&&b.value===t||n)&&A(e)},[b.value]),G="popper"===n?l9:l8,Y=G===l9?{side:c,sideOffset:d,align:u,alignOffset:f,arrowPadding:m,collisionBoundary:p,collisionPadding:h,sticky:x,hideWhenDetached:g,avoidCollisions:v}:{};return(0,l.jsx)(l4,{scope:r,content:w,viewport:N,onViewportChange:C,itemRefCallback:V,selectedItem:S,onItemLeave:K,itemTextRefCallback:q,focusSelectedItem:F,selectedItemText:M,position:n,isPositioned:_,searchRef:B,children:(0,l.jsx)(rM,{as:tq.DX,allowPinchZoom:!0,children:(0,l.jsx)(W,{asChild:!0,trapped:b.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:(0,E.m)(a,e=>{b.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:(0,l.jsx)(L.qW,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:s,onPointerDownOutside:i,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>b.onOpenChange(!1),children:(0,l.jsx)(G,{role:"listbox",id:b.contentId,"data-state":b.open?"open":"closed",dir:b.dir,onContextMenu:e=>e.preventDefault(),...y,...Y,onPlaced:()=>O(!0),ref:k,style:{display:"flex",flexDirection:"column",outline:"none",...y.style},onKeyDown:(0,E.m)(y.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if("Tab"===e.key&&e.preventDefault(),t||1!==e.key.length||H(e.key),["ArrowUp","ArrowDown","Home","End"].includes(e.key)){let t=D().filter(e=>!e.disabled).map(e=>e.ref.current);if(["ArrowUp","End"].includes(e.key)&&(t=t.slice().reverse()),["ArrowUp","ArrowDown"].includes(e.key)){let r=e.target,n=t.indexOf(r);t=t.slice(n+1)}setTimeout(()=>I(t)),e.preventDefault()}})})})})})})});l6.displayName="SelectContentImpl";var l8=o.forwardRef((e,t)=>{let{__scopeSelect:r,onPlaced:n,...a}=e,s=lK(l2,r),i=l3(l2,r),[c,d]=o.useState(null),[u,f]=o.useState(null),m=(0,T.s)(t,e=>f(e)),p=lU(r),h=o.useRef(!1),x=o.useRef(!0),{viewport:g,selectedItem:v,selectedItemText:y,focusSelectedItem:b}=i,w=o.useCallback(()=>{if(s.trigger&&s.valueNode&&c&&u&&g&&v&&y){let e=s.trigger.getBoundingClientRect(),t=u.getBoundingClientRect(),r=s.valueNode.getBoundingClientRect(),a=y.getBoundingClientRect();if("rtl"!==s.dir){let n=a.left-t.left,l=r.left-n,o=e.left-l,s=e.width+o,i=Math.max(s,t.width),d=n0(l,[10,Math.max(10,window.innerWidth-10-i)]);c.style.minWidth=s+"px",c.style.left=d+"px"}else{let n=t.right-a.right,l=window.innerWidth-r.right-n,o=window.innerWidth-e.right-l,s=e.width+o,i=Math.max(s,t.width),d=n0(l,[10,Math.max(10,window.innerWidth-10-i)]);c.style.minWidth=s+"px",c.style.right=d+"px"}let l=p(),o=window.innerHeight-20,i=g.scrollHeight,d=window.getComputedStyle(u),f=parseInt(d.borderTopWidth,10),m=parseInt(d.paddingTop,10),x=parseInt(d.borderBottomWidth,10),b=f+m+i+parseInt(d.paddingBottom,10)+x,w=Math.min(5*v.offsetHeight,b),j=window.getComputedStyle(g),N=parseInt(j.paddingTop,10),C=parseInt(j.paddingBottom,10),k=e.top+e.height/2-10,S=v.offsetHeight/2,R=f+m+(v.offsetTop+S);if(R<=k){let e=l.length>0&&v===l[l.length-1].ref.current;c.style.bottom="0px";let t=Math.max(o-k,S+(e?C:0)+(u.clientHeight-g.offsetTop-g.offsetHeight)+x);c.style.height=R+t+"px"}else{let e=l.length>0&&v===l[0].ref.current;c.style.top="0px";let t=Math.max(k,f+g.offsetTop+(e?N:0)+S);c.style.height=t+(b-R)+"px",g.scrollTop=R-k+g.offsetTop}c.style.margin="10px 0",c.style.minHeight=w+"px",c.style.maxHeight=o+"px",n?.(),requestAnimationFrame(()=>h.current=!0)}},[p,s.trigger,s.valueNode,c,u,g,v,y,s.dir,n]);(0,X.N)(()=>w(),[w]);let[j,N]=o.useState();(0,X.N)(()=>{u&&N(window.getComputedStyle(u).zIndex)},[u]);let C=o.useCallback(e=>{e&&!0===x.current&&(w(),b?.(),x.current=!1)},[w,b]);return(0,l.jsx)(l7,{scope:r,contentWrapper:c,shouldExpandOnScrollRef:h,onScrollButtonChange:C,children:(0,l.jsx)("div",{ref:d,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:j},children:(0,l.jsx)(D.sG.div,{...a,ref:m,style:{boxSizing:"border-box",maxHeight:"100%",...a.style}})})})});l8.displayName="SelectItemAlignedPosition";var l9=o.forwardRef((e,t)=>{let{__scopeSelect:r,align:n="start",collisionPadding:a=10,...o}=e,s=lW(r);return(0,l.jsx)(tj,{...s,...o,ref:t,align:n,collisionPadding:a,style:{boxSizing:"border-box",...o.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});l9.displayName="SelectPopperPosition";var[l7,oe]=lB(l2,{}),ot="SelectViewport",or=o.forwardRef((e,t)=>{let{__scopeSelect:r,nonce:n,...a}=e,s=l3(ot,r),i=oe(ot,r),c=(0,T.s)(t,s.onViewportChange),d=o.useRef(0);return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:n}),(0,l.jsx)(lF.Slot,{scope:r,children:(0,l.jsx)(D.sG.div,{"data-radix-select-viewport":"",role:"presentation",...a,ref:c,style:{position:"relative",flex:1,overflow:"hidden auto",...a.style},onScroll:(0,E.m)(a.onScroll,e=>{let t=e.currentTarget,{contentWrapper:r,shouldExpandOnScrollRef:n}=i;if(n?.current&&r){let e=Math.abs(d.current-t.scrollTop);if(e>0){let n=window.innerHeight-20,a=Math.max(parseFloat(r.style.minHeight),parseFloat(r.style.height));if(a<n){let l=a+e,o=Math.min(n,l),s=l-o;r.style.height=o+"px","0px"===r.style.bottom&&(t.scrollTop=s>0?s:0,r.style.justifyContent="flex-end")}}}d.current=t.scrollTop})})})]})});or.displayName=ot;var on="SelectGroup",[oa,ol]=lB(on);o.forwardRef((e,t)=>{let{__scopeSelect:r,...n}=e,a=Z();return(0,l.jsx)(oa,{scope:r,id:a,children:(0,l.jsx)(D.sG.div,{role:"group","aria-labelledby":a,...n,ref:t})})}).displayName=on;var oo="SelectLabel",os=o.forwardRef((e,t)=>{let{__scopeSelect:r,...n}=e,a=ol(oo,r);return(0,l.jsx)(D.sG.div,{id:a.id,...n,ref:t})});os.displayName=oo;var oi="SelectItem",[oc,od]=lB(oi),ou=o.forwardRef((e,t)=>{let{__scopeSelect:r,value:n,disabled:a=!1,textValue:s,...i}=e,c=lK(oi,r),d=l3(oi,r),u=c.value===n,[f,m]=o.useState(s??""),[p,h]=o.useState(!1),x=(0,T.s)(t,e=>d.itemRefCallback?.(e,n,a)),g=Z(),v=o.useRef("touch"),y=()=>{a||(c.onValueChange(n),c.onOpenChange(!1))};if(""===n)throw Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return(0,l.jsx)(oc,{scope:r,value:n,disabled:a,textId:g,isSelected:u,onItemTextChange:o.useCallback(e=>{m(t=>t||(e?.textContent??"").trim())},[]),children:(0,l.jsx)(lF.ItemSlot,{scope:r,value:n,disabled:a,textValue:f,children:(0,l.jsx)(D.sG.div,{role:"option","aria-labelledby":g,"data-highlighted":p?"":void 0,"aria-selected":u&&p,"data-state":u?"checked":"unchecked","aria-disabled":a||void 0,"data-disabled":a?"":void 0,tabIndex:a?void 0:-1,...i,ref:x,onFocus:(0,E.m)(i.onFocus,()=>h(!0)),onBlur:(0,E.m)(i.onBlur,()=>h(!1)),onClick:(0,E.m)(i.onClick,()=>{"mouse"!==v.current&&y()}),onPointerUp:(0,E.m)(i.onPointerUp,()=>{"mouse"===v.current&&y()}),onPointerDown:(0,E.m)(i.onPointerDown,e=>{v.current=e.pointerType}),onPointerMove:(0,E.m)(i.onPointerMove,e=>{v.current=e.pointerType,a?d.onItemLeave?.():"mouse"===v.current&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:(0,E.m)(i.onPointerLeave,e=>{e.currentTarget===document.activeElement&&d.onItemLeave?.()}),onKeyDown:(0,E.m)(i.onKeyDown,e=>{d.searchRef?.current!==""&&" "===e.key||(lI.includes(e.key)&&y()," "===e.key&&e.preventDefault())})})})})});ou.displayName=oi;var of="SelectItemText",om=o.forwardRef((e,t)=>{let{__scopeSelect:r,className:n,style:a,...s}=e,i=lK(of,r),c=l3(of,r),d=od(of,r),u=lG(of,r),[f,m]=o.useState(null),p=(0,T.s)(t,e=>m(e),d.onItemTextChange,e=>c.itemTextRefCallback?.(e,d.value,d.disabled)),h=f?.textContent,x=o.useMemo(()=>(0,l.jsx)("option",{value:d.value,disabled:d.disabled,children:h},d.value),[d.disabled,d.value,h]),{onNativeOptionAdd:g,onNativeOptionRemove:v}=u;return(0,X.N)(()=>(g(x),()=>v(x)),[g,v,x]),(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(D.sG.span,{id:d.textId,...s,ref:p}),d.isSelected&&i.valueNode&&!i.valueNodeHasChildren?e3.createPortal(s.children,i.valueNode):null]})});om.displayName=of;var op="SelectItemIndicator",oh=o.forwardRef((e,t)=>{let{__scopeSelect:r,...n}=e;return od(op,r).isSelected?(0,l.jsx)(D.sG.span,{"aria-hidden":!0,...n,ref:t}):null});oh.displayName=op;var ox="SelectScrollUpButton",og=o.forwardRef((e,t)=>{let r=l3(ox,e.__scopeSelect),n=oe(ox,e.__scopeSelect),[a,s]=o.useState(!1),i=(0,T.s)(t,n.onScrollButtonChange);return(0,X.N)(()=>{if(r.viewport&&r.isPositioned){let e=function(){s(t.scrollTop>0)},t=r.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}},[r.viewport,r.isPositioned]),a?(0,l.jsx)(ob,{...e,ref:i,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=r;e&&t&&(e.scrollTop=e.scrollTop-t.offsetHeight)}}):null});og.displayName=ox;var ov="SelectScrollDownButton",oy=o.forwardRef((e,t)=>{let r=l3(ov,e.__scopeSelect),n=oe(ov,e.__scopeSelect),[a,s]=o.useState(!1),i=(0,T.s)(t,n.onScrollButtonChange);return(0,X.N)(()=>{if(r.viewport&&r.isPositioned){let e=function(){let e=t.scrollHeight-t.clientHeight;s(Math.ceil(t.scrollTop)<e)},t=r.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}},[r.viewport,r.isPositioned]),a?(0,l.jsx)(ob,{...e,ref:i,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=r;e&&t&&(e.scrollTop=e.scrollTop+t.offsetHeight)}}):null});oy.displayName=ov;var ob=o.forwardRef((e,t)=>{let{__scopeSelect:r,onAutoScroll:n,...a}=e,s=l3("SelectScrollButton",r),i=o.useRef(null),c=lU(r),d=o.useCallback(()=>{null!==i.current&&(window.clearInterval(i.current),i.current=null)},[]);return o.useEffect(()=>()=>d(),[d]),(0,X.N)(()=>{let e=c().find(e=>e.ref.current===document.activeElement);e?.ref.current?.scrollIntoView({block:"nearest"})},[c]),(0,l.jsx)(D.sG.div,{"aria-hidden":!0,...a,ref:t,style:{flexShrink:0,...a.style},onPointerDown:(0,E.m)(a.onPointerDown,()=>{null===i.current&&(i.current=window.setInterval(n,50))}),onPointerMove:(0,E.m)(a.onPointerMove,()=>{s.onItemLeave?.(),null===i.current&&(i.current=window.setInterval(n,50))}),onPointerLeave:(0,E.m)(a.onPointerLeave,()=>{d()})})}),ow=o.forwardRef((e,t)=>{let{__scopeSelect:r,...n}=e;return(0,l.jsx)(D.sG.div,{"aria-hidden":!0,...n,ref:t})});ow.displayName="SelectSeparator";var oj="SelectArrow";function oN(e){return""===e||void 0===e}o.forwardRef((e,t)=>{let{__scopeSelect:r,...n}=e,a=lW(r),o=lK(oj,r),s=l3(oj,r);return o.open&&"popper"===s.position?(0,l.jsx)(tk,{...a,...n,ref:t}):null}).displayName=oj;var oC=o.forwardRef((e,t)=>{let{value:r,...n}=e,a=o.useRef(null),s=(0,T.s)(t,a),i=lj(r);return o.useEffect(()=>{let e=a.current,t=Object.getOwnPropertyDescriptor(window.HTMLSelectElement.prototype,"value").set;if(i!==r&&t){let n=new Event("change",{bubbles:!0});t.call(e,r),e.dispatchEvent(n)}},[i,r]),(0,l.jsx)(lP.s,{asChild:!0,children:(0,l.jsx)("select",{...n,ref:s,defaultValue:r})})});function ok(e){let t=(0,U.c)(e),r=o.useRef(""),n=o.useRef(0),a=o.useCallback(e=>{let a=r.current+e;t(a),function e(t){r.current=t,window.clearTimeout(n.current),""!==t&&(n.current=window.setTimeout(()=>e(""),1e3))}(a)},[t]),l=o.useCallback(()=>{r.current="",window.clearTimeout(n.current)},[]);return o.useEffect(()=>()=>window.clearTimeout(n.current),[]),[r,a,l]}function oS(e,t,r){var n;let a=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,l=(n=Math.max(r?e.indexOf(r):-1,0),e.map((t,r)=>e[(n+r)%e.length]));1===a.length&&(l=l.filter(e=>e!==r));let o=l.find(e=>e.textValue.toLowerCase().startsWith(a.toLowerCase()));return o!==r?o:void 0}oC.displayName="BubbleSelect";let oR=(0,d.A)("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]),oE=o.forwardRef(({className:e,children:t,...r},n)=>(0,l.jsxs)(lQ,{ref:n,className:(0,j.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",e),...r,children:[t,(0,l.jsx)(l0,{asChild:!0,children:(0,l.jsx)(p,{className:"h-4 w-4 opacity-50"})})]}));oE.displayName=lQ.displayName;let oT=o.forwardRef(({className:e,...t},r)=>(0,l.jsx)(og,{ref:r,className:(0,j.cn)("flex cursor-default items-center justify-center py-1",e),...t,children:(0,l.jsx)(oR,{className:"h-4 w-4"})}));oT.displayName=og.displayName;let oM=o.forwardRef(({className:e,...t},r)=>(0,l.jsx)(oy,{ref:r,className:(0,j.cn)("flex cursor-default items-center justify-center py-1",e),...t,children:(0,l.jsx)(p,{className:"h-4 w-4"})}));oM.displayName=oy.displayName;let oA=o.forwardRef(({className:e,children:t,position:r="popper",...n},a)=>(0,l.jsx)(l1,{children:(0,l.jsxs)(l5,{ref:a,className:(0,j.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"===r&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:r,...n,children:[(0,l.jsx)(oT,{}),(0,l.jsx)(or,{className:(0,j.cn)("p-1","popper"===r&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:t}),(0,l.jsx)(oM,{})]})}));oA.displayName=l5.displayName,o.forwardRef(({className:e,...t},r)=>(0,l.jsx)(os,{ref:r,className:(0,j.cn)("px-2 py-1.5 text-sm font-semibold",e),...t})).displayName=os.displayName;let oD=o.forwardRef(({className:e,children:t,...r},n)=>(0,l.jsxs)(ou,{ref:n,className:(0,j.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",e),...r,children:[(0,l.jsx)("span",{className:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,l.jsx)(oh,{children:(0,l.jsx)(nq,{className:"h-4 w-4"})})}),(0,l.jsx)(om,{children:t})]}));oD.displayName=ou.displayName,o.forwardRef(({className:e,...t},r)=>(0,l.jsx)(ow,{ref:r,className:(0,j.cn)("-mx-1 my-1 h-px bg-muted",e),...t})).displayName=ow.displayName;let o_=(0,d.A)("SlidersHorizontal",[["line",{x1:"21",x2:"14",y1:"4",y2:"4",key:"obuewd"}],["line",{x1:"10",x2:"3",y1:"4",y2:"4",key:"1q6298"}],["line",{x1:"21",x2:"12",y1:"12",y2:"12",key:"1iu8h1"}],["line",{x1:"8",x2:"3",y1:"12",y2:"12",key:"ntss68"}],["line",{x1:"21",x2:"16",y1:"20",y2:"20",key:"14d8ph"}],["line",{x1:"12",x2:"3",y1:"20",y2:"20",key:"m0wm8r"}],["line",{x1:"14",x2:"14",y1:"2",y2:"6",key:"14e1ph"}],["line",{x1:"8",x2:"8",y1:"10",y2:"14",key:"1i6ji0"}],["line",{x1:"16",x2:"16",y1:"18",y2:"22",key:"1lctlv"}]]),oO=(0,d.A)("Upload",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"17 8 12 3 7 8",key:"t8dd8p"}],["line",{x1:"12",x2:"12",y1:"3",y2:"15",key:"widbto"}]]),oP=(0,d.A)("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]),oL=(0,d.A)("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);var[oI,o$]=(0,M.A)("Tooltip",[tm]),oF=tm(),oU="TooltipProvider",oz="tooltip.open",[oB,oH]=oI(oU),oW=e=>{let{__scopeTooltip:t,delayDuration:r=700,skipDelayDuration:n=300,disableHoverableContent:a=!1,children:s}=e,[i,c]=o.useState(!0),d=o.useRef(!1),u=o.useRef(0);return o.useEffect(()=>{let e=u.current;return()=>window.clearTimeout(e)},[]),(0,l.jsx)(oB,{scope:t,isOpenDelayed:i,delayDuration:r,onOpen:o.useCallback(()=>{window.clearTimeout(u.current),c(!1)},[]),onClose:o.useCallback(()=>{window.clearTimeout(u.current),u.current=window.setTimeout(()=>c(!0),n)},[n]),isPointerInTransitRef:d,onPointerInTransitChange:o.useCallback(e=>{d.current=e},[]),disableHoverableContent:a,children:s})};oW.displayName=oU;var oV="Tooltip",[oK,oq]=oI(oV),oG=e=>{let{__scopeTooltip:t,children:r,open:n,defaultOpen:a=!1,onOpenChange:s,disableHoverableContent:i,delayDuration:c}=e,d=oH(oV,e.__scopeTooltip),u=oF(t),[f,m]=o.useState(null),p=Z(),h=o.useRef(0),x=i??d.disableHoverableContent,g=c??d.delayDuration,v=o.useRef(!1),[y=!1,b]=(0,A.i)({prop:n,defaultProp:a,onChange:e=>{e?(d.onOpen(),document.dispatchEvent(new CustomEvent(oz))):d.onClose(),s?.(e)}}),w=o.useMemo(()=>y?v.current?"delayed-open":"instant-open":"closed",[y]),j=o.useCallback(()=>{window.clearTimeout(h.current),h.current=0,v.current=!1,b(!0)},[b]),N=o.useCallback(()=>{window.clearTimeout(h.current),h.current=0,b(!1)},[b]),C=o.useCallback(()=>{window.clearTimeout(h.current),h.current=window.setTimeout(()=>{v.current=!0,b(!0),h.current=0},g)},[g,b]);return o.useEffect(()=>()=>{h.current&&(window.clearTimeout(h.current),h.current=0)},[]),(0,l.jsx)(tx,{...u,children:(0,l.jsx)(oK,{scope:t,contentId:p,open:y,stateAttribute:w,trigger:f,onTriggerChange:m,onTriggerEnter:o.useCallback(()=>{d.isOpenDelayed?C():j()},[d.isOpenDelayed,C,j]),onTriggerLeave:o.useCallback(()=>{x?N():(window.clearTimeout(h.current),h.current=0)},[N,x]),onOpen:j,onClose:N,disableHoverableContent:x,children:r})})};oG.displayName=oV;var oY="TooltipTrigger",oX=o.forwardRef((e,t)=>{let{__scopeTooltip:r,...n}=e,a=oq(oY,r),s=oH(oY,r),i=oF(r),c=o.useRef(null),d=(0,T.s)(t,c,a.onTriggerChange),u=o.useRef(!1),f=o.useRef(!1),m=o.useCallback(()=>u.current=!1,[]);return o.useEffect(()=>()=>document.removeEventListener("pointerup",m),[m]),(0,l.jsx)(tv,{asChild:!0,...i,children:(0,l.jsx)(D.sG.button,{"aria-describedby":a.open?a.contentId:void 0,"data-state":a.stateAttribute,...n,ref:d,onPointerMove:(0,E.m)(e.onPointerMove,e=>{"touch"===e.pointerType||f.current||s.isPointerInTransitRef.current||(a.onTriggerEnter(),f.current=!0)}),onPointerLeave:(0,E.m)(e.onPointerLeave,()=>{a.onTriggerLeave(),f.current=!1}),onPointerDown:(0,E.m)(e.onPointerDown,()=>{u.current=!0,document.addEventListener("pointerup",m,{once:!0})}),onFocus:(0,E.m)(e.onFocus,()=>{u.current||a.onOpen()}),onBlur:(0,E.m)(e.onBlur,a.onClose),onClick:(0,E.m)(e.onClick,a.onClose)})})});oX.displayName=oY;var oQ="TooltipPortal",[oJ,oZ]=oI(oQ,{forceMount:void 0}),o0=e=>{let{__scopeTooltip:t,forceMount:r,children:n,container:a}=e,o=oq(oQ,t);return(0,l.jsx)(oJ,{scope:t,forceMount:r,children:(0,l.jsx)(tM.C,{present:r||o.open,children:(0,l.jsx)(tT.Z,{asChild:!0,container:a,children:n})})})};o0.displayName=oQ;var o1="TooltipContent",o2=o.forwardRef((e,t)=>{let r=oZ(o1,e.__scopeTooltip),{forceMount:n=r.forceMount,side:a="top",...o}=e,s=oq(o1,e.__scopeTooltip);return(0,l.jsx)(tM.C,{present:n||s.open,children:s.disableHoverableContent?(0,l.jsx)(o6,{side:a,...o,ref:t}):(0,l.jsx)(o5,{side:a,...o,ref:t})})}),o5=o.forwardRef((e,t)=>{let r=oq(o1,e.__scopeTooltip),n=oH(o1,e.__scopeTooltip),a=o.useRef(null),s=(0,T.s)(t,a),[i,c]=o.useState(null),{trigger:d,onClose:u}=r,f=a.current,{onPointerInTransitChange:m}=n,p=o.useCallback(()=>{c(null),m(!1)},[m]),h=o.useCallback((e,t)=>{let r=e.currentTarget,n={x:e.clientX,y:e.clientY},a=function(e,t){let r=Math.abs(t.top-e.y),n=Math.abs(t.bottom-e.y),a=Math.abs(t.right-e.x),l=Math.abs(t.left-e.x);switch(Math.min(r,n,a,l)){case l:return"left";case a:return"right";case r:return"top";case n:return"bottom";default:throw Error("unreachable")}}(n,r.getBoundingClientRect());c(function(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:e.y>t.y?1:0),function(e){if(e.length<=1)return e.slice();let t=[];for(let r=0;r<e.length;r++){let n=e[r];for(;t.length>=2;){let e=t[t.length-1],r=t[t.length-2];if((e.x-r.x)*(n.y-r.y)>=(e.y-r.y)*(n.x-r.x))t.pop();else break}t.push(n)}t.pop();let r=[];for(let t=e.length-1;t>=0;t--){let n=e[t];for(;r.length>=2;){let e=r[r.length-1],t=r[r.length-2];if((e.x-t.x)*(n.y-t.y)>=(e.y-t.y)*(n.x-t.x))r.pop();else break}r.push(n)}return(r.pop(),1===t.length&&1===r.length&&t[0].x===r[0].x&&t[0].y===r[0].y)?t:t.concat(r)}(t)}([...function(e,t,r=5){let n=[];switch(t){case"top":n.push({x:e.x-r,y:e.y+r},{x:e.x+r,y:e.y+r});break;case"bottom":n.push({x:e.x-r,y:e.y-r},{x:e.x+r,y:e.y-r});break;case"left":n.push({x:e.x+r,y:e.y-r},{x:e.x+r,y:e.y+r});break;case"right":n.push({x:e.x-r,y:e.y-r},{x:e.x-r,y:e.y+r})}return n}(n,a),...function(e){let{top:t,right:r,bottom:n,left:a}=e;return[{x:a,y:t},{x:r,y:t},{x:r,y:n},{x:a,y:n}]}(t.getBoundingClientRect())])),m(!0)},[m]);return o.useEffect(()=>()=>p(),[p]),o.useEffect(()=>{if(d&&f){let e=e=>h(e,f),t=e=>h(e,d);return d.addEventListener("pointerleave",e),f.addEventListener("pointerleave",t),()=>{d.removeEventListener("pointerleave",e),f.removeEventListener("pointerleave",t)}}},[d,f,h,p]),o.useEffect(()=>{if(i){let e=e=>{let t=e.target,r={x:e.clientX,y:e.clientY},n=d?.contains(t)||f?.contains(t),a=!function(e,t){let{x:r,y:n}=e,a=!1;for(let e=0,l=t.length-1;e<t.length;l=e++){let o=t[e].x,s=t[e].y,i=t[l].x,c=t[l].y;s>n!=c>n&&r<(i-o)*(n-s)/(c-s)+o&&(a=!a)}return a}(r,i);n?p():a&&(p(),u())};return document.addEventListener("pointermove",e),()=>document.removeEventListener("pointermove",e)}},[d,f,i,u,p]),(0,l.jsx)(o6,{...e,ref:s})}),[o4,o3]=oI(oV,{isInside:!1}),o6=o.forwardRef((e,t)=>{let{__scopeTooltip:r,children:n,"aria-label":a,onEscapeKeyDown:s,onPointerDownOutside:i,...c}=e,d=oq(o1,r),u=oF(r),{onClose:f}=d;return o.useEffect(()=>(document.addEventListener(oz,f),()=>document.removeEventListener(oz,f)),[f]),o.useEffect(()=>{if(d.trigger){let e=e=>{let t=e.target;t?.contains(d.trigger)&&f()};return window.addEventListener("scroll",e,{capture:!0}),()=>window.removeEventListener("scroll",e,{capture:!0})}},[d.trigger,f]),(0,l.jsx)(L.qW,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:s,onPointerDownOutside:i,onFocusOutside:e=>e.preventDefault(),onDismiss:f,children:(0,l.jsxs)(tj,{"data-state":d.stateAttribute,...u,...c,ref:t,style:{...c.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[(0,l.jsx)(tq.xV,{children:n}),(0,l.jsx)(o4,{scope:r,isInside:!0,children:(0,l.jsx)(lP.b,{id:d.contentId,role:"tooltip",children:a||n})})]})})});o2.displayName=o1;var o8="TooltipArrow";o.forwardRef((e,t)=>{let{__scopeTooltip:r,...n}=e,a=oF(r);return o3(o8,r).isInside?null:(0,l.jsx)(tk,{...a,...n,ref:t})}).displayName=o8;let o9=o.forwardRef(({className:e,sideOffset:t=4,...r},n)=>(0,l.jsx)(o0,{children:(0,l.jsx)(o2,{ref:n,sideOffset:t,className:(0,j.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",e),...r})}));o9.displayName=o2.displayName;let o7=(0,d.A)("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]),se=(0,o.memo)(({onRefresh:e,disabled:t})=>{let[r,n]=(0,o.useState)(!1),a=async()=>{if(!r&&!t){n(!0);try{await e()}catch(e){console.error("Refresh failed:",e)}finally{setTimeout(()=>{n(!1)},500)}}};return(0,l.jsx)(oW,{children:(0,l.jsxs)(oG,{children:[(0,l.jsx)(oX,{asChild:!0,children:(0,l.jsx)(nZ,{variant:"outline",size:"icon",onClick:a,disabled:r||t,className:"h-8",children:r?(0,l.jsx)(v,{className:"h-4 w-4 animate-spin"}):(0,l.jsx)(o7,{className:"h-4 w-4"})})}),(0,l.jsx)(o9,{children:(0,l.jsx)("p",{children:"Refresh table data"})})]})})});se.displayName="RefreshButton";let st=(0,d.A)("FolderSync",[["path",{d:"M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v.5",key:"1dkoa9"}],["path",{d:"M12 10v4h4",key:"1czhmt"}],["path",{d:"m12 14 1.535-1.605a5 5 0 0 1 8 1.5",key:"lvuxfi"}],["path",{d:"M22 22v-4h-4",key:"1ewp4q"}],["path",{d:"m22 18-1.535 1.605a5 5 0 0 1-8-1.5",key:"14ync0"}]]);var sr=r(6888);let sn=(0,o.memo)(({tableName:e,onSync:t})=>{let[r,n]=(0,o.useState)(!1),{toast:a}=(0,sr.dj)();if("d1_migrations"!==e)return null;let s=async()=>{try{n(!0);let e=await fetch("/api/migrations/sync-files",{method:"POST"}),r=await e.json();if(!e.ok)throw Error(r.error||"Failed to sync migrations");let{added:l=[],removed:o=[]}=r.details||{};a({title:"Migrations Synced",description:`Added: ${l.length}, Removed: ${o.length}`}),t&&await t()}catch(e){console.error("Error syncing migrations:",e),a({variant:"destructive",title:"Sync Failed",description:e.message})}finally{n(!1)}};return(0,l.jsx)(oW,{children:(0,l.jsxs)(oG,{children:[(0,l.jsx)(oX,{asChild:!0,children:(0,l.jsx)(nZ,{variant:"outline",size:"icon",onClick:s,disabled:r,className:"h-8",children:r?(0,l.jsx)(v,{className:"h-4 w-4 animate-spin"}):(0,l.jsx)(st,{className:"h-4 w-4"})})}),(0,l.jsx)(o9,{children:(0,l.jsx)("p",{children:"Sync migration files with d1_migrations table"})})]})})});sn.displayName="SyncMigrationsButton";let sa=(0,d.A)("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]),sl=(0,d.A)("FileJson",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1",key:"1oajmo"}],["path",{d:"M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1",key:"mpwhp6"}]]),so=(0,d.A)("FileSpreadsheet",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M8 13h2",key:"yr2amv"}],["path",{d:"M14 13h2",key:"un5t4a"}],["path",{d:"M8 17h2",key:"2yhykz"}],["path",{d:"M14 17h2",key:"10kma7"}]]),ss=(0,d.A)("FileCode",[["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z",key:"1mlx9k"}]]),si=(0,o.memo)(({tableName:e,onDownloadStart:t,onDownloadComplete:r,disabled:n})=>{let[a,s]=(0,o.useState)(!1),{toast:i}=(0,sr.dj)(),c=(e,t)=>{try{let r=new Blob([e],{type:"application/octet-stream"}),n=window.URL.createObjectURL(r),a=document.createElement("a");a.href=n,a.download=t,document.body.appendChild(a),a.click(),document.body.removeChild(a),window.URL.revokeObjectURL(n)}catch(e){throw console.error("Error during file download:",e),e}},d=async a=>{if(!n)try{s(!0),t?.();let n=await fetch(`/api/tables/${e}?export=true&page=1&limit=999999`),l=await n.json();if(!n.ok)throw Error(l.error||"Failed to fetch data");let{data:o,schema:d}=l;if(!o?.length){i({title:"No Data",description:"The table is empty.",variant:"destructive"});return}let u=new Date().toISOString().split("T")[0],f=`${e}_${u}.${a}`;switch(a){case"json":{let e=JSON.stringify(o,null,2);c(e,f);break}case"csv":{let e=Object.keys(o[0]),t=[e.join(","),...o.map(t=>e.map(e=>{let r=t[e];if(null==r)return"";if("string"==typeof r){let e=r.replace(/"/g,'""');return`"${e}"`}return r}).join(","))].join("\n");c(t,f);break}case"sql":{let t=`CREATE TABLE IF NOT EXISTS ${e} (
|
|
49
|
+
`+d.map(e=>{let t=[];return e.pk&&t.push("PRIMARY KEY"),e.notnull||t.push("NOT NULL"),` ${e.name} ${e.type}${t.length?` ${t.join(" ")}`:""}`}).join(",\n")+"\n);\n\n",r=o.map(t=>{let r=Object.keys(t),n=r.map(e=>{let r=t[e];return null===r?"NULL":"string"==typeof r?`'${r.replace(/'/g,"''")}'`:r});return`INSERT INTO ${e} (${r.join(", ")})
|
|
50
|
+
VALUES (${n.join(", ")});`}).join("\n");c(t+r,f)}}i({title:"Download Complete",description:`${o.length} rows exported as ${a.toUpperCase()}.`}),r?.()}catch(e){console.error("Download error:",e),i({variant:"destructive",title:"Download Failed",description:e.message})}finally{s(!1)}};return(0,l.jsxs)(nD,{children:[(0,l.jsx)(oW,{children:(0,l.jsxs)(oG,{children:[(0,l.jsx)(oX,{asChild:!0,children:(0,l.jsx)(nO,{asChild:!0,children:(0,l.jsx)(nZ,{variant:"outline",size:"icon",className:"h-8",disabled:a||n,children:a?(0,l.jsx)(v,{className:"h-4 w-4 animate-spin"}):(0,l.jsx)(sa,{className:"h-4 w-4"})})})}),(0,l.jsx)(o9,{children:(0,l.jsx)("p",{children:"Download table data"})})]})}),(0,l.jsxs)(nY,{align:"end",children:[(0,l.jsxs)(nX,{onClick:()=>d("json"),disabled:n,children:[(0,l.jsx)(sl,{className:"mr-2 h-4 w-4"}),(0,l.jsx)("span",{children:"Download JSON"})]}),(0,l.jsxs)(nX,{onClick:()=>d("csv"),disabled:n,children:[(0,l.jsx)(so,{className:"mr-2 h-4 w-4"}),(0,l.jsx)("span",{children:"Download CSV"})]}),(0,l.jsxs)(nX,{onClick:()=>d("sql"),disabled:n,children:[(0,l.jsx)(ss,{className:"mr-2 h-4 w-4"}),(0,l.jsx)("span",{children:"Download SQL"})]})]})]})});si.displayName="DownloadButton";let sc=(0,d.A)("Columns2",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M12 3v18",key:"108xh3"}]]),sd=function({schema:e=[],visibleColumns:t=[],onColumnToggle:r}){let[n,a]=(0,o.useState)(""),s=e.filter(e=>e.name.toLowerCase().includes(n.toLowerCase())),i=s.map(e=>e.name),c=i.length>0&&i.every(e=>t.includes(e)),d=e=>{r(e)};return(0,l.jsxs)(nD,{children:[(0,l.jsx)(nO,{asChild:!0,children:(0,l.jsxs)(nZ,{size:"sm",variant:"outline",className:"font-semibold",children:[(0,l.jsx)(sc,{className:"h-4 w-4"}),"Columns (",t.length,")"]})}),(0,l.jsxs)(nY,{align:"end",className:"w-64 font-sans",children:[(0,l.jsx)("div",{className:"p-2",children:(0,l.jsx)(N,{placeholder:"Search columns...",value:n,onChange:e=>a(e.target.value),className:"h-8"})}),(0,l.jsxs)("div",{className:"flex items-center space-x-2 px-2 py-1.5 hover:bg-accent rounded-md",children:[(0,l.jsx)(lO,{id:"select-all-columns",checked:c,onCheckedChange:e=>{e?s.forEach(e=>{t.includes(e.name)||r(e.name)}):s.forEach(e=>{t.includes(e.name)&&r(e.name)})},className:"shrink-0"}),(0,l.jsxs)("label",{htmlFor:"select-all-columns",className:"flex-1 cursor-pointer text-sm font-medium",children:["Select All ",n&&"(Filtered)"]})]}),(0,l.jsx)("div",{className:"max-h-[300px] overflow-y-auto",children:s.map(e=>(0,l.jsxs)("div",{className:"flex items-start space-x-2 px-2 py-1.5 hover:bg-accent rounded-md",children:[(0,l.jsx)(lO,{id:`column-${e.name}`,checked:t.includes(e.name),onCheckedChange:()=>d(e.name),className:"mt-1"}),(0,l.jsxs)("label",{htmlFor:`column-${e.name}`,className:"flex-1 cursor-pointer",children:[(0,l.jsx)("div",{className:"text-sm font-medium",children:e.name}),(0,l.jsx)("div",{className:"text-xs text-muted-foreground",children:e.type.toLowerCase()})]})]},e.name))})]})]})},su=(0,o.memo)(({onAdd:e,onDelete:t,onImport:r,selectedCount:n,disabled:a,newRecordsCount:o,schema:s,visibleColumns:i,onColumnToggle:c,showFilters:d,onToggleFilters:u,activeFilterCount:f})=>(0,l.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,l.jsxs)(nZ,{size:"sm",variant:d?"default":"outline",className:"font-semibold gap-1",onClick:u,children:[(0,l.jsx)(o_,{className:"h-4 w-4"}),"Filters",f>0&&(0,l.jsx)("span",{className:"ml-0.5 text-[10px] font-bold bg-white text-neutral-800 px-1 py-0 rounded-full",children:f})]}),(0,l.jsx)(sd,{schema:s,visibleColumns:i,onColumnToggle:c}),(0,l.jsx)("div",{className:"h-4 border-r mx-2"}),(0,l.jsx)(nZ,{size:"sm",variant:"default",className:"font-semibold",onClick:e,children:"Add record"}),(0,l.jsx)(oW,{children:(0,l.jsxs)(oG,{children:[(0,l.jsx)(oX,{asChild:!0,children:(0,l.jsxs)(nZ,{size:"sm",variant:"outline",className:"font-semibold",onClick:r,disabled:a,children:[(0,l.jsx)(oO,{className:"h-4 w-4"}),"Import"]})}),(0,l.jsx)(o9,{children:(0,l.jsx)("p",{children:"Import CSV or JSON"})})]})}),n>0&&(0,l.jsxs)(nZ,{size:"sm",className:"font-semibold",onClick:t,variant:"destructive",disabled:a||o>0,children:["Delete ",n," ",1===n?"record":"records"]})]})),sf=(0,o.memo)(({totalRows:e})=>(0,l.jsxs)("span",{className:"text-sm text-neutral-600",children:[e," ",1===e?"row":"rows"]})),sm=(0,o.memo)(({currentPage:e,totalPages:t,onPageChange:r,disabled:n,newRecordsCount:a})=>(0,l.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,l.jsx)(nZ,{variant:"ghost",size:"icon",onClick:()=>{console.log("Pagination: navigating to previous page",e-1),r(e-1)},disabled:1===e||n||a>0,className:"h-8",children:(0,l.jsx)(oP,{className:"h-4 w-4"})}),(0,l.jsxs)("span",{className:"text-sm",children:["Page ",e," of ",t]}),(0,l.jsx)(nZ,{variant:"ghost",size:"icon",onClick:()=>{console.log("Pagination: navigating to next page",e+1),r(e+1)},disabled:e===t||n||a>0,className:"h-8",children:(0,l.jsx)(oL,{className:"h-4 w-4"})})]})),sp=(0,o.memo)(({value:e,onValueChange:t,disabled:r,newRecordsCount:n})=>(0,l.jsxs)(lY,{value:e.toString(),onValueChange:t,disabled:r||n>0,children:[(0,l.jsx)(oE,{className:"w-20 h-8",children:(0,l.jsx)(lZ,{})}),(0,l.jsxs)(oA,{children:[(0,l.jsx)(oD,{value:"50",children:"50"}),(0,l.jsx)(oD,{value:"100",children:"100"}),(0,l.jsx)(oD,{value:"250",children:"250"})]})]})),sh=(0,o.memo)(({onSave:e,onDiscard:t,totalChanges:r,isSaving:n})=>(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)(nZ,{size:"sm",variant:"ghost",className:"font-semibold",onClick:t,disabled:n,children:"Discard changes"}),(0,l.jsx)(nZ,{size:"sm",className:"font-semibold bg-green-600 hover:bg-green-700",variant:"default",onClick:e,disabled:n,children:n?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(v,{className:"h-4 w-4 animate-spin"}),"Saving..."]}):`Save ${r} ${1===r?"change":"changes"}`})]})),sx=({selectedCount:e=0,onAdd:t,onDelete:r,onImport:n,onRefresh:a,totalRows:o=0,currentPage:s=1,totalPages:i=1,onPageChange:c,rowsPerPage:d=50,onRowsPerPageChange:u,tableName:f,onDownloadStart:m,onDownloadComplete:p,disabled:h=!1,editCount:x=0,newRecordsCount:g=0,onSaveChanges:v,onDiscardChanges:y,isSaving:b=!1,schema:w,visibleColumns:j,onColumnToggle:N,showFilters:C=!1,onToggleFilters:k,activeFilterCount:S=0})=>{let R=x+g;return(0,l.jsx)("div",{className:"flex items-center justify-between p-3 border-b bg-background font-sans",children:(0,l.jsxs)("div",{className:"flex items-center justify-between w-full",children:[(0,l.jsx)(su,{onAdd:t,onDelete:r,onImport:n,selectedCount:e,disabled:h||b,newRecordsCount:g,schema:w,visibleColumns:j,onColumnToggle:N,showFilters:C,onToggleFilters:k,activeFilterCount:S}),(0,l.jsx)("div",{className:"flex items-center gap-4",children:R>0?(0,l.jsx)(sh,{onSave:v,onDiscard:y,totalChanges:R,isSaving:b}):(0,l.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,l.jsx)(sf,{totalRows:o}),(0,l.jsx)(sm,{currentPage:s,totalPages:i,onPageChange:c,disabled:h,newRecordsCount:g}),(0,l.jsx)(sp,{value:d,onValueChange:e=>{u(parseInt(e,10)),c(1)},disabled:h,newRecordsCount:g}),(0,l.jsx)(se,{onRefresh:a,disabled:h}),(0,l.jsx)(sn,{tableName:f,onSync:a,disabled:h}),(0,l.jsx)(si,{tableName:f,onDownloadStart:m,onDownloadComplete:p,disabled:h})]})})]})})};sx.displayName="TableToolbar";let sg=(0,o.memo)(sx);function sv({value:e,row:t,column:r,schema:n,onChange:a,onStartEdit:s,isEditing:i,fkInfo:c,onShowRelation:d}){let u="string"==typeof e?e.replace(/^'|'$/g,""):e,[f,m]=(0,o.useState)(u),[p,h]=(0,o.useState)("auto"),x=(0,o.useRef)(null),g=(0,o.useRef)(null),v=n.find(e=>e.name===r),y=(0,o.useMemo)(()=>v?.check||null,[v]),b=(0,o.useMemo)(()=>{let e=v?.type?.toLowerCase()||"";return"boolean"===e||"bool"===e||"integer"===e&&r.toLowerCase().startsWith("is_")},[v,r]);v?.pk;let w=(0,o.useCallback)(e=>{let t=b?"true"===e?1:"false"===e?0:e:e;m(e),a?.(t)},[a,b]),j=(0,o.useCallback)(()=>{!i&&s&&s(u)},[i,s,u]),C="border-x border-neutral-200 px-3 py-2.5 text-xs font-mono whitespace-nowrap overflow-hidden bg-white",k=(0,o.useMemo)(()=>null==u?"null":b?1===u||"1"===u||"true"===u?"true":"false":u.toString(),[u,b]);return i?b?(0,l.jsx)(aA,{className:`${C} p-0`,style:{width:p},children:(0,l.jsx)("div",{className:"w-full h-full",children:(0,l.jsxs)(lY,{value:k,onValueChange:w,defaultOpen:i,children:[(0,l.jsx)(oE,{className:"w-full h-9 min-w-0 rounded-none border-0 bg-orange-50 text-orange-900",children:(0,l.jsx)(lZ,{placeholder:"Select value"})}),(0,l.jsxs)(oA,{className:"min-w-[8rem]",children:[(0,l.jsx)(oD,{value:"true",children:"true"}),(0,l.jsx)(oD,{value:"false",children:"false"})]})]})})}):y?.length>0?(0,l.jsx)(aA,{className:`${C} p-0`,style:{width:p},children:(0,l.jsx)("div",{className:"w-full h-full",children:(0,l.jsxs)(lY,{value:f??y[0],onValueChange:w,defaultOpen:i,children:[(0,l.jsx)(oE,{className:"w-full h-9 min-w-0 rounded-none border-0 bg-orange-50 text-orange-900",children:(0,l.jsx)(lZ,{placeholder:`Select ${r}`})}),(0,l.jsx)(oA,{className:"min-w-[8rem]",children:y.map(e=>(0,l.jsx)(oD,{value:e,children:e},e))})]})})}):(0,l.jsx)(aA,{className:`${C} p-0`,style:{width:p},children:(0,l.jsx)(N,{ref:g,value:f??"",onChange:e=>w(e.target.value),className:"w-full min-w-0 rounded-none border-0 bg-orange-50 text-orange-900"})}):(0,l.jsxs)(aA,{ref:x,className:`${C} relative group cursor-pointer hover:bg-muted/50`,onClick:j,children:[k,c&&(0,l.jsx)("button",{className:"absolute right-0.5 top-1/2 -translate-y-1/2 opacity-0 group-hover:opacity-100 rounded p-0.5 bg-white border hover:bg-blue-50 transition-opacity z-10",onClick:e=>{e.stopPropagation(),d?.()},title:`Show related ${c.table}`,children:(0,l.jsx)(oL,{className:"h-3 w-3 text-blue-500"})})]})}let sy=(0,d.A)("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);function sb(e){return"string"==typeof e?e.replace(/^'|'$/g,""):e}function sw({schema:e,onRemove:t,onChange:r,showCheckbox:n=!1,initialData:a={}}){let[s,i]=(0,o.useState)(()=>e.reduce((e,t)=>{let r=a[t.name]??null;if(r=sb(r),1===t.pk&&(null===r||""===r))r="INTEGER"===t.type.toUpperCase()?"[Auto-generated INT]":"[Auto-generated]";else if(null===r){let e=t.dflt_value&&"null"!==t.dflt_value?t.dflt_value:null;if(e){let n=sb(e);r=n.includes("randomblob")||n.includes("lower(hex(")?"[Auto-generated UUID]":"INTEGER"===t.type.toUpperCase()&&1===t.pk&&(n.includes("AUTOINCREMENT")||n.includes("AUTO_INCREMENT")||n.includes("nextval")||""===n||"0"===n)?"[Auto-generated INT]":n}else"INTEGER"===t.type.toUpperCase()?r="":"TEXT"===t.type.toUpperCase()&&(r="")}return e[t.name]=r,e},{}));(0,o.useRef)(!1);let c=(e,t)=>{let n={...s,[e]:t};i(n),r?.(n)},d=e=>{let t=e.type?.toLowerCase()||"";return"boolean"===t||"bool"===t||"integer"===t&&e.name.toLowerCase().startsWith("is_")};return(0,l.jsxs)(aT,{className:"bg-orange-50/50",children:[(0,l.jsx)(aA,{className:"w-10 p-0",children:(0,l.jsx)("div",{className:"pl-1 flex items-center",children:n?(0,l.jsx)(lO,{disabled:!0}):(0,l.jsx)(nZ,{variant:"ghost",size:"icon",className:"h-8 w-8 text-orange-700 hover:text-orange-800",onClick:t,children:(0,l.jsx)(sy,{className:"h-4 w-4"})})})}),e.map(e=>{let t=1===e.pk,r=e.check||null;if(d(e)){let t="false";if(null!==e.dflt_value&&void 0!==e.dflt_value){let r=e.dflt_value.toString().toLowerCase();t="1"===r||"true"===r||"'true'"===r||'"true"'===r?"true":"false"}let r=null!==s[e.name]&&void 0!==s[e.name]?1===s[e.name]||!0===s[e.name]||"true"===s[e.name]?"true":"false":t;return(0,l.jsx)(aA,{className:"border-x border-neutral-200 p-0",children:(0,l.jsx)("div",{className:"w-full",children:(0,l.jsxs)(lY,{value:r,onValueChange:t=>c(e.name,"true"===t?1:0),children:[(0,l.jsx)(oE,{className:"w-full h-9 min-w-0 rounded-none border-0 bg-orange-50 text-orange-900",title:`Default: ${t}`,children:(0,l.jsx)(lZ,{placeholder:`Select ${e.name}`})}),(0,l.jsxs)(oA,{className:"min-w-[8rem]",children:[(0,l.jsx)(oD,{value:"true",children:"true"}),(0,l.jsx)(oD,{value:"false",children:"false"})]})]})})},e.name)}if(r?.length>0)return(0,l.jsx)(aA,{className:"border-x border-neutral-200 p-0",children:(0,l.jsx)("div",{className:"w-full",children:(0,l.jsxs)(lY,{value:s[e.name]??r[0],onValueChange:t=>c(e.name,t),children:[(0,l.jsx)(oE,{className:"w-full h-9 min-w-0 rounded-none border-0 bg-orange-50 text-orange-900",children:(0,l.jsx)(lZ,{placeholder:`Select ${e.name}`})}),(0,l.jsx)(oA,{className:"min-w-[8rem]",children:r.map(e=>(0,l.jsx)(oD,{value:e,children:e},e))})]})})},e.name);let n=t&&("[Auto-generated INT]"===s[e.name]||"[Auto-generated UUID]"===s[e.name]||"[Auto-generated]"===s[e.name]);return(0,l.jsx)(aA,{className:"border-x border-neutral-200 p-0",children:(0,l.jsx)(N,{value:n?"":s[e.name]??"",onChange:t=>c(e.name,t.target.value),disabled:n,className:`w-full min-w-0 rounded-none border-0 px-2 bg-orange-50 text-orange-900 ${n?"opacity-50":""}`,placeholder:n?"Auto-generated":`Enter ${e.name}`})},e.name)})]})}var sj="Dialog",[sN,sC]=(0,M.A)(sj),[sk,sS]=sN(sj),sR=e=>{let{__scopeDialog:t,children:r,open:n,defaultOpen:a,onOpenChange:s,modal:i=!0}=e,c=o.useRef(null),d=o.useRef(null),[u=!1,f]=(0,A.i)({prop:n,defaultProp:a,onChange:s});return(0,l.jsx)(sk,{scope:t,triggerRef:c,contentRef:d,contentId:Z(),titleId:Z(),descriptionId:Z(),open:u,onOpenChange:f,onOpenToggle:o.useCallback(()=>f(e=>!e),[f]),modal:i,children:r})};sR.displayName=sj;var sE="DialogTrigger";o.forwardRef((e,t)=>{let{__scopeDialog:r,...n}=e,a=sS(sE,r),o=(0,T.s)(t,a.triggerRef);return(0,l.jsx)(D.sG.button,{type:"button","aria-haspopup":"dialog","aria-expanded":a.open,"aria-controls":a.contentId,"data-state":sq(a.open),...n,ref:o,onClick:(0,E.m)(e.onClick,a.onOpenToggle)})}).displayName=sE;var sT="DialogPortal",[sM,sA]=sN(sT,{forceMount:void 0}),sD=e=>{let{__scopeDialog:t,forceMount:r,children:n,container:a}=e,s=sS(sT,t);return(0,l.jsx)(sM,{scope:t,forceMount:r,children:o.Children.map(n,e=>(0,l.jsx)(tM.C,{present:r||s.open,children:(0,l.jsx)(tT.Z,{asChild:!0,container:a,children:e})}))})};sD.displayName=sT;var s_="DialogOverlay",sO=o.forwardRef((e,t)=>{let r=sA(s_,e.__scopeDialog),{forceMount:n=r.forceMount,...a}=e,o=sS(s_,e.__scopeDialog);return o.modal?(0,l.jsx)(tM.C,{present:n||o.open,children:(0,l.jsx)(sP,{...a,ref:t})}):null});sO.displayName=s_;var sP=o.forwardRef((e,t)=>{let{__scopeDialog:r,...n}=e,a=sS(s_,r);return(0,l.jsx)(rM,{as:tq.DX,allowPinchZoom:!0,shards:[a.contentRef],children:(0,l.jsx)(D.sG.div,{"data-state":sq(a.open),...n,ref:t,style:{pointerEvents:"auto",...n.style}})})}),sL="DialogContent",sI=o.forwardRef((e,t)=>{let r=sA(sL,e.__scopeDialog),{forceMount:n=r.forceMount,...a}=e,o=sS(sL,e.__scopeDialog);return(0,l.jsx)(tM.C,{present:n||o.open,children:o.modal?(0,l.jsx)(s$,{...a,ref:t}):(0,l.jsx)(sF,{...a,ref:t})})});sI.displayName=sL;var s$=o.forwardRef((e,t)=>{let r=sS(sL,e.__scopeDialog),n=o.useRef(null),a=(0,T.s)(t,r.contentRef,n);return o.useEffect(()=>{let e=n.current;if(e)return t0(e)},[]),(0,l.jsx)(sU,{...e,ref:a,trapFocus:r.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,E.m)(e.onCloseAutoFocus,e=>{e.preventDefault(),r.triggerRef.current?.focus()}),onPointerDownOutside:(0,E.m)(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,r=0===t.button&&!0===t.ctrlKey;(2===t.button||r)&&e.preventDefault()}),onFocusOutside:(0,E.m)(e.onFocusOutside,e=>e.preventDefault())})}),sF=o.forwardRef((e,t)=>{let r=sS(sL,e.__scopeDialog),n=o.useRef(!1),a=o.useRef(!1);return(0,l.jsx)(sU,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(n.current||r.triggerRef.current?.focus(),t.preventDefault()),n.current=!1,a.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(n.current=!0,"pointerdown"!==t.detail.originalEvent.type||(a.current=!0));let l=t.target;r.triggerRef.current?.contains(l)&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&a.current&&t.preventDefault()}})}),sU=o.forwardRef((e,t)=>{let{__scopeDialog:r,trapFocus:n,onOpenAutoFocus:a,onCloseAutoFocus:s,...i}=e,c=sS(sL,r),d=o.useRef(null),u=(0,T.s)(t,d);return $(),(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(W,{asChild:!0,loop:!0,trapped:n,onMountAutoFocus:a,onUnmountAutoFocus:s,children:(0,l.jsx)(L.qW,{role:"dialog",id:c.contentId,"aria-describedby":c.descriptionId,"aria-labelledby":c.titleId,"data-state":sq(c.open),...i,ref:u,onDismiss:()=>c.onOpenChange(!1)})}),(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(sQ,{titleId:c.titleId}),(0,l.jsx)(sJ,{contentRef:d,descriptionId:c.descriptionId})]})]})}),sz="DialogTitle",sB=o.forwardRef((e,t)=>{let{__scopeDialog:r,...n}=e,a=sS(sz,r);return(0,l.jsx)(D.sG.h2,{id:a.titleId,...n,ref:t})});sB.displayName=sz;var sH="DialogDescription",sW=o.forwardRef((e,t)=>{let{__scopeDialog:r,...n}=e,a=sS(sH,r);return(0,l.jsx)(D.sG.p,{id:a.descriptionId,...n,ref:t})});sW.displayName=sH;var sV="DialogClose",sK=o.forwardRef((e,t)=>{let{__scopeDialog:r,...n}=e,a=sS(sV,r);return(0,l.jsx)(D.sG.button,{type:"button",...n,ref:t,onClick:(0,E.m)(e.onClick,()=>a.onOpenChange(!1))})});function sq(e){return e?"open":"closed"}sK.displayName=sV;var sG="DialogTitleWarning",[sY,sX]=(0,M.q)(sG,{contentName:sL,titleName:sz,docsSlug:"dialog"}),sQ=({titleId:e})=>{let t=sX(sG),r=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
|
|
51
|
+
|
|
52
|
+
If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
|
|
53
|
+
|
|
54
|
+
For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return o.useEffect(()=>{e&&!document.getElementById(e)&&console.error(r)},[r,e]),null},sJ=({contentRef:e,descriptionId:t})=>{let r=sX("DialogDescriptionWarning"),n=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${r.contentName}}.`;return o.useEffect(()=>{let r=e.current?.getAttribute("aria-describedby");t&&r&&!document.getElementById(t)&&console.warn(n)},[n,e,t]),null};let sZ=o.forwardRef(({className:e,...t},r)=>(0,l.jsx)(sO,{ref:r,className:(0,j.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",e),...t}));sZ.displayName=sO.displayName;let s0=o.forwardRef(({className:e,children:t,...r},n)=>(0,l.jsxs)(sD,{children:[(0,l.jsx)(sZ,{}),(0,l.jsxs)(sI,{ref:n,className:(0,j.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",e),...r,children:[t,(0,l.jsxs)(sK,{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,l.jsx)(aD.A,{className:"h-4 w-4"}),(0,l.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));s0.displayName=sI.displayName;let s1=({className:e,...t})=>(0,l.jsx)("div",{className:(0,j.cn)("flex flex-col space-y-1.5 text-center sm:text-left",e),...t});s1.displayName="DialogHeader";let s2=({className:e,...t})=>(0,l.jsx)("div",{className:(0,j.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...t});s2.displayName="DialogFooter";let s5=o.forwardRef(({className:e,...t},r)=>(0,l.jsx)(sB,{ref:r,className:(0,j.cn)("text-lg font-semibold leading-none tracking-tight",e),...t}));s5.displayName=sB.displayName;let s4=o.forwardRef(({className:e,...t},r)=>(0,l.jsx)(sW,{ref:r,className:(0,j.cn)("text-sm text-muted-foreground",e),...t}));s4.displayName=sW.displayName;let s3=function({isOpen:e,onClose:t,onConfirm:r,selectedCount:n,tableName:a,isDeleting:o,error:s}){return(0,l.jsx)(sR,{open:e,onOpenChange:t,children:(0,l.jsxs)(s0,{className:"sm:max-w-md font-sans",children:[(0,l.jsxs)(s1,{children:[(0,l.jsxs)(s5,{className:"mb-2",children:["Delete ",n," ",1===n?"Record":"Records","?"]}),(0,l.jsxs)(s4,{className:"text-neutral-600 font-medium",children:["You're about to delete ",n," ",1===n?"record":"records"," from ",(0,l.jsx)("span",{className:"font-sans font-bold text-neutral-900",children:a}),"."]})]}),s&&(0,l.jsxs)(S,{variant:"destructive",children:[(0,l.jsx)(m,{className:"h-4 w-4"}),(0,l.jsx)(R,{children:s})]}),(0,l.jsxs)(s2,{className:"flex gap-1 mt-2 sm:justify-end font-sans",children:[(0,l.jsx)(nZ,{variant:"outline",onClick:t,disabled:o,children:"Cancel"}),(0,l.jsx)(nZ,{variant:"destructive",onClick:r,disabled:o,children:o?"Deleting...":"Delete"})]})]})})};function s6({isOpen:e,onClose:t,error:r}){if(!r||!e)return null;let{message:n,icon:a}=r?{message:r.message,icon:m}:{message:"An unknown error occurred.",icon:m};return(0,l.jsx)(sR,{open:e,onOpenChange:t,children:(0,l.jsxs)(s0,{className:"sm:max-w-md font-sans",children:[(0,l.jsx)(s1,{children:(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)(a,{className:"h-4 w-4 text-red-500"}),(0,l.jsx)(s5,{children:"Error"})]})}),(0,l.jsxs)("div",{className:"space-y-4",children:[(0,l.jsx)("p",{className:"bg-neutral-100 p-2 rounded-md text-neutral-900",children:n}),r.details?.suggestions&&(0,l.jsxs)("div",{className:"text-sm space-y-1",children:[(0,l.jsx)("p",{className:"font-medium",children:"Suggestions:"}),(0,l.jsx)("ul",{className:"list-disc pl-4 space-y-1",children:r.details.suggestions.map((e,t)=>(0,l.jsx)("li",{children:e},t))})]})]}),(0,l.jsx)("div",{className:"flex justify-end gap-2 mt-4",children:(0,l.jsx)(nZ,{variant:"default",onClick:t,children:"Got it"})})]})})}let s8=(0,d.A)("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);function s9({open:e,onClose:t,tableName:r,schema:n,onImportComplete:a}){let{currentDatabase:s}=(0,nQ.t)(),{toast:i}=(0,sr.dj)(),c=(0,o.useRef)(null),[d,u]=(0,o.useState)(null),[f,p]=(0,o.useState)(""),[h,x]=(0,o.useState)(null),[g,v]=(0,o.useState)(!1),[y,b]=(0,o.useState)(null),w=n.map(e=>e.name),j=(0,o.useCallback)(()=>{u(null),p(""),x(null),b(null),c.current&&(c.current.value="")},[]),N=(0,o.useCallback)(()=>{j(),t()},[j,t]),C=(0,o.useCallback)(async e=>{let t=e.target.files?.[0];if(t){x(null),b(null),p(t.name);try{let e;let r=await t.text();if(t.name.endsWith(".json")){let t=JSON.parse(r);e=Array.isArray(t)?t:[t]}else if(t.name.endsWith(".csv"))e=function(e){let t=e.trim().split("\n");if(t.length<2)return[];let r=t[0].split(",").map(e=>e.trim().replace(/^"|"$/g,""));return t.slice(1).map(e=>{let t=[],n="",a=!1;for(let r=0;r<e.length;r++){let l=e[r];'"'===l?a&&'"'===e[r+1]?(n+='"',r++):a=!a:","!==l||a?n+=l:(t.push(n.trim()),n="")}t.push(n.trim());let l={};return r.forEach((e,r)=>{l[e]=t[r]??""}),l})}(r);else throw Error("Unsupported file type. Use .json or .csv");if(0===e.length)throw Error("File contains no data rows");u(e)}catch(e){x(e.message),u(null)}}},[]),k=(0,o.useCallback)(async()=>{if(d?.length){v(!0);try{let e=s?.database_name,t=await fetch(`/api/tables/${r}/import`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({rows:d,...e&&{db:e}})}),n=await t.json();if(!t.ok||!n.success)throw Error(n.error||"Import failed");b(n),i({title:"Import Complete",description:`${n.imported} row${1!==n.imported?"s":""} imported.`}),a?.()}catch(e){x(e.message)}finally{v(!1)}}},[d,r,s,i,a]),E=d?Object.keys(d[0]):[],T=E.filter(e=>w.includes(e)),M=E.filter(e=>!w.includes(e)),A=d?.slice(0,5)??[];return(0,l.jsx)(sR,{open:e,onOpenChange:e=>!e&&N(),children:(0,l.jsxs)(s0,{className:"max-w-3xl max-h-[85vh] flex flex-col",children:[(0,l.jsx)(s1,{children:(0,l.jsxs)(s5,{children:["Import data into ",(0,l.jsx)("span",{className:"font-mono",children:r})]})}),(0,l.jsxs)("div",{className:"flex-1 overflow-y-auto space-y-4 py-2",children:[!d&&!y&&(0,l.jsxs)("div",{className:"border-2 border-dashed rounded-lg p-8 text-center cursor-pointer hover:bg-muted/50 transition-colors",onClick:()=>c.current?.click(),children:[(0,l.jsx)(oO,{className:"h-8 w-8 mx-auto mb-2 text-muted-foreground"}),(0,l.jsx)("p",{className:"text-sm font-medium",children:"Click to select a file"}),(0,l.jsx)("p",{className:"text-xs text-muted-foreground mt-1",children:"Supports .csv and .json"}),(0,l.jsx)("input",{ref:c,type:"file",accept:".csv,.json",className:"hidden",onChange:C})]}),h&&(0,l.jsxs)(S,{variant:"destructive",children:[(0,l.jsx)(m,{className:"h-4 w-4"}),(0,l.jsx)(R,{children:h})]}),y&&(0,l.jsxs)(S,{children:[(0,l.jsx)(s8,{className:"h-4 w-4"}),(0,l.jsxs)(R,{children:["Imported ",y.imported," row",1!==y.imported?"s":"",".",y.failed>0&&` ${y.failed} failed.`]})]}),d&&!y&&(0,l.jsxs)("div",{className:"space-y-3",children:[(0,l.jsxs)("div",{className:"flex items-center justify-between",children:[(0,l.jsxs)("div",{className:"flex items-center gap-2 text-sm",children:[f.endsWith(".json")?(0,l.jsx)(sl,{className:"h-4 w-4"}):(0,l.jsx)(so,{className:"h-4 w-4"}),(0,l.jsx)("span",{className:"font-medium",children:f}),(0,l.jsxs)("span",{className:"text-muted-foreground",children:["— ",d.length," rows"]})]}),(0,l.jsx)(nZ,{variant:"ghost",size:"sm",onClick:j,children:"Change file"})]}),M.length>0&&(0,l.jsxs)(S,{children:[(0,l.jsx)(m,{className:"h-4 w-4"}),(0,l.jsxs)(R,{className:"text-xs",children:["Columns not in table schema (will be ignored):"," ",(0,l.jsx)("span",{className:"font-mono",children:M.join(", ")})]})]}),(0,l.jsxs)("div",{children:[(0,l.jsxs)("p",{className:"text-xs text-muted-foreground mb-1",children:["Preview (first ",Math.min(5,d.length)," of ",d.length," rows)"]}),(0,l.jsx)("div",{className:"border rounded overflow-auto max-h-48",children:(0,l.jsxs)(aS,{children:[(0,l.jsx)(aR,{children:(0,l.jsx)(aT,{children:T.map(e=>(0,l.jsx)(aM,{className:"text-xs whitespace-nowrap py-1 px-2",children:e},e))})}),(0,l.jsx)(aE,{children:A.map((e,t)=>(0,l.jsx)(aT,{children:T.map(t=>(0,l.jsx)(aA,{className:"text-xs py-1 px-2 max-w-32 truncate",children:null===e[t]||void 0===e[t]?(0,l.jsx)("span",{className:"text-muted-foreground italic",children:"null"}):String(e[t])},t))},t))})]})})]})]})]}),(0,l.jsxs)(s2,{children:[(0,l.jsx)(nZ,{variant:"ghost",onClick:N,disabled:g,children:y?"Close":"Cancel"}),d&&!y&&(0,l.jsx)(nZ,{onClick:k,disabled:g||0===T.length,children:g?"Importing…":`Import ${d.length} row${1!==d.length?"s":""}`})]})]})})}let s7=({children:e,width:t,onResize:r,className:n=""})=>{let a=(0,o.useRef)(null),s=(0,o.useCallback)(e=>{e.preventDefault(),e.stopPropagation();let n=e.clientX,l=a.current?.offsetWidth??(t||150),o=a.current?.closest("table"),s=o?.offsetWidth??0;o&&(o.style.width=`${s}px`);let i=l,c=e=>{let t=Math.max(l+(e.clientX-n),80),r=t-i;i=t,a.current&&(a.current.style.width=`${t}px`),o&&0!==r&&(o.style.width=`${parseFloat(o.style.width)+r}px`)},d=e=>{document.removeEventListener("mousemove",c),document.removeEventListener("mouseup",d),document.body.style.cursor="",document.body.style.userSelect="";let t=Math.max(l+(e.clientX-n),80);o&&(o.style.width=""),r(t)};document.body.style.cursor="col-resize",document.body.style.userSelect="none",document.addEventListener("mousemove",c),document.addEventListener("mouseup",d)},[t,r]);return(0,l.jsxs)("th",{ref:a,className:`relative overflow-hidden ${n}`,style:{width:`${t}px`},children:[e,(0,l.jsx)("div",{className:"absolute top-0 right-0 h-full w-1.5 cursor-col-resize hover:bg-blue-400/40 z-10",onMouseDown:s,onDoubleClick:e=>{e.preventDefault(),e.stopPropagation()}})]})},ie=(0,d.A)("ArrowUp",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]),it=(0,d.A)("ArrowDown",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]),ir=(0,d.A)("ArrowUpDown",[["path",{d:"m21 16-4 4-4-4",key:"f6ql7i"}],["path",{d:"M17 20V4",key:"1ejh1v"}],["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}]]);function ia({column:e,sortConfig:t,onSort:r,children:n}){let a=t[e];return(0,l.jsx)("div",{className:"flex items-center w-full",children:(0,l.jsxs)(nZ,{variant:"ghost",size:"sm",className:"h-8 hover:bg-neutral-100 w-full justify-between",onClick:()=>{r(e,a?"asc"===a?"desc":null:"asc")},children:[(0,l.jsx)("span",{className:"flex items-center gap-1 font-mono",children:n}),(0,l.jsxs)("span",{className:"shrink-0",children:["asc"===a&&(0,l.jsx)(ie,{className:"h-4 w-4"}),"desc"===a&&(0,l.jsx)(it,{className:"h-4 w-4"}),!a&&(0,l.jsx)(ir,{className:"h-4 w-4"})]})]})})}function il({relatedTable:e,relatedKey:t,value:r,colSpan:n,onClose:a}){let{executeQuery:s}=(0,nQ.t)(),[i,c]=(0,o.useState)(null),[d,u]=(0,o.useState)(!0),[f,m]=(0,o.useState)(!1),p=i?Object.keys(i):[];return(0,l.jsx)(aT,{className:"bg-neutral-50 hover:bg-neutral-50",children:(0,l.jsx)(aA,{colSpan:n,className:"py-2 px-4 border-b border-neutral-200",children:(0,l.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,l.jsxs)("div",{className:"flex flex-col gap-1.5 flex-1 min-w-0",children:[(0,l.jsx)("span",{className:"text-[11px] font-semibold px-2 py-0.5 self-start rounded-full bg-neutral-200 text-neutral-600 font-mono",children:e}),d&&(0,l.jsx)(v,{className:"h-3.5 w-3.5 animate-spin text-neutral-400"}),!d&&f&&(0,l.jsx)("span",{className:"text-xs text-muted-foreground italic",children:"No related record found"}),!d&&i&&(0,l.jsx)("div",{className:"overflow-x-auto [&::-webkit-scrollbar]:hidden",style:{scrollbarWidth:"none"},children:(0,l.jsxs)("table",{className:"text-[11px] font-mono border border-neutral-200 rounded-md overflow-hidden",children:[(0,l.jsx)("thead",{children:(0,l.jsx)("tr",{className:"bg-neutral-100 border-b border-neutral-200",children:p.map(e=>(0,l.jsx)("th",{className:"px-3 py-1 text-left text-muted-foreground font-medium border-r border-neutral-200 last:border-r-0 whitespace-nowrap",children:e},e))})}),(0,l.jsx)("tbody",{children:(0,l.jsx)("tr",{className:"bg-white",children:p.map(e=>(0,l.jsx)("td",{className:"px-3 py-1.5 border-r border-neutral-200 last:border-r-0 whitespace-nowrap max-w-[220px] truncate",children:null==i[e]?(0,l.jsx)("span",{className:"text-neutral-400 italic",children:"null"}):String(i[e])},e))})})]})})]}),(0,l.jsx)("button",{onClick:a,className:"shrink-0 rounded p-0.5 hover:bg-neutral-200 text-muted-foreground hover:text-neutral-700 transition-colors mt-0.5",title:"Close",children:(0,l.jsx)(aD.A,{className:"h-3.5 w-3.5"})})]})})})}let io=(0,d.A)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]),is=[{value:"equals",label:"= equals"},{value:"not_equals",label:"≠ not equals"},{value:"contains",label:"~ contains"},{value:"starts_with",label:"^ starts with"},{value:"ends_with",label:"$ ends with"},{value:"gt",label:"> greater than"},{value:"gte",label:"≥ greater or equal"},{value:"lt",label:"< less than"},{value:"lte",label:"≤ less or equal"},{value:"is_null",label:"is null"},{value:"is_not_null",label:"is not null"}],ii=new Set(["is_null","is_not_null"]),ic=1;function id(e){let t=e.filter(e=>!!(e.column&&e.operator&&(ii.has(e.operator)||String(e.value??"").trim()))).map(e=>{let t=`"${e.column}"`,r=e=>String(e).replace(/'/g,"''");switch(e.operator){case"equals":return`${t} LIKE '${r(e.value)}'`;case"not_equals":return`${t} NOT LIKE '${r(e.value)}'`;case"contains":return`${t} LIKE '%${r(e.value)}%'`;case"starts_with":return`${t} LIKE '${r(e.value)}%'`;case"ends_with":return`${t} LIKE '%${r(e.value)}'`;case"gt":return`${t} > '${r(e.value)}'`;case"gte":return`${t} >= '${r(e.value)}'`;case"lt":return`${t} < '${r(e.value)}'`;case"lte":return`${t} <= '${r(e.value)}'`;case"is_null":return`${t} IS NULL`;case"is_not_null":return`${t} IS NOT NULL`;default:return null}}).filter(Boolean);return 0===t.length?null:t.join(" AND ")}function iu({schema:e,filters:t,onFiltersChange:r,onOpenInSQL:n}){let a=e.map(e=>e.name),s=(0,o.useCallback)(()=>{r([...t,function(e=""){return{id:ic++,column:e,operator:"contains",value:""}}(a[0]||"")])},[t,r,a]),i=(0,o.useCallback)(e=>{r(t.filter(t=>t.id!==e))},[t,r]),c=(0,o.useCallback)((e,n)=>{r(t.map(t=>t.id===e?{...t,...n}:t))},[t,r]),d=(0,o.useCallback)(()=>{r([])},[r]);return(0,l.jsxs)("div",{className:"border-b bg-neutral-50 px-3 py-2 flex flex-col gap-1.5 font-sans",children:[0===t.length&&(0,l.jsx)("div",{className:"text-xs text-muted-foreground py-0.5",children:"No filters applied. Add a filter below."}),t.map(e=>(0,l.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,l.jsxs)(lY,{value:e.column,onValueChange:t=>c(e.id,{column:t}),children:[(0,l.jsx)(oE,{className:"h-7 text-xs w-36 min-w-0",children:(0,l.jsx)(lZ,{placeholder:"Column"})}),(0,l.jsx)(oA,{children:a.map(e=>(0,l.jsx)(oD,{value:e,className:"text-xs font-mono",children:e},e))})]}),(0,l.jsxs)(lY,{value:e.operator,onValueChange:t=>c(e.id,{operator:t}),children:[(0,l.jsx)(oE,{className:"h-7 text-xs w-36 min-w-0",children:(0,l.jsx)(lZ,{})}),(0,l.jsx)(oA,{children:is.map(e=>(0,l.jsx)(oD,{value:e.value,className:"text-xs",children:e.label},e.value))})]}),!ii.has(e.operator)&&(0,l.jsx)(N,{className:"h-7 text-xs w-44 min-w-0 font-mono",placeholder:"value",value:e.value,onChange:t=>c(e.id,{value:t.target.value})}),(0,l.jsx)("button",{className:"shrink-0 rounded p-0.5 hover:bg-neutral-200 text-muted-foreground transition-colors",onClick:()=>i(e.id),title:"Remove filter",children:(0,l.jsx)(aD.A,{className:"h-3.5 w-3.5"})})]},e.id)),(0,l.jsxs)("div",{className:"flex items-center gap-2 pt-0.5",children:[(0,l.jsxs)(nZ,{size:"sm",variant:"ghost",className:"h-6 text-xs px-2 gap-1",onClick:s,children:[(0,l.jsx)(io,{className:"h-3 w-3"}),"Add filter"]}),t.length>0&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(nZ,{size:"sm",variant:"ghost",className:"h-6 text-xs px-2 gap-1",onClick:n,children:[(0,l.jsx)(y,{className:"h-3 w-3"}),"Open in SQL"]}),(0,l.jsx)(nZ,{size:"sm",variant:"ghost",className:"h-6 text-xs px-2 text-red-500 hover:text-red-600 hover:bg-red-50",onClick:d,children:"Clear filters"})]})]})]})}function im({tableName:e,onOpenInSQL:t}){let{executeQuery:r,getCachedTable:n,updateTableCache:a,invalidateTable:s,switchTable:c,activeTable:d,updateTableData:u,setOperationStatus:f}=(0,nQ.t)(),{toast:p}=(0,sr.dj)(),[h,x]=(0,o.useState)(()=>[]),[g,y]=(0,o.useState)([]),[b,w]=(0,o.useState)(0),[j,N]=(0,o.useState)(!0),[C,k]=(0,o.useState)(!1),[E,T]=(0,o.useState)(null),[M,A]=(0,o.useState)(new Map),[D,_]=(0,o.useState)(new Set),[O,P]=(0,o.useState)([]),[L,I]=(0,o.useState)(1),[$,F]=(0,o.useState)(50),[U,z]=(0,o.useState)(1),[B,H]=(0,o.useState)(new Set),W=(0,o.useRef)(null),[V,K]=(0,o.useState)(!1),[q,G]=(0,o.useState)(!1),[Y,X]=(0,o.useState)(null),[Q,J]=(0,o.useState)(!1),[Z,ee]=(0,o.useState)(!1),[et,er]=(0,o.useState)(null),[en,ea]=(0,o.useState)({}),[el,eo]=(0,o.useState)([]),[es,ei]=(0,o.useState)(!1),[ec,ed]=(0,o.useState)(null),[eu,ef]=(0,o.useState)(0),[em,ep]=(0,o.useState)({}),[eh,ex]=(0,o.useState)(null);(0,o.useRef)(null);let[eg,ev]=(0,o.useState)({}),[ey,eb]=(0,o.useState)([]),ew=es&&null!==ec,ej=ew?ec:h,eN=ew?eu:b,eC=ew?Math.max(1,Math.ceil(eu/$)):U,ek=g.filter(e=>ey.includes(e.name)),eS=ek.reduce((e,t)=>e+(eg[t.name]||150),40),eR=M.size>0||O.length>0,eE=(0,o.useCallback)(async e=>{try{let t=await r(`PRAGMA foreign_key_list("${e}")`),n=t?.results?.[0]?.results||[];if(n.length>0){let e={};n.forEach(t=>{e[t.from]={table:t.table,to:t.to}}),ep(e)}else ep({})}catch{ep({})}},[r]),eT=(0,o.useCallback)(async(t=!1)=>{if(!e)return;let r=n(e,L,$);if(r&&!t){x(r.data),y(r.schema),w(r.meta.total),z(r.meta.totalPages);return}N(!0),T(null),H(new Set);try{let r=await c(e,{page:L,limit:$,forceFetch:t});r.meta.page=L;let n=r.schema||[];return x(Array.isArray(r.data)?r.data:[]),y(n),w(r.meta.total),z(r.meta.totalPages),eb(n.map(e=>e.name)),ex(null),eE(e),!0}catch(e){throw console.error("Error loading table data:",e),T(e.message||String(e)),p({variant:"destructive",title:"Error",description:`Failed to load table: ${e.message}`}),e}finally{N(!1)}},[e,L,$,n,c,p,eE]),eM=(0,o.useCallback)(t=>{eb(r=>{let n=r.includes(t)?r.filter(e=>e!==t):[...r,t];return localStorage.setItem(`table-columns-${e}`,JSON.stringify(n)),n})},[e]),eA=(0,o.useCallback)((t,r)=>{ev(n=>{let a={...n,[t]:r};return localStorage.setItem(`table-widths-${e}`,JSON.stringify(a)),a})},[e]),eD=(0,o.useCallback)(async()=>{try{H(new Set),s(e),await eT(!0),p({title:"Success",description:"Table data refreshed"})}catch(e){console.error("Refresh failed:",e),p({variant:"destructive",title:"Refresh Failed",description:e.message})}},[eT,s,e,p]),e_=(0,o.useCallback)((t,r)=>{ea(e=>({...e,[t]:r}));let l=r&&h.length?[...h].sort((e,n)=>{let a=e[t],l=n[t];if(null==a&&null==l)return 0;if(null==a)return 1;if(null==l)return -1;if("number"==typeof a&&"number"==typeof l)return"asc"===r?a-l:l-a;let o=String(a).toLowerCase(),s=String(l).toLowerCase();return"asc"===r?o.localeCompare(s):s.localeCompare(o)}):h;x(l);let o=n(e);o&&a(e,l,o.schema,{...o.meta,currentPage:L,limit:$},L,$)},[h,e,n,a]),eO=(0,o.useCallback)((e,t,r)=>{let n=`${e}::${t}`;A(e=>new Map(e).set(n,{value:r,originalValue:r})),_(t=>new Set(t).add(e))},[]),eP=(0,o.useCallback)((e,t,r)=>{let n=`${e}::${t}`,a=h[e],l=M.get(n)?.originalValue??a[t];if(r===l){let t=new Map(M);if(t.delete(n),A(t),!Array.from(t.keys()).some(t=>t.startsWith(`${e}::`))){let t=new Set(D);t.delete(e),_(t)}}else A(e=>new Map(e).set(n,{value:r,originalValue:l})),_(t=>new Set(t).add(e))},[h,M,D]),eL=(0,o.useCallback)(()=>{P(e=>[...e,{}])},[]),eI=(0,o.useCallback)(e=>{P(t=>t.filter((t,r)=>r!==e))},[]),e$=(0,o.useCallback)((e,t)=>{P(r=>{let n=[...r];return n[e]=t,n})},[]),eF=async(t=!1)=>{k(!0);try{if(O.length>0){let t=0,n=g.filter(e=>"datetime"===e.type.toLowerCase()).map(e=>e.name);for(let a of O){let l=Object.keys(a).filter(e=>{let t=a[e];if(null===t||""===t||"null"===t){let t=g.find(t=>t.name===e);return!!(t?.dflt_value&&(t.dflt_value.includes("datetime(")||t.dflt_value.includes("randomblob")||t.dflt_value.includes("lower(hex(")))}if(t?.toString()==="[Auto-generated INT]"){let t=g.find(t=>t.name===e);if(t&&1===t.pk&&"INTEGER"===t.type.toUpperCase())return!1}return t?.toString(),!0});if(n.forEach(e=>{l.includes(e)||l.push(e)}),0===l.length)continue;let o=e=>e?.dflt_value&&"null"!==e.dflt_value&&null!==e.dflt_value,s=l.map(e=>{if(n.includes(e))return"CURRENT_TIMESTAMP";let t=a[e];if(null===t||""===t||"null"===t){let t=g.find(t=>t.name===e);return o(t)?t.dflt_value:"NULL"}let r=t.toString();if("[Auto-generated UUID]"===r){let t=g.find(t=>t.name===e);if(o(t))return t.dflt_value}if("[Auto-generated]"===r){let t=g.find(t=>t.name===e);return o(t)?t.dflt_value:"lower(hex(randomblob(8)))"}if("[Auto-generated INT]"===r){let t=g.find(t=>t.name===e);if(t&&1===t.pk&&"INTEGER"===t.type.toUpperCase())return null}return r.includes("randomblob")||r.includes("CURRENT_TIMESTAMP")||r.includes("lower(hex(")||r.includes("datetime(")||r.startsWith("(")&&r.endsWith(")")?r:`'${r.replace(/'/g,"''")}'`}),i=`INSERT INTO ${e} (${l.join(", ")}) VALUES (${s.join(", ")});`;await r(i),t++}if(t>0){let r=await u(e);x(r.data),w(r.meta.total),z(Math.ceil(r.meta.total/$)),f("success",`Added ${t} ${1===t?"record":"records"} \xb7 ${e}`),p({title:"Success",description:`Added ${t} ${1===t?"record":"records"}`})}P([])}if(M.size>0&&(t||!et)){let t=g.find(e=>1===e.pk),n=t?.name;if(!n)throw Error("No primary key found in table schema");let a=t?.type?.toUpperCase()==="INTEGER",l=new Map;M.forEach((e,t)=>{let r=t.indexOf("::"),a=t.substring(0,r),o=t.substring(r+2),s=h[a];l.has(s[n])||l.set(s[n],new Map),l.get(s[n]).set(o,e.value)});let o=0;for(let[t,s]of l){let l=Array.from(s.entries()).map(([e,t])=>null===t||""===t||"null"===t?`${e} = NULL`:"CURRENT_TIMESTAMP"===t?`${e} = CURRENT_TIMESTAMP`:`${e} = '${t.toString().replace(/'/g,"''")}'`).join(", "),i=a?t:`'${String(t).replace(/'/g,"''")}'`,c=`
|
|
55
55
|
UPDATE ${e}
|
|
56
|
-
SET ${
|
|
57
|
-
WHERE ${
|
|
58
|
-
`;await t(i),a++}if(a>0){let t=await c(e);p(t.data),v(t.meta.total),$(Math.ceil(t.meta.total/_)),d({title:"Success",description:`Updated ${a} ${1===a?"record":"records"}`})}}T(new Map),M(new Set),J(null)}catch(e){J({...lY(e),stderr:e.stderr,stdout:e.stdout}),Y(!0)}finally{E(!1)}},eg=(0,l.useCallback)(async()=>{if(B(!0),q(null),e){B(!0),q(null);try{let a=h.find(e=>1===e.pk)?.name;if(!a)throw Error("No primary key found in table schema");let o=Array.from(z).map(e=>f[e][a]);if(0===o.length)return;let l=o.map(e=>"string"==typeof e&&isNaN(e)?`'${e.replace(/'/g,"''")}'`:e),i=`DELETE FROM ${e} WHERE ${a} IN (${l.join(",")});`;await t(i);let s=new Set(o),c=f.filter(e=>!s.has(e[a]));p(c),v(e=>e-o.length),$(Math.ceil((x-o.length)/_));let u=r(e);u&&n(e,c,u.schema,{...u.meta,total:u.meta.total-o.length}),O>1&&f.length===o.length&&(D(e=>e-1),await eo()),W(!1),U(new Set),d({title:"Success",description:`Successfully deleted ${o.length} ${1===o.length?"record":"records"}`})}catch(e){console.error("Delete operation failed:",e),q(e.message||String(e))}finally{B(!1)}}},[e,z,f,h,t,c,eo,O,_,x,d,r,n]),ex=(0,l.useCallback)(e=>{U(e?new Set(f.map((e,t)=>t)):new Set)},[f]),ev=(0,l.useCallback)((e,t)=>{U(r=>{let n=new Set(r);return t?n.add(e):n.delete(e),n})},[]);(0,l.useCallback)(t=>{er(t),localStorage.setItem(`table-widths-${e}`,JSON.stringify(t))},[e]);let ey=h.filter(e=>en.includes(e.name)),ew=k.size>0||P.length>0;return S?(0,o.jsx)("div",{className:"p-4",children:(0,o.jsxs)(y,{variant:"destructive",children:[(0,o.jsx)(u,{className:"h-4 w-4"}),(0,o.jsxs)(w,{children:["Failed to load table: ",S]})]})}):(0,o.jsxs)("div",{className:"h-full flex flex-col",children:[(0,o.jsx)(iY,{selectedCount:z.size,totalRows:x,currentPage:O,totalPages:F,rowsPerPage:_,onPageChange:D,onRowsPerPageChange:I,onAdd:ef,onDelete:()=>W(!0),onRefresh:es,tableName:e,disabled:ew,editCount:k.size,newRecordsCount:P.length,isSaving:C,onSaveChanges:eh,onDiscardChanges:()=>{T(new Map),M(new Set),L([]),J(null),d({description:"Changes discarded"})},schema:h,visibleColumns:en,onColumnToggle:el}),(0,o.jsx)(i5,{columns:h,onColumnsResize:ei,children:(0,o.jsx)("div",{className:"flex-1 overflow-hidden bg-background font-mono",children:(0,o.jsx)(t1,{className:"w-full h-screen",children:(0,o.jsxs)("div",{className:"relative w-max min-w-fit pb-4",children:[(0,o.jsxs)(t4,{children:[!j&&(0,o.jsx)(t5,{className:"bg-neutral-100 sticky top-0 z-30",children:(0,o.jsxs)(t8,{children:[(0,o.jsx)(t9,{className:"w-10 p-0 border-r border-neutral-200",children:(0,o.jsx)("div",{className:"py-0.5 px-3 flex items-center",children:(0,o.jsx)(ir,{ref:H,checked:z.size===f.length&&f.length>0,onCheckedChange:ex,disabled:ew})})}),ey.map(e=>(0,o.jsx)(i4,{width:et[e.name]||150,onResize:t=>ei(e.name,t),className:"py-0.5 whitespace-nowrap border-r border-neutral-200",children:(0,o.jsxs)(i6,{column:e.name,sortConfig:Z,onSort:ec,children:[(0,o.jsx)("span",{className:"text-xs font-bold text-foreground",children:e.name}),(0,o.jsx)("span",{className:"text-xs text-muted-foreground",children:e.type?.toLowerCase()})]})},e.name))]})}),(0,o.jsxs)(t3,{children:[j&&(0,o.jsx)(t8,{className:"hover:bg-transparent",children:(0,o.jsx)(t6,{colSpan:ey.length+1,className:"h-[calc(100vh-200px)]",children:(0,o.jsx)("div",{className:"h-full w-full flex items-center justify-center",children:(0,o.jsx)(m,{className:"h-6 w-6 animate-spin text-primary"})})})}),!j&&(0,o.jsxs)(o.Fragment,{children:[P.map((e,t)=>(0,o.jsx)(i0,{schema:ey,onRemove:()=>ep(t),onChange:e=>em(t,e)},`new-${t}`)),0===f.length&&0===P.length?(0,o.jsx)(t8,{className:"hover:bg-transparent",children:(0,o.jsx)(t6,{colSpan:ey.length+1,className:"h-[calc(100vh-200px)] text-center text-muted-foreground",children:"Table is empty"})}):f.map((e,t)=>(0,o.jsxs)(t8,{className:`${z.has(t)?"bg-muted/50":""}`,children:[(0,o.jsx)(t6,{className:"p-0",children:(0,o.jsx)("div",{className:"px-3 py-2.5 flex items-center",children:(0,o.jsx)(ir,{checked:z.has(t),onCheckedChange:e=>ev(t,e),disabled:ew})})}),ey.map(r=>{let n=`${t}-${r.name}`,a=k.get(n);return(0,o.jsx)(iQ,{value:a?a.value:e[r.name],row:e,column:r.name,schema:h,onChange:e=>eu(t,r.name,e),onStartEdit:e=>ed(t,r.name,e),isEditing:k.has(n),style:{width:`${et[r.name]||150}px`}},r.name)})]},t))]})]})]}),(0,o.jsx)(t2,{orientation:"horizontal"})]})})})}),(0,o.jsx)(i1,{isOpen:V,onClose:()=>{W(!1),q(null)},onConfirm:eg,selectedCount:z.size,tableName:e,isDeleting:K,error:G}),(0,o.jsx)(i2,{isOpen:X,onClose:()=>Y(!1),error:Q,onOpenInSQL:()=>{Y(!1)},onUpdateAnyway:async()=>{Y(!1),await eh(!0)},showSQLOption:Q?.type==="NULLABLE_PK"})]})}function se(){let[e,t]=(0,l.useState)("sql-editor"),[r,n]=(0,l.useState)(null);return(0,o.jsxs)("div",{className:"flex h-screen bg-background",children:[(0,o.jsx)(a_,{className:"w-64 border-r flex-shrink-0",currentView:e,onNavigate:t,onTableSelect:e=>{n(e),t("table-view")}}),(0,o.jsxs)("main",{className:"flex-1 overflow-hidden",children:["sql-editor"===e&&(0,o.jsx)(l0,{}),"table-view"===e&&r&&(0,o.jsx)(i7,{tableName:r})]})]})}},8868:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>n});let n=(0,r(6760).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Volumes/ProjectSpace/_wip/d1studio/src/app/page.jsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Volumes/ProjectSpace/_wip/d1studio/src/app/page.jsx","default")}};var t=require("../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),n=t.X(0,[638,992,572],()=>r(7185));module.exports=n})();
|
|
56
|
+
SET ${l}
|
|
57
|
+
WHERE ${n} = ${i};
|
|
58
|
+
`;await r(c),o++}if(o>0){let t=await u(e);x(t.data),w(t.meta.total),z(Math.ceil(t.meta.total/$)),f("success",`Updated ${o} ${1===o?"record":"records"} \xb7 ${e}`),p({title:"Success",description:`Updated ${o} ${1===o?"record":"records"}`})}}A(new Map),_(new Set),er(null)}catch(n){let t=lx(n),r={...t,stderr:n.stderr,stdout:n.stdout};f("error",t.message||"Save failed",`Error saving changes to ${e}`),er(r),ee(!0)}finally{k(!1)}},eU=(0,o.useCallback)(async()=>{if(e){G(!0),X(null);try{let t;let n=g.find(e=>1===e.pk)?.name;if(!n)throw Error("No primary key found in table schema");let a=Array.from(B).map(e=>h[e][n]);if(0===a.length)return;let l=e=>null==e||"null"===e,o=a.filter(l),s=a.filter(e=>!l(e)),i=s.map(e=>"string"==typeof e&&isNaN(e)?`'${e.replace(/'/g,"''")}'`:e);t=o.length>0&&s.length>0?`DELETE FROM ${e} WHERE ${n} IS NULL OR ${n} IN (${i.join(",")});`:o.length>0?`DELETE FROM ${e} WHERE ${n} IS NULL;`:`DELETE FROM ${e} WHERE ${n} IN (${i.join(",")});`,await r(t);let c=new Set(a),d=h.filter(e=>!c.has(e[n]));x(d),w(e=>e-a.length),z(Math.ceil((b-a.length)/$)),L>1&&h.length===a.length&&I(e=>e-1),K(!1),H(new Set),f("success",`Deleted ${a.length} ${1===a.length?"record":"records"} \xb7 ${e}`),p({title:"Success",description:`Deleted ${a.length} ${1===a.length?"record":"records"}`})}catch(t){console.error("Delete operation failed:",t),f("error",t.message||"Delete failed",`Error deleting from ${e}`),X(t.message||String(t))}finally{G(!1)}}},[e,B,h,g,r,u,eT,L,$,b,p,n,a,f]),ez=(0,o.useCallback)(e=>{H(e?new Set(ej.map((e,t)=>t)):new Set)},[ej]),eB=(0,o.useCallback)((e,t)=>{H(r=>{let n=new Set(r);return t?n.add(e):n.delete(e),n})},[]);return((0,o.useCallback)(t=>{ev(t),localStorage.setItem(`table-widths-${e}`,JSON.stringify(t))},[e]),(0,o.useCallback)(async t=>{let n=id(t);if(!n){ed(null),ef(0);return}try{let t=g.find(e=>1===e.pk)?.name||g[0]?.name||"rowid",a=await r(`SELECT COUNT(*) as total FROM "${e}" WHERE ${n}`),l=a?.results?.[0]?.results?.[0]?.total??0,o=await r(`SELECT * FROM "${e}" WHERE ${n} ORDER BY "${t}" DESC LIMIT ${$} OFFSET ${(L-1)*$}`),s=o?.results?.[0]?.results||[];ef(l),ed(s)}catch{ed([]),ef(0)}},[e,g,r,$,L]),E)?(0,l.jsx)("div",{className:"p-4",children:(0,l.jsxs)(S,{variant:"destructive",children:[(0,l.jsx)(m,{className:"h-4 w-4"}),(0,l.jsxs)(R,{children:["Failed to load table: ",E]})]})}):(0,l.jsxs)("div",{className:"h-full flex flex-col",children:[(0,l.jsx)(sg,{selectedCount:B.size,totalRows:eN,currentPage:L,totalPages:eC,rowsPerPage:$,onPageChange:I,onRowsPerPageChange:F,onAdd:eL,onDelete:()=>K(!0),onImport:()=>J(!0),onRefresh:eD,tableName:e,disabled:eR,editCount:M.size,newRecordsCount:O.length,isSaving:C,onSaveChanges:eF,onDiscardChanges:()=>{A(new Map),_(new Set),P([]),er(null),p({description:"Changes discarded"})},schema:g,visibleColumns:ey,onColumnToggle:eM,showFilters:es,onToggleFilters:()=>ei(e=>!e),activeFilterCount:el.filter(e=>e.column&&e.operator).length}),es&&(0,l.jsx)(iu,{schema:g,filters:el,onFiltersChange:eo,onOpenInSQL:()=>{let r=id(el);if(r&&t){let n=g.find(e=>1===e.pk)?.name||g[0]?.name||"rowid";t(`SELECT * FROM "${e}" WHERE ${r} ORDER BY "${n}" DESC LIMIT ${$};`)}}}),(0,l.jsx)("div",{className:"flex-1 overflow-hidden bg-background font-mono",children:(0,l.jsxs)(aC,{className:"w-full h-full",children:[(0,l.jsx)("div",{className:"w-max min-w-full pb-4",children:(0,l.jsxs)(aS,{style:{tableLayout:"fixed",width:`${eS}px`},children:[!j&&(0,l.jsx)(aR,{className:"bg-neutral-100 sticky top-0 z-30",children:(0,l.jsxs)(aT,{children:[(0,l.jsx)(aM,{className:"p-0 border-r border-neutral-200",style:{width:"40px",minWidth:"40px"},children:(0,l.jsx)("div",{className:"py-0.5 px-3 flex items-center",children:(0,l.jsx)(lO,{ref:W,checked:B.size===ej.length&&ej.length>0,onCheckedChange:ez,disabled:eR})})}),ek.map(e=>(0,l.jsx)(s7,{width:eg[e.name]||150,onResize:t=>eA(e.name,t),className:"py-0.5 whitespace-nowrap border-r border-neutral-200",children:(0,l.jsxs)(ia,{column:e.name,sortConfig:en,onSort:e_,children:[(0,l.jsx)("span",{className:"text-xs font-bold text-foreground",children:e.name}),(0,l.jsx)("span",{className:"text-xs text-muted-foreground",children:e.type?.toLowerCase()})]})},e.name))]})}),(0,l.jsxs)(aE,{children:[j&&(0,l.jsx)(aT,{className:"hover:bg-transparent",children:(0,l.jsx)(aA,{colSpan:ek.length+1,className:"h-64",children:(0,l.jsx)("div",{className:"h-full w-full flex items-center justify-center",children:(0,l.jsx)(v,{className:"h-6 w-6 animate-spin text-primary"})})})}),!j&&(0,l.jsxs)(l.Fragment,{children:[O.map((e,t)=>(0,l.jsx)(sw,{schema:ek,onRemove:()=>eI(t),onChange:e=>e$(t,e)},`new-${t}`)),0===ej.length&&0===O.length?(0,l.jsx)(aT,{className:"hover:bg-transparent",children:(0,l.jsx)(aA,{colSpan:ek.length+1,className:"h-64 text-center text-muted-foreground",children:ew?"No rows match the current filters":"Table is empty"})}):ej.map((e,t)=>(0,l.jsxs)(i().Fragment,{children:[(0,l.jsxs)(aT,{className:B.has(t)?"bg-blue-50":"bg-white",children:[(0,l.jsx)(aA,{className:"p-0",children:(0,l.jsx)("div",{className:"px-3 py-2.5 flex items-center",children:(0,l.jsx)(lO,{checked:B.has(t),onCheckedChange:e=>eB(t,e),disabled:eR})})}),ek.map(r=>{let n=`${t}::${r.name}`,a=M.get(n);return(0,l.jsx)(sv,{value:a?a.value:e[r.name],row:e,column:r.name,schema:g,onChange:e=>eP(t,r.name,e),onStartEdit:ew?void 0:e=>eO(t,r.name,e),isEditing:!ew&&M.has(n),style:{width:`${eg[r.name]||150}px`},fkInfo:em[r.name],onShowRelation:em[r.name]?()=>ex({rowIndex:t,relatedTable:em[r.name].table,relatedKey:em[r.name].to,value:e[r.name]}):void 0},r.name)})]}),eh?.rowIndex===t&&(0,l.jsx)(il,{relatedTable:eh.relatedTable,relatedKey:eh.relatedKey,value:eh.value,colSpan:ek.length+1,onClose:()=>ex(null)})]},t))]})]})]})}),(0,l.jsx)(ak,{orientation:"horizontal"})]})}),(0,l.jsx)(s3,{isOpen:V,onClose:()=>{K(!1),X(null)},onConfirm:eU,selectedCount:B.size,tableName:e,isDeleting:q,error:Y}),(0,l.jsx)(s6,{isOpen:Z,onClose:()=>ee(!1),error:et,onOpenInSQL:()=>{ee(!1)},onUpdateAnyway:async()=>{ee(!1),await eF(!0)},showSQLOption:et?.type==="NULLABLE_PK"}),(0,l.jsx)(s9,{open:Q,onClose:()=>J(!1),tableName:e,schema:g,onImportComplete:()=>{J(!1),eD()}})]})}function ip({migration:e}){return e.orphaned?(0,l.jsxs)("span",{className:"inline-flex items-center gap-1 text-xs font-medium text-amber-600",children:[(0,l.jsx)(m,{className:"h-3 w-3"})," Orphaned"]}):e.applied?(0,l.jsxs)("span",{className:"inline-flex items-center gap-1 text-xs font-medium text-green-600",children:[(0,l.jsx)(s8,{className:"h-3 w-3"})," Applied"]}):(0,l.jsxs)("span",{className:"inline-flex items-center gap-1 text-xs font-medium text-amber-600",children:[(0,l.jsx)(w,{className:"h-3 w-3"})," Pending"]})}function ih(){let{currentDatabase:e,executeQuery:t,refreshTables:r}=(0,nQ.t)(),{toast:n}=(0,sr.dj)(),[a,s]=(0,o.useState)([]),[i,c]=(0,o.useState)(""),[d,u]=(0,o.useState)(!0),[f,p]=(0,o.useState)(!1),[h,x]=(0,o.useState)(null),g=(0,o.useCallback)(async()=>{u(!0),x(null);try{let t=e?.database_name,r=t?`?db=${encodeURIComponent(t)}`:"",n=await fetch(`/api/migrations/list${r}`),a=await n.json();if(!n.ok||!a.success)throw Error(a.error||"Failed to load migrations");s(a.migrations),c(a.migrationsDir)}catch(e){x(e.message)}finally{u(!1)}},[e]),y=a.filter(e=>!e.applied&&!e.orphaned),b=(0,o.useCallback)(async()=>{if(0===y.length)return;p(!0);let t=0;try{for(let r of y){await fetch(`/api/migrations/list?file=${encodeURIComponent(r.name)}${e?.database_name?`&db=${encodeURIComponent(e.database_name)}`:""}`);let n=await fetch("/api/migrations/sync-files",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({migrationName:r.name,db:e?.database_name})}),a=await n.json();if(!n.ok||!a.success)throw Error(`Failed to apply ${r.name}: ${a.error||"Unknown error"}`);t++}n({title:"Migrations Applied",description:`${t} migration${1!==t?"s":""} applied successfully.`}),await r(),await g()}catch(e){n({variant:"destructive",title:"Apply Failed",description:e.message})}finally{p(!1)}},[y,e,n,r,g]);return(0,l.jsxs)("div",{className:"h-full flex flex-col",children:[(0,l.jsxs)("div",{className:"flex items-center justify-between p-4 border-b",children:[(0,l.jsxs)("div",{children:[(0,l.jsx)("h2",{className:"text-sm font-semibold",children:"Migrations"}),i&&(0,l.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5 font-mono",children:i})]}),(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[y.length>0&&(0,l.jsx)(nZ,{size:"sm",onClick:b,disabled:f,className:"font-semibold",children:f?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(v,{className:"h-4 w-4 animate-spin"})," Applying…"]}):`Apply ${y.length} pending`}),(0,l.jsx)(nZ,{variant:"outline",size:"icon",className:"h-8",onClick:g,disabled:d,children:(0,l.jsx)(o7,{className:`h-4 w-4 ${d?"animate-spin":""}`})})]})]}),(0,l.jsxs)("div",{className:"flex-1 overflow-auto",children:[h&&(0,l.jsx)("div",{className:"p-4",children:(0,l.jsxs)(S,{variant:"destructive",children:[(0,l.jsx)(m,{className:"h-4 w-4"}),(0,l.jsx)(R,{children:h})]})}),!d&&!h&&0===a.length&&(0,l.jsxs)("div",{className:"flex flex-col items-center justify-center h-64 text-muted-foreground gap-2",children:[(0,l.jsx)(ss,{className:"h-8 w-8"}),(0,l.jsx)("p",{className:"text-sm",children:"No migration files found"}),(0,l.jsx)("p",{className:"text-xs",children:"Migration files appear here when you run DDL statements in the SQL editor"})]}),!h&&a.length>0&&(0,l.jsxs)(aS,{children:[(0,l.jsx)(aR,{className:"bg-neutral-100 sticky top-0 z-10",children:(0,l.jsxs)(aT,{children:[(0,l.jsx)(aM,{className:"text-xs font-bold",children:"Migration file"}),(0,l.jsx)(aM,{className:"text-xs font-bold w-28",children:"Status"}),(0,l.jsx)(aM,{className:"text-xs font-bold w-44",children:"Applied at"}),(0,l.jsx)(aM,{className:"text-xs font-bold w-20",children:"Checksum"})]})}),(0,l.jsx)(aE,{children:a.map(e=>(0,l.jsxs)(aT,{className:e.orphaned?"opacity-60":"",children:[(0,l.jsx)(aA,{className:"font-mono text-xs",children:e.name}),(0,l.jsx)(aA,{children:(0,l.jsx)(ip,{migration:e})}),(0,l.jsx)(aA,{className:"text-xs text-muted-foreground",children:e.applied_at?new Date(e.applied_at).toLocaleString():"—"}),(0,l.jsx)(aA,{className:"font-mono text-xs text-muted-foreground",children:e.checksum?e.checksum.slice(0,8):"—"})]},e.name))})]})]})]})}var ix=r(6256);let ig=r.n(ix)()(async()=>{},{loadableGenerated:{modules:["components/schema-view.jsx -> ./schema-erd"]},ssr:!1,loading:()=>(0,l.jsx)("div",{style:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center",background:"#0d1117",color:"#8b949e"},children:(0,l.jsx)("span",{style:{fontSize:14},children:"Loading…"})})});function iv(){let{currentDatabase:e}=(0,nQ.t)();return(0,l.jsx)(ig,{db:e?.database_name})}let iy={bg:"#ffffff",bg2:"#f9f8f6",border:"#e8e5e0",border2:"#d4d0c8",text:"#1a1714",text2:"#5a5650",text3:"#9a9590",orange:"#d4581e",orangeBg:"#fff4ee",orangeBorder:"#fddcc8"},ib=["January","February","March","April","May","June","July","August","September","October","November","December"],iw={2:[3,7,10,14,16],1:[5,12,18,22]};function ij(e){return String(e).padStart(2,"0")}function iN({year:e,month:t,selDay:r,today:n,earliest:a,onSelect:o,onPrev:s,onNext:i}){let c=new Date(e,t,1).getDay(),d=new Date(e,t+1,0).getDate(),u=iw[t]||[],f=n.getUTCFullYear(),m=n.getUTCMonth(),p=n.getUTCDate(),h=[];for(let e=0;e<c;e++)h.push((0,l.jsx)("div",{},`b${e}`));for(let n=1;n<=d;n++){let s=e>f||e===f&&t>m||e===f&&t===m&&n>p,i=new Date(e,t,n).getTime(),c=!!a&&i<new Date(a.getFullYear(),a.getMonth(),a.getDate()).getTime(),d=e===f&&t===m&&n===p,x=n===r,g=u.includes(n),v=s||c;h.push((0,l.jsxs)("div",{onClick:v?void 0:()=>o(n),style:{fontSize:11,textAlign:"center",padding:"4px 0",borderRadius:4,cursor:v?"default":"pointer",color:v?iy.border2:x?iy.bg:d?iy.text:iy.text2,background:x?iy.text:"transparent",fontWeight:d?600:void 0,pointerEvents:v?"none":void 0,position:"relative",userSelect:"none"},className:v||x?"":"hover:bg-[#f2f0ec]",children:[n,g&&!s&&(0,l.jsx)("span",{style:{position:"absolute",bottom:1,left:"50%",transform:"translateX(-50%)",width:3,height:3,borderRadius:"50%",background:x?iy.bg:iy.orange,display:"block"}})]},n))}return(0,l.jsxs)("div",{style:{padding:"14px 16px",borderBottom:`1px solid ${iy.border}`},children:[(0,l.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:10},children:[(0,l.jsxs)("span",{style:{fontSize:13,fontWeight:500,color:iy.text},children:[ib[t]," ",e]}),(0,l.jsx)("div",{style:{display:"flex",gap:3},children:[["‹",s],["›",i]].map(([e,t])=>(0,l.jsx)("button",{onClick:t,style:{width:24,height:24,border:`1px solid ${iy.border}`,borderRadius:6,background:"transparent",cursor:"pointer",fontSize:14,color:iy.text2,display:"flex",alignItems:"center",justifyContent:"center",lineHeight:1},className:"hover:bg-[#f9f8f6]",children:e},e))})]}),(0,l.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"repeat(7, 1fr)",gap:1},children:[["Su","Mo","Tu","We","Th","Fr","Sa"].map(e=>(0,l.jsx)("div",{style:{fontSize:10,fontWeight:500,color:iy.text3,textAlign:"center",padding:"3px 0"},children:e},e)),h]})]})}function iC({kind:e,text:t}){let r={a:{bg:"#f0fdf4",color:"#15803d",markBg:"#f0fdf4",markColor:"#16a34a",mark:"+"},r:{bg:"#fef2f2",color:"#b91c1c",markBg:"#fef2f2",markColor:"#dc2626",mark:"−"},c:{bg:"#f9fafb",color:iy.text3,markBg:"#f9fafb",markColor:iy.text3,mark:"~"}}[e];return(0,l.jsxs)("div",{style:{display:"flex",alignItems:"stretch",fontSize:11,fontFamily:"ui-monospace,SF Mono,monospace",borderRadius:5,overflow:"hidden",marginBottom:2},children:[(0,l.jsx)("div",{style:{width:22,minWidth:22,display:"flex",alignItems:"center",justifyContent:"center",fontWeight:600,fontSize:12,background:r.markBg,color:r.markColor},children:r.mark}),(0,l.jsx)("div",{style:{flex:1,padding:"4px 8px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",background:r.bg,color:r.color},children:t})]})}function ik({type:e,children:t}){return(0,l.jsx)("span",{style:{fontSize:10,padding:"1px 6px",borderRadius:3,fontFamily:"ui-monospace,SF Mono,monospace",...{rm:{background:"#fef2f2",color:"#dc2626",border:"1px solid #fecaca"},add:{background:"#f0fdf4",color:"#16a34a",border:"1px solid #bbf7d0"},ch:{background:"#fffbeb",color:"#d97706",border:"1px solid #fde68a"}}[e]},children:t})}function iS({label:e,bookmark:t,onCancel:r,onConfirm:n}){return(0,l.jsx)("div",{style:{position:"absolute",inset:0,background:"rgba(0,0,0,0.2)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:30,borderRadius:12},children:(0,l.jsxs)("div",{style:{background:iy.bg,border:`1px solid ${iy.border}`,borderRadius:12,padding:24,boxShadow:"0 8px 40px rgba(0,0,0,0.12)",width:340},children:[(0,l.jsx)("div",{style:{width:38,height:38,borderRadius:10,display:"flex",alignItems:"center",justifyContent:"center",background:"#fef2f2",border:"1px solid #fecaca",marginBottom:14},children:(0,l.jsxs)("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",stroke:"#dc2626",strokeWidth:"1.5",children:[(0,l.jsx)("path",{d:"M9 2L2 15h14L9 2z"}),(0,l.jsx)("path",{d:"M9 7v4M9 12.5v.5"})]})}),(0,l.jsx)("div",{style:{fontSize:14,fontWeight:600,color:iy.text,marginBottom:5},children:"Restore database?"}),(0,l.jsx)("div",{style:{fontSize:12,color:iy.text2,lineHeight:1.6,marginBottom:10},children:"This will overwrite your remote D1 database in place. All in-flight queries and transactions will be cancelled."}),(0,l.jsxs)("div",{style:{fontFamily:"ui-monospace,SF Mono,monospace",fontSize:12,padding:"8px 10px",background:iy.bg2,borderRadius:6,color:iy.text,marginBottom:10,lineHeight:1.7},children:[e,t&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("br",{}),(0,l.jsxs)("span",{style:{fontSize:10,color:iy.text3},children:["bookmark: ",t]})]})]}),(0,l.jsx)("div",{style:{fontSize:11,color:"#c2410c",background:iy.orangeBg,border:`1px solid ${iy.orangeBorder}`,borderRadius:6,padding:"8px 10px",marginBottom:16,lineHeight:1.55},children:"⚠ A pre-restore bookmark will be saved automatically so you can undo this restore if needed."}),(0,l.jsxs)("div",{style:{display:"flex",gap:8},children:[(0,l.jsx)("button",{onClick:r,style:{flex:1,padding:8,border:`1px solid ${iy.border}`,borderRadius:7,background:"transparent",color:iy.text2,fontSize:12,cursor:"pointer",fontFamily:"system-ui,sans-serif"},className:"hover:text-[#1a1714]",children:"Cancel"}),(0,l.jsx)("button",{onClick:n,style:{flex:1,padding:8,background:"#dc2626",color:"white",border:"none",borderRadius:7,fontSize:12,fontWeight:500,cursor:"pointer",fontFamily:"system-ui,sans-serif"},className:"hover:bg-[#b91c1c]",children:"Yes, restore database"})]})]})})}function iR({label:e,undoBookmark:t,onDone:r}){return(0,l.jsx)("div",{style:{position:"absolute",inset:0,background:"rgba(0,0,0,0.2)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:30,borderRadius:12},children:(0,l.jsxs)("div",{style:{background:iy.bg,border:`1px solid ${iy.border}`,borderRadius:12,padding:24,boxShadow:"0 8px 40px rgba(0,0,0,0.12)",width:320,textAlign:"center"},children:[(0,l.jsx)("div",{style:{width:38,height:38,borderRadius:"50%",display:"flex",alignItems:"center",justifyContent:"center",background:"#f0fdf4",border:"1px solid #bbf7d0",margin:"0 auto 14px"},children:(0,l.jsx)("svg",{width:"18",height:"18",viewBox:"0 0 20 20",fill:"none",stroke:"#16a34a",strokeWidth:"2",children:(0,l.jsx)("path",{d:"M4 10l4 4 8-8"})})}),(0,l.jsx)("div",{style:{fontSize:14,fontWeight:600,color:iy.text,marginBottom:5},children:"Database restored"}),(0,l.jsxs)("div",{style:{fontSize:12,color:iy.text2,lineHeight:1.6,marginBottom:10},children:["Database has been restored to ",e," successfully."]}),t&&(0,l.jsxs)("div",{style:{fontSize:11,color:iy.text2,background:iy.bg2,border:`1px solid ${iy.border}`,borderRadius:6,padding:"7px 10px",marginBottom:14,fontFamily:"ui-monospace,SF Mono,monospace",textAlign:"left"},children:["undo bookmark: ",t,(0,l.jsx)("br",{}),(0,l.jsx)("span",{style:{fontSize:10,color:iy.text3},children:"Use this to revert if something looks wrong"})]}),(0,l.jsx)("button",{onClick:r,style:{width:"100%",padding:9,background:iy.text,color:iy.bg,border:"none",borderRadius:7,fontSize:12,fontWeight:500,cursor:"pointer",fontFamily:"system-ui,sans-serif"},children:"Done"})]})})}function iE(){let{currentDatabase:e}=(0,nQ.t)(),t=e?.database_name||"database",r=new Date,[n,a]=(0,o.useState)(r.getUTCFullYear()),[s,i]=(0,o.useState)(r.getUTCMonth()),[c,d]=(0,o.useState)(r.getUTCDate()),[u,f]=(0,o.useState)(`${ij(r.getUTCHours())}:${ij(r.getUTCMinutes())}:00`),[m,p]=(0,o.useState)(null),[h,x]=(0,o.useState)(null),[g,v]=(0,o.useState)(!0),[y,b]=(0,o.useState)(null),[w,j]=(0,o.useState)(null),N=new Date(r.getTime()-2592e6),C=w||N,[k,S]=(0,o.useState)(null),[R,E]=(0,o.useState)(!1),[T,M]=(0,o.useState)(null),[A,D]=(0,o.useState)(!1),[_,O]=(0,o.useState)(!1),[P,L]=(0,o.useState)(null),[I,$]=(0,o.useState)(!1),[F,U]=(0,o.useState)(null),z=`${ib[s].slice(0,3)} ${ij(c)}, ${n} \xb7 ${u||"00:00:00"} UTC`,B=`${ib[s].slice(0,3)} ${ij(c)}, ${n} at ${u||"00:00:00"} UTC`,H=(0,o.useCallback)(()=>{i(e=>0===e?(a(e=>e-1),11):e-1),d(1),S(null)},[]),W=(0,o.useCallback)(()=>{let e=11===s?0:s+1,t=11===s?n+1:n;t>r.getUTCFullYear()||t===r.getUTCFullYear()&&e>r.getUTCMonth()||(i(e),a(t),d(1),S(null))},[s,n,r]),V=(0,o.useCallback)(e=>{d(e),p(null),S(null)},[]),K=(0,o.useCallback)((e,t,r,n,l)=>{a(t),i(r),d(n),f(l),p(e),S(null)},[]),q=(0,o.useCallback)(()=>{let e=new Date;a(e.getUTCFullYear()),i(e.getUTCMonth()),d(e.getUTCDate()),f(`${ij(e.getUTCHours())}:${ij(e.getUTCMinutes())}:00`),p(null),S(null)},[]),G=(0,o.useCallback)(async()=>{E(!0),M(null),S(null);try{let t=e?.database_name?`?db=${encodeURIComponent(e.database_name)}`:"",r=await fetch(`/api/time-travel/preview${t}`),n=await r.json();if(!r.ok||!n.success)throw Error(n.error||"Failed to refresh remote state");x(n.currentBookmark),S({bookmark:n.currentBookmark})}catch(e){M(e.message)}finally{E(!1)}},[e]),Y=(0,o.useCallback)(async()=>{D(!1),O(!0),L(null);try{let t=new Date(`${n}-${ij(s+1)}-${ij(c)}T${u}Z`).toISOString(),r=await fetch("/api/time-travel/restore",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({db:e?.database_name,bookmark:k?.bookmark??null,timestamp:t})}),a=await r.json();if(!r.ok||!a.success)throw Error(a.error||"Restore failed");U(a.undoBookmark),$(!0)}catch(e){L(e.message)}finally{O(!1)}},[n,s,c,u,e,k]),X=new Date(r-18e5),Q=new Date(r);Q.setHours(12,0,0,0);let J=new Date(r-864e5);J.setHours(18,0,0,0);let Z=new Date(r-1728e5);Z.setHours(9,0,0,0);let ee=new Date(r-6048e5);ee.setHours(0,0,0,0);let et=[{id:"q30",label:"30 minutes ago",time:`${ij(X.getUTCHours())}:${ij(X.getUTCMinutes())}`,date:X,y:X.getUTCFullYear(),m:X.getUTCMonth(),d:X.getUTCDate(),t:`${ij(X.getUTCHours())}:${ij(X.getUTCMinutes())}:00`,icon:"clock"},{id:"qtoday",label:"Earlier today",time:"12:00",date:Q,y:Q.getUTCFullYear(),m:Q.getUTCMonth(),d:Q.getUTCDate(),t:"12:00:00",icon:"clock"},{id:"qyest",label:"Yesterday evening",time:`${ib[J.getUTCMonth()].slice(0,3)} ${J.getUTCDate()}`,date:J,y:J.getUTCFullYear(),m:J.getUTCMonth(),d:J.getUTCDate(),t:"18:00:00",icon:"clock"},{id:"qmig",label:"Before last migration",time:`${ib[Z.getUTCMonth()].slice(0,3)} ${Z.getUTCDate()}`,date:Z,y:Z.getUTCFullYear(),m:Z.getUTCMonth(),d:Z.getUTCDate(),t:"09:00:00",icon:"shield"},{id:"qweek",label:"1 week ago",time:`${ib[ee.getUTCMonth()].slice(0,3)} ${ee.getUTCDate()}`,date:ee,y:ee.getUTCFullYear(),m:ee.getUTCMonth(),d:ee.getUTCDate(),t:"00:00:00",icon:"clock"}];return(0,l.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%",position:"relative",overflow:"hidden",background:iy.bg},children:[(0,l.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12,padding:"12px 18px",borderBottom:`1px solid ${iy.border}`,flexShrink:0},children:[(0,l.jsxs)("div",{children:[(0,l.jsx)("div",{style:{fontSize:13,fontWeight:600,color:iy.text},children:"Time travel"}),(0,l.jsxs)("div",{style:{fontSize:11,color:iy.text3,marginTop:1},children:[t," \xb7 remote \xb7"," ",g?"loading available window…":y?"could not load window info":h?`latest snapshot: ${h.slice(0,18)}…`:"restore to any point in the available window"]})]}),(0,l.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"5px 11px",background:iy.orangeBg,border:`1px solid ${iy.orangeBorder}`,borderRadius:20,fontSize:11,color:iy.orange,marginLeft:"auto",flexShrink:0},children:[(0,l.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 13 13",fill:"none",stroke:"currentColor",strokeWidth:"1.3",children:[(0,l.jsx)("path",{d:"M6.5 1L1 11h11z"}),(0,l.jsx)("path",{d:"M6.5 5v3M6.5 9.5v.5"})]}),"Restore overwrites remote DB in place"]})]}),(0,l.jsxs)("div",{style:{flex:1,display:"flex",overflow:"hidden"},children:[(0,l.jsxs)("div",{style:{width:290,minWidth:290,borderRight:`1px solid ${iy.border}`,display:"flex",flexDirection:"column",overflow:"hidden"},children:[(0,l.jsx)(iN,{year:n,month:s,selDay:c,today:r,earliest:C,onSelect:V,onPrev:H,onNext:W}),(0,l.jsxs)("div",{style:{padding:"12px 16px",borderBottom:`1px solid ${iy.border}`,flexShrink:0},children:[(0,l.jsx)("div",{style:{fontSize:11,fontWeight:500,color:iy.text3,marginBottom:7},children:"Time (UTC)"}),(0,l.jsxs)("div",{style:{display:"flex",gap:7,alignItems:"center"},children:[(0,l.jsx)("input",{value:u,onChange:e=>{f(e.target.value),S(null)},style:{flex:1,padding:"7px 10px",border:`1px solid ${iy.border}`,borderRadius:6,fontFamily:"ui-monospace,SF Mono,monospace",fontSize:13,color:iy.text,background:iy.bg,outline:"none"},onFocus:e=>e.target.style.borderColor=iy.border2,onBlur:e=>e.target.style.borderColor=iy.border,placeholder:"HH:MM:SS"}),(0,l.jsx)("button",{onClick:q,style:{padding:"7px 11px",border:`1px solid ${iy.border}`,borderRadius:6,fontSize:11,color:iy.text2,background:iy.bg2,cursor:"pointer",fontFamily:"system-ui,sans-serif",whiteSpace:"nowrap"},className:"hover:text-[#1a1714]",children:"Now"})]})]}),(0,l.jsxs)("div",{style:{padding:"10px 16px",flex:1,overflowY:"auto"},children:[(0,l.jsx)("div",{style:{fontSize:11,fontWeight:500,color:iy.text3,marginBottom:9},children:"Quick points"}),et.map(e=>{let t=m===e.id,r=e.date<new Date(C.getFullYear(),C.getMonth(),C.getDate());return(0,l.jsxs)("button",{onClick:r?void 0:()=>K(e.id,e.y,e.m,e.d,e.t),disabled:r,title:r?"Outside available Time Travel window":void 0,style:{display:"flex",alignItems:"center",gap:8,width:"100%",padding:"7px 10px",border:`1px solid ${t?iy.text:iy.border}`,borderRadius:7,background:t?iy.bg2:iy.bg,cursor:r?"not-allowed":"pointer",fontFamily:"system-ui,sans-serif",fontSize:12,color:r?iy.border2:t?iy.text:iy.text2,marginBottom:5,textAlign:"left",transition:"border-color 0.1s",opacity:r?.5:1},className:r?"":"hover:border-[#d4d0c8] hover:text-[#1a1714]",children:["clock"===e.icon?(0,l.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 13 13",fill:"none",stroke:"currentColor",strokeWidth:"1.2",style:{opacity:t?.8:.4,flexShrink:0},children:[(0,l.jsx)("circle",{cx:"6.5",cy:"6.5",r:"5"}),(0,l.jsx)("path",{d:"M6.5 3.5v3l2 1.5"})]}):(0,l.jsx)("svg",{width:"13",height:"13",viewBox:"0 0 13 13",fill:"none",stroke:"currentColor",strokeWidth:"1.2",style:{opacity:t?.8:.4,flexShrink:0},children:(0,l.jsx)("path",{d:"M6.5 1L1 4v3c0 3 2.4 5.5 5.5 6.5 3.1-1 5.5-3.5 5.5-6.5V4z"})}),e.label,(0,l.jsx)("span",{style:{marginLeft:"auto",fontFamily:"ui-monospace,SF Mono,monospace",fontSize:10,color:iy.text3},children:e.time})]},e.id)})]})]}),(0,l.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:"column",overflow:"hidden"},children:[(0,l.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"11px 16px",borderBottom:`1px solid ${iy.border}`,flexShrink:0},children:[(0,l.jsxs)("span",{style:{fontSize:12,fontWeight:500,color:iy.text,flex:1},children:["Snapshot — ",B]}),k?.bookmark&&(0,l.jsx)("span",{style:{fontFamily:"ui-monospace,SF Mono,monospace",fontSize:10,color:iy.text3,padding:"2px 7px",background:iy.bg2,border:`1px solid ${iy.border}`,borderRadius:3},children:k.bookmark.length>22?k.bookmark.slice(0,20)+"…":k.bookmark})]}),(0,l.jsxs)("div",{style:{flex:1,overflowY:"auto",padding:"14px 16px"},children:[T&&(0,l.jsx)("div",{style:{fontSize:12,color:"#dc2626",background:"#fef2f2",border:"1px solid #fecaca",borderRadius:7,padding:"10px 12px",marginBottom:12},children:T}),P&&(0,l.jsxs)("div",{style:{fontSize:12,color:"#dc2626",background:"#fef2f2",border:"1px solid #fecaca",borderRadius:7,padding:"10px 12px",marginBottom:12},children:["Restore failed: ",P]}),R&&(0,l.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,fontSize:12,color:iy.text3,padding:"20px 0"},children:[(0,l.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor",strokeWidth:"1.5",style:{animation:"spin 1s linear infinite"},children:[(0,l.jsx)("circle",{cx:"7",cy:"7",r:"5",strokeOpacity:"0.3"}),(0,l.jsx)("path",{d:"M7 2a5 5 0 0 1 5 5"})]}),"Loading snapshot info…",(0,l.jsx)("style",{children:"@keyframes spin { to { transform: rotate(360deg); } }"})]}),!R&&!k&&!T&&(0,l.jsxs)("div",{style:{padding:"20px 0",color:iy.text3,fontSize:12},children:[h&&(0,l.jsxs)("div",{style:{background:iy.bg2,border:`1px solid ${iy.border}`,borderRadius:8,padding:"12px 14px",marginBottom:14},children:[(0,l.jsx)("div",{style:{fontSize:11,fontWeight:500,color:iy.text3,marginBottom:6},children:"Current snapshot (latest)"}),(0,l.jsx)("div",{style:{fontFamily:"ui-monospace,SF Mono,monospace",fontSize:11,color:iy.text,wordBreak:"break-all"},children:h})]}),(0,l.jsxs)("div",{style:{textAlign:"center",paddingTop:h?4:24},children:[(0,l.jsxs)("svg",{width:"32",height:"32",viewBox:"0 0 13 13",fill:"none",stroke:"currentColor",strokeWidth:"1",style:{margin:"0 auto 10px",display:"block",opacity:.3},children:[(0,l.jsx)("circle",{cx:"6.5",cy:"6.5",r:"5"}),(0,l.jsx)("path",{d:"M6.5 3.5v3l2 1.5"})]}),"Select a date & time, then click ",(0,l.jsx)("strong",{children:"Refresh preview"})," to load snapshot info."]})]}),!R&&k&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("div",{style:{marginBottom:18},children:[(0,l.jsxs)("div",{style:{fontSize:11,fontWeight:600,color:iy.text,marginBottom:7,display:"flex",alignItems:"center",gap:6},children:["Remote state",(0,l.jsx)(ik,{type:"add",children:"refreshed"})]}),(0,l.jsx)(iC,{kind:"c",text:`Restore target: ${B}`}),k.bookmark?(0,l.jsx)(iC,{kind:"a",text:`current bookmark: ${k.bookmark}`}):(0,l.jsx)(iC,{kind:"c",text:"current bookmark: (not returned by wrangler)"}),(0,l.jsx)(iC,{kind:"c",text:"Restore will roll back all changes made after the selected time"})]}),(0,l.jsx)("div",{style:{fontSize:11,color:iy.text3,background:iy.bg2,border:`1px solid ${iy.border}`,borderRadius:7,padding:"10px 12px",lineHeight:1.6},children:"Cloudflare Time Travel does not provide a row-level diff before restore. After confirming, the database will be rolled back atomically to the selected point in time. An undo bookmark will be shown after restore."})]})]}),(0,l.jsxs)("div",{style:{padding:"12px 16px",borderTop:`1px solid ${iy.border}`,display:"flex",alignItems:"center",gap:10,background:iy.bg,flexShrink:0},children:[(0,l.jsxs)("div",{style:{flex:1},children:[(0,l.jsxs)("div",{style:{fontSize:12,fontWeight:500,color:iy.text},children:["Restore to ",z]}),k?.bookmark&&(0,l.jsxs)("div",{style:{fontSize:11,color:iy.text3,fontFamily:"ui-monospace,SF Mono,monospace",marginTop:1},children:["bookmark: ",k.bookmark]})]}),(0,l.jsxs)("button",{onClick:G,disabled:R,style:{display:"flex",alignItems:"center",gap:5,padding:"8px 14px",borderRadius:7,border:`1px solid ${iy.border}`,background:iy.bg,color:iy.text,fontSize:12,fontWeight:500,cursor:R?"default":"pointer",fontFamily:"system-ui,sans-serif",whiteSpace:"nowrap",opacity:R?.6:1},className:"hover:bg-[#f9f8f6]",children:[(0,l.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"1.3",children:[(0,l.jsx)("path",{d:"M1 6A5 5 0 0 1 10 3M11 6A5 5 0 0 1 2 9"}),(0,l.jsx)("path",{d:"M9 1.5v2h2M1 8.5v2h2"})]}),"Refresh preview"]}),(0,l.jsxs)("button",{onClick:()=>D(!0),disabled:_,style:{display:"flex",alignItems:"center",gap:5,padding:"8px 14px",borderRadius:7,border:"none",background:_?"#f87171":"#dc2626",color:"white",fontSize:12,fontWeight:500,cursor:_?"default":"pointer",fontFamily:"system-ui,sans-serif",whiteSpace:"nowrap"},className:"hover:bg-[#b91c1c]",children:[(0,l.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"1.3",children:[(0,l.jsx)("path",{d:"M1 6A5 5 0 0 1 10 3M11 6A5 5 0 0 1 2 9"}),(0,l.jsx)("path",{d:"M9 1.5v2h2M1 8.5v2h2"})]}),_?"Restoring…":"Restore database"]})]})]})]}),A&&(0,l.jsx)(iS,{label:z,bookmark:k?.bookmark,onCancel:()=>D(!1),onConfirm:Y}),I&&(0,l.jsx)(iR,{label:z,undoBookmark:F,onDone:()=>{$(!1),S(null)}})]})}function iT({open:e,onClose:t,onSubmit:r}){let[n,a]=(0,o.useState)(""),[s,i]=(0,o.useState)(""),[c,d]=(0,o.useState)(""),[u,f]=(0,o.useState)(!1),m=async e=>{e.preventDefault(),d(""),f(!0);try{await r({accountId:n,apiToken:s}),localStorage.setItem("cf_credentials",JSON.stringify({accountId:n,apiToken:s})),t()}catch(e){d(e.message)}finally{f(!1)}};return(0,l.jsx)(sR,{open:e,onOpenChange:t,children:(0,l.jsxs)(s0,{className:"sm:max-w-md",children:[(0,l.jsxs)(s1,{children:[(0,l.jsx)(s5,{children:"Connect to Cloudflare"}),(0,l.jsx)(s4,{children:"Enter your Cloudflare credentials to push your database to production."})]}),(0,l.jsxs)("form",{onSubmit:m,className:"space-y-4 mt-4",children:[c&&(0,l.jsx)(S,{variant:"destructive",children:(0,l.jsx)(R,{children:c})}),(0,l.jsxs)("div",{className:"space-y-2",children:[(0,l.jsx)("label",{className:"text-sm font-medium",children:"Account ID"}),(0,l.jsx)(N,{placeholder:"Your Cloudflare Account ID",value:n,onChange:e=>a(e.target.value),required:!0})]}),(0,l.jsxs)("div",{className:"space-y-2",children:[(0,l.jsx)("label",{className:"text-sm font-medium",children:"API Token"}),(0,l.jsx)(N,{type:"password",placeholder:"Your D1 Database API Token",value:s,onChange:e=>i(e.target.value),required:!0})]}),(0,l.jsxs)("div",{className:"flex justify-end gap-3",children:[(0,l.jsx)(nZ,{type:"button",variant:"outline",onClick:t,children:"Cancel"}),(0,l.jsxs)(nZ,{type:"submit",disabled:u,children:[u&&(0,l.jsx)(v,{className:"mr-2 h-4 w-4 animate-spin"}),"Connect"]})]})]})]})})}function iM(){let{refreshTables:e}=(0,nQ.t)(),[t,r]=(0,o.useState)(!1),[n,a]=(0,o.useState)(null),[s,i]=(0,o.useState)(null),{isConnecting:c,isPushing:d,showPreview:u,connectToCloudflare:f,pushToRemote:p,pullToRemotePreview:h,validateStoredCredentials:x,PreviewUI:g}=aP(),y=async()=>{i(null),a("push");try{if(!await x()){r(!0);return}await p(),i({type:"success",message:"Push to remote initiated. Check the preview for details."})}catch(e){i({type:"error",message:e.message})}},b=async()=>{i(null),a("pull");try{if(!await x()){r(!0);return}await h()}catch(e){i({type:"error",message:e.message})}},w=c||d;return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("div",{className:"h-full flex flex-col",children:[(0,l.jsxs)("div",{className:"flex items-center gap-2 p-4 border-b",children:[(0,l.jsx)(o7,{className:"h-4 w-4"}),(0,l.jsx)("h2",{className:"text-sm font-semibold",children:"Remote Sync"})]}),(0,l.jsx)("div",{className:"flex-1 overflow-auto p-6",children:(0,l.jsxs)("div",{className:"max-w-lg flex flex-col gap-6",children:[(0,l.jsx)("p",{className:"text-sm text-muted-foreground",children:"Sync your local D1 database with Cloudflare. Pushing uploads your local data to production; pulling downloads the remote state to your local environment."}),s&&(0,l.jsxs)(S,{variant:"error"===s.type?"destructive":"default",children:["error"===s.type?(0,l.jsx)(m,{className:"h-4 w-4"}):(0,l.jsx)(s8,{className:"h-4 w-4"}),(0,l.jsx)(R,{children:s.message})]}),(0,l.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,l.jsxs)("div",{className:"border rounded-md p-4 bg-white flex flex-col gap-3",children:[(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)(oO,{className:"h-4 w-4 text-neutral-600"}),(0,l.jsx)("span",{className:"text-sm font-semibold",children:"Push to remote"})]}),(0,l.jsx)("p",{className:"text-xs text-muted-foreground",children:"Upload local database state to your Cloudflare D1 database."}),(0,l.jsx)(nZ,{size:"sm",onClick:y,disabled:w,className:"w-full",children:d&&"push"===n?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(v,{className:"h-4 w-4 animate-spin mr-2"})," Pushing…"]}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(oO,{className:"h-4 w-4 mr-2"})," Push"]})})]}),(0,l.jsxs)("div",{className:"border rounded-md p-4 bg-white flex flex-col gap-3",children:[(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)(sa,{className:"h-4 w-4 text-neutral-600"}),(0,l.jsx)("span",{className:"text-sm font-semibold",children:"Pull from remote"})]}),(0,l.jsx)("p",{className:"text-xs text-muted-foreground",children:"Download Cloudflare D1 data into your local environment."}),(0,l.jsx)(nZ,{size:"sm",variant:"outline",onClick:b,disabled:w,className:"w-full",children:c&&"pull"===n?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(v,{className:"h-4 w-4 animate-spin mr-2"})," Pulling…"]}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(sa,{className:"h-4 w-4 mr-2"})," Pull"]})})]})]}),(0,l.jsx)("p",{className:"text-xs text-muted-foreground",children:"Cloudflare API credentials are required. You'll be prompted to enter them if not already saved."})]})})]}),(0,l.jsx)(iT,{open:t,onClose:()=>r(!1),onSubmit:f}),g]})}let iA={loading:"text-blue-500 border-blue-500/40 bg-blue-500/5",success:"text-green-600 border-green-500/40 bg-green-500/5",error:"text-red-500 border-red-500/40 bg-red-500/5",info:"text-muted-foreground border-border bg-transparent"},iD={loading:null,success:"✓",error:"✗",info:"─"};function i_(){let{lastStatus:e}=(0,nQ.t)(),t=function(e){let[t,r]=(0,o.useState)("");return t}(e?.ts),r=e?.type??"info",n=e?.message??"Ready",a=e?.detail??null,s=iA[r]??iA.info,i=iD[r];return(0,l.jsxs)("div",{className:`flex items-center justify-between h-8 px-4 border-t font-mono text-xs select-none shrink-0 ${s}`,role:"status","aria-live":"polite",children:[(0,l.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,l.jsx)("span",{className:"shrink-0 w-4 flex items-center justify-center",children:"loading"===r?(0,l.jsx)(v,{className:"h-3 w-3 animate-spin"}):(0,l.jsx)("span",{children:i})}),(0,l.jsx)("span",{className:"truncate",children:n}),a&&(0,l.jsxs)("span",{className:"text-muted-foreground truncate hidden sm:inline",children:["\xb7 ",a]})]}),t&&(0,l.jsx)("span",{className:"text-muted-foreground shrink-0 pl-4",children:t})]})}function iO(){let[e,t]=(0,o.useState)("sql-editor"),[r,n]=(0,o.useState)(null),[a,s]=(0,o.useState)("");return(0,l.jsxs)("div",{className:"flex h-screen bg-background",children:[(0,l.jsx)(aI,{className:"w-64 border-r flex-shrink-0",currentView:e,onNavigate:t,onTableSelect:e=>{n(e),t("table-view")}}),(0,l.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden",children:[(0,l.jsxs)("main",{className:"flex-1 overflow-hidden",children:["sql-editor"===e&&(0,l.jsx)(lw,{initialQuery:a}),"schema"===e&&(0,l.jsx)(iv,{}),"migrations"===e&&(0,l.jsx)(ih,{}),"time-travel"===e&&(0,l.jsx)(iE,{}),"remote-sync"===e&&(0,l.jsx)(iM,{}),"table-view"===e&&r&&(0,l.jsx)(im,{tableName:r,onOpenInSQL:e=>{s(e),t("sql-editor")}})]}),(0,l.jsx)(i_,{})]})]})}},8868:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>n});let n=(0,r(4379).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Volumes/ProjectSpace/_wip/d1studio/src/app/page.jsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Volumes/ProjectSpace/_wip/d1studio/src/app/page.jsx","default")}};var t=require("../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),n=t.X(0,[994,992,572],()=>r(7185));module.exports=n})();
|