d1s 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -0
- package/dist/.next/.next/BUILD_ID +1 -0
- package/dist/.next/.next/app-build-manifest.json +109 -0
- package/dist/.next/.next/app-path-routes-manifest.json +1 -0
- package/dist/.next/.next/build-manifest.json +33 -0
- package/dist/.next/.next/cache/.rscinfo +1 -0
- package/dist/.next/.next/cache/.tsbuildinfo +1 -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/2.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/0.pack +0 -0
- package/dist/.next/.next/cache/webpack/edge-server-production/index.pack +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/diagnostics/build-diagnostics.json +6 -0
- package/dist/.next/.next/diagnostics/framework.json +1 -0
- package/dist/.next/.next/export-marker.json +1 -0
- package/dist/.next/.next/images-manifest.json +1 -0
- package/dist/.next/.next/next-minimal-server.js.nft.json +1 -0
- package/dist/.next/.next/next-server.js.nft.json +1 -0
- package/dist/.next/.next/package.json +1 -0
- package/dist/.next/.next/prerender-manifest.json +1 -0
- package/dist/.next/.next/react-loadable-manifest.json +1 -0
- package/dist/.next/.next/required-server-files.json +1 -0
- package/dist/.next/.next/routes-manifest.json +1 -0
- package/dist/.next/.next/server/app/_not-found/page.js +1 -0
- package/dist/.next/.next/server/app/_not-found/page.js.nft.json +1 -0
- package/dist/.next/.next/server/app/_not-found/page_client-reference-manifest.js +1 -0
- package/dist/.next/.next/server/app/_not-found.html +1 -0
- package/dist/.next/.next/server/app/_not-found.meta +8 -0
- package/dist/.next/.next/server/app/_not-found.rsc +16 -0
- package/dist/.next/.next/server/app/api/cloudflare/route.js +1 -0
- package/dist/.next/.next/server/app/api/cloudflare/route.js.nft.json +1 -0
- package/dist/.next/.next/server/app/api/cloudflare/route_client-reference-manifest.js +1 -0
- package/dist/.next/.next/server/app/api/databases/route.js +1 -0
- package/dist/.next/.next/server/app/api/databases/route.js.nft.json +1 -0
- package/dist/.next/.next/server/app/api/databases/route_client-reference-manifest.js +1 -0
- package/dist/.next/.next/server/app/api/migrations/sync/route.js +12 -0
- package/dist/.next/.next/server/app/api/migrations/sync/route.js.nft.json +1 -0
- package/dist/.next/.next/server/app/api/migrations/sync/route_client-reference-manifest.js +1 -0
- package/dist/.next/.next/server/app/api/migrations/sync-files/route.js +1 -0
- package/dist/.next/.next/server/app/api/migrations/sync-files/route.js.nft.json +1 -0
- package/dist/.next/.next/server/app/api/migrations/sync-files/route_client-reference-manifest.js +1 -0
- package/dist/.next/.next/server/app/api/pull-remote/confirm/route.js +1 -0
- package/dist/.next/.next/server/app/api/pull-remote/confirm/route.js.nft.json +1 -0
- package/dist/.next/.next/server/app/api/pull-remote/confirm/route_client-reference-manifest.js +1 -0
- package/dist/.next/.next/server/app/api/pull-remote/preview/route.js +1 -0
- package/dist/.next/.next/server/app/api/pull-remote/preview/route.js.nft.json +1 -0
- package/dist/.next/.next/server/app/api/pull-remote/preview/route_client-reference-manifest.js +1 -0
- package/dist/.next/.next/server/app/api/push-remote/confirm/route.js +14 -0
- package/dist/.next/.next/server/app/api/push-remote/confirm/route.js.nft.json +1 -0
- package/dist/.next/.next/server/app/api/push-remote/confirm/route_client-reference-manifest.js +1 -0
- package/dist/.next/.next/server/app/api/push-remote/preview/route.js +14 -0
- package/dist/.next/.next/server/app/api/push-remote/preview/route.js.nft.json +1 -0
- package/dist/.next/.next/server/app/api/push-remote/preview/route_client-reference-manifest.js +1 -0
- package/dist/.next/.next/server/app/api/query/route.js +8 -0
- package/dist/.next/.next/server/app/api/query/route.js.nft.json +1 -0
- package/dist/.next/.next/server/app/api/query/route_client-reference-manifest.js +1 -0
- package/dist/.next/.next/server/app/api/tables/[name]/route.js +5 -0
- package/dist/.next/.next/server/app/api/tables/[name]/route.js.nft.json +1 -0
- package/dist/.next/.next/server/app/api/tables/[name]/route_client-reference-manifest.js +1 -0
- package/dist/.next/.next/server/app/api/tables/route.js +7 -0
- package/dist/.next/.next/server/app/api/tables/route.js.nft.json +1 -0
- package/dist/.next/.next/server/app/api/tables/route_client-reference-manifest.js +1 -0
- package/dist/.next/.next/server/app/index.html +3 -0
- package/dist/.next/.next/server/app/index.meta +7 -0
- package/dist/.next/.next/server/app/index.rsc +20 -0
- package/dist/.next/.next/server/app/page.js +58 -0
- package/dist/.next/.next/server/app/page.js.nft.json +1 -0
- package/dist/.next/.next/server/app/page_client-reference-manifest.js +1 -0
- package/dist/.next/.next/server/app-paths-manifest.json +15 -0
- package/dist/.next/.next/server/chunks/336.js +1 -0
- package/dist/.next/.next/server/chunks/627.js +6 -0
- package/dist/.next/.next/server/chunks/638.js +13 -0
- package/dist/.next/.next/server/chunks/801.js +55 -0
- package/dist/.next/.next/server/chunks/973.js +2 -0
- package/dist/.next/.next/server/chunks/992.js +3 -0
- package/dist/.next/.next/server/functions-config-manifest.json +1 -0
- package/dist/.next/.next/server/interception-route-rewrite-manifest.js +1 -0
- package/dist/.next/.next/server/middleware-build-manifest.js +1 -0
- package/dist/.next/.next/server/middleware-manifest.json +6 -0
- package/dist/.next/.next/server/middleware-react-loadable-manifest.js +1 -0
- package/dist/.next/.next/server/next-font-manifest.js +1 -0
- package/dist/.next/.next/server/next-font-manifest.json +1 -0
- package/dist/.next/.next/server/pages/404.html +1 -0
- package/dist/.next/.next/server/pages/500.html +1 -0
- package/dist/.next/.next/server/pages/_app.js +1 -0
- package/dist/.next/.next/server/pages/_app.js.nft.json +1 -0
- package/dist/.next/.next/server/pages/_document.js +1 -0
- package/dist/.next/.next/server/pages/_document.js.nft.json +1 -0
- package/dist/.next/.next/server/pages/_error.js +1 -0
- package/dist/.next/.next/server/pages/_error.js.nft.json +1 -0
- package/dist/.next/.next/server/pages-manifest.json +1 -0
- package/dist/.next/.next/server/server-reference-manifest.js +1 -0
- package/dist/.next/.next/server/server-reference-manifest.json +1 -0
- package/dist/.next/.next/server/webpack-runtime.js +1 -0
- package/dist/.next/.next/static/ODMSSwVqLoDcBgbFHUjr8/_buildManifest.js +1 -0
- package/dist/.next/.next/static/ODMSSwVqLoDcBgbFHUjr8/_ssgManifest.js +1 -0
- package/dist/.next/.next/static/chunks/422-6fa3c14fc64ad67b.js +1 -0
- package/dist/.next/.next/static/chunks/4bd1b696-8c908eb707f85a27.js +1 -0
- package/dist/.next/.next/static/chunks/517-3b698a5d3da06ff7.js +2 -0
- package/dist/.next/.next/static/chunks/692-ede418e1d28a1394.js +1 -0
- package/dist/.next/.next/static/chunks/735-c9144179c6bd7d06.js +1 -0
- package/dist/.next/.next/static/chunks/92-c4466e0f1ca8a3a8.js +1 -0
- package/dist/.next/.next/static/chunks/app/_not-found/page-b786c3dd79ad15a5.js +1 -0
- package/dist/.next/.next/static/chunks/app/api/cloudflare/route-3458d78022185d7f.js +1 -0
- package/dist/.next/.next/static/chunks/app/api/databases/route-64255424877a9f72.js +1 -0
- package/dist/.next/.next/static/chunks/app/api/migrations/sync/route-03766b3afcf043ba.js +1 -0
- package/dist/.next/.next/static/chunks/app/api/migrations/sync-files/route-02fa291c8000dadf.js +1 -0
- package/dist/.next/.next/static/chunks/app/api/pull-remote/confirm/route-7e05bb8920127abe.js +1 -0
- package/dist/.next/.next/static/chunks/app/api/pull-remote/preview/route-0fa15f783e8a306c.js +1 -0
- package/dist/.next/.next/static/chunks/app/api/push-remote/confirm/route-96691f1880e4ed14.js +1 -0
- package/dist/.next/.next/static/chunks/app/api/push-remote/preview/route-a798679c67374552.js +1 -0
- package/dist/.next/.next/static/chunks/app/api/query/route-e90d0030a5083e20.js +1 -0
- package/dist/.next/.next/static/chunks/app/api/tables/[name]/route-1efe63e73b480e58.js +1 -0
- package/dist/.next/.next/static/chunks/app/api/tables/route-3772b4f480c4b4a4.js +1 -0
- package/dist/.next/.next/static/chunks/app/layout-8360fab69b848283.js +1 -0
- package/dist/.next/.next/static/chunks/app/page-75081ac7a88cb706.js +1 -0
- package/dist/.next/.next/static/chunks/framework-d29117d969504448.js +1 -0
- package/dist/.next/.next/static/chunks/main-8d0ab17774ffa031.js +1 -0
- package/dist/.next/.next/static/chunks/main-app-d36cdfb402b40f13.js +1 -0
- package/dist/.next/.next/static/chunks/pages/_app-d23763e3e6c904ff.js +1 -0
- package/dist/.next/.next/static/chunks/pages/_error-9b7125ad1a1e68fa.js +1 -0
- package/dist/.next/.next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
- package/dist/.next/.next/static/chunks/webpack-c76ac1e586b2802a.js +1 -0
- package/dist/.next/.next/static/css/c51a7ef325e30c16.css +3 -0
- package/dist/.next/.next/static/media/569ce4b8f30dc480-s.p.woff2 +0 -0
- package/dist/.next/.next/static/media/747892c23ea88013-s.woff2 +0 -0
- package/dist/.next/.next/static/media/93f479601ee12b01-s.p.woff2 +0 -0
- package/dist/.next/.next/static/media/ba015fad6dcf6784-s.woff2 +0 -0
- package/dist/.next/.next/trace +3 -0
- package/dist/.next/.next/types/app/api/cloudflare/route.ts +347 -0
- package/dist/.next/.next/types/app/api/databases/route.ts +347 -0
- package/dist/.next/.next/types/app/api/migrations/sync/route.ts +347 -0
- package/dist/.next/.next/types/app/api/migrations/sync-files/route.ts +347 -0
- package/dist/.next/.next/types/app/api/pull-remote/confirm/route.ts +347 -0
- package/dist/.next/.next/types/app/api/pull-remote/preview/route.ts +347 -0
- package/dist/.next/.next/types/app/api/push-remote/confirm/route.ts +347 -0
- package/dist/.next/.next/types/app/api/push-remote/preview/route.ts +347 -0
- package/dist/.next/.next/types/app/api/query/route.ts +347 -0
- package/dist/.next/.next/types/app/api/tables/[name]/route.ts +347 -0
- package/dist/.next/.next/types/app/api/tables/route.ts +347 -0
- package/dist/.next/.next/types/app/page.ts +84 -0
- package/dist/.next/.next/types/cache-life.d.ts +141 -0
- package/dist/.next/.next/types/package.json +1 -0
- package/dist/.next/BUILD_ID +1 -0
- package/dist/.next/app-build-manifest.json +109 -0
- package/dist/.next/app-path-routes-manifest.json +1 -0
- package/dist/.next/build-manifest.json +33 -0
- package/dist/.next/cache/.rscinfo +1 -0
- package/dist/.next/cache/.tsbuildinfo +1 -0
- 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/0.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/diagnostics/build-diagnostics.json +6 -0
- package/dist/.next/diagnostics/framework.json +1 -0
- package/dist/.next/export-marker.json +1 -0
- package/dist/.next/images-manifest.json +1 -0
- package/dist/.next/next-minimal-server.js.nft.json +1 -0
- package/dist/.next/next-server.js.nft.json +1 -0
- package/dist/.next/package.json +1 -0
- package/dist/.next/prerender-manifest.json +1 -0
- package/dist/.next/react-loadable-manifest.json +1 -0
- package/dist/.next/required-server-files.json +1 -0
- package/dist/.next/routes-manifest.json +1 -0
- package/dist/.next/server/app/_not-found/page.js +1 -0
- package/dist/.next/server/app/_not-found/page.js.nft.json +1 -0
- package/dist/.next/server/app/_not-found/page_client-reference-manifest.js +1 -0
- package/dist/.next/server/app/_not-found.html +1 -0
- package/dist/.next/server/app/_not-found.meta +8 -0
- package/dist/.next/server/app/_not-found.rsc +16 -0
- package/dist/.next/server/app/api/cloudflare/route.js +1 -0
- package/dist/.next/server/app/api/cloudflare/route.js.nft.json +1 -0
- package/dist/.next/server/app/api/cloudflare/route_client-reference-manifest.js +1 -0
- package/dist/.next/server/app/api/databases/route.js +1 -0
- package/dist/.next/server/app/api/databases/route.js.nft.json +1 -0
- package/dist/.next/server/app/api/databases/route_client-reference-manifest.js +1 -0
- package/dist/.next/server/app/api/migrations/sync/route.js +12 -0
- package/dist/.next/server/app/api/migrations/sync/route.js.nft.json +1 -0
- package/dist/.next/server/app/api/migrations/sync/route_client-reference-manifest.js +1 -0
- package/dist/.next/server/app/api/migrations/sync-files/route.js +1 -0
- package/dist/.next/server/app/api/migrations/sync-files/route.js.nft.json +1 -0
- package/dist/.next/server/app/api/migrations/sync-files/route_client-reference-manifest.js +1 -0
- package/dist/.next/server/app/api/pull-remote/confirm/route.js +1 -0
- package/dist/.next/server/app/api/pull-remote/confirm/route.js.nft.json +1 -0
- package/dist/.next/server/app/api/pull-remote/confirm/route_client-reference-manifest.js +1 -0
- package/dist/.next/server/app/api/pull-remote/preview/route.js +1 -0
- package/dist/.next/server/app/api/pull-remote/preview/route.js.nft.json +1 -0
- package/dist/.next/server/app/api/pull-remote/preview/route_client-reference-manifest.js +1 -0
- package/dist/.next/server/app/api/push-remote/confirm/route.js +14 -0
- package/dist/.next/server/app/api/push-remote/confirm/route.js.nft.json +1 -0
- package/dist/.next/server/app/api/push-remote/confirm/route_client-reference-manifest.js +1 -0
- package/dist/.next/server/app/api/push-remote/preview/route.js +14 -0
- package/dist/.next/server/app/api/push-remote/preview/route.js.nft.json +1 -0
- package/dist/.next/server/app/api/push-remote/preview/route_client-reference-manifest.js +1 -0
- package/dist/.next/server/app/api/query/route.js +8 -0
- package/dist/.next/server/app/api/query/route.js.nft.json +1 -0
- package/dist/.next/server/app/api/query/route_client-reference-manifest.js +1 -0
- package/dist/.next/server/app/api/tables/[name]/route.js +5 -0
- package/dist/.next/server/app/api/tables/[name]/route.js.nft.json +1 -0
- package/dist/.next/server/app/api/tables/[name]/route_client-reference-manifest.js +1 -0
- package/dist/.next/server/app/api/tables/route.js +7 -0
- package/dist/.next/server/app/api/tables/route.js.nft.json +1 -0
- package/dist/.next/server/app/api/tables/route_client-reference-manifest.js +1 -0
- package/dist/.next/server/app/index.html +3 -0
- package/dist/.next/server/app/index.meta +7 -0
- package/dist/.next/server/app/index.rsc +20 -0
- package/dist/.next/server/app/page.js +58 -0
- package/dist/.next/server/app/page.js.nft.json +1 -0
- package/dist/.next/server/app/page_client-reference-manifest.js +1 -0
- package/dist/.next/server/app-paths-manifest.json +15 -0
- package/dist/.next/server/chunks/336.js +1 -0
- package/dist/.next/server/chunks/627.js +6 -0
- package/dist/.next/server/chunks/638.js +13 -0
- package/dist/.next/server/chunks/801.js +55 -0
- package/dist/.next/server/chunks/973.js +2 -0
- package/dist/.next/server/chunks/992.js +3 -0
- package/dist/.next/server/functions-config-manifest.json +1 -0
- package/dist/.next/server/interception-route-rewrite-manifest.js +1 -0
- package/dist/.next/server/middleware-build-manifest.js +1 -0
- package/dist/.next/server/middleware-manifest.json +6 -0
- package/dist/.next/server/middleware-react-loadable-manifest.js +1 -0
- package/dist/.next/server/next-font-manifest.js +1 -0
- package/dist/.next/server/next-font-manifest.json +1 -0
- package/dist/.next/server/pages/404.html +1 -0
- package/dist/.next/server/pages/500.html +1 -0
- package/dist/.next/server/pages/_app.js +1 -0
- package/dist/.next/server/pages/_app.js.nft.json +1 -0
- package/dist/.next/server/pages/_document.js +1 -0
- package/dist/.next/server/pages/_document.js.nft.json +1 -0
- package/dist/.next/server/pages/_error.js +1 -0
- package/dist/.next/server/pages/_error.js.nft.json +1 -0
- package/dist/.next/server/pages-manifest.json +1 -0
- package/dist/.next/server/server-reference-manifest.js +1 -0
- package/dist/.next/server/server-reference-manifest.json +1 -0
- package/dist/.next/server/webpack-runtime.js +1 -0
- package/dist/.next/static/OmPVuV0d1lrcjSBQzxkdH/_buildManifest.js +1 -0
- package/dist/.next/static/OmPVuV0d1lrcjSBQzxkdH/_ssgManifest.js +1 -0
- package/dist/.next/static/chunks/422-6fa3c14fc64ad67b.js +1 -0
- package/dist/.next/static/chunks/4bd1b696-8c908eb707f85a27.js +1 -0
- package/dist/.next/static/chunks/517-3b698a5d3da06ff7.js +2 -0
- package/dist/.next/static/chunks/692-ede418e1d28a1394.js +1 -0
- package/dist/.next/static/chunks/735-c9144179c6bd7d06.js +1 -0
- package/dist/.next/static/chunks/92-c4466e0f1ca8a3a8.js +1 -0
- package/dist/.next/static/chunks/app/_not-found/page-b786c3dd79ad15a5.js +1 -0
- package/dist/.next/static/chunks/app/api/cloudflare/route-3458d78022185d7f.js +1 -0
- package/dist/.next/static/chunks/app/api/databases/route-64255424877a9f72.js +1 -0
- package/dist/.next/static/chunks/app/api/migrations/sync/route-03766b3afcf043ba.js +1 -0
- package/dist/.next/static/chunks/app/api/migrations/sync-files/route-02fa291c8000dadf.js +1 -0
- package/dist/.next/static/chunks/app/api/pull-remote/confirm/route-7e05bb8920127abe.js +1 -0
- package/dist/.next/static/chunks/app/api/pull-remote/preview/route-0fa15f783e8a306c.js +1 -0
- package/dist/.next/static/chunks/app/api/push-remote/confirm/route-96691f1880e4ed14.js +1 -0
- package/dist/.next/static/chunks/app/api/push-remote/preview/route-a798679c67374552.js +1 -0
- package/dist/.next/static/chunks/app/api/query/route-e90d0030a5083e20.js +1 -0
- package/dist/.next/static/chunks/app/api/tables/[name]/route-1efe63e73b480e58.js +1 -0
- package/dist/.next/static/chunks/app/api/tables/route-3772b4f480c4b4a4.js +1 -0
- package/dist/.next/static/chunks/app/layout-8360fab69b848283.js +1 -0
- package/dist/.next/static/chunks/app/page-75081ac7a88cb706.js +1 -0
- package/dist/.next/static/chunks/framework-d29117d969504448.js +1 -0
- package/dist/.next/static/chunks/main-8d0ab17774ffa031.js +1 -0
- package/dist/.next/static/chunks/main-app-d36cdfb402b40f13.js +1 -0
- package/dist/.next/static/chunks/pages/_app-d23763e3e6c904ff.js +1 -0
- package/dist/.next/static/chunks/pages/_error-9b7125ad1a1e68fa.js +1 -0
- package/dist/.next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
- package/dist/.next/static/chunks/webpack-c76ac1e586b2802a.js +1 -0
- package/dist/.next/static/css/c51a7ef325e30c16.css +3 -0
- package/dist/.next/static/media/569ce4b8f30dc480-s.p.woff2 +0 -0
- package/dist/.next/static/media/747892c23ea88013-s.woff2 +0 -0
- package/dist/.next/static/media/93f479601ee12b01-s.p.woff2 +0 -0
- package/dist/.next/static/media/ba015fad6dcf6784-s.woff2 +0 -0
- package/dist/.next/trace +13 -0
- package/dist/.next/types/app/api/cloudflare/route.ts +347 -0
- package/dist/.next/types/app/api/databases/route.ts +347 -0
- package/dist/.next/types/app/api/migrations/sync/route.ts +347 -0
- package/dist/.next/types/app/api/migrations/sync-files/route.ts +347 -0
- package/dist/.next/types/app/api/pull-remote/confirm/route.ts +347 -0
- package/dist/.next/types/app/api/pull-remote/preview/route.ts +347 -0
- package/dist/.next/types/app/api/push-remote/confirm/route.ts +347 -0
- package/dist/.next/types/app/api/push-remote/preview/route.ts +347 -0
- package/dist/.next/types/app/api/query/route.ts +347 -0
- package/dist/.next/types/app/api/tables/[name]/route.ts +347 -0
- package/dist/.next/types/app/api/tables/route.ts +347 -0
- package/dist/.next/types/app/page.ts +84 -0
- package/dist/.next/types/cache-life.d.ts +141 -0
- package/dist/.next/types/package.json +1 -0
- package/dist/app/api/cloudflare/route.js +146 -0
- package/dist/app/api/databases/route.js +72 -0
- package/dist/app/api/migrations/sync/route.js +172 -0
- package/dist/app/api/migrations/sync-files/route.js +172 -0
- package/dist/app/api/pull-remote/confirm/route.js +277 -0
- package/dist/app/api/pull-remote/preview/route.js +143 -0
- package/dist/app/api/push-remote/confirm/route.js +196 -0
- package/dist/app/api/push-remote/preview/route.js +178 -0
- package/dist/app/api/query/route.js +160 -0
- package/dist/app/api/tables/[name]/route.js +173 -0
- package/dist/app/api/tables/route.js +174 -0
- package/dist/app/app/api/cloudflare/route.js +146 -0
- package/dist/app/app/api/databases/route.js +72 -0
- package/dist/app/app/api/migrations/sync/route.js +172 -0
- package/dist/app/app/api/migrations/sync-files/route.js +172 -0
- package/dist/app/app/api/pull-remote/confirm/route.js +277 -0
- package/dist/app/app/api/pull-remote/preview/route.js +143 -0
- package/dist/app/app/api/push-remote/confirm/route.js +196 -0
- package/dist/app/app/api/push-remote/preview/route.js +178 -0
- package/dist/app/app/api/query/route.js +160 -0
- package/dist/app/app/api/tables/[name]/route.js +173 -0
- package/dist/app/app/api/tables/route.js +174 -0
- package/dist/app/app/globals.css +93 -0
- package/dist/app/app/layout.jsx +35 -0
- package/dist/app/app/page.jsx +37 -0
- package/dist/app/globals.css +93 -0
- package/dist/app/layout.jsx +35 -0
- package/dist/app/page.jsx +37 -0
- package/dist/d1-studio.js +344 -0
- package/dist/lib/database-queue.js +33 -0
- package/dist/lib/error.js +20 -0
- package/dist/lib/find-wrangler-config.js +67 -0
- package/dist/lib/license.js +99 -0
- package/dist/lib/migrations.js +415 -0
- package/dist/lib/parse-sql-error.js +200 -0
- package/dist/lib/request-deduplication.js +24 -0
- package/dist/lib/schema-operations.js +103 -0
- package/dist/lib/sql-error-types.js +14 -0
- package/dist/lib/sql-operations.js +557 -0
- package/dist/lib/utils.js +6 -0
- package/next.config.mjs +18 -0
- package/package.json +97 -0
- package/postcss.config.mjs +8 -0
- package/scripts/studio.js +344 -0
- package/scripts/test.js +168 -0
- package/src/app/api/cloudflare/route.js +146 -0
- package/src/app/api/databases/route.js +72 -0
- package/src/app/api/migrations/sync/route.js +172 -0
- package/src/app/api/migrations/sync-files/route.js +172 -0
- package/src/app/api/pull-remote/confirm/route.js +277 -0
- package/src/app/api/pull-remote/preview/route.js +143 -0
- package/src/app/api/push-remote/confirm/route.js +196 -0
- package/src/app/api/push-remote/preview/route.js +178 -0
- package/src/app/api/query/route.js +160 -0
- package/src/app/api/tables/[name]/route.js +173 -0
- package/src/app/api/tables/route.js +174 -0
- package/src/app/globals.css +93 -0
- package/src/app/layout.jsx +35 -0
- package/src/app/page.jsx +37 -0
- package/src/components/cloudflare-credentials-modal.jsx +94 -0
- package/src/components/column-selector.jsx +133 -0
- package/src/components/column-sorting.jsx +65 -0
- package/src/components/delete-records-dialog.jsx +64 -0
- package/src/components/download-button.jsx +205 -0
- package/src/components/edit-error-alert.jsx +30 -0
- package/src/components/editable-cell.jsx +163 -0
- package/src/components/editable-row.jsx +169 -0
- package/src/components/environment-handler.jsx +278 -0
- package/src/components/environment-select.jsx +59 -0
- package/src/components/pull-preview-toast.jsx +188 -0
- package/src/components/push-error-alert.jsx +72 -0
- package/src/components/push-preview-toast.jsx +183 -0
- package/src/components/query-results.jsx +112 -0
- package/src/components/refresh-button.jsx +61 -0
- package/src/components/resize-columns.jsx +101 -0
- package/src/components/sidebar.jsx +236 -0
- package/src/components/sql-editor.jsx +411 -0
- package/src/components/sql-error-display.jsx +167 -0
- package/src/components/sync-migrations-button.jsx +87 -0
- package/src/components/table-error-dialog.jsx +65 -0
- package/src/components/table-toolbar.jsx +285 -0
- package/src/components/table-view.jsx +843 -0
- package/src/components/ui/alert.jsx +47 -0
- package/src/components/ui/button.jsx +48 -0
- package/src/components/ui/card.jsx +50 -0
- package/src/components/ui/checkbox.jsx +24 -0
- package/src/components/ui/collapsible.jsx +11 -0
- package/src/components/ui/dialog.jsx +96 -0
- package/src/components/ui/dropdown-menu.jsx +158 -0
- package/src/components/ui/input.jsx +19 -0
- package/src/components/ui/scroll-area.jsx +40 -0
- package/src/components/ui/select.jsx +121 -0
- package/src/components/ui/separator.jsx +25 -0
- package/src/components/ui/sheet.jsx +109 -0
- package/src/components/ui/sidebar.jsx +620 -0
- package/src/components/ui/skeleton.jsx +14 -0
- package/src/components/ui/table.jsx +86 -0
- package/src/components/ui/tabs.jsx +43 -0
- package/src/components/ui/toast.jsx +86 -0
- package/src/components/ui/toaster.jsx +35 -0
- package/src/components/ui/tooltip.jsx +28 -0
- package/src/context/database-context.js +510 -0
- package/src/hooks/use-mobile.jsx +19 -0
- package/src/hooks/use-sql-error.ts +23 -0
- package/src/hooks/use-toast.js +155 -0
- package/src/lib/database-queue.js +33 -0
- package/src/lib/error.js +20 -0
- package/src/lib/find-wrangler-config.js +67 -0
- package/src/lib/license.js +99 -0
- package/src/lib/migrations.js +415 -0
- package/src/lib/parse-sql-error.js +200 -0
- package/src/lib/request-deduplication.js +24 -0
- package/src/lib/schema-operations.js +103 -0
- package/src/lib/sql-error-types.js +14 -0
- package/src/lib/sql-operations.js +557 -0
- package/src/lib/utils.js +6 -0
|
@@ -0,0 +1,58 @@
|
|
|
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")},6464:(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)),"/Users/karenredona/Desktop/d1studio/src/app/page.jsx"]}]},{layout:[()=>Promise.resolve().then(r.bind(r,8180)),"/Users/karenredona/Desktop/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=["/Users/karenredona/Desktop/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}})},4791:(e,t,r)=>{Promise.resolve().then(r.bind(r,8868))},2815:(e,t,r)=>{Promise.resolve().then(r.bind(r,7135))},7135:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>st});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(643),A=r(1675),M=r(830),L=r(2828),O="focusScope.autoFocusOnMount",P="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,L.c)(a),f=(0,L.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(O,D);c.addEventListener(O,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(O,u),setTimeout(()=>{let t=new CustomEvent(P,D);c.addEventListener(P,f),c.dispatchEvent(t),t.defaultPrevented||$(e??document.body,{select:!0}),c.removeEventListener(P,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 q=function(){return(q=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 G(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=q({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=G(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=q(q({},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),q(q({},E),{ref:C})):l.createElement(void 0===b?"div":b,q({},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=G(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,q({},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 eL=l.forwardRef(function(e,t){return l.createElement(en,q({},e,{ref:t,sideCar:eM}))});eL.classNames=en.classNames;var eO=new WeakMap,eP=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=(eO.get(e)||0)+1,c=(o.get(e)||0)+1;eO.set(e,s),o.set(e,c),l.push(e),1===s&&a&&eP.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=eO.get(e)-1,a=o.get(e)-1;eO.set(e,t),o.set(e,a),t||(eP.has(e)||e.removeAttribute(n),eP.delete(e)),a||e.removeAttribute(r)}),--e_||(eO=new WeakMap,eO=new WeakMap,eP=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 eq="DialogTrigger";l.forwardRef((e,t)=>{let{__scopeDialog:r,...n}=e,a=eK(eq,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=eq;var eG="DialogPortal",[eX,eY]=eH(eG,{forceMount:void 0}),eQ=e=>{let{__scopeDialog:t,forceMount:r,children:n,container:a}=e,i=eK(eG,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=eG;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)(eL,{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})]})]})}),e6="DialogTitle",e9=l.forwardRef((e,t)=>{let{__scopeDialog:r,...n}=e,a=eK(e6,r);return(0,o.jsx)(M.sG.h2,{id:a.titleId,...n,ref:t})});e9.displayName=e6;var e8="DialogDescription",e7=l.forwardRef((e,t)=>{let{__scopeDialog:r,...n}=e,a=eK(e8,r);return(0,o.jsx)(M.sG.p,{id:a.descriptionId,...n,ref:t})});e7.displayName=e8;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:e6,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
|
+
If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
|
|
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)(tL,{...n,ref:t,forceMount:r}):"scroll"===a.type?(0,o.jsx)(tO,{...n,ref:t,forceMount:r}):"auto"===a.type?(0,o.jsx)(tP,{...n,ref:t,forceMount:r}):"always"===a.type?(0,o.jsx)(tD,{...n,ref:t}):null});tM.displayName=tA;var tL=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)(tP,{"data-state":i?"visible":"hidden",...n,ref:t})})}),tO=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"))})})}),tP=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=tG(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:tq(s.paddingLeft),paddingEnd:tq(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:tq(s.paddingTop),paddingEnd:tq(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,L.c)(f),S=(0,L.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,L.c)(i),onThumbPointerUp:(0,L.c)(s),onThumbPositionChange:S,onThumbPointerDown:(0,L.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 tq(e){return e?parseInt(e,10):0}function tG(e,t){let r=e/t;return isNaN(r)?0:r}function tX(e){let t=tG(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,L.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,L.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 t6=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}));t6.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 t8=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}));t8.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)(t6,{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)(t6,{children:[(0,o.jsx)(t8,{className:"font-mono text-xs",children:e.name}),(0,o.jsx)(t8,{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=(0,c.A)("FileText",[["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 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]),rt=function({preview:e=[],onConfirm:t,onCancel:r,isConfirming:n,error:a,isLoading:i}){console.log("PullPreviewToast rendered with:",{previewLength:e.length,isConfirming:n,error:a,isLoading:i});let[s,c]=(0,l.useState)(!1);if(i)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.jsxs)("div",{className:"flex items-center gap-2",children:[(0,o.jsx)(re,{className:"h-5 w-5 text-destructive"}),(0,o.jsx)("p",{className:"text-sm font-medium text-destructive",children:"No preview data available"})]})})});let d=e.filter(e=>(e.migration||e.name||"").endsWith(".sql")),u=d.length;return console.log("Migration stats:",{totalMigrations:u}),(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.jsx)("div",{className:"flex items-start gap-3",children:(0,o.jsxs)("div",{className:"flex-1 space-y-3",children:[(0,o.jsxs)("div",{className:"space-y-1",children:[(0,o.jsx)("h5",{className:(0,h.cn)("font-medium",a?"text-destructive":"text-neutral-900"),children:a?"Pull Migration Error":"Pull Migration Preview"}),(0,o.jsx)("p",{className:(0,h.cn)("text-sm",a?"text-destructive/80":"text-neutral-700"),children:a?a.message:`${u} migration(s) will be applied`})]}),(0,o.jsxs)("div",{children:[(0,o.jsx)("button",{onClick:()=>c(!s),className:"text-sm font-medium hover:underline",children:s?"Hide Details":"Show Details"}),s&&(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)(t6,{children:[(0,o.jsx)(t9,{className:"w-[30px]"}),(0,o.jsx)(t9,{className:"pl-0",children:"Migration"})]})}),(0,o.jsx)(t3,{children:d.map((e,t)=>(0,o.jsxs)(t6,{children:[(0,o.jsx)(t8,{className:"w-[30px] pr-1 pl-2",children:(0,o.jsx)(re,{className:"h-4 w-4"})}),(0,o.jsx)(t8,{className:"font-mono text-xs pr-5 pl-0.5",children:e.migration||e.name})]},t))})]})})]}),(0,o.jsxs)("div",{className:"flex gap-2 pt-1",children:[(0,o.jsx)(tg,{onClick:t,disabled:n,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 Pull"}),(0,o.jsx)(tg,{variant:"outline",onClick:r,disabled:n,className:"flex-1",children:"Cancel"})]})]})})})})};var rr=r(5740),rn=r(9217);let ra=["top","right","bottom","left"],ro=Math.min,rl=Math.max,ri=Math.round,rs=Math.floor,rc=e=>({x:e,y:e}),rd={left:"right",right:"left",bottom:"top",top:"bottom"},ru={start:"end",end:"start"};function rf(e,t){return"function"==typeof e?e(t):e}function rp(e){return e.split("-")[0]}function rm(e){return e.split("-")[1]}function rh(e){return"x"===e?"y":"x"}function rg(e){return"y"===e?"height":"width"}function rx(e){return["top","bottom"].includes(rp(e))?"y":"x"}function rv(e){return e.replace(/start|end/g,e=>ru[e])}function ry(e){return e.replace(/left|right|bottom|top/g,e=>rd[e])}function rw(e){return"number"!=typeof e?{top:0,right:0,bottom:0,left:0,...e}:{top:e,right:e,bottom:e,left:e}}function rb(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 rj(e,t,r){let n,{reference:a,floating:o}=e,l=rx(t),i=rh(rx(t)),s=rg(i),c=rp(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(rm(t)){case"start":n[i]-=p*(r&&d?-1:1);break;case"end":n[i]+=p*(r&&d?-1:1)}return n}let rN=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}=rj(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}=rj(c,f,s)),r=-1)}return{x:d,y:u,placement:f,strategy:a,middlewareData:p}};async function rC(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}=rf(t,e),m=rw(p),h=i[f?"floating"===u?"reference":"floating":u],g=rb(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=rb(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 rE(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function rS(e){return ra.some(t=>e[t]>=0)}async function rR(e,t){let{placement:r,platform:n,elements:a}=e,o=await (null==n.isRTL?void 0:n.isRTL(a.floating)),l=rp(r),i=rm(r),s="y"===rx(r),c=["left","top"].includes(l)?-1:1,d=o&&s?-1:1,u=rf(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 rk(){return"undefined"!=typeof window}function rT(e){return rL(e)?(e.nodeName||"").toLowerCase():"#document"}function rA(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function rM(e){var t;return null==(t=(rL(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function rL(e){return!!rk()&&(e instanceof Node||e instanceof rA(e).Node)}function rO(e){return!!rk()&&(e instanceof Element||e instanceof rA(e).Element)}function rP(e){return!!rk()&&(e instanceof HTMLElement||e instanceof rA(e).HTMLElement)}function rD(e){return!!rk()&&"undefined"!=typeof ShadowRoot&&(e instanceof ShadowRoot||e instanceof rA(e).ShadowRoot)}function r_(e){let{overflow:t,overflowX:r,overflowY:n,display:a}=rU(e);return/auto|scroll|overlay|hidden|clip/.test(t+n+r)&&!["inline","contents"].includes(a)}function rI(e){return[":popover-open",":modal"].some(t=>{try{return e.matches(t)}catch(e){return!1}})}function rF(e){let t=r$(),r=rO(e)?rU(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 r$(){return"undefined"!=typeof CSS&&!!CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")}function rz(e){return["html","body","#document"].includes(rT(e))}function rU(e){return rA(e).getComputedStyle(e)}function rH(e){return rO(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function rV(e){if("html"===rT(e))return e;let t=e.assignedSlot||e.parentNode||rD(e)&&e.host||rM(e);return rD(t)?t.host:t}function rW(e,t,r){var n;void 0===t&&(t=[]),void 0===r&&(r=!0);let a=function e(t){let r=rV(t);return rz(r)?t.ownerDocument?t.ownerDocument.body:t.body:rP(r)&&r_(r)?r:e(r)}(e),o=a===(null==(n=e.ownerDocument)?void 0:n.body),l=rA(a);if(o){let e=rK(l);return t.concat(l,l.visualViewport||[],r_(a)?a:[],e&&r?rW(e):[])}return t.concat(a,rW(a,[],r))}function rK(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function rB(e){let t=rU(e),r=parseFloat(t.width)||0,n=parseFloat(t.height)||0,a=rP(e),o=a?e.offsetWidth:r,l=a?e.offsetHeight:n,i=ri(r)!==o||ri(n)!==l;return i&&(r=o,n=l),{width:r,height:n,$:i}}function rq(e){return rO(e)?e:e.contextElement}function rG(e){let t=rq(e);if(!rP(t))return rc(1);let r=t.getBoundingClientRect(),{width:n,height:a,$:o}=rB(t),l=(o?ri(r.width):r.width)/n,i=(o?ri(r.height):r.height)/a;return l&&Number.isFinite(l)||(l=1),i&&Number.isFinite(i)||(i=1),{x:l,y:i}}let rX=rc(0);function rY(e){let t=rA(e);return r$()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:rX}function rQ(e,t,r,n){var a;void 0===t&&(t=!1),void 0===r&&(r=!1);let o=e.getBoundingClientRect(),l=rq(e),i=rc(1);t&&(n?rO(n)&&(i=rG(n)):i=rG(e));let s=(void 0===(a=r)&&(a=!1),n&&(!a||n===rA(l))&&a)?rY(l):rc(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=rA(l),t=n&&rO(n)?rA(n):n,r=e,a=rK(r);for(;a&&n&&t!==r;){let e=rG(a),t=a.getBoundingClientRect(),n=rU(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=rK(r=rA(a))}}return rb({width:u,height:f,x:c,y:d})}function rJ(e,t){let r=rH(e).scrollLeft;return t?t.left+r:rQ(rM(e)).left+r}function rZ(e,t,r){void 0===r&&(r=!1);let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-(r?0:rJ(e,n)),y:n.top+t.scrollTop}}function r0(e,t,r){let n;if("viewport"===t)n=function(e,t){let r=rA(e),n=rM(e),a=r.visualViewport,o=n.clientWidth,l=n.clientHeight,i=0,s=0;if(a){o=a.width,l=a.height;let e=r$();(!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=rM(e),r=rH(e),n=e.ownerDocument.body,a=rl(t.scrollWidth,t.clientWidth,n.scrollWidth,n.clientWidth),o=rl(t.scrollHeight,t.clientHeight,n.scrollHeight,n.clientHeight),l=-r.scrollLeft+rJ(e),i=-r.scrollTop;return"rtl"===rU(n).direction&&(l+=rl(t.clientWidth,n.clientWidth)-a),{width:a,height:o,x:l,y:i}}(rM(e));else if(rO(t))n=function(e,t){let r=rQ(e,!0,"fixed"===t),n=r.top+e.clientTop,a=r.left+e.clientLeft,o=rP(e)?rG(e):rc(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=rY(e);n={x:t.x-r.x,y:t.y-r.y,width:t.width,height:t.height}}return rb(n)}function r1(e){return"static"===rU(e).position}function r2(e,t){if(!rP(e)||"fixed"===rU(e).position)return null;if(t)return t(e);let r=e.offsetParent;return rM(e)===r&&(r=r.ownerDocument.body),r}function r4(e,t){let r=rA(e);if(rI(e))return r;if(!rP(e)){let t=rV(e);for(;t&&!rz(t);){if(rO(t)&&!r1(t))return t;t=rV(t)}return r}let n=r2(e,t);for(;n&&["table","td","th"].includes(rT(n))&&r1(n);)n=r2(n,t);return n&&rz(n)&&r1(n)&&!rF(n)?r:n||function(e){let t=rV(e);for(;rP(t)&&!rz(t);){if(rF(t))return t;if(rI(t))break;t=rV(t)}return null}(e)||r}let r5=async function(e){let t=this.getOffsetParent||r4,r=this.getDimensions,n=await r(e.floating);return{reference:function(e,t,r){let n=rP(t),a=rM(t),o="fixed"===r,l=rQ(e,!0,o,t),i={scrollLeft:0,scrollTop:0},s=rc(0);if(n||!n&&!o){if(("body"!==rT(t)||r_(a))&&(i=rH(t)),n){let e=rQ(t,!0,o,t);s.x=e.x+t.clientLeft,s.y=e.y+t.clientTop}else a&&(s.x=rJ(a))}let c=!a||n||o?rc(0):rZ(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}}},r3={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:r,offsetParent:n,strategy:a}=e,o="fixed"===a,l=rM(n),i=!!t&&rI(t.floating);if(n===l||i&&o)return r;let s={scrollLeft:0,scrollTop:0},c=rc(1),d=rc(0),u=rP(n);if((u||!u&&!o)&&(("body"!==rT(n)||r_(l))&&(s=rH(n)),rP(n))){let e=rQ(n);c=rG(n),d.x=e.x+n.clientLeft,d.y=e.y+n.clientTop}let f=!l||u||o?rc(0):rZ(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:rM,getClippingRect:function(e){let{element:t,boundary:r,rootBoundary:n,strategy:a}=e,o=[..."clippingAncestors"===r?rI(t)?[]:function(e,t){let r=t.get(e);if(r)return r;let n=rW(e,[],!1).filter(e=>rO(e)&&"body"!==rT(e)),a=null,o="fixed"===rU(e).position,l=o?rV(e):e;for(;rO(l)&&!rz(l);){let t=rU(l),r=rF(l);r||"fixed"!==t.position||(a=null),(o?!r&&!a:!r&&"static"===t.position&&!!a&&["absolute","fixed"].includes(a.position)||r_(l)&&!r&&function e(t,r){let n=rV(t);return!(n===r||!rO(n)||rz(n))&&("fixed"===rU(n).position||e(n,r))}(e,l))?n=n.filter(e=>e!==l):a=t,l=rV(l)}return t.set(e,n),n}(t,this._c):[].concat(r),n],l=o[0],i=o.reduce((e,r)=>{let n=r0(t,r,a);return e.top=rl(n.top,e.top),e.right=ro(n.right,e.right),e.bottom=ro(n.bottom,e.bottom),e.left=rl(n.left,e.left),e},r0(t,l,a));return{width:i.right-i.left,height:i.bottom-i.top,x:i.left,y:i.top}},getOffsetParent:r4,getElementRects:r5,getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){let{width:t,height:r}=rB(e);return{width:t,height:r}},getScale:rG,isElement:rO,isRTL:function(e){return"rtl"===rU(e).direction}};function r6(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}let r9=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}=rf(e,t)||{};if(null==c)return{};let u=rw(d),f={x:r,y:n},p=rh(rx(a)),m=rg(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=ro(u[g?"top":"left"],j),C=ro(u[g?"bottom":"right"],j),E=b-h[m]-C,S=b/2-h[m]/2+(v/2-y/2),R=rl(N,ro(S,E)),k=!s.arrow&&null!=rm(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}}}),r8=(e,t,r)=>{let n=new Map,a={platform:r3,...r},o={...a.platform,_c:n};return rN(e,t,{...a,platform:o})};var r7="undefined"!=typeof document?l.useLayoutEffect:l.useEffect;function ne(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(!ne(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)&&!ne(e[r],t[r]))return!1}return!0}return e!=e&&t!=t}function nt(e){return"undefined"==typeof window?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function nr(e,t){let r=nt(e);return Math.round(t*r)/r}function nn(e){let t=l.useRef(e);return r7(()=>{t.current=e}),t}let na=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?r9({element:r.current,padding:n}).fn(t):{}:r?r9({element:r,padding:n}).fn(t):{}}}),no=(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 rR(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]}),nl=(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}=rf(e,t),c={x:r,y:n},d=await rC(t,s),u=rx(rp(a)),f=rh(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=rl(r,ro(p,n))}if(l){let e="y"===u?"top":"left",t="y"===u?"bottom":"right",r=m+d[e],n=m-d[t];m=rl(r,ro(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]}),ni=(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}=rf(e,t),d={x:r,y:n},u=rx(a),f=rh(u),p=d[f],m=d[u],h=rf(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(rp(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]}),ns=(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}=rf(e,t);if(null!=(r=s.arrow)&&r.alignmentOffset)return{};let w=rp(i),b=rx(d),j=rp(d)===d,N=await (null==u.isRTL?void 0:u.isRTL(f.floating)),C=h||(j||!v?[ry(d)]:function(e){let t=ry(e);return[rv(e),t,rv(t)]}(d)),E="none"!==x;!h&&E&&C.push(...function(e,t,r,n){let a=rm(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[]}}(rp(e),"start"===r,n);return a&&(o=o.map(e=>e+"-"+a),t&&(o=o.concat(o.map(rv)))),o}(d,v,x,N));let S=[d,...C],R=await rC(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=rm(e),a=rh(rx(e)),o=rg(a),l="x"===a?n===(r?"end":"start")?"right":"left":"start"===n?"bottom":"top";return t.reference[o]>t.floating[o]&&(l=ry(l)),[l,ry(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=rx(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]}),nc=(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}=rf(e,t),f=await rC(t,u),p=rp(l),m=rm(l),h="y"===rx(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=ro(x-f[a],v),b=ro(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=rl(f.left,0),t=rl(f.right,0),r=rl(f.top,0),n=rl(f.bottom,0);h?C=g-2*(0!==e||0!==t?e+t:rl(f.left,f.right)):N=x-2*(0!==r||0!==n?r+n:rl(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]}),nd=(e,t)=>({...function(e){return void 0===e&&(e={}),{name:"hide",options:e,async fn(t){let{rects:r}=t,{strategy:n="referenceHidden",...a}=rf(e,t);switch(n){case"referenceHidden":{let e=rE(await rC(t,{...a,elementContext:"reference"}),r.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:rS(e)}}}case"escaped":{let e=rE(await rC(t,{...a,altBoundary:!0}),r.floating);return{data:{escapedOffsets:e,escaped:rS(e)}}}default:return{}}}}}(e),options:[e,t]}),nu=(e,t)=>({...na(e),options:[e,t]});var nf=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 np(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}nf.displayName="Arrow";var nm="Popper",[nh,ng]=(0,C.A)(nm),[nx,nv]=nh(nm),ny=e=>{let{__scopePopper:t,children:r}=e,[n,a]=l.useState(null);return(0,o.jsx)(nx,{scope:t,anchor:n,onAnchorChange:a,children:r})};ny.displayName=nm;var nw="PopperAnchor",nb=l.forwardRef((e,t)=>{let{__scopePopper:r,virtualRef:n,...a}=e,i=nv(nw,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})});nb.displayName=nw;var nj="PopperContent",[nN,nC]=nh(nj),nE=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=nv(nj,r),[y,w]=l.useState(null),b=(0,N.s)(t,e=>w(e)),[j,C]=l.useState(null),S=np(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],O=A.length>0,P={padding:T,boundary:A.filter(nT),altBoundary:O},{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);ne(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=nn(c),k=nn(a),T=nn(d),A=l.useCallback(()=>{if(!N.current||!C.current)return;let e={placement:t,strategy:r,middleware:p};k.current&&(e.platform=k.current),r8(N.current,C.current,e).then(e=>{let t={...e,isPositioned:!1!==T.current};M.current&&!ne(E.current,t)&&(E.current=t,rr.flushSync(()=>{f(t)}))})},[p,t,r,k,T]);r7(()=>{!1===d&&E.current.isPositioned&&(E.current.isPositioned=!1,f(e=>({...e,isPositioned:!1})))},[d]);let M=l.useRef(!1);r7(()=>(M.current=!0,()=>{M.current=!1}),[]),r7(()=>{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 L=l.useMemo(()=>({reference:N,floating:C,setReference:y,setFloating:w}),[y,w]),O=l.useMemo(()=>({reference:b,floating:j}),[b,j]),P=l.useMemo(()=>{let e={position:r,left:0,top:0};if(!O.floating)return e;let t=nr(O.floating,u.x),n=nr(O.floating,u.y);return s?{...e,transform:"translate("+t+"px, "+n+"px)",...nt(O.floating)>=1.5&&{willChange:"transform"}}:{position:r,left:t,top:n}},[r,s,O.floating,u.x,u.y]);return l.useMemo(()=>({...u,update:A,refs:L,elements:O,floatingStyles:P}),[u,A,L,O,P])}({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=rq(e),u=o||l?[...d?rW(d):[],...rW(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=rM(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=rs(u),h=rs(a.clientWidth-(d+f)),g={rootMargin:-m+"px "+-h+"px "+-rs(a.clientHeight-(u+p))+"px "+-rs(d)+"px",threshold:rl(0,ro(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||r6(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?rQ(e):null;return c&&function t(){let n=rQ(e);h&&!r6(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:[no({mainAxis:a+k,alignmentAxis:s}),d&&nl({mainAxis:!0,crossAxis:!1,limiter:"partial"===p?ni():void 0,...P}),d&&ns({...P}),nc({...P,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&&nu({element:j,padding:c}),nA({arrowWidth:R,arrowHeight:k}),m&&nd({strategy:"referenceHidden",...P})]}),[z,U]=nM(I),H=(0,L.c)(g);(0,E.N)(()=>{F&&H?.()},[F,H]);let V=$.arrow?.x,W=$.arrow?.y,K=$.arrow?.centerOffset!==0,[B,q]=l.useState();return(0,E.N)(()=>{y&&q(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)(nN,{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"}})})})});nE.displayName=nj;var nS="PopperArrow",nR={top:"bottom",right:"left",bottom:"top",left:"right"},nk=l.forwardRef(function(e,t){let{__scopePopper:r,...n}=e,a=nC(nS,r),l=nR[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)(nf,{...n,ref:t,style:{...n.style,display:"block"}})})});function nT(e){return null!==e}nk.displayName=nS;var nA=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]=nM(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 nM(e){let[t,r="center"]=e.split("-");return[t,r]}function nL(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 nO=r(6441),nP=[" ","Enter","ArrowUp","ArrowDown"],nD=[" ","Enter"],n_="Select",[nI,nF,n$]=(0,rn.N)(n_),[nz,nU]=(0,C.A)(n_,[n$,ng]),nH=ng(),[nV,nW]=nz(n_),[nK,nB]=nz(n_),nq=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=nH(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),L=!v||g||!!v.closest("form"),[O,P]=l.useState(new Set),D=Array.from(O).map(e=>e.props.value).join(";");return(0,o.jsx)(ny,{...x,children:(0,o.jsxs)(nV,{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)(nI.Provider,{scope:t,children:(0,o.jsx)(nK,{scope:e.__scopeSelect,onNativeOptionAdd:l.useCallback(e=>{P(t=>new Set(t).add(e))},[]),onNativeOptionRemove:l.useCallback(e=>{P(t=>{let r=new Set(t);return r.delete(e),r})},[]),children:r})}),L?(0,o.jsxs)(aj,{"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(O)]},D):null]})})};nq.displayName=n_;var nG="SelectTrigger",nX=l.forwardRef((e,t)=>{let{__scopeSelect:r,disabled:n=!1,...a}=e,i=nH(r),s=nW(nG,r),c=s.disabled||n,d=(0,N.s)(t,s.onTriggerChange),u=nF(r),f=l.useRef("touch"),[p,m,h]=aN(e=>{let t=u().filter(e=>!e.disabled),r=t.find(e=>e.value===s.value),n=aC(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)(nb,{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":ab(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)&&nP.includes(e.key)&&(g(),e.preventDefault())})})})});nX.displayName=nG;var nY="SelectValue",nQ=l.forwardRef((e,t)=>{let{__scopeSelect:r,className:n,style:a,children:l,placeholder:i="",...s}=e,c=nW(nY,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:ab(c.value)?(0,o.jsx)(o.Fragment,{children:i}):l})});nQ.displayName=nY;var nJ=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||"▼"})});nJ.displayName="SelectIcon";var nZ=e=>(0,o.jsx)(H.Z,{asChild:!0,...e});nZ.displayName="SelectPortal";var n0="SelectContent",n1=l.forwardRef((e,t)=>{let r=nW(n0,e.__scopeSelect),[n,a]=l.useState();return((0,E.N)(()=>{a(new DocumentFragment)},[]),r.open)?(0,o.jsx)(n5,{...e,ref:t}):n?rr.createPortal((0,o.jsx)(n2,{scope:e.__scopeSelect,children:(0,o.jsx)(nI.Slot,{scope:e.__scopeSelect,children:(0,o.jsx)("div",{children:e.children})})}),n):null});n1.displayName=n0;var[n2,n4]=nz(n0),n5=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=nW(n0,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,L]=l.useState(null),O=nF(r),[P,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]=O().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},[O,E]),$=l.useCallback(()=>F([k,b]),[F,k,b]);l.useEffect(()=>{P&&$()},[P,$]);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]=aN(e=>{let t=O().filter(e=>!e.disabled),r=t.find(e=>e.ref.current===document.activeElement),n=aC(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]),q=l.useCallback((e,t,r)=>{let n=!I.current&&!r;(void 0!==w.value&&w.value===t||n)&&L(e)},[w.value]),G="popper"===n?n6:n3,X=G===n6?{side:c,sideOffset:d,align:u,alignOffset:f,arrowPadding:p,collisionBoundary:m,collisionPadding:h,sticky:g,hideWhenDetached:x,avoidCollisions:v}:{};return(0,o.jsx)(n2,{scope:r,content:b,viewport:E,onViewportChange:S,itemRefCallback:W,selectedItem:k,onItemLeave:B,itemTextRefCallback:q,focusSelectedItem:$,selectedItemText:M,position:n,isPositioned:P,searchRef:H,children:(0,o.jsx)(eL,{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)(G,{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=O().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()}})})})})})})});n5.displayName="SelectContentImpl";var n3=l.forwardRef((e,t)=>{let{__scopeSelect:r,onPlaced:n,...a}=e,i=nW(n0,r),s=n4(n0,r),[c,d]=l.useState(null),[u,f]=l.useState(null),p=(0,N.s)(t,e=>f(e)),m=nF(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)(n9,{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}})})})});n3.displayName="SelectItemAlignedPosition";var n6=l.forwardRef((e,t)=>{let{__scopeSelect:r,align:n="start",collisionPadding:a=10,...l}=e,i=nH(r);return(0,o.jsx)(nE,{...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)"}})});n6.displayName="SelectPopperPosition";var[n9,n8]=nz(n0,{}),n7="SelectViewport",ae=l.forwardRef((e,t)=>{let{__scopeSelect:r,nonce:n,...a}=e,i=n4(n7,r),s=n8(n7,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)(nI.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})})})]})});ae.displayName=n7;var at="SelectGroup",[ar,an]=nz(at);l.forwardRef((e,t)=>{let{__scopeSelect:r,...n}=e,a=k();return(0,o.jsx)(ar,{scope:r,id:a,children:(0,o.jsx)(M.sG.div,{role:"group","aria-labelledby":a,...n,ref:t})})}).displayName=at;var aa="SelectLabel",ao=l.forwardRef((e,t)=>{let{__scopeSelect:r,...n}=e,a=an(aa,r);return(0,o.jsx)(M.sG.div,{id:a.id,...n,ref:t})});ao.displayName=aa;var al="SelectItem",[ai,as]=nz(al),ac=l.forwardRef((e,t)=>{let{__scopeSelect:r,value:n,disabled:a=!1,textValue:i,...s}=e,c=nW(al,r),d=n4(al,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)(ai,{scope:r,value:n,disabled:a,textId:x,isSelected:u,onItemTextChange:l.useCallback(e=>{p(t=>t||(e?.textContent??"").trim())},[]),children:(0,o.jsx)(nI.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||(nD.includes(e.key)&&y()," "===e.key&&e.preventDefault())})})})})});ac.displayName=al;var ad="SelectItemText",au=l.forwardRef((e,t)=>{let{__scopeSelect:r,className:n,style:a,...i}=e,s=nW(ad,r),c=n4(ad,r),d=as(ad,r),u=nB(ad,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?rr.createPortal(i.children,s.valueNode):null]})});au.displayName=ad;var af="SelectItemIndicator",ap=l.forwardRef((e,t)=>{let{__scopeSelect:r,...n}=e;return as(af,r).isSelected?(0,o.jsx)(M.sG.span,{"aria-hidden":!0,...n,ref:t}):null});ap.displayName=af;var am="SelectScrollUpButton",ah=l.forwardRef((e,t)=>{let r=n4(am,e.__scopeSelect),n=n8(am,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)(av,{...e,ref:s,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=r;e&&t&&(e.scrollTop=e.scrollTop-t.offsetHeight)}}):null});ah.displayName=am;var ag="SelectScrollDownButton",ax=l.forwardRef((e,t)=>{let r=n4(ag,e.__scopeSelect),n=n8(ag,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)(av,{...e,ref:s,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=r;e&&t&&(e.scrollTop=e.scrollTop+t.offsetHeight)}}):null});ax.displayName=ag;var av=l.forwardRef((e,t)=>{let{__scopeSelect:r,onAutoScroll:n,...a}=e,i=n4("SelectScrollButton",r),s=l.useRef(null),c=nF(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()})})}),ay=l.forwardRef((e,t)=>{let{__scopeSelect:r,...n}=e;return(0,o.jsx)(M.sG.div,{"aria-hidden":!0,...n,ref:t})});ay.displayName="SelectSeparator";var aw="SelectArrow";function ab(e){return""===e||void 0===e}l.forwardRef((e,t)=>{let{__scopeSelect:r,...n}=e,a=nH(r),l=nW(aw,r),i=n4(aw,r);return l.open&&"popper"===i.position?(0,o.jsx)(nk,{...a,...n,ref:t}):null}).displayName=aw;var aj=l.forwardRef((e,t)=>{let{value:r,...n}=e,a=l.useRef(null),i=(0,N.s)(t,a),s=nL(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)(nO.s,{asChild:!0,children:(0,o.jsx)("select",{...n,ref:i,defaultValue:r})})});function aN(e){let t=(0,L.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 aC(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}aj.displayName="BubbleSelect";let aE=(0,c.A)("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]),aS=(0,c.A)("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]),aR=(0,c.A)("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]),ak=l.forwardRef(({className:e,children:t,...r},n)=>(0,o.jsxs)(nX,{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)(nJ,{asChild:!0,children:(0,o.jsx)(aE,{className:"h-4 w-4 opacity-50"})})]}));ak.displayName=nX.displayName;let aT=l.forwardRef(({className:e,...t},r)=>(0,o.jsx)(ah,{ref:r,className:(0,h.cn)("flex cursor-default items-center justify-center py-1",e),...t,children:(0,o.jsx)(aS,{className:"h-4 w-4"})}));aT.displayName=ah.displayName;let aA=l.forwardRef(({className:e,...t},r)=>(0,o.jsx)(ax,{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"})}));aA.displayName=ax.displayName;let aM=l.forwardRef(({className:e,children:t,position:r="popper",...n},a)=>(0,o.jsx)(nZ,{children:(0,o.jsxs)(n1,{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)(aT,{}),(0,o.jsx)(ae,{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)(aA,{})]})}));aM.displayName=n1.displayName,l.forwardRef(({className:e,...t},r)=>(0,o.jsx)(ao,{ref:r,className:(0,h.cn)("px-2 py-1.5 text-sm font-semibold",e),...t})).displayName=ao.displayName;let aL=l.forwardRef(({className:e,children:t,...r},n)=>(0,o.jsxs)(ac,{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)(ap,{children:(0,o.jsx)(aR,{className:"h-4 w-4"})})}),(0,o.jsx)(au,{children:t})]}));aL.displayName=ac.displayName,l.forwardRef(({className:e,...t},r)=>(0,o.jsx)(ay,{ref:r,className:(0,h.cn)("-mx-1 my-1 h-px bg-muted",e),...t})).displayName=ay.displayName;let aO=(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"}]]),aP=(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"}]]),aD=(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 a_({value:e,onValueChange:t,isLoading:r,disabled:n,showPreview:a}){return(0,o.jsxs)(nq,{value:e,onValueChange:t,disabled:n||r||a,children:[(0,o.jsx)(ak,{className:"w-[104px] 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...":"Pushing..."})]}):(0,o.jsx)(nQ,{placeholder:"Environment"})})}),(0,o.jsxs)(aM,{children:[(0,o.jsx)(aL,{value:"local",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:"Local"})]})}),(0,o.jsx)(aL,{value:"pull",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:"Pull remote"})]})}),(0,o.jsx)(aL,{value:"production",children:(0,o.jsxs)("div",{className:"flex items-center gap-2",children:[(0,o.jsx)(aD,{className:"h-4 w-4"}),(0,o.jsx)("span",{children:"Push remote"})]})})]})]})}function aI({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:L,showPreview:O,connectToCloudflare:P,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)(null),[d,u]=(0,l.useState)(null),[f,p]=(0,l.useState)(null),[m,h]=(0,l.useState)(null),{toast:g}=(0,tv.dj)(),{refreshTables:x}=(0,b.t)(),v=()=>{i(!1),c(null),u(null),p(null),h(null)},y=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}},w=async()=>{try{p("push"),i(!0),n(!0),u(null),h(null),c({preview:[]});let e=await y();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");c(r.details.details)}catch(e){console.error("Push to remote preview failed:",e),u(e),g({title:"Preview Failed",description:e.message||"Failed to generate preview",variant:"destructive"})}finally{n(!1)}},j=async()=>{try{n(!0),u(null),h(null);let e=await y();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");c(e=>({...e,preview:e.preview.map(e=>({...e,action:"will be applied"===e.action?"applied":e.action}))})),h(`Applied ${r.details.applied} migration(s), skipped ${r.details.skipped}.`)}catch(e){console.error("Push to remote confirm failed:",e),u(e)}finally{n(!1)}},N=async()=>{try{p("pull"),i(!0),n(!0),u(null),h(null),c({preview:[]});let e=await y();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");c(r.details)}catch(e){console.error("Pull to remote preview failed:",e),u(e),g({title:"Preview Failed",description:e.message||"Failed to generate pull preview",variant:"destructive"})}finally{n(!1)}},C=async()=>{try{n(!0),u(null);let e=await y();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");v(),g({title:"Migration Success",description:"Pull migrations applied successfully."}),await x()}catch(e){console.error("Pull to remote confirm failed:",e),u(e),g({title:"Migration Failed",description:e.message||"Failed to pull migrations from remote",variant:"destructive"})}finally{n(!1)}};async function E(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})),g({title:"Connected to Cloudflare",description:`Connected to database: ${n.database.name}`,variant:"default"})}catch(e){throw g({title:"Connection Failed",description:e.message||"Failed to connect to Cloudflare",variant:"destructive"}),e}finally{t(!1)}}let S=a&&("pull"===f?(0,o.jsx)(rt,{preview:s?.preview||[],onConfirm:C,onCancel:v,isConfirming:r,error:d,isLoading:r&&!s?.preview?.length}):(0,o.jsx)(t7,{preview:s?.preview||[],onConfirm:j,onCancel:v,isConfirming:r,error:d,success:m,isLoading:r&&!s?.preview?.length}));return{isConnecting:e,isPushing:r,showPreview:a,previewError:d,pushToRemote:w,pullToRemotePreview:N,confirmPull:C,connectToCloudflare:E,validateStoredCredentials:y,PreviewUI:S}}(),z=a?.filter(e=>e.toLowerCase().includes(v.toLowerCase()))||[],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} bg-neutral-50 p-4`,children:[(0,o.jsxs)("div",{className:"font-sans",children:[(0,o.jsxs)("div",{className:"flex items-center gap-2 mb-6",children:[(0,o.jsx)(d,{className:"h-5 w-5"}),(0,o.jsx)("span",{className:"font-mono font-bold text-sm",children:"d1-studio"})]}),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:"flex items-center justify-between mb-6",children:[(0,o.jsxs)("div",{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)(a_,{value:N,onValueChange:H,isLoading:L,disabled:M,showPreview:O})]}),(0,o.jsx)("div",{className:"mb-6",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-6 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",{children:[(0,o.jsxs)("div",{className:"flex items-center justify-between mb-1",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.jsxs)("div",{className:"space-y-1 font-sans",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:P})]}),$]})}function aF(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 a$(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 az(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a$(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)):a$(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function aU(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 aH(e){return({}).toString.call(e).includes("Object")}function aV(e){return"function"==typeof e}var aW=aU(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"}),aK={changes:function(e,t){return aH(t)||aW("changeType"),Object.keys(t).some(function(t){return!Object.prototype.hasOwnProperty.call(e,t)})&&aW("changeField"),t},selector:function(e){aV(e)||aW("selectorType")},handler:function(e){aV(e)||aH(e)||aW("handlerType"),aH(e)&&Object.values(e).some(function(e){return!aV(e)})&&aW("handlersType")},initial:function(e){e||aW("initialIsRequired"),aH(e)||aW("initialType"),Object.keys(e).length||aW("initialContent")}};function aB(e,t){return aV(t)?t(e.current):t}function aq(e,t){return e.current=az(az({},e.current),t),t}function aG(e,t,r){return aV(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 aX=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 aY={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(aY):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,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 aF(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 aF(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]:{};aK.initial(e),aK.handler(t);var r={current:e},n=aU(aG)(r,t),a=aU(aq)(r),o=aU(aK.changes)(e),l=aU(aB)(r);return[function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(e){return e};return aK.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),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 a4(){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){a5(t),e.resolve(t)},function(t){e.reject(t)})}function a5(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 a5(window.monaco),e.resolve(window.monaco),aQ(a3);aX(a1,a2)(a4)}return aQ(a3)}};var a9={wrapper:{display:"flex",position:"relative",textAlign:"initial"},fullWidth:{width:"100%"},hide:{display:"none"}},a8={container:{display:"flex",height:"100%",width:"100%",justifyContent:"center",alignItems:"center"}},a7=function({children:e}){return l.createElement("div",{style:a8.container},e)},oe=(0,l.memo)(function({width:e,height:t,isEditorReady:r,loading:n,_ref:a,className:o,wrapperProps:i}){return l.createElement("section",{style:{...a9.wrapper,width:e,height:t},...i},!r&&l.createElement(a7,null,n),l.createElement("div",{ref:a,style:{...a9.fullWidth,...!r&&a9.hide},className:o}))}),ot=function(e){(0,l.useEffect)(e,[])},or=function(e,t,r=!0){let n=(0,l.useRef)(!0);(0,l.useEffect)(n.current||!r?()=>{n.current=!1}:e,t)};function on(){}function oa(e,t,r,n){return e.editor.getModel(oo(e,n))||e.editor.createModel(t,r,n?oo(e,n):void 0)}function oo(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=on,onMount:v=on}){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);ot(()=>{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(s||t?.original?.dispose(),c||t?.modified?.dispose(),N.current?.dispose())):e.cancel()}}),or(()=>{if(N.current&&C.current){let t=N.current.getOriginalEditor(),a=oa(C.current,e||"",n||r||"text",o||"");a!==t.getModel()&&t.setModel(a)}},[o],y),or(()=>{if(N.current&&C.current){let e=N.current.getModifiedEditor(),n=oa(C.current,t||"",a||r||"text",i||"");n!==e.getModel()&&e.setModel(n)}},[i],y),or(()=>{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),or(()=>{N.current?.getModel()?.original.setValue(e||"")},[e],y),or(()=>{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),or(()=>{C.current?.editor.setTheme(d)},[d],y),or(()=>{N.current?.updateOptions(f)},[f],y);let T=(0,l.useCallback)(()=>{if(!C.current)return;R.current(C.current);let l=oa(C.current,e||"",n||r||"text",o||""),s=oa(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(oe,{width:m,height:p,isEditorReady:y,loading:u,_ref:E,className:h,wrapperProps:g})});var ol=function(e){let t=(0,l.useRef)();return(0,l.useEffect)(()=>{t.current=e},[e]),t.current},oi=new Map,os=(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=on,onMount:y=on,onChange:w,onValidate:b=on}){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)(),L=(0,l.useRef)(n),O=ol(o),P=(0,l.useRef)(!1),D=(0,l.useRef)(!1);ot(()=>{let e=a6.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&&oi.set(o,R.current.saveViewState()):R.current.getModel()?.dispose(),R.current.dispose()):e.cancel()}),or(()=>{let l=oa(S.current,e||n||"",t||a||"",o||r||"");l!==R.current?.getModel()&&(f&&oi.set(O,R.current?.saveViewState()),R.current?.setModel(l),f&&R.current?.restoreViewState(oi.get(o)))},[o],j),or(()=>{R.current?.updateOptions(d)},[d],j),or(()=>{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),or(()=>{let e=R.current?.getModel();e&&a&&S.current?.editor.setModelLanguage(e,a)},[a],j),or(()=>{void 0!==s&&R.current?.revealLine(s)},[s],j),or(()=>{S.current?.editor.setTheme(i)},[i],j);let _=(0,l.useCallback)(()=>{if(!(!k.current||!S.current)&&!P.current){A.current(S.current);let l=o||r,c=oa(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(oi.get(l)),S.current.editor.setTheme(i),void 0!==s&&R.current.revealLine(s),N(!0),P.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,_]),L.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(oe,{width:m,height:h,isEditorReady:j,loading:c,_ref:k,className:g,wrapperProps:x})});let oc=(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"}]]),od=(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"}]]),ou=(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 of({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 op({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 om({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)(of,{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)(t6,{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)(t6,{className:"hover:bg-muted/50",children:n.map(r=>{let n=e[r],a=null===n?"(null)":String(n);return(0,o.jsx)(t8,{className:"font-monospace text-xs whitespace-nowrap",children:a},`${t}-${r}`)})},t))})]})})})]})}var oh="rovingFocusGroup.onEntryFocus",og={bubbles:!1,cancelable:!0},ox="RovingFocusGroup",[ov,oy,ow]=(0,rn.N)(ox),[ob,oj]=(0,C.A)(ox,[ow]),[oN,oC]=ob(ox),oE=l.forwardRef((e,t)=>(0,o.jsx)(ov.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,o.jsx)(ov.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,o.jsx)(oS,{...e,ref:t})})}));oE.displayName=ox;var oS=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,L.c)(u),C=oy(r),E=l.useRef(!1),[S,R]=l.useState(0);return l.useEffect(()=>{let e=m.current;if(e)return e.addEventListener(oh,b),()=>e.removeEventListener(oh,b)},[b]),(0,o.jsx)(oN,{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(oh,og);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=C().filter(e=>e.focusable);oA([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))})})}),oR="RovingFocusGroupItem",ok=l.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:r,focusable:n=!0,active:a=!1,tabStopId:i,...s}=e,c=k(),d=i||c,u=oC(oR,r),f=u.currentTabStopId===d,p=oy(r),{onFocusableItemAdd:m,onFocusableItemRemove:h}=u;return l.useEffect(()=>{if(n)return m(),()=>h()},[n,m,h]),(0,o.jsx)(ov.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 oT[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(()=>oA(r))}})})})});ok.displayName=oR;var oT={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function oA(e,t=!1){let r=document.activeElement;for(let n of e)if(n===r||(n.focus({preventScroll:t}),document.activeElement!==r))return}var oM=["Enter"," "],oL=["ArrowUp","PageDown","End"],oO=["ArrowDown","PageUp","Home",...oL],oP={ltr:[...oM,"ArrowRight"],rtl:[...oM,"ArrowLeft"]},oD={ltr:["ArrowLeft"],rtl:["ArrowRight"]},o_="Menu",[oI,oF,o$]=(0,rn.N)(o_),[oz,oU]=(0,C.A)(o_,[o$,ng,oj]),oH=ng(),oV=oj(),[oW,oK]=oz(o_),[oB,oq]=oz(o_),oG=e=>{let{__scopeMenu:t,open:r=!1,children:n,dir:a,onOpenChange:i,modal:s=!0}=e,c=oH(t),[d,u]=l.useState(null),f=l.useRef(!1),p=(0,L.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)(ny,{...c,children:(0,o.jsx)(oW,{scope:t,open:r,onOpenChange:p,content:d,onContentChange:u,children:(0,o.jsx)(oB,{scope:t,onClose:l.useCallback(()=>p(!1),[p]),isUsingKeyboardRef:f,dir:m,modal:s,children:n})})})};oG.displayName=o_;var oX=l.forwardRef((e,t)=>{let{__scopeMenu:r,...n}=e,a=oH(r);return(0,o.jsx)(nb,{...a,...n,ref:t})});oX.displayName="MenuAnchor";var oY="MenuPortal",[oQ,oJ]=oz(oY,{forceMount:void 0}),oZ=e=>{let{__scopeMenu:t,forceMount:r,children:n,container:a}=e,l=oK(oY,t);return(0,o.jsx)(oQ,{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})})})};oZ.displayName=oY;var o0="MenuContent",[o1,o2]=oz(o0),o4=l.forwardRef((e,t)=>{let r=oJ(o0,e.__scopeMenu),{forceMount:n=r.forceMount,...a}=e,l=oK(o0,e.__scopeMenu),i=oq(o0,e.__scopeMenu);return(0,o.jsx)(oI.Provider,{scope:e.__scopeMenu,children:(0,o.jsx)(V.C,{present:n||l.open,children:(0,o.jsx)(oI.Slot,{scope:e.__scopeMenu,children:i.modal?(0,o.jsx)(o5,{...a,ref:t}):(0,o.jsx)(o3,{...a,ref:t})})})})}),o5=l.forwardRef((e,t)=>{let r=oK(o0,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)(o6,{...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)})}),o3=l.forwardRef((e,t)=>{let r=oK(o0,e.__scopeMenu);return(0,o.jsx)(o6,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>r.onOpenChange(!1)})}),o6=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=oK(o0,r),y=oq(o0,r),w=oH(r),b=oV(r),C=oF(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(""),L=l.useRef(0),O=l.useRef(null),P=l.useRef("right"),D=l.useRef(0),I=g?eL: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=>P.current===O.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,O.current?.area),[]);return(0,o.jsx)(o1,{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:L,onPointerGraceIntentChange:l.useCallback(e=>{O.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)(oE,{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)(nE,{role:"menu","aria-orientation":"vertical","data-state":lj(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||!oO.includes(e.key))return;e.preventDefault();let o=C().filter(e=>!e.disabled).map(e=>e.ref.current);oL.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,lE(e=>{let t=e.target,r=D.current!==e.clientX;if(e.currentTarget.contains(t)&&r){let t=e.clientX>D.current?"right":"left";P.current=t,D.current=e.clientX}}))})})})})})})});o4.displayName=o0;var o9=l.forwardRef((e,t)=>{let{__scopeMenu:r,...n}=e;return(0,o.jsx)(M.sG.div,{role:"group",...n,ref:t})});o9.displayName="MenuGroup";var o8=l.forwardRef((e,t)=>{let{__scopeMenu:r,...n}=e;return(0,o.jsx)(M.sG.div,{...n,ref:t})});o8.displayName="MenuLabel";var o7="MenuItem",le="menu.itemSelect",lt=l.forwardRef((e,t)=>{let{disabled:r=!1,onSelect:n,...a}=e,i=l.useRef(null),s=oq(o7,e.__scopeMenu),c=o2(o7,e.__scopeMenu),d=(0,N.s)(t,i),u=l.useRef(!1);return(0,o.jsx)(lr,{...a,ref:d,disabled:r,onClick:(0,j.m)(e.onClick,()=>{let e=i.current;if(!r&&e){let t=new CustomEvent(le,{bubbles:!0,cancelable:!0});e.addEventListener(le,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)&&oM.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})});lt.displayName=o7;var lr=l.forwardRef((e,t)=>{let{__scopeMenu:r,disabled:n=!1,textValue:a,...i}=e,s=o2(o7,r),c=oV(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)(oI.ItemSlot,{scope:r,disabled:n,textValue:a??m,children:(0,o.jsx)(ok,{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,lE(e=>{n?s.onItemLeave(e):(s.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:(0,j.m)(e.onPointerLeave,lE(e=>s.onItemLeave(e))),onFocus:(0,j.m)(e.onFocus,()=>p(!0)),onBlur:(0,j.m)(e.onBlur,()=>p(!1))})})})}),ln=l.forwardRef((e,t)=>{let{checked:r=!1,onCheckedChange:n,...a}=e;return(0,o.jsx)(lu,{scope:e.__scopeMenu,checked:r,children:(0,o.jsx)(lt,{role:"menuitemcheckbox","aria-checked":lN(r)?"mixed":r,...a,ref:t,"data-state":lC(r),onSelect:(0,j.m)(a.onSelect,()=>n?.(!!lN(r)||!r),{checkForDefaultPrevented:!1})})})});ln.displayName="MenuCheckboxItem";var la="MenuRadioGroup",[lo,ll]=oz(la,{value:void 0,onValueChange:()=>{}}),li=l.forwardRef((e,t)=>{let{value:r,onValueChange:n,...a}=e,l=(0,L.c)(n);return(0,o.jsx)(lo,{scope:e.__scopeMenu,value:r,onValueChange:l,children:(0,o.jsx)(o9,{...a,ref:t})})});li.displayName=la;var ls="MenuRadioItem",lc=l.forwardRef((e,t)=>{let{value:r,...n}=e,a=ll(ls,e.__scopeMenu),l=r===a.value;return(0,o.jsx)(lu,{scope:e.__scopeMenu,checked:l,children:(0,o.jsx)(lt,{role:"menuitemradio","aria-checked":l,...n,ref:t,"data-state":lC(l),onSelect:(0,j.m)(n.onSelect,()=>a.onValueChange?.(r),{checkForDefaultPrevented:!1})})})});lc.displayName=ls;var ld="MenuItemIndicator",[lu,lf]=oz(ld,{checked:!1}),lp=l.forwardRef((e,t)=>{let{__scopeMenu:r,forceMount:n,...a}=e,l=lf(ld,r);return(0,o.jsx)(V.C,{present:n||lN(l.checked)||!0===l.checked,children:(0,o.jsx)(M.sG.span,{...a,ref:t,"data-state":lC(l.checked)})})});lp.displayName=ld;var lm=l.forwardRef((e,t)=>{let{__scopeMenu:r,...n}=e;return(0,o.jsx)(M.sG.div,{role:"separator","aria-orientation":"horizontal",...n,ref:t})});lm.displayName="MenuSeparator";var lh=l.forwardRef((e,t)=>{let{__scopeMenu:r,...n}=e,a=oH(r);return(0,o.jsx)(nk,{...a,...n,ref:t})});lh.displayName="MenuArrow";var[lg,lx]=oz("MenuSub"),lv="MenuSubTrigger",ly=l.forwardRef((e,t)=>{let r=oK(lv,e.__scopeMenu),n=oq(lv,e.__scopeMenu),a=lx(lv,e.__scopeMenu),i=o2(lv,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)(oX,{asChild:!0,...u,children:(0,o.jsx)(lr,{id:a.triggerId,"aria-haspopup":"menu","aria-expanded":r.open,"aria-controls":a.contentId,"data-state":lj(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,lE(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,lE(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)&&oP[n.dir].includes(t.key)&&(r.onOpenChange(!0),r.content?.focus(),t.preventDefault())})})})});ly.displayName=lv;var lw="MenuSubContent",lb=l.forwardRef((e,t)=>{let r=oJ(o0,e.__scopeMenu),{forceMount:n=r.forceMount,...a}=e,i=oK(o0,e.__scopeMenu),s=oq(o0,e.__scopeMenu),c=lx(lw,e.__scopeMenu),d=l.useRef(null),u=(0,N.s)(t,d);return(0,o.jsx)(oI.Provider,{scope:e.__scopeMenu,children:(0,o.jsx)(V.C,{present:n||i.open,children:(0,o.jsx)(oI.Slot,{scope:e.__scopeMenu,children:(0,o.jsx)(o6,{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=oD[s.dir].includes(e.key);t&&r&&(i.onOpenChange(!1),c.trigger?.focus(),e.preventDefault())})})})})})});function lj(e){return e?"open":"closed"}function lN(e){return"indeterminate"===e}function lC(e){return lN(e)?"indeterminate":e?"checked":"unchecked"}function lE(e){return t=>"mouse"===t.pointerType?e(t):void 0}lb.displayName=lw;var lS="DropdownMenu",[lR,lk]=(0,C.A)(lS,[oU]),lT=oU(),[lA,lM]=lR(lS),lL=e=>{let{__scopeDropdownMenu:t,children:r,dir:n,open:a,defaultOpen:i,onOpenChange:s,modal:c=!0}=e,d=lT(t),u=l.useRef(null),[f=!1,p]=(0,T.i)({prop:a,defaultProp:i,onChange:s});return(0,o.jsx)(lA,{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})})};lL.displayName=lS;var lO="DropdownMenuTrigger",lP=l.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,disabled:n=!1,...a}=e,l=lM(lO,r),i=lT(r);return(0,o.jsx)(oX,{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())})})})});lP.displayName=lO;var lD=e=>{let{__scopeDropdownMenu:t,...r}=e,n=lT(t);return(0,o.jsx)(oZ,{...n,...r})};lD.displayName="DropdownMenuPortal";var l_="DropdownMenuContent",lI=l.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,a=lM(l_,r),i=lT(r),s=l.useRef(!1);return(0,o.jsx)(o4,{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)"}})});lI.displayName=l_,l.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,a=lT(r);return(0,o.jsx)(o9,{...a,...n,ref:t})}).displayName="DropdownMenuGroup";var lF=l.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,a=lT(r);return(0,o.jsx)(o8,{...a,...n,ref:t})});lF.displayName="DropdownMenuLabel";var l$=l.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,a=lT(r);return(0,o.jsx)(lt,{...a,...n,ref:t})});l$.displayName="DropdownMenuItem";var lz=l.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,a=lT(r);return(0,o.jsx)(ln,{...a,...n,ref:t})});lz.displayName="DropdownMenuCheckboxItem",l.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,a=lT(r);return(0,o.jsx)(li,{...a,...n,ref:t})}).displayName="DropdownMenuRadioGroup";var lU=l.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,a=lT(r);return(0,o.jsx)(lc,{...a,...n,ref:t})});lU.displayName="DropdownMenuRadioItem";var lH=l.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,a=lT(r);return(0,o.jsx)(lp,{...a,...n,ref:t})});lH.displayName="DropdownMenuItemIndicator";var lV=l.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,a=lT(r);return(0,o.jsx)(lm,{...a,...n,ref:t})});lV.displayName="DropdownMenuSeparator",l.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,a=lT(r);return(0,o.jsx)(lh,{...a,...n,ref:t})}).displayName="DropdownMenuArrow";var lW=l.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,a=lT(r);return(0,o.jsx)(ly,{...a,...n,ref:t})});lW.displayName="DropdownMenuSubTrigger";var lK=l.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,a=lT(r);return(0,o.jsx)(lb,{...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)"}})});lK.displayName="DropdownMenuSubContent";let lB=(0,c.A)("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]),lq=(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)(lW,{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)(lB,{className:"ml-auto"})]})).displayName=lW.displayName,l.forwardRef(({className:e,...t},r)=>(0,o.jsx)(lK,{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=lK.displayName;let lG=l.forwardRef(({className:e,sideOffset:t=4,...r},n)=>(0,o.jsx)(lD,{children:(0,o.jsx)(lI,{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=lI.displayName;let lX=l.forwardRef(({className:e,inset:t,...r},n)=>(0,o.jsx)(l$,{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}));lX.displayName=l$.displayName,l.forwardRef(({className:e,children:t,checked:r,...n},a)=>(0,o.jsxs)(lz,{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)(lH,{children:(0,o.jsx)(aR,{className:"h-4 w-4"})})}),t]})).displayName=lz.displayName,l.forwardRef(({className:e,children:t,...r},n)=>(0,o.jsxs)(lU,{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)(lH,{children:(0,o.jsx)(lq,{className:"h-2 w-2 fill-current"})})}),t]})).displayName=lU.displayName,l.forwardRef(({className:e,inset:t,...r},n)=>(0,o.jsx)(lF,{ref:n,className:(0,h.cn)("px-2 py-1.5 text-sm font-semibold",t&&"pl-8",e),...r})).displayName=lF.displayName,l.forwardRef(({className:e,...t},r)=>(0,o.jsx)(lV,{ref:r,className:(0,h.cn)("-mx-1 my-1 h-px bg-muted",e),...t})).displayName=lV.displayName;let lY={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 lQ(e){if(console.debug("parseSQLError - Received error:",e),!e)return console.debug("parseSQLError - error is null or undefined."),{type:lY.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:lY.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:lY.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:lY.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:lY.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:lY.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:lY.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:lY.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:lY.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:lY.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:lY.UNKNOWN_ERROR,message:e.message||"An unknown error occurred",details:{}}}let lJ={"Show Tables":`SELECT name
|
|
9
|
+
FROM sqlite_master
|
|
10
|
+
WHERE type='table'
|
|
11
|
+
AND name NOT LIKE 'sqlite_%';`,"Table Schema":`-- Table Schema
|
|
12
|
+
-- Replace table_name with your table name
|
|
13
|
+
PRAGMA table_info(table_name);`,"Table Indexes":`-- Table Indexes
|
|
14
|
+
-- Replace table_name with your table name
|
|
15
|
+
SELECT
|
|
16
|
+
m.name as table_name,
|
|
17
|
+
i.name as index_name,
|
|
18
|
+
i.sql as index_definition
|
|
19
|
+
FROM sqlite_master m
|
|
20
|
+
JOIN sqlite_master i ON m.name = i.tbl_name
|
|
21
|
+
WHERE m.type = 'table'
|
|
22
|
+
AND i.type = 'index'
|
|
23
|
+
AND m.name = 'table_name';`,"Foreign Keys":`-- Foreign Key Information
|
|
24
|
+
-- Replace table_name with your table name
|
|
25
|
+
PRAGMA foreign_key_list(table_name);`,"Table Data":`-- Table Data
|
|
26
|
+
-- Replace table_name with your table name
|
|
27
|
+
SELECT * FROM table_name LIMIT 100;`,"Row Count":`-- Row Count
|
|
28
|
+
-- Replace table_name with your table name
|
|
29
|
+
SELECT COUNT(*) as total_rows FROM table_name;`,"Column Stats":`-- Column Statistics
|
|
30
|
+
-- Replace table_name and column_name with your values
|
|
31
|
+
SELECT
|
|
32
|
+
COUNT(*) as total_rows,
|
|
33
|
+
COUNT(column_name) as non_null_count,
|
|
34
|
+
COUNT(DISTINCT column_name) as unique_values,
|
|
35
|
+
MIN(column_name) as min_value,
|
|
36
|
+
MAX(column_name) as max_value
|
|
37
|
+
FROM table_name;`,"Create Table":`CREATE TABLE IF NOT EXISTS new_table (
|
|
38
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
39
|
+
name TEXT NOT NULL,
|
|
40
|
+
email TEXT UNIQUE,
|
|
41
|
+
status TEXT CHECK(status IN ('active', 'inactive')) DEFAULT 'active',
|
|
42
|
+
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
|
|
43
|
+
);
|
|
44
|
+
|
|
45
|
+
-- Create indexes
|
|
46
|
+
CREATE INDEX idx_new_table_name ON new_table(name);
|
|
47
|
+
CREATE UNIQUE INDEX idx_new_table_email ON new_table(email);`,"Create View":`-- Create a view
|
|
48
|
+
CREATE VIEW view_name AS
|
|
49
|
+
SELECT column1, column2
|
|
50
|
+
FROM table_name
|
|
51
|
+
WHERE condition;`},lZ={"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 l0({onSelectQuery:e}){return(0,o.jsxs)(lL,{children:[(0,o.jsx)(lP,{asChild:!0,children:(0,o.jsxs)(tg,{variant:"outline",size:"sm",children:["Query Templates",(0,o.jsx)(aE,{className:"ml-2 h-4 w-4"})]})}),(0,o.jsx)(lG,{align:"start",className:"w-72",children:Object.entries(lZ).map(([t,r])=>(0,o.jsxs)(s().Fragment,{children:[(0,o.jsx)("div",{className:"px-2 py-1.5 text-sm font-semibold text-neutral-900 font-sans",children:t}),r.map(t=>(0,o.jsx)(lX,{onClick:()=>e(t),className:"font-sans text-neutral-800",children:t},t))]},t))})]})}function l1(){let{executeQuery:e,refreshTables:t}=(0,b.t)(),[r,n]=(0,l.useState)(null),[a,i]=(0,l.useState)(!1),[s,c]=(0,l.useState)(300),[d,u]=(0,l.useState)(!1),f=(0,l.useRef)(null),p=(0,l.useRef)(null),h=(0,l.useCallback)(e=>{e.preventDefault();let t=e.pageY,r=e=>{c(Math.min(Math.max(s+(e.pageY-t),100),.8*window.innerHeight))},n=()=>{document.removeEventListener("mousemove",r),document.removeEventListener("mouseup",n)};document.addEventListener("mousemove",r),document.addEventListener("mouseup",n)},[s]),g=async()=>{if(!f.current)return;let r=f.current.getValue().trim().replace(/;+$/,"");if(!r){n({success:!1,error:{message:"Query cannot be empty."}});return}try{i(!0),n(null);let a=await e(r);/^(CREATE|DROP|ALTER)\s+TABLE/i.test(r)&&await t();let o=[];if(a.results){if(Array.isArray(a.results)){if(a.results.length>0&&a.results[0]?.columns&&a.results[0]?.values){let e=a.results[0];o=e.values.map(t=>e.columns.reduce((e,r,n)=>(e[r]=t[n],e),{}))}else o=1===a.results.length&&a.results[0].results&&Array.isArray(a.results[0].results)?a.results[0].results:a.results}else if(a.results.columns&&a.results.values){let e=a.results;o=e.values.map(t=>e.columns.reduce((e,r,n)=>(e[r]=t[n],e),{}))}}else if(a.result&&a.result.results){if(Array.isArray(a.result.results)){if(a.result.results.length>0&&a.result.results[0]?.columns&&a.result.results[0]?.values){let e=a.result.results[0];o=e.values.map(t=>e.columns.reduce((e,r,n)=>(e[r]=t[n],e),{}))}else o=1===a.result.results.length&&a.result.results[0].results&&Array.isArray(a.result.results[0].results)?a.result.results[0].results:a.result.results}else if(a.result.results.columns&&a.result.results.values){let e=a.result.results;o=e.values.map(t=>e.columns.reduce((e,r,n)=>(e[r]=t[n],e),{}))}}n({success:!0,results:o})}catch(e){n({success:!1,error:lQ(e)||{message:"An unknown error occurred",details:{}}})}finally{i(!1)}};return(0,o.jsxs)("div",{className:"h-full flex flex-col bg-white text-neutral-900 font-sans",children:[(0,o.jsx)("div",{className:"px-4 py-2 bg-neutral-100 border-b flex items-center gap-4",children:(0,o.jsx)(l0,{onSelectQuery:e=>{if(f.current){let t=Object.keys(lJ).find(t=>t.toLowerCase()===e.toLowerCase());if(t){let e=lJ[t];f.current.setValue(e),f.current.focus()}else console.warn(`Query template not found for: ${e}`)}}})}),(0,o.jsx)("div",{ref:p,className:"relative pt-2 overflow-hidden",style:{height:`${s}px`,minHeight:"100px"},children:(0,o.jsx)(os,{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=>{f.current=e,e.addCommand(monaco.KeyMod.CtrlCmd|monaco.KeyCode.Enter,()=>{g()})}})}),(0,o.jsx)("div",{className:`relative h-0.5 cursor-row-resize bg-neutral-200 group ${d?"bg-neutral-300":"hover:bg-neutral-300"}`,onMouseDown:e=>{u(!0),h(e)},onMouseUp:()=>u(!1),children:(0,o.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
|
|
52
|
+
${d?"visible":"invisible group-hover:visible"}`,children:(0,o.jsx)(oc,{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)(od,{className:"h-4 w-4"}),(0,o.jsx)(ou,{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)(op,{error:r.error});let e=r.results;return e&&0!==e.length?(0,o.jsx)(om,{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 l2="Checkbox",[l4,l5]=(0,C.A)(l2),[l3,l6]=l4(l2),l9=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)(l3,{scope:r,state:y,disabled:c,children:[(0,o.jsx)(M.sG.button,{type:"button",role:"checkbox","aria-checked":it(y)?"mixed":y,"aria-required":s,"data-state":ir(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=>!!it(e)||!e),v&&(x.current=e.isPropagationStopped(),x.current||e.stopPropagation())})}),v&&(0,o.jsx)(ie,{control:m,bubbles:!x.current,name:n,value:d,checked:y,required:s,disabled:c,form:f,style:{transform:"translateX(-100%)"},defaultChecked:!it(i)&&i})]})});l9.displayName=l2;var l8="CheckboxIndicator",l7=l.forwardRef((e,t)=>{let{__scopeCheckbox:r,forceMount:n,...a}=e,l=l6(l8,r);return(0,o.jsx)(V.C,{present:n||it(l.state)||!0===l.state,children:(0,o.jsx)(M.sG.span,{"data-state":ir(l.state),"data-disabled":l.disabled?"":void 0,...a,ref:t,style:{pointerEvents:"none",...e.style}})})});l7.displayName=l8;var ie=e=>{let{control:t,checked:r,bubbles:n=!0,defaultChecked:a,...i}=e,s=l.useRef(null),c=nL(r),d=np(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=it(r),t.call(e,!it(r)&&r),e.dispatchEvent(a)}},[c,r,n]);let u=l.useRef(!it(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 it(e){return"indeterminate"===e}function ir(e){return it(e)?"indeterminate":e?"checked":"unchecked"}let ia=l.forwardRef(({className:e,...t},r)=>(0,o.jsx)(l9,{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)(l7,{className:(0,h.cn)("flex items-center justify-center text-current"),children:(0,o.jsx)(aR,{className:"h-4 w-4"})})}));ia.displayName=l9.displayName;let io=(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"}]]),il=(0,c.A)("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]),ii=(0,c.A)("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);var[is,ic]=(0,C.A)("Tooltip",[ng]),id=ng(),iu="TooltipProvider",ip="tooltip.open",[im,ih]=is(iu),ig=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)(im,{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})};ig.displayName=iu;var ix="Tooltip",[iv,iy]=is(ix),iw=e=>{let{__scopeTooltip:t,children:r,open:n,defaultOpen:a=!1,onOpenChange:i,disableHoverableContent:s,delayDuration:c}=e,d=ih(ix,e.__scopeTooltip),u=id(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(ip))):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)(ny,{...u,children:(0,o.jsx)(iv,{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})})};iw.displayName=ix;var ib="TooltipTrigger",ij=l.forwardRef((e,t)=>{let{__scopeTooltip:r,...n}=e,a=iy(ib,r),i=ih(ib,r),s=id(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)(nb,{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)})})});ij.displayName=ib;var iN="TooltipPortal",[iC,iE]=is(iN,{forceMount:void 0}),iS=e=>{let{__scopeTooltip:t,forceMount:r,children:n,container:a}=e,l=iy(iN,t);return(0,o.jsx)(iC,{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})})})};iS.displayName=iN;var iR="TooltipContent",ik=l.forwardRef((e,t)=>{let r=iE(iR,e.__scopeTooltip),{forceMount:n=r.forceMount,side:a="top",...l}=e,i=iy(iR,e.__scopeTooltip);return(0,o.jsx)(V.C,{present:n||i.open,children:i.disableHoverableContent?(0,o.jsx)(iL,{side:a,...l,ref:t}):(0,o.jsx)(iT,{side:a,...l,ref:t})})}),iT=l.forwardRef((e,t)=>{let r=iy(iR,e.__scopeTooltip),n=ih(iR,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)(iL,{...e,ref:i})}),[iA,iM]=is(ix,{isInside:!1}),iL=l.forwardRef((e,t)=>{let{__scopeTooltip:r,children:n,"aria-label":a,onEscapeKeyDown:i,onPointerDownOutside:s,...c}=e,d=iy(iR,r),u=id(r),{onClose:f}=d;return l.useEffect(()=>(document.addEventListener(ip,f),()=>document.removeEventListener(ip,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)(nE,{"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)(iA,{scope:r,isInside:!0,children:(0,o.jsx)(nO.b,{id:d.contentId,role:"tooltip",children:a||n})})]})})});ik.displayName=iR;var iO="TooltipArrow";l.forwardRef((e,t)=>{let{__scopeTooltip:r,...n}=e,a=id(r);return iM(iO,r).isInside?null:(0,o.jsx)(nk,{...a,...n,ref:t})}).displayName=iO;let iP=l.forwardRef(({className:e,sideOffset:t=4,...r},n)=>(0,o.jsx)(iS,{children:(0,o.jsx)(ik,{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})}));iP.displayName=ik.displayName;let iD=(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"}]]),i_=(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)(ig,{children:(0,o.jsxs)(iw,{children:[(0,o.jsx)(ij,{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)(iD,{className:"h-4 w-4"})})}),(0,o.jsx)(iP,{children:(0,o.jsx)("p",{children:"Refresh table data"})})]})})});i_.displayName="RefreshButton";let iI=(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"}]]),iF=(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)(ig,{children:(0,o.jsxs)(iw,{children:[(0,o.jsx)(ij,{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)(iI,{className:"h-4 w-4"})})}),(0,o.jsx)(iP,{children:(0,o.jsx)("p",{children:"Sync migration files with d1_migrations table"})})]})})});iF.displayName="SyncMigrationsButton";let i$=(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"}]]),iz=(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"}]]),iU=(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"}]]),iH=(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=l.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(", ")})
|
|
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)(lL,{children:[(0,o.jsx)(ig,{children:(0,o.jsxs)(iw,{children:[(0,o.jsx)(ij,{asChild:!0,children:(0,o.jsx)(lP,{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)(aP,{className:"h-4 w-4"})})})}),(0,o.jsx)(iP,{children:(0,o.jsx)("p",{children:"Download table data"})})]})}),(0,o.jsxs)(lG,{align:"end",children:[(0,o.jsxs)(lX,{onClick:()=>d("json"),disabled:n,children:[(0,o.jsx)(i$,{className:"mr-2 h-4 w-4"}),(0,o.jsx)("span",{children:"Download JSON"})]}),(0,o.jsxs)(lX,{onClick:()=>d("csv"),disabled:n,children:[(0,o.jsx)(iz,{className:"mr-2 h-4 w-4"}),(0,o.jsx)("span",{children:"Download CSV"})]}),(0,o.jsxs)(lX,{onClick:()=>d("sql"),disabled:n,children:[(0,o.jsx)(iU,{className:"mr-2 h-4 w-4"}),(0,o.jsx)("span",{children:"Download SQL"})]})]})]})});iH.displayName="DownloadButton";let iV=(0,c.A)("Columns2",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M12 3v18",key:"108xh3"}]]),iW=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)(lL,{children:[(0,o.jsx)(lP,{asChild:!0,children:(0,o.jsxs)(tg,{size:"sm",variant:"outline",className:"font-semibold",children:[(0,o.jsx)(iV,{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)(ia,{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)(ia,{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))})]})]})},iK=(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)(ig,{children:(0,o.jsxs)(iw,{children:[(0,o.jsx)(ij,{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)(io,{className:"h-4 w-4"}),"Filters"]})})}),(0,o.jsx)(iP,{children:(0,o.jsx)("p",{children:"Filters are not available yet. Coming soon!"})})]})}),(0,o.jsx)(iW,{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"]})]})),iB=(0,l.memo)(({totalRows:e})=>(0,o.jsxs)("span",{className:"text-sm text-neutral-600",children:[e," ",1===e?"row":"rows"]})),iq=(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)(il,{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)(ii,{className:"h-4 w-4"})})]})),iG=(0,l.memo)(({value:e,onValueChange:t,disabled:r,newRecordsCount:n})=>(0,o.jsxs)(nq,{value:e.toString(),onValueChange:t,disabled:r||n>0,children:[(0,o.jsx)(ak,{className:"w-20 h-8",children:(0,o.jsx)(nQ,{})}),(0,o.jsxs)(aM,{children:[(0,o.jsx)(aL,{value:"50",children:"50"}),(0,o.jsx)(aL,{value:"100",children:"100"}),(0,o.jsx)(aL,{value:"250",children:"250"})]})]})),iX=(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"}`})]})),iY=({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)(iK,{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)(iX,{onSave:x,onDiscard:v,totalChanges:N,isSaving:y}):(0,o.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,o.jsx)(iB,{totalRows:a}),(0,o.jsx)(iq,{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)(i_,{onRefresh:n,disabled:m}),(0,o.jsx)(iF,{tableName:u,onSync:n,disabled:m}),(0,o.jsx)(iH,{tableName:u,onDownloadStart:f,onDownloadComplete:p,disabled:m})]})})]})})};iY.displayName="TableToolbar";let iQ=(0,l.memo)(iY);function iJ({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)(t8,{className:`${j} p-0`,style:{width:f},children:(0,o.jsx)("div",{className:"w-full h-full",children:(0,o.jsxs)(nq,{value:N,onValueChange:w,defaultOpen:s,children:[(0,o.jsx)(ak,{className:"w-full h-9 min-w-0 rounded-none border-0 bg-orange-50 text-orange-900",children:(0,o.jsx)(nQ,{placeholder:"Select value"})}),(0,o.jsxs)(aM,{className:"min-w-[8rem]",children:[(0,o.jsx)(aL,{value:"true",children:"true"}),(0,o.jsx)(aL,{value:"false",children:"false"})]})]})})}):v?.length>0?(0,o.jsx)(t8,{className:`${j} p-0`,style:{width:f},children:(0,o.jsx)("div",{className:"w-full h-full",children:(0,o.jsxs)(nq,{value:d??v[0],onValueChange:w,defaultOpen:s,children:[(0,o.jsx)(ak,{className:"w-full h-9 min-w-0 rounded-none border-0 bg-orange-50 text-orange-900",children:(0,o.jsx)(nQ,{placeholder:`Select ${r}`})}),(0,o.jsx)(aM,{className:"min-w-[8rem]",children:v.map(e=>(0,o.jsx)(aL,{value:e,children:e},e))})]})})}):(0,o.jsx)(t8,{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)(t8,{ref:m,className:`${j} cursor-pointer hover:bg-muted/50`,onClick:b,children:N})}let iZ=(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 i0(e){return"string"==typeof e?e.replace(/^'|'$/g,""):e}function i1({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;return null===(r=i0(r))&&(t.dflt_value?r=i0(t.dflt_value):"INTEGER"===t.type.toUpperCase()?r="":"TEXT"===t.type.toUpperCase()&&(r="")),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)(t6,{className:"bg-orange-50/50",children:[(0,o.jsx)(t8,{className:"w-10 p-0",children:(0,o.jsx)("div",{className:"pl-1 flex items-center",children:n?(0,o.jsx)(ia,{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)(iZ,{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)(t8,{className:"border-x border-neutral-200 p-0",children:(0,o.jsx)("div",{className:"w-full",children:(0,o.jsxs)(nq,{value:r,onValueChange:t=>c(e.name,"true"===t?1:0),children:[(0,o.jsx)(ak,{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)(nQ,{placeholder:`Select ${e.name}`})}),(0,o.jsxs)(aM,{className:"min-w-[8rem]",children:[(0,o.jsx)(aL,{value:"true",children:"true"}),(0,o.jsx)(aL,{value:"false",children:"false"})]})]})})},e.name)}return r?.length>0?(0,o.jsx)(t8,{className:"border-x border-neutral-200 p-0",children:(0,o.jsx)("div",{className:"w-full",children:(0,o.jsxs)(nq,{value:i[e.name]??r[0],onValueChange:t=>c(e.name,t),children:[(0,o.jsx)(ak,{className:"w-full h-9 min-w-0 rounded-none border-0 bg-orange-50 text-orange-900",children:(0,o.jsx)(nQ,{placeholder:`Select ${e.name}`})}),(0,o.jsx)(aM,{className:"min-w-[8rem]",children:r.map(e=>(0,o.jsx)(aL,{value:e,children:e},e))})]})})},e.name):(0,o.jsx)(t8,{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?"Auto-generated":`Enter ${e.name}`})},e.name)})]})}let i2=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 i4({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 i5=({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})]})},i3=({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)})},i6=(0,c.A)("ArrowUp",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]),i9=(0,c.A)("ArrowDown",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]),i8=(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 i7({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)(i6,{className:"h-4 w-4"}),"desc"===a&&(0,o.jsx)(i9,{className:"h-4 w-4"}),!a&&(0,o.jsx)(i8,{className:"h-4 w-4"})]})]})})}function se({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),[L,O]=(0,l.useState)([]),[P,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),[q,G]=(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,P,_);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:P,limit:_,forceFetch:t});return r.meta.page=P,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,P,_,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:P,limit:_},P,_)},[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)(()=>{O(e=>[...e,{}])},[]),ep=(0,l.useCallback)(e=>{O(t=>t.filter((t,r)=>r!==e))},[]),em=(0,l.useCallback)((e,t)=>{O(r=>{let n=[...r];return n[e]=t,n})},[]),eh=async(r=!1)=>{E(!0);try{if(L.length>0){let r=0,n=h.filter(e=>"datetime"===e.type.toLowerCase()).map(e=>e.name);for(let a of L){let o=Object.keys(a).filter(e=>null!==a[e]&&""!==a[e]&&"null"!==a[e]);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];return null===t||""===t||"null"===t?"NULL":`'${t.toString().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"}`})}O([])}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=`
|
|
55
|
+
UPDATE ${e}
|
|
56
|
+
SET ${n}
|
|
57
|
+
WHERE ${r} = ${o};
|
|
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({...lQ(e),stderr:e.stderr,stdout:e.stdout}),Y(!0)}finally{E(!1)}},eg=(0,l.useCallback)(async()=>{if(B(!0),G(null),e){B(!0),G(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=`DELETE FROM ${e} WHERE ${a} IN (${o.join(",")});`;await t(l);let i=new Set(o),s=f.filter(e=>!i.has(e[a]));p(s),v(e=>e-o.length),$(Math.ceil((x-o.length)/_));let c=r(e);c&&n(e,s,c.schema,{...c.meta,total:c.meta.total-o.length}),P>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),G(e.message||String(e))}finally{B(!1)}}},[e,z,f,h,t,c,eo,P,_,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||L.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)(iQ,{selectedCount:z.size,totalRows:x,currentPage:P,totalPages:F,rowsPerPage:_,onPageChange:D,onRowsPerPageChange:I,onAdd:ef,onDelete:()=>W(!0),onRefresh:es,tableName:e,disabled:ew,editCount:k.size,newRecordsCount:L.length,isSaving:C,onSaveChanges:eh,onDiscardChanges:()=>{T(new Map),M(new Set),O([]),J(null),d({description:"Changes discarded"})},schema:h,visibleColumns:en,onColumnToggle:el}),(0,o.jsx)(i3,{columns:h,onColumnsResize:ei,children:(0,o.jsx)("div",{className:"relative 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)(t6,{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)(ia,{ref:H,checked:z.size===f.length&&f.length>0,onCheckedChange:ex,disabled:ew})})}),ey.map(e=>(0,o.jsx)(i5,{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)(i7,{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)(t6,{className:"hover:bg-transparent",children:(0,o.jsx)(t8,{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:[L.map((e,t)=>(0,o.jsx)(i1,{schema:ey,onRemove:()=>ep(t),onChange:e=>em(t,e)},`new-${t}`)),0===f.length&&0===L.length?(0,o.jsx)(t6,{className:"hover:bg-transparent",children:(0,o.jsx)(t8,{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)(t6,{className:`${z.has(t)?"bg-muted/50":""}`,children:[(0,o.jsx)(t8,{className:"p-0",children:(0,o.jsx)("div",{className:"px-3 py-2.5 flex items-center",children:(0,o.jsx)(ia,{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)(iJ,{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)(i2,{isOpen:V,onClose:()=>{W(!1),G(null)},onConfirm:eg,selectedCount:z.size,tableName:e,isDeleting:K,error:q}),(0,o.jsx)(i4,{isOpen:X,onClose:()=>Y(!1),error:Q,onOpenInSQL:()=>{Y(!1)},onUpdateAnyway:async()=>{Y(!1),await eh(!0)},showSQLOption:Q?.type==="NULLABLE_PK"})]})}function st(){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)(aI,{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)(l1,{}),"table-view"===e&&r&&(0,o.jsx)(se,{tableName:r})]})]})}},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 \"/Users/karenredona/Desktop/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.")},"/Users/karenredona/Desktop/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,336],()=>r(6464));module.exports=n})();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":1,"files":["../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../node_modules/next/dist/server/lib/trace/constants.js","../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../node_modules/next/package.json","../../package.json","../chunks/336.js","../chunks/638.js","../chunks/992.js","../webpack-runtime.js","page_client-reference-manifest.js"]}
|