d1s 0.3.7 → 0.3.10
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/dist/.next/BUILD_ID +1 -1
- package/dist/.next/app-build-manifest.json +125 -125
- package/dist/.next/app-path-routes-manifest.json +23 -1
- package/dist/.next/build-manifest.json +14 -14
- package/dist/.next/export-marker.json +6 -1
- package/dist/.next/images-manifest.json +58 -1
- package/dist/.next/next-minimal-server.js.nft.json +1 -1
- package/dist/.next/next-server.js.nft.json +1 -1
- package/dist/.next/prerender-manifest.json +61 -1
- package/dist/.next/react-loadable-manifest.json +5 -5
- package/dist/.next/required-server-files.json +325 -1
- package/dist/.next/routes-manifest.json +70 -1
- package/dist/.next/server/app/_not-found/page.js +2 -1
- package/dist/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/dist/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/_not-found.html +1 -1
- package/dist/.next/server/app/_not-found.meta +1 -1
- package/dist/.next/server/app/_not-found.rsc +15 -12
- package/dist/.next/server/app/api/cloudflare/route.js +1 -1
- package/dist/.next/server/app/api/cloudflare/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/cloudflare/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/databases/route.js +1 -1
- package/dist/.next/server/app/api/databases/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/databases/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/migrations/list/route.js +8 -8
- package/dist/.next/server/app/api/migrations/list/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/migrations/list/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/migrations/sync/route.js +10 -10
- package/dist/.next/server/app/api/migrations/sync/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/migrations/sync/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/migrations/sync-files/route.js +8 -8
- package/dist/.next/server/app/api/migrations/sync-files/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/migrations/sync-files/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/pro/route.js +1 -1
- package/dist/.next/server/app/api/pro/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/pro/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/pull-data/confirm/route.js +1 -1
- package/dist/.next/server/app/api/pull-data/confirm/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/pull-data/confirm/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/pull-remote/confirm/route.js +8 -8
- package/dist/.next/server/app/api/pull-remote/confirm/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/pull-remote/confirm/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/pull-remote/preview/route.js +8 -8
- package/dist/.next/server/app/api/pull-remote/preview/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/pull-remote/preview/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/push-remote/confirm/route.js +10 -10
- package/dist/.next/server/app/api/push-remote/confirm/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/push-remote/confirm/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/push-remote/preview/route.js +10 -10
- package/dist/.next/server/app/api/push-remote/preview/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/push-remote/preview/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/query/route.js +9 -9
- package/dist/.next/server/app/api/query/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/query/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/schema/route.js +1 -1
- package/dist/.next/server/app/api/schema/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/schema/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/tables/[name]/import/route.js +1 -1
- package/dist/.next/server/app/api/tables/[name]/import/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/tables/[name]/import/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/tables/[name]/route.js +5 -5
- package/dist/.next/server/app/api/tables/[name]/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/tables/[name]/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/tables/route.js +2 -2
- package/dist/.next/server/app/api/tables/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/tables/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/time-travel/preview/route.js +1 -1
- package/dist/.next/server/app/api/time-travel/preview/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/time-travel/preview/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/time-travel/restore/route.js +1 -1
- package/dist/.next/server/app/api/time-travel/restore/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/time-travel/restore/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/update/route.js +1 -1
- package/dist/.next/server/app/api/update/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/index.html +3 -3
- package/dist/.next/server/app/index.meta +1 -1
- package/dist/.next/server/app/index.rsc +18 -15
- package/dist/.next/server/app/page.js +15 -14
- package/dist/.next/server/app/page.js.nft.json +1 -1
- package/dist/.next/server/app/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app-paths-manifest.json +4 -4
- package/dist/.next/server/chunks/347.js +23 -0
- package/dist/.next/server/chunks/366.js +1 -0
- package/dist/.next/server/chunks/386.js +9 -0
- package/dist/.next/server/chunks/611.js +6 -0
- package/dist/.next/server/chunks/626.js +30 -0
- package/dist/.next/server/chunks/692.js +1 -0
- package/dist/.next/server/chunks/839.js +1 -0
- package/dist/.next/server/chunks/873.js +22 -0
- package/dist/.next/server/functions-config-manifest.json +6 -1
- package/dist/.next/server/middleware-build-manifest.js +1 -1
- package/dist/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/dist/.next/server/pages/404.html +1 -1
- package/dist/.next/server/pages/500.html +1 -1
- package/dist/.next/server/pages/_app.js +1 -1
- package/dist/.next/server/pages/_document.js +1 -1
- package/dist/.next/server/pages/_document.js.nft.json +1 -1
- package/dist/.next/server/pages/_error.js +19 -1
- package/dist/.next/server/pages/_error.js.nft.json +1 -1
- package/dist/.next/server/pages-manifest.json +6 -1
- package/dist/.next/server/server-reference-manifest.json +1 -1
- package/dist/.next/server/webpack-runtime.js +1 -1
- package/dist/.next/static/{TqY9pInUBjZNteD9IEnz3 → TDqrfll63o1FXL7rpt5E_}/_buildManifest.js +1 -1
- package/dist/.next/static/chunks/1a258343.234dd786cf6c097e.js +1 -0
- package/dist/.next/static/chunks/255-4f212684648fcab9.js +1 -0
- package/dist/.next/static/chunks/421-55f8ce492f5bd9c3.js +1 -0
- package/dist/.next/static/chunks/4bd1b696-c023c6e3521b1417.js +1 -0
- package/dist/.next/static/chunks/654-f2f8931465d44ae7.js +1 -0
- package/dist/.next/static/chunks/69-00a70b2df83ed9ee.js +1 -0
- package/dist/.next/static/chunks/823-5f8f96173644e0cc.js +1 -0
- package/dist/.next/static/chunks/95.8b08bca2768cb67c.js +1 -0
- package/dist/.next/static/chunks/{52.2cdc9bdb75e1fc2e.js → 950.01ba9ad634bd1f43.js} +1 -1
- package/dist/.next/static/chunks/app/_not-found/page-255a8a616fa8d3a5.js +1 -0
- package/dist/.next/static/chunks/app/api/cloudflare/{route-d0c1dc2a9e7dce36.js → route-58aca057db1e5530.js} +1 -1
- package/dist/.next/static/chunks/app/api/databases/{route-cd322321212797cf.js → route-58aca057db1e5530.js} +1 -1
- package/dist/.next/static/chunks/app/api/migrations/list/{route-cd710ff75b6bcd02.js → route-58aca057db1e5530.js} +1 -1
- package/dist/.next/static/chunks/app/api/migrations/sync/route-58aca057db1e5530.js +1 -0
- package/dist/.next/static/chunks/app/api/migrations/sync-files/{route-79ee2c26f87d3bc7.js → route-58aca057db1e5530.js} +1 -1
- package/dist/.next/static/chunks/app/api/pro/route-58aca057db1e5530.js +1 -0
- package/dist/.next/static/chunks/app/api/pull-data/confirm/route-58aca057db1e5530.js +1 -0
- package/dist/.next/static/chunks/app/api/pull-remote/confirm/route-58aca057db1e5530.js +1 -0
- package/dist/.next/static/chunks/app/api/pull-remote/preview/route-58aca057db1e5530.js +1 -0
- package/dist/.next/static/chunks/app/api/push-remote/confirm/route-58aca057db1e5530.js +1 -0
- package/dist/.next/static/chunks/app/api/push-remote/preview/route-58aca057db1e5530.js +1 -0
- package/dist/.next/static/chunks/app/api/query/route-58aca057db1e5530.js +1 -0
- package/dist/.next/static/chunks/app/api/schema/route-58aca057db1e5530.js +1 -0
- package/dist/.next/static/chunks/app/api/tables/[name]/import/route-58aca057db1e5530.js +1 -0
- package/dist/.next/static/chunks/app/api/tables/[name]/route-58aca057db1e5530.js +1 -0
- package/dist/.next/static/chunks/app/api/tables/route-58aca057db1e5530.js +1 -0
- package/dist/.next/static/chunks/app/api/time-travel/preview/route-58aca057db1e5530.js +1 -0
- package/dist/.next/static/chunks/app/api/time-travel/restore/route-58aca057db1e5530.js +1 -0
- package/dist/.next/static/chunks/app/api/update/route-58aca057db1e5530.js +1 -0
- package/dist/.next/static/chunks/app/layout-a5219438265f0b6c.js +1 -0
- package/dist/.next/static/chunks/app/page-5f0b0b876d1c4c1c.js +1 -0
- package/dist/.next/static/chunks/framework-a6e0b7e30f98059a.js +1 -0
- package/dist/.next/static/chunks/main-0bd218f776705cbf.js +1 -0
- package/dist/.next/static/chunks/main-app-d20e9d5e211da7c8.js +1 -0
- package/dist/.next/static/chunks/pages/_app-7d307437aca18ad4.js +1 -0
- package/dist/.next/static/chunks/pages/_error-cb2a52f75f2162e2.js +1 -0
- package/dist/.next/static/chunks/webpack-c7b9f95656aa8fe9.js +1 -0
- package/dist/.next/static/css/599369d853c61df7.css +31 -0
- package/dist/.next/static/css/b69f03bff92613ce.css +3 -0
- package/dist/.next/trace +3 -3
- package/package.json +2 -2
- package/dist/.next/server/chunks/226.js +0 -30
- package/dist/.next/server/chunks/391.js +0 -23
- package/dist/.next/server/chunks/452.js +0 -1
- package/dist/.next/server/chunks/487.js +0 -1
- package/dist/.next/server/chunks/572.js +0 -1
- package/dist/.next/server/chunks/627.js +0 -6
- package/dist/.next/server/chunks/992.js +0 -3
- package/dist/.next/server/chunks/994.js +0 -13
- package/dist/.next/static/chunks/1a258343.3b3e7ba5ba0bd0d2.js +0 -1
- package/dist/.next/static/chunks/345.8fc37569d5708622.js +0 -1
- package/dist/.next/static/chunks/480-85b6c8ae3f51b156.js +0 -1
- package/dist/.next/static/chunks/4bd1b696-124ea104c06f6cea.js +0 -1
- package/dist/.next/static/chunks/517-c876ce2f00030cd0.js +0 -2
- package/dist/.next/static/chunks/692-9e59d546afd11ec3.js +0 -1
- package/dist/.next/static/chunks/803-a2fcfbd00e6b3b38.js +0 -1
- package/dist/.next/static/chunks/92-a84bdac2be7c8d7a.js +0 -1
- package/dist/.next/static/chunks/app/_not-found/page-3e24b81707d98126.js +0 -1
- package/dist/.next/static/chunks/app/api/migrations/sync/route-ee522f232b9f0a9c.js +0 -1
- package/dist/.next/static/chunks/app/api/pro/route-c90c1f901fc00d38.js +0 -1
- package/dist/.next/static/chunks/app/api/pull-data/confirm/route-118764086af798f8.js +0 -1
- package/dist/.next/static/chunks/app/api/pull-remote/confirm/route-2b0ade4ebfcea0bc.js +0 -1
- package/dist/.next/static/chunks/app/api/pull-remote/preview/route-342db7ea13e6f447.js +0 -1
- package/dist/.next/static/chunks/app/api/push-remote/confirm/route-b778c053bd515abd.js +0 -1
- package/dist/.next/static/chunks/app/api/push-remote/preview/route-ab090482f299f57f.js +0 -1
- package/dist/.next/static/chunks/app/api/query/route-4d21a8b1d34491f1.js +0 -1
- package/dist/.next/static/chunks/app/api/schema/route-cb17a387d6b557ad.js +0 -1
- package/dist/.next/static/chunks/app/api/tables/[name]/import/route-510472de7a5c29bd.js +0 -1
- package/dist/.next/static/chunks/app/api/tables/[name]/route-6a1fa95c303ce0de.js +0 -1
- package/dist/.next/static/chunks/app/api/tables/route-daa975df4ea8e8f8.js +0 -1
- package/dist/.next/static/chunks/app/api/time-travel/preview/route-5787d7e8f17bd539.js +0 -1
- package/dist/.next/static/chunks/app/api/time-travel/restore/route-84b64a27e831e21c.js +0 -1
- package/dist/.next/static/chunks/app/api/update/route-54ee900537982652.js +0 -1
- package/dist/.next/static/chunks/app/layout-f0ec4d636ee0f763.js +0 -1
- package/dist/.next/static/chunks/app/page-6bcbc40fdbc40128.js +0 -1
- package/dist/.next/static/chunks/framework-d29117d969504448.js +0 -1
- package/dist/.next/static/chunks/main-8d0ab17774ffa031.js +0 -1
- package/dist/.next/static/chunks/main-app-4506e88db72db4b7.js +0 -1
- package/dist/.next/static/chunks/pages/_app-d23763e3e6c904ff.js +0 -1
- package/dist/.next/static/chunks/pages/_error-9b7125ad1a1e68fa.js +0 -1
- package/dist/.next/static/chunks/webpack-024900a94af4f0a7.js +0 -1
- package/dist/.next/static/css/2c165a0ede9b2442.css +0 -3
- package/dist/.next/static/css/32df9a4d493f8b0f.css +0 -31
- /package/dist/.next/static/{TqY9pInUBjZNteD9IEnz3 → TDqrfll63o1FXL7rpt5E_}/_ssgManifest.js +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
(()=>{var e={};e.id=974,e.ids=[974],e.modules={846:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},9121:e=>{"use strict";e.exports=require("next/dist/server/app-render/action-async-storage.external.js")},3295:e=>{"use strict";e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},9294:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},3033:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},3873:e=>{"use strict";e.exports=require("path")},7185:(e,t,r)=>{"use strict";r.r(t),r.d(t,{GlobalError:()=>o.a,__next_app__:()=>u,pages:()=>d,routeModule:()=>f,tree:()=>c});var n=r(260),a=r(8203),l=r(5155),o=r.n(l),s=r(7292),i={};for(let e in s)0>["default","tree","pages","GlobalError","__next_app__","routeModule"].indexOf(e)&&(i[e]=()=>s[e]);r.d(t,i);let c=["",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(r.bind(r,8868)),"/Volumes/ProjectSpace/_wip/d1studio/src/app/page.jsx"]}]},{layout:[()=>Promise.resolve().then(r.bind(r,8180)),"/Volumes/ProjectSpace/_wip/d1studio/src/app/layout.jsx"],"not-found":[()=>Promise.resolve().then(r.t.bind(r,9937,23)),"next/dist/client/components/not-found-error"],forbidden:[()=>Promise.resolve().then(r.t.bind(r,9116,23)),"next/dist/client/components/forbidden-error"],unauthorized:[()=>Promise.resolve().then(r.t.bind(r,1485,23)),"next/dist/client/components/unauthorized-error"]}],d=["/Volumes/ProjectSpace/_wip/d1studio/src/app/page.jsx"],u={require:r,loadChunk:()=>Promise.resolve()},f=new n.AppPageRouteModule({definition:{kind:a.RouteKind.APP_PAGE,page:"/page",pathname:"/",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:c}})},7048:(e,t,r)=>{Promise.resolve().then(r.bind(r,8868))},6776:(e,t,r)=>{Promise.resolve().then(r.bind(r,7098))},6256:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return a}});let n=r(5488)._(r(568));function a(e,t){var r;let a={};"function"==typeof e&&(a.loader=e);let l={...a,...t};return(0,n.default)({...l,modules:null==(r=l.loadableGenerated)?void 0:r.modules})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3400:(e,t)=>{"use strict";function r(e){return e.split("/").map(e=>encodeURIComponent(e)).join("/")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"encodeURIPath",{enumerable:!0,get:function(){return r}})},5771:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"BailoutToCSR",{enumerable:!0,get:function(){return a}});let n=r(4639);function a(e){let{reason:t,children:r}=e;throw new n.BailoutToCSRError(t)}},568:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return c}});let n=r(5512),a=r(8009),l=r(5771),o=r(6054);function s(e){return{default:e&&"default"in e?e.default:e}}let i={loader:()=>Promise.resolve(s(()=>null)),loading:null,ssr:!0},c=function(e){let t={...i,...e},r=(0,a.lazy)(()=>t.loader().then(s)),c=t.loading;function d(e){let s=c?(0,n.jsx)(c,{isLoading:!0,pastDelay:!0,error:null}):null,i=!t.ssr||!!t.loading,d=i?a.Suspense:a.Fragment,u=t.ssr?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.PreloadChunks,{moduleIds:t.modules}),(0,n.jsx)(r,{...e})]}):(0,n.jsx)(l.BailoutToCSR,{reason:"next/dynamic",children:(0,n.jsx)(r,{...e})});return(0,n.jsx)(d,{...i?{fallback:s}:{},children:u})}return d.displayName="LoadableComponent",d}},6054:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"PreloadChunks",{enumerable:!0,get:function(){return s}});let n=r(5512),a=r(5740),l=r(9294),o=r(3400);function s(e){let{moduleIds:t}=e,r=l.workAsyncStorage.getStore();if(void 0===r)return null;let s=[];if(r.reactLoadableManifest&&t){let e=r.reactLoadableManifest;for(let r of t){if(!e[r])continue;let t=e[r].files;s.push(...t)}}return 0===s.length?null:(0,n.jsx)(n.Fragment,{children:s.map(e=>{let t=r.assetPrefix+"/_next/"+(0,o.encodeURIPath)(e);return e.endsWith(".css")?(0,n.jsx)("link",{precedence:"dynamic",href:t,rel:"stylesheet",as:"style"},e):((0,a.preload)(t,{as:"script",fetchPriority:"low"}),null)})})}},7098:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>iO});var n,a,l=r(5512),o=r(8009),s=r.t(o,2),i=r.n(o);let c={rE:"0.3.7"};var d=r(4825);let u=(0,d.A)("Lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]),f=(0,d.A)("Table2",[["path",{d:"M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18",key:"gugj83"}]]),m=(0,d.A)("CircleAlert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]),p=(0,d.A)("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]),h=(0,d.A)("ArrowDownToLine",[["path",{d:"M12 17V3",key:"1cwfxf"}],["path",{d:"m6 11 6 6 6-6",key:"12ii2o"}],["path",{d:"M19 21H5",key:"150jfl"}]]),x=(0,d.A)("ArrowUpFromLine",[["path",{d:"m18 9-6-6-6 6",key:"kcunyi"}],["path",{d:"M12 3v14",key:"7cf3v8"}],["path",{d:"M5 21h14",key:"11awu3"}]]),g=(0,d.A)("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]),v=(0,d.A)("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]),y=(0,d.A)("SquareTerminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]]),b=(0,d.A)("Database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]),w=(0,d.A)("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);var j=r(3603);let N=o.forwardRef(({className:e,type:t,...r},n)=>(0,l.jsx)("input",{type:t,className:(0,j.cn)("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:n,...r}));N.displayName="Input";var C=r(1643);let k=(0,C.F)("relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"}},defaultVariants:{variant:"default"}}),S=o.forwardRef(({className:e,variant:t,...r},n)=>(0,l.jsx)("div",{ref:n,role:"alert",className:(0,j.cn)(k({variant:t}),e),...r}));S.displayName="Alert",o.forwardRef(({className:e,...t},r)=>(0,l.jsx)("h5",{ref:r,className:(0,j.cn)("mb-1 font-medium leading-none tracking-tight",e),...t})).displayName="AlertTitle";let R=o.forwardRef(({className:e,...t},r)=>(0,l.jsx)("div",{ref:r,className:(0,j.cn)("text-sm [&_p]:leading-relaxed",e),...t}));R.displayName="AlertDescription";var E=r(1412),T=r(9952),M=r(6004),A=r(643),D=r(830),_=r(9217),O=o.createContext(void 0);function P(e){let t=o.useContext(O);return e||t||"ltr"}var L=r(1675),I=0;function $(){o.useEffect(()=>{let e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??F()),document.body.insertAdjacentElement("beforeend",e[1]??F()),I++,()=>{1===I&&document.querySelectorAll("[data-radix-focus-guard]").forEach(e=>e.remove()),I--}},[])}function F(){let e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var U=r(2828),z="focusScope.autoFocusOnMount",B="focusScope.autoFocusOnUnmount",H={bubbles:!1,cancelable:!0},W=o.forwardRef((e,t)=>{let{loop:r=!1,trapped:n=!1,onMountAutoFocus:a,onUnmountAutoFocus:s,...i}=e,[c,d]=o.useState(null),u=(0,U.c)(a),f=(0,U.c)(s),m=o.useRef(null),p=(0,T.s)(t,e=>d(e)),h=o.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;o.useEffect(()=>{if(n){let e=function(e){if(h.paused||!c)return;let t=e.target;c.contains(t)?m.current=t:q(m.current,{select:!0})},t=function(e){if(h.paused||!c)return;let t=e.relatedTarget;null===t||c.contains(t)||q(m.current,{select:!0})};document.addEventListener("focusin",e),document.addEventListener("focusout",t);let r=new MutationObserver(function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&q(c)});return c&&r.observe(c,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",e),document.removeEventListener("focusout",t),r.disconnect()}}},[n,c,h.paused]),o.useEffect(()=>{if(c){G.add(h);let e=document.activeElement;if(!c.contains(e)){let t=new CustomEvent(z,H);c.addEventListener(z,u),c.dispatchEvent(t),t.defaultPrevented||(function(e,{select:t=!1}={}){let r=document.activeElement;for(let n of e)if(q(n,{select:t}),document.activeElement!==r)return}(V(c).filter(e=>"A"!==e.tagName),{select:!0}),document.activeElement===e&&q(c))}return()=>{c.removeEventListener(z,u),setTimeout(()=>{let t=new CustomEvent(B,H);c.addEventListener(B,f),c.dispatchEvent(t),t.defaultPrevented||q(e??document.body,{select:!0}),c.removeEventListener(B,f),G.remove(h)},0)}}},[c,u,f,h]);let x=o.useCallback(e=>{if(!r&&!n||h.paused)return;let t="Tab"===e.key&&!e.altKey&&!e.ctrlKey&&!e.metaKey,a=document.activeElement;if(t&&a){let t=e.currentTarget,[n,l]=function(e){let t=V(e);return[K(t,e),K(t.reverse(),e)]}(t);n&&l?e.shiftKey||a!==l?e.shiftKey&&a===n&&(e.preventDefault(),r&&q(l,{select:!0})):(e.preventDefault(),r&&q(n,{select:!0})):a===t&&e.preventDefault()}},[r,n,h.paused]);return(0,l.jsx)(D.sG.div,{tabIndex:-1,...i,ref:p,onKeyDown:x})});function V(e){let t=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t="INPUT"===e.tagName&&"hidden"===e.type;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)t.push(r.currentNode);return t}function K(e,t){for(let r of e)if(!function(e,{upTo:t}){if("hidden"===getComputedStyle(e).visibility)return!0;for(;e&&(void 0===t||e!==t);){if("none"===getComputedStyle(e).display)return!0;e=e.parentElement}return!1}(r,{upTo:t}))return r}function q(e,{select:t=!1}={}){if(e&&e.focus){var r;let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&(r=e)instanceof HTMLInputElement&&"select"in r&&t&&e.select()}}W.displayName="FocusScope";var G=function(){let e=[];return{add(t){let r=e[0];t!==r&&r?.pause(),(e=Y(e,t)).unshift(t)},remove(t){e=Y(e,t),e[0]?.resume()}}}();function Y(e,t){let r=[...e],n=r.indexOf(t);return -1!==n&&r.splice(n,1),r}var X=r(9397),Q=s["useId".toString()]||(()=>void 0),J=0;function Z(e){let[t,r]=o.useState(Q());return(0,X.N)(()=>{e||r(e=>e??String(J++))},[e]),e||(t?`radix-${t}`:"")}let ee=["top","right","bottom","left"],et=Math.min,er=Math.max,en=Math.round,ea=Math.floor,el=e=>({x:e,y:e}),eo={left:"right",right:"left",bottom:"top",top:"bottom"},es={start:"end",end:"start"};function ei(e,t){return"function"==typeof e?e(t):e}function ec(e){return e.split("-")[0]}function ed(e){return e.split("-")[1]}function eu(e){return"x"===e?"y":"x"}function ef(e){return"y"===e?"height":"width"}function em(e){return["top","bottom"].includes(ec(e))?"y":"x"}function ep(e){return e.replace(/start|end/g,e=>es[e])}function eh(e){return e.replace(/left|right|bottom|top/g,e=>eo[e])}function ex(e){return"number"!=typeof e?{top:0,right:0,bottom:0,left:0,...e}:{top:e,right:e,bottom:e,left:e}}function eg(e){let{x:t,y:r,width:n,height:a}=e;return{width:n,height:a,top:r,left:t,right:t+n,bottom:r+a,x:t,y:r}}function ev(e,t,r){let n,{reference:a,floating:l}=e,o=em(t),s=eu(em(t)),i=ef(s),c=ec(t),d="y"===o,u=a.x+a.width/2-l.width/2,f=a.y+a.height/2-l.height/2,m=a[i]/2-l[i]/2;switch(c){case"top":n={x:u,y:a.y-l.height};break;case"bottom":n={x:u,y:a.y+a.height};break;case"right":n={x:a.x+a.width,y:f};break;case"left":n={x:a.x-l.width,y:f};break;default:n={x:a.x,y:a.y}}switch(ed(t)){case"start":n[s]-=m*(r&&d?-1:1);break;case"end":n[s]+=m*(r&&d?-1:1)}return n}let ey=async(e,t,r)=>{let{placement:n="bottom",strategy:a="absolute",middleware:l=[],platform:o}=r,s=l.filter(Boolean),i=await (null==o.isRTL?void 0:o.isRTL(t)),c=await o.getElementRects({reference:e,floating:t,strategy:a}),{x:d,y:u}=ev(c,n,i),f=n,m={},p=0;for(let r=0;r<s.length;r++){let{name:l,fn:h}=s[r],{x:x,y:g,data:v,reset:y}=await h({x:d,y:u,initialPlacement:n,placement:f,strategy:a,middlewareData:m,rects:c,platform:o,elements:{reference:e,floating:t}});d=null!=x?x:d,u=null!=g?g:u,m={...m,[l]:{...m[l],...v}},y&&p<=50&&(p++,"object"==typeof y&&(y.placement&&(f=y.placement),y.rects&&(c=!0===y.rects?await o.getElementRects({reference:e,floating:t,strategy:a}):y.rects),{x:d,y:u}=ev(c,f,i)),r=-1)}return{x:d,y:u,placement:f,strategy:a,middlewareData:m}};async function eb(e,t){var r;void 0===t&&(t={});let{x:n,y:a,platform:l,rects:o,elements:s,strategy:i}=e,{boundary:c="clippingAncestors",rootBoundary:d="viewport",elementContext:u="floating",altBoundary:f=!1,padding:m=0}=ei(t,e),p=ex(m),h=s[f?"floating"===u?"reference":"floating":u],x=eg(await l.getClippingRect({element:null==(r=await (null==l.isElement?void 0:l.isElement(h)))||r?h:h.contextElement||await (null==l.getDocumentElement?void 0:l.getDocumentElement(s.floating)),boundary:c,rootBoundary:d,strategy:i})),g="floating"===u?{x:n,y:a,width:o.floating.width,height:o.floating.height}:o.reference,v=await (null==l.getOffsetParent?void 0:l.getOffsetParent(s.floating)),y=await (null==l.isElement?void 0:l.isElement(v))&&await (null==l.getScale?void 0:l.getScale(v))||{x:1,y:1},b=eg(l.convertOffsetParentRelativeRectToViewportRelativeRect?await l.convertOffsetParentRelativeRectToViewportRelativeRect({elements:s,rect:g,offsetParent:v,strategy:i}):g);return{top:(x.top-b.top+p.top)/y.y,bottom:(b.bottom-x.bottom+p.bottom)/y.y,left:(x.left-b.left+p.left)/y.x,right:(b.right-x.right+p.right)/y.x}}function ew(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function ej(e){return ee.some(t=>e[t]>=0)}async function eN(e,t){let{placement:r,platform:n,elements:a}=e,l=await (null==n.isRTL?void 0:n.isRTL(a.floating)),o=ec(r),s=ed(r),i="y"===em(r),c=["left","top"].includes(o)?-1:1,d=l&&i?-1:1,u=ei(t,e),{mainAxis:f,crossAxis:m,alignmentAxis:p}="number"==typeof u?{mainAxis:u,crossAxis:0,alignmentAxis:null}:{mainAxis:u.mainAxis||0,crossAxis:u.crossAxis||0,alignmentAxis:u.alignmentAxis};return s&&"number"==typeof p&&(m="end"===s?-1*p:p),i?{x:m*d,y:f*c}:{x:f*c,y:m*d}}function eC(){return"undefined"!=typeof window}function ek(e){return eE(e)?(e.nodeName||"").toLowerCase():"#document"}function eS(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function eR(e){var t;return null==(t=(eE(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function eE(e){return!!eC()&&(e instanceof Node||e instanceof eS(e).Node)}function eT(e){return!!eC()&&(e instanceof Element||e instanceof eS(e).Element)}function eM(e){return!!eC()&&(e instanceof HTMLElement||e instanceof eS(e).HTMLElement)}function eA(e){return!!eC()&&"undefined"!=typeof ShadowRoot&&(e instanceof ShadowRoot||e instanceof eS(e).ShadowRoot)}function eD(e){let{overflow:t,overflowX:r,overflowY:n,display:a}=eI(e);return/auto|scroll|overlay|hidden|clip/.test(t+n+r)&&!["inline","contents"].includes(a)}function e_(e){return[":popover-open",":modal"].some(t=>{try{return e.matches(t)}catch(e){return!1}})}function eO(e){let t=eP(),r=eT(e)?eI(e):e;return["transform","translate","scale","rotate","perspective"].some(e=>!!r[e]&&"none"!==r[e])||!!r.containerType&&"normal"!==r.containerType||!t&&!!r.backdropFilter&&"none"!==r.backdropFilter||!t&&!!r.filter&&"none"!==r.filter||["transform","translate","scale","rotate","perspective","filter"].some(e=>(r.willChange||"").includes(e))||["paint","layout","strict","content"].some(e=>(r.contain||"").includes(e))}function eP(){return"undefined"!=typeof CSS&&!!CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")}function eL(e){return["html","body","#document"].includes(ek(e))}function eI(e){return eS(e).getComputedStyle(e)}function e$(e){return eT(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function eF(e){if("html"===ek(e))return e;let t=e.assignedSlot||e.parentNode||eA(e)&&e.host||eR(e);return eA(t)?t.host:t}function eU(e,t,r){var n;void 0===t&&(t=[]),void 0===r&&(r=!0);let a=function e(t){let r=eF(t);return eL(r)?t.ownerDocument?t.ownerDocument.body:t.body:eM(r)&&eD(r)?r:e(r)}(e),l=a===(null==(n=e.ownerDocument)?void 0:n.body),o=eS(a);if(l){let e=ez(o);return t.concat(o,o.visualViewport||[],eD(a)?a:[],e&&r?eU(e):[])}return t.concat(a,eU(a,[],r))}function ez(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function eB(e){let t=eI(e),r=parseFloat(t.width)||0,n=parseFloat(t.height)||0,a=eM(e),l=a?e.offsetWidth:r,o=a?e.offsetHeight:n,s=en(r)!==l||en(n)!==o;return s&&(r=l,n=o),{width:r,height:n,$:s}}function eH(e){return eT(e)?e:e.contextElement}function eW(e){let t=eH(e);if(!eM(t))return el(1);let r=t.getBoundingClientRect(),{width:n,height:a,$:l}=eB(t),o=(l?en(r.width):r.width)/n,s=(l?en(r.height):r.height)/a;return o&&Number.isFinite(o)||(o=1),s&&Number.isFinite(s)||(s=1),{x:o,y:s}}let eV=el(0);function eK(e){let t=eS(e);return eP()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:eV}function eq(e,t,r,n){var a;void 0===t&&(t=!1),void 0===r&&(r=!1);let l=e.getBoundingClientRect(),o=eH(e),s=el(1);t&&(n?eT(n)&&(s=eW(n)):s=eW(e));let i=(void 0===(a=r)&&(a=!1),n&&(!a||n===eS(o))&&a)?eK(o):el(0),c=(l.left+i.x)/s.x,d=(l.top+i.y)/s.y,u=l.width/s.x,f=l.height/s.y;if(o){let e=eS(o),t=n&&eT(n)?eS(n):n,r=e,a=ez(r);for(;a&&n&&t!==r;){let e=eW(a),t=a.getBoundingClientRect(),n=eI(a),l=t.left+(a.clientLeft+parseFloat(n.paddingLeft))*e.x,o=t.top+(a.clientTop+parseFloat(n.paddingTop))*e.y;c*=e.x,d*=e.y,u*=e.x,f*=e.y,c+=l,d+=o,a=ez(r=eS(a))}}return eg({width:u,height:f,x:c,y:d})}function eG(e,t){let r=e$(e).scrollLeft;return t?t.left+r:eq(eR(e)).left+r}function eY(e,t,r){void 0===r&&(r=!1);let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-(r?0:eG(e,n)),y:n.top+t.scrollTop}}function eX(e,t,r){let n;if("viewport"===t)n=function(e,t){let r=eS(e),n=eR(e),a=r.visualViewport,l=n.clientWidth,o=n.clientHeight,s=0,i=0;if(a){l=a.width,o=a.height;let e=eP();(!e||e&&"fixed"===t)&&(s=a.offsetLeft,i=a.offsetTop)}return{width:l,height:o,x:s,y:i}}(e,r);else if("document"===t)n=function(e){let t=eR(e),r=e$(e),n=e.ownerDocument.body,a=er(t.scrollWidth,t.clientWidth,n.scrollWidth,n.clientWidth),l=er(t.scrollHeight,t.clientHeight,n.scrollHeight,n.clientHeight),o=-r.scrollLeft+eG(e),s=-r.scrollTop;return"rtl"===eI(n).direction&&(o+=er(t.clientWidth,n.clientWidth)-a),{width:a,height:l,x:o,y:s}}(eR(e));else if(eT(t))n=function(e,t){let r=eq(e,!0,"fixed"===t),n=r.top+e.clientTop,a=r.left+e.clientLeft,l=eM(e)?eW(e):el(1),o=e.clientWidth*l.x;return{width:o,height:e.clientHeight*l.y,x:a*l.x,y:n*l.y}}(t,r);else{let r=eK(e);n={x:t.x-r.x,y:t.y-r.y,width:t.width,height:t.height}}return eg(n)}function eQ(e){return"static"===eI(e).position}function eJ(e,t){if(!eM(e)||"fixed"===eI(e).position)return null;if(t)return t(e);let r=e.offsetParent;return eR(e)===r&&(r=r.ownerDocument.body),r}function eZ(e,t){let r=eS(e);if(e_(e))return r;if(!eM(e)){let t=eF(e);for(;t&&!eL(t);){if(eT(t)&&!eQ(t))return t;t=eF(t)}return r}let n=eJ(e,t);for(;n&&["table","td","th"].includes(ek(n))&&eQ(n);)n=eJ(n,t);return n&&eL(n)&&eQ(n)&&!eO(n)?r:n||function(e){let t=eF(e);for(;eM(t)&&!eL(t);){if(eO(t))return t;if(e_(t))break;t=eF(t)}return null}(e)||r}let e0=async function(e){let t=this.getOffsetParent||eZ,r=this.getDimensions,n=await r(e.floating);return{reference:function(e,t,r){let n=eM(t),a=eR(t),l="fixed"===r,o=eq(e,!0,l,t),s={scrollLeft:0,scrollTop:0},i=el(0);if(n||!n&&!l){if(("body"!==ek(t)||eD(a))&&(s=e$(t)),n){let e=eq(t,!0,l,t);i.x=e.x+t.clientLeft,i.y=e.y+t.clientTop}else a&&(i.x=eG(a))}let c=!a||n||l?el(0):eY(a,s);return{x:o.left+s.scrollLeft-i.x-c.x,y:o.top+s.scrollTop-i.y-c.y,width:o.width,height:o.height}}(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:n.width,height:n.height}}},e1={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:r,offsetParent:n,strategy:a}=e,l="fixed"===a,o=eR(n),s=!!t&&e_(t.floating);if(n===o||s&&l)return r;let i={scrollLeft:0,scrollTop:0},c=el(1),d=el(0),u=eM(n);if((u||!u&&!l)&&(("body"!==ek(n)||eD(o))&&(i=e$(n)),eM(n))){let e=eq(n);c=eW(n),d.x=e.x+n.clientLeft,d.y=e.y+n.clientTop}let f=!o||u||l?el(0):eY(o,i,!0);return{width:r.width*c.x,height:r.height*c.y,x:r.x*c.x-i.scrollLeft*c.x+d.x+f.x,y:r.y*c.y-i.scrollTop*c.y+d.y+f.y}},getDocumentElement:eR,getClippingRect:function(e){let{element:t,boundary:r,rootBoundary:n,strategy:a}=e,l=[..."clippingAncestors"===r?e_(t)?[]:function(e,t){let r=t.get(e);if(r)return r;let n=eU(e,[],!1).filter(e=>eT(e)&&"body"!==ek(e)),a=null,l="fixed"===eI(e).position,o=l?eF(e):e;for(;eT(o)&&!eL(o);){let t=eI(o),r=eO(o);r||"fixed"!==t.position||(a=null),(l?!r&&!a:!r&&"static"===t.position&&!!a&&["absolute","fixed"].includes(a.position)||eD(o)&&!r&&function e(t,r){let n=eF(t);return!(n===r||!eT(n)||eL(n))&&("fixed"===eI(n).position||e(n,r))}(e,o))?n=n.filter(e=>e!==o):a=t,o=eF(o)}return t.set(e,n),n}(t,this._c):[].concat(r),n],o=l[0],s=l.reduce((e,r)=>{let n=eX(t,r,a);return e.top=er(n.top,e.top),e.right=et(n.right,e.right),e.bottom=et(n.bottom,e.bottom),e.left=er(n.left,e.left),e},eX(t,o,a));return{width:s.right-s.left,height:s.bottom-s.top,x:s.left,y:s.top}},getOffsetParent:eZ,getElementRects:e0,getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){let{width:t,height:r}=eB(e);return{width:t,height:r}},getScale:eW,isElement:eT,isRTL:function(e){return"rtl"===eI(e).direction}};function e2(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}let e5=e=>({name:"arrow",options:e,async fn(t){let{x:r,y:n,placement:a,rects:l,platform:o,elements:s,middlewareData:i}=t,{element:c,padding:d=0}=ei(e,t)||{};if(null==c)return{};let u=ex(d),f={x:r,y:n},m=eu(em(a)),p=ef(m),h=await o.getDimensions(c),x="y"===m,g=x?"clientHeight":"clientWidth",v=l.reference[p]+l.reference[m]-f[m]-l.floating[p],y=f[m]-l.reference[m],b=await (null==o.getOffsetParent?void 0:o.getOffsetParent(c)),w=b?b[g]:0;w&&await (null==o.isElement?void 0:o.isElement(b))||(w=s.floating[g]||l.floating[p]);let j=w/2-h[p]/2-1,N=et(u[x?"top":"left"],j),C=et(u[x?"bottom":"right"],j),k=w-h[p]-C,S=w/2-h[p]/2+(v/2-y/2),R=er(N,et(S,k)),E=!i.arrow&&null!=ed(a)&&S!==R&&l.reference[p]/2-(S<N?N:C)-h[p]/2<0,T=E?S<N?S-N:S-k:0;return{[m]:f[m]+T,data:{[m]:R,centerOffset:S-R-T,...E&&{alignmentOffset:T}},reset:E}}}),e4=(e,t,r)=>{let n=new Map,a={platform:e1,...r},l={...a.platform,_c:n};return ey(e,t,{...a,platform:l})};var e3=r(5740),e6="undefined"!=typeof document?o.useLayoutEffect:o.useEffect;function e8(e,t){let r,n,a;if(e===t)return!0;if(typeof e!=typeof t)return!1;if("function"==typeof e&&e.toString()===t.toString())return!0;if(e&&t&&"object"==typeof e){if(Array.isArray(e)){if((r=e.length)!==t.length)return!1;for(n=r;0!=n--;)if(!e8(e[n],t[n]))return!1;return!0}if((r=(a=Object.keys(e)).length)!==Object.keys(t).length)return!1;for(n=r;0!=n--;)if(!({}).hasOwnProperty.call(t,a[n]))return!1;for(n=r;0!=n--;){let r=a[n];if(("_owner"!==r||!e.$$typeof)&&!e8(e[r],t[r]))return!1}return!0}return e!=e&&t!=t}function e9(e){return"undefined"==typeof window?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function e7(e,t){let r=e9(e);return Math.round(t*r)/r}function te(e){let t=o.useRef(e);return e6(()=>{t.current=e}),t}let tt=e=>({name:"arrow",options:e,fn(t){let{element:r,padding:n}="function"==typeof e?e(t):e;return r&&({}).hasOwnProperty.call(r,"current")?null!=r.current?e5({element:r.current,padding:n}).fn(t):{}:r?e5({element:r,padding:n}).fn(t):{}}}),tr=(e,t)=>({...function(e){return void 0===e&&(e=0),{name:"offset",options:e,async fn(t){var r,n;let{x:a,y:l,placement:o,middlewareData:s}=t,i=await eN(t,e);return o===(null==(r=s.offset)?void 0:r.placement)&&null!=(n=s.arrow)&&n.alignmentOffset?{}:{x:a+i.x,y:l+i.y,data:{...i,placement:o}}}}}(e),options:[e,t]}),tn=(e,t)=>({...function(e){return void 0===e&&(e={}),{name:"shift",options:e,async fn(t){let{x:r,y:n,placement:a}=t,{mainAxis:l=!0,crossAxis:o=!1,limiter:s={fn:e=>{let{x:t,y:r}=e;return{x:t,y:r}}},...i}=ei(e,t),c={x:r,y:n},d=await eb(t,i),u=em(ec(a)),f=eu(u),m=c[f],p=c[u];if(l){let e="y"===f?"top":"left",t="y"===f?"bottom":"right",r=m+d[e],n=m-d[t];m=er(r,et(m,n))}if(o){let e="y"===u?"top":"left",t="y"===u?"bottom":"right",r=p+d[e],n=p-d[t];p=er(r,et(p,n))}let h=s.fn({...t,[f]:m,[u]:p});return{...h,data:{x:h.x-r,y:h.y-n,enabled:{[f]:l,[u]:o}}}}}}(e),options:[e,t]}),ta=(e,t)=>({...function(e){return void 0===e&&(e={}),{options:e,fn(t){let{x:r,y:n,placement:a,rects:l,middlewareData:o}=t,{offset:s=0,mainAxis:i=!0,crossAxis:c=!0}=ei(e,t),d={x:r,y:n},u=em(a),f=eu(u),m=d[f],p=d[u],h=ei(s,t),x="number"==typeof h?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(i){let e="y"===f?"height":"width",t=l.reference[f]-l.floating[e]+x.mainAxis,r=l.reference[f]+l.reference[e]-x.mainAxis;m<t?m=t:m>r&&(m=r)}if(c){var g,v;let e="y"===f?"width":"height",t=["top","left"].includes(ec(a)),r=l.reference[u]-l.floating[e]+(t&&(null==(g=o.offset)?void 0:g[u])||0)+(t?0:x.crossAxis),n=l.reference[u]+l.reference[e]+(t?0:(null==(v=o.offset)?void 0:v[u])||0)-(t?x.crossAxis:0);p<r?p=r:p>n&&(p=n)}return{[f]:m,[u]:p}}}}(e),options:[e,t]}),tl=(e,t)=>({...function(e){return void 0===e&&(e={}),{name:"flip",options:e,async fn(t){var r,n,a,l,o;let{placement:s,middlewareData:i,rects:c,initialPlacement:d,platform:u,elements:f}=t,{mainAxis:m=!0,crossAxis:p=!0,fallbackPlacements:h,fallbackStrategy:x="bestFit",fallbackAxisSideDirection:g="none",flipAlignment:v=!0,...y}=ei(e,t);if(null!=(r=i.arrow)&&r.alignmentOffset)return{};let b=ec(s),w=em(d),j=ec(d)===d,N=await (null==u.isRTL?void 0:u.isRTL(f.floating)),C=h||(j||!v?[eh(d)]:function(e){let t=eh(e);return[ep(e),t,ep(t)]}(d)),k="none"!==g;!h&&k&&C.push(...function(e,t,r,n){let a=ed(e),l=function(e,t,r){let n=["left","right"],a=["right","left"];switch(e){case"top":case"bottom":if(r)return t?a:n;return t?n:a;case"left":case"right":return t?["top","bottom"]:["bottom","top"];default:return[]}}(ec(e),"start"===r,n);return a&&(l=l.map(e=>e+"-"+a),t&&(l=l.concat(l.map(ep)))),l}(d,v,g,N));let S=[d,...C],R=await eb(t,y),E=[],T=(null==(n=i.flip)?void 0:n.overflows)||[];if(m&&E.push(R[b]),p){let e=function(e,t,r){void 0===r&&(r=!1);let n=ed(e),a=eu(em(e)),l=ef(a),o="x"===a?n===(r?"end":"start")?"right":"left":"start"===n?"bottom":"top";return t.reference[l]>t.floating[l]&&(o=eh(o)),[o,eh(o)]}(s,c,N);E.push(R[e[0]],R[e[1]])}if(T=[...T,{placement:s,overflows:E}],!E.every(e=>e<=0)){let e=((null==(a=i.flip)?void 0:a.index)||0)+1,t=S[e];if(t)return{data:{index:e,overflows:T},reset:{placement:t}};let r=null==(l=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0])?void 0:l.placement;if(!r)switch(x){case"bestFit":{let e=null==(o=T.filter(e=>{if(k){let t=em(e.placement);return t===w||"y"===t}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0])?void 0:o[0];e&&(r=e);break}case"initialPlacement":r=d}if(s!==r)return{reset:{placement:r}}}return{}}}}(e),options:[e,t]}),to=(e,t)=>({...function(e){return void 0===e&&(e={}),{name:"size",options:e,async fn(t){var r,n;let a,l;let{placement:o,rects:s,platform:i,elements:c}=t,{apply:d=()=>{},...u}=ei(e,t),f=await eb(t,u),m=ec(o),p=ed(o),h="y"===em(o),{width:x,height:g}=s.floating;"top"===m||"bottom"===m?(a=m,l=p===(await (null==i.isRTL?void 0:i.isRTL(c.floating))?"start":"end")?"left":"right"):(l=m,a="end"===p?"top":"bottom");let v=g-f.top-f.bottom,y=x-f.left-f.right,b=et(g-f[a],v),w=et(x-f[l],y),j=!t.middlewareData.shift,N=b,C=w;if(null!=(r=t.middlewareData.shift)&&r.enabled.x&&(C=y),null!=(n=t.middlewareData.shift)&&n.enabled.y&&(N=v),j&&!p){let e=er(f.left,0),t=er(f.right,0),r=er(f.top,0),n=er(f.bottom,0);h?C=x-2*(0!==e||0!==t?e+t:er(f.left,f.right)):N=g-2*(0!==r||0!==n?r+n:er(f.top,f.bottom))}await d({...t,availableWidth:C,availableHeight:N});let k=await i.getDimensions(c.floating);return x!==k.width||g!==k.height?{reset:{rects:!0}}:{}}}}(e),options:[e,t]}),ts=(e,t)=>({...function(e){return void 0===e&&(e={}),{name:"hide",options:e,async fn(t){let{rects:r}=t,{strategy:n="referenceHidden",...a}=ei(e,t);switch(n){case"referenceHidden":{let e=ew(await eb(t,{...a,elementContext:"reference"}),r.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:ej(e)}}}case"escaped":{let e=ew(await eb(t,{...a,altBoundary:!0}),r.floating);return{data:{escapedOffsets:e,escaped:ej(e)}}}default:return{}}}}}(e),options:[e,t]}),ti=(e,t)=>({...tt(e),options:[e,t]});var tc=o.forwardRef((e,t)=>{let{children:r,width:n=10,height:a=5,...o}=e;return(0,l.jsx)(D.sG.svg,{...o,ref:t,width:n,height:a,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?r:(0,l.jsx)("polygon",{points:"0,0 30,0 15,10"})})});function td(e){let[t,r]=o.useState(void 0);return(0,X.N)(()=>{if(e){r({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{let n,a;if(!Array.isArray(t)||!t.length)return;let l=t[0];if("borderBoxSize"in l){let e=l.borderBoxSize,t=Array.isArray(e)?e[0]:e;n=t.inlineSize,a=t.blockSize}else n=e.offsetWidth,a=e.offsetHeight;r({width:n,height:a})});return t.observe(e,{box:"border-box"}),()=>t.unobserve(e)}r(void 0)},[e]),t}tc.displayName="Arrow";var tu="Popper",[tf,tm]=(0,M.A)(tu),[tp,th]=tf(tu),tx=e=>{let{__scopePopper:t,children:r}=e,[n,a]=o.useState(null);return(0,l.jsx)(tp,{scope:t,anchor:n,onAnchorChange:a,children:r})};tx.displayName=tu;var tg="PopperAnchor",tv=o.forwardRef((e,t)=>{let{__scopePopper:r,virtualRef:n,...a}=e,s=th(tg,r),i=o.useRef(null),c=(0,T.s)(t,i);return o.useEffect(()=>{s.onAnchorChange(n?.current||i.current)}),n?null:(0,l.jsx)(D.sG.div,{...a,ref:c})});tv.displayName=tg;var ty="PopperContent",[tb,tw]=tf(ty),tj=o.forwardRef((e,t)=>{let{__scopePopper:r,side:n="bottom",sideOffset:a=0,align:s="center",alignOffset:i=0,arrowPadding:c=0,avoidCollisions:d=!0,collisionBoundary:u=[],collisionPadding:f=0,sticky:m="partial",hideWhenDetached:p=!1,updatePositionStrategy:h="optimized",onPlaced:x,...g}=e,v=th(ty,r),[y,b]=o.useState(null),w=(0,T.s)(t,e=>b(e)),[j,N]=o.useState(null),C=td(j),k=C?.width??0,S=C?.height??0,R="number"==typeof f?f:{top:0,right:0,bottom:0,left:0,...f},E=Array.isArray(u)?u:[u],M=E.length>0,A={padding:R,boundary:E.filter(tS),altBoundary:M},{refs:_,floatingStyles:O,placement:P,isPositioned:L,middlewareData:I}=function(e){void 0===e&&(e={});let{placement:t="bottom",strategy:r="absolute",middleware:n=[],platform:a,elements:{reference:l,floating:s}={},transform:i=!0,whileElementsMounted:c,open:d}=e,[u,f]=o.useState({x:0,y:0,strategy:r,placement:t,middlewareData:{},isPositioned:!1}),[m,p]=o.useState(n);e8(m,n)||p(n);let[h,x]=o.useState(null),[g,v]=o.useState(null),y=o.useCallback(e=>{e!==N.current&&(N.current=e,x(e))},[]),b=o.useCallback(e=>{e!==C.current&&(C.current=e,v(e))},[]),w=l||h,j=s||g,N=o.useRef(null),C=o.useRef(null),k=o.useRef(u),S=null!=c,R=te(c),E=te(a),T=te(d),M=o.useCallback(()=>{if(!N.current||!C.current)return;let e={placement:t,strategy:r,middleware:m};E.current&&(e.platform=E.current),e4(N.current,C.current,e).then(e=>{let t={...e,isPositioned:!1!==T.current};A.current&&!e8(k.current,t)&&(k.current=t,e3.flushSync(()=>{f(t)}))})},[m,t,r,E,T]);e6(()=>{!1===d&&k.current.isPositioned&&(k.current.isPositioned=!1,f(e=>({...e,isPositioned:!1})))},[d]);let A=o.useRef(!1);e6(()=>(A.current=!0,()=>{A.current=!1}),[]),e6(()=>{if(w&&(N.current=w),j&&(C.current=j),w&&j){if(R.current)return R.current(w,j,M);M()}},[w,j,M,R,S]);let D=o.useMemo(()=>({reference:N,floating:C,setReference:y,setFloating:b}),[y,b]),_=o.useMemo(()=>({reference:w,floating:j}),[w,j]),O=o.useMemo(()=>{let e={position:r,left:0,top:0};if(!_.floating)return e;let t=e7(_.floating,u.x),n=e7(_.floating,u.y);return i?{...e,transform:"translate("+t+"px, "+n+"px)",...e9(_.floating)>=1.5&&{willChange:"transform"}}:{position:r,left:t,top:n}},[r,i,_.floating,u.x,u.y]);return o.useMemo(()=>({...u,update:M,refs:D,elements:_,floatingStyles:O}),[u,M,D,_,O])}({strategy:"fixed",placement:n+("center"!==s?"-"+s:""),whileElementsMounted:(...e)=>(function(e,t,r,n){let a;void 0===n&&(n={});let{ancestorScroll:l=!0,ancestorResize:o=!0,elementResize:s="function"==typeof ResizeObserver,layoutShift:i="function"==typeof IntersectionObserver,animationFrame:c=!1}=n,d=eH(e),u=l||o?[...d?eU(d):[],...eU(t)]:[];u.forEach(e=>{l&&e.addEventListener("scroll",r,{passive:!0}),o&&e.addEventListener("resize",r)});let f=d&&i?function(e,t){let r,n=null,a=eR(e);function l(){var e;clearTimeout(r),null==(e=n)||e.disconnect(),n=null}return function o(s,i){void 0===s&&(s=!1),void 0===i&&(i=1),l();let c=e.getBoundingClientRect(),{left:d,top:u,width:f,height:m}=c;if(s||t(),!f||!m)return;let p=ea(u),h=ea(a.clientWidth-(d+f)),x={rootMargin:-p+"px "+-h+"px "+-ea(a.clientHeight-(u+m))+"px "+-ea(d)+"px",threshold:er(0,et(1,i))||1},g=!0;function v(t){let n=t[0].intersectionRatio;if(n!==i){if(!g)return o();n?o(!1,n):r=setTimeout(()=>{o(!1,1e-7)},1e3)}1!==n||e2(c,e.getBoundingClientRect())||o(),g=!1}try{n=new IntersectionObserver(v,{...x,root:a.ownerDocument})}catch(e){n=new IntersectionObserver(v,x)}n.observe(e)}(!0),l}(d,r):null,m=-1,p=null;s&&(p=new ResizeObserver(e=>{let[n]=e;n&&n.target===d&&p&&(p.unobserve(t),cancelAnimationFrame(m),m=requestAnimationFrame(()=>{var e;null==(e=p)||e.observe(t)})),r()}),d&&!c&&p.observe(d),p.observe(t));let h=c?eq(e):null;return c&&function t(){let n=eq(e);h&&!e2(h,n)&&r(),h=n,a=requestAnimationFrame(t)}(),r(),()=>{var e;u.forEach(e=>{l&&e.removeEventListener("scroll",r),o&&e.removeEventListener("resize",r)}),null==f||f(),null==(e=p)||e.disconnect(),p=null,c&&cancelAnimationFrame(a)}})(...e,{animationFrame:"always"===h}),elements:{reference:v.anchor},middleware:[tr({mainAxis:a+S,alignmentAxis:i}),d&&tn({mainAxis:!0,crossAxis:!1,limiter:"partial"===m?ta():void 0,...A}),d&&tl({...A}),to({...A,apply:({elements:e,rects:t,availableWidth:r,availableHeight:n})=>{let{width:a,height:l}=t.reference,o=e.floating.style;o.setProperty("--radix-popper-available-width",`${r}px`),o.setProperty("--radix-popper-available-height",`${n}px`),o.setProperty("--radix-popper-anchor-width",`${a}px`),o.setProperty("--radix-popper-anchor-height",`${l}px`)}}),j&&ti({element:j,padding:c}),tR({arrowWidth:k,arrowHeight:S}),p&&ts({strategy:"referenceHidden",...A})]}),[$,F]=tE(P),z=(0,U.c)(x);(0,X.N)(()=>{L&&z?.()},[L,z]);let B=I.arrow?.x,H=I.arrow?.y,W=I.arrow?.centerOffset!==0,[V,K]=o.useState();return(0,X.N)(()=>{y&&K(window.getComputedStyle(y).zIndex)},[y]),(0,l.jsx)("div",{ref:_.setFloating,"data-radix-popper-content-wrapper":"",style:{...O,transform:L?O.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:V,"--radix-popper-transform-origin":[I.transformOrigin?.x,I.transformOrigin?.y].join(" "),...I.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:(0,l.jsx)(tb,{scope:r,placedSide:$,onArrowChange:N,arrowX:B,arrowY:H,shouldHideArrow:W,children:(0,l.jsx)(D.sG.div,{"data-side":$,"data-align":F,...g,ref:w,style:{...g.style,animation:L?void 0:"none"}})})})});tj.displayName=ty;var tN="PopperArrow",tC={top:"bottom",right:"left",bottom:"top",left:"right"},tk=o.forwardRef(function(e,t){let{__scopePopper:r,...n}=e,a=tw(tN,r),o=tC[a.placedSide];return(0,l.jsx)("span",{ref:a.onArrowChange,style:{position:"absolute",left:a.arrowX,top:a.arrowY,[o]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[a.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[a.placedSide],visibility:a.shouldHideArrow?"hidden":void 0},children:(0,l.jsx)(tc,{...n,ref:t,style:{...n.style,display:"block"}})})});function tS(e){return null!==e}tk.displayName=tN;var tR=e=>({name:"transformOrigin",options:e,fn(t){let{placement:r,rects:n,middlewareData:a}=t,l=a.arrow?.centerOffset!==0,o=l?0:e.arrowWidth,s=l?0:e.arrowHeight,[i,c]=tE(r),d={start:"0%",center:"50%",end:"100%"}[c],u=(a.arrow?.x??0)+o/2,f=(a.arrow?.y??0)+s/2,m="",p="";return"bottom"===i?(m=l?d:`${u}px`,p=`${-s}px`):"top"===i?(m=l?d:`${u}px`,p=`${n.floating.height+s}px`):"right"===i?(m=`${-s}px`,p=l?d:`${f}px`):"left"===i&&(m=`${n.floating.width+s}px`,p=l?d:`${f}px`),{data:{x:m,y:p}}}});function tE(e){let[t,r="center"]=e.split("-");return[t,r]}var tT=r(707),tM=r(8060),tA="rovingFocusGroup.onEntryFocus",tD={bubbles:!1,cancelable:!0},t_="RovingFocusGroup",[tO,tP,tL]=(0,_.N)(t_),[tI,t$]=(0,M.A)(t_,[tL]),[tF,tU]=tI(t_),tz=o.forwardRef((e,t)=>(0,l.jsx)(tO.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,l.jsx)(tO.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,l.jsx)(tB,{...e,ref:t})})}));tz.displayName=t_;var tB=o.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:r,orientation:n,loop:a=!1,dir:s,currentTabStopId:i,defaultCurrentTabStopId:c,onCurrentTabStopIdChange:d,onEntryFocus:u,preventScrollOnEntryFocus:f=!1,...m}=e,p=o.useRef(null),h=(0,T.s)(t,p),x=P(s),[g=null,v]=(0,A.i)({prop:i,defaultProp:c,onChange:d}),[y,b]=o.useState(!1),w=(0,U.c)(u),j=tP(r),N=o.useRef(!1),[C,k]=o.useState(0);return o.useEffect(()=>{let e=p.current;if(e)return e.addEventListener(tA,w),()=>e.removeEventListener(tA,w)},[w]),(0,l.jsx)(tF,{scope:r,orientation:n,dir:x,loop:a,currentTabStopId:g,onItemFocus:o.useCallback(e=>v(e),[v]),onItemShiftTab:o.useCallback(()=>b(!0),[]),onFocusableItemAdd:o.useCallback(()=>k(e=>e+1),[]),onFocusableItemRemove:o.useCallback(()=>k(e=>e-1),[]),children:(0,l.jsx)(D.sG.div,{tabIndex:y||0===C?-1:0,"data-orientation":n,...m,ref:h,style:{outline:"none",...e.style},onMouseDown:(0,E.m)(e.onMouseDown,()=>{N.current=!0}),onFocus:(0,E.m)(e.onFocus,e=>{let t=!N.current;if(e.target===e.currentTarget&&t&&!y){let t=new CustomEvent(tA,tD);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=j().filter(e=>e.focusable);tK([e.find(e=>e.active),e.find(e=>e.id===g),...e].filter(Boolean).map(e=>e.ref.current),f)}}N.current=!1}),onBlur:(0,E.m)(e.onBlur,()=>b(!1))})})}),tH="RovingFocusGroupItem",tW=o.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:r,focusable:n=!0,active:a=!1,tabStopId:s,...i}=e,c=Z(),d=s||c,u=tU(tH,r),f=u.currentTabStopId===d,m=tP(r),{onFocusableItemAdd:p,onFocusableItemRemove:h}=u;return o.useEffect(()=>{if(n)return p(),()=>h()},[n,p,h]),(0,l.jsx)(tO.ItemSlot,{scope:r,id:d,focusable:n,active:a,children:(0,l.jsx)(D.sG.span,{tabIndex:f?0:-1,"data-orientation":u.orientation,...i,ref:t,onMouseDown:(0,E.m)(e.onMouseDown,e=>{n?u.onItemFocus(d):e.preventDefault()}),onFocus:(0,E.m)(e.onFocus,()=>u.onItemFocus(d)),onKeyDown:(0,E.m)(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey){u.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=function(e,t,r){var n;let a=(n=e.key,"rtl"!==r?n:"ArrowLeft"===n?"ArrowRight":"ArrowRight"===n?"ArrowLeft":n);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(a))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(a)))return tV[a]}(e,u.orientation,u.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let r=m().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)r.reverse();else if("prev"===t||"next"===t){"prev"===t&&r.reverse();let n=r.indexOf(e.currentTarget);r=u.loop?function(e,t){return e.map((r,n)=>e[(t+n)%e.length])}(r,n+1):r.slice(n+1)}setTimeout(()=>tK(r))}})})})});tW.displayName=tH;var tV={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function tK(e,t=!1){let r=document.activeElement;for(let n of e)if(n===r||(n.focus({preventScroll:t}),document.activeElement!==r))return}var tq=r(2705),tG=new WeakMap,tY=new WeakMap,tX={},tQ=0,tJ=function(e){return e&&(e.host||tJ(e.parentNode))},tZ=function(e,t,r,n){var a=(Array.isArray(e)?e:[e]).map(function(e){if(t.contains(e))return e;var r=tJ(e);return r&&t.contains(r)?r:(console.error("aria-hidden",e,"in not contained inside",t,". Doing nothing"),null)}).filter(function(e){return!!e});tX[r]||(tX[r]=new WeakMap);var l=tX[r],o=[],s=new Set,i=new Set(a),c=function(e){!e||s.has(e)||(s.add(e),c(e.parentNode))};a.forEach(c);var d=function(e){!e||i.has(e)||Array.prototype.forEach.call(e.children,function(e){if(s.has(e))d(e);else try{var t=e.getAttribute(n),a=null!==t&&"false"!==t,i=(tG.get(e)||0)+1,c=(l.get(e)||0)+1;tG.set(e,i),l.set(e,c),o.push(e),1===i&&a&&tY.set(e,!0),1===c&&e.setAttribute(r,"true"),a||e.setAttribute(n,"true")}catch(t){console.error("aria-hidden: cannot operate on ",e,t)}})};return d(t),s.clear(),tQ++,function(){o.forEach(function(e){var t=tG.get(e)-1,a=l.get(e)-1;tG.set(e,t),l.set(e,a),t||(tY.has(e)||e.removeAttribute(n),tY.delete(e)),a||e.removeAttribute(r)}),--tQ||(tG=new WeakMap,tG=new WeakMap,tY=new WeakMap,tX={})}},t0=function(e,t,r){void 0===r&&(r="data-aria-hidden");var n,a=Array.from(Array.isArray(e)?e:[e]),l=t||(n=e,"undefined"==typeof document?null:(Array.isArray(n)?n[0]:n).ownerDocument.body);return l?(a.push.apply(a,Array.from(l.querySelectorAll("[aria-live]"))),tZ(a,l,r,"aria-hidden")):function(){return null}},t1=function(){return(t1=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var a in t=arguments[r])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e}).apply(this,arguments)};function t2(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&0>t.indexOf(n)&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var a=0,n=Object.getOwnPropertySymbols(e);a<n.length;a++)0>t.indexOf(n[a])&&Object.prototype.propertyIsEnumerable.call(e,n[a])&&(r[n[a]]=e[n[a]]);return r}Object.create,Object.create;var t5=("function"==typeof SuppressedError&&SuppressedError,"right-scroll-bar-position"),t4="width-before-scroll-bar";function t3(e,t){return"function"==typeof e?e(t):e&&(e.current=t),e}var t6="undefined"!=typeof window?o.useLayoutEffect:o.useEffect,t8=new WeakMap;function t9(e){return e}var t7=function(e){void 0===e&&(e={});var t,r,n,a=(void 0===t&&(t=t9),r=[],n=!1,{read:function(){if(n)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return r.length?r[r.length-1]:null},useMedium:function(e){var a=t(e,n);return r.push(a),function(){r=r.filter(function(e){return e!==a})}},assignSyncMedium:function(e){for(n=!0;r.length;){var t=r;r=[],t.forEach(e)}r={push:function(t){return e(t)},filter:function(){return r}}},assignMedium:function(e){n=!0;var t=[];if(r.length){var a=r;r=[],a.forEach(e),t=r}var l=function(){var r=t;t=[],r.forEach(e)},o=function(){return Promise.resolve().then(l)};o(),r={push:function(e){t.push(e),o()},filter:function(e){return t=t.filter(e),r}}}});return a.options=t1({async:!0,ssr:!1},e),a}(),re=function(){},rt=o.forwardRef(function(e,t){var r,n,a,l,s=o.useRef(null),i=o.useState({onScrollCapture:re,onWheelCapture:re,onTouchMoveCapture:re}),c=i[0],d=i[1],u=e.forwardProps,f=e.children,m=e.className,p=e.removeScrollBar,h=e.enabled,x=e.shards,g=e.sideCar,v=e.noIsolation,y=e.inert,b=e.allowPinchZoom,w=e.as,j=e.gapMode,N=t2(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","as","gapMode"]),C=(r=[s,t],n=function(e){return r.forEach(function(t){return t3(t,e)})},(a=(0,o.useState)(function(){return{value:null,callback:n,facade:{get current(){return a.value},set current(value){var e=a.value;e!==value&&(a.value=value,a.callback(value,e))}}}})[0]).callback=n,l=a.facade,t6(function(){var e=t8.get(l);if(e){var t=new Set(e),n=new Set(r),a=l.current;t.forEach(function(e){n.has(e)||t3(e,null)}),n.forEach(function(e){t.has(e)||t3(e,a)})}t8.set(l,r)},[r]),l),k=t1(t1({},N),c);return o.createElement(o.Fragment,null,h&&o.createElement(g,{sideCar:t7,removeScrollBar:p,shards:x,noIsolation:v,inert:y,setCallbacks:d,allowPinchZoom:!!b,lockRef:s,gapMode:j}),u?o.cloneElement(o.Children.only(f),t1(t1({},k),{ref:C})):o.createElement(void 0===w?"div":w,t1({},k,{className:m,ref:C}),f))});rt.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},rt.classNames={fullWidth:t4,zeroRight:t5};var rr=function(e){var t=e.sideCar,r=t2(e,["sideCar"]);if(!t)throw Error("Sidecar: please provide `sideCar` property to import the right car");var n=t.read();if(!n)throw Error("Sidecar medium not found");return o.createElement(n,t1({},r))};rr.isSideCarExport=!0;var rn=function(){var e=0,t=null;return{add:function(n){if(0==e&&(t=function(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=a||r.nc;return t&&e.setAttribute("nonce",t),e}())){var l,o;(l=t).styleSheet?l.styleSheet.cssText=n:l.appendChild(document.createTextNode(n)),o=t,(document.head||document.getElementsByTagName("head")[0]).appendChild(o)}e++},remove:function(){--e||!t||(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},ra=function(){var e=rn();return function(t,r){o.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&r])}},rl=function(){var e=ra();return function(t){return e(t.styles,t.dynamic),null}},ro={left:0,top:0,right:0,gap:0},rs=function(e){return parseInt(e||"",10)||0},ri=function(e){var t=window.getComputedStyle(document.body),r=t["padding"===e?"paddingLeft":"marginLeft"],n=t["padding"===e?"paddingTop":"marginTop"],a=t["padding"===e?"paddingRight":"marginRight"];return[rs(r),rs(n),rs(a)]},rc=function(e){if(void 0===e&&(e="margin"),"undefined"==typeof window)return ro;var t=ri(e),r=document.documentElement.clientWidth,n=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,n-r+t[2]-t[0])}},rd=rl(),ru="data-scroll-locked",rf=function(e,t,r,n){var a=e.left,l=e.top,o=e.right,s=e.gap;return void 0===r&&(r="margin"),"\n .".concat("with-scroll-bars-hidden"," {\n overflow: hidden ").concat(n,";\n padding-right: ").concat(s,"px ").concat(n,";\n }\n body[").concat(ru,"] {\n overflow: hidden ").concat(n,";\n overscroll-behavior: contain;\n ").concat([t&&"position: relative ".concat(n,";"),"margin"===r&&"\n padding-left: ".concat(a,"px;\n padding-top: ").concat(l,"px;\n padding-right: ").concat(o,"px;\n margin-left:0;\n margin-top:0;\n margin-right: ").concat(s,"px ").concat(n,";\n "),"padding"===r&&"padding-right: ".concat(s,"px ").concat(n,";")].filter(Boolean).join(""),"\n }\n \n .").concat(t5," {\n right: ").concat(s,"px ").concat(n,";\n }\n \n .").concat(t4," {\n margin-right: ").concat(s,"px ").concat(n,";\n }\n \n .").concat(t5," .").concat(t5," {\n right: 0 ").concat(n,";\n }\n \n .").concat(t4," .").concat(t4," {\n margin-right: 0 ").concat(n,";\n }\n \n body[").concat(ru,"] {\n ").concat("--removed-body-scroll-bar-size",": ").concat(s,"px;\n }\n")},rm=function(){var e=parseInt(document.body.getAttribute(ru)||"0",10);return isFinite(e)?e:0},rp=function(){o.useEffect(function(){return document.body.setAttribute(ru,(rm()+1).toString()),function(){var e=rm()-1;e<=0?document.body.removeAttribute(ru):document.body.setAttribute(ru,e.toString())}},[])},rh=function(e){var t=e.noRelative,r=e.noImportant,n=e.gapMode,a=void 0===n?"margin":n;rp();var l=o.useMemo(function(){return rc(a)},[a]);return o.createElement(rd,{styles:rf(l,!t,a,r?"":"!important")})},rx=!1;if("undefined"!=typeof window)try{var rg=Object.defineProperty({},"passive",{get:function(){return rx=!0,!0}});window.addEventListener("test",rg,rg),window.removeEventListener("test",rg,rg)}catch(e){rx=!1}var rv=!!rx&&{passive:!1},ry=function(e,t){if(!(e instanceof Element))return!1;var r=window.getComputedStyle(e);return"hidden"!==r[t]&&!(r.overflowY===r.overflowX&&"TEXTAREA"!==e.tagName&&"visible"===r[t])},rb=function(e,t){var r=t.ownerDocument,n=t;do{if("undefined"!=typeof ShadowRoot&&n instanceof ShadowRoot&&(n=n.host),rw(e,n)){var a=rj(e,n);if(a[1]>a[2])return!0}n=n.parentNode}while(n&&n!==r.body);return!1},rw=function(e,t){return"v"===e?ry(t,"overflowY"):ry(t,"overflowX")},rj=function(e,t){return"v"===e?[t.scrollTop,t.scrollHeight,t.clientHeight]:[t.scrollLeft,t.scrollWidth,t.clientWidth]},rN=function(e,t,r,n,a){var l,o=(l=window.getComputedStyle(t).direction,"h"===e&&"rtl"===l?-1:1),s=o*n,i=r.target,c=t.contains(i),d=!1,u=s>0,f=0,m=0;do{var p=rj(e,i),h=p[0],x=p[1]-p[2]-o*h;(h||x)&&rw(e,i)&&(f+=x,m+=h),i instanceof ShadowRoot?i=i.host:i=i.parentNode}while(!c&&i!==document.body||c&&(t.contains(i)||t===i));return u&&(a&&1>Math.abs(f)||!a&&s>f)?d=!0:!u&&(a&&1>Math.abs(m)||!a&&-s>m)&&(d=!0),d},rC=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},rk=function(e){return[e.deltaX,e.deltaY]},rS=function(e){return e&&"current"in e?e.current:e},rR=0,rE=[];let rT=(n=function(e){var t=o.useRef([]),r=o.useRef([0,0]),n=o.useRef(),a=o.useState(rR++)[0],l=o.useState(rl)[0],s=o.useRef(e);o.useEffect(function(){s.current=e},[e]),o.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(a));var t=(function(e,t,r){if(r||2==arguments.length)for(var n,a=0,l=t.length;a<l;a++)!n&&a in t||(n||(n=Array.prototype.slice.call(t,0,a)),n[a]=t[a]);return e.concat(n||Array.prototype.slice.call(t))})([e.lockRef.current],(e.shards||[]).map(rS),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add("allow-interactivity-".concat(a))}),function(){document.body.classList.remove("block-interactivity-".concat(a)),t.forEach(function(e){return e.classList.remove("allow-interactivity-".concat(a))})}}},[e.inert,e.lockRef.current,e.shards]);var i=o.useCallback(function(e,t){if("touches"in e&&2===e.touches.length||"wheel"===e.type&&e.ctrlKey)return!s.current.allowPinchZoom;var a,l=rC(e),o=r.current,i="deltaX"in e?e.deltaX:o[0]-l[0],c="deltaY"in e?e.deltaY:o[1]-l[1],d=e.target,u=Math.abs(i)>Math.abs(c)?"h":"v";if("touches"in e&&"h"===u&&"range"===d.type)return!1;var f=rb(u,d);if(!f)return!0;if(f?a=u:(a="v"===u?"h":"v",f=rb(u,d)),!f)return!1;if(!n.current&&"changedTouches"in e&&(i||c)&&(n.current=a),!a)return!0;var m=n.current||a;return rN(m,t,e,"h"===m?i:c,!0)},[]),c=o.useCallback(function(e){if(rE.length&&rE[rE.length-1]===l){var r="deltaY"in e?rk(e):rC(e),n=t.current.filter(function(t){var n;return t.name===e.type&&(t.target===e.target||e.target===t.shadowParent)&&(n=t.delta)[0]===r[0]&&n[1]===r[1]})[0];if(n&&n.should){e.cancelable&&e.preventDefault();return}if(!n){var a=(s.current.shards||[]).map(rS).filter(Boolean).filter(function(t){return t.contains(e.target)});(a.length>0?i(e,a[0]):!s.current.noIsolation)&&e.cancelable&&e.preventDefault()}}},[]),d=o.useCallback(function(e,r,n,a){var l={name:e,delta:r,target:n,should:a,shadowParent:function(e){for(var t=null;null!==e;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}(n)};t.current.push(l),setTimeout(function(){t.current=t.current.filter(function(e){return e!==l})},1)},[]),u=o.useCallback(function(e){r.current=rC(e),n.current=void 0},[]),f=o.useCallback(function(t){d(t.type,rk(t),t.target,i(t,e.lockRef.current))},[]),m=o.useCallback(function(t){d(t.type,rC(t),t.target,i(t,e.lockRef.current))},[]);o.useEffect(function(){return rE.push(l),e.setCallbacks({onScrollCapture:f,onWheelCapture:f,onTouchMoveCapture:m}),document.addEventListener("wheel",c,rv),document.addEventListener("touchmove",c,rv),document.addEventListener("touchstart",u,rv),function(){rE=rE.filter(function(e){return e!==l}),document.removeEventListener("wheel",c,rv),document.removeEventListener("touchmove",c,rv),document.removeEventListener("touchstart",u,rv)}},[]);var p=e.removeScrollBar,h=e.inert;return o.createElement(o.Fragment,null,h?o.createElement(l,{styles:"\n .block-interactivity-".concat(a," {pointer-events: none;}\n .allow-interactivity-").concat(a," {pointer-events: all;}\n")}):null,p?o.createElement(rh,{gapMode:e.gapMode}):null)},t7.useMedium(n),rr);var rM=o.forwardRef(function(e,t){return o.createElement(rt,t1({},e,{ref:t,sideCar:rT}))});rM.classNames=rt.classNames;var rA=["Enter"," "],rD=["ArrowUp","PageDown","End"],r_=["ArrowDown","PageUp","Home",...rD],rO={ltr:[...rA,"ArrowRight"],rtl:[...rA,"ArrowLeft"]},rP={ltr:["ArrowLeft"],rtl:["ArrowRight"]},rL="Menu",[rI,r$,rF]=(0,_.N)(rL),[rU,rz]=(0,M.A)(rL,[rF,tm,t$]),rB=tm(),rH=t$(),[rW,rV]=rU(rL),[rK,rq]=rU(rL),rG=e=>{let{__scopeMenu:t,open:r=!1,children:n,dir:a,onOpenChange:s,modal:i=!0}=e,c=rB(t),[d,u]=o.useState(null),f=o.useRef(!1),m=(0,U.c)(s),p=P(a);return o.useEffect(()=>{let e=()=>{f.current=!0,document.addEventListener("pointerdown",t,{capture:!0,once:!0}),document.addEventListener("pointermove",t,{capture:!0,once:!0})},t=()=>f.current=!1;return document.addEventListener("keydown",e,{capture:!0}),()=>{document.removeEventListener("keydown",e,{capture:!0}),document.removeEventListener("pointerdown",t,{capture:!0}),document.removeEventListener("pointermove",t,{capture:!0})}},[]),(0,l.jsx)(tx,{...c,children:(0,l.jsx)(rW,{scope:t,open:r,onOpenChange:m,content:d,onContentChange:u,children:(0,l.jsx)(rK,{scope:t,onClose:o.useCallback(()=>m(!1),[m]),isUsingKeyboardRef:f,dir:p,modal:i,children:n})})})};rG.displayName=rL;var rY=o.forwardRef((e,t)=>{let{__scopeMenu:r,...n}=e,a=rB(r);return(0,l.jsx)(tv,{...a,...n,ref:t})});rY.displayName="MenuAnchor";var rX="MenuPortal",[rQ,rJ]=rU(rX,{forceMount:void 0}),rZ=e=>{let{__scopeMenu:t,forceMount:r,children:n,container:a}=e,o=rV(rX,t);return(0,l.jsx)(rQ,{scope:t,forceMount:r,children:(0,l.jsx)(tM.C,{present:r||o.open,children:(0,l.jsx)(tT.Z,{asChild:!0,container:a,children:n})})})};rZ.displayName=rX;var r0="MenuContent",[r1,r2]=rU(r0),r5=o.forwardRef((e,t)=>{let r=rJ(r0,e.__scopeMenu),{forceMount:n=r.forceMount,...a}=e,o=rV(r0,e.__scopeMenu),s=rq(r0,e.__scopeMenu);return(0,l.jsx)(rI.Provider,{scope:e.__scopeMenu,children:(0,l.jsx)(tM.C,{present:n||o.open,children:(0,l.jsx)(rI.Slot,{scope:e.__scopeMenu,children:s.modal?(0,l.jsx)(r4,{...a,ref:t}):(0,l.jsx)(r3,{...a,ref:t})})})})}),r4=o.forwardRef((e,t)=>{let r=rV(r0,e.__scopeMenu),n=o.useRef(null),a=(0,T.s)(t,n);return o.useEffect(()=>{let e=n.current;if(e)return t0(e)},[]),(0,l.jsx)(r6,{...e,ref:a,trapFocus:r.open,disableOutsidePointerEvents:r.open,disableOutsideScroll:!0,onFocusOutside:(0,E.m)(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>r.onOpenChange(!1)})}),r3=o.forwardRef((e,t)=>{let r=rV(r0,e.__scopeMenu);return(0,l.jsx)(r6,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>r.onOpenChange(!1)})}),r6=o.forwardRef((e,t)=>{let{__scopeMenu:r,loop:n=!1,trapFocus:a,onOpenAutoFocus:s,onCloseAutoFocus:i,disableOutsidePointerEvents:c,onEntryFocus:d,onEscapeKeyDown:u,onPointerDownOutside:f,onFocusOutside:m,onInteractOutside:p,onDismiss:h,disableOutsideScroll:x,...g}=e,v=rV(r0,r),y=rq(r0,r),b=rB(r),w=rH(r),j=r$(r),[N,C]=o.useState(null),k=o.useRef(null),S=(0,T.s)(t,k,v.onContentChange),R=o.useRef(0),M=o.useRef(""),A=o.useRef(0),D=o.useRef(null),_=o.useRef("right"),O=o.useRef(0),P=x?rM:o.Fragment,I=x?{as:tq.DX,allowPinchZoom:!0}:void 0,F=e=>{let t=M.current+e,r=j().filter(e=>!e.disabled),n=document.activeElement,a=r.find(e=>e.ref.current===n)?.textValue,l=function(e,t,r){var n;let a=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,l=(n=Math.max(r?e.indexOf(r):-1,0),e.map((t,r)=>e[(n+r)%e.length]));1===a.length&&(l=l.filter(e=>e!==r));let o=l.find(e=>e.toLowerCase().startsWith(a.toLowerCase()));return o!==r?o:void 0}(r.map(e=>e.textValue),t,a),o=r.find(e=>e.textValue===l)?.ref.current;(function e(t){M.current=t,window.clearTimeout(R.current),""!==t&&(R.current=window.setTimeout(()=>e(""),1e3))})(t),o&&setTimeout(()=>o.focus())};o.useEffect(()=>()=>window.clearTimeout(R.current),[]),$();let U=o.useCallback(e=>_.current===D.current?.side&&function(e,t){return!!t&&function(e,t){let{x:r,y:n}=e,a=!1;for(let e=0,l=t.length-1;e<t.length;l=e++){let o=t[e].x,s=t[e].y,i=t[l].x,c=t[l].y;s>n!=c>n&&r<(i-o)*(n-s)/(c-s)+o&&(a=!a)}return a}({x:e.clientX,y:e.clientY},t)}(e,D.current?.area),[]);return(0,l.jsx)(r1,{scope:r,searchRef:M,onItemEnter:o.useCallback(e=>{U(e)&&e.preventDefault()},[U]),onItemLeave:o.useCallback(e=>{U(e)||(k.current?.focus(),C(null))},[U]),onTriggerLeave:o.useCallback(e=>{U(e)&&e.preventDefault()},[U]),pointerGraceTimerRef:A,onPointerGraceIntentChange:o.useCallback(e=>{D.current=e},[]),children:(0,l.jsx)(P,{...I,children:(0,l.jsx)(W,{asChild:!0,trapped:a,onMountAutoFocus:(0,E.m)(s,e=>{e.preventDefault(),k.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:i,children:(0,l.jsx)(L.qW,{asChild:!0,disableOutsidePointerEvents:c,onEscapeKeyDown:u,onPointerDownOutside:f,onFocusOutside:m,onInteractOutside:p,onDismiss:h,children:(0,l.jsx)(tz,{asChild:!0,...w,dir:y.dir,orientation:"vertical",loop:n,currentTabStopId:N,onCurrentTabStopIdChange:C,onEntryFocus:(0,E.m)(d,e=>{y.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,l.jsx)(tj,{role:"menu","aria-orientation":"vertical","data-state":nj(v.open),"data-radix-menu-content":"",dir:y.dir,...b,...g,ref:S,style:{outline:"none",...g.style},onKeyDown:(0,E.m)(g.onKeyDown,e=>{let t=e.target.closest("[data-radix-menu-content]")===e.currentTarget,r=e.ctrlKey||e.altKey||e.metaKey,n=1===e.key.length;t&&("Tab"===e.key&&e.preventDefault(),!r&&n&&F(e.key));let a=k.current;if(e.target!==a||!r_.includes(e.key))return;e.preventDefault();let l=j().filter(e=>!e.disabled).map(e=>e.ref.current);rD.includes(e.key)&&l.reverse(),function(e){let t=document.activeElement;for(let r of e)if(r===t||(r.focus(),document.activeElement!==t))return}(l)}),onBlur:(0,E.m)(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(R.current),M.current="")}),onPointerMove:(0,E.m)(e.onPointerMove,nk(e=>{let t=e.target,r=O.current!==e.clientX;if(e.currentTarget.contains(t)&&r){let t=e.clientX>O.current?"right":"left";_.current=t,O.current=e.clientX}}))})})})})})})});r5.displayName=r0;var r8=o.forwardRef((e,t)=>{let{__scopeMenu:r,...n}=e;return(0,l.jsx)(D.sG.div,{role:"group",...n,ref:t})});r8.displayName="MenuGroup";var r9=o.forwardRef((e,t)=>{let{__scopeMenu:r,...n}=e;return(0,l.jsx)(D.sG.div,{...n,ref:t})});r9.displayName="MenuLabel";var r7="MenuItem",ne="menu.itemSelect",nt=o.forwardRef((e,t)=>{let{disabled:r=!1,onSelect:n,...a}=e,s=o.useRef(null),i=rq(r7,e.__scopeMenu),c=r2(r7,e.__scopeMenu),d=(0,T.s)(t,s),u=o.useRef(!1);return(0,l.jsx)(nr,{...a,ref:d,disabled:r,onClick:(0,E.m)(e.onClick,()=>{let e=s.current;if(!r&&e){let t=new CustomEvent(ne,{bubbles:!0,cancelable:!0});e.addEventListener(ne,e=>n?.(e),{once:!0}),(0,D.hO)(e,t),t.defaultPrevented?u.current=!1:i.onClose()}}),onPointerDown:t=>{e.onPointerDown?.(t),u.current=!0},onPointerUp:(0,E.m)(e.onPointerUp,e=>{u.current||e.currentTarget?.click()}),onKeyDown:(0,E.m)(e.onKeyDown,e=>{let t=""!==c.searchRef.current;!r&&(!t||" "!==e.key)&&rA.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})});nt.displayName=r7;var nr=o.forwardRef((e,t)=>{let{__scopeMenu:r,disabled:n=!1,textValue:a,...s}=e,i=r2(r7,r),c=rH(r),d=o.useRef(null),u=(0,T.s)(t,d),[f,m]=o.useState(!1),[p,h]=o.useState("");return o.useEffect(()=>{let e=d.current;e&&h((e.textContent??"").trim())},[s.children]),(0,l.jsx)(rI.ItemSlot,{scope:r,disabled:n,textValue:a??p,children:(0,l.jsx)(tW,{asChild:!0,...c,focusable:!n,children:(0,l.jsx)(D.sG.div,{role:"menuitem","data-highlighted":f?"":void 0,"aria-disabled":n||void 0,"data-disabled":n?"":void 0,...s,ref:u,onPointerMove:(0,E.m)(e.onPointerMove,nk(e=>{n?i.onItemLeave(e):(i.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:(0,E.m)(e.onPointerLeave,nk(e=>i.onItemLeave(e))),onFocus:(0,E.m)(e.onFocus,()=>m(!0)),onBlur:(0,E.m)(e.onBlur,()=>m(!1))})})})}),nn=o.forwardRef((e,t)=>{let{checked:r=!1,onCheckedChange:n,...a}=e;return(0,l.jsx)(nu,{scope:e.__scopeMenu,checked:r,children:(0,l.jsx)(nt,{role:"menuitemcheckbox","aria-checked":nN(r)?"mixed":r,...a,ref:t,"data-state":nC(r),onSelect:(0,E.m)(a.onSelect,()=>n?.(!!nN(r)||!r),{checkForDefaultPrevented:!1})})})});nn.displayName="MenuCheckboxItem";var na="MenuRadioGroup",[nl,no]=rU(na,{value:void 0,onValueChange:()=>{}}),ns=o.forwardRef((e,t)=>{let{value:r,onValueChange:n,...a}=e,o=(0,U.c)(n);return(0,l.jsx)(nl,{scope:e.__scopeMenu,value:r,onValueChange:o,children:(0,l.jsx)(r8,{...a,ref:t})})});ns.displayName=na;var ni="MenuRadioItem",nc=o.forwardRef((e,t)=>{let{value:r,...n}=e,a=no(ni,e.__scopeMenu),o=r===a.value;return(0,l.jsx)(nu,{scope:e.__scopeMenu,checked:o,children:(0,l.jsx)(nt,{role:"menuitemradio","aria-checked":o,...n,ref:t,"data-state":nC(o),onSelect:(0,E.m)(n.onSelect,()=>a.onValueChange?.(r),{checkForDefaultPrevented:!1})})})});nc.displayName=ni;var nd="MenuItemIndicator",[nu,nf]=rU(nd,{checked:!1}),nm=o.forwardRef((e,t)=>{let{__scopeMenu:r,forceMount:n,...a}=e,o=nf(nd,r);return(0,l.jsx)(tM.C,{present:n||nN(o.checked)||!0===o.checked,children:(0,l.jsx)(D.sG.span,{...a,ref:t,"data-state":nC(o.checked)})})});nm.displayName=nd;var np=o.forwardRef((e,t)=>{let{__scopeMenu:r,...n}=e;return(0,l.jsx)(D.sG.div,{role:"separator","aria-orientation":"horizontal",...n,ref:t})});np.displayName="MenuSeparator";var nh=o.forwardRef((e,t)=>{let{__scopeMenu:r,...n}=e,a=rB(r);return(0,l.jsx)(tk,{...a,...n,ref:t})});nh.displayName="MenuArrow";var[nx,ng]=rU("MenuSub"),nv="MenuSubTrigger",ny=o.forwardRef((e,t)=>{let r=rV(nv,e.__scopeMenu),n=rq(nv,e.__scopeMenu),a=ng(nv,e.__scopeMenu),s=r2(nv,e.__scopeMenu),i=o.useRef(null),{pointerGraceTimerRef:c,onPointerGraceIntentChange:d}=s,u={__scopeMenu:e.__scopeMenu},f=o.useCallback(()=>{i.current&&window.clearTimeout(i.current),i.current=null},[]);return o.useEffect(()=>f,[f]),o.useEffect(()=>{let e=c.current;return()=>{window.clearTimeout(e),d(null)}},[c,d]),(0,l.jsx)(rY,{asChild:!0,...u,children:(0,l.jsx)(nr,{id:a.triggerId,"aria-haspopup":"menu","aria-expanded":r.open,"aria-controls":a.contentId,"data-state":nj(r.open),...e,ref:(0,T.t)(t,a.onTriggerChange),onClick:t=>{e.onClick?.(t),e.disabled||t.defaultPrevented||(t.currentTarget.focus(),r.open||r.onOpenChange(!0))},onPointerMove:(0,E.m)(e.onPointerMove,nk(t=>{s.onItemEnter(t),t.defaultPrevented||e.disabled||r.open||i.current||(s.onPointerGraceIntentChange(null),i.current=window.setTimeout(()=>{r.onOpenChange(!0),f()},100))})),onPointerLeave:(0,E.m)(e.onPointerLeave,nk(e=>{f();let t=r.content?.getBoundingClientRect();if(t){let n=r.content?.dataset.side,a="right"===n,l=t[a?"left":"right"],o=t[a?"right":"left"];s.onPointerGraceIntentChange({area:[{x:e.clientX+(a?-5:5),y:e.clientY},{x:l,y:t.top},{x:o,y:t.top},{x:o,y:t.bottom},{x:l,y:t.bottom}],side:n}),window.clearTimeout(c.current),c.current=window.setTimeout(()=>s.onPointerGraceIntentChange(null),300)}else{if(s.onTriggerLeave(e),e.defaultPrevented)return;s.onPointerGraceIntentChange(null)}})),onKeyDown:(0,E.m)(e.onKeyDown,t=>{let a=""!==s.searchRef.current;!e.disabled&&(!a||" "!==t.key)&&rO[n.dir].includes(t.key)&&(r.onOpenChange(!0),r.content?.focus(),t.preventDefault())})})})});ny.displayName=nv;var nb="MenuSubContent",nw=o.forwardRef((e,t)=>{let r=rJ(r0,e.__scopeMenu),{forceMount:n=r.forceMount,...a}=e,s=rV(r0,e.__scopeMenu),i=rq(r0,e.__scopeMenu),c=ng(nb,e.__scopeMenu),d=o.useRef(null),u=(0,T.s)(t,d);return(0,l.jsx)(rI.Provider,{scope:e.__scopeMenu,children:(0,l.jsx)(tM.C,{present:n||s.open,children:(0,l.jsx)(rI.Slot,{scope:e.__scopeMenu,children:(0,l.jsx)(r6,{id:c.contentId,"aria-labelledby":c.triggerId,...a,ref:u,align:"start",side:"rtl"===i.dir?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{i.isUsingKeyboardRef.current&&d.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:(0,E.m)(e.onFocusOutside,e=>{e.target!==c.trigger&&s.onOpenChange(!1)}),onEscapeKeyDown:(0,E.m)(e.onEscapeKeyDown,e=>{i.onClose(),e.preventDefault()}),onKeyDown:(0,E.m)(e.onKeyDown,e=>{let t=e.currentTarget.contains(e.target),r=rP[i.dir].includes(e.key);t&&r&&(s.onOpenChange(!1),c.trigger?.focus(),e.preventDefault())})})})})})});function nj(e){return e?"open":"closed"}function nN(e){return"indeterminate"===e}function nC(e){return nN(e)?"indeterminate":e?"checked":"unchecked"}function nk(e){return t=>"mouse"===t.pointerType?e(t):void 0}nw.displayName=nb;var nS="DropdownMenu",[nR,nE]=(0,M.A)(nS,[rz]),nT=rz(),[nM,nA]=nR(nS),nD=e=>{let{__scopeDropdownMenu:t,children:r,dir:n,open:a,defaultOpen:s,onOpenChange:i,modal:c=!0}=e,d=nT(t),u=o.useRef(null),[f=!1,m]=(0,A.i)({prop:a,defaultProp:s,onChange:i});return(0,l.jsx)(nM,{scope:t,triggerId:Z(),triggerRef:u,contentId:Z(),open:f,onOpenChange:m,onOpenToggle:o.useCallback(()=>m(e=>!e),[m]),modal:c,children:(0,l.jsx)(rG,{...d,open:f,onOpenChange:m,dir:n,modal:c,children:r})})};nD.displayName=nS;var n_="DropdownMenuTrigger",nO=o.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,disabled:n=!1,...a}=e,o=nA(n_,r),s=nT(r);return(0,l.jsx)(rY,{asChild:!0,...s,children:(0,l.jsx)(D.sG.button,{type:"button",id:o.triggerId,"aria-haspopup":"menu","aria-expanded":o.open,"aria-controls":o.open?o.contentId:void 0,"data-state":o.open?"open":"closed","data-disabled":n?"":void 0,disabled:n,...a,ref:(0,T.t)(t,o.triggerRef),onPointerDown:(0,E.m)(e.onPointerDown,e=>{n||0!==e.button||!1!==e.ctrlKey||(o.onOpenToggle(),o.open||e.preventDefault())}),onKeyDown:(0,E.m)(e.onKeyDown,e=>{!n&&(["Enter"," "].includes(e.key)&&o.onOpenToggle(),"ArrowDown"===e.key&&o.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(e.key)&&e.preventDefault())})})})});nO.displayName=n_;var nP=e=>{let{__scopeDropdownMenu:t,...r}=e,n=nT(t);return(0,l.jsx)(rZ,{...n,...r})};nP.displayName="DropdownMenuPortal";var nL="DropdownMenuContent",nI=o.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,a=nA(nL,r),s=nT(r),i=o.useRef(!1);return(0,l.jsx)(r5,{id:a.contentId,"aria-labelledby":a.triggerId,...s,...n,ref:t,onCloseAutoFocus:(0,E.m)(e.onCloseAutoFocus,e=>{i.current||a.triggerRef.current?.focus(),i.current=!1,e.preventDefault()}),onInteractOutside:(0,E.m)(e.onInteractOutside,e=>{let t=e.detail.originalEvent,r=0===t.button&&!0===t.ctrlKey,n=2===t.button||r;(!a.modal||n)&&(i.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});nI.displayName=nL,o.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,a=nT(r);return(0,l.jsx)(r8,{...a,...n,ref:t})}).displayName="DropdownMenuGroup";var n$=o.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,a=nT(r);return(0,l.jsx)(r9,{...a,...n,ref:t})});n$.displayName="DropdownMenuLabel";var nF=o.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,a=nT(r);return(0,l.jsx)(nt,{...a,...n,ref:t})});nF.displayName="DropdownMenuItem";var nU=o.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,a=nT(r);return(0,l.jsx)(nn,{...a,...n,ref:t})});nU.displayName="DropdownMenuCheckboxItem",o.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,a=nT(r);return(0,l.jsx)(ns,{...a,...n,ref:t})}).displayName="DropdownMenuRadioGroup";var nz=o.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,a=nT(r);return(0,l.jsx)(nc,{...a,...n,ref:t})});nz.displayName="DropdownMenuRadioItem";var nB=o.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,a=nT(r);return(0,l.jsx)(nm,{...a,...n,ref:t})});nB.displayName="DropdownMenuItemIndicator";var nH=o.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,a=nT(r);return(0,l.jsx)(np,{...a,...n,ref:t})});nH.displayName="DropdownMenuSeparator",o.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,a=nT(r);return(0,l.jsx)(nh,{...a,...n,ref:t})}).displayName="DropdownMenuArrow";var nW=o.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,a=nT(r);return(0,l.jsx)(ny,{...a,...n,ref:t})});nW.displayName="DropdownMenuSubTrigger";var nV=o.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,a=nT(r);return(0,l.jsx)(nw,{...a,...n,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});nV.displayName="DropdownMenuSubContent";let nK=(0,d.A)("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]),nq=(0,d.A)("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]),nG=(0,d.A)("Circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);o.forwardRef(({className:e,inset:t,children:r,...n},a)=>(0,l.jsxs)(nW,{ref:a,className:(0,j.cn)("flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",t&&"pl-8",e),...n,children:[r,(0,l.jsx)(nK,{className:"ml-auto"})]})).displayName=nW.displayName,o.forwardRef(({className:e,...t},r)=>(0,l.jsx)(nV,{ref:r,className:(0,j.cn)("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...t})).displayName=nV.displayName;let nY=o.forwardRef(({className:e,sideOffset:t=4,...r},n)=>(0,l.jsx)(nP,{children:(0,l.jsx)(nI,{ref:n,sideOffset:t,className:(0,j.cn)("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md","data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...r})}));nY.displayName=nI.displayName;let nX=o.forwardRef(({className:e,inset:t,...r},n)=>(0,l.jsx)(nF,{ref:n,className:(0,j.cn)("relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0",t&&"pl-8",e),...r}));nX.displayName=nF.displayName,o.forwardRef(({className:e,children:t,checked:r,...n},a)=>(0,l.jsxs)(nU,{ref:a,className:(0,j.cn)("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),checked:r,...n,children:[(0,l.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,l.jsx)(nB,{children:(0,l.jsx)(nq,{className:"h-4 w-4"})})}),t]})).displayName=nU.displayName,o.forwardRef(({className:e,children:t,...r},n)=>(0,l.jsxs)(nz,{ref:n,className:(0,j.cn)("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...r,children:[(0,l.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,l.jsx)(nB,{children:(0,l.jsx)(nG,{className:"h-2 w-2 fill-current"})})}),t]})).displayName=nz.displayName,o.forwardRef(({className:e,inset:t,...r},n)=>(0,l.jsx)(n$,{ref:n,className:(0,j.cn)("px-2 py-1.5 text-sm font-semibold",t&&"pl-8",e),...r})).displayName=n$.displayName,o.forwardRef(({className:e,...t},r)=>(0,l.jsx)(nH,{ref:r,className:(0,j.cn)("-mx-1 my-1 h-px bg-muted",e),...t})).displayName=nH.displayName;var nQ=r(2899);let nJ=(0,C.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),nZ=o.forwardRef(({className:e,variant:t,size:r,asChild:n=!1,...a},o)=>{let s=n?tq.DX:"button";return(0,l.jsx)(s,{className:(0,j.cn)(nJ({variant:t,size:r,className:e})),ref:o,...a})});function n0(e,[t,r]){return Math.min(r,Math.max(t,e))}nZ.displayName="Button";var n1="ScrollArea",[n2,n5]=(0,M.A)(n1),[n4,n3]=n2(n1),n6=o.forwardRef((e,t)=>{let{__scopeScrollArea:r,type:n="hover",dir:a,scrollHideDelay:s=600,...i}=e,[c,d]=o.useState(null),[u,f]=o.useState(null),[m,p]=o.useState(null),[h,x]=o.useState(null),[g,v]=o.useState(null),[y,b]=o.useState(0),[w,j]=o.useState(0),[N,C]=o.useState(!1),[k,S]=o.useState(!1),R=(0,T.s)(t,e=>d(e)),E=P(a);return(0,l.jsx)(n4,{scope:r,type:n,dir:E,scrollHideDelay:s,scrollArea:c,viewport:u,onViewportChange:f,content:m,onContentChange:p,scrollbarX:h,onScrollbarXChange:x,scrollbarXEnabled:N,onScrollbarXEnabledChange:C,scrollbarY:g,onScrollbarYChange:v,scrollbarYEnabled:k,onScrollbarYEnabledChange:S,onCornerWidthChange:b,onCornerHeightChange:j,children:(0,l.jsx)(D.sG.div,{dir:E,...i,ref:R,style:{position:"relative","--radix-scroll-area-corner-width":y+"px","--radix-scroll-area-corner-height":w+"px",...e.style}})})});n6.displayName=n1;var n8="ScrollAreaViewport",n9=o.forwardRef((e,t)=>{let{__scopeScrollArea:r,children:n,nonce:a,...s}=e,i=n3(n8,r),c=o.useRef(null),d=(0,T.s)(t,c,i.onViewportChange);return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:a}),(0,l.jsx)(D.sG.div,{"data-radix-scroll-area-viewport":"",...s,ref:d,style:{overflowX:i.scrollbarXEnabled?"scroll":"hidden",overflowY:i.scrollbarYEnabled?"scroll":"hidden",...e.style},children:(0,l.jsx)("div",{ref:i.onContentChange,style:{minWidth:"100%",display:"table"},children:n})})]})});n9.displayName=n8;var n7="ScrollAreaScrollbar",ae=o.forwardRef((e,t)=>{let{forceMount:r,...n}=e,a=n3(n7,e.__scopeScrollArea),{onScrollbarXEnabledChange:s,onScrollbarYEnabledChange:i}=a,c="horizontal"===e.orientation;return o.useEffect(()=>(c?s(!0):i(!0),()=>{c?s(!1):i(!1)}),[c,s,i]),"hover"===a.type?(0,l.jsx)(at,{...n,ref:t,forceMount:r}):"scroll"===a.type?(0,l.jsx)(ar,{...n,ref:t,forceMount:r}):"auto"===a.type?(0,l.jsx)(an,{...n,ref:t,forceMount:r}):"always"===a.type?(0,l.jsx)(aa,{...n,ref:t}):null});ae.displayName=n7;var at=o.forwardRef((e,t)=>{let{forceMount:r,...n}=e,a=n3(n7,e.__scopeScrollArea),[s,i]=o.useState(!1);return o.useEffect(()=>{let e=a.scrollArea,t=0;if(e){let r=()=>{window.clearTimeout(t),i(!0)},n=()=>{t=window.setTimeout(()=>i(!1),a.scrollHideDelay)};return e.addEventListener("pointerenter",r),e.addEventListener("pointerleave",n),()=>{window.clearTimeout(t),e.removeEventListener("pointerenter",r),e.removeEventListener("pointerleave",n)}}},[a.scrollArea,a.scrollHideDelay]),(0,l.jsx)(tM.C,{present:r||s,children:(0,l.jsx)(an,{"data-state":s?"visible":"hidden",...n,ref:t})})}),ar=o.forwardRef((e,t)=>{var r,n;let{forceMount:a,...s}=e,i=n3(n7,e.__scopeScrollArea),c="horizontal"===e.orientation,d=aj(()=>f("SCROLL_END"),100),[u,f]=(r="hidden",n={hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}},o.useReducer((e,t)=>n[e][t]??e,r));return o.useEffect(()=>{if("idle"===u){let e=window.setTimeout(()=>f("HIDE"),i.scrollHideDelay);return()=>window.clearTimeout(e)}},[u,i.scrollHideDelay,f]),o.useEffect(()=>{let e=i.viewport,t=c?"scrollLeft":"scrollTop";if(e){let r=e[t],n=()=>{let n=e[t];r!==n&&(f("SCROLL"),d()),r=n};return e.addEventListener("scroll",n),()=>e.removeEventListener("scroll",n)}},[i.viewport,c,f,d]),(0,l.jsx)(tM.C,{present:a||"hidden"!==u,children:(0,l.jsx)(aa,{"data-state":"hidden"===u?"hidden":"visible",...s,ref:t,onPointerEnter:(0,E.m)(e.onPointerEnter,()=>f("POINTER_ENTER")),onPointerLeave:(0,E.m)(e.onPointerLeave,()=>f("POINTER_LEAVE"))})})}),an=o.forwardRef((e,t)=>{let r=n3(n7,e.__scopeScrollArea),{forceMount:n,...a}=e,[s,i]=o.useState(!1),c="horizontal"===e.orientation,d=aj(()=>{if(r.viewport){let e=r.viewport.offsetWidth<r.viewport.scrollWidth,t=r.viewport.offsetHeight<r.viewport.scrollHeight;i(c?e:t)}},10);return aN(r.viewport,d),aN(r.content,d),(0,l.jsx)(tM.C,{present:n||s,children:(0,l.jsx)(aa,{"data-state":s?"visible":"hidden",...a,ref:t})})}),aa=o.forwardRef((e,t)=>{let{orientation:r="vertical",...n}=e,a=n3(n7,e.__scopeScrollArea),s=o.useRef(null),i=o.useRef(0),[c,d]=o.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),u=ag(c.viewport,c.content),f={...n,sizes:c,onSizesChange:d,hasThumb:!!(u>0&&u<1),onThumbChange:e=>s.current=e,onThumbPointerUp:()=>i.current=0,onThumbPointerDown:e=>i.current=e};function m(e,t){return function(e,t,r,n="ltr"){let a=av(r),l=t||a/2,o=r.scrollbar.paddingStart+l,s=r.scrollbar.size-r.scrollbar.paddingEnd-(a-l),i=r.content-r.viewport;return ab([o,s],"ltr"===n?[0,i]:[-1*i,0])(e)}(e,i.current,c,t)}return"horizontal"===r?(0,l.jsx)(al,{...f,ref:t,onThumbPositionChange:()=>{if(a.viewport&&s.current){let e=ay(a.viewport.scrollLeft,c,a.dir);s.current.style.transform=`translate3d(${e}px, 0, 0)`}},onWheelScroll:e=>{a.viewport&&(a.viewport.scrollLeft=e)},onDragScroll:e=>{a.viewport&&(a.viewport.scrollLeft=m(e,a.dir))}}):"vertical"===r?(0,l.jsx)(ao,{...f,ref:t,onThumbPositionChange:()=>{if(a.viewport&&s.current){let e=ay(a.viewport.scrollTop,c);s.current.style.transform=`translate3d(0, ${e}px, 0)`}},onWheelScroll:e=>{a.viewport&&(a.viewport.scrollTop=e)},onDragScroll:e=>{a.viewport&&(a.viewport.scrollTop=m(e))}}):null}),al=o.forwardRef((e,t)=>{let{sizes:r,onSizesChange:n,...a}=e,s=n3(n7,e.__scopeScrollArea),[i,c]=o.useState(),d=o.useRef(null),u=(0,T.s)(t,d,s.onScrollbarXChange);return o.useEffect(()=>{d.current&&c(getComputedStyle(d.current))},[d]),(0,l.jsx)(ac,{"data-orientation":"horizontal",...a,ref:u,sizes:r,style:{bottom:0,left:"rtl"===s.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===s.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":av(r)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,r)=>{if(s.viewport){let n=s.viewport.scrollLeft+t.deltaX;e.onWheelScroll(n),function(e,t){return e>0&&e<t}(n,r)&&t.preventDefault()}},onResize:()=>{d.current&&s.viewport&&i&&n({content:s.viewport.scrollWidth,viewport:s.viewport.offsetWidth,scrollbar:{size:d.current.clientWidth,paddingStart:ax(i.paddingLeft),paddingEnd:ax(i.paddingRight)}})}})}),ao=o.forwardRef((e,t)=>{let{sizes:r,onSizesChange:n,...a}=e,s=n3(n7,e.__scopeScrollArea),[i,c]=o.useState(),d=o.useRef(null),u=(0,T.s)(t,d,s.onScrollbarYChange);return o.useEffect(()=>{d.current&&c(getComputedStyle(d.current))},[d]),(0,l.jsx)(ac,{"data-orientation":"vertical",...a,ref:u,sizes:r,style:{top:0,right:"ltr"===s.dir?0:void 0,left:"rtl"===s.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":av(r)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,r)=>{if(s.viewport){let n=s.viewport.scrollTop+t.deltaY;e.onWheelScroll(n),function(e,t){return e>0&&e<t}(n,r)&&t.preventDefault()}},onResize:()=>{d.current&&s.viewport&&i&&n({content:s.viewport.scrollHeight,viewport:s.viewport.offsetHeight,scrollbar:{size:d.current.clientHeight,paddingStart:ax(i.paddingTop),paddingEnd:ax(i.paddingBottom)}})}})}),[as,ai]=n2(n7),ac=o.forwardRef((e,t)=>{let{__scopeScrollArea:r,sizes:n,hasThumb:a,onThumbChange:s,onThumbPointerUp:i,onThumbPointerDown:c,onThumbPositionChange:d,onDragScroll:u,onWheelScroll:f,onResize:m,...p}=e,h=n3(n7,r),[x,g]=o.useState(null),v=(0,T.s)(t,e=>g(e)),y=o.useRef(null),b=o.useRef(""),w=h.viewport,j=n.content-n.viewport,N=(0,U.c)(f),C=(0,U.c)(d),k=aj(m,10);function S(e){y.current&&u({x:e.clientX-y.current.left,y:e.clientY-y.current.top})}return o.useEffect(()=>{let e=e=>{let t=e.target;x?.contains(t)&&N(e,j)};return document.addEventListener("wheel",e,{passive:!1}),()=>document.removeEventListener("wheel",e,{passive:!1})},[w,x,j,N]),o.useEffect(C,[n,C]),aN(x,k),aN(h.content,k),(0,l.jsx)(as,{scope:r,scrollbar:x,hasThumb:a,onThumbChange:(0,U.c)(s),onThumbPointerUp:(0,U.c)(i),onThumbPositionChange:C,onThumbPointerDown:(0,U.c)(c),children:(0,l.jsx)(D.sG.div,{...p,ref:v,style:{position:"absolute",...p.style},onPointerDown:(0,E.m)(e.onPointerDown,e=>{0===e.button&&(e.target.setPointerCapture(e.pointerId),y.current=x.getBoundingClientRect(),b.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",h.viewport&&(h.viewport.style.scrollBehavior="auto"),S(e))}),onPointerMove:(0,E.m)(e.onPointerMove,S),onPointerUp:(0,E.m)(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=b.current,h.viewport&&(h.viewport.style.scrollBehavior=""),y.current=null})})})}),ad="ScrollAreaThumb",au=o.forwardRef((e,t)=>{let{forceMount:r,...n}=e,a=ai(ad,e.__scopeScrollArea);return(0,l.jsx)(tM.C,{present:r||a.hasThumb,children:(0,l.jsx)(af,{ref:t,...n})})}),af=o.forwardRef((e,t)=>{let{__scopeScrollArea:r,style:n,...a}=e,s=n3(ad,r),i=ai(ad,r),{onThumbPositionChange:c}=i,d=(0,T.s)(t,e=>i.onThumbChange(e)),u=o.useRef(void 0),f=aj(()=>{u.current&&(u.current(),u.current=void 0)},100);return o.useEffect(()=>{let e=s.viewport;if(e){let t=()=>{if(f(),!u.current){let t=aw(e,c);u.current=t,c()}};return c(),e.addEventListener("scroll",t),()=>e.removeEventListener("scroll",t)}},[s.viewport,f,c]),(0,l.jsx)(D.sG.div,{"data-state":i.hasThumb?"visible":"hidden",...a,ref:d,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...n},onPointerDownCapture:(0,E.m)(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),r=e.clientX-t.left,n=e.clientY-t.top;i.onThumbPointerDown({x:r,y:n})}),onPointerUp:(0,E.m)(e.onPointerUp,i.onThumbPointerUp)})});au.displayName=ad;var am="ScrollAreaCorner",ap=o.forwardRef((e,t)=>{let r=n3(am,e.__scopeScrollArea),n=!!(r.scrollbarX&&r.scrollbarY);return"scroll"!==r.type&&n?(0,l.jsx)(ah,{...e,ref:t}):null});ap.displayName=am;var ah=o.forwardRef((e,t)=>{let{__scopeScrollArea:r,...n}=e,a=n3(am,r),[s,i]=o.useState(0),[c,d]=o.useState(0),u=!!(s&&c);return aN(a.scrollbarX,()=>{let e=a.scrollbarX?.offsetHeight||0;a.onCornerHeightChange(e),d(e)}),aN(a.scrollbarY,()=>{let e=a.scrollbarY?.offsetWidth||0;a.onCornerWidthChange(e),i(e)}),u?(0,l.jsx)(D.sG.div,{...n,ref:t,style:{width:s,height:c,position:"absolute",right:"ltr"===a.dir?0:void 0,left:"rtl"===a.dir?0:void 0,bottom:0,...e.style}}):null});function ax(e){return e?parseInt(e,10):0}function ag(e,t){let r=e/t;return isNaN(r)?0:r}function av(e){let t=ag(e.viewport,e.content),r=e.scrollbar.paddingStart+e.scrollbar.paddingEnd;return Math.max((e.scrollbar.size-r)*t,18)}function ay(e,t,r="ltr"){let n=av(t),a=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,l=t.scrollbar.size-a,o=t.content-t.viewport,s=n0(e,"ltr"===r?[0,o]:[-1*o,0]);return ab([0,o],[0,l-n])(s)}function ab(e,t){return r=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let n=(t[1]-t[0])/(e[1]-e[0]);return t[0]+n*(r-e[0])}}var aw=(e,t=()=>{})=>{let r={left:e.scrollLeft,top:e.scrollTop},n=0;return function a(){let l={left:e.scrollLeft,top:e.scrollTop},o=r.left!==l.left,s=r.top!==l.top;(o||s)&&t(),r=l,n=window.requestAnimationFrame(a)}(),()=>window.cancelAnimationFrame(n)};function aj(e,t){let r=(0,U.c)(e),n=o.useRef(0);return o.useEffect(()=>()=>window.clearTimeout(n.current),[]),o.useCallback(()=>{window.clearTimeout(n.current),n.current=window.setTimeout(r,t)},[r,t])}function aN(e,t){let r=(0,U.c)(t);(0,X.N)(()=>{let t=0;if(e){let n=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(r)});return n.observe(e),()=>{window.cancelAnimationFrame(t),n.unobserve(e)}}},[e,r])}let aC=o.forwardRef(({className:e,children:t,...r},n)=>(0,l.jsxs)(n6,{ref:n,className:(0,j.cn)("relative overflow-hidden",e),...r,children:[(0,l.jsx)(n9,{className:"h-full w-full rounded-[inherit]",children:t}),(0,l.jsx)(ak,{}),(0,l.jsx)(ap,{})]}));aC.displayName=n6.displayName;let ak=o.forwardRef(({className:e,orientation:t="vertical",...r},n)=>(0,l.jsx)(ae,{ref:n,orientation:t,className:(0,j.cn)("flex touch-none select-none transition-colors","vertical"===t&&"h-full w-2.5 border-l border-l-transparent p-[1px]","horizontal"===t&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",e),...r,children:(0,l.jsx)(au,{className:"relative flex-1 rounded-full bg-border"})}));ak.displayName=ae.displayName;let aS=o.forwardRef(({className:e,...t},r)=>(0,l.jsx)("div",{className:"relative w-full overflow-auto",children:(0,l.jsx)("table",{ref:r,className:(0,j.cn)("w-full caption-bottom text-sm",e),...t})}));aS.displayName="Table";let aR=o.forwardRef(({className:e,...t},r)=>(0,l.jsx)("thead",{ref:r,className:(0,j.cn)("[&_tr]:border-b",e),...t}));aR.displayName="TableHeader";let aE=o.forwardRef(({className:e,...t},r)=>(0,l.jsx)("tbody",{ref:r,className:(0,j.cn)("[&_tr:last-child]:border-0",e),...t}));aE.displayName="TableBody",o.forwardRef(({className:e,...t},r)=>(0,l.jsx)("tfoot",{ref:r,className:(0,j.cn)("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",e),...t})).displayName="TableFooter";let aT=o.forwardRef(({className:e,...t},r)=>(0,l.jsx)("tr",{ref:r,className:(0,j.cn)("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",e),...t}));aT.displayName="TableRow";let aM=o.forwardRef(({className:e,...t},r)=>(0,l.jsx)("th",{ref:r,className:(0,j.cn)("h-10 px-2 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...t}));aM.displayName="TableHead";let aA=o.forwardRef(({className:e,...t},r)=>(0,l.jsx)("td",{ref:r,className:(0,j.cn)("p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...t}));aA.displayName="TableCell",o.forwardRef(({className:e,...t},r)=>(0,l.jsx)("caption",{ref:r,className:(0,j.cn)("mt-4 text-sm text-muted-foreground",e),...t})).displayName="TableCaption";var aD=r(1255);let a_=function({preview:e=[],onConfirm:t,onCancel:r,isConfirming:n,error:a,isLoading:s,success:i,databaseName:c,migrationsDir:d}){let[u,f]=(0,o.useState)(!0);if(s)return(0,l.jsx)("div",{className:"fixed bottom-4 right-4 z-50 font-sans w-[600px]",children:(0,l.jsx)("div",{className:"rounded-lg border p-4 shadow-lg bg-background",children:(0,l.jsxs)("div",{className:"flex items-start gap-3",children:[(0,l.jsx)(v,{className:"h-5 w-5 text-neutral-600 shrink-0 mt-0.5 animate-spin"}),(0,l.jsx)("div",{className:"flex-1 space-y-3",children:(0,l.jsxs)("div",{className:"space-y-1",children:[(0,l.jsxs)("p",{className:"font-medium text-neutral-800",children:["Preparing Push Migration",c?` \xb7 ${c}`:""]}),(0,l.jsx)("p",{className:"text-sm text-neutral-600",children:"Checking local migrations..."})]})})]})})});if(!e?.length)return(0,l.jsx)("div",{className:"fixed bottom-4 right-4 z-50 w-[600px]",children:(0,l.jsx)("div",{className:"rounded-lg border p-4",children:(0,l.jsx)("p",{className:"text-sm font-medium",children:"No migrations to preview"})})});let m=e.filter(e=>"will be applied"===e.action).length,p=e.filter(e=>"skipped"===e.action).length;e.filter(e=>"applied"===e.action).length;let h=e=>{switch(e){case"will be applied":return"\uD83D\uDD52️";case"applied":return"✅";case"skipped":return"⏭️";case"failed":return"❌";default:return""}};return(0,l.jsx)("div",{className:"fixed bottom-4 right-4 z-50 font-sans w-[600px]",children:(0,l.jsx)("div",{className:(0,j.cn)("rounded-lg border p-4 shadow-lg",a?"bg-destructive/15":"bg-background"),children:(0,l.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,l.jsxs)("div",{className:"space-y-2",children:[(0,l.jsxs)("div",{className:"flex items-center justify-between",children:[(0,l.jsxs)("h5",{className:"font-medium text-neutral-900",children:["Push Migration Preview",c&&(0,l.jsx)("span",{className:"ml-2 text-xs font-normal text-neutral-500 font-mono",children:c})]}),(0,l.jsx)("button",{onClick:r,className:"text-neutral-500 hover:text-neutral-900 p-1 rounded-md hover:bg-neutral-100",children:(0,l.jsx)(aD.A,{className:"h-4 w-4"})})]}),(0,l.jsxs)("p",{className:"text-sm text-neutral-700",children:[m," migration(s) \uD83D\uDD52️ pending, ",p," to ⏭️ skip"]}),(0,l.jsx)("p",{className:"text-xs text-neutral-400 font-mono",children:d?(0,l.jsxs)(l.Fragment,{children:["\uD83D\uDCC1 ",d]}):(0,l.jsx)("span",{className:"text-amber-600",children:'⚠ migrations_dir not set — using default "migrations/"'})}),a?(0,l.jsx)("p",{className:"text-sm text-destructive font-medium mt-1",children:a.message}):i&&(0,l.jsx)("p",{className:"text-sm text-green-700 font-medium mt-1",children:i})]}),(0,l.jsxs)("div",{children:[(0,l.jsx)("button",{onClick:()=>f(!u),className:"text-sm font-medium hover:underline",children:u?"Hide Details":"Show Details"}),u&&(0,l.jsx)(aC,{className:"h-[480px] mt-2 rounded border border-neutral-200",children:(0,l.jsxs)(aS,{children:[(0,l.jsx)(aR,{children:(0,l.jsxs)(aT,{children:[(0,l.jsx)(aM,{children:"Migration"}),(0,l.jsx)(aM,{className:"text-center w-24",children:"Status"})]})}),(0,l.jsx)(aE,{children:e.map((e,t)=>(0,l.jsxs)(aT,{children:[(0,l.jsx)(aA,{className:"font-mono text-xs",children:e.name}),(0,l.jsx)(aA,{className:"text-center align-middle",children:h(e.action)})]},t))})]})})]}),(0,l.jsxs)("p",{className:"text-xs text-neutral-400",children:["Seed files (",(0,l.jsx)("span",{className:"font-mono",children:"*seed*.sql"}),") are local-only and excluded from remote sync."]}),(0,l.jsxs)("div",{className:"flex gap-2 pt-1",children:[(0,l.jsx)(nZ,{onClick:t,disabled:n||0===m,className:"flex-1",children:n?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(v,{className:"mr-2 h-4 w-4 animate-spin"}),"Confirming..."]}):"Confirm Push"}),(0,l.jsx)(nZ,{variant:"outline",onClick:r,disabled:n,className:"flex-1",children:"Cancel"})]})]})})})},aO=function({preview:e=[],onConfirm:t,onCancel:r,onDataPull:n,isConfirming:a,isDataPulling:s,error:i,isLoading:c,success:d,databaseName:u,migrationsDir:f}){console.log("PullPreviewToast rendered with:",{previewLength:e.length,isConfirming:a,error:i,isLoading:c});let[m,p]=(0,o.useState)(!1);if(c)return console.log("Rendering loading state"),(0,l.jsx)("div",{className:"fixed bottom-4 right-4 z-50 font-sans w-[600px]",children:(0,l.jsx)("div",{className:"rounded-lg border p-4 shadow-lg bg-background",children:(0,l.jsxs)("div",{className:"flex items-start gap-3",children:[(0,l.jsx)(v,{className:"h-5 w-5 text-neutral-600 shrink-0 mt-0.5 animate-spin"}),(0,l.jsx)("div",{className:"flex-1 space-y-3",children:(0,l.jsxs)("div",{className:"space-y-1",children:[(0,l.jsxs)("p",{className:"font-medium text-neutral-800",children:["Preparing Pull Migration",u?` \xb7 ${u}`:""]}),(0,l.jsx)("p",{className:"text-sm text-neutral-600",children:"Checking remote migrations..."})]})})]})})});if(!e?.length)return console.log("No preview data available"),(0,l.jsx)("div",{className:"fixed bottom-4 right-4 z-50 w-[600px]",children:(0,l.jsx)("div",{className:"rounded-lg border bg-destructive/15 p-4",children:(0,l.jsx)("div",{className:"flex items-center gap-2",children:(0,l.jsx)("p",{className:"text-sm font-medium text-destructive",children:"No preview data available"})})})});let h=e.filter(e=>(e.migration||e.name||"").endsWith(".sql")),x=h.length;console.log("Migration stats:",{totalMigrations:x});let g=d&&!s&&!i;return(0,l.jsx)("div",{className:"fixed bottom-4 right-4 z-50 font-sans w-[600px]",children:(0,l.jsx)("div",{className:(0,j.cn)("rounded-lg border p-4 shadow-lg",i?"bg-destructive/15":"bg-background"),children:(0,l.jsx)("div",{className:"flex items-start gap-x-1",children:(0,l.jsxs)("div",{className:"flex-1 space-y-3",children:[(0,l.jsxs)("div",{className:"space-y-1",children:[(0,l.jsxs)("div",{className:"flex items-center justify-between",children:[(0,l.jsxs)("h5",{className:(0,j.cn)("font-medium",i?"text-destructive":"text-neutral-900"),children:[i?"Pull Migration Error":"Pull Migration Preview",u&&(0,l.jsx)("span",{className:"ml-2 text-xs font-normal text-neutral-500 font-mono",children:u})]}),(0,l.jsx)("button",{onClick:r,className:"text-neutral-500 hover:text-neutral-900 p-1 rounded-md hover:bg-neutral-100",children:(0,l.jsx)(aD.A,{className:"h-4 w-4"})})]}),(0,l.jsx)("p",{className:(0,j.cn)("text-sm",i?"text-destructive/80":"text-neutral-700"),children:`${x} migration(s) will be applied`}),(0,l.jsx)("p",{className:"text-xs text-neutral-400 font-mono",children:f?(0,l.jsxs)(l.Fragment,{children:["\uD83D\uDCC1 ",f]}):(0,l.jsx)("span",{className:"text-amber-600",children:'⚠ migrations_dir not set — using default "migrations/"'})}),i&&(0,l.jsx)("p",{className:"text-sm text-destructive font-medium mt-1",children:i.message}),d&&(0,l.jsx)("p",{className:"text-sm text-green-700 font-medium mt-1",children:d})]}),(0,l.jsxs)("div",{children:[(0,l.jsx)("button",{onClick:()=>p(!m),className:"text-sm font-medium hover:underline",children:m?"Hide Details":"Show Details"}),m&&(0,l.jsx)(aC,{className:"h-[480px] mt-2 rounded border border-neutral-200",children:(0,l.jsxs)("div",{className:"w-full",children:[(0,l.jsx)("div",{className:"bg-neutral-50 border-b px-4 py-2",children:(0,l.jsx)("div",{className:"text-sm font-medium text-neutral-600",children:"Migration"})}),(0,l.jsx)("div",{children:h.map((e,t)=>(0,l.jsx)("div",{className:"px-4 py-2 border-b last:border-0",children:(0,l.jsx)("div",{className:"font-mono text-xs",children:e.migration||e.name})},t))})]})})]}),(0,l.jsxs)("p",{className:"text-xs text-neutral-400",children:["Seed files (",(0,l.jsx)("span",{className:"font-mono",children:"*seed*.sql"}),") are local-only and excluded from remote sync."]}),(0,l.jsx)("div",{className:"flex flex-col gap-2 pt-1",children:(0,l.jsxs)("div",{className:"flex gap-2",children:[(0,l.jsx)(nZ,{onClick:t,disabled:a,className:`flex-1 ${a?"cursor-not-allowed opacity-50":""}`,children:a?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(v,{className:"h-4 w-4 animate-spin"}),"Confirming..."]}):"Confirm Pull"}),(0,l.jsxs)("div",{className:"flex-1 flex flex-col gap-2",children:[(0,l.jsx)(nZ,{onClick:n,disabled:!g,variant:"outline",className:`w-full ${g?"":"cursor-not-allowed opacity-50"}`,children:s?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(v,{className:"h-4 w-4 animate-spin"}),"Syncing remote data..."]}):"Sync remote data"}),(0,l.jsx)("p",{className:"text-xs text-neutral-500 text-center",children:"75 records per table"})]})]})})]})})})})};function aP(){let[e]=(0,o.useState)(!1),[t,r]=(0,o.useState)(!1),[n,a]=(0,o.useState)(!1),[s,i]=(0,o.useState)(null),[c,d]=(0,o.useState)(null),[u,f]=(0,o.useState)(null),[m,p]=(0,o.useState)(null),{refreshTables:h,setOperationStatus:x,setLastSyncTime:g,currentDatabase:v}=(0,nQ.t)(),y=()=>{a(!1),i(null),d(null),f(null),p(null)},b=async()=>{try{f("push"),a(!0),r(!0),d(null),p(null),i({preview:[]});let e=await fetch("/api/push-remote/preview",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({db:v?.database_name})}),t=await e.json();if(!t.success)throw Error(t.error?.message||"Failed to generate preview");i(t.details.details)}catch(e){console.error("Push to remote preview failed:",e),d(e),x("error",e.message||"Failed to generate push preview")}finally{r(!1)}},w=async()=>{try{r(!0),d(null),p(null);let e=await fetch("/api/push-remote/confirm",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({db:v?.database_name})}),t=await e.json();if(!t.success)throw Error(t.error?.message||"Failed to confirm push");i(e=>({...e,preview:e.preview.map(e=>({...e,action:"will be applied"===e.action?"applied":e.action}))})),p(`Applied ${t.details.applied} migration(s), skipped ${t.details.skipped}.`),g(),x("success",`Push complete — ${t.details.applied} migration(s) applied`)}catch(e){console.error("Push to remote confirm failed:",e),d(e)}finally{r(!1)}},j=async()=>{try{f("pull"),a(!0),r(!0),d(null),p(null),i({preview:[]});let e=await fetch("/api/pull-remote/preview",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({db:v?.database_name})}),t=await e.json();if(!t.success)throw Error(t.error?.message||"Failed to generate pull preview");i(t.details)}catch(e){console.error("Pull to remote preview failed:",e),d(e),x("error",e.message||"Failed to generate pull preview")}finally{r(!1)}},N=async()=>{try{r(!0),d(null),p(null);let e=await fetch("/api/pull-remote/confirm",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({db:v?.database_name})}),t=await e.json();if(!t.success)throw Error(t.error?.message||"Failed to confirm pull");p("Pull migrations applied successfully."),g(),x("success","Pull complete"),i(e=>({...e,preview:e.preview.map(e=>({...e,action:"will be applied"===e.action?"applied":e.action}))})),await h()}catch(e){console.error("Pull to remote confirm failed:",e),d(e)}finally{r(!1)}},C=n&&("pull"===u?(0,l.jsx)(aO,{preview:s?.preview||[],onConfirm:N,onCancel:y,isConfirming:t,error:c,success:m,isLoading:t&&!s?.preview?.length,databaseName:v?.database_name,migrationsDir:v?.migrations_dir}):(0,l.jsx)(a_,{preview:s?.preview||[],onConfirm:w,onCancel:y,isConfirming:t,error:c,success:m,isLoading:t&&!s?.preview?.length,databaseName:v?.database_name,migrationsDir:v?.migrations_dir}));return{isConnecting:e,isPushing:t,showPreview:n,pushToRemote:b,pullToRemotePreview:j,PreviewUI:C}}function aL({icon:e,label:t,view:r,currentView:n,onNavigate:a,disabled:o,pro:s,locked:i}){let c=n===r;return(0,l.jsxs)("button",{className:`w-full flex items-center gap-x-1.5 border rounded-md text-sm font-medium transition-colors px-2 py-2
|
|
2
|
-
${
|
|
3
|
-
${"table-view"===
|
|
4
|
-
${D&&"opacity-50 cursor-not-allowed"}`,onClick:()=>B(e),disabled:D,children:e},e))]})})]}),(0,l.jsxs)("div",{className:"pt-2 flex flex-col gap-1",children:[(0,l.jsx)(aL,{icon:y,label:"SQL editor",view:"sql-editor",currentView:t,onNavigate:r,disabled:D}),(0,l.jsx)(aL,{icon:b,label:"Schema",view:"schema",currentView:t,onNavigate:r,disabled:D}),(0,l.jsx)(aL,{icon:w,label:"Time travel",view:"time-travel",currentView:t,onNavigate:r,disabled:D||!O,pro:!0,locked:!O})]})]})}),U]})}function a$(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function aF(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function aU(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?aF(Object(r),!0).forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):aF(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function az(e){return function t(){for(var r=this,n=arguments.length,a=Array(n),l=0;l<n;l++)a[l]=arguments[l];return a.length>=e.length?e.apply(this,a):function(){for(var e=arguments.length,n=Array(e),l=0;l<e;l++)n[l]=arguments[l];return t.apply(r,[].concat(a,n))}}}function aB(e){return({}).toString.call(e).includes("Object")}function aH(e){return"function"==typeof e}var aW=az(function(e,t){throw Error(e[t]||e.default)})({initialIsRequired:"initial state is required",initialType:"initial state should be an object",initialContent:"initial state shouldn't be an empty object",handlerType:"handler should be an object or a function",handlersType:"all handlers should be a functions",selectorType:"selector should be a function",changeType:"provided value of changes should be an object",changeField:'it seams you want to change a field in the state which is not specified in the "initial" state',default:"an unknown error accured in `state-local` package"}),aV={changes:function(e,t){return aB(t)||aW("changeType"),Object.keys(t).some(function(t){return!Object.prototype.hasOwnProperty.call(e,t)})&&aW("changeField"),t},selector:function(e){aH(e)||aW("selectorType")},handler:function(e){aH(e)||aB(e)||aW("handlerType"),aB(e)&&Object.values(e).some(function(e){return!aH(e)})&&aW("handlersType")},initial:function(e){e||aW("initialIsRequired"),aB(e)||aW("initialType"),Object.keys(e).length||aW("initialContent")}};function aK(e,t){return aH(t)?t(e.current):t}function aq(e,t){return e.current=aU(aU({},e.current),t),t}function aG(e,t,r){return aH(t)?t(e.current):Object.keys(r).forEach(function(r){var n;return null===(n=t[r])||void 0===n?void 0:n.call(t,e.current[r])}),r}(function(e){return function t(){for(var r=this,n=arguments.length,a=Array(n),l=0;l<n;l++)a[l]=arguments[l];return a.length>=e.length?e.apply(this,a):function(){for(var e=arguments.length,n=Array(e),l=0;l<e;l++)n[l]=arguments[l];return t.apply(r,[].concat(a,n))}}})(function(e,t){throw Error(e[t]||e.default)})({configIsRequired:"the configuration object is required",configType:"the configuration object should be an object",default:"an unknown error accured in `@monaco-editor/loader` package",deprecation:"Deprecation warning!\n You are using deprecated way of configuration.\n\n Instead of using\n monaco.config({ urls: { monacoBase: '...' } })\n use\n monaco.config({ paths: { vs: '...' } })\n\n For more please check the link https://github.com/suren-atoyan/monaco-loader#config\n "});let aY=function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return function(e){return t.reduceRight(function(e,t){return t(e)},e)}};var aX={type:"cancelation",msg:"operation is manually canceled"};let aQ=function(e){var t=!1,r=new Promise(function(r,n){e.then(function(e){return t?n(aX):r(e)}),e.catch(n)});return r.cancel=function(){return t=!0},r};var aJ=function(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var r=[],n=!0,a=!1,l=void 0;try{for(var o,s=e[Symbol.iterator]();!(n=(o=s.next()).done)&&(r.push(o.value),2!==r.length);n=!0);}catch(e){a=!0,l=e}finally{try{n||null==s.return||s.return()}finally{if(a)throw l}}return r}}(e,2)||function(e,t){if(e){if("string"==typeof e)return a$(e,2);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return a$(e,t)}}(e,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(({create:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};aV.initial(e),aV.handler(t);var r={current:e},n=az(aG)(r,t),a=az(aq)(r),l=az(aV.changes)(e),o=az(aK)(r);return[function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(e){return e};return aV.selector(e),e(r.current)},function(e){(function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return function(e){return t.reduceRight(function(e,t){return t(e)},e)}})(n,a,l,o)(e)}]}}).create({config:{paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.43.0/min/vs"}},isInitialized:!1,resolve:null,reject:null,monaco:null}),0),aZ=aJ[0],a0=aJ[1];function a1(e){return document.body.appendChild(e)}function a2(e){var t,r,n=aZ(function(e){return{config:e.config,reject:e.reject}}),a=(t="".concat(n.config.paths.vs,"/loader.js"),r=document.createElement("script"),t&&(r.src=t),r);return a.onload=function(){return e()},a.onerror=n.reject,a}function a5(){var e=aZ(function(e){return{config:e.config,resolve:e.resolve,reject:e.reject}}),t=window.require;t.config(e.config),t(["vs/editor/editor.main"],function(t){a4(t),e.resolve(t)},function(t){e.reject(t)})}function a4(e){aZ().monaco||a0({monaco:e})}var a3=new Promise(function(e,t){return a0({resolve:e,reject:t})});let a6={init:function(){var e=aZ(function(e){return{monaco:e.monaco,isInitialized:e.isInitialized,resolve:e.resolve}});if(!e.isInitialized){if(a0({isInitialized:!0}),e.monaco)return e.resolve(e.monaco),aQ(a3);if(window.monaco&&window.monaco.editor)return a4(window.monaco),e.resolve(window.monaco),aQ(a3);aY(a1,a2)(a5)}return aQ(a3)}};var a8={wrapper:{display:"flex",position:"relative",textAlign:"initial"},fullWidth:{width:"100%"},hide:{display:"none"}},a9={container:{display:"flex",height:"100%",width:"100%",justifyContent:"center",alignItems:"center"}},a7=function({children:e}){return o.createElement("div",{style:a9.container},e)},le=(0,o.memo)(function({width:e,height:t,isEditorReady:r,loading:n,_ref:a,className:l,wrapperProps:s}){return o.createElement("section",{style:{...a8.wrapper,width:e,height:t},...s},!r&&o.createElement(a7,null,n),o.createElement("div",{ref:a,style:{...a8.fullWidth,...!r&&a8.hide},className:l}))}),lt=function(e){(0,o.useEffect)(e,[])},lr=function(e,t,r=!0){let n=(0,o.useRef)(!0);(0,o.useEffect)(n.current||!r?()=>{n.current=!1}:e,t)};function ln(){}function la(e,t,r,n){return e.editor.getModel(ll(e,n))||e.editor.createModel(t,r,n?ll(e,n):void 0)}function ll(e,t){return e.Uri.parse(t)}(0,o.memo)(function({original:e,modified:t,language:r,originalLanguage:n,modifiedLanguage:a,originalModelPath:l,modifiedModelPath:s,keepCurrentOriginalModel:i=!1,keepCurrentModifiedModel:c=!1,theme:d="light",loading:u="Loading...",options:f={},height:m="100%",width:p="100%",className:h,wrapperProps:x={},beforeMount:g=ln,onMount:v=ln}){let[y,b]=(0,o.useState)(!1),[w,j]=(0,o.useState)(!0),N=(0,o.useRef)(null),C=(0,o.useRef)(null),k=(0,o.useRef)(null),S=(0,o.useRef)(v),R=(0,o.useRef)(g),E=(0,o.useRef)(!1);lt(()=>{let e=a6.init();return e.then(e=>(C.current=e)&&j(!1)).catch(e=>e?.type!=="cancelation"&&console.error("Monaco initialization: error:",e)),()=>{let t;return N.current?(t=N.current?.getModel(),void(i||t?.original?.dispose(),c||t?.modified?.dispose(),N.current?.dispose())):e.cancel()}}),lr(()=>{if(N.current&&C.current){let t=N.current.getOriginalEditor(),a=la(C.current,e||"",n||r||"text",l||"");a!==t.getModel()&&t.setModel(a)}},[l],y),lr(()=>{if(N.current&&C.current){let e=N.current.getModifiedEditor(),n=la(C.current,t||"",a||r||"text",s||"");n!==e.getModel()&&e.setModel(n)}},[s],y),lr(()=>{let e=N.current.getModifiedEditor();e.getOption(C.current.editor.EditorOption.readOnly)?e.setValue(t||""):t!==e.getValue()&&(e.executeEdits("",[{range:e.getModel().getFullModelRange(),text:t||"",forceMoveMarkers:!0}]),e.pushUndoStop())},[t],y),lr(()=>{N.current?.getModel()?.original.setValue(e||"")},[e],y),lr(()=>{let{original:e,modified:t}=N.current.getModel();C.current.editor.setModelLanguage(e,n||r||"text"),C.current.editor.setModelLanguage(t,a||r||"text")},[r,n,a],y),lr(()=>{C.current?.editor.setTheme(d)},[d],y),lr(()=>{N.current?.updateOptions(f)},[f],y);let T=(0,o.useCallback)(()=>{if(!C.current)return;R.current(C.current);let o=la(C.current,e||"",n||r||"text",l||""),i=la(C.current,t||"",a||r||"text",s||"");N.current?.setModel({original:o,modified:i})},[r,t,a,e,n,l,s]),M=(0,o.useCallback)(()=>{!E.current&&k.current&&(N.current=C.current.editor.createDiffEditor(k.current,{automaticLayout:!0,...f}),T(),C.current?.editor.setTheme(d),b(!0),E.current=!0)},[f,d,T]);return(0,o.useEffect)(()=>{y&&S.current(N.current,C.current)},[y]),(0,o.useEffect)(()=>{w||y||M()},[w,y,M]),o.createElement(le,{width:p,height:m,isEditorReady:y,loading:u,_ref:k,className:h,wrapperProps:x})});var lo=function(e){let t=(0,o.useRef)();return(0,o.useEffect)(()=>{t.current=e},[e]),t.current},ls=new Map,li=(0,o.memo)(function({defaultValue:e,defaultLanguage:t,defaultPath:r,value:n,language:a,path:l,theme:s="light",line:i,loading:c="Loading...",options:d={},overrideServices:u={},saveViewState:f=!0,keepCurrentModel:m=!1,width:p="100%",height:h="100%",className:x,wrapperProps:g={},beforeMount:v=ln,onMount:y=ln,onChange:b,onValidate:w=ln}){let[j,N]=(0,o.useState)(!1),[C,k]=(0,o.useState)(!0),S=(0,o.useRef)(null),R=(0,o.useRef)(null),E=(0,o.useRef)(null),T=(0,o.useRef)(y),M=(0,o.useRef)(v),A=(0,o.useRef)(),D=(0,o.useRef)(n),_=lo(l),O=(0,o.useRef)(!1),P=(0,o.useRef)(!1);lt(()=>{let e=a6.init();return e.then(e=>(S.current=e)&&k(!1)).catch(e=>e?.type!=="cancelation"&&console.error("Monaco initialization: error:",e)),()=>R.current?void(A.current?.dispose(),m?f&&ls.set(l,R.current.saveViewState()):R.current.getModel()?.dispose(),R.current.dispose()):e.cancel()}),lr(()=>{let o=la(S.current,e||n||"",t||a||"",l||r||"");o!==R.current?.getModel()&&(f&&ls.set(_,R.current?.saveViewState()),R.current?.setModel(o),f&&R.current?.restoreViewState(ls.get(l)))},[l],j),lr(()=>{R.current?.updateOptions(d)},[d],j),lr(()=>{R.current&&void 0!==n&&(R.current.getOption(S.current.editor.EditorOption.readOnly)?R.current.setValue(n):n===R.current.getValue()||(P.current=!0,R.current.executeEdits("",[{range:R.current.getModel().getFullModelRange(),text:n,forceMoveMarkers:!0}]),R.current.pushUndoStop(),P.current=!1))},[n],j),lr(()=>{let e=R.current?.getModel();e&&a&&S.current?.editor.setModelLanguage(e,a)},[a],j),lr(()=>{void 0!==i&&R.current?.revealLine(i)},[i],j),lr(()=>{S.current?.editor.setTheme(s)},[s],j);let L=(0,o.useCallback)(()=>{if(!(!E.current||!S.current)&&!O.current){M.current(S.current);let o=l||r,c=la(S.current,n||e||"",t||a||"",o||"");R.current=S.current?.editor.create(E.current,{model:c,automaticLayout:!0,...d},u),f&&R.current.restoreViewState(ls.get(o)),S.current.editor.setTheme(s),void 0!==i&&R.current.revealLine(i),N(!0),O.current=!0}},[e,t,r,n,a,l,d,u,f,s,i]);return(0,o.useEffect)(()=>{j&&T.current(R.current,S.current)},[j]),(0,o.useEffect)(()=>{C||j||L()},[C,j,L]),D.current=n,(0,o.useEffect)(()=>{j&&b&&(A.current?.dispose(),A.current=R.current?.onDidChangeModelContent(e=>{P.current||b(R.current.getValue(),e)}))},[j,b]),(0,o.useEffect)(()=>{if(j){let e=S.current.editor.onDidChangeMarkers(e=>{let t=R.current.getModel()?.uri;if(t&&e.find(e=>e.path===t.path)){let e=S.current.editor.getModelMarkers({resource:t});w?.(e)}});return()=>{e?.dispose()}}return()=>{}},[j,w]),o.createElement(le,{width:p,height:h,isEditorReady:j,loading:c,_ref:E,className:x,wrapperProps:g})});let lc=(0,d.A)("GripHorizontal",[["circle",{cx:"12",cy:"9",r:"1",key:"124mty"}],["circle",{cx:"19",cy:"9",r:"1",key:"1ruzo2"}],["circle",{cx:"5",cy:"9",r:"1",key:"1a8b28"}],["circle",{cx:"12",cy:"15",r:"1",key:"1e56xg"}],["circle",{cx:"19",cy:"15",r:"1",key:"1a92ep"}],["circle",{cx:"5",cy:"15",r:"1",key:"5r1jwy"}]]),ld=(0,d.A)("Command",[["path",{d:"M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3",key:"11bfej"}]]),lu=(0,d.A)("CornerDownLeft",[["polyline",{points:"9 10 4 15 9 20",key:"r3jprv"}],["path",{d:"M20 4v7a4 4 0 0 1-4 4H4",key:"6o5b7l"}]]);function lf({results:e}){return e&&Array.isArray(e)?(0,l.jsxs)("div",{className:"text-xs font-medium text-neutral-900 flex items-center gap-2 mb-2",children:[e.length," ",1===e.length?"row":"rows"," returned"]}):null}function lm({error:e}){console.debug("SQLErrorDisplay - Received error prop:",e);let t=e&&"string"==typeof e.message?e:{message:"An unknown error occurred",details:{}};return(0,l.jsxs)("div",{children:[(0,l.jsx)("div",{className:"text-neutral-700 text-sm",children:t.message}),t.details?.stderr&&(0,l.jsx)("pre",{className:"mt-2 p-2 text-xs text-red-500 whitespace-pre-wrap",children:t.details.stderr})]})}function lp({query:e,results:t}){if(!t?.length)return(0,l.jsx)("div",{className:"text-sm text-neutral-500",children:"No results to display."});let r=e?.trim().toLowerCase().startsWith("pragma table_info"),n=r?["Column Name","Type","Not Null","Default Value","Primary Key"]:Object.keys(t[0]),a=r?t.map(e=>({"Column Name":e.name,Type:e.type,"Not Null":1===e.notnull?"YES":"NO","Default Value":e.dflt_value||"(null)","Primary Key":1===e.pk?"YES":"NO"})):t;return(0,l.jsxs)("div",{className:"flex flex-col h-full",children:[(0,l.jsx)(lf,{results:a}),(0,l.jsx)("div",{className:"flex-1 overflow-auto border rounded-lg",children:(0,l.jsx)("div",{className:"min-w-full",children:(0,l.jsxs)(aS,{children:[(0,l.jsx)(aR,{children:(0,l.jsx)(aT,{className:"bg-muted/50",children:n.map(e=>(0,l.jsx)(aM,{className:"font-mono text-xs font-medium text-muted-foreground",children:e},e))})}),(0,l.jsx)(aE,{children:a.map((e,t)=>(0,l.jsx)(aT,{className:"hover:bg-muted/50",children:n.map(r=>{let n=e[r],a=null===n?"(null)":String(n);return(0,l.jsx)(aA,{className:"font-monospace text-xs whitespace-nowrap",children:a},`${t}-${r}`)})},t))})]})})})]})}let lh={SYNTAX_ERROR:"SYNTAX_ERROR",EXECUTION_ERROR:"EXECUTION_ERROR",TABLE_NOT_FOUND:"TABLE_NOT_FOUND",TABLE_EXISTS:"TABLE_EXISTS",FOREIGN_KEY_ERROR:"FOREIGN_KEY_ERROR",UNIQUE_CONSTRAINT_ERROR:"UNIQUE_CONSTRAINT_ERROR",NOT_NULL_CONSTRAINT_ERROR:"NOT_NULL_CONSTRAINT_ERROR",CHECK_CONSTRAINT_ERROR:"CHECK_CONSTRAINT_ERROR",UNKNOWN_ERROR:"UNKNOWN_ERROR"};function lx(e){if(!e)return{type:lh.UNKNOWN_ERROR,message:"An unknown error occurred",details:{}};let t=null,r=e.cmd||e.details&&e.details.command;if(r){let e=r.match(/--command="(.+?)"\s*--json/s);e&&(t=e[1].replace(/\\n/g,"\n").replace(/\\"/g,'"'))}let n=e.stdout||e.details&&e.details.stdout;if(n)try{let e=JSON.parse(n.trim()),a=e?.error?.text||"";if(a)return lg(a,t,r)}catch{}let a=e.stderr||e.details&&e.details.stderr;if(a)return lg(a.replace(/\x1B\[[0-9;]*[a-zA-Z]/g,""),t,r);let l=e.message||e.details&&e.details.originalError||"";return l?lg(l,t,r):{type:lh.UNKNOWN_ERROR,message:e.message||"An unknown error occurred",details:{}}}function lg(e,t,r){if(e.includes("env: node: No such file or directory"))return{type:lh.EXECUTION_ERROR,message:"Node.js not found — ensure Node.js is installed and in PATH",details:{originalQuery:t}};let n=e.match(/near "([^"]+)": syntax error(?:\s+at offset (\d+))?/);if(n){let[,e,r]=n;return{type:lh.SYNTAX_ERROR,message:`Syntax error near "${e}"${r?` at position ${r}`:""}`,details:{originalQuery:t,errorLocation:{near:e,offset:r?parseInt(r):null}}}}if(e.includes("UNIQUE constraint failed")){let[,r]=e.match(/UNIQUE constraint failed: ([\w.]+)/)||[];return{type:lh.UNIQUE_CONSTRAINT_ERROR,message:`UNIQUE constraint failed: ${r||"unknown column"}`,details:{originalQuery:t}}}if(e.includes("NOT NULL constraint failed")){let[,r]=e.match(/NOT NULL constraint failed: ([\w.]+)/)||[];return{type:lh.NOT_NULL_CONSTRAINT_ERROR,message:`NOT NULL constraint failed: ${r||"unknown column"}`,details:{originalQuery:t}}}if(e.includes("CHECK constraint failed")){let[,r]=e.match(/CHECK constraint failed: (\S+)/)||[];return{type:lh.CHECK_CONSTRAINT_ERROR,message:`CHECK constraint failed: ${r||"unknown constraint"}`,details:{originalQuery:t}}}if(e.includes("FOREIGN KEY constraint failed"))return{type:lh.FOREIGN_KEY_ERROR,message:"FOREIGN KEY constraint failed",details:{originalQuery:t}};if(e.includes("no such table")){let[,r]=e.match(/no such table: (\S+)/)||[];return{type:lh.TABLE_NOT_FOUND,message:`Table not found: ${r||"unknown"}`,details:{originalQuery:t}}}if(e.includes("already exists")){let[,r]=e.match(/table (\w+) already exists/)||[];return{type:lh.TABLE_EXISTS,message:`Table already exists: ${r||"unknown"}`,details:{originalQuery:t}}}return{type:lh.EXECUTION_ERROR,message:e.replace(/:\s*SQLITE_\w+$/,"").trim()||"Failed to execute SQL command",details:{originalQuery:t}}}let lv={"Show Tables":`SELECT name
|
|
1
|
+
(()=>{var a={};a.id=974,a.ids=[974],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},1905:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Volumes/ProjectSpace/_wip/d1studio/src/app/page.jsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Volumes/ProjectSpace/_wip/d1studio/src/app/page.jsx","default")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},6776:(a,b,c)=>{Promise.resolve().then(c.bind(c,32122))},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},24207:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"BailoutToCSR",{enumerable:!0,get:function(){return e}});let d=c(84339);function e(a){let{reason:b,children:c}=a;throw Object.defineProperty(new d.BailoutToCSRError(b),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},28354:a=>{"use strict";a.exports=require("util")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},32122:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>iC});var d,e,f=c(21124),g=c(38301),h=c.t(g,2),i=c.n(g);let j={rE:"0.3.10"};var k=c(8808);let l=(0,k.A)("Lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]),m=(0,k.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"}]]),n=(0,k.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"}]]),o=(0,k.A)("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]),p=(0,k.A)("ArrowDownToLine",[["path",{d:"M12 17V3",key:"1cwfxf"}],["path",{d:"m6 11 6 6 6-6",key:"12ii2o"}],["path",{d:"M19 21H5",key:"150jfl"}]]),q=(0,k.A)("ArrowUpFromLine",[["path",{d:"m18 9-6-6-6 6",key:"kcunyi"}],["path",{d:"M12 3v14",key:"7cf3v8"}],["path",{d:"M5 21h14",key:"11awu3"}]]),r=(0,k.A)("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]),s=(0,k.A)("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]),t=(0,k.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"}]]),u=(0,k.A)("Database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]),v=(0,k.A)("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);var w=c(52603);let x=g.forwardRef(({className:a,type:b,...c},d)=>(0,f.jsx)("input",{type:b,className:(0,w.cn)("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",a),ref:d,...c}));x.displayName="Input";var y=c(26691);let z=(0,y.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"}}),A=g.forwardRef(({className:a,variant:b,...c},d)=>(0,f.jsx)("div",{ref:d,role:"alert",className:(0,w.cn)(z({variant:b}),a),...c}));A.displayName="Alert",g.forwardRef(({className:a,...b},c)=>(0,f.jsx)("h5",{ref:c,className:(0,w.cn)("mb-1 font-medium leading-none tracking-tight",a),...b})).displayName="AlertTitle";let B=g.forwardRef(({className:a,...b},c)=>(0,f.jsx)("div",{ref:c,className:(0,w.cn)("text-sm [&_p]:leading-relaxed",a),...b}));B.displayName="AlertDescription";var C=c(87868),D=c(92808),E=c(2332),F=c(11720),G=c(6406),H=c(825),I=g.createContext(void 0);function J(a){let b=g.useContext(I);return a||b||"ltr"}var K=c(7412),L=0;function M(){g.useEffect(()=>{let a=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",a[0]??N()),document.body.insertAdjacentElement("beforeend",a[1]??N()),L++,()=>{1===L&&document.querySelectorAll("[data-radix-focus-guard]").forEach(a=>a.remove()),L--}},[])}function N(){let a=document.createElement("span");return a.setAttribute("data-radix-focus-guard",""),a.tabIndex=0,a.style.outline="none",a.style.opacity="0",a.style.position="fixed",a.style.pointerEvents="none",a}var O=c(71700),P="focusScope.autoFocusOnMount",Q="focusScope.autoFocusOnUnmount",R={bubbles:!1,cancelable:!0},S=g.forwardRef((a,b)=>{let{loop:c=!1,trapped:d=!1,onMountAutoFocus:e,onUnmountAutoFocus:h,...i}=a,[j,k]=g.useState(null),l=(0,O.c)(e),m=(0,O.c)(h),n=g.useRef(null),o=(0,D.s)(b,a=>k(a)),p=g.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;g.useEffect(()=>{if(d){let a=function(a){if(p.paused||!j)return;let b=a.target;j.contains(b)?n.current=b:V(n.current,{select:!0})},b=function(a){if(p.paused||!j)return;let b=a.relatedTarget;null!==b&&(j.contains(b)||V(n.current,{select:!0}))};document.addEventListener("focusin",a),document.addEventListener("focusout",b);let c=new MutationObserver(function(a){if(document.activeElement===document.body)for(let b of a)b.removedNodes.length>0&&V(j)});return j&&c.observe(j,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",a),document.removeEventListener("focusout",b),c.disconnect()}}},[d,j,p.paused]),g.useEffect(()=>{if(j){W.add(p);let a=document.activeElement;if(!j.contains(a)){let b=new CustomEvent(P,R);j.addEventListener(P,l),j.dispatchEvent(b),b.defaultPrevented||(function(a,{select:b=!1}={}){let c=document.activeElement;for(let d of a)if(V(d,{select:b}),document.activeElement!==c)return}(T(j).filter(a=>"A"!==a.tagName),{select:!0}),document.activeElement===a&&V(j))}return()=>{j.removeEventListener(P,l),setTimeout(()=>{let b=new CustomEvent(Q,R);j.addEventListener(Q,m),j.dispatchEvent(b),b.defaultPrevented||V(a??document.body,{select:!0}),j.removeEventListener(Q,m),W.remove(p)},0)}}},[j,l,m,p]);let q=g.useCallback(a=>{if(!c&&!d||p.paused)return;let b="Tab"===a.key&&!a.altKey&&!a.ctrlKey&&!a.metaKey,e=document.activeElement;if(b&&e){let b=a.currentTarget,[d,f]=function(a){let b=T(a);return[U(b,a),U(b.reverse(),a)]}(b);d&&f?a.shiftKey||e!==f?a.shiftKey&&e===d&&(a.preventDefault(),c&&V(f,{select:!0})):(a.preventDefault(),c&&V(d,{select:!0})):e===b&&a.preventDefault()}},[c,d,p.paused]);return(0,f.jsx)(G.sG.div,{tabIndex:-1,...i,ref:o,onKeyDown:q})});function T(a){let b=[],c=document.createTreeWalker(a,NodeFilter.SHOW_ELEMENT,{acceptNode:a=>{let b="INPUT"===a.tagName&&"hidden"===a.type;return a.disabled||a.hidden||b?NodeFilter.FILTER_SKIP:a.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;c.nextNode();)b.push(c.currentNode);return b}function U(a,b){for(let c of a)if(!function(a,{upTo:b}){if("hidden"===getComputedStyle(a).visibility)return!0;for(;a&&(void 0===b||a!==b);){if("none"===getComputedStyle(a).display)return!0;a=a.parentElement}return!1}(c,{upTo:b}))return c}function V(a,{select:b=!1}={}){if(a&&a.focus){var c;let d=document.activeElement;a.focus({preventScroll:!0}),a!==d&&(c=a)instanceof HTMLInputElement&&"select"in c&&b&&a.select()}}S.displayName="FocusScope";var W=function(){let a=[];return{add(b){let c=a[0];b!==c&&c?.pause(),(a=X(a,b)).unshift(b)},remove(b){a=X(a,b),a[0]?.resume()}}}();function X(a,b){let c=[...a],d=c.indexOf(b);return -1!==d&&c.splice(d,1),c}var Y=c(68829),Z=h["useId".toString()]||(()=>void 0),$=0;function _(a){let[b,c]=g.useState(Z());return(0,Y.N)(()=>{a||c(a=>a??String($++))},[a]),a||(b?`radix-${b}`:"")}let aa=["top","right","bottom","left"],ab=Math.min,ac=Math.max,ad=Math.round,ae=Math.floor,af=a=>({x:a,y:a}),ag={left:"right",right:"left",bottom:"top",top:"bottom"},ah={start:"end",end:"start"};function ai(a,b){return"function"==typeof a?a(b):a}function aj(a){return a.split("-")[0]}function ak(a){return a.split("-")[1]}function al(a){return"x"===a?"y":"x"}function am(a){return"y"===a?"height":"width"}function an(a){return["top","bottom"].includes(aj(a))?"y":"x"}function ao(a){return a.replace(/start|end/g,a=>ah[a])}function ap(a){return a.replace(/left|right|bottom|top/g,a=>ag[a])}function aq(a){return"number"!=typeof a?{top:0,right:0,bottom:0,left:0,...a}:{top:a,right:a,bottom:a,left:a}}function ar(a){let{x:b,y:c,width:d,height:e}=a;return{width:d,height:e,top:c,left:b,right:b+d,bottom:c+e,x:b,y:c}}function as(a,b,c){let d,{reference:e,floating:f}=a,g=an(b),h=al(an(b)),i=am(h),j=aj(b),k="y"===g,l=e.x+e.width/2-f.width/2,m=e.y+e.height/2-f.height/2,n=e[i]/2-f[i]/2;switch(j){case"top":d={x:l,y:e.y-f.height};break;case"bottom":d={x:l,y:e.y+e.height};break;case"right":d={x:e.x+e.width,y:m};break;case"left":d={x:e.x-f.width,y:m};break;default:d={x:e.x,y:e.y}}switch(ak(b)){case"start":d[h]-=n*(c&&k?-1:1);break;case"end":d[h]+=n*(c&&k?-1:1)}return d}let at=async(a,b,c)=>{let{placement:d="bottom",strategy:e="absolute",middleware:f=[],platform:g}=c,h=f.filter(Boolean),i=await (null==g.isRTL?void 0:g.isRTL(b)),j=await g.getElementRects({reference:a,floating:b,strategy:e}),{x:k,y:l}=as(j,d,i),m=d,n={},o=0;for(let c=0;c<h.length;c++){let{name:f,fn:p}=h[c],{x:q,y:r,data:s,reset:t}=await p({x:k,y:l,initialPlacement:d,placement:m,strategy:e,middlewareData:n,rects:j,platform:g,elements:{reference:a,floating:b}});k=null!=q?q:k,l=null!=r?r:l,n={...n,[f]:{...n[f],...s}},t&&o<=50&&(o++,"object"==typeof t&&(t.placement&&(m=t.placement),t.rects&&(j=!0===t.rects?await g.getElementRects({reference:a,floating:b,strategy:e}):t.rects),{x:k,y:l}=as(j,m,i)),c=-1)}return{x:k,y:l,placement:m,strategy:e,middlewareData:n}};async function au(a,b){var c;void 0===b&&(b={});let{x:d,y:e,platform:f,rects:g,elements:h,strategy:i}=a,{boundary:j="clippingAncestors",rootBoundary:k="viewport",elementContext:l="floating",altBoundary:m=!1,padding:n=0}=ai(b,a),o=aq(n),p=h[m?"floating"===l?"reference":"floating":l],q=ar(await f.getClippingRect({element:null==(c=await (null==f.isElement?void 0:f.isElement(p)))||c?p:p.contextElement||await (null==f.getDocumentElement?void 0:f.getDocumentElement(h.floating)),boundary:j,rootBoundary:k,strategy:i})),r="floating"===l?{x:d,y:e,width:g.floating.width,height:g.floating.height}:g.reference,s=await (null==f.getOffsetParent?void 0:f.getOffsetParent(h.floating)),t=await (null==f.isElement?void 0:f.isElement(s))&&await (null==f.getScale?void 0:f.getScale(s))||{x:1,y:1},u=ar(f.convertOffsetParentRelativeRectToViewportRelativeRect?await f.convertOffsetParentRelativeRectToViewportRelativeRect({elements:h,rect:r,offsetParent:s,strategy:i}):r);return{top:(q.top-u.top+o.top)/t.y,bottom:(u.bottom-q.bottom+o.bottom)/t.y,left:(q.left-u.left+o.left)/t.x,right:(u.right-q.right+o.right)/t.x}}function av(a,b){return{top:a.top-b.height,right:a.right-b.width,bottom:a.bottom-b.height,left:a.left-b.width}}function aw(a){return aa.some(b=>a[b]>=0)}async function ax(a,b){let{placement:c,platform:d,elements:e}=a,f=await (null==d.isRTL?void 0:d.isRTL(e.floating)),g=aj(c),h=ak(c),i="y"===an(c),j=["left","top"].includes(g)?-1:1,k=f&&i?-1:1,l=ai(b,a),{mainAxis:m,crossAxis:n,alignmentAxis:o}="number"==typeof l?{mainAxis:l,crossAxis:0,alignmentAxis:null}:{mainAxis:l.mainAxis||0,crossAxis:l.crossAxis||0,alignmentAxis:l.alignmentAxis};return h&&"number"==typeof o&&(n="end"===h?-1*o:o),i?{x:n*k,y:m*j}:{x:m*j,y:n*k}}function ay(){return"undefined"!=typeof window}function az(a){return aC(a)?(a.nodeName||"").toLowerCase():"#document"}function aA(a){var b;return(null==a||null==(b=a.ownerDocument)?void 0:b.defaultView)||window}function aB(a){var b;return null==(b=(aC(a)?a.ownerDocument:a.document)||window.document)?void 0:b.documentElement}function aC(a){return!!ay()&&(a instanceof Node||a instanceof aA(a).Node)}function aD(a){return!!ay()&&(a instanceof Element||a instanceof aA(a).Element)}function aE(a){return!!ay()&&(a instanceof HTMLElement||a instanceof aA(a).HTMLElement)}function aF(a){return!!ay()&&"undefined"!=typeof ShadowRoot&&(a instanceof ShadowRoot||a instanceof aA(a).ShadowRoot)}function aG(a){let{overflow:b,overflowX:c,overflowY:d,display:e}=aL(a);return/auto|scroll|overlay|hidden|clip/.test(b+d+c)&&!["inline","contents"].includes(e)}function aH(a){return[":popover-open",":modal"].some(b=>{try{return a.matches(b)}catch(a){return!1}})}function aI(a){let b=aJ(),c=aD(a)?aL(a):a;return["transform","translate","scale","rotate","perspective"].some(a=>!!c[a]&&"none"!==c[a])||!!c.containerType&&"normal"!==c.containerType||!b&&!!c.backdropFilter&&"none"!==c.backdropFilter||!b&&!!c.filter&&"none"!==c.filter||["transform","translate","scale","rotate","perspective","filter"].some(a=>(c.willChange||"").includes(a))||["paint","layout","strict","content"].some(a=>(c.contain||"").includes(a))}function aJ(){return"undefined"!=typeof CSS&&!!CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")}function aK(a){return["html","body","#document"].includes(az(a))}function aL(a){return aA(a).getComputedStyle(a)}function aM(a){return aD(a)?{scrollLeft:a.scrollLeft,scrollTop:a.scrollTop}:{scrollLeft:a.scrollX,scrollTop:a.scrollY}}function aN(a){if("html"===az(a))return a;let b=a.assignedSlot||a.parentNode||aF(a)&&a.host||aB(a);return aF(b)?b.host:b}function aO(a,b,c){var d;void 0===b&&(b=[]),void 0===c&&(c=!0);let e=function a(b){let c=aN(b);return aK(c)?b.ownerDocument?b.ownerDocument.body:b.body:aE(c)&&aG(c)?c:a(c)}(a),f=e===(null==(d=a.ownerDocument)?void 0:d.body),g=aA(e);if(f){let a=aP(g);return b.concat(g,g.visualViewport||[],aG(e)?e:[],a&&c?aO(a):[])}return b.concat(e,aO(e,[],c))}function aP(a){return a.parent&&Object.getPrototypeOf(a.parent)?a.frameElement:null}function aQ(a){let b=aL(a),c=parseFloat(b.width)||0,d=parseFloat(b.height)||0,e=aE(a),f=e?a.offsetWidth:c,g=e?a.offsetHeight:d,h=ad(c)!==f||ad(d)!==g;return h&&(c=f,d=g),{width:c,height:d,$:h}}function aR(a){return aD(a)?a:a.contextElement}function aS(a){let b=aR(a);if(!aE(b))return af(1);let c=b.getBoundingClientRect(),{width:d,height:e,$:f}=aQ(b),g=(f?ad(c.width):c.width)/d,h=(f?ad(c.height):c.height)/e;return g&&Number.isFinite(g)||(g=1),h&&Number.isFinite(h)||(h=1),{x:g,y:h}}let aT=af(0);function aU(a){let b=aA(a);return aJ()&&b.visualViewport?{x:b.visualViewport.offsetLeft,y:b.visualViewport.offsetTop}:aT}function aV(a,b,c,d){var e;void 0===b&&(b=!1),void 0===c&&(c=!1);let f=a.getBoundingClientRect(),g=aR(a),h=af(1);b&&(d?aD(d)&&(h=aS(d)):h=aS(a));let i=(void 0===(e=c)&&(e=!1),d&&(!e||d===aA(g))&&e)?aU(g):af(0),j=(f.left+i.x)/h.x,k=(f.top+i.y)/h.y,l=f.width/h.x,m=f.height/h.y;if(g){let a=aA(g),b=d&&aD(d)?aA(d):d,c=a,e=aP(c);for(;e&&d&&b!==c;){let a=aS(e),b=e.getBoundingClientRect(),d=aL(e),f=b.left+(e.clientLeft+parseFloat(d.paddingLeft))*a.x,g=b.top+(e.clientTop+parseFloat(d.paddingTop))*a.y;j*=a.x,k*=a.y,l*=a.x,m*=a.y,j+=f,k+=g,e=aP(c=aA(e))}}return ar({width:l,height:m,x:j,y:k})}function aW(a,b){let c=aM(a).scrollLeft;return b?b.left+c:aV(aB(a)).left+c}function aX(a,b,c){void 0===c&&(c=!1);let d=a.getBoundingClientRect();return{x:d.left+b.scrollLeft-(c?0:aW(a,d)),y:d.top+b.scrollTop}}function aY(a,b,c){let d;if("viewport"===b)d=function(a,b){let c=aA(a),d=aB(a),e=c.visualViewport,f=d.clientWidth,g=d.clientHeight,h=0,i=0;if(e){f=e.width,g=e.height;let a=aJ();(!a||a&&"fixed"===b)&&(h=e.offsetLeft,i=e.offsetTop)}return{width:f,height:g,x:h,y:i}}(a,c);else if("document"===b)d=function(a){let b=aB(a),c=aM(a),d=a.ownerDocument.body,e=ac(b.scrollWidth,b.clientWidth,d.scrollWidth,d.clientWidth),f=ac(b.scrollHeight,b.clientHeight,d.scrollHeight,d.clientHeight),g=-c.scrollLeft+aW(a),h=-c.scrollTop;return"rtl"===aL(d).direction&&(g+=ac(b.clientWidth,d.clientWidth)-e),{width:e,height:f,x:g,y:h}}(aB(a));else if(aD(b))d=function(a,b){let c=aV(a,!0,"fixed"===b),d=c.top+a.clientTop,e=c.left+a.clientLeft,f=aE(a)?aS(a):af(1),g=a.clientWidth*f.x,h=a.clientHeight*f.y;return{width:g,height:h,x:e*f.x,y:d*f.y}}(b,c);else{let c=aU(a);d={x:b.x-c.x,y:b.y-c.y,width:b.width,height:b.height}}return ar(d)}function aZ(a){return"static"===aL(a).position}function a$(a,b){if(!aE(a)||"fixed"===aL(a).position)return null;if(b)return b(a);let c=a.offsetParent;return aB(a)===c&&(c=c.ownerDocument.body),c}function a_(a,b){let c=aA(a);if(aH(a))return c;if(!aE(a)){let b=aN(a);for(;b&&!aK(b);){if(aD(b)&&!aZ(b))return b;b=aN(b)}return c}let d=a$(a,b);for(;d&&["table","td","th"].includes(az(d))&&aZ(d);)d=a$(d,b);return d&&aK(d)&&aZ(d)&&!aI(d)?c:d||function(a){let b=aN(a);for(;aE(b)&&!aK(b);){if(aI(b))return b;if(aH(b))break;b=aN(b)}return null}(a)||c}let a0=async function(a){let b=this.getOffsetParent||a_,c=this.getDimensions,d=await c(a.floating);return{reference:function(a,b,c){let d=aE(b),e=aB(b),f="fixed"===c,g=aV(a,!0,f,b),h={scrollLeft:0,scrollTop:0},i=af(0);if(d||!d&&!f)if(("body"!==az(b)||aG(e))&&(h=aM(b)),d){let a=aV(b,!0,f,b);i.x=a.x+b.clientLeft,i.y=a.y+b.clientTop}else e&&(i.x=aW(e));let j=!e||d||f?af(0):aX(e,h);return{x:g.left+h.scrollLeft-i.x-j.x,y:g.top+h.scrollTop-i.y-j.y,width:g.width,height:g.height}}(a.reference,await b(a.floating),a.strategy),floating:{x:0,y:0,width:d.width,height:d.height}}},a1={convertOffsetParentRelativeRectToViewportRelativeRect:function(a){let{elements:b,rect:c,offsetParent:d,strategy:e}=a,f="fixed"===e,g=aB(d),h=!!b&&aH(b.floating);if(d===g||h&&f)return c;let i={scrollLeft:0,scrollTop:0},j=af(1),k=af(0),l=aE(d);if((l||!l&&!f)&&(("body"!==az(d)||aG(g))&&(i=aM(d)),aE(d))){let a=aV(d);j=aS(d),k.x=a.x+d.clientLeft,k.y=a.y+d.clientTop}let m=!g||l||f?af(0):aX(g,i,!0);return{width:c.width*j.x,height:c.height*j.y,x:c.x*j.x-i.scrollLeft*j.x+k.x+m.x,y:c.y*j.y-i.scrollTop*j.y+k.y+m.y}},getDocumentElement:aB,getClippingRect:function(a){let{element:b,boundary:c,rootBoundary:d,strategy:e}=a,f=[..."clippingAncestors"===c?aH(b)?[]:function(a,b){let c=b.get(a);if(c)return c;let d=aO(a,[],!1).filter(a=>aD(a)&&"body"!==az(a)),e=null,f="fixed"===aL(a).position,g=f?aN(a):a;for(;aD(g)&&!aK(g);){let b=aL(g),c=aI(g);c||"fixed"!==b.position||(e=null),(f?!c&&!e:!c&&"static"===b.position&&!!e&&["absolute","fixed"].includes(e.position)||aG(g)&&!c&&function a(b,c){let d=aN(b);return!(d===c||!aD(d)||aK(d))&&("fixed"===aL(d).position||a(d,c))}(a,g))?d=d.filter(a=>a!==g):e=b,g=aN(g)}return b.set(a,d),d}(b,this._c):[].concat(c),d],g=f[0],h=f.reduce((a,c)=>{let d=aY(b,c,e);return a.top=ac(d.top,a.top),a.right=ab(d.right,a.right),a.bottom=ab(d.bottom,a.bottom),a.left=ac(d.left,a.left),a},aY(b,g,e));return{width:h.right-h.left,height:h.bottom-h.top,x:h.left,y:h.top}},getOffsetParent:a_,getElementRects:a0,getClientRects:function(a){return Array.from(a.getClientRects())},getDimensions:function(a){let{width:b,height:c}=aQ(a);return{width:b,height:c}},getScale:aS,isElement:aD,isRTL:function(a){return"rtl"===aL(a).direction}};function a2(a,b){return a.x===b.x&&a.y===b.y&&a.width===b.width&&a.height===b.height}let a3=a=>({name:"arrow",options:a,async fn(b){let{x:c,y:d,placement:e,rects:f,platform:g,elements:h,middlewareData:i}=b,{element:j,padding:k=0}=ai(a,b)||{};if(null==j)return{};let l=aq(k),m={x:c,y:d},n=al(an(e)),o=am(n),p=await g.getDimensions(j),q="y"===n,r=q?"clientHeight":"clientWidth",s=f.reference[o]+f.reference[n]-m[n]-f.floating[o],t=m[n]-f.reference[n],u=await (null==g.getOffsetParent?void 0:g.getOffsetParent(j)),v=u?u[r]:0;v&&await (null==g.isElement?void 0:g.isElement(u))||(v=h.floating[r]||f.floating[o]);let w=v/2-p[o]/2-1,x=ab(l[q?"top":"left"],w),y=ab(l[q?"bottom":"right"],w),z=v-p[o]-y,A=v/2-p[o]/2+(s/2-t/2),B=ac(x,ab(A,z)),C=!i.arrow&&null!=ak(e)&&A!==B&&f.reference[o]/2-(A<x?x:y)-p[o]/2<0,D=C?A<x?A-x:A-z:0;return{[n]:m[n]+D,data:{[n]:B,centerOffset:A-B-D,...C&&{alignmentOffset:D}},reset:C}}});var a4=c(23312),a5="undefined"!=typeof document?g.useLayoutEffect:g.useEffect;function a6(a,b){let c,d,e;if(a===b)return!0;if(typeof a!=typeof b)return!1;if("function"==typeof a&&a.toString()===b.toString())return!0;if(a&&b&&"object"==typeof a){if(Array.isArray(a)){if((c=a.length)!==b.length)return!1;for(d=c;0!=d--;)if(!a6(a[d],b[d]))return!1;return!0}if((c=(e=Object.keys(a)).length)!==Object.keys(b).length)return!1;for(d=c;0!=d--;)if(!({}).hasOwnProperty.call(b,e[d]))return!1;for(d=c;0!=d--;){let c=e[d];if(("_owner"!==c||!a.$$typeof)&&!a6(a[c],b[c]))return!1}return!0}return a!=a&&b!=b}function a7(a){return"undefined"==typeof window?1:(a.ownerDocument.defaultView||window).devicePixelRatio||1}function a8(a,b){let c=a7(a);return Math.round(b*c)/c}function a9(a){let b=g.useRef(a);return a5(()=>{b.current=a}),b}var ba=g.forwardRef((a,b)=>{let{children:c,width:d=10,height:e=5,...g}=a;return(0,f.jsx)(G.sG.svg,{...g,ref:b,width:d,height:e,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:a.asChild?c:(0,f.jsx)("polygon",{points:"0,0 30,0 15,10"})})});function bb(a){let[b,c]=g.useState(void 0);return(0,Y.N)(()=>{if(a){c({width:a.offsetWidth,height:a.offsetHeight});let b=new ResizeObserver(b=>{let d,e;if(!Array.isArray(b)||!b.length)return;let f=b[0];if("borderBoxSize"in f){let a=f.borderBoxSize,b=Array.isArray(a)?a[0]:a;d=b.inlineSize,e=b.blockSize}else d=a.offsetWidth,e=a.offsetHeight;c({width:d,height:e})});return b.observe(a,{box:"border-box"}),()=>b.unobserve(a)}c(void 0)},[a]),b}ba.displayName="Arrow";var bc="Popper",[bd,be]=(0,E.A)(bc),[bf,bg]=bd(bc),bh=a=>{let{__scopePopper:b,children:c}=a,[d,e]=g.useState(null);return(0,f.jsx)(bf,{scope:b,anchor:d,onAnchorChange:e,children:c})};bh.displayName=bc;var bi="PopperAnchor",bj=g.forwardRef((a,b)=>{let{__scopePopper:c,virtualRef:d,...e}=a,h=bg(bi,c),i=g.useRef(null),j=(0,D.s)(b,i);return g.useEffect(()=>{h.onAnchorChange(d?.current||i.current)}),d?null:(0,f.jsx)(G.sG.div,{...e,ref:j})});bj.displayName=bi;var bk="PopperContent",[bl,bm]=bd(bk),bn=g.forwardRef((a,b)=>{let{__scopePopper:c,side:d="bottom",sideOffset:e=0,align:h="center",alignOffset:i=0,arrowPadding:j=0,avoidCollisions:k=!0,collisionBoundary:l=[],collisionPadding:m=0,sticky:n="partial",hideWhenDetached:o=!1,updatePositionStrategy:p="optimized",onPlaced:q,...r}=a,s=bg(bk,c),[t,u]=g.useState(null),v=(0,D.s)(b,a=>u(a)),[w,x]=g.useState(null),y=bb(w),z=y?.width??0,A=y?.height??0,B="number"==typeof m?m:{top:0,right:0,bottom:0,left:0,...m},C=Array.isArray(l)?l:[l],E=C.length>0,F={padding:B,boundary:C.filter(br),altBoundary:E},{refs:H,floatingStyles:I,placement:J,isPositioned:K,middlewareData:L}=function(a){void 0===a&&(a={});let{placement:b="bottom",strategy:c="absolute",middleware:d=[],platform:e,elements:{reference:f,floating:h}={},transform:i=!0,whileElementsMounted:j,open:k}=a,[l,m]=g.useState({x:0,y:0,strategy:c,placement:b,middlewareData:{},isPositioned:!1}),[n,o]=g.useState(d);a6(n,d)||o(d);let[p,q]=g.useState(null),[r,s]=g.useState(null),t=g.useCallback(a=>{a!==x.current&&(x.current=a,q(a))},[]),u=g.useCallback(a=>{a!==y.current&&(y.current=a,s(a))},[]),v=f||p,w=h||r,x=g.useRef(null),y=g.useRef(null),z=g.useRef(l),A=null!=j,B=a9(j),C=a9(e),D=a9(k),E=g.useCallback(()=>{if(!x.current||!y.current)return;let a={placement:b,strategy:c,middleware:n};C.current&&(a.platform=C.current),((a,b,c)=>{let d=new Map,e={platform:a1,...c},f={...e.platform,_c:d};return at(a,b,{...e,platform:f})})(x.current,y.current,a).then(a=>{let b={...a,isPositioned:!1!==D.current};F.current&&!a6(z.current,b)&&(z.current=b,a4.flushSync(()=>{m(b)}))})},[n,b,c,C,D]);a5(()=>{!1===k&&z.current.isPositioned&&(z.current.isPositioned=!1,m(a=>({...a,isPositioned:!1})))},[k]);let F=g.useRef(!1);a5(()=>(F.current=!0,()=>{F.current=!1}),[]),a5(()=>{if(v&&(x.current=v),w&&(y.current=w),v&&w){if(B.current)return B.current(v,w,E);E()}},[v,w,E,B,A]);let G=g.useMemo(()=>({reference:x,floating:y,setReference:t,setFloating:u}),[t,u]),H=g.useMemo(()=>({reference:v,floating:w}),[v,w]),I=g.useMemo(()=>{let a={position:c,left:0,top:0};if(!H.floating)return a;let b=a8(H.floating,l.x),d=a8(H.floating,l.y);return i?{...a,transform:"translate("+b+"px, "+d+"px)",...a7(H.floating)>=1.5&&{willChange:"transform"}}:{position:c,left:b,top:d}},[c,i,H.floating,l.x,l.y]);return g.useMemo(()=>({...l,update:E,refs:G,elements:H,floatingStyles:I}),[l,E,G,H,I])}({strategy:"fixed",placement:d+("center"!==h?"-"+h:""),whileElementsMounted:(...a)=>(function(a,b,c,d){let e;void 0===d&&(d={});let{ancestorScroll:f=!0,ancestorResize:g=!0,elementResize:h="function"==typeof ResizeObserver,layoutShift:i="function"==typeof IntersectionObserver,animationFrame:j=!1}=d,k=aR(a),l=f||g?[...k?aO(k):[],...aO(b)]:[];l.forEach(a=>{f&&a.addEventListener("scroll",c,{passive:!0}),g&&a.addEventListener("resize",c)});let m=k&&i?function(a,b){let c,d=null,e=aB(a);function f(){var a;clearTimeout(c),null==(a=d)||a.disconnect(),d=null}return!function g(h,i){void 0===h&&(h=!1),void 0===i&&(i=1),f();let j=a.getBoundingClientRect(),{left:k,top:l,width:m,height:n}=j;if(h||b(),!m||!n)return;let o=ae(l),p=ae(e.clientWidth-(k+m)),q={rootMargin:-o+"px "+-p+"px "+-ae(e.clientHeight-(l+n))+"px "+-ae(k)+"px",threshold:ac(0,ab(1,i))||1},r=!0;function s(b){let d=b[0].intersectionRatio;if(d!==i){if(!r)return g();d?g(!1,d):c=setTimeout(()=>{g(!1,1e-7)},1e3)}1!==d||a2(j,a.getBoundingClientRect())||g(),r=!1}try{d=new IntersectionObserver(s,{...q,root:e.ownerDocument})}catch(a){d=new IntersectionObserver(s,q)}d.observe(a)}(!0),f}(k,c):null,n=-1,o=null;h&&(o=new ResizeObserver(a=>{let[d]=a;d&&d.target===k&&o&&(o.unobserve(b),cancelAnimationFrame(n),n=requestAnimationFrame(()=>{var a;null==(a=o)||a.observe(b)})),c()}),k&&!j&&o.observe(k),o.observe(b));let p=j?aV(a):null;return j&&function b(){let d=aV(a);p&&!a2(p,d)&&c(),p=d,e=requestAnimationFrame(b)}(),c(),()=>{var a;l.forEach(a=>{f&&a.removeEventListener("scroll",c),g&&a.removeEventListener("resize",c)}),null==m||m(),null==(a=o)||a.disconnect(),o=null,j&&cancelAnimationFrame(e)}})(...a,{animationFrame:"always"===p}),elements:{reference:s.anchor},middleware:[((a,b)=>({...function(a){return void 0===a&&(a=0),{name:"offset",options:a,async fn(b){var c,d;let{x:e,y:f,placement:g,middlewareData:h}=b,i=await ax(b,a);return g===(null==(c=h.offset)?void 0:c.placement)&&null!=(d=h.arrow)&&d.alignmentOffset?{}:{x:e+i.x,y:f+i.y,data:{...i,placement:g}}}}}(a),options:[a,b]}))({mainAxis:e+A,alignmentAxis:i}),k&&((a,b)=>({...function(a){return void 0===a&&(a={}),{name:"shift",options:a,async fn(b){let{x:c,y:d,placement:e}=b,{mainAxis:f=!0,crossAxis:g=!1,limiter:h={fn:a=>{let{x:b,y:c}=a;return{x:b,y:c}}},...i}=ai(a,b),j={x:c,y:d},k=await au(b,i),l=an(aj(e)),m=al(l),n=j[m],o=j[l];if(f){let a="y"===m?"top":"left",b="y"===m?"bottom":"right",c=n+k[a],d=n-k[b];n=ac(c,ab(n,d))}if(g){let a="y"===l?"top":"left",b="y"===l?"bottom":"right",c=o+k[a],d=o-k[b];o=ac(c,ab(o,d))}let p=h.fn({...b,[m]:n,[l]:o});return{...p,data:{x:p.x-c,y:p.y-d,enabled:{[m]:f,[l]:g}}}}}}(a),options:[a,b]}))({mainAxis:!0,crossAxis:!1,limiter:"partial"===n?((a,b)=>({...function(a){return void 0===a&&(a={}),{options:a,fn(b){let{x:c,y:d,placement:e,rects:f,middlewareData:g}=b,{offset:h=0,mainAxis:i=!0,crossAxis:j=!0}=ai(a,b),k={x:c,y:d},l=an(e),m=al(l),n=k[m],o=k[l],p=ai(h,b),q="number"==typeof p?{mainAxis:p,crossAxis:0}:{mainAxis:0,crossAxis:0,...p};if(i){let a="y"===m?"height":"width",b=f.reference[m]-f.floating[a]+q.mainAxis,c=f.reference[m]+f.reference[a]-q.mainAxis;n<b?n=b:n>c&&(n=c)}if(j){var r,s;let a="y"===m?"width":"height",b=["top","left"].includes(aj(e)),c=f.reference[l]-f.floating[a]+(b&&(null==(r=g.offset)?void 0:r[l])||0)+(b?0:q.crossAxis),d=f.reference[l]+f.reference[a]+(b?0:(null==(s=g.offset)?void 0:s[l])||0)-(b?q.crossAxis:0);o<c?o=c:o>d&&(o=d)}return{[m]:n,[l]:o}}}}(a),options:[a,b]}))():void 0,...F}),k&&((a,b)=>({...function(a){return void 0===a&&(a={}),{name:"flip",options:a,async fn(b){var c,d,e,f,g;let{placement:h,middlewareData:i,rects:j,initialPlacement:k,platform:l,elements:m}=b,{mainAxis:n=!0,crossAxis:o=!0,fallbackPlacements:p,fallbackStrategy:q="bestFit",fallbackAxisSideDirection:r="none",flipAlignment:s=!0,...t}=ai(a,b);if(null!=(c=i.arrow)&&c.alignmentOffset)return{};let u=aj(h),v=an(k),w=aj(k)===k,x=await (null==l.isRTL?void 0:l.isRTL(m.floating)),y=p||(w||!s?[ap(k)]:function(a){let b=ap(a);return[ao(a),b,ao(b)]}(k)),z="none"!==r;!p&&z&&y.push(...function(a,b,c,d){let e=ak(a),f=function(a,b,c){let d=["left","right"],e=["right","left"];switch(a){case"top":case"bottom":if(c)return b?e:d;return b?d:e;case"left":case"right":return b?["top","bottom"]:["bottom","top"];default:return[]}}(aj(a),"start"===c,d);return e&&(f=f.map(a=>a+"-"+e),b&&(f=f.concat(f.map(ao)))),f}(k,s,r,x));let A=[k,...y],B=await au(b,t),C=[],D=(null==(d=i.flip)?void 0:d.overflows)||[];if(n&&C.push(B[u]),o){let a=function(a,b,c){void 0===c&&(c=!1);let d=ak(a),e=al(an(a)),f=am(e),g="x"===e?d===(c?"end":"start")?"right":"left":"start"===d?"bottom":"top";return b.reference[f]>b.floating[f]&&(g=ap(g)),[g,ap(g)]}(h,j,x);C.push(B[a[0]],B[a[1]])}if(D=[...D,{placement:h,overflows:C}],!C.every(a=>a<=0)){let a=((null==(e=i.flip)?void 0:e.index)||0)+1,b=A[a];if(b)return{data:{index:a,overflows:D},reset:{placement:b}};let c=null==(f=D.filter(a=>a.overflows[0]<=0).sort((a,b)=>a.overflows[1]-b.overflows[1])[0])?void 0:f.placement;if(!c)switch(q){case"bestFit":{let a=null==(g=D.filter(a=>{if(z){let b=an(a.placement);return b===v||"y"===b}return!0}).map(a=>[a.placement,a.overflows.filter(a=>a>0).reduce((a,b)=>a+b,0)]).sort((a,b)=>a[1]-b[1])[0])?void 0:g[0];a&&(c=a);break}case"initialPlacement":c=k}if(h!==c)return{reset:{placement:c}}}return{}}}}(a),options:[a,b]}))({...F}),((a,b)=>({...function(a){return void 0===a&&(a={}),{name:"size",options:a,async fn(b){var c,d;let e,f,{placement:g,rects:h,platform:i,elements:j}=b,{apply:k=()=>{},...l}=ai(a,b),m=await au(b,l),n=aj(g),o=ak(g),p="y"===an(g),{width:q,height:r}=h.floating;"top"===n||"bottom"===n?(e=n,f=o===(await (null==i.isRTL?void 0:i.isRTL(j.floating))?"start":"end")?"left":"right"):(f=n,e="end"===o?"top":"bottom");let s=r-m.top-m.bottom,t=q-m.left-m.right,u=ab(r-m[e],s),v=ab(q-m[f],t),w=!b.middlewareData.shift,x=u,y=v;if(null!=(c=b.middlewareData.shift)&&c.enabled.x&&(y=t),null!=(d=b.middlewareData.shift)&&d.enabled.y&&(x=s),w&&!o){let a=ac(m.left,0),b=ac(m.right,0),c=ac(m.top,0),d=ac(m.bottom,0);p?y=q-2*(0!==a||0!==b?a+b:ac(m.left,m.right)):x=r-2*(0!==c||0!==d?c+d:ac(m.top,m.bottom))}await k({...b,availableWidth:y,availableHeight:x});let z=await i.getDimensions(j.floating);return q!==z.width||r!==z.height?{reset:{rects:!0}}:{}}}}(a),options:[a,b]}))({...F,apply:({elements:a,rects:b,availableWidth:c,availableHeight:d})=>{let{width:e,height:f}=b.reference,g=a.floating.style;g.setProperty("--radix-popper-available-width",`${c}px`),g.setProperty("--radix-popper-available-height",`${d}px`),g.setProperty("--radix-popper-anchor-width",`${e}px`),g.setProperty("--radix-popper-anchor-height",`${f}px`)}}),w&&((a,b)=>({...(a=>({name:"arrow",options:a,fn(b){let{element:c,padding:d}="function"==typeof a?a(b):a;return c&&({}).hasOwnProperty.call(c,"current")?null!=c.current?a3({element:c.current,padding:d}).fn(b):{}:c?a3({element:c,padding:d}).fn(b):{}}}))(a),options:[a,b]}))({element:w,padding:j}),bs({arrowWidth:z,arrowHeight:A}),o&&((a,b)=>({...function(a){return void 0===a&&(a={}),{name:"hide",options:a,async fn(b){let{rects:c}=b,{strategy:d="referenceHidden",...e}=ai(a,b);switch(d){case"referenceHidden":{let a=av(await au(b,{...e,elementContext:"reference"}),c.reference);return{data:{referenceHiddenOffsets:a,referenceHidden:aw(a)}}}case"escaped":{let a=av(await au(b,{...e,altBoundary:!0}),c.floating);return{data:{escapedOffsets:a,escaped:aw(a)}}}default:return{}}}}}(a),options:[a,b]}))({strategy:"referenceHidden",...F})]}),[M,N]=bt(J),P=(0,O.c)(q);(0,Y.N)(()=>{K&&P?.()},[K,P]);let Q=L.arrow?.x,R=L.arrow?.y,S=L.arrow?.centerOffset!==0,[T,U]=g.useState();return(0,Y.N)(()=>{t&&U(window.getComputedStyle(t).zIndex)},[t]),(0,f.jsx)("div",{ref:H.setFloating,"data-radix-popper-content-wrapper":"",style:{...I,transform:K?I.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:T,"--radix-popper-transform-origin":[L.transformOrigin?.x,L.transformOrigin?.y].join(" "),...L.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:a.dir,children:(0,f.jsx)(bl,{scope:c,placedSide:M,onArrowChange:x,arrowX:Q,arrowY:R,shouldHideArrow:S,children:(0,f.jsx)(G.sG.div,{"data-side":M,"data-align":N,...r,ref:v,style:{...r.style,animation:K?void 0:"none"}})})})});bn.displayName=bk;var bo="PopperArrow",bp={top:"bottom",right:"left",bottom:"top",left:"right"},bq=g.forwardRef(function(a,b){let{__scopePopper:c,...d}=a,e=bm(bo,c),g=bp[e.placedSide];return(0,f.jsx)("span",{ref:e.onArrowChange,style:{position:"absolute",left:e.arrowX,top:e.arrowY,[g]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[e.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[e.placedSide],visibility:e.shouldHideArrow?"hidden":void 0},children:(0,f.jsx)(ba,{...d,ref:b,style:{...d.style,display:"block"}})})});function br(a){return null!==a}bq.displayName=bo;var bs=a=>({name:"transformOrigin",options:a,fn(b){let{placement:c,rects:d,middlewareData:e}=b,f=e.arrow?.centerOffset!==0,g=f?0:a.arrowWidth,h=f?0:a.arrowHeight,[i,j]=bt(c),k={start:"0%",center:"50%",end:"100%"}[j],l=(e.arrow?.x??0)+g/2,m=(e.arrow?.y??0)+h/2,n="",o="";return"bottom"===i?(n=f?k:`${l}px`,o=`${-h}px`):"top"===i?(n=f?k:`${l}px`,o=`${d.floating.height+h}px`):"right"===i?(n=`${-h}px`,o=f?k:`${m}px`):"left"===i&&(n=`${d.floating.width+h}px`,o=f?k:`${m}px`),{data:{x:n,y:o}}}});function bt(a){let[b,c="center"]=a.split("-");return[b,c]}var bu=c(61611),bv=c(29988),bw="rovingFocusGroup.onEntryFocus",bx={bubbles:!1,cancelable:!0},by="RovingFocusGroup",[bz,bA,bB]=(0,H.N)(by),[bC,bD]=(0,E.A)(by,[bB]),[bE,bF]=bC(by),bG=g.forwardRef((a,b)=>(0,f.jsx)(bz.Provider,{scope:a.__scopeRovingFocusGroup,children:(0,f.jsx)(bz.Slot,{scope:a.__scopeRovingFocusGroup,children:(0,f.jsx)(bH,{...a,ref:b})})}));bG.displayName=by;var bH=g.forwardRef((a,b)=>{let{__scopeRovingFocusGroup:c,orientation:d,loop:e=!1,dir:h,currentTabStopId:i,defaultCurrentTabStopId:j,onCurrentTabStopIdChange:k,onEntryFocus:l,preventScrollOnEntryFocus:m=!1,...n}=a,o=g.useRef(null),p=(0,D.s)(b,o),q=J(h),[r=null,s]=(0,F.i)({prop:i,defaultProp:j,onChange:k}),[t,u]=g.useState(!1),v=(0,O.c)(l),w=bA(c),x=g.useRef(!1),[y,z]=g.useState(0);return g.useEffect(()=>{let a=o.current;if(a)return a.addEventListener(bw,v),()=>a.removeEventListener(bw,v)},[v]),(0,f.jsx)(bE,{scope:c,orientation:d,dir:q,loop:e,currentTabStopId:r,onItemFocus:g.useCallback(a=>s(a),[s]),onItemShiftTab:g.useCallback(()=>u(!0),[]),onFocusableItemAdd:g.useCallback(()=>z(a=>a+1),[]),onFocusableItemRemove:g.useCallback(()=>z(a=>a-1),[]),children:(0,f.jsx)(G.sG.div,{tabIndex:t||0===y?-1:0,"data-orientation":d,...n,ref:p,style:{outline:"none",...a.style},onMouseDown:(0,C.m)(a.onMouseDown,()=>{x.current=!0}),onFocus:(0,C.m)(a.onFocus,a=>{let b=!x.current;if(a.target===a.currentTarget&&b&&!t){let b=new CustomEvent(bw,bx);if(a.currentTarget.dispatchEvent(b),!b.defaultPrevented){let a=w().filter(a=>a.focusable);bL([a.find(a=>a.active),a.find(a=>a.id===r),...a].filter(Boolean).map(a=>a.ref.current),m)}}x.current=!1}),onBlur:(0,C.m)(a.onBlur,()=>u(!1))})})}),bI="RovingFocusGroupItem",bJ=g.forwardRef((a,b)=>{let{__scopeRovingFocusGroup:c,focusable:d=!0,active:e=!1,tabStopId:h,...i}=a,j=_(),k=h||j,l=bF(bI,c),m=l.currentTabStopId===k,n=bA(c),{onFocusableItemAdd:o,onFocusableItemRemove:p}=l;return g.useEffect(()=>{if(d)return o(),()=>p()},[d,o,p]),(0,f.jsx)(bz.ItemSlot,{scope:c,id:k,focusable:d,active:e,children:(0,f.jsx)(G.sG.span,{tabIndex:m?0:-1,"data-orientation":l.orientation,...i,ref:b,onMouseDown:(0,C.m)(a.onMouseDown,a=>{d?l.onItemFocus(k):a.preventDefault()}),onFocus:(0,C.m)(a.onFocus,()=>l.onItemFocus(k)),onKeyDown:(0,C.m)(a.onKeyDown,a=>{if("Tab"===a.key&&a.shiftKey)return void l.onItemShiftTab();if(a.target!==a.currentTarget)return;let b=function(a,b,c){var d;let e=(d=a.key,"rtl"!==c?d:"ArrowLeft"===d?"ArrowRight":"ArrowRight"===d?"ArrowLeft":d);if(!("vertical"===b&&["ArrowLeft","ArrowRight"].includes(e))&&!("horizontal"===b&&["ArrowUp","ArrowDown"].includes(e)))return bK[e]}(a,l.orientation,l.dir);if(void 0!==b){if(a.metaKey||a.ctrlKey||a.altKey||a.shiftKey)return;a.preventDefault();let c=n().filter(a=>a.focusable).map(a=>a.ref.current);if("last"===b)c.reverse();else if("prev"===b||"next"===b){"prev"===b&&c.reverse();let d=c.indexOf(a.currentTarget);c=l.loop?function(a,b){return a.map((c,d)=>a[(b+d)%a.length])}(c,d+1):c.slice(d+1)}setTimeout(()=>bL(c))}})})})});bJ.displayName=bI;var bK={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function bL(a,b=!1){let c=document.activeElement;for(let d of a)if(d===c||(d.focus({preventScroll:b}),document.activeElement!==c))return}var bM=c(96425),bN=new WeakMap,bO=new WeakMap,bP={},bQ=0,bR=function(a){return a&&(a.host||bR(a.parentNode))},bS=function(a,b,c,d){var e=(Array.isArray(a)?a:[a]).map(function(a){if(b.contains(a))return a;var c=bR(a);return c&&b.contains(c)?c:(console.error("aria-hidden",a,"in not contained inside",b,". Doing nothing"),null)}).filter(function(a){return!!a});bP[c]||(bP[c]=new WeakMap);var f=bP[c],g=[],h=new Set,i=new Set(e),j=function(a){!a||h.has(a)||(h.add(a),j(a.parentNode))};e.forEach(j);var k=function(a){!a||i.has(a)||Array.prototype.forEach.call(a.children,function(a){if(h.has(a))k(a);else try{var b=a.getAttribute(d),e=null!==b&&"false"!==b,i=(bN.get(a)||0)+1,j=(f.get(a)||0)+1;bN.set(a,i),f.set(a,j),g.push(a),1===i&&e&&bO.set(a,!0),1===j&&a.setAttribute(c,"true"),e||a.setAttribute(d,"true")}catch(b){console.error("aria-hidden: cannot operate on ",a,b)}})};return k(b),h.clear(),bQ++,function(){g.forEach(function(a){var b=bN.get(a)-1,e=f.get(a)-1;bN.set(a,b),f.set(a,e),b||(bO.has(a)||a.removeAttribute(d),bO.delete(a)),e||a.removeAttribute(c)}),--bQ||(bN=new WeakMap,bN=new WeakMap,bO=new WeakMap,bP={})}},bT=function(a,b,c){void 0===c&&(c="data-aria-hidden");var d=Array.from(Array.isArray(a)?a:[a]),e=b||("undefined"==typeof document?null:(Array.isArray(a)?a[0]:a).ownerDocument.body);return e?(d.push.apply(d,Array.from(e.querySelectorAll("[aria-live]"))),bS(d,e,c,"aria-hidden")):function(){return null}},bU=function(){return(bU=Object.assign||function(a){for(var b,c=1,d=arguments.length;c<d;c++)for(var e in b=arguments[c])Object.prototype.hasOwnProperty.call(b,e)&&(a[e]=b[e]);return a}).apply(this,arguments)};function bV(a,b){var c={};for(var d in a)Object.prototype.hasOwnProperty.call(a,d)&&0>b.indexOf(d)&&(c[d]=a[d]);if(null!=a&&"function"==typeof Object.getOwnPropertySymbols)for(var e=0,d=Object.getOwnPropertySymbols(a);e<d.length;e++)0>b.indexOf(d[e])&&Object.prototype.propertyIsEnumerable.call(a,d[e])&&(c[d[e]]=a[d[e]]);return c}Object.create;Object.create;var bW=("function"==typeof SuppressedError&&SuppressedError,"right-scroll-bar-position"),bX="width-before-scroll-bar";function bY(a,b){return"function"==typeof a?a(b):a&&(a.current=b),a}var bZ="undefined"!=typeof window?g.useLayoutEffect:g.useEffect,b$=new WeakMap;function b_(a){return a}var b0=function(a){void 0===a&&(a={});var b,c,d,e=(void 0===b&&(b=b_),c=[],d=!1,{read:function(){if(d)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return c.length?c[c.length-1]:null},useMedium:function(a){var e=b(a,d);return c.push(e),function(){c=c.filter(function(a){return a!==e})}},assignSyncMedium:function(a){for(d=!0;c.length;){var b=c;c=[],b.forEach(a)}c={push:function(b){return a(b)},filter:function(){return c}}},assignMedium:function(a){d=!0;var b=[];if(c.length){var e=c;c=[],e.forEach(a),b=c}var f=function(){var c=b;b=[],c.forEach(a)},g=function(){return Promise.resolve().then(f)};g(),c={push:function(a){b.push(a),g()},filter:function(a){return b=b.filter(a),c}}}});return e.options=bU({async:!0,ssr:!1},a),e}(),b1=function(){},b2=g.forwardRef(function(a,b){var c,d,e,f,h=g.useRef(null),i=g.useState({onScrollCapture:b1,onWheelCapture:b1,onTouchMoveCapture:b1}),j=i[0],k=i[1],l=a.forwardProps,m=a.children,n=a.className,o=a.removeScrollBar,p=a.enabled,q=a.shards,r=a.sideCar,s=a.noIsolation,t=a.inert,u=a.allowPinchZoom,v=a.as,w=a.gapMode,x=bV(a,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","as","gapMode"]),y=(c=[h,b],d=function(a){return c.forEach(function(b){return bY(b,a)})},(e=(0,g.useState)(function(){return{value:null,callback:d,facade:{get current(){return e.value},set current(value){var a=e.value;a!==value&&(e.value=value,e.callback(value,a))}}}})[0]).callback=d,f=e.facade,bZ(function(){var a=b$.get(f);if(a){var b=new Set(a),d=new Set(c),e=f.current;b.forEach(function(a){d.has(a)||bY(a,null)}),d.forEach(function(a){b.has(a)||bY(a,e)})}b$.set(f,c)},[c]),f),z=bU(bU({},x),j);return g.createElement(g.Fragment,null,p&&g.createElement(r,{sideCar:b0,removeScrollBar:o,shards:q,noIsolation:s,inert:t,setCallbacks:k,allowPinchZoom:!!u,lockRef:h,gapMode:w}),l?g.cloneElement(g.Children.only(m),bU(bU({},z),{ref:y})):g.createElement(void 0===v?"div":v,bU({},z,{className:n,ref:y}),m))});b2.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},b2.classNames={fullWidth:bX,zeroRight:bW};var b3=function(a){var b=a.sideCar,c=bV(a,["sideCar"]);if(!b)throw Error("Sidecar: please provide `sideCar` property to import the right car");var d=b.read();if(!d)throw Error("Sidecar medium not found");return g.createElement(d,bU({},c))};b3.isSideCarExport=!0;var b4=function(){var a=0,b=null;return{add:function(d){if(0==a&&(b=function(){if(!document)return null;var a=document.createElement("style");a.type="text/css";var b=e||c.nc;return b&&a.setAttribute("nonce",b),a}())){var f,g;(f=b).styleSheet?f.styleSheet.cssText=d:f.appendChild(document.createTextNode(d)),g=b,(document.head||document.getElementsByTagName("head")[0]).appendChild(g)}a++},remove:function(){--a||!b||(b.parentNode&&b.parentNode.removeChild(b),b=null)}}},b5=function(){var a=b4();return function(b,c){g.useEffect(function(){return a.add(b),function(){a.remove()}},[b&&c])}},b6=function(){var a=b5();return function(b){return a(b.styles,b.dynamic),null}},b7={left:0,top:0,right:0,gap:0},b8=function(a){return parseInt(a||"",10)||0},b9=function(a){var b=window.getComputedStyle(document.body),c=b["padding"===a?"paddingLeft":"marginLeft"],d=b["padding"===a?"paddingTop":"marginTop"],e=b["padding"===a?"paddingRight":"marginRight"];return[b8(c),b8(d),b8(e)]},ca=function(a){if(void 0===a&&(a="margin"),"undefined"==typeof window)return b7;var b=b9(a),c=document.documentElement.clientWidth,d=window.innerWidth;return{left:b[0],top:b[1],right:b[2],gap:Math.max(0,d-c+b[2]-b[0])}},cb=b6(),cc="data-scroll-locked",cd=function(a,b,c,d){var e=a.left,f=a.top,g=a.right,h=a.gap;return void 0===c&&(c="margin"),"\n .".concat("with-scroll-bars-hidden"," {\n overflow: hidden ").concat(d,";\n padding-right: ").concat(h,"px ").concat(d,";\n }\n body[").concat(cc,"] {\n overflow: hidden ").concat(d,";\n overscroll-behavior: contain;\n ").concat([b&&"position: relative ".concat(d,";"),"margin"===c&&"\n padding-left: ".concat(e,"px;\n padding-top: ").concat(f,"px;\n padding-right: ").concat(g,"px;\n margin-left:0;\n margin-top:0;\n margin-right: ").concat(h,"px ").concat(d,";\n "),"padding"===c&&"padding-right: ".concat(h,"px ").concat(d,";")].filter(Boolean).join(""),"\n }\n \n .").concat(bW," {\n right: ").concat(h,"px ").concat(d,";\n }\n \n .").concat(bX," {\n margin-right: ").concat(h,"px ").concat(d,";\n }\n \n .").concat(bW," .").concat(bW," {\n right: 0 ").concat(d,";\n }\n \n .").concat(bX," .").concat(bX," {\n margin-right: 0 ").concat(d,";\n }\n \n body[").concat(cc,"] {\n ").concat("--removed-body-scroll-bar-size",": ").concat(h,"px;\n }\n")},ce=function(){var a=parseInt(document.body.getAttribute(cc)||"0",10);return isFinite(a)?a:0},cf=function(){g.useEffect(function(){return document.body.setAttribute(cc,(ce()+1).toString()),function(){var a=ce()-1;a<=0?document.body.removeAttribute(cc):document.body.setAttribute(cc,a.toString())}},[])},cg=function(a){var b=a.noRelative,c=a.noImportant,d=a.gapMode,e=void 0===d?"margin":d;cf();var f=g.useMemo(function(){return ca(e)},[e]);return g.createElement(cb,{styles:cd(f,!b,e,c?"":"!important")})},ch=!1;if("undefined"!=typeof window)try{var ci=Object.defineProperty({},"passive",{get:function(){return ch=!0,!0}});window.addEventListener("test",ci,ci),window.removeEventListener("test",ci,ci)}catch(a){ch=!1}var cj=!!ch&&{passive:!1},ck=function(a,b){if(!(a instanceof Element))return!1;var c=window.getComputedStyle(a);return"hidden"!==c[b]&&(c.overflowY!==c.overflowX||"TEXTAREA"===a.tagName||"visible"!==c[b])},cl=function(a,b){var c=b.ownerDocument,d=b;do{if("undefined"!=typeof ShadowRoot&&d instanceof ShadowRoot&&(d=d.host),cm(a,d)){var e=cn(a,d);if(e[1]>e[2])return!0}d=d.parentNode}while(d&&d!==c.body);return!1},cm=function(a,b){return"v"===a?ck(b,"overflowY"):ck(b,"overflowX")},cn=function(a,b){return"v"===a?[b.scrollTop,b.scrollHeight,b.clientHeight]:[b.scrollLeft,b.scrollWidth,b.clientWidth]},co=function(a,b,c,d,e){var f,g=(f=window.getComputedStyle(b).direction,"h"===a&&"rtl"===f?-1:1),h=g*d,i=c.target,j=b.contains(i),k=!1,l=h>0,m=0,n=0;do{var o=cn(a,i),p=o[0],q=o[1]-o[2]-g*p;(p||q)&&cm(a,i)&&(m+=q,n+=p),i=i instanceof ShadowRoot?i.host:i.parentNode}while(!j&&i!==document.body||j&&(b.contains(i)||b===i));return l&&(e&&1>Math.abs(m)||!e&&h>m)?k=!0:!l&&(e&&1>Math.abs(n)||!e&&-h>n)&&(k=!0),k},cp=function(a){return"changedTouches"in a?[a.changedTouches[0].clientX,a.changedTouches[0].clientY]:[0,0]},cq=function(a){return[a.deltaX,a.deltaY]},cr=function(a){return a&&"current"in a?a.current:a},cs=0,ct=[];let cu=(d=function(a){var b=g.useRef([]),c=g.useRef([0,0]),d=g.useRef(),e=g.useState(cs++)[0],f=g.useState(b6)[0],h=g.useRef(a);g.useEffect(function(){h.current=a},[a]),g.useEffect(function(){if(a.inert){document.body.classList.add("block-interactivity-".concat(e));var b=(function(a,b,c){if(c||2==arguments.length)for(var d,e=0,f=b.length;e<f;e++)!d&&e in b||(d||(d=Array.prototype.slice.call(b,0,e)),d[e]=b[e]);return a.concat(d||Array.prototype.slice.call(b))})([a.lockRef.current],(a.shards||[]).map(cr),!0).filter(Boolean);return b.forEach(function(a){return a.classList.add("allow-interactivity-".concat(e))}),function(){document.body.classList.remove("block-interactivity-".concat(e)),b.forEach(function(a){return a.classList.remove("allow-interactivity-".concat(e))})}}},[a.inert,a.lockRef.current,a.shards]);var i=g.useCallback(function(a,b){if("touches"in a&&2===a.touches.length||"wheel"===a.type&&a.ctrlKey)return!h.current.allowPinchZoom;var e,f=cp(a),g=c.current,i="deltaX"in a?a.deltaX:g[0]-f[0],j="deltaY"in a?a.deltaY:g[1]-f[1],k=a.target,l=Math.abs(i)>Math.abs(j)?"h":"v";if("touches"in a&&"h"===l&&"range"===k.type)return!1;var m=cl(l,k);if(!m)return!0;if(m?e=l:(e="v"===l?"h":"v",m=cl(l,k)),!m)return!1;if(!d.current&&"changedTouches"in a&&(i||j)&&(d.current=e),!e)return!0;var n=d.current||e;return co(n,b,a,"h"===n?i:j,!0)},[]),j=g.useCallback(function(a){if(ct.length&&ct[ct.length-1]===f){var c="deltaY"in a?cq(a):cp(a),d=b.current.filter(function(b){var d;return b.name===a.type&&(b.target===a.target||a.target===b.shadowParent)&&(d=b.delta,d[0]===c[0]&&d[1]===c[1])})[0];if(d&&d.should){a.cancelable&&a.preventDefault();return}if(!d){var e=(h.current.shards||[]).map(cr).filter(Boolean).filter(function(b){return b.contains(a.target)});(e.length>0?i(a,e[0]):!h.current.noIsolation)&&a.cancelable&&a.preventDefault()}}},[]),k=g.useCallback(function(a,c,d,e){var f={name:a,delta:c,target:d,should:e,shadowParent:function(a){for(var b=null;null!==a;)a instanceof ShadowRoot&&(b=a.host,a=a.host),a=a.parentNode;return b}(d)};b.current.push(f),setTimeout(function(){b.current=b.current.filter(function(a){return a!==f})},1)},[]),l=g.useCallback(function(a){c.current=cp(a),d.current=void 0},[]),m=g.useCallback(function(b){k(b.type,cq(b),b.target,i(b,a.lockRef.current))},[]),n=g.useCallback(function(b){k(b.type,cp(b),b.target,i(b,a.lockRef.current))},[]);g.useEffect(function(){return ct.push(f),a.setCallbacks({onScrollCapture:m,onWheelCapture:m,onTouchMoveCapture:n}),document.addEventListener("wheel",j,cj),document.addEventListener("touchmove",j,cj),document.addEventListener("touchstart",l,cj),function(){ct=ct.filter(function(a){return a!==f}),document.removeEventListener("wheel",j,cj),document.removeEventListener("touchmove",j,cj),document.removeEventListener("touchstart",l,cj)}},[]);var o=a.removeScrollBar,p=a.inert;return g.createElement(g.Fragment,null,p?g.createElement(f,{styles:"\n .block-interactivity-".concat(e," {pointer-events: none;}\n .allow-interactivity-").concat(e," {pointer-events: all;}\n")}):null,o?g.createElement(cg,{gapMode:a.gapMode}):null)},b0.useMedium(d),b3);var cv=g.forwardRef(function(a,b){return g.createElement(b2,bU({},a,{ref:b,sideCar:cu}))});cv.classNames=b2.classNames;var cw=["Enter"," "],cx=["ArrowUp","PageDown","End"],cy=["ArrowDown","PageUp","Home",...cx],cz={ltr:[...cw,"ArrowRight"],rtl:[...cw,"ArrowLeft"]},cA={ltr:["ArrowLeft"],rtl:["ArrowRight"]},cB="Menu",[cC,cD,cE]=(0,H.N)(cB),[cF,cG]=(0,E.A)(cB,[cE,be,bD]),cH=be(),cI=bD(),[cJ,cK]=cF(cB),[cL,cM]=cF(cB),cN=a=>{let{__scopeMenu:b,open:c=!1,children:d,dir:e,onOpenChange:h,modal:i=!0}=a,j=cH(b),[k,l]=g.useState(null),m=g.useRef(!1),n=(0,O.c)(h),o=J(e);return g.useEffect(()=>{let a=()=>{m.current=!0,document.addEventListener("pointerdown",b,{capture:!0,once:!0}),document.addEventListener("pointermove",b,{capture:!0,once:!0})},b=()=>m.current=!1;return document.addEventListener("keydown",a,{capture:!0}),()=>{document.removeEventListener("keydown",a,{capture:!0}),document.removeEventListener("pointerdown",b,{capture:!0}),document.removeEventListener("pointermove",b,{capture:!0})}},[]),(0,f.jsx)(bh,{...j,children:(0,f.jsx)(cJ,{scope:b,open:c,onOpenChange:n,content:k,onContentChange:l,children:(0,f.jsx)(cL,{scope:b,onClose:g.useCallback(()=>n(!1),[n]),isUsingKeyboardRef:m,dir:o,modal:i,children:d})})})};cN.displayName=cB;var cO=g.forwardRef((a,b)=>{let{__scopeMenu:c,...d}=a,e=cH(c);return(0,f.jsx)(bj,{...e,...d,ref:b})});cO.displayName="MenuAnchor";var cP="MenuPortal",[cQ,cR]=cF(cP,{forceMount:void 0}),cS=a=>{let{__scopeMenu:b,forceMount:c,children:d,container:e}=a,g=cK(cP,b);return(0,f.jsx)(cQ,{scope:b,forceMount:c,children:(0,f.jsx)(bv.C,{present:c||g.open,children:(0,f.jsx)(bu.Z,{asChild:!0,container:e,children:d})})})};cS.displayName=cP;var cT="MenuContent",[cU,cV]=cF(cT),cW=g.forwardRef((a,b)=>{let c=cR(cT,a.__scopeMenu),{forceMount:d=c.forceMount,...e}=a,g=cK(cT,a.__scopeMenu),h=cM(cT,a.__scopeMenu);return(0,f.jsx)(cC.Provider,{scope:a.__scopeMenu,children:(0,f.jsx)(bv.C,{present:d||g.open,children:(0,f.jsx)(cC.Slot,{scope:a.__scopeMenu,children:h.modal?(0,f.jsx)(cX,{...e,ref:b}):(0,f.jsx)(cY,{...e,ref:b})})})})}),cX=g.forwardRef((a,b)=>{let c=cK(cT,a.__scopeMenu),d=g.useRef(null),e=(0,D.s)(b,d);return g.useEffect(()=>{let a=d.current;if(a)return bT(a)},[]),(0,f.jsx)(cZ,{...a,ref:e,trapFocus:c.open,disableOutsidePointerEvents:c.open,disableOutsideScroll:!0,onFocusOutside:(0,C.m)(a.onFocusOutside,a=>a.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>c.onOpenChange(!1)})}),cY=g.forwardRef((a,b)=>{let c=cK(cT,a.__scopeMenu);return(0,f.jsx)(cZ,{...a,ref:b,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>c.onOpenChange(!1)})}),cZ=g.forwardRef((a,b)=>{let{__scopeMenu:c,loop:d=!1,trapFocus:e,onOpenAutoFocus:h,onCloseAutoFocus:i,disableOutsidePointerEvents:j,onEntryFocus:k,onEscapeKeyDown:l,onPointerDownOutside:m,onFocusOutside:n,onInteractOutside:o,onDismiss:p,disableOutsideScroll:q,...r}=a,s=cK(cT,c),t=cM(cT,c),u=cH(c),v=cI(c),w=cD(c),[x,y]=g.useState(null),z=g.useRef(null),A=(0,D.s)(b,z,s.onContentChange),B=g.useRef(0),E=g.useRef(""),F=g.useRef(0),G=g.useRef(null),H=g.useRef("right"),I=g.useRef(0),J=q?cv:g.Fragment,L=q?{as:bM.DX,allowPinchZoom:!0}:void 0;g.useEffect(()=>()=>window.clearTimeout(B.current),[]),M();let N=g.useCallback(a=>H.current===G.current?.side&&function(a,b){return!!b&&function(a,b){let{x:c,y:d}=a,e=!1;for(let a=0,f=b.length-1;a<b.length;f=a++){let g=b[a].x,h=b[a].y,i=b[f].x,j=b[f].y;h>d!=j>d&&c<(i-g)*(d-h)/(j-h)+g&&(e=!e)}return e}({x:a.clientX,y:a.clientY},b)}(a,G.current?.area),[]);return(0,f.jsx)(cU,{scope:c,searchRef:E,onItemEnter:g.useCallback(a=>{N(a)&&a.preventDefault()},[N]),onItemLeave:g.useCallback(a=>{N(a)||(z.current?.focus(),y(null))},[N]),onTriggerLeave:g.useCallback(a=>{N(a)&&a.preventDefault()},[N]),pointerGraceTimerRef:F,onPointerGraceIntentChange:g.useCallback(a=>{G.current=a},[]),children:(0,f.jsx)(J,{...L,children:(0,f.jsx)(S,{asChild:!0,trapped:e,onMountAutoFocus:(0,C.m)(h,a=>{a.preventDefault(),z.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:i,children:(0,f.jsx)(K.qW,{asChild:!0,disableOutsidePointerEvents:j,onEscapeKeyDown:l,onPointerDownOutside:m,onFocusOutside:n,onInteractOutside:o,onDismiss:p,children:(0,f.jsx)(bG,{asChild:!0,...v,dir:t.dir,orientation:"vertical",loop:d,currentTabStopId:x,onCurrentTabStopIdChange:y,onEntryFocus:(0,C.m)(k,a=>{t.isUsingKeyboardRef.current||a.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,f.jsx)(bn,{role:"menu","aria-orientation":"vertical","data-state":dn(s.open),"data-radix-menu-content":"",dir:t.dir,...u,...r,ref:A,style:{outline:"none",...r.style},onKeyDown:(0,C.m)(r.onKeyDown,a=>{let b=a.target.closest("[data-radix-menu-content]")===a.currentTarget,c=a.ctrlKey||a.altKey||a.metaKey,d=1===a.key.length;b&&("Tab"===a.key&&a.preventDefault(),!c&&d&&(a=>{let b=E.current+a,c=w().filter(a=>!a.disabled),d=document.activeElement,e=c.find(a=>a.ref.current===d)?.textValue,f=function(a,b,c){var d;let e=b.length>1&&Array.from(b).every(a=>a===b[0])?b[0]:b,f=c?a.indexOf(c):-1,g=(d=Math.max(f,0),a.map((b,c)=>a[(d+c)%a.length]));1===e.length&&(g=g.filter(a=>a!==c));let h=g.find(a=>a.toLowerCase().startsWith(e.toLowerCase()));return h!==c?h:void 0}(c.map(a=>a.textValue),b,e),g=c.find(a=>a.textValue===f)?.ref.current;!function a(b){E.current=b,window.clearTimeout(B.current),""!==b&&(B.current=window.setTimeout(()=>a(""),1e3))}(b),g&&setTimeout(()=>g.focus())})(a.key));let e=z.current;if(a.target!==e||!cy.includes(a.key))return;a.preventDefault();let f=w().filter(a=>!a.disabled).map(a=>a.ref.current);cx.includes(a.key)&&f.reverse(),function(a){let b=document.activeElement;for(let c of a)if(c===b||(c.focus(),document.activeElement!==b))return}(f)}),onBlur:(0,C.m)(a.onBlur,a=>{a.currentTarget.contains(a.target)||(window.clearTimeout(B.current),E.current="")}),onPointerMove:(0,C.m)(a.onPointerMove,dr(a=>{let b=a.target,c=I.current!==a.clientX;a.currentTarget.contains(b)&&c&&(H.current=a.clientX>I.current?"right":"left",I.current=a.clientX)}))})})})})})})});cW.displayName=cT;var c$=g.forwardRef((a,b)=>{let{__scopeMenu:c,...d}=a;return(0,f.jsx)(G.sG.div,{role:"group",...d,ref:b})});c$.displayName="MenuGroup";var c_=g.forwardRef((a,b)=>{let{__scopeMenu:c,...d}=a;return(0,f.jsx)(G.sG.div,{...d,ref:b})});c_.displayName="MenuLabel";var c0="MenuItem",c1="menu.itemSelect",c2=g.forwardRef((a,b)=>{let{disabled:c=!1,onSelect:d,...e}=a,h=g.useRef(null),i=cM(c0,a.__scopeMenu),j=cV(c0,a.__scopeMenu),k=(0,D.s)(b,h),l=g.useRef(!1);return(0,f.jsx)(c3,{...e,ref:k,disabled:c,onClick:(0,C.m)(a.onClick,()=>{let a=h.current;if(!c&&a){let b=new CustomEvent(c1,{bubbles:!0,cancelable:!0});a.addEventListener(c1,a=>d?.(a),{once:!0}),(0,G.hO)(a,b),b.defaultPrevented?l.current=!1:i.onClose()}}),onPointerDown:b=>{a.onPointerDown?.(b),l.current=!0},onPointerUp:(0,C.m)(a.onPointerUp,a=>{l.current||a.currentTarget?.click()}),onKeyDown:(0,C.m)(a.onKeyDown,a=>{let b=""!==j.searchRef.current;c||b&&" "===a.key||cw.includes(a.key)&&(a.currentTarget.click(),a.preventDefault())})})});c2.displayName=c0;var c3=g.forwardRef((a,b)=>{let{__scopeMenu:c,disabled:d=!1,textValue:e,...h}=a,i=cV(c0,c),j=cI(c),k=g.useRef(null),l=(0,D.s)(b,k),[m,n]=g.useState(!1),[o,p]=g.useState("");return g.useEffect(()=>{let a=k.current;a&&p((a.textContent??"").trim())},[h.children]),(0,f.jsx)(cC.ItemSlot,{scope:c,disabled:d,textValue:e??o,children:(0,f.jsx)(bJ,{asChild:!0,...j,focusable:!d,children:(0,f.jsx)(G.sG.div,{role:"menuitem","data-highlighted":m?"":void 0,"aria-disabled":d||void 0,"data-disabled":d?"":void 0,...h,ref:l,onPointerMove:(0,C.m)(a.onPointerMove,dr(a=>{d?i.onItemLeave(a):(i.onItemEnter(a),a.defaultPrevented||a.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:(0,C.m)(a.onPointerLeave,dr(a=>i.onItemLeave(a))),onFocus:(0,C.m)(a.onFocus,()=>n(!0)),onBlur:(0,C.m)(a.onBlur,()=>n(!1))})})})}),c4=g.forwardRef((a,b)=>{let{checked:c=!1,onCheckedChange:d,...e}=a;return(0,f.jsx)(dc,{scope:a.__scopeMenu,checked:c,children:(0,f.jsx)(c2,{role:"menuitemcheckbox","aria-checked":dp(c)?"mixed":c,...e,ref:b,"data-state":dq(c),onSelect:(0,C.m)(e.onSelect,()=>d?.(!!dp(c)||!c),{checkForDefaultPrevented:!1})})})});c4.displayName="MenuCheckboxItem";var c5="MenuRadioGroup",[c6,c7]=cF(c5,{value:void 0,onValueChange:()=>{}}),c8=g.forwardRef((a,b)=>{let{value:c,onValueChange:d,...e}=a,g=(0,O.c)(d);return(0,f.jsx)(c6,{scope:a.__scopeMenu,value:c,onValueChange:g,children:(0,f.jsx)(c$,{...e,ref:b})})});c8.displayName=c5;var c9="MenuRadioItem",da=g.forwardRef((a,b)=>{let{value:c,...d}=a,e=c7(c9,a.__scopeMenu),g=c===e.value;return(0,f.jsx)(dc,{scope:a.__scopeMenu,checked:g,children:(0,f.jsx)(c2,{role:"menuitemradio","aria-checked":g,...d,ref:b,"data-state":dq(g),onSelect:(0,C.m)(d.onSelect,()=>e.onValueChange?.(c),{checkForDefaultPrevented:!1})})})});da.displayName=c9;var db="MenuItemIndicator",[dc,dd]=cF(db,{checked:!1}),de=g.forwardRef((a,b)=>{let{__scopeMenu:c,forceMount:d,...e}=a,g=dd(db,c);return(0,f.jsx)(bv.C,{present:d||dp(g.checked)||!0===g.checked,children:(0,f.jsx)(G.sG.span,{...e,ref:b,"data-state":dq(g.checked)})})});de.displayName=db;var df=g.forwardRef((a,b)=>{let{__scopeMenu:c,...d}=a;return(0,f.jsx)(G.sG.div,{role:"separator","aria-orientation":"horizontal",...d,ref:b})});df.displayName="MenuSeparator";var dg=g.forwardRef((a,b)=>{let{__scopeMenu:c,...d}=a,e=cH(c);return(0,f.jsx)(bq,{...e,...d,ref:b})});dg.displayName="MenuArrow";var[dh,di]=cF("MenuSub"),dj="MenuSubTrigger",dk=g.forwardRef((a,b)=>{let c=cK(dj,a.__scopeMenu),d=cM(dj,a.__scopeMenu),e=di(dj,a.__scopeMenu),h=cV(dj,a.__scopeMenu),i=g.useRef(null),{pointerGraceTimerRef:j,onPointerGraceIntentChange:k}=h,l={__scopeMenu:a.__scopeMenu},m=g.useCallback(()=>{i.current&&window.clearTimeout(i.current),i.current=null},[]);return g.useEffect(()=>m,[m]),g.useEffect(()=>{let a=j.current;return()=>{window.clearTimeout(a),k(null)}},[j,k]),(0,f.jsx)(cO,{asChild:!0,...l,children:(0,f.jsx)(c3,{id:e.triggerId,"aria-haspopup":"menu","aria-expanded":c.open,"aria-controls":e.contentId,"data-state":dn(c.open),...a,ref:(0,D.t)(b,e.onTriggerChange),onClick:b=>{a.onClick?.(b),a.disabled||b.defaultPrevented||(b.currentTarget.focus(),c.open||c.onOpenChange(!0))},onPointerMove:(0,C.m)(a.onPointerMove,dr(b=>{h.onItemEnter(b),!b.defaultPrevented&&(a.disabled||c.open||i.current||(h.onPointerGraceIntentChange(null),i.current=window.setTimeout(()=>{c.onOpenChange(!0),m()},100)))})),onPointerLeave:(0,C.m)(a.onPointerLeave,dr(a=>{m();let b=c.content?.getBoundingClientRect();if(b){let d=c.content?.dataset.side,e="right"===d,f=b[e?"left":"right"],g=b[e?"right":"left"];h.onPointerGraceIntentChange({area:[{x:a.clientX+(e?-5:5),y:a.clientY},{x:f,y:b.top},{x:g,y:b.top},{x:g,y:b.bottom},{x:f,y:b.bottom}],side:d}),window.clearTimeout(j.current),j.current=window.setTimeout(()=>h.onPointerGraceIntentChange(null),300)}else{if(h.onTriggerLeave(a),a.defaultPrevented)return;h.onPointerGraceIntentChange(null)}})),onKeyDown:(0,C.m)(a.onKeyDown,b=>{let e=""!==h.searchRef.current;a.disabled||e&&" "===b.key||cz[d.dir].includes(b.key)&&(c.onOpenChange(!0),c.content?.focus(),b.preventDefault())})})})});dk.displayName=dj;var dl="MenuSubContent",dm=g.forwardRef((a,b)=>{let c=cR(cT,a.__scopeMenu),{forceMount:d=c.forceMount,...e}=a,h=cK(cT,a.__scopeMenu),i=cM(cT,a.__scopeMenu),j=di(dl,a.__scopeMenu),k=g.useRef(null),l=(0,D.s)(b,k);return(0,f.jsx)(cC.Provider,{scope:a.__scopeMenu,children:(0,f.jsx)(bv.C,{present:d||h.open,children:(0,f.jsx)(cC.Slot,{scope:a.__scopeMenu,children:(0,f.jsx)(cZ,{id:j.contentId,"aria-labelledby":j.triggerId,...e,ref:l,align:"start",side:"rtl"===i.dir?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:a=>{i.isUsingKeyboardRef.current&&k.current?.focus(),a.preventDefault()},onCloseAutoFocus:a=>a.preventDefault(),onFocusOutside:(0,C.m)(a.onFocusOutside,a=>{a.target!==j.trigger&&h.onOpenChange(!1)}),onEscapeKeyDown:(0,C.m)(a.onEscapeKeyDown,a=>{i.onClose(),a.preventDefault()}),onKeyDown:(0,C.m)(a.onKeyDown,a=>{let b=a.currentTarget.contains(a.target),c=cA[i.dir].includes(a.key);b&&c&&(h.onOpenChange(!1),j.trigger?.focus(),a.preventDefault())})})})})})});function dn(a){return a?"open":"closed"}function dp(a){return"indeterminate"===a}function dq(a){return dp(a)?"indeterminate":a?"checked":"unchecked"}function dr(a){return b=>"mouse"===b.pointerType?a(b):void 0}dm.displayName=dl;var ds="DropdownMenu",[dt,du]=(0,E.A)(ds,[cG]),dv=cG(),[dw,dx]=dt(ds),dy=a=>{let{__scopeDropdownMenu:b,children:c,dir:d,open:e,defaultOpen:h,onOpenChange:i,modal:j=!0}=a,k=dv(b),l=g.useRef(null),[m=!1,n]=(0,F.i)({prop:e,defaultProp:h,onChange:i});return(0,f.jsx)(dw,{scope:b,triggerId:_(),triggerRef:l,contentId:_(),open:m,onOpenChange:n,onOpenToggle:g.useCallback(()=>n(a=>!a),[n]),modal:j,children:(0,f.jsx)(cN,{...k,open:m,onOpenChange:n,dir:d,modal:j,children:c})})};dy.displayName=ds;var dz="DropdownMenuTrigger",dA=g.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,disabled:d=!1,...e}=a,g=dx(dz,c),h=dv(c);return(0,f.jsx)(cO,{asChild:!0,...h,children:(0,f.jsx)(G.sG.button,{type:"button",id:g.triggerId,"aria-haspopup":"menu","aria-expanded":g.open,"aria-controls":g.open?g.contentId:void 0,"data-state":g.open?"open":"closed","data-disabled":d?"":void 0,disabled:d,...e,ref:(0,D.t)(b,g.triggerRef),onPointerDown:(0,C.m)(a.onPointerDown,a=>{!d&&0===a.button&&!1===a.ctrlKey&&(g.onOpenToggle(),g.open||a.preventDefault())}),onKeyDown:(0,C.m)(a.onKeyDown,a=>{!d&&(["Enter"," "].includes(a.key)&&g.onOpenToggle(),"ArrowDown"===a.key&&g.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(a.key)&&a.preventDefault())})})})});dA.displayName=dz;var dB=a=>{let{__scopeDropdownMenu:b,...c}=a,d=dv(b);return(0,f.jsx)(cS,{...d,...c})};dB.displayName="DropdownMenuPortal";var dC="DropdownMenuContent",dD=g.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=dx(dC,c),h=dv(c),i=g.useRef(!1);return(0,f.jsx)(cW,{id:e.contentId,"aria-labelledby":e.triggerId,...h,...d,ref:b,onCloseAutoFocus:(0,C.m)(a.onCloseAutoFocus,a=>{i.current||e.triggerRef.current?.focus(),i.current=!1,a.preventDefault()}),onInteractOutside:(0,C.m)(a.onInteractOutside,a=>{let b=a.detail.originalEvent,c=0===b.button&&!0===b.ctrlKey,d=2===b.button||c;(!e.modal||d)&&(i.current=!0)}),style:{...a.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)"}})});dD.displayName=dC,g.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=dv(c);return(0,f.jsx)(c$,{...e,...d,ref:b})}).displayName="DropdownMenuGroup";var dE=g.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=dv(c);return(0,f.jsx)(c_,{...e,...d,ref:b})});dE.displayName="DropdownMenuLabel";var dF=g.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=dv(c);return(0,f.jsx)(c2,{...e,...d,ref:b})});dF.displayName="DropdownMenuItem";var dG=g.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=dv(c);return(0,f.jsx)(c4,{...e,...d,ref:b})});dG.displayName="DropdownMenuCheckboxItem",g.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=dv(c);return(0,f.jsx)(c8,{...e,...d,ref:b})}).displayName="DropdownMenuRadioGroup";var dH=g.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=dv(c);return(0,f.jsx)(da,{...e,...d,ref:b})});dH.displayName="DropdownMenuRadioItem";var dI=g.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=dv(c);return(0,f.jsx)(de,{...e,...d,ref:b})});dI.displayName="DropdownMenuItemIndicator";var dJ=g.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=dv(c);return(0,f.jsx)(df,{...e,...d,ref:b})});dJ.displayName="DropdownMenuSeparator",g.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=dv(c);return(0,f.jsx)(dg,{...e,...d,ref:b})}).displayName="DropdownMenuArrow";var dK=g.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=dv(c);return(0,f.jsx)(dk,{...e,...d,ref:b})});dK.displayName="DropdownMenuSubTrigger";var dL=g.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=dv(c);return(0,f.jsx)(dm,{...e,...d,ref:b,style:{...a.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)"}})});dL.displayName="DropdownMenuSubContent";let dM=(0,k.A)("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]),dN=(0,k.A)("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]),dO=(0,k.A)("Circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);g.forwardRef(({className:a,inset:b,children:c,...d},e)=>(0,f.jsxs)(dK,{ref:e,className:(0,w.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",b&&"pl-8",a),...d,children:[c,(0,f.jsx)(dM,{className:"ml-auto"})]})).displayName=dK.displayName,g.forwardRef(({className:a,...b},c)=>(0,f.jsx)(dL,{ref:c,className:(0,w.cn)("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a),...b})).displayName=dL.displayName;let dP=g.forwardRef(({className:a,sideOffset:b=4,...c},d)=>(0,f.jsx)(dB,{children:(0,f.jsx)(dD,{ref:d,sideOffset:b,className:(0,w.cn)("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md","data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a),...c})}));dP.displayName=dD.displayName;let dQ=g.forwardRef(({className:a,inset:b,...c},d)=>(0,f.jsx)(dF,{ref:d,className:(0,w.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",b&&"pl-8",a),...c}));dQ.displayName=dF.displayName,g.forwardRef(({className:a,children:b,checked:c,...d},e)=>(0,f.jsxs)(dG,{ref:e,className:(0,w.cn)("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),checked:c,...d,children:[(0,f.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,f.jsx)(dI,{children:(0,f.jsx)(dN,{className:"h-4 w-4"})})}),b]})).displayName=dG.displayName,g.forwardRef(({className:a,children:b,...c},d)=>(0,f.jsxs)(dH,{ref:d,className:(0,w.cn)("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),...c,children:[(0,f.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,f.jsx)(dI,{children:(0,f.jsx)(dO,{className:"h-2 w-2 fill-current"})})}),b]})).displayName=dH.displayName,g.forwardRef(({className:a,inset:b,...c},d)=>(0,f.jsx)(dE,{ref:d,className:(0,w.cn)("px-2 py-1.5 text-sm font-semibold",b&&"pl-8",a),...c})).displayName=dE.displayName,g.forwardRef(({className:a,...b},c)=>(0,f.jsx)(dJ,{ref:c,className:(0,w.cn)("-mx-1 my-1 h-px bg-muted",a),...b})).displayName=dJ.displayName;var dR=c(60122);let dS=(0,y.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"}}),dT=g.forwardRef(({className:a,variant:b,size:c,asChild:d=!1,...e},g)=>{let h=d?bM.DX:"button";return(0,f.jsx)(h,{className:(0,w.cn)(dS({variant:b,size:c,className:a})),ref:g,...e})});function dU(a,[b,c]){return Math.min(c,Math.max(b,a))}dT.displayName="Button";var dV="ScrollArea",[dW,dX]=(0,E.A)(dV),[dY,dZ]=dW(dV),d$=g.forwardRef((a,b)=>{let{__scopeScrollArea:c,type:d="hover",dir:e,scrollHideDelay:h=600,...i}=a,[j,k]=g.useState(null),[l,m]=g.useState(null),[n,o]=g.useState(null),[p,q]=g.useState(null),[r,s]=g.useState(null),[t,u]=g.useState(0),[v,w]=g.useState(0),[x,y]=g.useState(!1),[z,A]=g.useState(!1),B=(0,D.s)(b,a=>k(a)),C=J(e);return(0,f.jsx)(dY,{scope:c,type:d,dir:C,scrollHideDelay:h,scrollArea:j,viewport:l,onViewportChange:m,content:n,onContentChange:o,scrollbarX:p,onScrollbarXChange:q,scrollbarXEnabled:x,onScrollbarXEnabledChange:y,scrollbarY:r,onScrollbarYChange:s,scrollbarYEnabled:z,onScrollbarYEnabledChange:A,onCornerWidthChange:u,onCornerHeightChange:w,children:(0,f.jsx)(G.sG.div,{dir:C,...i,ref:B,style:{position:"relative","--radix-scroll-area-corner-width":t+"px","--radix-scroll-area-corner-height":v+"px",...a.style}})})});d$.displayName=dV;var d_="ScrollAreaViewport",d0=g.forwardRef((a,b)=>{let{__scopeScrollArea:c,children:d,nonce:e,...h}=a,i=dZ(d_,c),j=g.useRef(null),k=(0,D.s)(b,j,i.onViewportChange);return(0,f.jsxs)(f.Fragment,{children:[(0,f.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:e}),(0,f.jsx)(G.sG.div,{"data-radix-scroll-area-viewport":"",...h,ref:k,style:{overflowX:i.scrollbarXEnabled?"scroll":"hidden",overflowY:i.scrollbarYEnabled?"scroll":"hidden",...a.style},children:(0,f.jsx)("div",{ref:i.onContentChange,style:{minWidth:"100%",display:"table"},children:d})})]})});d0.displayName=d_;var d1="ScrollAreaScrollbar",d2=g.forwardRef((a,b)=>{let{forceMount:c,...d}=a,e=dZ(d1,a.__scopeScrollArea),{onScrollbarXEnabledChange:h,onScrollbarYEnabledChange:i}=e,j="horizontal"===a.orientation;return g.useEffect(()=>(j?h(!0):i(!0),()=>{j?h(!1):i(!1)}),[j,h,i]),"hover"===e.type?(0,f.jsx)(d3,{...d,ref:b,forceMount:c}):"scroll"===e.type?(0,f.jsx)(d4,{...d,ref:b,forceMount:c}):"auto"===e.type?(0,f.jsx)(d5,{...d,ref:b,forceMount:c}):"always"===e.type?(0,f.jsx)(d6,{...d,ref:b}):null});d2.displayName=d1;var d3=g.forwardRef((a,b)=>{let{forceMount:c,...d}=a,e=dZ(d1,a.__scopeScrollArea),[h,i]=g.useState(!1);return g.useEffect(()=>{let a=e.scrollArea,b=0;if(a){let c=()=>{window.clearTimeout(b),i(!0)},d=()=>{b=window.setTimeout(()=>i(!1),e.scrollHideDelay)};return a.addEventListener("pointerenter",c),a.addEventListener("pointerleave",d),()=>{window.clearTimeout(b),a.removeEventListener("pointerenter",c),a.removeEventListener("pointerleave",d)}}},[e.scrollArea,e.scrollHideDelay]),(0,f.jsx)(bv.C,{present:c||h,children:(0,f.jsx)(d5,{"data-state":h?"visible":"hidden",...d,ref:b})})}),d4=g.forwardRef((a,b)=>{var c;let{forceMount:d,...e}=a,h=dZ(d1,a.__scopeScrollArea),i="horizontal"===a.orientation,j=eo(()=>l("SCROLL_END"),100),[k,l]=(c={hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}},g.useReducer((a,b)=>c[a][b]??a,"hidden"));return g.useEffect(()=>{if("idle"===k){let a=window.setTimeout(()=>l("HIDE"),h.scrollHideDelay);return()=>window.clearTimeout(a)}},[k,h.scrollHideDelay,l]),g.useEffect(()=>{let a=h.viewport,b=i?"scrollLeft":"scrollTop";if(a){let c=a[b],d=()=>{let d=a[b];c!==d&&(l("SCROLL"),j()),c=d};return a.addEventListener("scroll",d),()=>a.removeEventListener("scroll",d)}},[h.viewport,i,l,j]),(0,f.jsx)(bv.C,{present:d||"hidden"!==k,children:(0,f.jsx)(d6,{"data-state":"hidden"===k?"hidden":"visible",...e,ref:b,onPointerEnter:(0,C.m)(a.onPointerEnter,()=>l("POINTER_ENTER")),onPointerLeave:(0,C.m)(a.onPointerLeave,()=>l("POINTER_LEAVE"))})})}),d5=g.forwardRef((a,b)=>{let c=dZ(d1,a.__scopeScrollArea),{forceMount:d,...e}=a,[h,i]=g.useState(!1),j="horizontal"===a.orientation,k=eo(()=>{if(c.viewport){let a=c.viewport.offsetWidth<c.viewport.scrollWidth,b=c.viewport.offsetHeight<c.viewport.scrollHeight;i(j?a:b)}},10);return ep(c.viewport,k),ep(c.content,k),(0,f.jsx)(bv.C,{present:d||h,children:(0,f.jsx)(d6,{"data-state":h?"visible":"hidden",...e,ref:b})})}),d6=g.forwardRef((a,b)=>{let{orientation:c="vertical",...d}=a,e=dZ(d1,a.__scopeScrollArea),h=g.useRef(null),i=g.useRef(0),[j,k]=g.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),l=ej(j.viewport,j.content),m={...d,sizes:j,onSizesChange:k,hasThumb:!!(l>0&&l<1),onThumbChange:a=>h.current=a,onThumbPointerUp:()=>i.current=0,onThumbPointerDown:a=>i.current=a};function n(a,b){return function(a,b,c,d="ltr"){let e=ek(c),f=b||e/2,g=c.scrollbar.paddingStart+f,h=c.scrollbar.size-c.scrollbar.paddingEnd-(e-f),i=c.content-c.viewport;return em([g,h],"ltr"===d?[0,i]:[-1*i,0])(a)}(a,i.current,j,b)}return"horizontal"===c?(0,f.jsx)(d7,{...m,ref:b,onThumbPositionChange:()=>{if(e.viewport&&h.current){let a=el(e.viewport.scrollLeft,j,e.dir);h.current.style.transform=`translate3d(${a}px, 0, 0)`}},onWheelScroll:a=>{e.viewport&&(e.viewport.scrollLeft=a)},onDragScroll:a=>{e.viewport&&(e.viewport.scrollLeft=n(a,e.dir))}}):"vertical"===c?(0,f.jsx)(d8,{...m,ref:b,onThumbPositionChange:()=>{if(e.viewport&&h.current){let a=el(e.viewport.scrollTop,j);h.current.style.transform=`translate3d(0, ${a}px, 0)`}},onWheelScroll:a=>{e.viewport&&(e.viewport.scrollTop=a)},onDragScroll:a=>{e.viewport&&(e.viewport.scrollTop=n(a))}}):null}),d7=g.forwardRef((a,b)=>{let{sizes:c,onSizesChange:d,...e}=a,h=dZ(d1,a.__scopeScrollArea),[i,j]=g.useState(),k=g.useRef(null),l=(0,D.s)(b,k,h.onScrollbarXChange);return g.useEffect(()=>{k.current&&j(getComputedStyle(k.current))},[k]),(0,f.jsx)(eb,{"data-orientation":"horizontal",...e,ref:l,sizes:c,style:{bottom:0,left:"rtl"===h.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===h.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":ek(c)+"px",...a.style},onThumbPointerDown:b=>a.onThumbPointerDown(b.x),onDragScroll:b=>a.onDragScroll(b.x),onWheelScroll:(b,c)=>{if(h.viewport){let d=h.viewport.scrollLeft+b.deltaX;a.onWheelScroll(d),function(a,b){return a>0&&a<b}(d,c)&&b.preventDefault()}},onResize:()=>{k.current&&h.viewport&&i&&d({content:h.viewport.scrollWidth,viewport:h.viewport.offsetWidth,scrollbar:{size:k.current.clientWidth,paddingStart:ei(i.paddingLeft),paddingEnd:ei(i.paddingRight)}})}})}),d8=g.forwardRef((a,b)=>{let{sizes:c,onSizesChange:d,...e}=a,h=dZ(d1,a.__scopeScrollArea),[i,j]=g.useState(),k=g.useRef(null),l=(0,D.s)(b,k,h.onScrollbarYChange);return g.useEffect(()=>{k.current&&j(getComputedStyle(k.current))},[k]),(0,f.jsx)(eb,{"data-orientation":"vertical",...e,ref:l,sizes:c,style:{top:0,right:"ltr"===h.dir?0:void 0,left:"rtl"===h.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":ek(c)+"px",...a.style},onThumbPointerDown:b=>a.onThumbPointerDown(b.y),onDragScroll:b=>a.onDragScroll(b.y),onWheelScroll:(b,c)=>{if(h.viewport){let d=h.viewport.scrollTop+b.deltaY;a.onWheelScroll(d),function(a,b){return a>0&&a<b}(d,c)&&b.preventDefault()}},onResize:()=>{k.current&&h.viewport&&i&&d({content:h.viewport.scrollHeight,viewport:h.viewport.offsetHeight,scrollbar:{size:k.current.clientHeight,paddingStart:ei(i.paddingTop),paddingEnd:ei(i.paddingBottom)}})}})}),[d9,ea]=dW(d1),eb=g.forwardRef((a,b)=>{let{__scopeScrollArea:c,sizes:d,hasThumb:e,onThumbChange:h,onThumbPointerUp:i,onThumbPointerDown:j,onThumbPositionChange:k,onDragScroll:l,onWheelScroll:m,onResize:n,...o}=a,p=dZ(d1,c),[q,r]=g.useState(null),s=(0,D.s)(b,a=>r(a)),t=g.useRef(null),u=g.useRef(""),v=p.viewport,w=d.content-d.viewport,x=(0,O.c)(m),y=(0,O.c)(k),z=eo(n,10);function A(a){t.current&&l({x:a.clientX-t.current.left,y:a.clientY-t.current.top})}return g.useEffect(()=>{let a=a=>{let b=a.target;q?.contains(b)&&x(a,w)};return document.addEventListener("wheel",a,{passive:!1}),()=>document.removeEventListener("wheel",a,{passive:!1})},[v,q,w,x]),g.useEffect(y,[d,y]),ep(q,z),ep(p.content,z),(0,f.jsx)(d9,{scope:c,scrollbar:q,hasThumb:e,onThumbChange:(0,O.c)(h),onThumbPointerUp:(0,O.c)(i),onThumbPositionChange:y,onThumbPointerDown:(0,O.c)(j),children:(0,f.jsx)(G.sG.div,{...o,ref:s,style:{position:"absolute",...o.style},onPointerDown:(0,C.m)(a.onPointerDown,a=>{0===a.button&&(a.target.setPointerCapture(a.pointerId),t.current=q.getBoundingClientRect(),u.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",p.viewport&&(p.viewport.style.scrollBehavior="auto"),A(a))}),onPointerMove:(0,C.m)(a.onPointerMove,A),onPointerUp:(0,C.m)(a.onPointerUp,a=>{let b=a.target;b.hasPointerCapture(a.pointerId)&&b.releasePointerCapture(a.pointerId),document.body.style.webkitUserSelect=u.current,p.viewport&&(p.viewport.style.scrollBehavior=""),t.current=null})})})}),ec="ScrollAreaThumb",ed=g.forwardRef((a,b)=>{let{forceMount:c,...d}=a,e=ea(ec,a.__scopeScrollArea);return(0,f.jsx)(bv.C,{present:c||e.hasThumb,children:(0,f.jsx)(ee,{ref:b,...d})})}),ee=g.forwardRef((a,b)=>{let{__scopeScrollArea:c,style:d,...e}=a,h=dZ(ec,c),i=ea(ec,c),{onThumbPositionChange:j}=i,k=(0,D.s)(b,a=>i.onThumbChange(a)),l=g.useRef(void 0),m=eo(()=>{l.current&&(l.current(),l.current=void 0)},100);return g.useEffect(()=>{let a=h.viewport;if(a){let b=()=>{m(),l.current||(l.current=en(a,j),j())};return j(),a.addEventListener("scroll",b),()=>a.removeEventListener("scroll",b)}},[h.viewport,m,j]),(0,f.jsx)(G.sG.div,{"data-state":i.hasThumb?"visible":"hidden",...e,ref:k,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...d},onPointerDownCapture:(0,C.m)(a.onPointerDownCapture,a=>{let b=a.target.getBoundingClientRect(),c=a.clientX-b.left,d=a.clientY-b.top;i.onThumbPointerDown({x:c,y:d})}),onPointerUp:(0,C.m)(a.onPointerUp,i.onThumbPointerUp)})});ed.displayName=ec;var ef="ScrollAreaCorner",eg=g.forwardRef((a,b)=>{let c=dZ(ef,a.__scopeScrollArea),d=!!(c.scrollbarX&&c.scrollbarY);return"scroll"!==c.type&&d?(0,f.jsx)(eh,{...a,ref:b}):null});eg.displayName=ef;var eh=g.forwardRef((a,b)=>{let{__scopeScrollArea:c,...d}=a,e=dZ(ef,c),[h,i]=g.useState(0),[j,k]=g.useState(0),l=!!(h&&j);return ep(e.scrollbarX,()=>{let a=e.scrollbarX?.offsetHeight||0;e.onCornerHeightChange(a),k(a)}),ep(e.scrollbarY,()=>{let a=e.scrollbarY?.offsetWidth||0;e.onCornerWidthChange(a),i(a)}),l?(0,f.jsx)(G.sG.div,{...d,ref:b,style:{width:h,height:j,position:"absolute",right:"ltr"===e.dir?0:void 0,left:"rtl"===e.dir?0:void 0,bottom:0,...a.style}}):null});function ei(a){return a?parseInt(a,10):0}function ej(a,b){let c=a/b;return isNaN(c)?0:c}function ek(a){let b=ej(a.viewport,a.content),c=a.scrollbar.paddingStart+a.scrollbar.paddingEnd;return Math.max((a.scrollbar.size-c)*b,18)}function el(a,b,c="ltr"){let d=ek(b),e=b.scrollbar.paddingStart+b.scrollbar.paddingEnd,f=b.scrollbar.size-e,g=b.content-b.viewport,h=dU(a,"ltr"===c?[0,g]:[-1*g,0]);return em([0,g],[0,f-d])(h)}function em(a,b){return c=>{if(a[0]===a[1]||b[0]===b[1])return b[0];let d=(b[1]-b[0])/(a[1]-a[0]);return b[0]+d*(c-a[0])}}var en=(a,b=()=>{})=>{let c={left:a.scrollLeft,top:a.scrollTop},d=0;return!function e(){let f={left:a.scrollLeft,top:a.scrollTop},g=c.left!==f.left,h=c.top!==f.top;(g||h)&&b(),c=f,d=window.requestAnimationFrame(e)}(),()=>window.cancelAnimationFrame(d)};function eo(a,b){let c=(0,O.c)(a),d=g.useRef(0);return g.useEffect(()=>()=>window.clearTimeout(d.current),[]),g.useCallback(()=>{window.clearTimeout(d.current),d.current=window.setTimeout(c,b)},[c,b])}function ep(a,b){let c=(0,O.c)(b);(0,Y.N)(()=>{let b=0;if(a){let d=new ResizeObserver(()=>{cancelAnimationFrame(b),b=window.requestAnimationFrame(c)});return d.observe(a),()=>{window.cancelAnimationFrame(b),d.unobserve(a)}}},[a,c])}let eq=g.forwardRef(({className:a,children:b,...c},d)=>(0,f.jsxs)(d$,{ref:d,className:(0,w.cn)("relative overflow-hidden",a),...c,children:[(0,f.jsx)(d0,{className:"h-full w-full rounded-[inherit]",children:b}),(0,f.jsx)(er,{}),(0,f.jsx)(eg,{})]}));eq.displayName=d$.displayName;let er=g.forwardRef(({className:a,orientation:b="vertical",...c},d)=>(0,f.jsx)(d2,{ref:d,orientation:b,className:(0,w.cn)("flex touch-none select-none transition-colors","vertical"===b&&"h-full w-2.5 border-l border-l-transparent p-[1px]","horizontal"===b&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",a),...c,children:(0,f.jsx)(ed,{className:"relative flex-1 rounded-full bg-border"})}));er.displayName=d2.displayName;let es=g.forwardRef(({className:a,...b},c)=>(0,f.jsx)("div",{className:"relative w-full overflow-auto",children:(0,f.jsx)("table",{ref:c,className:(0,w.cn)("w-full caption-bottom text-sm",a),...b})}));es.displayName="Table";let et=g.forwardRef(({className:a,...b},c)=>(0,f.jsx)("thead",{ref:c,className:(0,w.cn)("[&_tr]:border-b",a),...b}));et.displayName="TableHeader";let eu=g.forwardRef(({className:a,...b},c)=>(0,f.jsx)("tbody",{ref:c,className:(0,w.cn)("[&_tr:last-child]:border-0",a),...b}));eu.displayName="TableBody",g.forwardRef(({className:a,...b},c)=>(0,f.jsx)("tfoot",{ref:c,className:(0,w.cn)("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",a),...b})).displayName="TableFooter";let ev=g.forwardRef(({className:a,...b},c)=>(0,f.jsx)("tr",{ref:c,className:(0,w.cn)("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",a),...b}));ev.displayName="TableRow";let ew=g.forwardRef(({className:a,...b},c)=>(0,f.jsx)("th",{ref:c,className:(0,w.cn)("h-10 px-2 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",a),...b}));ew.displayName="TableHead";let ex=g.forwardRef(({className:a,...b},c)=>(0,f.jsx)("td",{ref:c,className:(0,w.cn)("p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",a),...b}));ex.displayName="TableCell",g.forwardRef(({className:a,...b},c)=>(0,f.jsx)("caption",{ref:c,className:(0,w.cn)("mt-4 text-sm text-muted-foreground",a),...b})).displayName="TableCaption";var ey=c(90447);let ez=function({preview:a=[],onConfirm:b,onCancel:c,isConfirming:d,error:e,isLoading:h,success:i,databaseName:j,migrationsDir:k}){let[l,m]=(0,g.useState)(!0);if(h)return(0,f.jsx)("div",{className:"fixed bottom-4 right-4 z-50 font-sans w-[600px]",children:(0,f.jsx)("div",{className:"rounded-lg border p-4 shadow-lg bg-background",children:(0,f.jsxs)("div",{className:"flex items-start gap-3",children:[(0,f.jsx)(s,{className:"h-5 w-5 text-neutral-600 shrink-0 mt-0.5 animate-spin"}),(0,f.jsx)("div",{className:"flex-1 space-y-3",children:(0,f.jsxs)("div",{className:"space-y-1",children:[(0,f.jsxs)("p",{className:"font-medium text-neutral-800",children:["Preparing Push Migration",j?` \xb7 ${j}`:""]}),(0,f.jsx)("p",{className:"text-sm text-neutral-600",children:"Checking local migrations..."})]})})]})})});if(!a?.length)return(0,f.jsx)("div",{className:"fixed bottom-4 right-4 z-50 w-[600px]",children:(0,f.jsx)("div",{className:"rounded-lg border p-4",children:(0,f.jsx)("p",{className:"text-sm font-medium",children:"No migrations to preview"})})});let n=a.filter(a=>"will be applied"===a.action).length,o=a.filter(a=>"skipped"===a.action).length;return a.filter(a=>"applied"===a.action).length,(0,f.jsx)("div",{className:"fixed bottom-4 right-4 z-50 font-sans w-[600px]",children:(0,f.jsx)("div",{className:(0,w.cn)("rounded-lg border p-4 shadow-lg",e?"bg-destructive/15":"bg-background"),children:(0,f.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,f.jsxs)("div",{className:"space-y-2",children:[(0,f.jsxs)("div",{className:"flex items-center justify-between",children:[(0,f.jsxs)("h5",{className:"font-medium text-neutral-900",children:["Push Migration Preview",j&&(0,f.jsx)("span",{className:"ml-2 text-xs font-normal text-neutral-500 font-mono",children:j})]}),(0,f.jsx)("button",{onClick:c,className:"text-neutral-500 hover:text-neutral-900 p-1 rounded-md hover:bg-neutral-100",children:(0,f.jsx)(ey.A,{className:"h-4 w-4"})})]}),(0,f.jsxs)("p",{className:"text-sm text-neutral-700",children:[n," migration(s) \uD83D\uDD52️ pending, ",o," to ⏭️ skip"]}),(0,f.jsx)("p",{className:"text-xs text-neutral-400 font-mono",children:k?(0,f.jsxs)(f.Fragment,{children:["\uD83D\uDCC1 ",k]}):(0,f.jsx)("span",{className:"text-amber-600",children:'⚠ migrations_dir not set — using default "migrations/"'})}),e?(0,f.jsx)("p",{className:"text-sm text-destructive font-medium mt-1",children:e.message}):i&&(0,f.jsx)("p",{className:"text-sm text-green-700 font-medium mt-1",children:i})]}),(0,f.jsxs)("div",{children:[(0,f.jsx)("button",{onClick:()=>m(!l),className:"text-sm font-medium hover:underline",children:l?"Hide Details":"Show Details"}),l&&(0,f.jsx)(eq,{className:"h-[480px] mt-2 rounded border border-neutral-200",children:(0,f.jsxs)(es,{children:[(0,f.jsx)(et,{children:(0,f.jsxs)(ev,{children:[(0,f.jsx)(ew,{children:"Migration"}),(0,f.jsx)(ew,{className:"text-center w-24",children:"Status"})]})}),(0,f.jsx)(eu,{children:a.map((a,b)=>(0,f.jsxs)(ev,{children:[(0,f.jsx)(ex,{className:"font-mono text-xs",children:a.name}),(0,f.jsx)(ex,{className:"text-center align-middle",children:(a=>{switch(a){case"will be applied":return"\uD83D\uDD52️";case"applied":return"✅";case"skipped":return"⏭️";case"failed":return"❌";default:return""}})(a.action)})]},b))})]})})]}),(0,f.jsxs)("p",{className:"text-xs text-neutral-400",children:["Seed files (",(0,f.jsx)("span",{className:"font-mono",children:"*seed*.sql"}),") are local-only and excluded from remote sync."]}),(0,f.jsxs)("div",{className:"flex gap-2 pt-1",children:[(0,f.jsx)(dT,{onClick:b,disabled:d||0===n,className:"flex-1",children:d?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(s,{className:"mr-2 h-4 w-4 animate-spin"}),"Confirming..."]}):"Confirm Push"}),(0,f.jsx)(dT,{variant:"outline",onClick:c,disabled:d,className:"flex-1",children:"Cancel"})]})]})})})},eA=function({preview:a=[],onConfirm:b,onCancel:c,onDataPull:d,isConfirming:e,isDataPulling:h,error:i,isLoading:j,success:k,databaseName:l,migrationsDir:m}){console.log("PullPreviewToast rendered with:",{previewLength:a.length,isConfirming:e,error:i,isLoading:j});let[n,o]=(0,g.useState)(!1);if(j)return console.log("Rendering loading state"),(0,f.jsx)("div",{className:"fixed bottom-4 right-4 z-50 font-sans w-[600px]",children:(0,f.jsx)("div",{className:"rounded-lg border p-4 shadow-lg bg-background",children:(0,f.jsxs)("div",{className:"flex items-start gap-3",children:[(0,f.jsx)(s,{className:"h-5 w-5 text-neutral-600 shrink-0 mt-0.5 animate-spin"}),(0,f.jsx)("div",{className:"flex-1 space-y-3",children:(0,f.jsxs)("div",{className:"space-y-1",children:[(0,f.jsxs)("p",{className:"font-medium text-neutral-800",children:["Preparing Pull Migration",l?` \xb7 ${l}`:""]}),(0,f.jsx)("p",{className:"text-sm text-neutral-600",children:"Checking remote migrations..."})]})})]})})});if(!a?.length)return console.log("No preview data available"),(0,f.jsx)("div",{className:"fixed bottom-4 right-4 z-50 w-[600px]",children:(0,f.jsx)("div",{className:"rounded-lg border bg-destructive/15 p-4",children:(0,f.jsx)("div",{className:"flex items-center gap-2",children:(0,f.jsx)("p",{className:"text-sm font-medium text-destructive",children:"No preview data available"})})})});let p=a.filter(a=>(a.migration||a.name||"").endsWith(".sql")),q=p.length;console.log("Migration stats:",{totalMigrations:q});let r=k&&!h&&!i;return(0,f.jsx)("div",{className:"fixed bottom-4 right-4 z-50 font-sans w-[600px]",children:(0,f.jsx)("div",{className:(0,w.cn)("rounded-lg border p-4 shadow-lg",i?"bg-destructive/15":"bg-background"),children:(0,f.jsx)("div",{className:"flex items-start gap-x-1",children:(0,f.jsxs)("div",{className:"flex-1 space-y-3",children:[(0,f.jsxs)("div",{className:"space-y-1",children:[(0,f.jsxs)("div",{className:"flex items-center justify-between",children:[(0,f.jsxs)("h5",{className:(0,w.cn)("font-medium",i?"text-destructive":"text-neutral-900"),children:[i?"Pull Migration Error":"Pull Migration Preview",l&&(0,f.jsx)("span",{className:"ml-2 text-xs font-normal text-neutral-500 font-mono",children:l})]}),(0,f.jsx)("button",{onClick:c,className:"text-neutral-500 hover:text-neutral-900 p-1 rounded-md hover:bg-neutral-100",children:(0,f.jsx)(ey.A,{className:"h-4 w-4"})})]}),(0,f.jsx)("p",{className:(0,w.cn)("text-sm",i?"text-destructive/80":"text-neutral-700"),children:`${q} migration(s) will be applied`}),(0,f.jsx)("p",{className:"text-xs text-neutral-400 font-mono",children:m?(0,f.jsxs)(f.Fragment,{children:["\uD83D\uDCC1 ",m]}):(0,f.jsx)("span",{className:"text-amber-600",children:'⚠ migrations_dir not set — using default "migrations/"'})}),i&&(0,f.jsx)("p",{className:"text-sm text-destructive font-medium mt-1",children:i.message}),k&&(0,f.jsx)("p",{className:"text-sm text-green-700 font-medium mt-1",children:k})]}),(0,f.jsxs)("div",{children:[(0,f.jsx)("button",{onClick:()=>o(!n),className:"text-sm font-medium hover:underline",children:n?"Hide Details":"Show Details"}),n&&(0,f.jsx)(eq,{className:"h-[480px] mt-2 rounded border border-neutral-200",children:(0,f.jsxs)("div",{className:"w-full",children:[(0,f.jsx)("div",{className:"bg-neutral-50 border-b px-4 py-2",children:(0,f.jsx)("div",{className:"text-sm font-medium text-neutral-600",children:"Migration"})}),(0,f.jsx)("div",{children:p.map((a,b)=>(0,f.jsx)("div",{className:"px-4 py-2 border-b last:border-0",children:(0,f.jsx)("div",{className:"font-mono text-xs",children:a.migration||a.name})},b))})]})})]}),(0,f.jsxs)("p",{className:"text-xs text-neutral-400",children:["Seed files (",(0,f.jsx)("span",{className:"font-mono",children:"*seed*.sql"}),") are local-only and excluded from remote sync."]}),(0,f.jsx)("div",{className:"flex flex-col gap-2 pt-1",children:(0,f.jsxs)("div",{className:"flex gap-2",children:[(0,f.jsx)(dT,{onClick:b,disabled:e,className:`flex-1 ${e?"cursor-not-allowed opacity-50":""}`,children:e?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(s,{className:"h-4 w-4 animate-spin"}),"Confirming..."]}):"Confirm Pull"}),(0,f.jsxs)("div",{className:"flex-1 flex flex-col gap-2",children:[(0,f.jsx)(dT,{onClick:d,disabled:!r,variant:"outline",className:`w-full ${!r?"cursor-not-allowed opacity-50":""}`,children:h?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(s,{className:"h-4 w-4 animate-spin"}),"Syncing remote data..."]}):"Sync remote data"}),(0,f.jsx)("p",{className:"text-xs text-neutral-500 text-center",children:"75 records per table"})]})]})})]})})})})};function eB(){let[a]=(0,g.useState)(!1),[b,c]=(0,g.useState)(!1),[d,e]=(0,g.useState)(!1),[h,i]=(0,g.useState)(null),[j,k]=(0,g.useState)(null),[l,m]=(0,g.useState)(null),[n,o]=(0,g.useState)(null),{refreshTables:p,setOperationStatus:q,setLastSyncTime:r,currentDatabase:s}=(0,dR.t)(),t=()=>{e(!1),i(null),k(null),m(null),o(null)},u=async()=>{try{m("push"),e(!0),c(!0),k(null),o(null),i({preview:[]});let a=await fetch("/api/push-remote/preview",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({db:s?.database_name})}),b=await a.json();if(!b.success)throw Error(b.error?.message||"Failed to generate preview");i(b.details.details)}catch(a){console.error("Push to remote preview failed:",a),k(a),q("error",a.message||"Failed to generate push preview")}finally{c(!1)}},v=async()=>{try{c(!0),k(null),o(null);let a=await fetch("/api/push-remote/confirm",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({db:s?.database_name})}),b=await a.json();if(!b.success)throw Error(b.error?.message||"Failed to confirm push");i(a=>({...a,preview:a.preview.map(a=>({...a,action:"will be applied"===a.action?"applied":a.action}))})),o(`Applied ${b.details.applied} migration(s), skipped ${b.details.skipped}.`),r(),q("success",`Push complete — ${b.details.applied} migration(s) applied`)}catch(a){console.error("Push to remote confirm failed:",a),k(a)}finally{c(!1)}},w=async()=>{try{m("pull"),e(!0),c(!0),k(null),o(null),i({preview:[]});let a=await fetch("/api/pull-remote/preview",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({db:s?.database_name})}),b=await a.json();if(!b.success)throw Error(b.error?.message||"Failed to generate pull preview");i(b.details)}catch(a){console.error("Pull to remote preview failed:",a),k(a),q("error",a.message||"Failed to generate pull preview")}finally{c(!1)}},x=async()=>{try{c(!0),k(null),o(null);let a=await fetch("/api/pull-remote/confirm",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({db:s?.database_name})}),b=await a.json();if(!b.success)throw Error(b.error?.message||"Failed to confirm pull");o("Pull migrations applied successfully."),r(),q("success","Pull complete"),i(a=>({...a,preview:a.preview.map(a=>({...a,action:"will be applied"===a.action?"applied":a.action}))})),await p()}catch(a){console.error("Pull to remote confirm failed:",a),k(a)}finally{c(!1)}},y=d&&("pull"===l?(0,f.jsx)(eA,{preview:h?.preview||[],onConfirm:x,onCancel:t,isConfirming:b,error:j,success:n,isLoading:b&&!h?.preview?.length,databaseName:s?.database_name,migrationsDir:s?.migrations_dir}):(0,f.jsx)(ez,{preview:h?.preview||[],onConfirm:v,onCancel:t,isConfirming:b,error:j,success:n,isLoading:b&&!h?.preview?.length,databaseName:s?.database_name,migrationsDir:s?.migrations_dir}));return{isConnecting:a,isPushing:b,showPreview:d,pushToRemote:u,pullToRemotePreview:w,PreviewUI:y}}function eC({icon:a,label:b,view:c,currentView:d,onNavigate:e,disabled:g,pro:h,locked:i}){let j=d===c;return(0,f.jsxs)("button",{className:`w-full flex items-center gap-x-1.5 border rounded-md text-sm font-medium transition-colors px-2 py-2
|
|
2
|
+
${j?"bg-neutral-900 text-white":"bg-white hover:bg-neutral-100"}`,onClick:()=>e(c),disabled:g,title:i?"Pro license required — run: d1s --license YOUR-KEY":void 0,children:[(0,f.jsx)(a,{className:"h-[16px] w-[16px] flex-shrink-0"}),(0,f.jsx)("span",{className:"flex-1 text-left",children:b}),h&&i&&(0,f.jsx)(l,{className:"h-3 w-3 opacity-40 flex-shrink-0"})]})}function eD({className:a,currentView:b,onNavigate:c,onTableSelect:d}){let{tables:e,databases:h,currentDatabase:i,switchDatabase:k,isLoading:w,error:y,lastSyncTime:z}=(0,dR.t)(),[C,D]=(0,g.useState)(""),[E,F]=(0,g.useState)(null),[G,H]=(0,g.useState)(!1),[I,J]=(0,g.useState)(!1),{isConnecting:K,isPushing:L,pushToRemote:M,pullToRemotePreview:N,PreviewUI:O}=eB(),P=(0,g.useMemo)(()=>{let a=[...e?.filter(a=>a.toLowerCase().includes(C.toLowerCase()))||[]].sort((a,b)=>a.localeCompare(b)),b=a.indexOf("d1_migrations");return -1!==b&&(a.splice(b,1),a.unshift("d1_migrations")),a},[e,C]),Q=async a=>{try{H(!0),F(a),d(a)}catch(a){console.error("Error selecting table:",a)}finally{H(!1)}};return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)("aside",{className:`${a} top-[var(--banner-height,0px)] left-0 h-[calc(100vh-var(--banner-height,0px))] bg-neutral-50 p-4`,children:(0,f.jsxs)("div",{className:"flex flex-col h-full font-sans",children:[(0,f.jsxs)("div",{className:"flex items-center justify-between gap-2 mb-3",children:[(0,f.jsxs)("div",{className:"flex items-center gap-2",children:[(0,f.jsx)(m,{className:"h-5 w-5"}),(0,f.jsx)("span",{className:"font-mono font-bold text-sm",children:"d1-studio"})]}),(0,f.jsxs)("div",{className:"text-xs font-medium text-muted-foreground",children:["v",j.rE]})]}),y&&(0,f.jsxs)(A,{variant:"destructive",className:"mb-4",children:[(0,f.jsx)(n,{className:"h-4 w-4"}),(0,f.jsx)(B,{className:"text-sm ml-2",children:y})]}),(0,f.jsxs)("div",{className:"mb-1.5",children:[(0,f.jsx)("div",{className:"text-xs text-muted-foreground mb-1",children:"Database"}),(0,f.jsxs)(dy,{children:[(0,f.jsx)(dA,{asChild:!0,children:(0,f.jsxs)("button",{className:"flex items-center gap-1.5 text-sm font-semibold hover:text-foreground/80 transition-colors max-w-full w-full text-left",children:[(0,f.jsx)("span",{className:"truncate",children:i?.database_name||"Select database"}),i&&(0,f.jsxs)("span",{className:"shrink-0 text-[10px] font-medium px-1.5 py-0.5 rounded bg-green-100 text-green-700",children:["Local",i.hasLocal?" ✓":""]}),(0,f.jsx)(o,{className:"h-3 w-3 shrink-0 ml-auto opacity-50"})]})}),(0,f.jsx)(dP,{align:"start",className:"w-56",children:h.map(a=>(0,f.jsxs)(dQ,{onClick:()=>k(a.database_name),className:`flex items-center justify-between gap-2 ${i?.database_name===a.database_name?"font-semibold bg-accent":""}`,children:[(0,f.jsx)("span",{className:"truncate",children:a.database_name}),(0,f.jsxs)("span",{className:"shrink-0 text-[10px] font-medium px-1.5 py-0.5 rounded bg-green-100 text-green-700",children:["Local",a.hasLocal?" ✓":""]})]},a.database_name))})]})]}),(0,f.jsxs)("div",{className:"mb-2",children:[(0,f.jsxs)("div",{className:"flex gap-1.5 mb-1",children:[(0,f.jsxs)("button",{onClick:N,disabled:!I||K||L,title:I?void 0:"Pro license required — run: d1s --license YOUR-KEY",className:"flex-1 flex items-center justify-center gap-1 text-xs font-medium border rounded-md px-2 py-1.5 bg-white hover:bg-neutral-100 disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:[I?(0,f.jsx)(p,{className:"h-3.5 w-3.5"}):(0,f.jsx)(l,{className:"h-3.5 w-3.5 opacity-40"}),"Pull"]}),(0,f.jsxs)("button",{onClick:M,disabled:!I||K||L,title:I?void 0:"Pro license required — run: d1s --license YOUR-KEY",className:"flex-1 flex items-center justify-center gap-1 text-xs font-medium border rounded-md px-2 py-1.5 bg-white hover:bg-neutral-100 disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:[I?(0,f.jsx)(q,{className:"h-3.5 w-3.5"}):(0,f.jsx)(l,{className:"h-3.5 w-3.5 opacity-40"}),"Push"]})]}),(0,f.jsx)("div",{className:"text-[11px] text-muted-foreground px-0.5",children:z?`Remote sync \xb7 ${function(a){if(!a)return null;let b=Math.floor((Date.now()-new Date(a).getTime())/1e3);return b<60?"just now":b<3600?`${Math.floor(b/60)} min ago`:b<86400?`${Math.floor(b/3600)}h ago`:`${Math.floor(b/86400)}d ago`}(z)}`:"Never synced"})]}),(0,f.jsxs)("div",{className:"relative mt-3 mb-2 bg-white",children:[(0,f.jsx)(r,{className:"absolute left-2 top-2.5 h-4 w-4 text-neutral-500"}),(0,f.jsx)(x,{placeholder:"Search tables",value:C,onChange:a=>D(a.target.value),className:"pl-7"})]}),(0,f.jsxs)("div",{className:"flex-1 min-h-0 flex flex-col",children:[(0,f.jsxs)("div",{className:"flex items-center justify-between mb-1 flex-none",children:[(0,f.jsxs)("h3",{className:"text-sm font-medium text-muted-foreground",children:["Tables ",e?.length?`(${e.length})`:""]}),w&&(0,f.jsx)(s,{className:"h-4 w-4 animate-spin text-muted-foreground"})]}),(0,f.jsx)("div",{className:"overflow-y-auto flex-1",children:(0,f.jsxs)("div",{className:"pr-2 pb-2",children:[!w&&0===P.length&&(0,f.jsx)("div",{className:"text-sm font-medium text-muted-foreground px-2 py-2",children:C?"No matching tables found":y?"Error loading tables":"No tables available"}),P.map(a=>(0,f.jsx)("button",{className:`w-full text-left text-sm font-medium rounded-md transition-colors px-2 py-2
|
|
3
|
+
${"table-view"===b&&E===a?"bg-[#F0F0F0] text-neutral-900 font-semibold":"text-neutral-700 hover:bg-[#F2F2F2]"}
|
|
4
|
+
${G&&"opacity-50 cursor-not-allowed"}`,onClick:()=>Q(a),disabled:G,children:a},a))]})})]}),(0,f.jsxs)("div",{className:"pt-2 flex flex-col gap-1",children:[(0,f.jsx)(eC,{icon:t,label:"SQL editor",view:"sql-editor",currentView:b,onNavigate:c,disabled:G}),(0,f.jsx)(eC,{icon:u,label:"Schema",view:"schema",currentView:b,onNavigate:c,disabled:G}),(0,f.jsx)(eC,{icon:v,label:"Time travel",view:"time-travel",currentView:b,onNavigate:c,disabled:G||!I,pro:!0,locked:!I})]})]})}),O]})}function eE(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}function eF(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function eG(a){for(var b=1;b<arguments.length;b++){var c=null!=arguments[b]?arguments[b]:{};b%2?eF(Object(c),!0).forEach(function(b){var d;d=c[b],b in a?Object.defineProperty(a,b,{value:d,enumerable:!0,configurable:!0,writable:!0}):a[b]=d}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(c)):eF(Object(c)).forEach(function(b){Object.defineProperty(a,b,Object.getOwnPropertyDescriptor(c,b))})}return a}function eH(a){return function b(){for(var c=this,d=arguments.length,e=Array(d),f=0;f<d;f++)e[f]=arguments[f];return e.length>=a.length?a.apply(this,e):function(){for(var a=arguments.length,d=Array(a),f=0;f<a;f++)d[f]=arguments[f];return b.apply(c,[].concat(e,d))}}}function eI(a){return({}).toString.call(a).includes("Object")}function eJ(a){return"function"==typeof a}var eK=eH(function(a,b){throw Error(a[b]||a.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"}),eL={changes:function(a,b){return eI(b)||eK("changeType"),Object.keys(b).some(function(b){return!Object.prototype.hasOwnProperty.call(a,b)})&&eK("changeField"),b},selector:function(a){eJ(a)||eK("selectorType")},handler:function(a){eJ(a)||eI(a)||eK("handlerType"),eI(a)&&Object.values(a).some(function(a){return!eJ(a)})&&eK("handlersType")},initial:function(a){a||eK("initialIsRequired"),eI(a)||eK("initialType"),Object.keys(a).length||eK("initialContent")}};function eM(a,b){return eJ(b)?b(a.current):b}function eN(a,b){return a.current=eG(eG({},a.current),b),b}function eO(a,b,c){return eJ(b)?b(a.current):Object.keys(c).forEach(function(c){var d;return null==(d=b[c])?void 0:d.call(b,a.current[c])}),c}var eP={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 "},eQ=(function(a){return function b(){for(var c=this,d=arguments.length,e=Array(d),f=0;f<d;f++)e[f]=arguments[f];return e.length>=a.length?a.apply(this,e):function(){for(var a=arguments.length,d=Array(a),f=0;f<a;f++)d[f]=arguments[f];return b.apply(c,[].concat(e,d))}}})(function(a,b){throw Error(a[b]||a.default)})(eP);let eR=function(){for(var a=arguments.length,b=Array(a),c=0;c<a;c++)b[c]=arguments[c];return function(a){return b.reduceRight(function(a,b){return b(a)},a)}};var eS={type:"cancelation",msg:"operation is manually canceled"};let eT=function(a){var b=!1,c=new Promise(function(c,d){a.then(function(a){return b?d(eS):c(a)}),a.catch(d)});return c.cancel=function(){return b=!0},c};var eU=function(a,b){return function(a){if(Array.isArray(a))return a}(a)||function(a,b){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(a)){var c=[],d=!0,e=!1,f=void 0;try{for(var g,h=a[Symbol.iterator]();!(d=(g=h.next()).done)&&(c.push(g.value),c.length!==b);d=!0);}catch(a){e=!0,f=a}finally{try{d||null==h.return||h.return()}finally{if(e)throw f}}return c}}(a,2)||function(a,b){if(a){if("string"==typeof a)return eE(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);if("Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c)return Array.from(a);if("Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c))return eE(a,b)}}(a,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(a){var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};eL.initial(a),eL.handler(b);var c={current:a},d=eH(eO)(c,b),e=eH(eN)(c),f=eH(eL.changes)(a),g=eH(eM)(c);return[function(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(a){return a};return eL.selector(a),a(c.current)},function(a){(function(){for(var a=arguments.length,b=Array(a),c=0;c<a;c++)b[c]=arguments[c];return function(a){return b.reduceRight(function(a,b){return b(a)},a)}})(d,e,f,g)(a)}]}}).create({config:{paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.43.0/min/vs"}},isInitialized:!1,resolve:null,reject:null,monaco:null}),2),eV=eU[0],eW=eU[1];function eX(a){return document.body.appendChild(a)}function eY(a){var b,c,d=eV(function(a){return{config:a.config,reject:a.reject}}),e=(b="".concat(d.config.paths.vs,"/loader.js"),c=document.createElement("script"),b&&(c.src=b),c);return e.onload=function(){return a()},e.onerror=d.reject,e}function eZ(){var a=eV(function(a){return{config:a.config,resolve:a.resolve,reject:a.reject}}),b=window.require;b.config(a.config),b(["vs/editor/editor.main"],function(b){e$(b),a.resolve(b)},function(b){a.reject(b)})}function e$(a){eV().monaco||eW({monaco:a})}var e_=new Promise(function(a,b){return eW({resolve:a,reject:b})});let e0={init:function(){var a=eV(function(a){return{monaco:a.monaco,isInitialized:a.isInitialized,resolve:a.resolve}});if(!a.isInitialized){if(eW({isInitialized:!0}),a.monaco)return a.resolve(a.monaco),eT(e_);if(window.monaco&&window.monaco.editor)return e$(window.monaco),a.resolve(window.monaco),eT(e_);eR(eX,eY)(eZ)}return eT(e_)}};var e1={wrapper:{display:"flex",position:"relative",textAlign:"initial"},fullWidth:{width:"100%"},hide:{display:"none"}},e2={container:{display:"flex",height:"100%",width:"100%",justifyContent:"center",alignItems:"center"}},e3=function({children:a}){return g.createElement("div",{style:e2.container},a)},e4=(0,g.memo)(function({width:a,height:b,isEditorReady:c,loading:d,_ref:e,className:f,wrapperProps:h}){return g.createElement("section",{style:{...e1.wrapper,width:a,height:b},...h},!c&&g.createElement(e3,null,d),g.createElement("div",{ref:e,style:{...e1.fullWidth,...!c&&e1.hide},className:f}))}),e5=function(a){(0,g.useEffect)(a,[])},e6=function(a,b,c=!0){let d=(0,g.useRef)(!0);(0,g.useEffect)(d.current||!c?()=>{d.current=!1}:a,b)};function e7(){}function e8(a,b,c,d){var e,f,g,h,i,j;return e=a,f=d,e.editor.getModel(e9(e,f))||(g=a,h=b,i=c,j=d,g.editor.createModel(h,i,j?e9(g,j):void 0))}function e9(a,b){return a.Uri.parse(b)}(0,g.memo)(function({original:a,modified:b,language:c,originalLanguage:d,modifiedLanguage:e,originalModelPath:f,modifiedModelPath:h,keepCurrentOriginalModel:i=!1,keepCurrentModifiedModel:j=!1,theme:k="light",loading:l="Loading...",options:m={},height:n="100%",width:o="100%",className:p,wrapperProps:q={},beforeMount:r=e7,onMount:s=e7}){let[t,u]=(0,g.useState)(!1),[v,w]=(0,g.useState)(!0),x=(0,g.useRef)(null),y=(0,g.useRef)(null),z=(0,g.useRef)(null),A=(0,g.useRef)(s),B=(0,g.useRef)(r),C=(0,g.useRef)(!1);e5(()=>{let a=e0.init();return a.then(a=>(y.current=a)&&w(!1)).catch(a=>a?.type!=="cancelation"&&console.error("Monaco initialization: error:",a)),()=>{let b;return x.current?(b=x.current?.getModel(),void(i||b?.original?.dispose(),j||b?.modified?.dispose(),x.current?.dispose())):a.cancel()}}),e6(()=>{if(x.current&&y.current){let b=x.current.getOriginalEditor(),e=e8(y.current,a||"",d||c||"text",f||"");e!==b.getModel()&&b.setModel(e)}},[f],t),e6(()=>{if(x.current&&y.current){let a=x.current.getModifiedEditor(),d=e8(y.current,b||"",e||c||"text",h||"");d!==a.getModel()&&a.setModel(d)}},[h],t),e6(()=>{let a=x.current.getModifiedEditor();a.getOption(y.current.editor.EditorOption.readOnly)?a.setValue(b||""):b!==a.getValue()&&(a.executeEdits("",[{range:a.getModel().getFullModelRange(),text:b||"",forceMoveMarkers:!0}]),a.pushUndoStop())},[b],t),e6(()=>{x.current?.getModel()?.original.setValue(a||"")},[a],t),e6(()=>{let{original:a,modified:b}=x.current.getModel();y.current.editor.setModelLanguage(a,d||c||"text"),y.current.editor.setModelLanguage(b,e||c||"text")},[c,d,e],t),e6(()=>{y.current?.editor.setTheme(k)},[k],t),e6(()=>{x.current?.updateOptions(m)},[m],t);let D=(0,g.useCallback)(()=>{if(!y.current)return;B.current(y.current);let g=e8(y.current,a||"",d||c||"text",f||""),i=e8(y.current,b||"",e||c||"text",h||"");x.current?.setModel({original:g,modified:i})},[c,b,e,a,d,f,h]),E=(0,g.useCallback)(()=>{!C.current&&z.current&&(x.current=y.current.editor.createDiffEditor(z.current,{automaticLayout:!0,...m}),D(),y.current?.editor.setTheme(k),u(!0),C.current=!0)},[m,k,D]);return(0,g.useEffect)(()=>{t&&A.current(x.current,y.current)},[t]),(0,g.useEffect)(()=>{v||t||E()},[v,t,E]),g.createElement(e4,{width:o,height:n,isEditorReady:t,loading:l,_ref:z,className:p,wrapperProps:q})});var fa=function(a){let b=(0,g.useRef)();return(0,g.useEffect)(()=>{b.current=a},[a]),b.current},fb=new Map,fc=(0,g.memo)(function({defaultValue:a,defaultLanguage:b,defaultPath:c,value:d,language:e,path:f,theme:h="light",line:i,loading:j="Loading...",options:k={},overrideServices:l={},saveViewState:m=!0,keepCurrentModel:n=!1,width:o="100%",height:p="100%",className:q,wrapperProps:r={},beforeMount:s=e7,onMount:t=e7,onChange:u,onValidate:v=e7}){let[w,x]=(0,g.useState)(!1),[y,z]=(0,g.useState)(!0),A=(0,g.useRef)(null),B=(0,g.useRef)(null),C=(0,g.useRef)(null),D=(0,g.useRef)(t),E=(0,g.useRef)(s),F=(0,g.useRef)(),G=(0,g.useRef)(d),H=fa(f),I=(0,g.useRef)(!1),J=(0,g.useRef)(!1);e5(()=>{let a=e0.init();return a.then(a=>(A.current=a)&&z(!1)).catch(a=>a?.type!=="cancelation"&&console.error("Monaco initialization: error:",a)),()=>B.current?void(F.current?.dispose(),n?m&&fb.set(f,B.current.saveViewState()):B.current.getModel()?.dispose(),B.current.dispose()):a.cancel()}),e6(()=>{let g=e8(A.current,a||d||"",b||e||"",f||c||"");g!==B.current?.getModel()&&(m&&fb.set(H,B.current?.saveViewState()),B.current?.setModel(g),m&&B.current?.restoreViewState(fb.get(f)))},[f],w),e6(()=>{B.current?.updateOptions(k)},[k],w),e6(()=>{B.current&&void 0!==d&&(B.current.getOption(A.current.editor.EditorOption.readOnly)?B.current.setValue(d):d!==B.current.getValue()&&(J.current=!0,B.current.executeEdits("",[{range:B.current.getModel().getFullModelRange(),text:d,forceMoveMarkers:!0}]),B.current.pushUndoStop(),J.current=!1))},[d],w),e6(()=>{let a=B.current?.getModel();a&&e&&A.current?.editor.setModelLanguage(a,e)},[e],w),e6(()=>{void 0!==i&&B.current?.revealLine(i)},[i],w),e6(()=>{A.current?.editor.setTheme(h)},[h],w);let K=(0,g.useCallback)(()=>{if(!(!C.current||!A.current)&&!I.current){E.current(A.current);let g=f||c,j=e8(A.current,d||a||"",b||e||"",g||"");B.current=A.current?.editor.create(C.current,{model:j,automaticLayout:!0,...k},l),m&&B.current.restoreViewState(fb.get(g)),A.current.editor.setTheme(h),void 0!==i&&B.current.revealLine(i),x(!0),I.current=!0}},[a,b,c,d,e,f,k,l,m,h,i]);return(0,g.useEffect)(()=>{w&&D.current(B.current,A.current)},[w]),(0,g.useEffect)(()=>{y||w||K()},[y,w,K]),G.current=d,(0,g.useEffect)(()=>{w&&u&&(F.current?.dispose(),F.current=B.current?.onDidChangeModelContent(a=>{J.current||u(B.current.getValue(),a)}))},[w,u]),(0,g.useEffect)(()=>{if(w){let a=A.current.editor.onDidChangeMarkers(a=>{let b=B.current.getModel()?.uri;if(b&&a.find(a=>a.path===b.path)){let a=A.current.editor.getModelMarkers({resource:b});v?.(a)}});return()=>{a?.dispose()}}return()=>{}},[w,v]),g.createElement(e4,{width:o,height:p,isEditorReady:w,loading:j,_ref:C,className:q,wrapperProps:r})});let fd=(0,k.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"}]]),fe=(0,k.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"}]]),ff=(0,k.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 fg({results:a}){return a&&Array.isArray(a)?(0,f.jsxs)("div",{className:"text-xs font-medium text-neutral-900 flex items-center gap-2 mb-2",children:[a.length," ",1===a.length?"row":"rows"," returned"]}):null}function fh({error:a}){console.debug("SQLErrorDisplay - Received error prop:",a);let b=a&&"string"==typeof a.message?a:{message:"An unknown error occurred",details:{}};return(0,f.jsxs)("div",{children:[(0,f.jsx)("div",{className:"text-neutral-700 text-sm",children:b.message}),b.details?.stderr&&(0,f.jsx)("pre",{className:"mt-2 p-2 text-xs text-red-500 whitespace-pre-wrap",children:b.details.stderr})]})}function fi({query:a,results:b}){if(!b?.length)return(0,f.jsx)("div",{className:"text-sm text-neutral-500",children:"No results to display."});let c=a?.trim().toLowerCase().startsWith("pragma table_info"),d=c?["Column Name","Type","Not Null","Default Value","Primary Key"]:Object.keys(b[0]),e=c?b.map(a=>({"Column Name":a.name,Type:a.type,"Not Null":1===a.notnull?"YES":"NO","Default Value":a.dflt_value||"(null)","Primary Key":1===a.pk?"YES":"NO"})):b;return(0,f.jsxs)("div",{className:"flex flex-col h-full",children:[(0,f.jsx)(fg,{results:e}),(0,f.jsx)("div",{className:"flex-1 overflow-auto border rounded-lg",children:(0,f.jsx)("div",{className:"min-w-full",children:(0,f.jsxs)(es,{children:[(0,f.jsx)(et,{children:(0,f.jsx)(ev,{className:"bg-muted/50",children:d.map(a=>(0,f.jsx)(ew,{className:"font-mono text-xs font-medium text-muted-foreground",children:a},a))})}),(0,f.jsx)(eu,{children:e.map((a,b)=>(0,f.jsx)(ev,{className:"hover:bg-muted/50",children:d.map(c=>{let d=a[c],e=null===d?"(null)":String(d);return(0,f.jsx)(ex,{className:"font-monospace text-xs whitespace-nowrap",children:e},`${b}-${c}`)})},b))})]})})})]})}let fj={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 fk(a){if(!a)return{type:fj.UNKNOWN_ERROR,message:"An unknown error occurred",details:{}};let b=null,c=a.cmd||a.details&&a.details.command;if(c){let a=c.match(/--command="(.+?)"\s*--json/s);a&&(b=a[1].replace(/\\n/g,"\n").replace(/\\"/g,'"'))}let d=a.stdout||a.details&&a.details.stdout;if(d)try{let a=JSON.parse(d.trim()),e=a?.error?.text||"";if(e)return fl(e,b,c)}catch{}let e=a.stderr||a.details&&a.details.stderr;if(e)return fl(e.replace(/\x1B\[[0-9;]*[a-zA-Z]/g,""),b,c);let f=a.message||a.details&&a.details.originalError||"";return f?fl(f,b,c):{type:fj.UNKNOWN_ERROR,message:a.message||"An unknown error occurred",details:{}}}function fl(a,b,c){if(a.includes("env: node: No such file or directory"))return{type:fj.EXECUTION_ERROR,message:"Node.js not found — ensure Node.js is installed and in PATH",details:{originalQuery:b}};let d=a.match(/near "([^"]+)": syntax error(?:\s+at offset (\d+))?/);if(d){let[,a,c]=d;return{type:fj.SYNTAX_ERROR,message:`Syntax error near "${a}"${c?` at position ${c}`:""}`,details:{originalQuery:b,errorLocation:{near:a,offset:c?parseInt(c):null}}}}if(a.includes("UNIQUE constraint failed")){let[,c]=a.match(/UNIQUE constraint failed: ([\w.]+)/)||[];return{type:fj.UNIQUE_CONSTRAINT_ERROR,message:`UNIQUE constraint failed: ${c||"unknown column"}`,details:{originalQuery:b}}}if(a.includes("NOT NULL constraint failed")){let[,c]=a.match(/NOT NULL constraint failed: ([\w.]+)/)||[];return{type:fj.NOT_NULL_CONSTRAINT_ERROR,message:`NOT NULL constraint failed: ${c||"unknown column"}`,details:{originalQuery:b}}}if(a.includes("CHECK constraint failed")){let[,c]=a.match(/CHECK constraint failed: (\S+)/)||[];return{type:fj.CHECK_CONSTRAINT_ERROR,message:`CHECK constraint failed: ${c||"unknown constraint"}`,details:{originalQuery:b}}}if(a.includes("FOREIGN KEY constraint failed"))return{type:fj.FOREIGN_KEY_ERROR,message:"FOREIGN KEY constraint failed",details:{originalQuery:b}};if(a.includes("no such table")){let[,c]=a.match(/no such table: (\S+)/)||[];return{type:fj.TABLE_NOT_FOUND,message:`Table not found: ${c||"unknown"}`,details:{originalQuery:b}}}if(a.includes("already exists")){let[,c]=a.match(/table (\w+) already exists/)||[];return{type:fj.TABLE_EXISTS,message:`Table already exists: ${c||"unknown"}`,details:{originalQuery:b}}}return{type:fj.EXECUTION_ERROR,message:a.replace(/:\s*SQLITE_\w+$/,"").trim()||"Failed to execute SQL command",details:{originalQuery:b}}}let fm={"Show Tables":`SELECT name
|
|
5
5
|
FROM sqlite_master
|
|
6
6
|
WHERE type='table'
|
|
7
7
|
AND name NOT LIKE 'sqlite_%';`,"Table Schema":`-- Table Schema
|
|
@@ -44,15 +44,16 @@ CREATE UNIQUE INDEX idx_new_table_email ON new_table(email);`,"Create View":`--
|
|
|
44
44
|
CREATE VIEW view_name AS
|
|
45
45
|
SELECT column1, column2
|
|
46
46
|
FROM table_name
|
|
47
|
-
WHERE condition;`},
|
|
48
|
-
${u?"visible":"invisible group-hover:visible"}`,children:(0,l.jsx)(lc,{className:"h-3 w-3 text-white"})})}),(0,l.jsx)("div",{className:"px-4 py-3 bg-neutral-100 border-b font-sans",children:(0,l.jsxs)("div",{className:"flex justify-between items-center",children:[(0,l.jsx)("h3",{className:"text-sm font-medium",children:"Results"}),(0,l.jsxs)(nZ,{size:"sm",onClick:x,disabled:s,className:"flex items-center gap-1 text-sm font-medium",children:["Run",s?(0,l.jsx)(v,{className:"h-4 w-4 animate-spin"}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(ld,{className:"h-4 w-4"}),(0,l.jsx)(lu,{className:"h-4 w-4"})]})]})]})}),(0,l.jsx)("div",{className:"flex-1 overflow-auto p-4 bg-white",children:(()=>{if(s)return(0,l.jsxs)("div",{className:"flex items-center text-sm text-neutral-700",children:[(0,l.jsx)(v,{className:"h-4 w-4 animate-spin mr-2 font-sans"}),"Running your query..."]});if(!n)return(0,l.jsx)("div",{className:"text-sm text-neutral-500 font-sans",children:"Run the query to see the results."});if(!n.success)return console.debug("SQLEditor - Rendering error:",n.error),(0,l.jsx)(lm,{error:n.error});let e=n.results;return e&&0!==e.length?(0,l.jsx)(lp,{query:m.current?.getValue()||"",results:e}):(0,l.jsx)("div",{className:"text-sm text-neutral-900 font-sans",children:"Success. No results to display."})})()})]})}function lj(e){let t=o.useRef({value:e,previous:e});return o.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var lN="Checkbox",[lC,lk]=(0,M.A)(lN),[lS,lR]=lC(lN),lE=o.forwardRef((e,t)=>{let{__scopeCheckbox:r,name:n,checked:a,defaultChecked:s,required:i,disabled:c,value:d="on",onCheckedChange:u,form:f,...m}=e,[p,h]=o.useState(null),x=(0,T.s)(t,e=>h(e)),g=o.useRef(!1),v=!p||f||!!p.closest("form"),[y=!1,b]=(0,A.i)({prop:a,defaultProp:s,onChange:u}),w=o.useRef(y);return o.useEffect(()=>{let e=p?.form;if(e){let t=()=>b(w.current);return e.addEventListener("reset",t),()=>e.removeEventListener("reset",t)}},[p,b]),(0,l.jsxs)(lS,{scope:r,state:y,disabled:c,children:[(0,l.jsx)(D.sG.button,{type:"button",role:"checkbox","aria-checked":lD(y)?"mixed":y,"aria-required":i,"data-state":l_(y),"data-disabled":c?"":void 0,disabled:c,value:d,...m,ref:x,onKeyDown:(0,E.m)(e.onKeyDown,e=>{"Enter"===e.key&&e.preventDefault()}),onClick:(0,E.m)(e.onClick,e=>{b(e=>!!lD(e)||!e),v&&(g.current=e.isPropagationStopped(),g.current||e.stopPropagation())})}),v&&(0,l.jsx)(lA,{control:p,bubbles:!g.current,name:n,value:d,checked:y,required:i,disabled:c,form:f,style:{transform:"translateX(-100%)"},defaultChecked:!lD(s)&&s})]})});lE.displayName=lN;var lT="CheckboxIndicator",lM=o.forwardRef((e,t)=>{let{__scopeCheckbox:r,forceMount:n,...a}=e,o=lR(lT,r);return(0,l.jsx)(tM.C,{present:n||lD(o.state)||!0===o.state,children:(0,l.jsx)(D.sG.span,{"data-state":l_(o.state),"data-disabled":o.disabled?"":void 0,...a,ref:t,style:{pointerEvents:"none",...e.style}})})});lM.displayName=lT;var lA=e=>{let{control:t,checked:r,bubbles:n=!0,defaultChecked:a,...s}=e,i=o.useRef(null),c=lj(r),d=td(t);o.useEffect(()=>{let e=i.current,t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(c!==r&&t){let a=new Event("click",{bubbles:n});e.indeterminate=lD(r),t.call(e,!lD(r)&&r),e.dispatchEvent(a)}},[c,r,n]);let u=o.useRef(!lD(r)&&r);return(0,l.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:a??u.current,...s,tabIndex:-1,ref:i,style:{...e.style,...d,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})};function lD(e){return"indeterminate"===e}function l_(e){return lD(e)?"indeterminate":e?"checked":"unchecked"}let lO=o.forwardRef(({className:e,...t},r)=>(0,l.jsx)(lE,{ref:r,className:(0,j.cn)("peer h-4 w-4 shrink-0 rounded-sm border border-primary shadow focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",e),...t,children:(0,l.jsx)(lM,{className:(0,j.cn)("flex items-center justify-center text-current"),children:(0,l.jsx)(nq,{className:"h-4 w-4"})})}));lO.displayName=lE.displayName;var lP=r(6441),lL=[" ","Enter","ArrowUp","ArrowDown"],lI=[" ","Enter"],l$="Select",[lF,lU,lz]=(0,_.N)(l$),[lB,lH]=(0,M.A)(l$,[lz,tm]),lW=tm(),[lV,lK]=lB(l$),[lq,lG]=lB(l$),lY=e=>{let{__scopeSelect:t,children:r,open:n,defaultOpen:a,onOpenChange:s,value:i,defaultValue:c,onValueChange:d,dir:u,name:f,autoComplete:m,disabled:p,required:h,form:x}=e,g=lW(t),[v,y]=o.useState(null),[b,w]=o.useState(null),[j,N]=o.useState(!1),C=P(u),[k=!1,S]=(0,A.i)({prop:n,defaultProp:a,onChange:s}),[R,E]=(0,A.i)({prop:i,defaultProp:c,onChange:d}),T=o.useRef(null),M=!v||x||!!v.closest("form"),[D,_]=o.useState(new Set),O=Array.from(D).map(e=>e.props.value).join(";");return(0,l.jsx)(tx,{...g,children:(0,l.jsxs)(lV,{required:h,scope:t,trigger:v,onTriggerChange:y,valueNode:b,onValueNodeChange:w,valueNodeHasChildren:j,onValueNodeHasChildrenChange:N,contentId:Z(),value:R,onValueChange:E,open:k,onOpenChange:S,dir:C,triggerPointerDownPosRef:T,disabled:p,children:[(0,l.jsx)(lF.Provider,{scope:t,children:(0,l.jsx)(lq,{scope:e.__scopeSelect,onNativeOptionAdd:o.useCallback(e=>{_(t=>new Set(t).add(e))},[]),onNativeOptionRemove:o.useCallback(e=>{_(t=>{let r=new Set(t);return r.delete(e),r})},[]),children:r})}),M?(0,l.jsxs)(oC,{"aria-hidden":!0,required:h,tabIndex:-1,name:f,autoComplete:m,value:R,onChange:e=>E(e.target.value),disabled:p,form:x,children:[void 0===R?(0,l.jsx)("option",{value:""}):null,Array.from(D)]},O):null]})})};lY.displayName=l$;var lX="SelectTrigger",lQ=o.forwardRef((e,t)=>{let{__scopeSelect:r,disabled:n=!1,...a}=e,s=lW(r),i=lK(lX,r),c=i.disabled||n,d=(0,T.s)(t,i.onTriggerChange),u=lU(r),f=o.useRef("touch"),[m,p,h]=ok(e=>{let t=u().filter(e=>!e.disabled),r=t.find(e=>e.value===i.value),n=oS(t,e,r);void 0!==n&&i.onValueChange(n.value)}),x=e=>{c||(i.onOpenChange(!0),h()),e&&(i.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})};return(0,l.jsx)(tv,{asChild:!0,...s,children:(0,l.jsx)(D.sG.button,{type:"button",role:"combobox","aria-controls":i.contentId,"aria-expanded":i.open,"aria-required":i.required,"aria-autocomplete":"none",dir:i.dir,"data-state":i.open?"open":"closed",disabled:c,"data-disabled":c?"":void 0,"data-placeholder":oN(i.value)?"":void 0,...a,ref:d,onClick:(0,E.m)(a.onClick,e=>{e.currentTarget.focus(),"mouse"!==f.current&&x(e)}),onPointerDown:(0,E.m)(a.onPointerDown,e=>{f.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),0===e.button&&!1===e.ctrlKey&&"mouse"===e.pointerType&&(x(e),e.preventDefault())}),onKeyDown:(0,E.m)(a.onKeyDown,e=>{let t=""!==m.current;e.ctrlKey||e.altKey||e.metaKey||1!==e.key.length||p(e.key),(!t||" "!==e.key)&&lL.includes(e.key)&&(x(),e.preventDefault())})})})});lQ.displayName=lX;var lJ="SelectValue",lZ=o.forwardRef((e,t)=>{let{__scopeSelect:r,className:n,style:a,children:o,placeholder:s="",...i}=e,c=lK(lJ,r),{onValueNodeHasChildrenChange:d}=c,u=void 0!==o,f=(0,T.s)(t,c.onValueNodeChange);return(0,X.N)(()=>{d(u)},[d,u]),(0,l.jsx)(D.sG.span,{...i,ref:f,style:{pointerEvents:"none"},children:oN(c.value)?(0,l.jsx)(l.Fragment,{children:s}):o})});lZ.displayName=lJ;var l0=o.forwardRef((e,t)=>{let{__scopeSelect:r,children:n,...a}=e;return(0,l.jsx)(D.sG.span,{"aria-hidden":!0,...a,ref:t,children:n||"▼"})});l0.displayName="SelectIcon";var l1=e=>(0,l.jsx)(tT.Z,{asChild:!0,...e});l1.displayName="SelectPortal";var l2="SelectContent",l5=o.forwardRef((e,t)=>{let r=lK(l2,e.__scopeSelect),[n,a]=o.useState();return((0,X.N)(()=>{a(new DocumentFragment)},[]),r.open)?(0,l.jsx)(l6,{...e,ref:t}):n?e3.createPortal((0,l.jsx)(l4,{scope:e.__scopeSelect,children:(0,l.jsx)(lF.Slot,{scope:e.__scopeSelect,children:(0,l.jsx)("div",{children:e.children})})}),n):null});l5.displayName=l2;var[l4,l3]=lB(l2),l6=o.forwardRef((e,t)=>{let{__scopeSelect:r,position:n="item-aligned",onCloseAutoFocus:a,onEscapeKeyDown:s,onPointerDownOutside:i,side:c,sideOffset:d,align:u,alignOffset:f,arrowPadding:m,collisionBoundary:p,collisionPadding:h,sticky:x,hideWhenDetached:g,avoidCollisions:v,...y}=e,b=lK(l2,r),[w,j]=o.useState(null),[N,C]=o.useState(null),k=(0,T.s)(t,e=>j(e)),[S,R]=o.useState(null),[M,A]=o.useState(null),D=lU(r),[_,O]=o.useState(!1),P=o.useRef(!1);o.useEffect(()=>{if(w)return t0(w)},[w]),$();let I=o.useCallback(e=>{let[t,...r]=D().map(e=>e.ref.current),[n]=r.slice(-1),a=document.activeElement;for(let r of e)if(r===a||(r?.scrollIntoView({block:"nearest"}),r===t&&N&&(N.scrollTop=0),r===n&&N&&(N.scrollTop=N.scrollHeight),r?.focus(),document.activeElement!==a))return},[D,N]),F=o.useCallback(()=>I([S,w]),[I,S,w]);o.useEffect(()=>{_&&F()},[_,F]);let{onOpenChange:U,triggerPointerDownPosRef:z}=b;o.useEffect(()=>{if(w){let e={x:0,y:0},t=t=>{e={x:Math.abs(Math.round(t.pageX)-(z.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(z.current?.y??0))}},r=r=>{e.x<=10&&e.y<=10?r.preventDefault():w.contains(r.target)||U(!1),document.removeEventListener("pointermove",t),z.current=null};return null!==z.current&&(document.addEventListener("pointermove",t),document.addEventListener("pointerup",r,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",t),document.removeEventListener("pointerup",r,{capture:!0})}}},[w,U,z]),o.useEffect(()=>{let e=()=>U(!1);return window.addEventListener("blur",e),window.addEventListener("resize",e),()=>{window.removeEventListener("blur",e),window.removeEventListener("resize",e)}},[U]);let[B,H]=ok(e=>{let t=D().filter(e=>!e.disabled),r=t.find(e=>e.ref.current===document.activeElement),n=oS(t,e,r);n&&setTimeout(()=>n.ref.current.focus())}),V=o.useCallback((e,t,r)=>{let n=!P.current&&!r;(void 0!==b.value&&b.value===t||n)&&(R(e),n&&(P.current=!0))},[b.value]),K=o.useCallback(()=>w?.focus(),[w]),q=o.useCallback((e,t,r)=>{let n=!P.current&&!r;(void 0!==b.value&&b.value===t||n)&&A(e)},[b.value]),G="popper"===n?l9:l8,Y=G===l9?{side:c,sideOffset:d,align:u,alignOffset:f,arrowPadding:m,collisionBoundary:p,collisionPadding:h,sticky:x,hideWhenDetached:g,avoidCollisions:v}:{};return(0,l.jsx)(l4,{scope:r,content:w,viewport:N,onViewportChange:C,itemRefCallback:V,selectedItem:S,onItemLeave:K,itemTextRefCallback:q,focusSelectedItem:F,selectedItemText:M,position:n,isPositioned:_,searchRef:B,children:(0,l.jsx)(rM,{as:tq.DX,allowPinchZoom:!0,children:(0,l.jsx)(W,{asChild:!0,trapped:b.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:(0,E.m)(a,e=>{b.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:(0,l.jsx)(L.qW,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:s,onPointerDownOutside:i,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>b.onOpenChange(!1),children:(0,l.jsx)(G,{role:"listbox",id:b.contentId,"data-state":b.open?"open":"closed",dir:b.dir,onContextMenu:e=>e.preventDefault(),...y,...Y,onPlaced:()=>O(!0),ref:k,style:{display:"flex",flexDirection:"column",outline:"none",...y.style},onKeyDown:(0,E.m)(y.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if("Tab"===e.key&&e.preventDefault(),t||1!==e.key.length||H(e.key),["ArrowUp","ArrowDown","Home","End"].includes(e.key)){let t=D().filter(e=>!e.disabled).map(e=>e.ref.current);if(["ArrowUp","End"].includes(e.key)&&(t=t.slice().reverse()),["ArrowUp","ArrowDown"].includes(e.key)){let r=e.target,n=t.indexOf(r);t=t.slice(n+1)}setTimeout(()=>I(t)),e.preventDefault()}})})})})})})});l6.displayName="SelectContentImpl";var l8=o.forwardRef((e,t)=>{let{__scopeSelect:r,onPlaced:n,...a}=e,s=lK(l2,r),i=l3(l2,r),[c,d]=o.useState(null),[u,f]=o.useState(null),m=(0,T.s)(t,e=>f(e)),p=lU(r),h=o.useRef(!1),x=o.useRef(!0),{viewport:g,selectedItem:v,selectedItemText:y,focusSelectedItem:b}=i,w=o.useCallback(()=>{if(s.trigger&&s.valueNode&&c&&u&&g&&v&&y){let e=s.trigger.getBoundingClientRect(),t=u.getBoundingClientRect(),r=s.valueNode.getBoundingClientRect(),a=y.getBoundingClientRect();if("rtl"!==s.dir){let n=a.left-t.left,l=r.left-n,o=e.left-l,s=e.width+o,i=Math.max(s,t.width),d=n0(l,[10,Math.max(10,window.innerWidth-10-i)]);c.style.minWidth=s+"px",c.style.left=d+"px"}else{let n=t.right-a.right,l=window.innerWidth-r.right-n,o=window.innerWidth-e.right-l,s=e.width+o,i=Math.max(s,t.width),d=n0(l,[10,Math.max(10,window.innerWidth-10-i)]);c.style.minWidth=s+"px",c.style.right=d+"px"}let l=p(),o=window.innerHeight-20,i=g.scrollHeight,d=window.getComputedStyle(u),f=parseInt(d.borderTopWidth,10),m=parseInt(d.paddingTop,10),x=parseInt(d.borderBottomWidth,10),b=f+m+i+parseInt(d.paddingBottom,10)+x,w=Math.min(5*v.offsetHeight,b),j=window.getComputedStyle(g),N=parseInt(j.paddingTop,10),C=parseInt(j.paddingBottom,10),k=e.top+e.height/2-10,S=v.offsetHeight/2,R=f+m+(v.offsetTop+S);if(R<=k){let e=l.length>0&&v===l[l.length-1].ref.current;c.style.bottom="0px";let t=Math.max(o-k,S+(e?C:0)+(u.clientHeight-g.offsetTop-g.offsetHeight)+x);c.style.height=R+t+"px"}else{let e=l.length>0&&v===l[0].ref.current;c.style.top="0px";let t=Math.max(k,f+g.offsetTop+(e?N:0)+S);c.style.height=t+(b-R)+"px",g.scrollTop=R-k+g.offsetTop}c.style.margin="10px 0",c.style.minHeight=w+"px",c.style.maxHeight=o+"px",n?.(),requestAnimationFrame(()=>h.current=!0)}},[p,s.trigger,s.valueNode,c,u,g,v,y,s.dir,n]);(0,X.N)(()=>w(),[w]);let[j,N]=o.useState();(0,X.N)(()=>{u&&N(window.getComputedStyle(u).zIndex)},[u]);let C=o.useCallback(e=>{e&&!0===x.current&&(w(),b?.(),x.current=!1)},[w,b]);return(0,l.jsx)(l7,{scope:r,contentWrapper:c,shouldExpandOnScrollRef:h,onScrollButtonChange:C,children:(0,l.jsx)("div",{ref:d,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:j},children:(0,l.jsx)(D.sG.div,{...a,ref:m,style:{boxSizing:"border-box",maxHeight:"100%",...a.style}})})})});l8.displayName="SelectItemAlignedPosition";var l9=o.forwardRef((e,t)=>{let{__scopeSelect:r,align:n="start",collisionPadding:a=10,...o}=e,s=lW(r);return(0,l.jsx)(tj,{...s,...o,ref:t,align:n,collisionPadding:a,style:{boxSizing:"border-box",...o.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});l9.displayName="SelectPopperPosition";var[l7,oe]=lB(l2,{}),ot="SelectViewport",or=o.forwardRef((e,t)=>{let{__scopeSelect:r,nonce:n,...a}=e,s=l3(ot,r),i=oe(ot,r),c=(0,T.s)(t,s.onViewportChange),d=o.useRef(0);return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:n}),(0,l.jsx)(lF.Slot,{scope:r,children:(0,l.jsx)(D.sG.div,{"data-radix-select-viewport":"",role:"presentation",...a,ref:c,style:{position:"relative",flex:1,overflow:"hidden auto",...a.style},onScroll:(0,E.m)(a.onScroll,e=>{let t=e.currentTarget,{contentWrapper:r,shouldExpandOnScrollRef:n}=i;if(n?.current&&r){let e=Math.abs(d.current-t.scrollTop);if(e>0){let n=window.innerHeight-20,a=Math.max(parseFloat(r.style.minHeight),parseFloat(r.style.height));if(a<n){let l=a+e,o=Math.min(n,l),s=l-o;r.style.height=o+"px","0px"===r.style.bottom&&(t.scrollTop=s>0?s:0,r.style.justifyContent="flex-end")}}}d.current=t.scrollTop})})})]})});or.displayName=ot;var on="SelectGroup",[oa,ol]=lB(on);o.forwardRef((e,t)=>{let{__scopeSelect:r,...n}=e,a=Z();return(0,l.jsx)(oa,{scope:r,id:a,children:(0,l.jsx)(D.sG.div,{role:"group","aria-labelledby":a,...n,ref:t})})}).displayName=on;var oo="SelectLabel",os=o.forwardRef((e,t)=>{let{__scopeSelect:r,...n}=e,a=ol(oo,r);return(0,l.jsx)(D.sG.div,{id:a.id,...n,ref:t})});os.displayName=oo;var oi="SelectItem",[oc,od]=lB(oi),ou=o.forwardRef((e,t)=>{let{__scopeSelect:r,value:n,disabled:a=!1,textValue:s,...i}=e,c=lK(oi,r),d=l3(oi,r),u=c.value===n,[f,m]=o.useState(s??""),[p,h]=o.useState(!1),x=(0,T.s)(t,e=>d.itemRefCallback?.(e,n,a)),g=Z(),v=o.useRef("touch"),y=()=>{a||(c.onValueChange(n),c.onOpenChange(!1))};if(""===n)throw Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return(0,l.jsx)(oc,{scope:r,value:n,disabled:a,textId:g,isSelected:u,onItemTextChange:o.useCallback(e=>{m(t=>t||(e?.textContent??"").trim())},[]),children:(0,l.jsx)(lF.ItemSlot,{scope:r,value:n,disabled:a,textValue:f,children:(0,l.jsx)(D.sG.div,{role:"option","aria-labelledby":g,"data-highlighted":p?"":void 0,"aria-selected":u&&p,"data-state":u?"checked":"unchecked","aria-disabled":a||void 0,"data-disabled":a?"":void 0,tabIndex:a?void 0:-1,...i,ref:x,onFocus:(0,E.m)(i.onFocus,()=>h(!0)),onBlur:(0,E.m)(i.onBlur,()=>h(!1)),onClick:(0,E.m)(i.onClick,()=>{"mouse"!==v.current&&y()}),onPointerUp:(0,E.m)(i.onPointerUp,()=>{"mouse"===v.current&&y()}),onPointerDown:(0,E.m)(i.onPointerDown,e=>{v.current=e.pointerType}),onPointerMove:(0,E.m)(i.onPointerMove,e=>{v.current=e.pointerType,a?d.onItemLeave?.():"mouse"===v.current&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:(0,E.m)(i.onPointerLeave,e=>{e.currentTarget===document.activeElement&&d.onItemLeave?.()}),onKeyDown:(0,E.m)(i.onKeyDown,e=>{d.searchRef?.current!==""&&" "===e.key||(lI.includes(e.key)&&y()," "===e.key&&e.preventDefault())})})})})});ou.displayName=oi;var of="SelectItemText",om=o.forwardRef((e,t)=>{let{__scopeSelect:r,className:n,style:a,...s}=e,i=lK(of,r),c=l3(of,r),d=od(of,r),u=lG(of,r),[f,m]=o.useState(null),p=(0,T.s)(t,e=>m(e),d.onItemTextChange,e=>c.itemTextRefCallback?.(e,d.value,d.disabled)),h=f?.textContent,x=o.useMemo(()=>(0,l.jsx)("option",{value:d.value,disabled:d.disabled,children:h},d.value),[d.disabled,d.value,h]),{onNativeOptionAdd:g,onNativeOptionRemove:v}=u;return(0,X.N)(()=>(g(x),()=>v(x)),[g,v,x]),(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(D.sG.span,{id:d.textId,...s,ref:p}),d.isSelected&&i.valueNode&&!i.valueNodeHasChildren?e3.createPortal(s.children,i.valueNode):null]})});om.displayName=of;var op="SelectItemIndicator",oh=o.forwardRef((e,t)=>{let{__scopeSelect:r,...n}=e;return od(op,r).isSelected?(0,l.jsx)(D.sG.span,{"aria-hidden":!0,...n,ref:t}):null});oh.displayName=op;var ox="SelectScrollUpButton",og=o.forwardRef((e,t)=>{let r=l3(ox,e.__scopeSelect),n=oe(ox,e.__scopeSelect),[a,s]=o.useState(!1),i=(0,T.s)(t,n.onScrollButtonChange);return(0,X.N)(()=>{if(r.viewport&&r.isPositioned){let e=function(){s(t.scrollTop>0)},t=r.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}},[r.viewport,r.isPositioned]),a?(0,l.jsx)(ob,{...e,ref:i,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=r;e&&t&&(e.scrollTop=e.scrollTop-t.offsetHeight)}}):null});og.displayName=ox;var ov="SelectScrollDownButton",oy=o.forwardRef((e,t)=>{let r=l3(ov,e.__scopeSelect),n=oe(ov,e.__scopeSelect),[a,s]=o.useState(!1),i=(0,T.s)(t,n.onScrollButtonChange);return(0,X.N)(()=>{if(r.viewport&&r.isPositioned){let e=function(){let e=t.scrollHeight-t.clientHeight;s(Math.ceil(t.scrollTop)<e)},t=r.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}},[r.viewport,r.isPositioned]),a?(0,l.jsx)(ob,{...e,ref:i,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=r;e&&t&&(e.scrollTop=e.scrollTop+t.offsetHeight)}}):null});oy.displayName=ov;var ob=o.forwardRef((e,t)=>{let{__scopeSelect:r,onAutoScroll:n,...a}=e,s=l3("SelectScrollButton",r),i=o.useRef(null),c=lU(r),d=o.useCallback(()=>{null!==i.current&&(window.clearInterval(i.current),i.current=null)},[]);return o.useEffect(()=>()=>d(),[d]),(0,X.N)(()=>{let e=c().find(e=>e.ref.current===document.activeElement);e?.ref.current?.scrollIntoView({block:"nearest"})},[c]),(0,l.jsx)(D.sG.div,{"aria-hidden":!0,...a,ref:t,style:{flexShrink:0,...a.style},onPointerDown:(0,E.m)(a.onPointerDown,()=>{null===i.current&&(i.current=window.setInterval(n,50))}),onPointerMove:(0,E.m)(a.onPointerMove,()=>{s.onItemLeave?.(),null===i.current&&(i.current=window.setInterval(n,50))}),onPointerLeave:(0,E.m)(a.onPointerLeave,()=>{d()})})}),ow=o.forwardRef((e,t)=>{let{__scopeSelect:r,...n}=e;return(0,l.jsx)(D.sG.div,{"aria-hidden":!0,...n,ref:t})});ow.displayName="SelectSeparator";var oj="SelectArrow";function oN(e){return""===e||void 0===e}o.forwardRef((e,t)=>{let{__scopeSelect:r,...n}=e,a=lW(r),o=lK(oj,r),s=l3(oj,r);return o.open&&"popper"===s.position?(0,l.jsx)(tk,{...a,...n,ref:t}):null}).displayName=oj;var oC=o.forwardRef((e,t)=>{let{value:r,...n}=e,a=o.useRef(null),s=(0,T.s)(t,a),i=lj(r);return o.useEffect(()=>{let e=a.current,t=Object.getOwnPropertyDescriptor(window.HTMLSelectElement.prototype,"value").set;if(i!==r&&t){let n=new Event("change",{bubbles:!0});t.call(e,r),e.dispatchEvent(n)}},[i,r]),(0,l.jsx)(lP.s,{asChild:!0,children:(0,l.jsx)("select",{...n,ref:s,defaultValue:r})})});function ok(e){let t=(0,U.c)(e),r=o.useRef(""),n=o.useRef(0),a=o.useCallback(e=>{let a=r.current+e;t(a),function e(t){r.current=t,window.clearTimeout(n.current),""!==t&&(n.current=window.setTimeout(()=>e(""),1e3))}(a)},[t]),l=o.useCallback(()=>{r.current="",window.clearTimeout(n.current)},[]);return o.useEffect(()=>()=>window.clearTimeout(n.current),[]),[r,a,l]}function oS(e,t,r){var n;let a=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,l=(n=Math.max(r?e.indexOf(r):-1,0),e.map((t,r)=>e[(n+r)%e.length]));1===a.length&&(l=l.filter(e=>e!==r));let o=l.find(e=>e.textValue.toLowerCase().startsWith(a.toLowerCase()));return o!==r?o:void 0}oC.displayName="BubbleSelect";let oR=(0,d.A)("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]),oE=o.forwardRef(({className:e,children:t,...r},n)=>(0,l.jsxs)(lQ,{ref:n,className:(0,j.cn)("flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",e),...r,children:[t,(0,l.jsx)(l0,{asChild:!0,children:(0,l.jsx)(p,{className:"h-4 w-4 opacity-50"})})]}));oE.displayName=lQ.displayName;let oT=o.forwardRef(({className:e,...t},r)=>(0,l.jsx)(og,{ref:r,className:(0,j.cn)("flex cursor-default items-center justify-center py-1",e),...t,children:(0,l.jsx)(oR,{className:"h-4 w-4"})}));oT.displayName=og.displayName;let oM=o.forwardRef(({className:e,...t},r)=>(0,l.jsx)(oy,{ref:r,className:(0,j.cn)("flex cursor-default items-center justify-center py-1",e),...t,children:(0,l.jsx)(p,{className:"h-4 w-4"})}));oM.displayName=oy.displayName;let oA=o.forwardRef(({className:e,children:t,position:r="popper",...n},a)=>(0,l.jsx)(l1,{children:(0,l.jsxs)(l5,{ref:a,className:(0,j.cn)("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2","popper"===r&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:r,...n,children:[(0,l.jsx)(oT,{}),(0,l.jsx)(or,{className:(0,j.cn)("p-1","popper"===r&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:t}),(0,l.jsx)(oM,{})]})}));oA.displayName=l5.displayName,o.forwardRef(({className:e,...t},r)=>(0,l.jsx)(os,{ref:r,className:(0,j.cn)("px-2 py-1.5 text-sm font-semibold",e),...t})).displayName=os.displayName;let oD=o.forwardRef(({className:e,children:t,...r},n)=>(0,l.jsxs)(ou,{ref:n,className:(0,j.cn)("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...r,children:[(0,l.jsx)("span",{className:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,l.jsx)(oh,{children:(0,l.jsx)(nq,{className:"h-4 w-4"})})}),(0,l.jsx)(om,{children:t})]}));oD.displayName=ou.displayName,o.forwardRef(({className:e,...t},r)=>(0,l.jsx)(ow,{ref:r,className:(0,j.cn)("-mx-1 my-1 h-px bg-muted",e),...t})).displayName=ow.displayName;let o_=(0,d.A)("SlidersHorizontal",[["line",{x1:"21",x2:"14",y1:"4",y2:"4",key:"obuewd"}],["line",{x1:"10",x2:"3",y1:"4",y2:"4",key:"1q6298"}],["line",{x1:"21",x2:"12",y1:"12",y2:"12",key:"1iu8h1"}],["line",{x1:"8",x2:"3",y1:"12",y2:"12",key:"ntss68"}],["line",{x1:"21",x2:"16",y1:"20",y2:"20",key:"14d8ph"}],["line",{x1:"12",x2:"3",y1:"20",y2:"20",key:"m0wm8r"}],["line",{x1:"14",x2:"14",y1:"2",y2:"6",key:"14e1ph"}],["line",{x1:"8",x2:"8",y1:"10",y2:"14",key:"1i6ji0"}],["line",{x1:"16",x2:"16",y1:"18",y2:"22",key:"1lctlv"}]]),oO=(0,d.A)("Upload",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"17 8 12 3 7 8",key:"t8dd8p"}],["line",{x1:"12",x2:"12",y1:"3",y2:"15",key:"widbto"}]]),oP=(0,d.A)("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]),oL=(0,d.A)("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);var[oI,o$]=(0,M.A)("Tooltip",[tm]),oF=tm(),oU="TooltipProvider",oz="tooltip.open",[oB,oH]=oI(oU),oW=e=>{let{__scopeTooltip:t,delayDuration:r=700,skipDelayDuration:n=300,disableHoverableContent:a=!1,children:s}=e,[i,c]=o.useState(!0),d=o.useRef(!1),u=o.useRef(0);return o.useEffect(()=>{let e=u.current;return()=>window.clearTimeout(e)},[]),(0,l.jsx)(oB,{scope:t,isOpenDelayed:i,delayDuration:r,onOpen:o.useCallback(()=>{window.clearTimeout(u.current),c(!1)},[]),onClose:o.useCallback(()=>{window.clearTimeout(u.current),u.current=window.setTimeout(()=>c(!0),n)},[n]),isPointerInTransitRef:d,onPointerInTransitChange:o.useCallback(e=>{d.current=e},[]),disableHoverableContent:a,children:s})};oW.displayName=oU;var oV="Tooltip",[oK,oq]=oI(oV),oG=e=>{let{__scopeTooltip:t,children:r,open:n,defaultOpen:a=!1,onOpenChange:s,disableHoverableContent:i,delayDuration:c}=e,d=oH(oV,e.__scopeTooltip),u=oF(t),[f,m]=o.useState(null),p=Z(),h=o.useRef(0),x=i??d.disableHoverableContent,g=c??d.delayDuration,v=o.useRef(!1),[y=!1,b]=(0,A.i)({prop:n,defaultProp:a,onChange:e=>{e?(d.onOpen(),document.dispatchEvent(new CustomEvent(oz))):d.onClose(),s?.(e)}}),w=o.useMemo(()=>y?v.current?"delayed-open":"instant-open":"closed",[y]),j=o.useCallback(()=>{window.clearTimeout(h.current),h.current=0,v.current=!1,b(!0)},[b]),N=o.useCallback(()=>{window.clearTimeout(h.current),h.current=0,b(!1)},[b]),C=o.useCallback(()=>{window.clearTimeout(h.current),h.current=window.setTimeout(()=>{v.current=!0,b(!0),h.current=0},g)},[g,b]);return o.useEffect(()=>()=>{h.current&&(window.clearTimeout(h.current),h.current=0)},[]),(0,l.jsx)(tx,{...u,children:(0,l.jsx)(oK,{scope:t,contentId:p,open:y,stateAttribute:w,trigger:f,onTriggerChange:m,onTriggerEnter:o.useCallback(()=>{d.isOpenDelayed?C():j()},[d.isOpenDelayed,C,j]),onTriggerLeave:o.useCallback(()=>{x?N():(window.clearTimeout(h.current),h.current=0)},[N,x]),onOpen:j,onClose:N,disableHoverableContent:x,children:r})})};oG.displayName=oV;var oY="TooltipTrigger",oX=o.forwardRef((e,t)=>{let{__scopeTooltip:r,...n}=e,a=oq(oY,r),s=oH(oY,r),i=oF(r),c=o.useRef(null),d=(0,T.s)(t,c,a.onTriggerChange),u=o.useRef(!1),f=o.useRef(!1),m=o.useCallback(()=>u.current=!1,[]);return o.useEffect(()=>()=>document.removeEventListener("pointerup",m),[m]),(0,l.jsx)(tv,{asChild:!0,...i,children:(0,l.jsx)(D.sG.button,{"aria-describedby":a.open?a.contentId:void 0,"data-state":a.stateAttribute,...n,ref:d,onPointerMove:(0,E.m)(e.onPointerMove,e=>{"touch"===e.pointerType||f.current||s.isPointerInTransitRef.current||(a.onTriggerEnter(),f.current=!0)}),onPointerLeave:(0,E.m)(e.onPointerLeave,()=>{a.onTriggerLeave(),f.current=!1}),onPointerDown:(0,E.m)(e.onPointerDown,()=>{u.current=!0,document.addEventListener("pointerup",m,{once:!0})}),onFocus:(0,E.m)(e.onFocus,()=>{u.current||a.onOpen()}),onBlur:(0,E.m)(e.onBlur,a.onClose),onClick:(0,E.m)(e.onClick,a.onClose)})})});oX.displayName=oY;var oQ="TooltipPortal",[oJ,oZ]=oI(oQ,{forceMount:void 0}),o0=e=>{let{__scopeTooltip:t,forceMount:r,children:n,container:a}=e,o=oq(oQ,t);return(0,l.jsx)(oJ,{scope:t,forceMount:r,children:(0,l.jsx)(tM.C,{present:r||o.open,children:(0,l.jsx)(tT.Z,{asChild:!0,container:a,children:n})})})};o0.displayName=oQ;var o1="TooltipContent",o2=o.forwardRef((e,t)=>{let r=oZ(o1,e.__scopeTooltip),{forceMount:n=r.forceMount,side:a="top",...o}=e,s=oq(o1,e.__scopeTooltip);return(0,l.jsx)(tM.C,{present:n||s.open,children:s.disableHoverableContent?(0,l.jsx)(o6,{side:a,...o,ref:t}):(0,l.jsx)(o5,{side:a,...o,ref:t})})}),o5=o.forwardRef((e,t)=>{let r=oq(o1,e.__scopeTooltip),n=oH(o1,e.__scopeTooltip),a=o.useRef(null),s=(0,T.s)(t,a),[i,c]=o.useState(null),{trigger:d,onClose:u}=r,f=a.current,{onPointerInTransitChange:m}=n,p=o.useCallback(()=>{c(null),m(!1)},[m]),h=o.useCallback((e,t)=>{let r=e.currentTarget,n={x:e.clientX,y:e.clientY},a=function(e,t){let r=Math.abs(t.top-e.y),n=Math.abs(t.bottom-e.y),a=Math.abs(t.right-e.x),l=Math.abs(t.left-e.x);switch(Math.min(r,n,a,l)){case l:return"left";case a:return"right";case r:return"top";case n:return"bottom";default:throw Error("unreachable")}}(n,r.getBoundingClientRect());c(function(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:e.y>t.y?1:0),function(e){if(e.length<=1)return e.slice();let t=[];for(let r=0;r<e.length;r++){let n=e[r];for(;t.length>=2;){let e=t[t.length-1],r=t[t.length-2];if((e.x-r.x)*(n.y-r.y)>=(e.y-r.y)*(n.x-r.x))t.pop();else break}t.push(n)}t.pop();let r=[];for(let t=e.length-1;t>=0;t--){let n=e[t];for(;r.length>=2;){let e=r[r.length-1],t=r[r.length-2];if((e.x-t.x)*(n.y-t.y)>=(e.y-t.y)*(n.x-t.x))r.pop();else break}r.push(n)}return(r.pop(),1===t.length&&1===r.length&&t[0].x===r[0].x&&t[0].y===r[0].y)?t:t.concat(r)}(t)}([...function(e,t,r=5){let n=[];switch(t){case"top":n.push({x:e.x-r,y:e.y+r},{x:e.x+r,y:e.y+r});break;case"bottom":n.push({x:e.x-r,y:e.y-r},{x:e.x+r,y:e.y-r});break;case"left":n.push({x:e.x+r,y:e.y-r},{x:e.x+r,y:e.y+r});break;case"right":n.push({x:e.x-r,y:e.y-r},{x:e.x-r,y:e.y+r})}return n}(n,a),...function(e){let{top:t,right:r,bottom:n,left:a}=e;return[{x:a,y:t},{x:r,y:t},{x:r,y:n},{x:a,y:n}]}(t.getBoundingClientRect())])),m(!0)},[m]);return o.useEffect(()=>()=>p(),[p]),o.useEffect(()=>{if(d&&f){let e=e=>h(e,f),t=e=>h(e,d);return d.addEventListener("pointerleave",e),f.addEventListener("pointerleave",t),()=>{d.removeEventListener("pointerleave",e),f.removeEventListener("pointerleave",t)}}},[d,f,h,p]),o.useEffect(()=>{if(i){let e=e=>{let t=e.target,r={x:e.clientX,y:e.clientY},n=d?.contains(t)||f?.contains(t),a=!function(e,t){let{x:r,y:n}=e,a=!1;for(let e=0,l=t.length-1;e<t.length;l=e++){let o=t[e].x,s=t[e].y,i=t[l].x,c=t[l].y;s>n!=c>n&&r<(i-o)*(n-s)/(c-s)+o&&(a=!a)}return a}(r,i);n?p():a&&(p(),u())};return document.addEventListener("pointermove",e),()=>document.removeEventListener("pointermove",e)}},[d,f,i,u,p]),(0,l.jsx)(o6,{...e,ref:s})}),[o4,o3]=oI(oV,{isInside:!1}),o6=o.forwardRef((e,t)=>{let{__scopeTooltip:r,children:n,"aria-label":a,onEscapeKeyDown:s,onPointerDownOutside:i,...c}=e,d=oq(o1,r),u=oF(r),{onClose:f}=d;return o.useEffect(()=>(document.addEventListener(oz,f),()=>document.removeEventListener(oz,f)),[f]),o.useEffect(()=>{if(d.trigger){let e=e=>{let t=e.target;t?.contains(d.trigger)&&f()};return window.addEventListener("scroll",e,{capture:!0}),()=>window.removeEventListener("scroll",e,{capture:!0})}},[d.trigger,f]),(0,l.jsx)(L.qW,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:s,onPointerDownOutside:i,onFocusOutside:e=>e.preventDefault(),onDismiss:f,children:(0,l.jsxs)(tj,{"data-state":d.stateAttribute,...u,...c,ref:t,style:{...c.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[(0,l.jsx)(tq.xV,{children:n}),(0,l.jsx)(o4,{scope:r,isInside:!0,children:(0,l.jsx)(lP.b,{id:d.contentId,role:"tooltip",children:a||n})})]})})});o2.displayName=o1;var o8="TooltipArrow";o.forwardRef((e,t)=>{let{__scopeTooltip:r,...n}=e,a=oF(r);return o3(o8,r).isInside?null:(0,l.jsx)(tk,{...a,...n,ref:t})}).displayName=o8;let o9=o.forwardRef(({className:e,sideOffset:t=4,...r},n)=>(0,l.jsx)(o0,{children:(0,l.jsx)(o2,{ref:n,sideOffset:t,className:(0,j.cn)("z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...r})}));o9.displayName=o2.displayName;let o7=(0,d.A)("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]),se=(0,o.memo)(({onRefresh:e,disabled:t})=>{let[r,n]=(0,o.useState)(!1),a=async()=>{if(!r&&!t){n(!0);try{await e()}catch(e){console.error("Refresh failed:",e)}finally{setTimeout(()=>{n(!1)},500)}}};return(0,l.jsx)(oW,{children:(0,l.jsxs)(oG,{children:[(0,l.jsx)(oX,{asChild:!0,children:(0,l.jsx)(nZ,{variant:"outline",size:"icon",onClick:a,disabled:r||t,className:"h-8",children:r?(0,l.jsx)(v,{className:"h-4 w-4 animate-spin"}):(0,l.jsx)(o7,{className:"h-4 w-4"})})}),(0,l.jsx)(o9,{children:(0,l.jsx)("p",{children:"Refresh table data"})})]})})});se.displayName="RefreshButton";let st=(0,d.A)("FolderSync",[["path",{d:"M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v.5",key:"1dkoa9"}],["path",{d:"M12 10v4h4",key:"1czhmt"}],["path",{d:"m12 14 1.535-1.605a5 5 0 0 1 8 1.5",key:"lvuxfi"}],["path",{d:"M22 22v-4h-4",key:"1ewp4q"}],["path",{d:"m22 18-1.535 1.605a5 5 0 0 1-8-1.5",key:"14ync0"}]]);var sr=r(6888);let sn=(0,o.memo)(({tableName:e,onSync:t})=>{let[r,n]=(0,o.useState)(!1),{toast:a}=(0,sr.dj)();if("d1_migrations"!==e)return null;let s=async()=>{try{n(!0);let e=await fetch("/api/migrations/sync-files",{method:"POST"}),r=await e.json();if(!e.ok)throw Error(r.error||"Failed to sync migrations");let{added:l=[],removed:o=[]}=r.details||{};a({title:"Migrations Synced",description:`Added: ${l.length}, Removed: ${o.length}`}),t&&await t()}catch(e){console.error("Error syncing migrations:",e),a({variant:"destructive",title:"Sync Failed",description:e.message})}finally{n(!1)}};return(0,l.jsx)(oW,{children:(0,l.jsxs)(oG,{children:[(0,l.jsx)(oX,{asChild:!0,children:(0,l.jsx)(nZ,{variant:"outline",size:"icon",onClick:s,disabled:r,className:"h-8",children:r?(0,l.jsx)(v,{className:"h-4 w-4 animate-spin"}):(0,l.jsx)(st,{className:"h-4 w-4"})})}),(0,l.jsx)(o9,{children:(0,l.jsx)("p",{children:"Sync migration files with d1_migrations table"})})]})})});sn.displayName="SyncMigrationsButton";let sa=(0,d.A)("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]),sl=(0,d.A)("FileJson",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1",key:"1oajmo"}],["path",{d:"M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1",key:"mpwhp6"}]]),so=(0,d.A)("FileSpreadsheet",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M8 13h2",key:"yr2amv"}],["path",{d:"M14 13h2",key:"un5t4a"}],["path",{d:"M8 17h2",key:"2yhykz"}],["path",{d:"M14 17h2",key:"10kma7"}]]),ss=(0,d.A)("FileCode",[["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z",key:"1mlx9k"}]]),si=(0,o.memo)(({tableName:e,onDownloadStart:t,onDownloadComplete:r,disabled:n})=>{let[a,s]=(0,o.useState)(!1),{toast:i}=(0,sr.dj)(),c=(e,t)=>{try{let r=new Blob([e],{type:"application/octet-stream"}),n=window.URL.createObjectURL(r),a=document.createElement("a");a.href=n,a.download=t,document.body.appendChild(a),a.click(),document.body.removeChild(a),window.URL.revokeObjectURL(n)}catch(e){throw console.error("Error during file download:",e),e}},d=async a=>{if(!n)try{s(!0),t?.();let n=await fetch(`/api/tables/${e}?export=true&page=1&limit=999999`),l=await n.json();if(!n.ok)throw Error(l.error||"Failed to fetch data");let{data:o,schema:d}=l;if(!o?.length){i({title:"No Data",description:"The table is empty.",variant:"destructive"});return}let u=new Date().toISOString().split("T")[0],f=`${e}_${u}.${a}`;switch(a){case"json":{let e=JSON.stringify(o,null,2);c(e,f);break}case"csv":{let e=Object.keys(o[0]),t=[e.join(","),...o.map(t=>e.map(e=>{let r=t[e];if(null==r)return"";if("string"==typeof r){let e=r.replace(/"/g,'""');return`"${e}"`}return r}).join(","))].join("\n");c(t,f);break}case"sql":{let t=`CREATE TABLE IF NOT EXISTS ${e} (
|
|
49
|
-
`+
|
|
50
|
-
VALUES (${n.join(", ")});`}).join("\n");c(t+r,f)}}i({title:"Download Complete",description:`${o.length} rows exported as ${a.toUpperCase()}.`}),r?.()}catch(e){console.error("Download error:",e),i({variant:"destructive",title:"Download Failed",description:e.message})}finally{s(!1)}};return(0,l.jsxs)(nD,{children:[(0,l.jsx)(oW,{children:(0,l.jsxs)(oG,{children:[(0,l.jsx)(oX,{asChild:!0,children:(0,l.jsx)(nO,{asChild:!0,children:(0,l.jsx)(nZ,{variant:"outline",size:"icon",className:"h-8",disabled:a||n,children:a?(0,l.jsx)(v,{className:"h-4 w-4 animate-spin"}):(0,l.jsx)(sa,{className:"h-4 w-4"})})})}),(0,l.jsx)(o9,{children:(0,l.jsx)("p",{children:"Download table data"})})]})}),(0,l.jsxs)(nY,{align:"end",children:[(0,l.jsxs)(nX,{onClick:()=>d("json"),disabled:n,children:[(0,l.jsx)(sl,{className:"mr-2 h-4 w-4"}),(0,l.jsx)("span",{children:"Download JSON"})]}),(0,l.jsxs)(nX,{onClick:()=>d("csv"),disabled:n,children:[(0,l.jsx)(so,{className:"mr-2 h-4 w-4"}),(0,l.jsx)("span",{children:"Download CSV"})]}),(0,l.jsxs)(nX,{onClick:()=>d("sql"),disabled:n,children:[(0,l.jsx)(ss,{className:"mr-2 h-4 w-4"}),(0,l.jsx)("span",{children:"Download SQL"})]})]})]})});si.displayName="DownloadButton";let sc=(0,d.A)("Columns2",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M12 3v18",key:"108xh3"}]]),sd=function({schema:e=[],visibleColumns:t=[],onColumnToggle:r}){let[n,a]=(0,o.useState)(""),s=e.filter(e=>e.name.toLowerCase().includes(n.toLowerCase())),i=s.map(e=>e.name),c=i.length>0&&i.every(e=>t.includes(e)),d=e=>{r(e)};return(0,l.jsxs)(nD,{children:[(0,l.jsx)(nO,{asChild:!0,children:(0,l.jsxs)(nZ,{size:"sm",variant:"outline",className:"font-semibold",children:[(0,l.jsx)(sc,{className:"h-4 w-4"}),"Columns (",t.length,")"]})}),(0,l.jsxs)(nY,{align:"end",className:"w-64 font-sans",children:[(0,l.jsx)("div",{className:"p-2",children:(0,l.jsx)(N,{placeholder:"Search columns...",value:n,onChange:e=>a(e.target.value),className:"h-8"})}),(0,l.jsxs)("div",{className:"flex items-center space-x-2 px-2 py-1.5 hover:bg-accent rounded-md",children:[(0,l.jsx)(lO,{id:"select-all-columns",checked:c,onCheckedChange:e=>{e?s.forEach(e=>{t.includes(e.name)||r(e.name)}):s.forEach(e=>{t.includes(e.name)&&r(e.name)})},className:"shrink-0"}),(0,l.jsxs)("label",{htmlFor:"select-all-columns",className:"flex-1 cursor-pointer text-sm font-medium",children:["Select All ",n&&"(Filtered)"]})]}),(0,l.jsx)("div",{className:"max-h-[300px] overflow-y-auto",children:s.map(e=>(0,l.jsxs)("div",{className:"flex items-start space-x-2 px-2 py-1.5 hover:bg-accent rounded-md",children:[(0,l.jsx)(lO,{id:`column-${e.name}`,checked:t.includes(e.name),onCheckedChange:()=>d(e.name),className:"mt-1"}),(0,l.jsxs)("label",{htmlFor:`column-${e.name}`,className:"flex-1 cursor-pointer",children:[(0,l.jsx)("div",{className:"text-sm font-medium",children:e.name}),(0,l.jsx)("div",{className:"text-xs text-muted-foreground",children:e.type.toLowerCase()})]})]},e.name))})]})]})},su=(0,o.memo)(({onAdd:e,onDelete:t,onImport:r,selectedCount:n,disabled:a,newRecordsCount:o,schema:s,visibleColumns:i,onColumnToggle:c,showFilters:d,onToggleFilters:u,activeFilterCount:f})=>(0,l.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,l.jsxs)(nZ,{size:"sm",variant:d?"default":"outline",className:"font-semibold gap-1",onClick:u,children:[(0,l.jsx)(o_,{className:"h-4 w-4"}),"Filters",f>0&&(0,l.jsx)("span",{className:"ml-0.5 text-[10px] font-bold bg-white text-neutral-800 px-1 py-0 rounded-full",children:f})]}),(0,l.jsx)(sd,{schema:s,visibleColumns:i,onColumnToggle:c}),(0,l.jsx)("div",{className:"h-4 border-r mx-2"}),(0,l.jsx)(nZ,{size:"sm",variant:"default",className:"font-semibold",onClick:e,children:"Add record"}),(0,l.jsx)(oW,{children:(0,l.jsxs)(oG,{children:[(0,l.jsx)(oX,{asChild:!0,children:(0,l.jsxs)(nZ,{size:"sm",variant:"outline",className:"font-semibold",onClick:r,disabled:a,children:[(0,l.jsx)(oO,{className:"h-4 w-4"}),"Import"]})}),(0,l.jsx)(o9,{children:(0,l.jsx)("p",{children:"Import CSV or JSON"})})]})}),n>0&&(0,l.jsxs)(nZ,{size:"sm",className:"font-semibold",onClick:t,variant:"destructive",disabled:a||o>0,children:["Delete ",n," ",1===n?"record":"records"]})]})),sf=(0,o.memo)(({totalRows:e})=>(0,l.jsxs)("span",{className:"text-sm text-neutral-600",children:[e," ",1===e?"row":"rows"]})),sm=(0,o.memo)(({currentPage:e,totalPages:t,onPageChange:r,disabled:n,newRecordsCount:a})=>(0,l.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,l.jsx)(nZ,{variant:"ghost",size:"icon",onClick:()=>{console.log("Pagination: navigating to previous page",e-1),r(e-1)},disabled:1===e||n||a>0,className:"h-8",children:(0,l.jsx)(oP,{className:"h-4 w-4"})}),(0,l.jsxs)("span",{className:"text-sm",children:["Page ",e," of ",t]}),(0,l.jsx)(nZ,{variant:"ghost",size:"icon",onClick:()=>{console.log("Pagination: navigating to next page",e+1),r(e+1)},disabled:e===t||n||a>0,className:"h-8",children:(0,l.jsx)(oL,{className:"h-4 w-4"})})]})),sp=(0,o.memo)(({value:e,onValueChange:t,disabled:r,newRecordsCount:n})=>(0,l.jsxs)(lY,{value:e.toString(),onValueChange:t,disabled:r||n>0,children:[(0,l.jsx)(oE,{className:"w-20 h-8",children:(0,l.jsx)(lZ,{})}),(0,l.jsxs)(oA,{children:[(0,l.jsx)(oD,{value:"50",children:"50"}),(0,l.jsx)(oD,{value:"100",children:"100"}),(0,l.jsx)(oD,{value:"250",children:"250"})]})]})),sh=(0,o.memo)(({onSave:e,onDiscard:t,totalChanges:r,isSaving:n})=>(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)(nZ,{size:"sm",variant:"ghost",className:"font-semibold",onClick:t,disabled:n,children:"Discard changes"}),(0,l.jsx)(nZ,{size:"sm",className:"font-semibold bg-green-600 hover:bg-green-700",variant:"default",onClick:e,disabled:n,children:n?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(v,{className:"h-4 w-4 animate-spin"}),"Saving..."]}):`Save ${r} ${1===r?"change":"changes"}`})]})),sx=({selectedCount:e=0,onAdd:t,onDelete:r,onImport:n,onRefresh:a,totalRows:o=0,currentPage:s=1,totalPages:i=1,onPageChange:c,rowsPerPage:d=50,onRowsPerPageChange:u,tableName:f,onDownloadStart:m,onDownloadComplete:p,disabled:h=!1,editCount:x=0,newRecordsCount:g=0,onSaveChanges:v,onDiscardChanges:y,isSaving:b=!1,schema:w,visibleColumns:j,onColumnToggle:N,showFilters:C=!1,onToggleFilters:k,activeFilterCount:S=0})=>{let R=x+g;return(0,l.jsx)("div",{className:"flex items-center justify-between p-3 border-b bg-background font-sans",children:(0,l.jsxs)("div",{className:"flex items-center justify-between w-full",children:[(0,l.jsx)(su,{onAdd:t,onDelete:r,onImport:n,selectedCount:e,disabled:h||b,newRecordsCount:g,schema:w,visibleColumns:j,onColumnToggle:N,showFilters:C,onToggleFilters:k,activeFilterCount:S}),(0,l.jsx)("div",{className:"flex items-center gap-4",children:R>0?(0,l.jsx)(sh,{onSave:v,onDiscard:y,totalChanges:R,isSaving:b}):(0,l.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,l.jsx)(sf,{totalRows:o}),(0,l.jsx)(sm,{currentPage:s,totalPages:i,onPageChange:c,disabled:h,newRecordsCount:g}),(0,l.jsx)(sp,{value:d,onValueChange:e=>{u(parseInt(e,10)),c(1)},disabled:h,newRecordsCount:g}),(0,l.jsx)(se,{onRefresh:a,disabled:h}),(0,l.jsx)(sn,{tableName:f,onSync:a,disabled:h}),(0,l.jsx)(si,{tableName:f,onDownloadStart:m,onDownloadComplete:p,disabled:h})]})})]})})};sx.displayName="TableToolbar";let sg=(0,o.memo)(sx);function sv({value:e,row:t,column:r,schema:n,onChange:a,onStartEdit:s,isEditing:i,fkInfo:c,onShowRelation:d}){let u="string"==typeof e?e.replace(/^'|'$/g,""):e,[f,m]=(0,o.useState)(u),[p,h]=(0,o.useState)("auto"),x=(0,o.useRef)(null),g=(0,o.useRef)(null),v=n.find(e=>e.name===r),y=(0,o.useMemo)(()=>v?.check||null,[v]),b=(0,o.useMemo)(()=>{let e=v?.type?.toLowerCase()||"";return"boolean"===e||"bool"===e||"integer"===e&&r.toLowerCase().startsWith("is_")},[v,r]);v?.pk;let w=(0,o.useCallback)(e=>{let t=b?"true"===e?1:"false"===e?0:e:e;m(e),a?.(t)},[a,b]),j=(0,o.useCallback)(()=>{!i&&s&&s(u)},[i,s,u]),C="border-x border-neutral-200 px-3 py-2.5 text-xs font-mono whitespace-nowrap overflow-hidden bg-white",k=(0,o.useMemo)(()=>null==u?"null":b?1===u||"1"===u||"true"===u?"true":"false":u.toString(),[u,b]);return i?b?(0,l.jsx)(aA,{className:`${C} p-0`,style:{width:p},children:(0,l.jsx)("div",{className:"w-full h-full",children:(0,l.jsxs)(lY,{value:k,onValueChange:w,defaultOpen:i,children:[(0,l.jsx)(oE,{className:"w-full h-9 min-w-0 rounded-none border-0 bg-orange-50 text-orange-900",children:(0,l.jsx)(lZ,{placeholder:"Select value"})}),(0,l.jsxs)(oA,{className:"min-w-[8rem]",children:[(0,l.jsx)(oD,{value:"true",children:"true"}),(0,l.jsx)(oD,{value:"false",children:"false"})]})]})})}):y?.length>0?(0,l.jsx)(aA,{className:`${C} p-0`,style:{width:p},children:(0,l.jsx)("div",{className:"w-full h-full",children:(0,l.jsxs)(lY,{value:f??y[0],onValueChange:w,defaultOpen:i,children:[(0,l.jsx)(oE,{className:"w-full h-9 min-w-0 rounded-none border-0 bg-orange-50 text-orange-900",children:(0,l.jsx)(lZ,{placeholder:`Select ${r}`})}),(0,l.jsx)(oA,{className:"min-w-[8rem]",children:y.map(e=>(0,l.jsx)(oD,{value:e,children:e},e))})]})})}):(0,l.jsx)(aA,{className:`${C} p-0`,style:{width:p},children:(0,l.jsx)(N,{ref:g,value:f??"",onChange:e=>w(e.target.value),className:"w-full min-w-0 rounded-none border-0 bg-orange-50 text-orange-900"})}):(0,l.jsxs)(aA,{ref:x,className:`${C} relative group cursor-pointer hover:bg-muted/50`,onClick:j,children:[k,c&&(0,l.jsx)("button",{className:"absolute right-0.5 top-1/2 -translate-y-1/2 opacity-0 group-hover:opacity-100 rounded p-0.5 bg-white border hover:bg-blue-50 transition-opacity z-10",onClick:e=>{e.stopPropagation(),d?.()},title:`Show related ${c.table}`,children:(0,l.jsx)(oL,{className:"h-3 w-3 text-blue-500"})})]})}let sy=(0,d.A)("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);function sb(e){return"string"==typeof e?e.replace(/^'|'$/g,""):e}function sw({schema:e,onRemove:t,onChange:r,showCheckbox:n=!1,initialData:a={}}){let[s,i]=(0,o.useState)(()=>e.reduce((e,t)=>{let r=a[t.name]??null;if(r=sb(r),1===t.pk&&(null===r||""===r))r="INTEGER"===t.type.toUpperCase()?"[Auto-generated INT]":"[Auto-generated]";else if(null===r){let e=t.dflt_value&&"null"!==t.dflt_value?t.dflt_value:null;if(e){let n=sb(e);r=n.includes("randomblob")||n.includes("lower(hex(")?"[Auto-generated UUID]":"INTEGER"===t.type.toUpperCase()&&1===t.pk&&(n.includes("AUTOINCREMENT")||n.includes("AUTO_INCREMENT")||n.includes("nextval")||""===n||"0"===n)?"[Auto-generated INT]":n}else"INTEGER"===t.type.toUpperCase()?r="":"TEXT"===t.type.toUpperCase()&&(r="")}return e[t.name]=r,e},{}));(0,o.useRef)(!1);let c=(e,t)=>{let n={...s,[e]:t};i(n),r?.(n)},d=e=>{let t=e.type?.toLowerCase()||"";return"boolean"===t||"bool"===t||"integer"===t&&e.name.toLowerCase().startsWith("is_")};return(0,l.jsxs)(aT,{className:"bg-orange-50/50",children:[(0,l.jsx)(aA,{className:"w-10 p-0",children:(0,l.jsx)("div",{className:"pl-1 flex items-center",children:n?(0,l.jsx)(lO,{disabled:!0}):(0,l.jsx)(nZ,{variant:"ghost",size:"icon",className:"h-8 w-8 text-orange-700 hover:text-orange-800",onClick:t,children:(0,l.jsx)(sy,{className:"h-4 w-4"})})})}),e.map(e=>{let t=1===e.pk,r=e.check||null;if(d(e)){let t="false";if(null!==e.dflt_value&&void 0!==e.dflt_value){let r=e.dflt_value.toString().toLowerCase();t="1"===r||"true"===r||"'true'"===r||'"true"'===r?"true":"false"}let r=null!==s[e.name]&&void 0!==s[e.name]?1===s[e.name]||!0===s[e.name]||"true"===s[e.name]?"true":"false":t;return(0,l.jsx)(aA,{className:"border-x border-neutral-200 p-0",children:(0,l.jsx)("div",{className:"w-full",children:(0,l.jsxs)(lY,{value:r,onValueChange:t=>c(e.name,"true"===t?1:0),children:[(0,l.jsx)(oE,{className:"w-full h-9 min-w-0 rounded-none border-0 bg-orange-50 text-orange-900",title:`Default: ${t}`,children:(0,l.jsx)(lZ,{placeholder:`Select ${e.name}`})}),(0,l.jsxs)(oA,{className:"min-w-[8rem]",children:[(0,l.jsx)(oD,{value:"true",children:"true"}),(0,l.jsx)(oD,{value:"false",children:"false"})]})]})})},e.name)}if(r?.length>0)return(0,l.jsx)(aA,{className:"border-x border-neutral-200 p-0",children:(0,l.jsx)("div",{className:"w-full",children:(0,l.jsxs)(lY,{value:s[e.name]??r[0],onValueChange:t=>c(e.name,t),children:[(0,l.jsx)(oE,{className:"w-full h-9 min-w-0 rounded-none border-0 bg-orange-50 text-orange-900",children:(0,l.jsx)(lZ,{placeholder:`Select ${e.name}`})}),(0,l.jsx)(oA,{className:"min-w-[8rem]",children:r.map(e=>(0,l.jsx)(oD,{value:e,children:e},e))})]})})},e.name);let n=t&&("[Auto-generated INT]"===s[e.name]||"[Auto-generated UUID]"===s[e.name]||"[Auto-generated]"===s[e.name]);return(0,l.jsx)(aA,{className:"border-x border-neutral-200 p-0",children:(0,l.jsx)(N,{value:n?"":s[e.name]??"",onChange:t=>c(e.name,t.target.value),disabled:n,className:`w-full min-w-0 rounded-none border-0 px-2 bg-orange-50 text-orange-900 ${n?"opacity-50":""}`,placeholder:n?"Auto-generated":`Enter ${e.name}`})},e.name)})]})}var sj="Dialog",[sN,sC]=(0,M.A)(sj),[sk,sS]=sN(sj),sR=e=>{let{__scopeDialog:t,children:r,open:n,defaultOpen:a,onOpenChange:s,modal:i=!0}=e,c=o.useRef(null),d=o.useRef(null),[u=!1,f]=(0,A.i)({prop:n,defaultProp:a,onChange:s});return(0,l.jsx)(sk,{scope:t,triggerRef:c,contentRef:d,contentId:Z(),titleId:Z(),descriptionId:Z(),open:u,onOpenChange:f,onOpenToggle:o.useCallback(()=>f(e=>!e),[f]),modal:i,children:r})};sR.displayName=sj;var sE="DialogTrigger";o.forwardRef((e,t)=>{let{__scopeDialog:r,...n}=e,a=sS(sE,r),o=(0,T.s)(t,a.triggerRef);return(0,l.jsx)(D.sG.button,{type:"button","aria-haspopup":"dialog","aria-expanded":a.open,"aria-controls":a.contentId,"data-state":sq(a.open),...n,ref:o,onClick:(0,E.m)(e.onClick,a.onOpenToggle)})}).displayName=sE;var sT="DialogPortal",[sM,sA]=sN(sT,{forceMount:void 0}),sD=e=>{let{__scopeDialog:t,forceMount:r,children:n,container:a}=e,s=sS(sT,t);return(0,l.jsx)(sM,{scope:t,forceMount:r,children:o.Children.map(n,e=>(0,l.jsx)(tM.C,{present:r||s.open,children:(0,l.jsx)(tT.Z,{asChild:!0,container:a,children:e})}))})};sD.displayName=sT;var s_="DialogOverlay",sO=o.forwardRef((e,t)=>{let r=sA(s_,e.__scopeDialog),{forceMount:n=r.forceMount,...a}=e,o=sS(s_,e.__scopeDialog);return o.modal?(0,l.jsx)(tM.C,{present:n||o.open,children:(0,l.jsx)(sP,{...a,ref:t})}):null});sO.displayName=s_;var sP=o.forwardRef((e,t)=>{let{__scopeDialog:r,...n}=e,a=sS(s_,r);return(0,l.jsx)(rM,{as:tq.DX,allowPinchZoom:!0,shards:[a.contentRef],children:(0,l.jsx)(D.sG.div,{"data-state":sq(a.open),...n,ref:t,style:{pointerEvents:"auto",...n.style}})})}),sL="DialogContent",sI=o.forwardRef((e,t)=>{let r=sA(sL,e.__scopeDialog),{forceMount:n=r.forceMount,...a}=e,o=sS(sL,e.__scopeDialog);return(0,l.jsx)(tM.C,{present:n||o.open,children:o.modal?(0,l.jsx)(s$,{...a,ref:t}):(0,l.jsx)(sF,{...a,ref:t})})});sI.displayName=sL;var s$=o.forwardRef((e,t)=>{let r=sS(sL,e.__scopeDialog),n=o.useRef(null),a=(0,T.s)(t,r.contentRef,n);return o.useEffect(()=>{let e=n.current;if(e)return t0(e)},[]),(0,l.jsx)(sU,{...e,ref:a,trapFocus:r.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,E.m)(e.onCloseAutoFocus,e=>{e.preventDefault(),r.triggerRef.current?.focus()}),onPointerDownOutside:(0,E.m)(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,r=0===t.button&&!0===t.ctrlKey;(2===t.button||r)&&e.preventDefault()}),onFocusOutside:(0,E.m)(e.onFocusOutside,e=>e.preventDefault())})}),sF=o.forwardRef((e,t)=>{let r=sS(sL,e.__scopeDialog),n=o.useRef(!1),a=o.useRef(!1);return(0,l.jsx)(sU,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(n.current||r.triggerRef.current?.focus(),t.preventDefault()),n.current=!1,a.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(n.current=!0,"pointerdown"!==t.detail.originalEvent.type||(a.current=!0));let l=t.target;r.triggerRef.current?.contains(l)&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&a.current&&t.preventDefault()}})}),sU=o.forwardRef((e,t)=>{let{__scopeDialog:r,trapFocus:n,onOpenAutoFocus:a,onCloseAutoFocus:s,...i}=e,c=sS(sL,r),d=o.useRef(null),u=(0,T.s)(t,d);return $(),(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(W,{asChild:!0,loop:!0,trapped:n,onMountAutoFocus:a,onUnmountAutoFocus:s,children:(0,l.jsx)(L.qW,{role:"dialog",id:c.contentId,"aria-describedby":c.descriptionId,"aria-labelledby":c.titleId,"data-state":sq(c.open),...i,ref:u,onDismiss:()=>c.onOpenChange(!1)})}),(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(sQ,{titleId:c.titleId}),(0,l.jsx)(sJ,{contentRef:d,descriptionId:c.descriptionId})]})]})}),sz="DialogTitle",sB=o.forwardRef((e,t)=>{let{__scopeDialog:r,...n}=e,a=sS(sz,r);return(0,l.jsx)(D.sG.h2,{id:a.titleId,...n,ref:t})});sB.displayName=sz;var sH="DialogDescription",sW=o.forwardRef((e,t)=>{let{__scopeDialog:r,...n}=e,a=sS(sH,r);return(0,l.jsx)(D.sG.p,{id:a.descriptionId,...n,ref:t})});sW.displayName=sH;var sV="DialogClose",sK=o.forwardRef((e,t)=>{let{__scopeDialog:r,...n}=e,a=sS(sV,r);return(0,l.jsx)(D.sG.button,{type:"button",...n,ref:t,onClick:(0,E.m)(e.onClick,()=>a.onOpenChange(!1))})});function sq(e){return e?"open":"closed"}sK.displayName=sV;var sG="DialogTitleWarning",[sY,sX]=(0,M.q)(sG,{contentName:sL,titleName:sz,docsSlug:"dialog"}),sQ=({titleId:e})=>{let t=sX(sG),r=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
|
|
47
|
+
WHERE condition;`},fn={"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 fo({onSelectQuery:a}){return(0,f.jsxs)(dy,{children:[(0,f.jsx)(dA,{asChild:!0,children:(0,f.jsxs)(dT,{variant:"outline",size:"sm",children:["Query Templates",(0,f.jsx)(o,{className:"ml-2 h-4 w-4"})]})}),(0,f.jsx)(dP,{align:"start",className:"w-72",children:Object.entries(fn).map(([b,c])=>(0,f.jsxs)(i().Fragment,{children:[(0,f.jsx)("div",{className:"px-2 py-1.5 text-sm font-semibold text-neutral-900 font-sans",children:b}),c.map(b=>(0,f.jsx)(dQ,{onClick:()=>a(b),className:"font-sans text-neutral-800",children:b},b))]},b))})]})}function fp({initialQuery:a=""}){let{executeQuery:b,refreshTables:c}=(0,dR.t)(),[d,e]=(0,g.useState)(null),[h,i]=(0,g.useState)(!1),[j,k]=(0,g.useState)(300),[l,m]=(0,g.useState)(!1),n=(0,g.useRef)(null),o=(0,g.useRef)(null),p=(0,g.useCallback)(a=>{a.preventDefault();let b=a.pageY,c=a=>{k(Math.min(Math.max(j+(a.pageY-b),100),.8*window.innerHeight))},d=()=>{document.removeEventListener("mousemove",c),document.removeEventListener("mouseup",d)};document.addEventListener("mousemove",c),document.addEventListener("mouseup",d)},[j]),q=async()=>{if(!n.current)return;let a=n.current.getValue().trim().replace(/;+$/,"");if(!a)return void e({success:!1,error:{message:"Query cannot be empty."}});try{i(!0),e(null);let d=await b(a);/^(CREATE|DROP|ALTER)\s+TABLE/i.test(a)&&await c();let f=[];if(d.results){if(Array.isArray(d.results))if(d.results.length>0&&d.results[0]?.columns&&d.results[0]?.values){let a=d.results[0];f=a.values.map(b=>a.columns.reduce((a,c,d)=>(a[c]=b[d],a),{}))}else f=1===d.results.length&&d.results[0].results&&Array.isArray(d.results[0].results)?d.results[0].results:d.results;else if(d.results.columns&&d.results.values){let a=d.results;f=a.values.map(b=>a.columns.reduce((a,c,d)=>(a[c]=b[d],a),{}))}}else if(d.result&&d.result.results){if(Array.isArray(d.result.results))if(d.result.results.length>0&&d.result.results[0]?.columns&&d.result.results[0]?.values){let a=d.result.results[0];f=a.values.map(b=>a.columns.reduce((a,c,d)=>(a[c]=b[d],a),{}))}else f=1===d.result.results.length&&d.result.results[0].results&&Array.isArray(d.result.results[0].results)?d.result.results[0].results:d.result.results;else if(d.result.results.columns&&d.result.results.values){let a=d.result.results;f=a.values.map(b=>a.columns.reduce((a,c,d)=>(a[c]=b[d],a),{}))}}e({success:!0,results:f})}catch(a){e({success:!1,error:fk(a)||{message:"An unknown error occurred",details:{}}})}finally{i(!1)}};return(0,f.jsxs)("div",{className:"h-full flex flex-col bg-white text-neutral-900 font-sans",children:[(0,f.jsx)("div",{className:"px-4 py-2 bg-neutral-100 border-b flex items-center gap-4",children:(0,f.jsx)(fo,{onSelectQuery:a=>{if(n.current){let b=Object.keys(fm).find(b=>b.toLowerCase()===a.toLowerCase());if(b){let a=fm[b];n.current.setValue(a),n.current.focus()}else console.warn(`Query template not found for: ${a}`)}}})}),(0,f.jsx)("div",{ref:o,className:"relative pt-2 overflow-hidden",style:{height:`${j}px`,minHeight:"100px"},children:(0,f.jsx)(fc,{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:a=>{n.current=a,a.addCommand(monaco.KeyMod.CtrlCmd|monaco.KeyCode.Enter,()=>{q()})}})}),(0,f.jsx)("div",{className:`relative h-0.5 cursor-row-resize bg-neutral-200 group ${l?"bg-neutral-300":"hover:bg-neutral-300"}`,onMouseDown:a=>{m(!0),p(a)},onMouseUp:()=>m(!1),children:(0,f.jsx)("div",{className:`absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 bg-neutral-900 rounded-sm px-0.5
|
|
48
|
+
${l?"visible":"invisible group-hover:visible"}`,children:(0,f.jsx)(fd,{className:"h-3 w-3 text-white"})})}),(0,f.jsx)("div",{className:"px-4 py-3 bg-neutral-100 border-b font-sans",children:(0,f.jsxs)("div",{className:"flex justify-between items-center",children:[(0,f.jsx)("h3",{className:"text-sm font-medium",children:"Results"}),(0,f.jsxs)(dT,{size:"sm",onClick:q,disabled:h,className:"flex items-center gap-1 text-sm font-medium",children:["Run",h?(0,f.jsx)(s,{className:"h-4 w-4 animate-spin"}):(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(fe,{className:"h-4 w-4"}),(0,f.jsx)(ff,{className:"h-4 w-4"})]})]})]})}),(0,f.jsx)("div",{className:"flex-1 overflow-auto p-4 bg-white",children:(()=>{if(h)return(0,f.jsxs)("div",{className:"flex items-center text-sm text-neutral-700",children:[(0,f.jsx)(s,{className:"h-4 w-4 animate-spin mr-2 font-sans"}),"Running your query..."]});if(!d)return(0,f.jsx)("div",{className:"text-sm text-neutral-500 font-sans",children:"Run the query to see the results."});if(!d.success)return console.debug("SQLEditor - Rendering error:",d.error),(0,f.jsx)(fh,{error:d.error});let a=d.results;return a&&0!==a.length?(0,f.jsx)(fi,{query:n.current?.getValue()||"",results:a}):(0,f.jsx)("div",{className:"text-sm text-neutral-900 font-sans",children:"Success. No results to display."})})()})]})}function fq(a){let b=g.useRef({value:a,previous:a});return g.useMemo(()=>(b.current.value!==a&&(b.current.previous=b.current.value,b.current.value=a),b.current.previous),[a])}var fr="Checkbox",[fs,ft]=(0,E.A)(fr),[fu,fv]=fs(fr),fw=g.forwardRef((a,b)=>{let{__scopeCheckbox:c,name:d,checked:e,defaultChecked:h,required:i,disabled:j,value:k="on",onCheckedChange:l,form:m,...n}=a,[o,p]=g.useState(null),q=(0,D.s)(b,a=>p(a)),r=g.useRef(!1),s=!o||m||!!o.closest("form"),[t=!1,u]=(0,F.i)({prop:e,defaultProp:h,onChange:l}),v=g.useRef(t);return g.useEffect(()=>{let a=o?.form;if(a){let b=()=>u(v.current);return a.addEventListener("reset",b),()=>a.removeEventListener("reset",b)}},[o,u]),(0,f.jsxs)(fu,{scope:c,state:t,disabled:j,children:[(0,f.jsx)(G.sG.button,{type:"button",role:"checkbox","aria-checked":fA(t)?"mixed":t,"aria-required":i,"data-state":fB(t),"data-disabled":j?"":void 0,disabled:j,value:k,...n,ref:q,onKeyDown:(0,C.m)(a.onKeyDown,a=>{"Enter"===a.key&&a.preventDefault()}),onClick:(0,C.m)(a.onClick,a=>{u(a=>!!fA(a)||!a),s&&(r.current=a.isPropagationStopped(),r.current||a.stopPropagation())})}),s&&(0,f.jsx)(fz,{control:o,bubbles:!r.current,name:d,value:k,checked:t,required:i,disabled:j,form:m,style:{transform:"translateX(-100%)"},defaultChecked:!fA(h)&&h})]})});fw.displayName=fr;var fx="CheckboxIndicator",fy=g.forwardRef((a,b)=>{let{__scopeCheckbox:c,forceMount:d,...e}=a,g=fv(fx,c);return(0,f.jsx)(bv.C,{present:d||fA(g.state)||!0===g.state,children:(0,f.jsx)(G.sG.span,{"data-state":fB(g.state),"data-disabled":g.disabled?"":void 0,...e,ref:b,style:{pointerEvents:"none",...a.style}})})});fy.displayName=fx;var fz=a=>{let{control:b,checked:c,bubbles:d=!0,defaultChecked:e,...h}=a,i=g.useRef(null),j=fq(c),k=bb(b);g.useEffect(()=>{let a=i.current,b=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(j!==c&&b){let e=new Event("click",{bubbles:d});a.indeterminate=fA(c),b.call(a,!fA(c)&&c),a.dispatchEvent(e)}},[j,c,d]);let l=g.useRef(!fA(c)&&c);return(0,f.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:e??l.current,...h,tabIndex:-1,ref:i,style:{...a.style,...k,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})};function fA(a){return"indeterminate"===a}function fB(a){return fA(a)?"indeterminate":a?"checked":"unchecked"}let fC=g.forwardRef(({className:a,...b},c)=>(0,f.jsx)(fw,{ref:c,className:(0,w.cn)("peer h-4 w-4 shrink-0 rounded-sm border border-primary shadow focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",a),...b,children:(0,f.jsx)(fy,{className:(0,w.cn)("flex items-center justify-center text-current"),children:(0,f.jsx)(dN,{className:"h-4 w-4"})})}));fC.displayName=fw.displayName;var fD=c(85009),fE=[" ","Enter","ArrowUp","ArrowDown"],fF=[" ","Enter"],fG="Select",[fH,fI,fJ]=(0,H.N)(fG),[fK,fL]=(0,E.A)(fG,[fJ,be]),fM=be(),[fN,fO]=fK(fG),[fP,fQ]=fK(fG),fR=a=>{let{__scopeSelect:b,children:c,open:d,defaultOpen:e,onOpenChange:h,value:i,defaultValue:j,onValueChange:k,dir:l,name:m,autoComplete:n,disabled:o,required:p,form:q}=a,r=fM(b),[s,t]=g.useState(null),[u,v]=g.useState(null),[w,x]=g.useState(!1),y=J(l),[z=!1,A]=(0,F.i)({prop:d,defaultProp:e,onChange:h}),[B,C]=(0,F.i)({prop:i,defaultProp:j,onChange:k}),D=g.useRef(null),E=!s||q||!!s.closest("form"),[G,H]=g.useState(new Set),I=Array.from(G).map(a=>a.props.value).join(";");return(0,f.jsx)(bh,{...r,children:(0,f.jsxs)(fN,{required:p,scope:b,trigger:s,onTriggerChange:t,valueNode:u,onValueNodeChange:v,valueNodeHasChildren:w,onValueNodeHasChildrenChange:x,contentId:_(),value:B,onValueChange:C,open:z,onOpenChange:A,dir:y,triggerPointerDownPosRef:D,disabled:o,children:[(0,f.jsx)(fH.Provider,{scope:b,children:(0,f.jsx)(fP,{scope:a.__scopeSelect,onNativeOptionAdd:g.useCallback(a=>{H(b=>new Set(b).add(a))},[]),onNativeOptionRemove:g.useCallback(a=>{H(b=>{let c=new Set(b);return c.delete(a),c})},[]),children:c})}),E?(0,f.jsxs)(gs,{"aria-hidden":!0,required:p,tabIndex:-1,name:m,autoComplete:n,value:B,onChange:a=>C(a.target.value),disabled:o,form:q,children:[void 0===B?(0,f.jsx)("option",{value:""}):null,Array.from(G)]},I):null]})})};fR.displayName=fG;var fS="SelectTrigger",fT=g.forwardRef((a,b)=>{let{__scopeSelect:c,disabled:d=!1,...e}=a,h=fM(c),i=fO(fS,c),j=i.disabled||d,k=(0,D.s)(b,i.onTriggerChange),l=fI(c),m=g.useRef("touch"),[n,o,p]=gt(a=>{let b=l().filter(a=>!a.disabled),c=b.find(a=>a.value===i.value),d=gu(b,a,c);void 0!==d&&i.onValueChange(d.value)}),q=a=>{j||(i.onOpenChange(!0),p()),a&&(i.triggerPointerDownPosRef.current={x:Math.round(a.pageX),y:Math.round(a.pageY)})};return(0,f.jsx)(bj,{asChild:!0,...h,children:(0,f.jsx)(G.sG.button,{type:"button",role:"combobox","aria-controls":i.contentId,"aria-expanded":i.open,"aria-required":i.required,"aria-autocomplete":"none",dir:i.dir,"data-state":i.open?"open":"closed",disabled:j,"data-disabled":j?"":void 0,"data-placeholder":gr(i.value)?"":void 0,...e,ref:k,onClick:(0,C.m)(e.onClick,a=>{a.currentTarget.focus(),"mouse"!==m.current&&q(a)}),onPointerDown:(0,C.m)(e.onPointerDown,a=>{m.current=a.pointerType;let b=a.target;b.hasPointerCapture(a.pointerId)&&b.releasePointerCapture(a.pointerId),0===a.button&&!1===a.ctrlKey&&"mouse"===a.pointerType&&(q(a),a.preventDefault())}),onKeyDown:(0,C.m)(e.onKeyDown,a=>{let b=""!==n.current;a.ctrlKey||a.altKey||a.metaKey||1!==a.key.length||o(a.key),(!b||" "!==a.key)&&fE.includes(a.key)&&(q(),a.preventDefault())})})})});fT.displayName=fS;var fU="SelectValue",fV=g.forwardRef((a,b)=>{let{__scopeSelect:c,className:d,style:e,children:g,placeholder:h="",...i}=a,j=fO(fU,c),{onValueNodeHasChildrenChange:k}=j,l=void 0!==g,m=(0,D.s)(b,j.onValueNodeChange);return(0,Y.N)(()=>{k(l)},[k,l]),(0,f.jsx)(G.sG.span,{...i,ref:m,style:{pointerEvents:"none"},children:gr(j.value)?(0,f.jsx)(f.Fragment,{children:h}):g})});fV.displayName=fU;var fW=g.forwardRef((a,b)=>{let{__scopeSelect:c,children:d,...e}=a;return(0,f.jsx)(G.sG.span,{"aria-hidden":!0,...e,ref:b,children:d||"▼"})});fW.displayName="SelectIcon";var fX=a=>(0,f.jsx)(bu.Z,{asChild:!0,...a});fX.displayName="SelectPortal";var fY="SelectContent",fZ=g.forwardRef((a,b)=>{let c=fO(fY,a.__scopeSelect),[d,e]=g.useState();return((0,Y.N)(()=>{e(new DocumentFragment)},[]),c.open)?(0,f.jsx)(f0,{...a,ref:b}):d?a4.createPortal((0,f.jsx)(f$,{scope:a.__scopeSelect,children:(0,f.jsx)(fH.Slot,{scope:a.__scopeSelect,children:(0,f.jsx)("div",{children:a.children})})}),d):null});fZ.displayName=fY;var[f$,f_]=fK(fY),f0=g.forwardRef((a,b)=>{let{__scopeSelect:c,position:d="item-aligned",onCloseAutoFocus:e,onEscapeKeyDown:h,onPointerDownOutside:i,side:j,sideOffset:k,align:l,alignOffset:m,arrowPadding:n,collisionBoundary:o,collisionPadding:p,sticky:q,hideWhenDetached:r,avoidCollisions:s,...t}=a,u=fO(fY,c),[v,w]=g.useState(null),[x,y]=g.useState(null),z=(0,D.s)(b,a=>w(a)),[A,B]=g.useState(null),[E,F]=g.useState(null),G=fI(c),[H,I]=g.useState(!1),J=g.useRef(!1);g.useEffect(()=>{if(v)return bT(v)},[v]),M();let L=g.useCallback(a=>{let[b,...c]=G().map(a=>a.ref.current),[d]=c.slice(-1),e=document.activeElement;for(let c of a)if(c===e||(c?.scrollIntoView({block:"nearest"}),c===b&&x&&(x.scrollTop=0),c===d&&x&&(x.scrollTop=x.scrollHeight),c?.focus(),document.activeElement!==e))return},[G,x]),N=g.useCallback(()=>L([A,v]),[L,A,v]);g.useEffect(()=>{H&&N()},[H,N]);let{onOpenChange:O,triggerPointerDownPosRef:P}=u;g.useEffect(()=>{if(v){let a={x:0,y:0},b=b=>{a={x:Math.abs(Math.round(b.pageX)-(P.current?.x??0)),y:Math.abs(Math.round(b.pageY)-(P.current?.y??0))}},c=c=>{a.x<=10&&a.y<=10?c.preventDefault():v.contains(c.target)||O(!1),document.removeEventListener("pointermove",b),P.current=null};return null!==P.current&&(document.addEventListener("pointermove",b),document.addEventListener("pointerup",c,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",b),document.removeEventListener("pointerup",c,{capture:!0})}}},[v,O,P]),g.useEffect(()=>{let a=()=>O(!1);return window.addEventListener("blur",a),window.addEventListener("resize",a),()=>{window.removeEventListener("blur",a),window.removeEventListener("resize",a)}},[O]);let[Q,R]=gt(a=>{let b=G().filter(a=>!a.disabled),c=b.find(a=>a.ref.current===document.activeElement),d=gu(b,a,c);d&&setTimeout(()=>d.ref.current.focus())}),T=g.useCallback((a,b,c)=>{let d=!J.current&&!c;(void 0!==u.value&&u.value===b||d)&&(B(a),d&&(J.current=!0))},[u.value]),U=g.useCallback(()=>v?.focus(),[v]),V=g.useCallback((a,b,c)=>{let d=!J.current&&!c;(void 0!==u.value&&u.value===b||d)&&F(a)},[u.value]),W="popper"===d?f2:f1,X=W===f2?{side:j,sideOffset:k,align:l,alignOffset:m,arrowPadding:n,collisionBoundary:o,collisionPadding:p,sticky:q,hideWhenDetached:r,avoidCollisions:s}:{};return(0,f.jsx)(f$,{scope:c,content:v,viewport:x,onViewportChange:y,itemRefCallback:T,selectedItem:A,onItemLeave:U,itemTextRefCallback:V,focusSelectedItem:N,selectedItemText:E,position:d,isPositioned:H,searchRef:Q,children:(0,f.jsx)(cv,{as:bM.DX,allowPinchZoom:!0,children:(0,f.jsx)(S,{asChild:!0,trapped:u.open,onMountAutoFocus:a=>{a.preventDefault()},onUnmountAutoFocus:(0,C.m)(e,a=>{u.trigger?.focus({preventScroll:!0}),a.preventDefault()}),children:(0,f.jsx)(K.qW,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:h,onPointerDownOutside:i,onFocusOutside:a=>a.preventDefault(),onDismiss:()=>u.onOpenChange(!1),children:(0,f.jsx)(W,{role:"listbox",id:u.contentId,"data-state":u.open?"open":"closed",dir:u.dir,onContextMenu:a=>a.preventDefault(),...t,...X,onPlaced:()=>I(!0),ref:z,style:{display:"flex",flexDirection:"column",outline:"none",...t.style},onKeyDown:(0,C.m)(t.onKeyDown,a=>{let b=a.ctrlKey||a.altKey||a.metaKey;if("Tab"===a.key&&a.preventDefault(),b||1!==a.key.length||R(a.key),["ArrowUp","ArrowDown","Home","End"].includes(a.key)){let b=G().filter(a=>!a.disabled).map(a=>a.ref.current);if(["ArrowUp","End"].includes(a.key)&&(b=b.slice().reverse()),["ArrowUp","ArrowDown"].includes(a.key)){let c=a.target,d=b.indexOf(c);b=b.slice(d+1)}setTimeout(()=>L(b)),a.preventDefault()}})})})})})})});f0.displayName="SelectContentImpl";var f1=g.forwardRef((a,b)=>{let{__scopeSelect:c,onPlaced:d,...e}=a,h=fO(fY,c),i=f_(fY,c),[j,k]=g.useState(null),[l,m]=g.useState(null),n=(0,D.s)(b,a=>m(a)),o=fI(c),p=g.useRef(!1),q=g.useRef(!0),{viewport:r,selectedItem:s,selectedItemText:t,focusSelectedItem:u}=i,v=g.useCallback(()=>{if(h.trigger&&h.valueNode&&j&&l&&r&&s&&t){let a=h.trigger.getBoundingClientRect(),b=l.getBoundingClientRect(),c=h.valueNode.getBoundingClientRect(),e=t.getBoundingClientRect();if("rtl"!==h.dir){let d=e.left-b.left,f=c.left-d,g=a.left-f,h=a.width+g,i=Math.max(h,b.width),k=dU(f,[10,Math.max(10,window.innerWidth-10-i)]);j.style.minWidth=h+"px",j.style.left=k+"px"}else{let d=b.right-e.right,f=window.innerWidth-c.right-d,g=window.innerWidth-a.right-f,h=a.width+g,i=Math.max(h,b.width),k=dU(f,[10,Math.max(10,window.innerWidth-10-i)]);j.style.minWidth=h+"px",j.style.right=k+"px"}let f=o(),g=window.innerHeight-20,i=r.scrollHeight,k=window.getComputedStyle(l),m=parseInt(k.borderTopWidth,10),n=parseInt(k.paddingTop,10),q=parseInt(k.borderBottomWidth,10),u=m+n+i+parseInt(k.paddingBottom,10)+q,v=Math.min(5*s.offsetHeight,u),w=window.getComputedStyle(r),x=parseInt(w.paddingTop,10),y=parseInt(w.paddingBottom,10),z=a.top+a.height/2-10,A=s.offsetHeight/2,B=m+n+(s.offsetTop+A);if(B<=z){let a=f.length>0&&s===f[f.length-1].ref.current;j.style.bottom="0px";let b=Math.max(g-z,A+(a?y:0)+(l.clientHeight-r.offsetTop-r.offsetHeight)+q);j.style.height=B+b+"px"}else{let a=f.length>0&&s===f[0].ref.current;j.style.top="0px";let b=Math.max(z,m+r.offsetTop+(a?x:0)+A);j.style.height=b+(u-B)+"px",r.scrollTop=B-z+r.offsetTop}j.style.margin="10px 0",j.style.minHeight=v+"px",j.style.maxHeight=g+"px",d?.(),requestAnimationFrame(()=>p.current=!0)}},[o,h.trigger,h.valueNode,j,l,r,s,t,h.dir,d]);(0,Y.N)(()=>v(),[v]);let[w,x]=g.useState();(0,Y.N)(()=>{l&&x(window.getComputedStyle(l).zIndex)},[l]);let y=g.useCallback(a=>{a&&!0===q.current&&(v(),u?.(),q.current=!1)},[v,u]);return(0,f.jsx)(f3,{scope:c,contentWrapper:j,shouldExpandOnScrollRef:p,onScrollButtonChange:y,children:(0,f.jsx)("div",{ref:k,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:w},children:(0,f.jsx)(G.sG.div,{...e,ref:n,style:{boxSizing:"border-box",maxHeight:"100%",...e.style}})})})});f1.displayName="SelectItemAlignedPosition";var f2=g.forwardRef((a,b)=>{let{__scopeSelect:c,align:d="start",collisionPadding:e=10,...g}=a,h=fM(c);return(0,f.jsx)(bn,{...h,...g,ref:b,align:d,collisionPadding:e,style:{boxSizing:"border-box",...g.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)"}})});f2.displayName="SelectPopperPosition";var[f3,f4]=fK(fY,{}),f5="SelectViewport",f6=g.forwardRef((a,b)=>{let{__scopeSelect:c,nonce:d,...e}=a,h=f_(f5,c),i=f4(f5,c),j=(0,D.s)(b,h.onViewportChange),k=g.useRef(0);return(0,f.jsxs)(f.Fragment,{children:[(0,f.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:d}),(0,f.jsx)(fH.Slot,{scope:c,children:(0,f.jsx)(G.sG.div,{"data-radix-select-viewport":"",role:"presentation",...e,ref:j,style:{position:"relative",flex:1,overflow:"hidden auto",...e.style},onScroll:(0,C.m)(e.onScroll,a=>{let b=a.currentTarget,{contentWrapper:c,shouldExpandOnScrollRef:d}=i;if(d?.current&&c){let a=Math.abs(k.current-b.scrollTop);if(a>0){let d=window.innerHeight-20,e=Math.max(parseFloat(c.style.minHeight),parseFloat(c.style.height));if(e<d){let f=e+a,g=Math.min(d,f),h=f-g;c.style.height=g+"px","0px"===c.style.bottom&&(b.scrollTop=h>0?h:0,c.style.justifyContent="flex-end")}}}k.current=b.scrollTop})})})]})});f6.displayName=f5;var f7="SelectGroup",[f8,f9]=fK(f7);g.forwardRef((a,b)=>{let{__scopeSelect:c,...d}=a,e=_();return(0,f.jsx)(f8,{scope:c,id:e,children:(0,f.jsx)(G.sG.div,{role:"group","aria-labelledby":e,...d,ref:b})})}).displayName=f7;var ga="SelectLabel",gb=g.forwardRef((a,b)=>{let{__scopeSelect:c,...d}=a,e=f9(ga,c);return(0,f.jsx)(G.sG.div,{id:e.id,...d,ref:b})});gb.displayName=ga;var gc="SelectItem",[gd,ge]=fK(gc),gf=g.forwardRef((a,b)=>{let{__scopeSelect:c,value:d,disabled:e=!1,textValue:h,...i}=a,j=fO(gc,c),k=f_(gc,c),l=j.value===d,[m,n]=g.useState(h??""),[o,p]=g.useState(!1),q=(0,D.s)(b,a=>k.itemRefCallback?.(a,d,e)),r=_(),s=g.useRef("touch"),t=()=>{e||(j.onValueChange(d),j.onOpenChange(!1))};if(""===d)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,f.jsx)(gd,{scope:c,value:d,disabled:e,textId:r,isSelected:l,onItemTextChange:g.useCallback(a=>{n(b=>b||(a?.textContent??"").trim())},[]),children:(0,f.jsx)(fH.ItemSlot,{scope:c,value:d,disabled:e,textValue:m,children:(0,f.jsx)(G.sG.div,{role:"option","aria-labelledby":r,"data-highlighted":o?"":void 0,"aria-selected":l&&o,"data-state":l?"checked":"unchecked","aria-disabled":e||void 0,"data-disabled":e?"":void 0,tabIndex:e?void 0:-1,...i,ref:q,onFocus:(0,C.m)(i.onFocus,()=>p(!0)),onBlur:(0,C.m)(i.onBlur,()=>p(!1)),onClick:(0,C.m)(i.onClick,()=>{"mouse"!==s.current&&t()}),onPointerUp:(0,C.m)(i.onPointerUp,()=>{"mouse"===s.current&&t()}),onPointerDown:(0,C.m)(i.onPointerDown,a=>{s.current=a.pointerType}),onPointerMove:(0,C.m)(i.onPointerMove,a=>{s.current=a.pointerType,e?k.onItemLeave?.():"mouse"===s.current&&a.currentTarget.focus({preventScroll:!0})}),onPointerLeave:(0,C.m)(i.onPointerLeave,a=>{a.currentTarget===document.activeElement&&k.onItemLeave?.()}),onKeyDown:(0,C.m)(i.onKeyDown,a=>{(k.searchRef?.current===""||" "!==a.key)&&(fF.includes(a.key)&&t()," "===a.key&&a.preventDefault())})})})})});gf.displayName=gc;var gg="SelectItemText",gh=g.forwardRef((a,b)=>{let{__scopeSelect:c,className:d,style:e,...h}=a,i=fO(gg,c),j=f_(gg,c),k=ge(gg,c),l=fQ(gg,c),[m,n]=g.useState(null),o=(0,D.s)(b,a=>n(a),k.onItemTextChange,a=>j.itemTextRefCallback?.(a,k.value,k.disabled)),p=m?.textContent,q=g.useMemo(()=>(0,f.jsx)("option",{value:k.value,disabled:k.disabled,children:p},k.value),[k.disabled,k.value,p]),{onNativeOptionAdd:r,onNativeOptionRemove:s}=l;return(0,Y.N)(()=>(r(q),()=>s(q)),[r,s,q]),(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(G.sG.span,{id:k.textId,...h,ref:o}),k.isSelected&&i.valueNode&&!i.valueNodeHasChildren?a4.createPortal(h.children,i.valueNode):null]})});gh.displayName=gg;var gi="SelectItemIndicator",gj=g.forwardRef((a,b)=>{let{__scopeSelect:c,...d}=a;return ge(gi,c).isSelected?(0,f.jsx)(G.sG.span,{"aria-hidden":!0,...d,ref:b}):null});gj.displayName=gi;var gk="SelectScrollUpButton",gl=g.forwardRef((a,b)=>{let c=f_(gk,a.__scopeSelect),d=f4(gk,a.__scopeSelect),[e,h]=g.useState(!1),i=(0,D.s)(b,d.onScrollButtonChange);return(0,Y.N)(()=>{if(c.viewport&&c.isPositioned){let a=function(){h(b.scrollTop>0)},b=c.viewport;return a(),b.addEventListener("scroll",a),()=>b.removeEventListener("scroll",a)}},[c.viewport,c.isPositioned]),e?(0,f.jsx)(go,{...a,ref:i,onAutoScroll:()=>{let{viewport:a,selectedItem:b}=c;a&&b&&(a.scrollTop=a.scrollTop-b.offsetHeight)}}):null});gl.displayName=gk;var gm="SelectScrollDownButton",gn=g.forwardRef((a,b)=>{let c=f_(gm,a.__scopeSelect),d=f4(gm,a.__scopeSelect),[e,h]=g.useState(!1),i=(0,D.s)(b,d.onScrollButtonChange);return(0,Y.N)(()=>{if(c.viewport&&c.isPositioned){let a=function(){let a=b.scrollHeight-b.clientHeight;h(Math.ceil(b.scrollTop)<a)},b=c.viewport;return a(),b.addEventListener("scroll",a),()=>b.removeEventListener("scroll",a)}},[c.viewport,c.isPositioned]),e?(0,f.jsx)(go,{...a,ref:i,onAutoScroll:()=>{let{viewport:a,selectedItem:b}=c;a&&b&&(a.scrollTop=a.scrollTop+b.offsetHeight)}}):null});gn.displayName=gm;var go=g.forwardRef((a,b)=>{let{__scopeSelect:c,onAutoScroll:d,...e}=a,h=f_("SelectScrollButton",c),i=g.useRef(null),j=fI(c),k=g.useCallback(()=>{null!==i.current&&(window.clearInterval(i.current),i.current=null)},[]);return g.useEffect(()=>()=>k(),[k]),(0,Y.N)(()=>{let a=j().find(a=>a.ref.current===document.activeElement);a?.ref.current?.scrollIntoView({block:"nearest"})},[j]),(0,f.jsx)(G.sG.div,{"aria-hidden":!0,...e,ref:b,style:{flexShrink:0,...e.style},onPointerDown:(0,C.m)(e.onPointerDown,()=>{null===i.current&&(i.current=window.setInterval(d,50))}),onPointerMove:(0,C.m)(e.onPointerMove,()=>{h.onItemLeave?.(),null===i.current&&(i.current=window.setInterval(d,50))}),onPointerLeave:(0,C.m)(e.onPointerLeave,()=>{k()})})}),gp=g.forwardRef((a,b)=>{let{__scopeSelect:c,...d}=a;return(0,f.jsx)(G.sG.div,{"aria-hidden":!0,...d,ref:b})});gp.displayName="SelectSeparator";var gq="SelectArrow";function gr(a){return""===a||void 0===a}g.forwardRef((a,b)=>{let{__scopeSelect:c,...d}=a,e=fM(c),g=fO(gq,c),h=f_(gq,c);return g.open&&"popper"===h.position?(0,f.jsx)(bq,{...e,...d,ref:b}):null}).displayName=gq;var gs=g.forwardRef((a,b)=>{let{value:c,...d}=a,e=g.useRef(null),h=(0,D.s)(b,e),i=fq(c);return g.useEffect(()=>{let a=e.current,b=Object.getOwnPropertyDescriptor(window.HTMLSelectElement.prototype,"value").set;if(i!==c&&b){let d=new Event("change",{bubbles:!0});b.call(a,c),a.dispatchEvent(d)}},[i,c]),(0,f.jsx)(fD.s,{asChild:!0,children:(0,f.jsx)("select",{...d,ref:h,defaultValue:c})})});function gt(a){let b=(0,O.c)(a),c=g.useRef(""),d=g.useRef(0),e=g.useCallback(a=>{let e=c.current+a;b(e),function a(b){c.current=b,window.clearTimeout(d.current),""!==b&&(d.current=window.setTimeout(()=>a(""),1e3))}(e)},[b]),f=g.useCallback(()=>{c.current="",window.clearTimeout(d.current)},[]);return g.useEffect(()=>()=>window.clearTimeout(d.current),[]),[c,e,f]}function gu(a,b,c){var d,e;let f=b.length>1&&Array.from(b).every(a=>a===b[0])?b[0]:b,g=c?a.indexOf(c):-1,h=(d=a,e=Math.max(g,0),d.map((a,b)=>d[(e+b)%d.length]));1===f.length&&(h=h.filter(a=>a!==c));let i=h.find(a=>a.textValue.toLowerCase().startsWith(f.toLowerCase()));return i!==c?i:void 0}gs.displayName="BubbleSelect";let gv=(0,k.A)("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]),gw=g.forwardRef(({className:a,children:b,...c},d)=>(0,f.jsxs)(fT,{ref:d,className:(0,w.cn)("flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",a),...c,children:[b,(0,f.jsx)(fW,{asChild:!0,children:(0,f.jsx)(o,{className:"h-4 w-4 opacity-50"})})]}));gw.displayName=fT.displayName;let gx=g.forwardRef(({className:a,...b},c)=>(0,f.jsx)(gl,{ref:c,className:(0,w.cn)("flex cursor-default items-center justify-center py-1",a),...b,children:(0,f.jsx)(gv,{className:"h-4 w-4"})}));gx.displayName=gl.displayName;let gy=g.forwardRef(({className:a,...b},c)=>(0,f.jsx)(gn,{ref:c,className:(0,w.cn)("flex cursor-default items-center justify-center py-1",a),...b,children:(0,f.jsx)(o,{className:"h-4 w-4"})}));gy.displayName=gn.displayName;let gz=g.forwardRef(({className:a,children:b,position:c="popper",...d},e)=>(0,f.jsx)(fX,{children:(0,f.jsxs)(fZ,{ref:e,className:(0,w.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"===c&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",a),position:c,...d,children:[(0,f.jsx)(gx,{}),(0,f.jsx)(f6,{className:(0,w.cn)("p-1","popper"===c&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:b}),(0,f.jsx)(gy,{})]})}));gz.displayName=fZ.displayName,g.forwardRef(({className:a,...b},c)=>(0,f.jsx)(gb,{ref:c,className:(0,w.cn)("px-2 py-1.5 text-sm font-semibold",a),...b})).displayName=gb.displayName;let gA=g.forwardRef(({className:a,children:b,...c},d)=>(0,f.jsxs)(gf,{ref:d,className:(0,w.cn)("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),...c,children:[(0,f.jsx)("span",{className:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,f.jsx)(gj,{children:(0,f.jsx)(dN,{className:"h-4 w-4"})})}),(0,f.jsx)(gh,{children:b})]}));gA.displayName=gf.displayName,g.forwardRef(({className:a,...b},c)=>(0,f.jsx)(gp,{ref:c,className:(0,w.cn)("-mx-1 my-1 h-px bg-muted",a),...b})).displayName=gp.displayName;let gB=(0,k.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"}]]),gC=(0,k.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"}]]),gD=(0,k.A)("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]),gE=(0,k.A)("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);var[gF,gG]=(0,E.A)("Tooltip",[be]),gH=be(),gI="TooltipProvider",gJ="tooltip.open",[gK,gL]=gF(gI),gM=a=>{let{__scopeTooltip:b,delayDuration:c=700,skipDelayDuration:d=300,disableHoverableContent:e=!1,children:h}=a,[i,j]=g.useState(!0),k=g.useRef(!1),l=g.useRef(0);return g.useEffect(()=>{let a=l.current;return()=>window.clearTimeout(a)},[]),(0,f.jsx)(gK,{scope:b,isOpenDelayed:i,delayDuration:c,onOpen:g.useCallback(()=>{window.clearTimeout(l.current),j(!1)},[]),onClose:g.useCallback(()=>{window.clearTimeout(l.current),l.current=window.setTimeout(()=>j(!0),d)},[d]),isPointerInTransitRef:k,onPointerInTransitChange:g.useCallback(a=>{k.current=a},[]),disableHoverableContent:e,children:h})};gM.displayName=gI;var gN="Tooltip",[gO,gP]=gF(gN),gQ=a=>{let{__scopeTooltip:b,children:c,open:d,defaultOpen:e=!1,onOpenChange:h,disableHoverableContent:i,delayDuration:j}=a,k=gL(gN,a.__scopeTooltip),l=gH(b),[m,n]=g.useState(null),o=_(),p=g.useRef(0),q=i??k.disableHoverableContent,r=j??k.delayDuration,s=g.useRef(!1),[t=!1,u]=(0,F.i)({prop:d,defaultProp:e,onChange:a=>{a?(k.onOpen(),document.dispatchEvent(new CustomEvent(gJ))):k.onClose(),h?.(a)}}),v=g.useMemo(()=>t?s.current?"delayed-open":"instant-open":"closed",[t]),w=g.useCallback(()=>{window.clearTimeout(p.current),p.current=0,s.current=!1,u(!0)},[u]),x=g.useCallback(()=>{window.clearTimeout(p.current),p.current=0,u(!1)},[u]),y=g.useCallback(()=>{window.clearTimeout(p.current),p.current=window.setTimeout(()=>{s.current=!0,u(!0),p.current=0},r)},[r,u]);return g.useEffect(()=>()=>{p.current&&(window.clearTimeout(p.current),p.current=0)},[]),(0,f.jsx)(bh,{...l,children:(0,f.jsx)(gO,{scope:b,contentId:o,open:t,stateAttribute:v,trigger:m,onTriggerChange:n,onTriggerEnter:g.useCallback(()=>{k.isOpenDelayed?y():w()},[k.isOpenDelayed,y,w]),onTriggerLeave:g.useCallback(()=>{q?x():(window.clearTimeout(p.current),p.current=0)},[x,q]),onOpen:w,onClose:x,disableHoverableContent:q,children:c})})};gQ.displayName=gN;var gR="TooltipTrigger",gS=g.forwardRef((a,b)=>{let{__scopeTooltip:c,...d}=a,e=gP(gR,c),h=gL(gR,c),i=gH(c),j=g.useRef(null),k=(0,D.s)(b,j,e.onTriggerChange),l=g.useRef(!1),m=g.useRef(!1),n=g.useCallback(()=>l.current=!1,[]);return g.useEffect(()=>()=>document.removeEventListener("pointerup",n),[n]),(0,f.jsx)(bj,{asChild:!0,...i,children:(0,f.jsx)(G.sG.button,{"aria-describedby":e.open?e.contentId:void 0,"data-state":e.stateAttribute,...d,ref:k,onPointerMove:(0,C.m)(a.onPointerMove,a=>{"touch"!==a.pointerType&&(m.current||h.isPointerInTransitRef.current||(e.onTriggerEnter(),m.current=!0))}),onPointerLeave:(0,C.m)(a.onPointerLeave,()=>{e.onTriggerLeave(),m.current=!1}),onPointerDown:(0,C.m)(a.onPointerDown,()=>{l.current=!0,document.addEventListener("pointerup",n,{once:!0})}),onFocus:(0,C.m)(a.onFocus,()=>{l.current||e.onOpen()}),onBlur:(0,C.m)(a.onBlur,e.onClose),onClick:(0,C.m)(a.onClick,e.onClose)})})});gS.displayName=gR;var gT="TooltipPortal",[gU,gV]=gF(gT,{forceMount:void 0}),gW=a=>{let{__scopeTooltip:b,forceMount:c,children:d,container:e}=a,g=gP(gT,b);return(0,f.jsx)(gU,{scope:b,forceMount:c,children:(0,f.jsx)(bv.C,{present:c||g.open,children:(0,f.jsx)(bu.Z,{asChild:!0,container:e,children:d})})})};gW.displayName=gT;var gX="TooltipContent",gY=g.forwardRef((a,b)=>{let c=gV(gX,a.__scopeTooltip),{forceMount:d=c.forceMount,side:e="top",...g}=a,h=gP(gX,a.__scopeTooltip);return(0,f.jsx)(bv.C,{present:d||h.open,children:h.disableHoverableContent?(0,f.jsx)(g0,{side:e,...g,ref:b}):(0,f.jsx)(gZ,{side:e,...g,ref:b})})}),gZ=g.forwardRef((a,b)=>{let c=gP(gX,a.__scopeTooltip),d=gL(gX,a.__scopeTooltip),e=g.useRef(null),h=(0,D.s)(b,e),[i,j]=g.useState(null),{trigger:k,onClose:l}=c,m=e.current,{onPointerInTransitChange:n}=d,o=g.useCallback(()=>{j(null),n(!1)},[n]),p=g.useCallback((a,b)=>{let c=a.currentTarget,d={x:a.clientX,y:a.clientY},e=function(a,b){let c=Math.abs(b.top-a.y),d=Math.abs(b.bottom-a.y),e=Math.abs(b.right-a.x),f=Math.abs(b.left-a.x);switch(Math.min(c,d,e,f)){case f:return"left";case e:return"right";case c:return"top";case d:return"bottom";default:throw Error("unreachable")}}(d,c.getBoundingClientRect());j(function(a){let b=a.slice();return b.sort((a,b)=>a.x<b.x?-1:a.x>b.x?1:a.y<b.y?-1:1*!!(a.y>b.y)),function(a){if(a.length<=1)return a.slice();let b=[];for(let c=0;c<a.length;c++){let d=a[c];for(;b.length>=2;){let a=b[b.length-1],c=b[b.length-2];if((a.x-c.x)*(d.y-c.y)>=(a.y-c.y)*(d.x-c.x))b.pop();else break}b.push(d)}b.pop();let c=[];for(let b=a.length-1;b>=0;b--){let d=a[b];for(;c.length>=2;){let a=c[c.length-1],b=c[c.length-2];if((a.x-b.x)*(d.y-b.y)>=(a.y-b.y)*(d.x-b.x))c.pop();else break}c.push(d)}return(c.pop(),1===b.length&&1===c.length&&b[0].x===c[0].x&&b[0].y===c[0].y)?b:b.concat(c)}(b)}([...function(a,b,c=5){let d=[];switch(b){case"top":d.push({x:a.x-c,y:a.y+c},{x:a.x+c,y:a.y+c});break;case"bottom":d.push({x:a.x-c,y:a.y-c},{x:a.x+c,y:a.y-c});break;case"left":d.push({x:a.x+c,y:a.y-c},{x:a.x+c,y:a.y+c});break;case"right":d.push({x:a.x-c,y:a.y-c},{x:a.x-c,y:a.y+c})}return d}(d,e),...function(a){let{top:b,right:c,bottom:d,left:e}=a;return[{x:e,y:b},{x:c,y:b},{x:c,y:d},{x:e,y:d}]}(b.getBoundingClientRect())])),n(!0)},[n]);return g.useEffect(()=>()=>o(),[o]),g.useEffect(()=>{if(k&&m){let a=a=>p(a,m),b=a=>p(a,k);return k.addEventListener("pointerleave",a),m.addEventListener("pointerleave",b),()=>{k.removeEventListener("pointerleave",a),m.removeEventListener("pointerleave",b)}}},[k,m,p,o]),g.useEffect(()=>{if(i){let a=a=>{let b=a.target,c={x:a.clientX,y:a.clientY},d=k?.contains(b)||m?.contains(b),e=!function(a,b){let{x:c,y:d}=a,e=!1;for(let a=0,f=b.length-1;a<b.length;f=a++){let g=b[a].x,h=b[a].y,i=b[f].x,j=b[f].y;h>d!=j>d&&c<(i-g)*(d-h)/(j-h)+g&&(e=!e)}return e}(c,i);d?o():e&&(o(),l())};return document.addEventListener("pointermove",a),()=>document.removeEventListener("pointermove",a)}},[k,m,i,l,o]),(0,f.jsx)(g0,{...a,ref:h})}),[g$,g_]=gF(gN,{isInside:!1}),g0=g.forwardRef((a,b)=>{let{__scopeTooltip:c,children:d,"aria-label":e,onEscapeKeyDown:h,onPointerDownOutside:i,...j}=a,k=gP(gX,c),l=gH(c),{onClose:m}=k;return g.useEffect(()=>(document.addEventListener(gJ,m),()=>document.removeEventListener(gJ,m)),[m]),g.useEffect(()=>{if(k.trigger){let a=a=>{let b=a.target;b?.contains(k.trigger)&&m()};return window.addEventListener("scroll",a,{capture:!0}),()=>window.removeEventListener("scroll",a,{capture:!0})}},[k.trigger,m]),(0,f.jsx)(K.qW,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:h,onPointerDownOutside:i,onFocusOutside:a=>a.preventDefault(),onDismiss:m,children:(0,f.jsxs)(bn,{"data-state":k.stateAttribute,...l,...j,ref:b,style:{...j.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,f.jsx)(bM.xV,{children:d}),(0,f.jsx)(g$,{scope:c,isInside:!0,children:(0,f.jsx)(fD.b,{id:k.contentId,role:"tooltip",children:e||d})})]})})});gY.displayName=gX;var g1="TooltipArrow";g.forwardRef((a,b)=>{let{__scopeTooltip:c,...d}=a,e=gH(c);return g_(g1,c).isInside?null:(0,f.jsx)(bq,{...e,...d,ref:b})}).displayName=g1;let g2=g.forwardRef(({className:a,sideOffset:b=4,...c},d)=>(0,f.jsx)(gW,{children:(0,f.jsx)(gY,{ref:d,sideOffset:b,className:(0,w.cn)("z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a),...c})}));g2.displayName=gY.displayName;let g3=(0,k.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"}]]),g4=(0,g.memo)(({onRefresh:a,disabled:b})=>{let[c,d]=(0,g.useState)(!1),e=async()=>{if(!c&&!b){d(!0);try{await a()}catch(a){console.error("Refresh failed:",a)}finally{setTimeout(()=>{d(!1)},500)}}};return(0,f.jsx)(gM,{children:(0,f.jsxs)(gQ,{children:[(0,f.jsx)(gS,{asChild:!0,children:(0,f.jsx)(dT,{variant:"outline",size:"icon",onClick:e,disabled:c||b,className:"h-8",children:c?(0,f.jsx)(s,{className:"h-4 w-4 animate-spin"}):(0,f.jsx)(g3,{className:"h-4 w-4"})})}),(0,f.jsx)(g2,{children:(0,f.jsx)("p",{children:"Refresh table data"})})]})})});g4.displayName="RefreshButton";let g5=(0,k.A)("FolderSync",[["path",{d:"M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v.5",key:"1dkoa9"}],["path",{d:"M12 10v4h4",key:"1czhmt"}],["path",{d:"m12 14 1.535-1.605a5 5 0 0 1 8 1.5",key:"lvuxfi"}],["path",{d:"M22 22v-4h-4",key:"1ewp4q"}],["path",{d:"m22 18-1.535 1.605a5 5 0 0 1-8-1.5",key:"14ync0"}]]);var g6=c(99728);let g7=(0,g.memo)(({tableName:a,onSync:b})=>{let[c,d]=(0,g.useState)(!1),{toast:e}=(0,g6.dj)();if("d1_migrations"!==a)return null;let h=async()=>{try{d(!0);let a=await fetch("/api/migrations/sync-files",{method:"POST"}),c=await a.json();if(!a.ok)throw Error(c.error||"Failed to sync migrations");let{added:f=[],removed:g=[]}=c.details||{};e({title:"Migrations Synced",description:`Added: ${f.length}, Removed: ${g.length}`}),b&&await b()}catch(a){console.error("Error syncing migrations:",a),e({variant:"destructive",title:"Sync Failed",description:a.message})}finally{d(!1)}};return(0,f.jsx)(gM,{children:(0,f.jsxs)(gQ,{children:[(0,f.jsx)(gS,{asChild:!0,children:(0,f.jsx)(dT,{variant:"outline",size:"icon",onClick:h,disabled:c,className:"h-8",children:c?(0,f.jsx)(s,{className:"h-4 w-4 animate-spin"}):(0,f.jsx)(g5,{className:"h-4 w-4"})})}),(0,f.jsx)(g2,{children:(0,f.jsx)("p",{children:"Sync migration files with d1_migrations table"})})]})})});g7.displayName="SyncMigrationsButton";let g8=(0,k.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"}]]),g9=(0,k.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"}]]),ha=(0,k.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"}]]),hb=(0,k.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"}]]),hc=(0,g.memo)(({tableName:a,onDownloadStart:b,onDownloadComplete:c,disabled:d})=>{let[e,h]=(0,g.useState)(!1),{toast:i}=(0,g6.dj)(),j=(a,b)=>{try{let c=new Blob([a],{type:"application/octet-stream"}),d=window.URL.createObjectURL(c),e=document.createElement("a");e.href=d,e.download=b,document.body.appendChild(e),e.click(),document.body.removeChild(e),window.URL.revokeObjectURL(d)}catch(a){throw console.error("Error during file download:",a),a}},k=async e=>{if(!d)try{h(!0),b?.();let d=await fetch(`/api/tables/${a}?export=true&page=1&limit=999999`),f=await d.json();if(!d.ok)throw Error(f.error||"Failed to fetch data");let{data:g,schema:k}=f;if(!g?.length)return void i({title:"No Data",description:"The table is empty.",variant:"destructive"});let l=new Date().toISOString().split("T")[0],m=`${a}_${l}.${e}`;switch(e){case"json":{let a=JSON.stringify(g,null,2);j(a,m);break}case"csv":{let a=Object.keys(g[0]),b=[a.join(","),...g.map(b=>a.map(a=>{let c=b[a];if(null==c)return"";if("string"==typeof c){let a=c.replace(/"/g,'""');return`"${a}"`}return c}).join(","))].join("\n");j(b,m);break}case"sql":{let b=`CREATE TABLE IF NOT EXISTS ${a} (
|
|
49
|
+
`+k.map(a=>{let b=[];return a.pk&&b.push("PRIMARY KEY"),a.notnull||b.push("NOT NULL"),` ${a.name} ${a.type}${b.length?` ${b.join(" ")}`:""}`}).join(",\n")+"\n);\n\n",c=g.map(b=>{let c=Object.keys(b),d=c.map(a=>{let c=b[a];return null===c?"NULL":"string"==typeof c?`'${c.replace(/'/g,"''")}'`:c});return`INSERT INTO ${a} (${c.join(", ")})
|
|
50
|
+
VALUES (${d.join(", ")});`}).join("\n");j(b+c,m)}}i({title:"Download Complete",description:`${g.length} rows exported as ${e.toUpperCase()}.`}),c?.()}catch(a){console.error("Download error:",a),i({variant:"destructive",title:"Download Failed",description:a.message})}finally{h(!1)}};return(0,f.jsxs)(dy,{children:[(0,f.jsx)(gM,{children:(0,f.jsxs)(gQ,{children:[(0,f.jsx)(gS,{asChild:!0,children:(0,f.jsx)(dA,{asChild:!0,children:(0,f.jsx)(dT,{variant:"outline",size:"icon",className:"h-8",disabled:e||d,children:e?(0,f.jsx)(s,{className:"h-4 w-4 animate-spin"}):(0,f.jsx)(g8,{className:"h-4 w-4"})})})}),(0,f.jsx)(g2,{children:(0,f.jsx)("p",{children:"Download table data"})})]})}),(0,f.jsxs)(dP,{align:"end",children:[(0,f.jsxs)(dQ,{onClick:()=>k("json"),disabled:d,children:[(0,f.jsx)(g9,{className:"mr-2 h-4 w-4"}),(0,f.jsx)("span",{children:"Download JSON"})]}),(0,f.jsxs)(dQ,{onClick:()=>k("csv"),disabled:d,children:[(0,f.jsx)(ha,{className:"mr-2 h-4 w-4"}),(0,f.jsx)("span",{children:"Download CSV"})]}),(0,f.jsxs)(dQ,{onClick:()=>k("sql"),disabled:d,children:[(0,f.jsx)(hb,{className:"mr-2 h-4 w-4"}),(0,f.jsx)("span",{children:"Download SQL"})]})]})]})});hc.displayName="DownloadButton";let hd=(0,k.A)("Columns2",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M12 3v18",key:"108xh3"}]]),he=function({schema:a=[],visibleColumns:b=[],onColumnToggle:c}){let[d,e]=(0,g.useState)(""),h=a.filter(a=>a.name.toLowerCase().includes(d.toLowerCase())),i=h.map(a=>a.name),j=i.length>0&&i.every(a=>b.includes(a));return(0,f.jsxs)(dy,{children:[(0,f.jsx)(dA,{asChild:!0,children:(0,f.jsxs)(dT,{size:"sm",variant:"outline",className:"font-semibold",children:[(0,f.jsx)(hd,{className:"h-4 w-4"}),"Columns (",b.length,")"]})}),(0,f.jsxs)(dP,{align:"end",className:"w-64 font-sans",children:[(0,f.jsx)("div",{className:"p-2",children:(0,f.jsx)(x,{placeholder:"Search columns...",value:d,onChange:a=>e(a.target.value),className:"h-8"})}),(0,f.jsxs)("div",{className:"flex items-center space-x-2 px-2 py-1.5 hover:bg-accent rounded-md",children:[(0,f.jsx)(fC,{id:"select-all-columns",checked:j,onCheckedChange:a=>{a?h.forEach(a=>{b.includes(a.name)||c(a.name)}):h.forEach(a=>{b.includes(a.name)&&c(a.name)})},className:"shrink-0"}),(0,f.jsxs)("label",{htmlFor:"select-all-columns",className:"flex-1 cursor-pointer text-sm font-medium",children:["Select All ",d&&"(Filtered)"]})]}),(0,f.jsx)("div",{className:"max-h-[300px] overflow-y-auto",children:h.map(a=>(0,f.jsxs)("div",{className:"flex items-start space-x-2 px-2 py-1.5 hover:bg-accent rounded-md",children:[(0,f.jsx)(fC,{id:`column-${a.name}`,checked:b.includes(a.name),onCheckedChange:()=>{c(a.name)},className:"mt-1"}),(0,f.jsxs)("label",{htmlFor:`column-${a.name}`,className:"flex-1 cursor-pointer",children:[(0,f.jsx)("div",{className:"text-sm font-medium",children:a.name}),(0,f.jsx)("div",{className:"text-xs text-muted-foreground",children:a.type.toLowerCase()})]})]},a.name))})]})]})},hf=(0,g.memo)(({onAdd:a,onDelete:b,onImport:c,selectedCount:d,disabled:e,newRecordsCount:g,schema:h,visibleColumns:i,onColumnToggle:j,showFilters:k,onToggleFilters:l,activeFilterCount:m})=>(0,f.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,f.jsxs)(dT,{size:"sm",variant:k?"default":"outline",className:"font-semibold gap-1",onClick:l,children:[(0,f.jsx)(gB,{className:"h-4 w-4"}),"Filters",m>0&&(0,f.jsx)("span",{className:"ml-0.5 text-[10px] font-bold bg-white text-neutral-800 px-1 py-0 rounded-full",children:m})]}),(0,f.jsx)(he,{schema:h,visibleColumns:i,onColumnToggle:j}),(0,f.jsx)("div",{className:"h-4 border-r mx-2"}),(0,f.jsx)(dT,{size:"sm",variant:"default",className:"font-semibold",onClick:a,children:"Add record"}),(0,f.jsx)(gM,{children:(0,f.jsxs)(gQ,{children:[(0,f.jsx)(gS,{asChild:!0,children:(0,f.jsxs)(dT,{size:"sm",variant:"outline",className:"font-semibold",onClick:c,disabled:e,children:[(0,f.jsx)(gC,{className:"h-4 w-4"}),"Import"]})}),(0,f.jsx)(g2,{children:(0,f.jsx)("p",{children:"Import CSV or JSON"})})]})}),d>0&&(0,f.jsxs)(dT,{size:"sm",className:"font-semibold",onClick:b,variant:"destructive",disabled:e||g>0,children:["Delete ",d," ",1===d?"record":"records"]})]})),hg=(0,g.memo)(({totalRows:a})=>(0,f.jsxs)("span",{className:"text-sm text-neutral-600",children:[a," ",1===a?"row":"rows"]})),hh=(0,g.memo)(({currentPage:a,totalPages:b,onPageChange:c,disabled:d,newRecordsCount:e})=>(0,f.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,f.jsx)(dT,{variant:"ghost",size:"icon",onClick:()=>{console.log("Pagination: navigating to previous page",a-1),c(a-1)},disabled:1===a||d||e>0,className:"h-8",children:(0,f.jsx)(gD,{className:"h-4 w-4"})}),(0,f.jsxs)("span",{className:"text-sm",children:["Page ",a," of ",b]}),(0,f.jsx)(dT,{variant:"ghost",size:"icon",onClick:()=>{console.log("Pagination: navigating to next page",a+1),c(a+1)},disabled:a===b||d||e>0,className:"h-8",children:(0,f.jsx)(gE,{className:"h-4 w-4"})})]})),hi=(0,g.memo)(({value:a,onValueChange:b,disabled:c,newRecordsCount:d})=>(0,f.jsxs)(fR,{value:a.toString(),onValueChange:b,disabled:c||d>0,children:[(0,f.jsx)(gw,{className:"w-20 h-8",children:(0,f.jsx)(fV,{})}),(0,f.jsxs)(gz,{children:[(0,f.jsx)(gA,{value:"50",children:"50"}),(0,f.jsx)(gA,{value:"100",children:"100"}),(0,f.jsx)(gA,{value:"250",children:"250"})]})]})),hj=(0,g.memo)(({onSave:a,onDiscard:b,totalChanges:c,isSaving:d})=>(0,f.jsxs)("div",{className:"flex items-center gap-2",children:[(0,f.jsx)(dT,{size:"sm",variant:"ghost",className:"font-semibold",onClick:b,disabled:d,children:"Discard changes"}),(0,f.jsx)(dT,{size:"sm",className:"font-semibold bg-green-600 hover:bg-green-700",variant:"default",onClick:a,disabled:d,children:d?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(s,{className:"h-4 w-4 animate-spin"}),"Saving..."]}):`Save ${c} ${1===c?"change":"changes"}`})]})),hk=({selectedCount:a=0,onAdd:b,onDelete:c,onImport:d,onRefresh:e,totalRows:g=0,currentPage:h=1,totalPages:i=1,onPageChange:j,rowsPerPage:k=50,onRowsPerPageChange:l,tableName:m,onDownloadStart:n,onDownloadComplete:o,disabled:p=!1,editCount:q=0,newRecordsCount:r=0,onSaveChanges:s,onDiscardChanges:t,isSaving:u=!1,schema:v,visibleColumns:w,onColumnToggle:x,showFilters:y=!1,onToggleFilters:z,activeFilterCount:A=0})=>{let B=q+r;return(0,f.jsx)("div",{className:"flex items-center justify-between p-3 border-b bg-background font-sans",children:(0,f.jsxs)("div",{className:"flex items-center justify-between w-full",children:[(0,f.jsx)(hf,{onAdd:b,onDelete:c,onImport:d,selectedCount:a,disabled:p||u,newRecordsCount:r,schema:v,visibleColumns:w,onColumnToggle:x,showFilters:y,onToggleFilters:z,activeFilterCount:A}),(0,f.jsx)("div",{className:"flex items-center gap-4",children:B>0?(0,f.jsx)(hj,{onSave:s,onDiscard:t,totalChanges:B,isSaving:u}):(0,f.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,f.jsx)(hg,{totalRows:g}),(0,f.jsx)(hh,{currentPage:h,totalPages:i,onPageChange:j,disabled:p,newRecordsCount:r}),(0,f.jsx)(hi,{value:k,onValueChange:a=>{l(parseInt(a,10)),j(1)},disabled:p,newRecordsCount:r}),(0,f.jsx)(g4,{onRefresh:e,disabled:p}),(0,f.jsx)(g7,{tableName:m,onSync:e,disabled:p}),(0,f.jsx)(hc,{tableName:m,onDownloadStart:n,onDownloadComplete:o,disabled:p})]})})]})})};hk.displayName="TableToolbar";let hl=(0,g.memo)(hk);function hm({value:a,row:b,column:c,schema:d,onChange:e,onStartEdit:h,isEditing:i,fkInfo:j,onShowRelation:k}){let l="string"==typeof a?a.replace(/^'|'$/g,""):a,[m,n]=(0,g.useState)(l),[o,p]=(0,g.useState)("auto"),q=(0,g.useRef)(null),r=(0,g.useRef)(null),s=d.find(a=>a.name===c),t=(0,g.useMemo)(()=>s?.check||null,[s]),u=(0,g.useMemo)(()=>{let a=s?.type?.toLowerCase()||"";return"boolean"===a||"bool"===a||"integer"===a&&c.toLowerCase().startsWith("is_")},[s,c]);s?.pk;let v=(0,g.useCallback)(a=>{let b=u?"true"===a?1:"false"===a?0:a:a;n(a),e?.(b)},[e,u]),w=(0,g.useCallback)(()=>{!i&&h&&h(l)},[i,h,l]),y="border-x border-neutral-200 px-3 py-2.5 text-xs font-mono whitespace-nowrap overflow-hidden bg-white",z=(0,g.useMemo)(()=>null==l?"null":u?1===l||"1"===l||"true"===l?"true":"false":l.toString(),[l,u]);return i?u?(0,f.jsx)(ex,{className:`${y} p-0`,style:{width:o},children:(0,f.jsx)("div",{className:"w-full h-full",children:(0,f.jsxs)(fR,{value:z,onValueChange:v,defaultOpen:i,children:[(0,f.jsx)(gw,{className:"w-full h-9 min-w-0 rounded-none border-0 bg-orange-50 text-orange-900",children:(0,f.jsx)(fV,{placeholder:"Select value"})}),(0,f.jsxs)(gz,{className:"min-w-[8rem]",children:[(0,f.jsx)(gA,{value:"true",children:"true"}),(0,f.jsx)(gA,{value:"false",children:"false"})]})]})})}):t?.length>0?(0,f.jsx)(ex,{className:`${y} p-0`,style:{width:o},children:(0,f.jsx)("div",{className:"w-full h-full",children:(0,f.jsxs)(fR,{value:m??t[0],onValueChange:v,defaultOpen:i,children:[(0,f.jsx)(gw,{className:"w-full h-9 min-w-0 rounded-none border-0 bg-orange-50 text-orange-900",children:(0,f.jsx)(fV,{placeholder:`Select ${c}`})}),(0,f.jsx)(gz,{className:"min-w-[8rem]",children:t.map(a=>(0,f.jsx)(gA,{value:a,children:a},a))})]})})}):(0,f.jsx)(ex,{className:`${y} p-0`,style:{width:o},children:(0,f.jsx)(x,{ref:r,value:m??"",onChange:a=>v(a.target.value),className:"w-full min-w-0 rounded-none border-0 bg-orange-50 text-orange-900"})}):(0,f.jsxs)(ex,{ref:q,className:`${y} relative group cursor-pointer hover:bg-muted/50`,onClick:w,children:[z,j&&(0,f.jsx)("button",{className:"absolute right-0.5 top-1/2 -translate-y-1/2 opacity-0 group-hover:opacity-100 rounded p-0.5 bg-white border hover:bg-blue-50 transition-opacity z-10",onClick:a=>{a.stopPropagation(),k?.()},title:`Show related ${j.table}`,children:(0,f.jsx)(gE,{className:"h-3 w-3 text-blue-500"})})]})}let hn=(0,k.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 ho(a){return"string"==typeof a?a.replace(/^'|'$/g,""):a}function hp({schema:a,onRemove:b,onChange:c,showCheckbox:d=!1,initialData:e={}}){let[h,i]=(0,g.useState)(()=>a.reduce((a,b)=>{let c=e[b.name]??null;if(c=ho(c),1===b.pk&&(null===c||""===c))c="INTEGER"===b.type.toUpperCase()?"[Auto-generated INT]":"[Auto-generated]";else if(null===c){let a=b.dflt_value&&"null"!==b.dflt_value?b.dflt_value:null;if(a){let d=ho(a);c=d.includes("randomblob")||d.includes("lower(hex(")?"[Auto-generated UUID]":"INTEGER"===b.type.toUpperCase()&&1===b.pk&&(d.includes("AUTOINCREMENT")||d.includes("AUTO_INCREMENT")||d.includes("nextval")||""===d||"0"===d)?"[Auto-generated INT]":d}else"INTEGER"===b.type.toUpperCase()?c="":"TEXT"===b.type.toUpperCase()&&(c="")}return a[b.name]=c,a},{}));(0,g.useRef)(!1);let j=(a,b)=>{let d={...h,[a]:b};i(d),c?.(d)};return(0,f.jsxs)(ev,{className:"bg-orange-50/50",children:[(0,f.jsx)(ex,{className:"w-10 p-0",children:(0,f.jsx)("div",{className:"pl-1 flex items-center",children:d?(0,f.jsx)(fC,{disabled:!0}):(0,f.jsx)(dT,{variant:"ghost",size:"icon",className:"h-8 w-8 text-orange-700 hover:text-orange-800",onClick:b,children:(0,f.jsx)(hn,{className:"h-4 w-4"})})})}),a.map(a=>{let b=1===a.pk,c=a.check||null;if((a=>{let b=a.type?.toLowerCase()||"";return"boolean"===b||"bool"===b||"integer"===b&&a.name.toLowerCase().startsWith("is_")})(a)){let b="false";if(null!==a.dflt_value&&void 0!==a.dflt_value){let c=a.dflt_value.toString().toLowerCase();b="1"===c||"true"===c||"'true'"===c||'"true"'===c?"true":"false"}let c=null!==h[a.name]&&void 0!==h[a.name]?1===h[a.name]||!0===h[a.name]||"true"===h[a.name]?"true":"false":b;return(0,f.jsx)(ex,{className:"border-x border-neutral-200 p-0",children:(0,f.jsx)("div",{className:"w-full",children:(0,f.jsxs)(fR,{value:c,onValueChange:b=>j(a.name,+("true"===b)),children:[(0,f.jsx)(gw,{className:"w-full h-9 min-w-0 rounded-none border-0 bg-orange-50 text-orange-900",title:`Default: ${b}`,children:(0,f.jsx)(fV,{placeholder:`Select ${a.name}`})}),(0,f.jsxs)(gz,{className:"min-w-[8rem]",children:[(0,f.jsx)(gA,{value:"true",children:"true"}),(0,f.jsx)(gA,{value:"false",children:"false"})]})]})})},a.name)}if(c?.length>0)return(0,f.jsx)(ex,{className:"border-x border-neutral-200 p-0",children:(0,f.jsx)("div",{className:"w-full",children:(0,f.jsxs)(fR,{value:h[a.name]??c[0],onValueChange:b=>j(a.name,b),children:[(0,f.jsx)(gw,{className:"w-full h-9 min-w-0 rounded-none border-0 bg-orange-50 text-orange-900",children:(0,f.jsx)(fV,{placeholder:`Select ${a.name}`})}),(0,f.jsx)(gz,{className:"min-w-[8rem]",children:c.map(a=>(0,f.jsx)(gA,{value:a,children:a},a))})]})})},a.name);let d=b&&("[Auto-generated INT]"===h[a.name]||"[Auto-generated UUID]"===h[a.name]||"[Auto-generated]"===h[a.name]);return(0,f.jsx)(ex,{className:"border-x border-neutral-200 p-0",children:(0,f.jsx)(x,{value:d?"":h[a.name]??"",onChange:b=>j(a.name,b.target.value),disabled:d,className:`w-full min-w-0 rounded-none border-0 px-2 bg-orange-50 text-orange-900 ${d?"opacity-50":""}`,placeholder:d?"Auto-generated":`Enter ${a.name}`})},a.name)})]})}var hq="Dialog",[hr,hs]=(0,E.A)(hq),[ht,hu]=hr(hq),hv=a=>{let{__scopeDialog:b,children:c,open:d,defaultOpen:e,onOpenChange:h,modal:i=!0}=a,j=g.useRef(null),k=g.useRef(null),[l=!1,m]=(0,F.i)({prop:d,defaultProp:e,onChange:h});return(0,f.jsx)(ht,{scope:b,triggerRef:j,contentRef:k,contentId:_(),titleId:_(),descriptionId:_(),open:l,onOpenChange:m,onOpenToggle:g.useCallback(()=>m(a=>!a),[m]),modal:i,children:c})};hv.displayName=hq;var hw="DialogTrigger";g.forwardRef((a,b)=>{let{__scopeDialog:c,...d}=a,e=hu(hw,c),g=(0,D.s)(b,e.triggerRef);return(0,f.jsx)(G.sG.button,{type:"button","aria-haspopup":"dialog","aria-expanded":e.open,"aria-controls":e.contentId,"data-state":hP(e.open),...d,ref:g,onClick:(0,C.m)(a.onClick,e.onOpenToggle)})}).displayName=hw;var hx="DialogPortal",[hy,hz]=hr(hx,{forceMount:void 0}),hA=a=>{let{__scopeDialog:b,forceMount:c,children:d,container:e}=a,h=hu(hx,b);return(0,f.jsx)(hy,{scope:b,forceMount:c,children:g.Children.map(d,a=>(0,f.jsx)(bv.C,{present:c||h.open,children:(0,f.jsx)(bu.Z,{asChild:!0,container:e,children:a})}))})};hA.displayName=hx;var hB="DialogOverlay",hC=g.forwardRef((a,b)=>{let c=hz(hB,a.__scopeDialog),{forceMount:d=c.forceMount,...e}=a,g=hu(hB,a.__scopeDialog);return g.modal?(0,f.jsx)(bv.C,{present:d||g.open,children:(0,f.jsx)(hD,{...e,ref:b})}):null});hC.displayName=hB;var hD=g.forwardRef((a,b)=>{let{__scopeDialog:c,...d}=a,e=hu(hB,c);return(0,f.jsx)(cv,{as:bM.DX,allowPinchZoom:!0,shards:[e.contentRef],children:(0,f.jsx)(G.sG.div,{"data-state":hP(e.open),...d,ref:b,style:{pointerEvents:"auto",...d.style}})})}),hE="DialogContent",hF=g.forwardRef((a,b)=>{let c=hz(hE,a.__scopeDialog),{forceMount:d=c.forceMount,...e}=a,g=hu(hE,a.__scopeDialog);return(0,f.jsx)(bv.C,{present:d||g.open,children:g.modal?(0,f.jsx)(hG,{...e,ref:b}):(0,f.jsx)(hH,{...e,ref:b})})});hF.displayName=hE;var hG=g.forwardRef((a,b)=>{let c=hu(hE,a.__scopeDialog),d=g.useRef(null),e=(0,D.s)(b,c.contentRef,d);return g.useEffect(()=>{let a=d.current;if(a)return bT(a)},[]),(0,f.jsx)(hI,{...a,ref:e,trapFocus:c.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,C.m)(a.onCloseAutoFocus,a=>{a.preventDefault(),c.triggerRef.current?.focus()}),onPointerDownOutside:(0,C.m)(a.onPointerDownOutside,a=>{let b=a.detail.originalEvent,c=0===b.button&&!0===b.ctrlKey;(2===b.button||c)&&a.preventDefault()}),onFocusOutside:(0,C.m)(a.onFocusOutside,a=>a.preventDefault())})}),hH=g.forwardRef((a,b)=>{let c=hu(hE,a.__scopeDialog),d=g.useRef(!1),e=g.useRef(!1);return(0,f.jsx)(hI,{...a,ref:b,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:b=>{a.onCloseAutoFocus?.(b),b.defaultPrevented||(d.current||c.triggerRef.current?.focus(),b.preventDefault()),d.current=!1,e.current=!1},onInteractOutside:b=>{a.onInteractOutside?.(b),b.defaultPrevented||(d.current=!0,"pointerdown"===b.detail.originalEvent.type&&(e.current=!0));let f=b.target;c.triggerRef.current?.contains(f)&&b.preventDefault(),"focusin"===b.detail.originalEvent.type&&e.current&&b.preventDefault()}})}),hI=g.forwardRef((a,b)=>{let{__scopeDialog:c,trapFocus:d,onOpenAutoFocus:e,onCloseAutoFocus:h,...i}=a,j=hu(hE,c),k=g.useRef(null),l=(0,D.s)(b,k);return M(),(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(S,{asChild:!0,loop:!0,trapped:d,onMountAutoFocus:e,onUnmountAutoFocus:h,children:(0,f.jsx)(K.qW,{role:"dialog",id:j.contentId,"aria-describedby":j.descriptionId,"aria-labelledby":j.titleId,"data-state":hP(j.open),...i,ref:l,onDismiss:()=>j.onOpenChange(!1)})}),(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(hT,{titleId:j.titleId}),(0,f.jsx)(hU,{contentRef:k,descriptionId:j.descriptionId})]})]})}),hJ="DialogTitle",hK=g.forwardRef((a,b)=>{let{__scopeDialog:c,...d}=a,e=hu(hJ,c);return(0,f.jsx)(G.sG.h2,{id:e.titleId,...d,ref:b})});hK.displayName=hJ;var hL="DialogDescription",hM=g.forwardRef((a,b)=>{let{__scopeDialog:c,...d}=a,e=hu(hL,c);return(0,f.jsx)(G.sG.p,{id:e.descriptionId,...d,ref:b})});hM.displayName=hL;var hN="DialogClose",hO=g.forwardRef((a,b)=>{let{__scopeDialog:c,...d}=a,e=hu(hN,c);return(0,f.jsx)(G.sG.button,{type:"button",...d,ref:b,onClick:(0,C.m)(a.onClick,()=>e.onOpenChange(!1))})});function hP(a){return a?"open":"closed"}hO.displayName=hN;var hQ="DialogTitleWarning",[hR,hS]=(0,E.q)(hQ,{contentName:hE,titleName:hJ,docsSlug:"dialog"}),hT=({titleId:a})=>{let b=hS(hQ),c=`\`${b.contentName}\` requires a \`${b.titleName}\` for the component to be accessible for screen reader users.
|
|
51
51
|
|
|
52
|
-
If you want to hide the \`${
|
|
52
|
+
If you want to hide the \`${b.titleName}\`, you can wrap it with our VisuallyHidden component.
|
|
53
53
|
|
|
54
|
-
For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return o.useEffect(()=>{e&&!document.getElementById(e)&&console.error(r)},[r,e]),null},sJ=({contentRef:e,descriptionId:t})=>{let r=sX("DialogDescriptionWarning"),n=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${r.contentName}}.`;return o.useEffect(()=>{let r=e.current?.getAttribute("aria-describedby");t&&r&&!document.getElementById(t)&&console.warn(n)},[n,e,t]),null};let sZ=o.forwardRef(({className:e,...t},r)=>(0,l.jsx)(sO,{ref:r,className:(0,j.cn)("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t}));sZ.displayName=sO.displayName;let s0=o.forwardRef(({className:e,children:t,...r},n)=>(0,l.jsxs)(sD,{children:[(0,l.jsx)(sZ,{}),(0,l.jsxs)(sI,{ref:n,className:(0,j.cn)("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",e),...r,children:[t,(0,l.jsxs)(sK,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[(0,l.jsx)(aD.A,{className:"h-4 w-4"}),(0,l.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));s0.displayName=sI.displayName;let s1=({className:e,...t})=>(0,l.jsx)("div",{className:(0,j.cn)("flex flex-col space-y-1.5 text-center sm:text-left",e),...t});s1.displayName="DialogHeader";let s2=({className:e,...t})=>(0,l.jsx)("div",{className:(0,j.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...t});s2.displayName="DialogFooter";let s5=o.forwardRef(({className:e,...t},r)=>(0,l.jsx)(sB,{ref:r,className:(0,j.cn)("text-lg font-semibold leading-none tracking-tight",e),...t}));s5.displayName=sB.displayName;let s4=o.forwardRef(({className:e,...t},r)=>(0,l.jsx)(sW,{ref:r,className:(0,j.cn)("text-sm text-muted-foreground",e),...t}));s4.displayName=sW.displayName;let s3=function({isOpen:e,onClose:t,onConfirm:r,selectedCount:n,tableName:a,isDeleting:o,error:s}){return(0,l.jsx)(sR,{open:e,onOpenChange:t,children:(0,l.jsxs)(s0,{className:"sm:max-w-md font-sans",children:[(0,l.jsxs)(s1,{children:[(0,l.jsxs)(s5,{className:"mb-2",children:["Delete ",n," ",1===n?"Record":"Records","?"]}),(0,l.jsxs)(s4,{className:"text-neutral-600 font-medium",children:["You're about to delete ",n," ",1===n?"record":"records"," from ",(0,l.jsx)("span",{className:"font-sans font-bold text-neutral-900",children:a}),"."]})]}),s&&(0,l.jsxs)(S,{variant:"destructive",children:[(0,l.jsx)(m,{className:"h-4 w-4"}),(0,l.jsx)(R,{children:s})]}),(0,l.jsxs)(s2,{className:"flex gap-1 mt-2 sm:justify-end font-sans",children:[(0,l.jsx)(nZ,{variant:"outline",onClick:t,disabled:o,children:"Cancel"}),(0,l.jsx)(nZ,{variant:"destructive",onClick:r,disabled:o,children:o?"Deleting...":"Delete"})]})]})})};function s6({isOpen:e,onClose:t,error:r}){if(!r||!e)return null;let{message:n,icon:a}=r?{message:r.message,icon:m}:{message:"An unknown error occurred.",icon:m};return(0,l.jsx)(sR,{open:e,onOpenChange:t,children:(0,l.jsxs)(s0,{className:"sm:max-w-md font-sans",children:[(0,l.jsx)(s1,{children:(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)(a,{className:"h-4 w-4 text-red-500"}),(0,l.jsx)(s5,{children:"Error"})]})}),(0,l.jsxs)("div",{className:"space-y-4",children:[(0,l.jsx)("p",{className:"bg-neutral-100 p-2 rounded-md text-neutral-900",children:n}),r.details?.suggestions&&(0,l.jsxs)("div",{className:"text-sm space-y-1",children:[(0,l.jsx)("p",{className:"font-medium",children:"Suggestions:"}),(0,l.jsx)("ul",{className:"list-disc pl-4 space-y-1",children:r.details.suggestions.map((e,t)=>(0,l.jsx)("li",{children:e},t))})]})]}),(0,l.jsx)("div",{className:"flex justify-end gap-2 mt-4",children:(0,l.jsx)(nZ,{variant:"default",onClick:t,children:"Got it"})})]})})}let s8=(0,d.A)("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);function s9({open:e,onClose:t,tableName:r,schema:n,onImportComplete:a}){let{currentDatabase:s}=(0,nQ.t)(),{toast:i}=(0,sr.dj)(),c=(0,o.useRef)(null),[d,u]=(0,o.useState)(null),[f,p]=(0,o.useState)(""),[h,x]=(0,o.useState)(null),[g,v]=(0,o.useState)(!1),[y,b]=(0,o.useState)(null),w=n.map(e=>e.name),j=(0,o.useCallback)(()=>{u(null),p(""),x(null),b(null),c.current&&(c.current.value="")},[]),N=(0,o.useCallback)(()=>{j(),t()},[j,t]),C=(0,o.useCallback)(async e=>{let t=e.target.files?.[0];if(t){x(null),b(null),p(t.name);try{let e;let r=await t.text();if(t.name.endsWith(".json")){let t=JSON.parse(r);e=Array.isArray(t)?t:[t]}else if(t.name.endsWith(".csv"))e=function(e){let t=e.trim().split("\n");if(t.length<2)return[];let r=t[0].split(",").map(e=>e.trim().replace(/^"|"$/g,""));return t.slice(1).map(e=>{let t=[],n="",a=!1;for(let r=0;r<e.length;r++){let l=e[r];'"'===l?a&&'"'===e[r+1]?(n+='"',r++):a=!a:","!==l||a?n+=l:(t.push(n.trim()),n="")}t.push(n.trim());let l={};return r.forEach((e,r)=>{l[e]=t[r]??""}),l})}(r);else throw Error("Unsupported file type. Use .json or .csv");if(0===e.length)throw Error("File contains no data rows");u(e)}catch(e){x(e.message),u(null)}}},[]),k=(0,o.useCallback)(async()=>{if(d?.length){v(!0);try{let e=s?.database_name,t=await fetch(`/api/tables/${r}/import`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({rows:d,...e&&{db:e}})}),n=await t.json();if(!t.ok||!n.success)throw Error(n.error||"Import failed");b(n),i({title:"Import Complete",description:`${n.imported} row${1!==n.imported?"s":""} imported.`}),a?.()}catch(e){x(e.message)}finally{v(!1)}}},[d,r,s,i,a]),E=d?Object.keys(d[0]):[],T=E.filter(e=>w.includes(e)),M=E.filter(e=>!w.includes(e)),A=d?.slice(0,5)??[];return(0,l.jsx)(sR,{open:e,onOpenChange:e=>!e&&N(),children:(0,l.jsxs)(s0,{className:"max-w-3xl max-h-[85vh] flex flex-col",children:[(0,l.jsx)(s1,{children:(0,l.jsxs)(s5,{children:["Import data into ",(0,l.jsx)("span",{className:"font-mono",children:r})]})}),(0,l.jsxs)("div",{className:"flex-1 overflow-y-auto space-y-4 py-2",children:[!d&&!y&&(0,l.jsxs)("div",{className:"border-2 border-dashed rounded-lg p-8 text-center cursor-pointer hover:bg-muted/50 transition-colors",onClick:()=>c.current?.click(),children:[(0,l.jsx)(oO,{className:"h-8 w-8 mx-auto mb-2 text-muted-foreground"}),(0,l.jsx)("p",{className:"text-sm font-medium",children:"Click to select a file"}),(0,l.jsx)("p",{className:"text-xs text-muted-foreground mt-1",children:"Supports .csv and .json"}),(0,l.jsx)("input",{ref:c,type:"file",accept:".csv,.json",className:"hidden",onChange:C})]}),h&&(0,l.jsxs)(S,{variant:"destructive",children:[(0,l.jsx)(m,{className:"h-4 w-4"}),(0,l.jsx)(R,{children:h})]}),y&&(0,l.jsxs)(S,{children:[(0,l.jsx)(s8,{className:"h-4 w-4"}),(0,l.jsxs)(R,{children:["Imported ",y.imported," row",1!==y.imported?"s":"",".",y.failed>0&&` ${y.failed} failed.`]})]}),d&&!y&&(0,l.jsxs)("div",{className:"space-y-3",children:[(0,l.jsxs)("div",{className:"flex items-center justify-between",children:[(0,l.jsxs)("div",{className:"flex items-center gap-2 text-sm",children:[f.endsWith(".json")?(0,l.jsx)(sl,{className:"h-4 w-4"}):(0,l.jsx)(so,{className:"h-4 w-4"}),(0,l.jsx)("span",{className:"font-medium",children:f}),(0,l.jsxs)("span",{className:"text-muted-foreground",children:["— ",d.length," rows"]})]}),(0,l.jsx)(nZ,{variant:"ghost",size:"sm",onClick:j,children:"Change file"})]}),M.length>0&&(0,l.jsxs)(S,{children:[(0,l.jsx)(m,{className:"h-4 w-4"}),(0,l.jsxs)(R,{className:"text-xs",children:["Columns not in table schema (will be ignored):"," ",(0,l.jsx)("span",{className:"font-mono",children:M.join(", ")})]})]}),(0,l.jsxs)("div",{children:[(0,l.jsxs)("p",{className:"text-xs text-muted-foreground mb-1",children:["Preview (first ",Math.min(5,d.length)," of ",d.length," rows)"]}),(0,l.jsx)("div",{className:"border rounded overflow-auto max-h-48",children:(0,l.jsxs)(aS,{children:[(0,l.jsx)(aR,{children:(0,l.jsx)(aT,{children:T.map(e=>(0,l.jsx)(aM,{className:"text-xs whitespace-nowrap py-1 px-2",children:e},e))})}),(0,l.jsx)(aE,{children:A.map((e,t)=>(0,l.jsx)(aT,{children:T.map(t=>(0,l.jsx)(aA,{className:"text-xs py-1 px-2 max-w-32 truncate",children:null===e[t]||void 0===e[t]?(0,l.jsx)("span",{className:"text-muted-foreground italic",children:"null"}):String(e[t])},t))},t))})]})})]})]})]}),(0,l.jsxs)(s2,{children:[(0,l.jsx)(nZ,{variant:"ghost",onClick:N,disabled:g,children:y?"Close":"Cancel"}),d&&!y&&(0,l.jsx)(nZ,{onClick:k,disabled:g||0===T.length,children:g?"Importing…":`Import ${d.length} row${1!==d.length?"s":""}`})]})]})})}let s7=({children:e,width:t,onResize:r,className:n=""})=>{let a=(0,o.useRef)(null),s=(0,o.useCallback)(e=>{e.preventDefault(),e.stopPropagation();let n=e.clientX,l=a.current?.offsetWidth??(t||150),o=a.current?.closest("table"),s=o?.offsetWidth??0;o&&(o.style.width=`${s}px`);let i=l,c=e=>{let t=Math.max(l+(e.clientX-n),80),r=t-i;i=t,a.current&&(a.current.style.width=`${t}px`),o&&0!==r&&(o.style.width=`${parseFloat(o.style.width)+r}px`)},d=e=>{document.removeEventListener("mousemove",c),document.removeEventListener("mouseup",d),document.body.style.cursor="",document.body.style.userSelect="";let t=Math.max(l+(e.clientX-n),80);o&&(o.style.width=""),r(t)};document.body.style.cursor="col-resize",document.body.style.userSelect="none",document.addEventListener("mousemove",c),document.addEventListener("mouseup",d)},[t,r]);return(0,l.jsxs)("th",{ref:a,className:`relative overflow-hidden ${n}`,style:{width:`${t}px`},children:[e,(0,l.jsx)("div",{className:"absolute top-0 right-0 h-full w-1.5 cursor-col-resize hover:bg-blue-400/40 z-10",onMouseDown:s,onDoubleClick:e=>{e.preventDefault(),e.stopPropagation()}})]})},ie=(0,d.A)("ArrowUp",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]),it=(0,d.A)("ArrowDown",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]),ir=(0,d.A)("ArrowUpDown",[["path",{d:"m21 16-4 4-4-4",key:"f6ql7i"}],["path",{d:"M17 20V4",key:"1ejh1v"}],["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}]]);function ia({column:e,sortConfig:t,onSort:r,children:n}){let a=t[e];return(0,l.jsx)("div",{className:"flex items-center w-full",children:(0,l.jsxs)(nZ,{variant:"ghost",size:"sm",className:"h-8 hover:bg-neutral-100 w-full justify-between",onClick:()=>{r(e,a?"asc"===a?"desc":null:"asc")},children:[(0,l.jsx)("span",{className:"flex items-center gap-1 font-mono",children:n}),(0,l.jsxs)("span",{className:"shrink-0",children:["asc"===a&&(0,l.jsx)(ie,{className:"h-4 w-4"}),"desc"===a&&(0,l.jsx)(it,{className:"h-4 w-4"}),!a&&(0,l.jsx)(ir,{className:"h-4 w-4"})]})]})})}function il({relatedTable:e,relatedKey:t,value:r,colSpan:n,onClose:a}){let{executeQuery:s}=(0,nQ.t)(),[i,c]=(0,o.useState)(null),[d,u]=(0,o.useState)(!0),[f,m]=(0,o.useState)(!1),p=i?Object.keys(i):[];return(0,l.jsx)(aT,{className:"bg-neutral-50 hover:bg-neutral-50",children:(0,l.jsx)(aA,{colSpan:n,className:"py-2 px-4 border-b border-neutral-200",children:(0,l.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,l.jsxs)("div",{className:"flex flex-col gap-1.5 flex-1 min-w-0",children:[(0,l.jsx)("span",{className:"text-[11px] font-semibold px-2 py-0.5 self-start rounded-full bg-neutral-200 text-neutral-600 font-mono",children:e}),d&&(0,l.jsx)(v,{className:"h-3.5 w-3.5 animate-spin text-neutral-400"}),!d&&f&&(0,l.jsx)("span",{className:"text-xs text-muted-foreground italic",children:"No related record found"}),!d&&i&&(0,l.jsx)("div",{className:"overflow-x-auto [&::-webkit-scrollbar]:hidden",style:{scrollbarWidth:"none"},children:(0,l.jsxs)("table",{className:"text-[11px] font-mono border border-neutral-200 rounded-md overflow-hidden",children:[(0,l.jsx)("thead",{children:(0,l.jsx)("tr",{className:"bg-neutral-100 border-b border-neutral-200",children:p.map(e=>(0,l.jsx)("th",{className:"px-3 py-1 text-left text-muted-foreground font-medium border-r border-neutral-200 last:border-r-0 whitespace-nowrap",children:e},e))})}),(0,l.jsx)("tbody",{children:(0,l.jsx)("tr",{className:"bg-white",children:p.map(e=>(0,l.jsx)("td",{className:"px-3 py-1.5 border-r border-neutral-200 last:border-r-0 whitespace-nowrap max-w-[220px] truncate",children:null==i[e]?(0,l.jsx)("span",{className:"text-neutral-400 italic",children:"null"}):String(i[e])},e))})})]})})]}),(0,l.jsx)("button",{onClick:a,className:"shrink-0 rounded p-0.5 hover:bg-neutral-200 text-muted-foreground hover:text-neutral-700 transition-colors mt-0.5",title:"Close",children:(0,l.jsx)(aD.A,{className:"h-3.5 w-3.5"})})]})})})}let io=(0,d.A)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]),is=[{value:"equals",label:"= equals"},{value:"not_equals",label:"≠ not equals"},{value:"contains",label:"~ contains"},{value:"starts_with",label:"^ starts with"},{value:"ends_with",label:"$ ends with"},{value:"gt",label:"> greater than"},{value:"gte",label:"≥ greater or equal"},{value:"lt",label:"< less than"},{value:"lte",label:"≤ less or equal"},{value:"is_null",label:"is null"},{value:"is_not_null",label:"is not null"}],ii=new Set(["is_null","is_not_null"]),ic=1;function id(e){let t=e.filter(e=>!!(e.column&&e.operator&&(ii.has(e.operator)||String(e.value??"").trim()))).map(e=>{let t=`"${e.column}"`,r=e=>String(e).replace(/'/g,"''");switch(e.operator){case"equals":return`${t} LIKE '${r(e.value)}'`;case"not_equals":return`${t} NOT LIKE '${r(e.value)}'`;case"contains":return`${t} LIKE '%${r(e.value)}%'`;case"starts_with":return`${t} LIKE '${r(e.value)}%'`;case"ends_with":return`${t} LIKE '%${r(e.value)}'`;case"gt":return`${t} > '${r(e.value)}'`;case"gte":return`${t} >= '${r(e.value)}'`;case"lt":return`${t} < '${r(e.value)}'`;case"lte":return`${t} <= '${r(e.value)}'`;case"is_null":return`${t} IS NULL`;case"is_not_null":return`${t} IS NOT NULL`;default:return null}}).filter(Boolean);return 0===t.length?null:t.join(" AND ")}function iu({schema:e,filters:t,onFiltersChange:r,onOpenInSQL:n}){let a=e.map(e=>e.name),s=(0,o.useCallback)(()=>{r([...t,function(e=""){return{id:ic++,column:e,operator:"contains",value:""}}(a[0]||"")])},[t,r,a]),i=(0,o.useCallback)(e=>{r(t.filter(t=>t.id!==e))},[t,r]),c=(0,o.useCallback)((e,n)=>{r(t.map(t=>t.id===e?{...t,...n}:t))},[t,r]),d=(0,o.useCallback)(()=>{r([])},[r]);return(0,l.jsxs)("div",{className:"border-b bg-neutral-50 px-3 py-2 flex flex-col gap-1.5 font-sans",children:[0===t.length&&(0,l.jsx)("div",{className:"text-xs text-muted-foreground py-0.5",children:"No filters applied. Add a filter below."}),t.map(e=>(0,l.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,l.jsxs)(lY,{value:e.column,onValueChange:t=>c(e.id,{column:t}),children:[(0,l.jsx)(oE,{className:"h-7 text-xs w-36 min-w-0",children:(0,l.jsx)(lZ,{placeholder:"Column"})}),(0,l.jsx)(oA,{children:a.map(e=>(0,l.jsx)(oD,{value:e,className:"text-xs font-mono",children:e},e))})]}),(0,l.jsxs)(lY,{value:e.operator,onValueChange:t=>c(e.id,{operator:t}),children:[(0,l.jsx)(oE,{className:"h-7 text-xs w-36 min-w-0",children:(0,l.jsx)(lZ,{})}),(0,l.jsx)(oA,{children:is.map(e=>(0,l.jsx)(oD,{value:e.value,className:"text-xs",children:e.label},e.value))})]}),!ii.has(e.operator)&&(0,l.jsx)(N,{className:"h-7 text-xs w-44 min-w-0 font-mono",placeholder:"value",value:e.value,onChange:t=>c(e.id,{value:t.target.value})}),(0,l.jsx)("button",{className:"shrink-0 rounded p-0.5 hover:bg-neutral-200 text-muted-foreground transition-colors",onClick:()=>i(e.id),title:"Remove filter",children:(0,l.jsx)(aD.A,{className:"h-3.5 w-3.5"})})]},e.id)),(0,l.jsxs)("div",{className:"flex items-center gap-2 pt-0.5",children:[(0,l.jsxs)(nZ,{size:"sm",variant:"ghost",className:"h-6 text-xs px-2 gap-1",onClick:s,children:[(0,l.jsx)(io,{className:"h-3 w-3"}),"Add filter"]}),t.length>0&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(nZ,{size:"sm",variant:"ghost",className:"h-6 text-xs px-2 gap-1",onClick:n,children:[(0,l.jsx)(y,{className:"h-3 w-3"}),"Open in SQL"]}),(0,l.jsx)(nZ,{size:"sm",variant:"ghost",className:"h-6 text-xs px-2 text-red-500 hover:text-red-600 hover:bg-red-50",onClick:d,children:"Clear filters"})]})]})]})}function im({tableName:e,onOpenInSQL:t}){let{executeQuery:r,getCachedTable:n,updateTableCache:a,invalidateTable:s,switchTable:c,activeTable:d,updateTableData:u,setOperationStatus:f}=(0,nQ.t)(),{toast:p}=(0,sr.dj)(),[h,x]=(0,o.useState)(()=>[]),[g,y]=(0,o.useState)([]),[b,w]=(0,o.useState)(0),[j,N]=(0,o.useState)(!0),[C,k]=(0,o.useState)(!1),[E,T]=(0,o.useState)(null),[M,A]=(0,o.useState)(new Map),[D,_]=(0,o.useState)(new Set),[O,P]=(0,o.useState)([]),[L,I]=(0,o.useState)(1),[$,F]=(0,o.useState)(50),[U,z]=(0,o.useState)(1),[B,H]=(0,o.useState)(new Set),W=(0,o.useRef)(null),[V,K]=(0,o.useState)(!1),[q,G]=(0,o.useState)(!1),[Y,X]=(0,o.useState)(null),[Q,J]=(0,o.useState)(!1),[Z,ee]=(0,o.useState)(!1),[et,er]=(0,o.useState)(null),[en,ea]=(0,o.useState)({}),[el,eo]=(0,o.useState)([]),[es,ei]=(0,o.useState)(!1),[ec,ed]=(0,o.useState)(null),[eu,ef]=(0,o.useState)(0),[em,ep]=(0,o.useState)({}),[eh,ex]=(0,o.useState)(null);(0,o.useRef)(null);let[eg,ev]=(0,o.useState)({}),[ey,eb]=(0,o.useState)([]),ew=es&&null!==ec,ej=ew?ec:h,eN=ew?eu:b,eC=ew?Math.max(1,Math.ceil(eu/$)):U,ek=g.filter(e=>ey.includes(e.name)),eS=ek.reduce((e,t)=>e+(eg[t.name]||150),40),eR=M.size>0||O.length>0,eE=(0,o.useCallback)(async e=>{try{let t=await r(`PRAGMA foreign_key_list("${e}")`),n=t?.results?.[0]?.results||[];if(n.length>0){let e={};n.forEach(t=>{e[t.from]={table:t.table,to:t.to}}),ep(e)}else ep({})}catch{ep({})}},[r]),eT=(0,o.useCallback)(async(t=!1)=>{if(!e)return;let r=n(e,L,$);if(r&&!t){x(r.data),y(r.schema),w(r.meta.total),z(r.meta.totalPages);return}N(!0),T(null),H(new Set);try{let r=await c(e,{page:L,limit:$,forceFetch:t});r.meta.page=L;let n=r.schema||[];return x(Array.isArray(r.data)?r.data:[]),y(n),w(r.meta.total),z(r.meta.totalPages),eb(n.map(e=>e.name)),ex(null),eE(e),!0}catch(e){throw console.error("Error loading table data:",e),T(e.message||String(e)),p({variant:"destructive",title:"Error",description:`Failed to load table: ${e.message}`}),e}finally{N(!1)}},[e,L,$,n,c,p,eE]),eM=(0,o.useCallback)(t=>{eb(r=>{let n=r.includes(t)?r.filter(e=>e!==t):[...r,t];return localStorage.setItem(`table-columns-${e}`,JSON.stringify(n)),n})},[e]),eA=(0,o.useCallback)((t,r)=>{ev(n=>{let a={...n,[t]:r};return localStorage.setItem(`table-widths-${e}`,JSON.stringify(a)),a})},[e]),eD=(0,o.useCallback)(async()=>{try{H(new Set),s(e),await eT(!0),p({title:"Success",description:"Table data refreshed"})}catch(e){console.error("Refresh failed:",e),p({variant:"destructive",title:"Refresh Failed",description:e.message})}},[eT,s,e,p]),e_=(0,o.useCallback)((t,r)=>{ea(e=>({...e,[t]:r}));let l=r&&h.length?[...h].sort((e,n)=>{let a=e[t],l=n[t];if(null==a&&null==l)return 0;if(null==a)return 1;if(null==l)return -1;if("number"==typeof a&&"number"==typeof l)return"asc"===r?a-l:l-a;let o=String(a).toLowerCase(),s=String(l).toLowerCase();return"asc"===r?o.localeCompare(s):s.localeCompare(o)}):h;x(l);let o=n(e);o&&a(e,l,o.schema,{...o.meta,currentPage:L,limit:$},L,$)},[h,e,n,a]),eO=(0,o.useCallback)((e,t,r)=>{let n=`${e}::${t}`;A(e=>new Map(e).set(n,{value:r,originalValue:r})),_(t=>new Set(t).add(e))},[]),eP=(0,o.useCallback)((e,t,r)=>{let n=`${e}::${t}`,a=h[e],l=M.get(n)?.originalValue??a[t];if(r===l){let t=new Map(M);if(t.delete(n),A(t),!Array.from(t.keys()).some(t=>t.startsWith(`${e}::`))){let t=new Set(D);t.delete(e),_(t)}}else A(e=>new Map(e).set(n,{value:r,originalValue:l})),_(t=>new Set(t).add(e))},[h,M,D]),eL=(0,o.useCallback)(()=>{P(e=>[...e,{}])},[]),eI=(0,o.useCallback)(e=>{P(t=>t.filter((t,r)=>r!==e))},[]),e$=(0,o.useCallback)((e,t)=>{P(r=>{let n=[...r];return n[e]=t,n})},[]),eF=async(t=!1)=>{k(!0);try{if(O.length>0){let t=0,n=g.filter(e=>"datetime"===e.type.toLowerCase()).map(e=>e.name);for(let a of O){let l=Object.keys(a).filter(e=>{let t=a[e];if(null===t||""===t||"null"===t){let t=g.find(t=>t.name===e);return!!(t?.dflt_value&&(t.dflt_value.includes("datetime(")||t.dflt_value.includes("randomblob")||t.dflt_value.includes("lower(hex(")))}if(t?.toString()==="[Auto-generated INT]"){let t=g.find(t=>t.name===e);if(t&&1===t.pk&&"INTEGER"===t.type.toUpperCase())return!1}return t?.toString(),!0});if(n.forEach(e=>{l.includes(e)||l.push(e)}),0===l.length)continue;let o=e=>e?.dflt_value&&"null"!==e.dflt_value&&null!==e.dflt_value,s=l.map(e=>{if(n.includes(e))return"CURRENT_TIMESTAMP";let t=a[e];if(null===t||""===t||"null"===t){let t=g.find(t=>t.name===e);return o(t)?t.dflt_value:"NULL"}let r=t.toString();if("[Auto-generated UUID]"===r){let t=g.find(t=>t.name===e);if(o(t))return t.dflt_value}if("[Auto-generated]"===r){let t=g.find(t=>t.name===e);return o(t)?t.dflt_value:"lower(hex(randomblob(8)))"}if("[Auto-generated INT]"===r){let t=g.find(t=>t.name===e);if(t&&1===t.pk&&"INTEGER"===t.type.toUpperCase())return null}return r.includes("randomblob")||r.includes("CURRENT_TIMESTAMP")||r.includes("lower(hex(")||r.includes("datetime(")||r.startsWith("(")&&r.endsWith(")")?r:`'${r.replace(/'/g,"''")}'`}),i=`INSERT INTO ${e} (${l.join(", ")}) VALUES (${s.join(", ")});`;await r(i),t++}if(t>0){let r=await u(e);x(r.data),w(r.meta.total),z(Math.ceil(r.meta.total/$)),f("success",`Added ${t} ${1===t?"record":"records"} \xb7 ${e}`),p({title:"Success",description:`Added ${t} ${1===t?"record":"records"}`})}P([])}if(M.size>0&&(t||!et)){let t=g.find(e=>1===e.pk),n=t?.name;if(!n)throw Error("No primary key found in table schema");let a=t?.type?.toUpperCase()==="INTEGER",l=new Map;M.forEach((e,t)=>{let r=t.indexOf("::"),a=t.substring(0,r),o=t.substring(r+2),s=h[a];l.has(s[n])||l.set(s[n],new Map),l.get(s[n]).set(o,e.value)});let o=0;for(let[t,s]of l){let l=Array.from(s.entries()).map(([e,t])=>null===t||""===t||"null"===t?`${e} = NULL`:"CURRENT_TIMESTAMP"===t?`${e} = CURRENT_TIMESTAMP`:`${e} = '${t.toString().replace(/'/g,"''")}'`).join(", "),i=a?t:`'${String(t).replace(/'/g,"''")}'`,c=`
|
|
55
|
-
UPDATE ${
|
|
56
|
-
SET ${
|
|
57
|
-
WHERE ${
|
|
58
|
-
`;await r(c),o++}if(o>0){let t=await u(e);x(t.data),w(t.meta.total),z(Math.ceil(t.meta.total/$)),f("success",`Updated ${o} ${1===o?"record":"records"} \xb7 ${e}`),p({title:"Success",description:`Updated ${o} ${1===o?"record":"records"}`})}}A(new Map),_(new Set),er(null)}catch(n){let t=lx(n),r={...t,stderr:n.stderr,stdout:n.stdout};f("error",t.message||"Save failed",`Error saving changes to ${e}`),er(r),ee(!0)}finally{k(!1)}},eU=(0,o.useCallback)(async()=>{if(e){G(!0),X(null);try{let t;let n=g.find(e=>1===e.pk)?.name;if(!n)throw Error("No primary key found in table schema");let a=Array.from(B).map(e=>h[e][n]);if(0===a.length)return;let l=e=>null==e||"null"===e,o=a.filter(l),s=a.filter(e=>!l(e)),i=s.map(e=>"string"==typeof e&&isNaN(e)?`'${e.replace(/'/g,"''")}'`:e);t=o.length>0&&s.length>0?`DELETE FROM ${e} WHERE ${n} IS NULL OR ${n} IN (${i.join(",")});`:o.length>0?`DELETE FROM ${e} WHERE ${n} IS NULL;`:`DELETE FROM ${e} WHERE ${n} IN (${i.join(",")});`,await r(t);let c=new Set(a),d=h.filter(e=>!c.has(e[n]));x(d),w(e=>e-a.length),z(Math.ceil((b-a.length)/$)),L>1&&h.length===a.length&&I(e=>e-1),K(!1),H(new Set),f("success",`Deleted ${a.length} ${1===a.length?"record":"records"} \xb7 ${e}`),p({title:"Success",description:`Deleted ${a.length} ${1===a.length?"record":"records"}`})}catch(t){console.error("Delete operation failed:",t),f("error",t.message||"Delete failed",`Error deleting from ${e}`),X(t.message||String(t))}finally{G(!1)}}},[e,B,h,g,r,u,eT,L,$,b,p,n,a,f]),ez=(0,o.useCallback)(e=>{H(e?new Set(ej.map((e,t)=>t)):new Set)},[ej]),eB=(0,o.useCallback)((e,t)=>{H(r=>{let n=new Set(r);return t?n.add(e):n.delete(e),n})},[]);return((0,o.useCallback)(t=>{ev(t),localStorage.setItem(`table-widths-${e}`,JSON.stringify(t))},[e]),(0,o.useCallback)(async t=>{let n=id(t);if(!n){ed(null),ef(0);return}try{let t=g.find(e=>1===e.pk)?.name||g[0]?.name||"rowid",a=await r(`SELECT COUNT(*) as total FROM "${e}" WHERE ${n}`),l=a?.results?.[0]?.results?.[0]?.total??0,o=await r(`SELECT * FROM "${e}" WHERE ${n} ORDER BY "${t}" DESC LIMIT ${$} OFFSET ${(L-1)*$}`),s=o?.results?.[0]?.results||[];ef(l),ed(s)}catch{ed([]),ef(0)}},[e,g,r,$,L]),E)?(0,l.jsx)("div",{className:"p-4",children:(0,l.jsxs)(S,{variant:"destructive",children:[(0,l.jsx)(m,{className:"h-4 w-4"}),(0,l.jsxs)(R,{children:["Failed to load table: ",E]})]})}):(0,l.jsxs)("div",{className:"h-full flex flex-col",children:[(0,l.jsx)(sg,{selectedCount:B.size,totalRows:eN,currentPage:L,totalPages:eC,rowsPerPage:$,onPageChange:I,onRowsPerPageChange:F,onAdd:eL,onDelete:()=>K(!0),onImport:()=>J(!0),onRefresh:eD,tableName:e,disabled:eR,editCount:M.size,newRecordsCount:O.length,isSaving:C,onSaveChanges:eF,onDiscardChanges:()=>{A(new Map),_(new Set),P([]),er(null),p({description:"Changes discarded"})},schema:g,visibleColumns:ey,onColumnToggle:eM,showFilters:es,onToggleFilters:()=>ei(e=>!e),activeFilterCount:el.filter(e=>e.column&&e.operator).length}),es&&(0,l.jsx)(iu,{schema:g,filters:el,onFiltersChange:eo,onOpenInSQL:()=>{let r=id(el);if(r&&t){let n=g.find(e=>1===e.pk)?.name||g[0]?.name||"rowid";t(`SELECT * FROM "${e}" WHERE ${r} ORDER BY "${n}" DESC LIMIT ${$};`)}}}),(0,l.jsx)("div",{className:"flex-1 overflow-hidden bg-background font-mono",children:(0,l.jsxs)(aC,{className:"w-full h-full",children:[(0,l.jsx)("div",{className:"w-max min-w-full pb-4",children:(0,l.jsxs)(aS,{style:{tableLayout:"fixed",width:`${eS}px`},children:[!j&&(0,l.jsx)(aR,{className:"bg-neutral-100 sticky top-0 z-30",children:(0,l.jsxs)(aT,{children:[(0,l.jsx)(aM,{className:"p-0 border-r border-neutral-200",style:{width:"40px",minWidth:"40px"},children:(0,l.jsx)("div",{className:"py-0.5 px-3 flex items-center",children:(0,l.jsx)(lO,{ref:W,checked:B.size===ej.length&&ej.length>0,onCheckedChange:ez,disabled:eR})})}),ek.map(e=>(0,l.jsx)(s7,{width:eg[e.name]||150,onResize:t=>eA(e.name,t),className:"py-0.5 whitespace-nowrap border-r border-neutral-200",children:(0,l.jsxs)(ia,{column:e.name,sortConfig:en,onSort:e_,children:[(0,l.jsx)("span",{className:"text-xs font-bold text-foreground",children:e.name}),(0,l.jsx)("span",{className:"text-xs text-muted-foreground",children:e.type?.toLowerCase()})]})},e.name))]})}),(0,l.jsxs)(aE,{children:[j&&(0,l.jsx)(aT,{className:"hover:bg-transparent",children:(0,l.jsx)(aA,{colSpan:ek.length+1,className:"h-64",children:(0,l.jsx)("div",{className:"h-full w-full flex items-center justify-center",children:(0,l.jsx)(v,{className:"h-6 w-6 animate-spin text-primary"})})})}),!j&&(0,l.jsxs)(l.Fragment,{children:[O.map((e,t)=>(0,l.jsx)(sw,{schema:ek,onRemove:()=>eI(t),onChange:e=>e$(t,e)},`new-${t}`)),0===ej.length&&0===O.length?(0,l.jsx)(aT,{className:"hover:bg-transparent",children:(0,l.jsx)(aA,{colSpan:ek.length+1,className:"h-64 text-center text-muted-foreground",children:ew?"No rows match the current filters":"Table is empty"})}):ej.map((e,t)=>(0,l.jsxs)(i().Fragment,{children:[(0,l.jsxs)(aT,{className:B.has(t)?"bg-blue-50":"bg-white",children:[(0,l.jsx)(aA,{className:"p-0",children:(0,l.jsx)("div",{className:"px-3 py-2.5 flex items-center",children:(0,l.jsx)(lO,{checked:B.has(t),onCheckedChange:e=>eB(t,e),disabled:eR})})}),ek.map(r=>{let n=`${t}::${r.name}`,a=M.get(n);return(0,l.jsx)(sv,{value:a?a.value:e[r.name],row:e,column:r.name,schema:g,onChange:e=>eP(t,r.name,e),onStartEdit:ew?void 0:e=>eO(t,r.name,e),isEditing:!ew&&M.has(n),style:{width:`${eg[r.name]||150}px`},fkInfo:em[r.name],onShowRelation:em[r.name]?()=>ex({rowIndex:t,relatedTable:em[r.name].table,relatedKey:em[r.name].to,value:e[r.name]}):void 0},r.name)})]}),eh?.rowIndex===t&&(0,l.jsx)(il,{relatedTable:eh.relatedTable,relatedKey:eh.relatedKey,value:eh.value,colSpan:ek.length+1,onClose:()=>ex(null)})]},t))]})]})]})}),(0,l.jsx)(ak,{orientation:"horizontal"})]})}),(0,l.jsx)(s3,{isOpen:V,onClose:()=>{K(!1),X(null)},onConfirm:eU,selectedCount:B.size,tableName:e,isDeleting:q,error:Y}),(0,l.jsx)(s6,{isOpen:Z,onClose:()=>ee(!1),error:et,onOpenInSQL:()=>{ee(!1)},onUpdateAnyway:async()=>{ee(!1),await eF(!0)},showSQLOption:et?.type==="NULLABLE_PK"}),(0,l.jsx)(s9,{open:Q,onClose:()=>J(!1),tableName:e,schema:g,onImportComplete:()=>{J(!1),eD()}})]})}function ip({migration:e}){return e.orphaned?(0,l.jsxs)("span",{className:"inline-flex items-center gap-1 text-xs font-medium text-amber-600",children:[(0,l.jsx)(m,{className:"h-3 w-3"})," Orphaned"]}):e.applied?(0,l.jsxs)("span",{className:"inline-flex items-center gap-1 text-xs font-medium text-green-600",children:[(0,l.jsx)(s8,{className:"h-3 w-3"})," Applied"]}):(0,l.jsxs)("span",{className:"inline-flex items-center gap-1 text-xs font-medium text-amber-600",children:[(0,l.jsx)(w,{className:"h-3 w-3"})," Pending"]})}function ih(){let{currentDatabase:e,executeQuery:t,refreshTables:r}=(0,nQ.t)(),{toast:n}=(0,sr.dj)(),[a,s]=(0,o.useState)([]),[i,c]=(0,o.useState)(""),[d,u]=(0,o.useState)(!0),[f,p]=(0,o.useState)(!1),[h,x]=(0,o.useState)(null),g=(0,o.useCallback)(async()=>{u(!0),x(null);try{let t=e?.database_name,r=t?`?db=${encodeURIComponent(t)}`:"",n=await fetch(`/api/migrations/list${r}`),a=await n.json();if(!n.ok||!a.success)throw Error(a.error||"Failed to load migrations");s(a.migrations),c(a.migrationsDir)}catch(e){x(e.message)}finally{u(!1)}},[e]),y=a.filter(e=>!e.applied&&!e.orphaned),b=(0,o.useCallback)(async()=>{if(0===y.length)return;p(!0);let t=0;try{for(let r of y){await fetch(`/api/migrations/list?file=${encodeURIComponent(r.name)}${e?.database_name?`&db=${encodeURIComponent(e.database_name)}`:""}`);let n=await fetch("/api/migrations/sync-files",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({migrationName:r.name,db:e?.database_name})}),a=await n.json();if(!n.ok||!a.success)throw Error(`Failed to apply ${r.name}: ${a.error||"Unknown error"}`);t++}n({title:"Migrations Applied",description:`${t} migration${1!==t?"s":""} applied successfully.`}),await r(),await g()}catch(e){n({variant:"destructive",title:"Apply Failed",description:e.message})}finally{p(!1)}},[y,e,n,r,g]);return(0,l.jsxs)("div",{className:"h-full flex flex-col",children:[(0,l.jsxs)("div",{className:"flex items-center justify-between p-4 border-b",children:[(0,l.jsxs)("div",{children:[(0,l.jsx)("h2",{className:"text-sm font-semibold",children:"Migrations"}),i&&(0,l.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5 font-mono",children:i})]}),(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[y.length>0&&(0,l.jsx)(nZ,{size:"sm",onClick:b,disabled:f,className:"font-semibold",children:f?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(v,{className:"h-4 w-4 animate-spin"})," Applying…"]}):`Apply ${y.length} pending`}),(0,l.jsx)(nZ,{variant:"outline",size:"icon",className:"h-8",onClick:g,disabled:d,children:(0,l.jsx)(o7,{className:`h-4 w-4 ${d?"animate-spin":""}`})})]})]}),(0,l.jsxs)("div",{className:"flex-1 overflow-auto",children:[h&&(0,l.jsx)("div",{className:"p-4",children:(0,l.jsxs)(S,{variant:"destructive",children:[(0,l.jsx)(m,{className:"h-4 w-4"}),(0,l.jsx)(R,{children:h})]})}),!d&&!h&&0===a.length&&(0,l.jsxs)("div",{className:"flex flex-col items-center justify-center h-64 text-muted-foreground gap-2",children:[(0,l.jsx)(ss,{className:"h-8 w-8"}),(0,l.jsx)("p",{className:"text-sm",children:"No migration files found"}),(0,l.jsx)("p",{className:"text-xs",children:"Migration files appear here when you run DDL statements in the SQL editor"})]}),!h&&a.length>0&&(0,l.jsxs)(aS,{children:[(0,l.jsx)(aR,{className:"bg-neutral-100 sticky top-0 z-10",children:(0,l.jsxs)(aT,{children:[(0,l.jsx)(aM,{className:"text-xs font-bold",children:"Migration file"}),(0,l.jsx)(aM,{className:"text-xs font-bold w-28",children:"Status"}),(0,l.jsx)(aM,{className:"text-xs font-bold w-44",children:"Applied at"}),(0,l.jsx)(aM,{className:"text-xs font-bold w-20",children:"Checksum"})]})}),(0,l.jsx)(aE,{children:a.map(e=>(0,l.jsxs)(aT,{className:e.orphaned?"opacity-60":"",children:[(0,l.jsx)(aA,{className:"font-mono text-xs",children:e.name}),(0,l.jsx)(aA,{children:(0,l.jsx)(ip,{migration:e})}),(0,l.jsx)(aA,{className:"text-xs text-muted-foreground",children:e.applied_at?new Date(e.applied_at).toLocaleString():"—"}),(0,l.jsx)(aA,{className:"font-mono text-xs text-muted-foreground",children:e.checksum?e.checksum.slice(0,8):"—"})]},e.name))})]})]})]})}var ix=r(6256);let ig=r.n(ix)()(async()=>{},{loadableGenerated:{modules:["components/schema-view.jsx -> ./schema-erd"]},ssr:!1,loading:()=>(0,l.jsx)("div",{style:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center",background:"#0d1117",color:"#8b949e"},children:(0,l.jsx)("span",{style:{fontSize:14},children:"Loading…"})})});function iv(){let{currentDatabase:e}=(0,nQ.t)();return(0,l.jsx)(ig,{db:e?.database_name})}let iy={bg:"#ffffff",bg2:"#f9f8f6",border:"#e8e5e0",border2:"#d4d0c8",text:"#1a1714",text2:"#5a5650",text3:"#9a9590",orange:"#d4581e",orangeBg:"#fff4ee",orangeBorder:"#fddcc8"},ib=["January","February","March","April","May","June","July","August","September","October","November","December"],iw={2:[3,7,10,14,16],1:[5,12,18,22]};function ij(e){return String(e).padStart(2,"0")}function iN({year:e,month:t,selDay:r,today:n,earliest:a,onSelect:o,onPrev:s,onNext:i}){let c=new Date(e,t,1).getDay(),d=new Date(e,t+1,0).getDate(),u=iw[t]||[],f=n.getUTCFullYear(),m=n.getUTCMonth(),p=n.getUTCDate(),h=[];for(let e=0;e<c;e++)h.push((0,l.jsx)("div",{},`b${e}`));for(let n=1;n<=d;n++){let s=e>f||e===f&&t>m||e===f&&t===m&&n>p,i=new Date(e,t,n).getTime(),c=!!a&&i<new Date(a.getFullYear(),a.getMonth(),a.getDate()).getTime(),d=e===f&&t===m&&n===p,x=n===r,g=u.includes(n),v=s||c;h.push((0,l.jsxs)("div",{onClick:v?void 0:()=>o(n),style:{fontSize:11,textAlign:"center",padding:"4px 0",borderRadius:4,cursor:v?"default":"pointer",color:v?iy.border2:x?iy.bg:d?iy.text:iy.text2,background:x?iy.text:"transparent",fontWeight:d?600:void 0,pointerEvents:v?"none":void 0,position:"relative",userSelect:"none"},className:v||x?"":"hover:bg-[#f2f0ec]",children:[n,g&&!s&&(0,l.jsx)("span",{style:{position:"absolute",bottom:1,left:"50%",transform:"translateX(-50%)",width:3,height:3,borderRadius:"50%",background:x?iy.bg:iy.orange,display:"block"}})]},n))}return(0,l.jsxs)("div",{style:{padding:"14px 16px",borderBottom:`1px solid ${iy.border}`},children:[(0,l.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:10},children:[(0,l.jsxs)("span",{style:{fontSize:13,fontWeight:500,color:iy.text},children:[ib[t]," ",e]}),(0,l.jsx)("div",{style:{display:"flex",gap:3},children:[["‹",s],["›",i]].map(([e,t])=>(0,l.jsx)("button",{onClick:t,style:{width:24,height:24,border:`1px solid ${iy.border}`,borderRadius:6,background:"transparent",cursor:"pointer",fontSize:14,color:iy.text2,display:"flex",alignItems:"center",justifyContent:"center",lineHeight:1},className:"hover:bg-[#f9f8f6]",children:e},e))})]}),(0,l.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"repeat(7, 1fr)",gap:1},children:[["Su","Mo","Tu","We","Th","Fr","Sa"].map(e=>(0,l.jsx)("div",{style:{fontSize:10,fontWeight:500,color:iy.text3,textAlign:"center",padding:"3px 0"},children:e},e)),h]})]})}function iC({kind:e,text:t}){let r={a:{bg:"#f0fdf4",color:"#15803d",markBg:"#f0fdf4",markColor:"#16a34a",mark:"+"},r:{bg:"#fef2f2",color:"#b91c1c",markBg:"#fef2f2",markColor:"#dc2626",mark:"−"},c:{bg:"#f9fafb",color:iy.text3,markBg:"#f9fafb",markColor:iy.text3,mark:"~"}}[e];return(0,l.jsxs)("div",{style:{display:"flex",alignItems:"stretch",fontSize:11,fontFamily:"ui-monospace,SF Mono,monospace",borderRadius:5,overflow:"hidden",marginBottom:2},children:[(0,l.jsx)("div",{style:{width:22,minWidth:22,display:"flex",alignItems:"center",justifyContent:"center",fontWeight:600,fontSize:12,background:r.markBg,color:r.markColor},children:r.mark}),(0,l.jsx)("div",{style:{flex:1,padding:"4px 8px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",background:r.bg,color:r.color},children:t})]})}function ik({type:e,children:t}){return(0,l.jsx)("span",{style:{fontSize:10,padding:"1px 6px",borderRadius:3,fontFamily:"ui-monospace,SF Mono,monospace",...{rm:{background:"#fef2f2",color:"#dc2626",border:"1px solid #fecaca"},add:{background:"#f0fdf4",color:"#16a34a",border:"1px solid #bbf7d0"},ch:{background:"#fffbeb",color:"#d97706",border:"1px solid #fde68a"}}[e]},children:t})}function iS({label:e,bookmark:t,onCancel:r,onConfirm:n}){return(0,l.jsx)("div",{style:{position:"absolute",inset:0,background:"rgba(0,0,0,0.2)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:30,borderRadius:12},children:(0,l.jsxs)("div",{style:{background:iy.bg,border:`1px solid ${iy.border}`,borderRadius:12,padding:24,boxShadow:"0 8px 40px rgba(0,0,0,0.12)",width:340},children:[(0,l.jsx)("div",{style:{width:38,height:38,borderRadius:10,display:"flex",alignItems:"center",justifyContent:"center",background:"#fef2f2",border:"1px solid #fecaca",marginBottom:14},children:(0,l.jsxs)("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",stroke:"#dc2626",strokeWidth:"1.5",children:[(0,l.jsx)("path",{d:"M9 2L2 15h14L9 2z"}),(0,l.jsx)("path",{d:"M9 7v4M9 12.5v.5"})]})}),(0,l.jsx)("div",{style:{fontSize:14,fontWeight:600,color:iy.text,marginBottom:5},children:"Restore database?"}),(0,l.jsx)("div",{style:{fontSize:12,color:iy.text2,lineHeight:1.6,marginBottom:10},children:"This will overwrite your remote D1 database in place. All in-flight queries and transactions will be cancelled."}),(0,l.jsxs)("div",{style:{fontFamily:"ui-monospace,SF Mono,monospace",fontSize:12,padding:"8px 10px",background:iy.bg2,borderRadius:6,color:iy.text,marginBottom:10,lineHeight:1.7},children:[e,t&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("br",{}),(0,l.jsxs)("span",{style:{fontSize:10,color:iy.text3},children:["bookmark: ",t]})]})]}),(0,l.jsx)("div",{style:{fontSize:11,color:"#c2410c",background:iy.orangeBg,border:`1px solid ${iy.orangeBorder}`,borderRadius:6,padding:"8px 10px",marginBottom:16,lineHeight:1.55},children:"⚠ A pre-restore bookmark will be saved automatically so you can undo this restore if needed."}),(0,l.jsxs)("div",{style:{display:"flex",gap:8},children:[(0,l.jsx)("button",{onClick:r,style:{flex:1,padding:8,border:`1px solid ${iy.border}`,borderRadius:7,background:"transparent",color:iy.text2,fontSize:12,cursor:"pointer",fontFamily:"system-ui,sans-serif"},className:"hover:text-[#1a1714]",children:"Cancel"}),(0,l.jsx)("button",{onClick:n,style:{flex:1,padding:8,background:"#dc2626",color:"white",border:"none",borderRadius:7,fontSize:12,fontWeight:500,cursor:"pointer",fontFamily:"system-ui,sans-serif"},className:"hover:bg-[#b91c1c]",children:"Yes, restore database"})]})]})})}function iR({label:e,undoBookmark:t,onDone:r}){return(0,l.jsx)("div",{style:{position:"absolute",inset:0,background:"rgba(0,0,0,0.2)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:30,borderRadius:12},children:(0,l.jsxs)("div",{style:{background:iy.bg,border:`1px solid ${iy.border}`,borderRadius:12,padding:24,boxShadow:"0 8px 40px rgba(0,0,0,0.12)",width:320,textAlign:"center"},children:[(0,l.jsx)("div",{style:{width:38,height:38,borderRadius:"50%",display:"flex",alignItems:"center",justifyContent:"center",background:"#f0fdf4",border:"1px solid #bbf7d0",margin:"0 auto 14px"},children:(0,l.jsx)("svg",{width:"18",height:"18",viewBox:"0 0 20 20",fill:"none",stroke:"#16a34a",strokeWidth:"2",children:(0,l.jsx)("path",{d:"M4 10l4 4 8-8"})})}),(0,l.jsx)("div",{style:{fontSize:14,fontWeight:600,color:iy.text,marginBottom:5},children:"Database restored"}),(0,l.jsxs)("div",{style:{fontSize:12,color:iy.text2,lineHeight:1.6,marginBottom:10},children:["Database has been restored to ",e," successfully."]}),t&&(0,l.jsxs)("div",{style:{fontSize:11,color:iy.text2,background:iy.bg2,border:`1px solid ${iy.border}`,borderRadius:6,padding:"7px 10px",marginBottom:14,fontFamily:"ui-monospace,SF Mono,monospace",textAlign:"left"},children:["undo bookmark: ",t,(0,l.jsx)("br",{}),(0,l.jsx)("span",{style:{fontSize:10,color:iy.text3},children:"Use this to revert if something looks wrong"})]}),(0,l.jsx)("button",{onClick:r,style:{width:"100%",padding:9,background:iy.text,color:iy.bg,border:"none",borderRadius:7,fontSize:12,fontWeight:500,cursor:"pointer",fontFamily:"system-ui,sans-serif"},children:"Done"})]})})}function iE(){let{currentDatabase:e}=(0,nQ.t)(),t=e?.database_name||"database",r=new Date,[n,a]=(0,o.useState)(r.getUTCFullYear()),[s,i]=(0,o.useState)(r.getUTCMonth()),[c,d]=(0,o.useState)(r.getUTCDate()),[u,f]=(0,o.useState)(`${ij(r.getUTCHours())}:${ij(r.getUTCMinutes())}:00`),[m,p]=(0,o.useState)(null),[h,x]=(0,o.useState)(null),[g,v]=(0,o.useState)(!0),[y,b]=(0,o.useState)(null),[w,j]=(0,o.useState)(null),N=new Date(r.getTime()-2592e6),C=w||N,[k,S]=(0,o.useState)(null),[R,E]=(0,o.useState)(!1),[T,M]=(0,o.useState)(null),[A,D]=(0,o.useState)(!1),[_,O]=(0,o.useState)(!1),[P,L]=(0,o.useState)(null),[I,$]=(0,o.useState)(!1),[F,U]=(0,o.useState)(null),z=`${ib[s].slice(0,3)} ${ij(c)}, ${n} \xb7 ${u||"00:00:00"} UTC`,B=`${ib[s].slice(0,3)} ${ij(c)}, ${n} at ${u||"00:00:00"} UTC`,H=(0,o.useCallback)(()=>{i(e=>0===e?(a(e=>e-1),11):e-1),d(1),S(null)},[]),W=(0,o.useCallback)(()=>{let e=11===s?0:s+1,t=11===s?n+1:n;t>r.getUTCFullYear()||t===r.getUTCFullYear()&&e>r.getUTCMonth()||(i(e),a(t),d(1),S(null))},[s,n,r]),V=(0,o.useCallback)(e=>{d(e),p(null),S(null)},[]),K=(0,o.useCallback)((e,t,r,n,l)=>{a(t),i(r),d(n),f(l),p(e),S(null)},[]),q=(0,o.useCallback)(()=>{let e=new Date;a(e.getUTCFullYear()),i(e.getUTCMonth()),d(e.getUTCDate()),f(`${ij(e.getUTCHours())}:${ij(e.getUTCMinutes())}:00`),p(null),S(null)},[]),G=(0,o.useCallback)(async()=>{E(!0),M(null),S(null);try{let t=e?.database_name?`?db=${encodeURIComponent(e.database_name)}`:"",r=await fetch(`/api/time-travel/preview${t}`),n=await r.json();if(!r.ok||!n.success)throw Error(n.error||"Failed to refresh remote state");x(n.currentBookmark),S({bookmark:n.currentBookmark})}catch(e){M(e.message)}finally{E(!1)}},[e]),Y=(0,o.useCallback)(async()=>{D(!1),O(!0),L(null);try{let t=new Date(`${n}-${ij(s+1)}-${ij(c)}T${u}Z`).toISOString(),r=await fetch("/api/time-travel/restore",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({db:e?.database_name,bookmark:k?.bookmark??null,timestamp:t})}),a=await r.json();if(!r.ok||!a.success)throw Error(a.error||"Restore failed");U(a.undoBookmark),$(!0)}catch(e){L(e.message)}finally{O(!1)}},[n,s,c,u,e,k]),X=new Date(r-18e5),Q=new Date(r);Q.setHours(12,0,0,0);let J=new Date(r-864e5);J.setHours(18,0,0,0);let Z=new Date(r-1728e5);Z.setHours(9,0,0,0);let ee=new Date(r-6048e5);ee.setHours(0,0,0,0);let et=[{id:"q30",label:"30 minutes ago",time:`${ij(X.getUTCHours())}:${ij(X.getUTCMinutes())}`,date:X,y:X.getUTCFullYear(),m:X.getUTCMonth(),d:X.getUTCDate(),t:`${ij(X.getUTCHours())}:${ij(X.getUTCMinutes())}:00`,icon:"clock"},{id:"qtoday",label:"Earlier today",time:"12:00",date:Q,y:Q.getUTCFullYear(),m:Q.getUTCMonth(),d:Q.getUTCDate(),t:"12:00:00",icon:"clock"},{id:"qyest",label:"Yesterday evening",time:`${ib[J.getUTCMonth()].slice(0,3)} ${J.getUTCDate()}`,date:J,y:J.getUTCFullYear(),m:J.getUTCMonth(),d:J.getUTCDate(),t:"18:00:00",icon:"clock"},{id:"qmig",label:"Before last migration",time:`${ib[Z.getUTCMonth()].slice(0,3)} ${Z.getUTCDate()}`,date:Z,y:Z.getUTCFullYear(),m:Z.getUTCMonth(),d:Z.getUTCDate(),t:"09:00:00",icon:"shield"},{id:"qweek",label:"1 week ago",time:`${ib[ee.getUTCMonth()].slice(0,3)} ${ee.getUTCDate()}`,date:ee,y:ee.getUTCFullYear(),m:ee.getUTCMonth(),d:ee.getUTCDate(),t:"00:00:00",icon:"clock"}];return(0,l.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%",position:"relative",overflow:"hidden",background:iy.bg},children:[(0,l.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12,padding:"12px 18px",borderBottom:`1px solid ${iy.border}`,flexShrink:0},children:[(0,l.jsxs)("div",{children:[(0,l.jsx)("div",{style:{fontSize:13,fontWeight:600,color:iy.text},children:"Time travel"}),(0,l.jsxs)("div",{style:{fontSize:11,color:iy.text3,marginTop:1},children:[t," \xb7 remote \xb7"," ",g?"loading available window…":y?"could not load window info":h?`latest snapshot: ${h.slice(0,18)}…`:"restore to any point in the available window"]})]}),(0,l.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"5px 11px",background:iy.orangeBg,border:`1px solid ${iy.orangeBorder}`,borderRadius:20,fontSize:11,color:iy.orange,marginLeft:"auto",flexShrink:0},children:[(0,l.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 13 13",fill:"none",stroke:"currentColor",strokeWidth:"1.3",children:[(0,l.jsx)("path",{d:"M6.5 1L1 11h11z"}),(0,l.jsx)("path",{d:"M6.5 5v3M6.5 9.5v.5"})]}),"Restore overwrites remote DB in place"]})]}),(0,l.jsxs)("div",{style:{flex:1,display:"flex",overflow:"hidden"},children:[(0,l.jsxs)("div",{style:{width:290,minWidth:290,borderRight:`1px solid ${iy.border}`,display:"flex",flexDirection:"column",overflow:"hidden"},children:[(0,l.jsx)(iN,{year:n,month:s,selDay:c,today:r,earliest:C,onSelect:V,onPrev:H,onNext:W}),(0,l.jsxs)("div",{style:{padding:"12px 16px",borderBottom:`1px solid ${iy.border}`,flexShrink:0},children:[(0,l.jsx)("div",{style:{fontSize:11,fontWeight:500,color:iy.text3,marginBottom:7},children:"Time (UTC)"}),(0,l.jsxs)("div",{style:{display:"flex",gap:7,alignItems:"center"},children:[(0,l.jsx)("input",{value:u,onChange:e=>{f(e.target.value),S(null)},style:{flex:1,padding:"7px 10px",border:`1px solid ${iy.border}`,borderRadius:6,fontFamily:"ui-monospace,SF Mono,monospace",fontSize:13,color:iy.text,background:iy.bg,outline:"none"},onFocus:e=>e.target.style.borderColor=iy.border2,onBlur:e=>e.target.style.borderColor=iy.border,placeholder:"HH:MM:SS"}),(0,l.jsx)("button",{onClick:q,style:{padding:"7px 11px",border:`1px solid ${iy.border}`,borderRadius:6,fontSize:11,color:iy.text2,background:iy.bg2,cursor:"pointer",fontFamily:"system-ui,sans-serif",whiteSpace:"nowrap"},className:"hover:text-[#1a1714]",children:"Now"})]})]}),(0,l.jsxs)("div",{style:{padding:"10px 16px",flex:1,overflowY:"auto"},children:[(0,l.jsx)("div",{style:{fontSize:11,fontWeight:500,color:iy.text3,marginBottom:9},children:"Quick points"}),et.map(e=>{let t=m===e.id,r=e.date<new Date(C.getFullYear(),C.getMonth(),C.getDate());return(0,l.jsxs)("button",{onClick:r?void 0:()=>K(e.id,e.y,e.m,e.d,e.t),disabled:r,title:r?"Outside available Time Travel window":void 0,style:{display:"flex",alignItems:"center",gap:8,width:"100%",padding:"7px 10px",border:`1px solid ${t?iy.text:iy.border}`,borderRadius:7,background:t?iy.bg2:iy.bg,cursor:r?"not-allowed":"pointer",fontFamily:"system-ui,sans-serif",fontSize:12,color:r?iy.border2:t?iy.text:iy.text2,marginBottom:5,textAlign:"left",transition:"border-color 0.1s",opacity:r?.5:1},className:r?"":"hover:border-[#d4d0c8] hover:text-[#1a1714]",children:["clock"===e.icon?(0,l.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 13 13",fill:"none",stroke:"currentColor",strokeWidth:"1.2",style:{opacity:t?.8:.4,flexShrink:0},children:[(0,l.jsx)("circle",{cx:"6.5",cy:"6.5",r:"5"}),(0,l.jsx)("path",{d:"M6.5 3.5v3l2 1.5"})]}):(0,l.jsx)("svg",{width:"13",height:"13",viewBox:"0 0 13 13",fill:"none",stroke:"currentColor",strokeWidth:"1.2",style:{opacity:t?.8:.4,flexShrink:0},children:(0,l.jsx)("path",{d:"M6.5 1L1 4v3c0 3 2.4 5.5 5.5 6.5 3.1-1 5.5-3.5 5.5-6.5V4z"})}),e.label,(0,l.jsx)("span",{style:{marginLeft:"auto",fontFamily:"ui-monospace,SF Mono,monospace",fontSize:10,color:iy.text3},children:e.time})]},e.id)})]})]}),(0,l.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:"column",overflow:"hidden"},children:[(0,l.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"11px 16px",borderBottom:`1px solid ${iy.border}`,flexShrink:0},children:[(0,l.jsxs)("span",{style:{fontSize:12,fontWeight:500,color:iy.text,flex:1},children:["Snapshot — ",B]}),k?.bookmark&&(0,l.jsx)("span",{style:{fontFamily:"ui-monospace,SF Mono,monospace",fontSize:10,color:iy.text3,padding:"2px 7px",background:iy.bg2,border:`1px solid ${iy.border}`,borderRadius:3},children:k.bookmark.length>22?k.bookmark.slice(0,20)+"…":k.bookmark})]}),(0,l.jsxs)("div",{style:{flex:1,overflowY:"auto",padding:"14px 16px"},children:[T&&(0,l.jsx)("div",{style:{fontSize:12,color:"#dc2626",background:"#fef2f2",border:"1px solid #fecaca",borderRadius:7,padding:"10px 12px",marginBottom:12},children:T}),P&&(0,l.jsxs)("div",{style:{fontSize:12,color:"#dc2626",background:"#fef2f2",border:"1px solid #fecaca",borderRadius:7,padding:"10px 12px",marginBottom:12},children:["Restore failed: ",P]}),R&&(0,l.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,fontSize:12,color:iy.text3,padding:"20px 0"},children:[(0,l.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor",strokeWidth:"1.5",style:{animation:"spin 1s linear infinite"},children:[(0,l.jsx)("circle",{cx:"7",cy:"7",r:"5",strokeOpacity:"0.3"}),(0,l.jsx)("path",{d:"M7 2a5 5 0 0 1 5 5"})]}),"Loading snapshot info…",(0,l.jsx)("style",{children:"@keyframes spin { to { transform: rotate(360deg); } }"})]}),!R&&!k&&!T&&(0,l.jsxs)("div",{style:{padding:"20px 0",color:iy.text3,fontSize:12},children:[h&&(0,l.jsxs)("div",{style:{background:iy.bg2,border:`1px solid ${iy.border}`,borderRadius:8,padding:"12px 14px",marginBottom:14},children:[(0,l.jsx)("div",{style:{fontSize:11,fontWeight:500,color:iy.text3,marginBottom:6},children:"Current snapshot (latest)"}),(0,l.jsx)("div",{style:{fontFamily:"ui-monospace,SF Mono,monospace",fontSize:11,color:iy.text,wordBreak:"break-all"},children:h})]}),(0,l.jsxs)("div",{style:{textAlign:"center",paddingTop:h?4:24},children:[(0,l.jsxs)("svg",{width:"32",height:"32",viewBox:"0 0 13 13",fill:"none",stroke:"currentColor",strokeWidth:"1",style:{margin:"0 auto 10px",display:"block",opacity:.3},children:[(0,l.jsx)("circle",{cx:"6.5",cy:"6.5",r:"5"}),(0,l.jsx)("path",{d:"M6.5 3.5v3l2 1.5"})]}),"Select a date & time, then click ",(0,l.jsx)("strong",{children:"Refresh preview"})," to load snapshot info."]})]}),!R&&k&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("div",{style:{marginBottom:18},children:[(0,l.jsxs)("div",{style:{fontSize:11,fontWeight:600,color:iy.text,marginBottom:7,display:"flex",alignItems:"center",gap:6},children:["Remote state",(0,l.jsx)(ik,{type:"add",children:"refreshed"})]}),(0,l.jsx)(iC,{kind:"c",text:`Restore target: ${B}`}),k.bookmark?(0,l.jsx)(iC,{kind:"a",text:`current bookmark: ${k.bookmark}`}):(0,l.jsx)(iC,{kind:"c",text:"current bookmark: (not returned by wrangler)"}),(0,l.jsx)(iC,{kind:"c",text:"Restore will roll back all changes made after the selected time"})]}),(0,l.jsx)("div",{style:{fontSize:11,color:iy.text3,background:iy.bg2,border:`1px solid ${iy.border}`,borderRadius:7,padding:"10px 12px",lineHeight:1.6},children:"Cloudflare Time Travel does not provide a row-level diff before restore. After confirming, the database will be rolled back atomically to the selected point in time. An undo bookmark will be shown after restore."})]})]}),(0,l.jsxs)("div",{style:{padding:"12px 16px",borderTop:`1px solid ${iy.border}`,display:"flex",alignItems:"center",gap:10,background:iy.bg,flexShrink:0},children:[(0,l.jsxs)("div",{style:{flex:1},children:[(0,l.jsxs)("div",{style:{fontSize:12,fontWeight:500,color:iy.text},children:["Restore to ",z]}),k?.bookmark&&(0,l.jsxs)("div",{style:{fontSize:11,color:iy.text3,fontFamily:"ui-monospace,SF Mono,monospace",marginTop:1},children:["bookmark: ",k.bookmark]})]}),(0,l.jsxs)("button",{onClick:G,disabled:R,style:{display:"flex",alignItems:"center",gap:5,padding:"8px 14px",borderRadius:7,border:`1px solid ${iy.border}`,background:iy.bg,color:iy.text,fontSize:12,fontWeight:500,cursor:R?"default":"pointer",fontFamily:"system-ui,sans-serif",whiteSpace:"nowrap",opacity:R?.6:1},className:"hover:bg-[#f9f8f6]",children:[(0,l.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"1.3",children:[(0,l.jsx)("path",{d:"M1 6A5 5 0 0 1 10 3M11 6A5 5 0 0 1 2 9"}),(0,l.jsx)("path",{d:"M9 1.5v2h2M1 8.5v2h2"})]}),"Refresh preview"]}),(0,l.jsxs)("button",{onClick:()=>D(!0),disabled:_,style:{display:"flex",alignItems:"center",gap:5,padding:"8px 14px",borderRadius:7,border:"none",background:_?"#f87171":"#dc2626",color:"white",fontSize:12,fontWeight:500,cursor:_?"default":"pointer",fontFamily:"system-ui,sans-serif",whiteSpace:"nowrap"},className:"hover:bg-[#b91c1c]",children:[(0,l.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"1.3",children:[(0,l.jsx)("path",{d:"M1 6A5 5 0 0 1 10 3M11 6A5 5 0 0 1 2 9"}),(0,l.jsx)("path",{d:"M9 1.5v2h2M1 8.5v2h2"})]}),_?"Restoring…":"Restore database"]})]})]})]}),A&&(0,l.jsx)(iS,{label:z,bookmark:k?.bookmark,onCancel:()=>D(!1),onConfirm:Y}),I&&(0,l.jsx)(iR,{label:z,undoBookmark:F,onDone:()=>{$(!1),S(null)}})]})}function iT({open:e,onClose:t,onSubmit:r}){let[n,a]=(0,o.useState)(""),[s,i]=(0,o.useState)(""),[c,d]=(0,o.useState)(""),[u,f]=(0,o.useState)(!1),m=async e=>{e.preventDefault(),d(""),f(!0);try{await r({accountId:n,apiToken:s}),localStorage.setItem("cf_credentials",JSON.stringify({accountId:n,apiToken:s})),t()}catch(e){d(e.message)}finally{f(!1)}};return(0,l.jsx)(sR,{open:e,onOpenChange:t,children:(0,l.jsxs)(s0,{className:"sm:max-w-md",children:[(0,l.jsxs)(s1,{children:[(0,l.jsx)(s5,{children:"Connect to Cloudflare"}),(0,l.jsx)(s4,{children:"Enter your Cloudflare credentials to push your database to production."})]}),(0,l.jsxs)("form",{onSubmit:m,className:"space-y-4 mt-4",children:[c&&(0,l.jsx)(S,{variant:"destructive",children:(0,l.jsx)(R,{children:c})}),(0,l.jsxs)("div",{className:"space-y-2",children:[(0,l.jsx)("label",{className:"text-sm font-medium",children:"Account ID"}),(0,l.jsx)(N,{placeholder:"Your Cloudflare Account ID",value:n,onChange:e=>a(e.target.value),required:!0})]}),(0,l.jsxs)("div",{className:"space-y-2",children:[(0,l.jsx)("label",{className:"text-sm font-medium",children:"API Token"}),(0,l.jsx)(N,{type:"password",placeholder:"Your D1 Database API Token",value:s,onChange:e=>i(e.target.value),required:!0})]}),(0,l.jsxs)("div",{className:"flex justify-end gap-3",children:[(0,l.jsx)(nZ,{type:"button",variant:"outline",onClick:t,children:"Cancel"}),(0,l.jsxs)(nZ,{type:"submit",disabled:u,children:[u&&(0,l.jsx)(v,{className:"mr-2 h-4 w-4 animate-spin"}),"Connect"]})]})]})]})})}function iM(){let{refreshTables:e}=(0,nQ.t)(),[t,r]=(0,o.useState)(!1),[n,a]=(0,o.useState)(null),[s,i]=(0,o.useState)(null),{isConnecting:c,isPushing:d,showPreview:u,connectToCloudflare:f,pushToRemote:p,pullToRemotePreview:h,validateStoredCredentials:x,PreviewUI:g}=aP(),y=async()=>{i(null),a("push");try{if(!await x()){r(!0);return}await p(),i({type:"success",message:"Push to remote initiated. Check the preview for details."})}catch(e){i({type:"error",message:e.message})}},b=async()=>{i(null),a("pull");try{if(!await x()){r(!0);return}await h()}catch(e){i({type:"error",message:e.message})}},w=c||d;return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("div",{className:"h-full flex flex-col",children:[(0,l.jsxs)("div",{className:"flex items-center gap-2 p-4 border-b",children:[(0,l.jsx)(o7,{className:"h-4 w-4"}),(0,l.jsx)("h2",{className:"text-sm font-semibold",children:"Remote Sync"})]}),(0,l.jsx)("div",{className:"flex-1 overflow-auto p-6",children:(0,l.jsxs)("div",{className:"max-w-lg flex flex-col gap-6",children:[(0,l.jsx)("p",{className:"text-sm text-muted-foreground",children:"Sync your local D1 database with Cloudflare. Pushing uploads your local data to production; pulling downloads the remote state to your local environment."}),s&&(0,l.jsxs)(S,{variant:"error"===s.type?"destructive":"default",children:["error"===s.type?(0,l.jsx)(m,{className:"h-4 w-4"}):(0,l.jsx)(s8,{className:"h-4 w-4"}),(0,l.jsx)(R,{children:s.message})]}),(0,l.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,l.jsxs)("div",{className:"border rounded-md p-4 bg-white flex flex-col gap-3",children:[(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)(oO,{className:"h-4 w-4 text-neutral-600"}),(0,l.jsx)("span",{className:"text-sm font-semibold",children:"Push to remote"})]}),(0,l.jsx)("p",{className:"text-xs text-muted-foreground",children:"Upload local database state to your Cloudflare D1 database."}),(0,l.jsx)(nZ,{size:"sm",onClick:y,disabled:w,className:"w-full",children:d&&"push"===n?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(v,{className:"h-4 w-4 animate-spin mr-2"})," Pushing…"]}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(oO,{className:"h-4 w-4 mr-2"})," Push"]})})]}),(0,l.jsxs)("div",{className:"border rounded-md p-4 bg-white flex flex-col gap-3",children:[(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)(sa,{className:"h-4 w-4 text-neutral-600"}),(0,l.jsx)("span",{className:"text-sm font-semibold",children:"Pull from remote"})]}),(0,l.jsx)("p",{className:"text-xs text-muted-foreground",children:"Download Cloudflare D1 data into your local environment."}),(0,l.jsx)(nZ,{size:"sm",variant:"outline",onClick:b,disabled:w,className:"w-full",children:c&&"pull"===n?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(v,{className:"h-4 w-4 animate-spin mr-2"})," Pulling…"]}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(sa,{className:"h-4 w-4 mr-2"})," Pull"]})})]})]}),(0,l.jsx)("p",{className:"text-xs text-muted-foreground",children:"Cloudflare API credentials are required. You'll be prompted to enter them if not already saved."})]})})]}),(0,l.jsx)(iT,{open:t,onClose:()=>r(!1),onSubmit:f}),g]})}let iA={loading:"text-blue-500 border-blue-500/40 bg-blue-500/5",success:"text-green-600 border-green-500/40 bg-green-500/5",error:"text-red-500 border-red-500/40 bg-red-500/5",info:"text-muted-foreground border-border bg-transparent"},iD={loading:null,success:"✓",error:"✗",info:"─"};function i_(){let{lastStatus:e}=(0,nQ.t)(),t=function(e){let[t,r]=(0,o.useState)("");return t}(e?.ts),r=e?.type??"info",n=e?.message??"Ready",a=e?.detail??null,s=iA[r]??iA.info,i=iD[r];return(0,l.jsxs)("div",{className:`flex items-center justify-between h-8 px-4 border-t font-mono text-xs select-none shrink-0 ${s}`,role:"status","aria-live":"polite",children:[(0,l.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,l.jsx)("span",{className:"shrink-0 w-4 flex items-center justify-center",children:"loading"===r?(0,l.jsx)(v,{className:"h-3 w-3 animate-spin"}):(0,l.jsx)("span",{children:i})}),(0,l.jsx)("span",{className:"truncate",children:n}),a&&(0,l.jsxs)("span",{className:"text-muted-foreground truncate hidden sm:inline",children:["\xb7 ",a]})]}),t&&(0,l.jsx)("span",{className:"text-muted-foreground shrink-0 pl-4",children:t})]})}function iO(){let[e,t]=(0,o.useState)("sql-editor"),[r,n]=(0,o.useState)(null),[a,s]=(0,o.useState)("");return(0,l.jsxs)("div",{className:"flex h-screen bg-background",children:[(0,l.jsx)(aI,{className:"w-64 border-r flex-shrink-0",currentView:e,onNavigate:t,onTableSelect:e=>{n(e),t("table-view")}}),(0,l.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden",children:[(0,l.jsxs)("main",{className:"flex-1 overflow-hidden",children:["sql-editor"===e&&(0,l.jsx)(lw,{initialQuery:a}),"schema"===e&&(0,l.jsx)(iv,{}),"migrations"===e&&(0,l.jsx)(ih,{}),"time-travel"===e&&(0,l.jsx)(iE,{}),"remote-sync"===e&&(0,l.jsx)(iM,{}),"table-view"===e&&r&&(0,l.jsx)(im,{tableName:r,onOpenInSQL:e=>{s(e),t("sql-editor")}})]}),(0,l.jsx)(i_,{})]})]})}},8868:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>n});let n=(0,r(4379).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Volumes/ProjectSpace/_wip/d1studio/src/app/page.jsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Volumes/ProjectSpace/_wip/d1studio/src/app/page.jsx","default")}};var t=require("../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),n=t.X(0,[994,992,572],()=>r(7185));module.exports=n})();
|
|
54
|
+
For more information, see https://radix-ui.com/primitives/docs/components/${b.docsSlug}`;return g.useEffect(()=>{a&&(document.getElementById(a)||console.error(c))},[c,a]),null},hU=({contentRef:a,descriptionId:b})=>{let c=hS("DialogDescriptionWarning"),d=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${c.contentName}}.`;return g.useEffect(()=>{let c=a.current?.getAttribute("aria-describedby");b&&c&&(document.getElementById(b)||console.warn(d))},[d,a,b]),null};let hV=g.forwardRef(({className:a,...b},c)=>(0,f.jsx)(hC,{ref:c,className:(0,w.cn)("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",a),...b}));hV.displayName=hC.displayName;let hW=g.forwardRef(({className:a,children:b,...c},d)=>(0,f.jsxs)(hA,{children:[(0,f.jsx)(hV,{}),(0,f.jsxs)(hF,{ref:d,className:(0,w.cn)("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",a),...c,children:[b,(0,f.jsxs)(hO,{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,f.jsx)(ey.A,{className:"h-4 w-4"}),(0,f.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));hW.displayName=hF.displayName;let hX=({className:a,...b})=>(0,f.jsx)("div",{className:(0,w.cn)("flex flex-col space-y-1.5 text-center sm:text-left",a),...b});hX.displayName="DialogHeader";let hY=({className:a,...b})=>(0,f.jsx)("div",{className:(0,w.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",a),...b});hY.displayName="DialogFooter";let hZ=g.forwardRef(({className:a,...b},c)=>(0,f.jsx)(hK,{ref:c,className:(0,w.cn)("text-lg font-semibold leading-none tracking-tight",a),...b}));hZ.displayName=hK.displayName;let h$=g.forwardRef(({className:a,...b},c)=>(0,f.jsx)(hM,{ref:c,className:(0,w.cn)("text-sm text-muted-foreground",a),...b}));h$.displayName=hM.displayName;let h_=function({isOpen:a,onClose:b,onConfirm:c,selectedCount:d,tableName:e,isDeleting:g,error:h}){return(0,f.jsx)(hv,{open:a,onOpenChange:b,children:(0,f.jsxs)(hW,{className:"sm:max-w-md font-sans",children:[(0,f.jsxs)(hX,{children:[(0,f.jsxs)(hZ,{className:"mb-2",children:["Delete ",d," ",1===d?"Record":"Records","?"]}),(0,f.jsxs)(h$,{className:"text-neutral-600 font-medium",children:["You're about to delete ",d," ",1===d?"record":"records"," from ",(0,f.jsx)("span",{className:"font-sans font-bold text-neutral-900",children:e}),"."]})]}),h&&(0,f.jsxs)(A,{variant:"destructive",children:[(0,f.jsx)(n,{className:"h-4 w-4"}),(0,f.jsx)(B,{children:h})]}),(0,f.jsxs)(hY,{className:"flex gap-1 mt-2 sm:justify-end font-sans",children:[(0,f.jsx)(dT,{variant:"outline",onClick:b,disabled:g,children:"Cancel"}),(0,f.jsx)(dT,{variant:"destructive",onClick:c,disabled:g,children:g?"Deleting...":"Delete"})]})]})})};function h0({isOpen:a,onClose:b,error:c}){if(!c||!a)return null;let{message:d,icon:e}=c?{message:c.message,icon:n}:{message:"An unknown error occurred.",icon:n};return(0,f.jsx)(hv,{open:a,onOpenChange:b,children:(0,f.jsxs)(hW,{className:"sm:max-w-md font-sans",children:[(0,f.jsx)(hX,{children:(0,f.jsxs)("div",{className:"flex items-center gap-2",children:[(0,f.jsx)(e,{className:"h-4 w-4 text-red-500"}),(0,f.jsx)(hZ,{children:"Error"})]})}),(0,f.jsxs)("div",{className:"space-y-4",children:[(0,f.jsx)("p",{className:"bg-neutral-100 p-2 rounded-md text-neutral-900",children:d}),c.details?.suggestions&&(0,f.jsxs)("div",{className:"text-sm space-y-1",children:[(0,f.jsx)("p",{className:"font-medium",children:"Suggestions:"}),(0,f.jsx)("ul",{className:"list-disc pl-4 space-y-1",children:c.details.suggestions.map((a,b)=>(0,f.jsx)("li",{children:a},b))})]})]}),(0,f.jsx)("div",{className:"flex justify-end gap-2 mt-4",children:(0,f.jsx)(dT,{variant:"default",onClick:b,children:"Got it"})})]})})}let h1=(0,k.A)("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);function h2({open:a,onClose:b,tableName:c,schema:d,onImportComplete:e}){let{currentDatabase:h}=(0,dR.t)(),{toast:i}=(0,g6.dj)(),j=(0,g.useRef)(null),[k,l]=(0,g.useState)(null),[m,o]=(0,g.useState)(""),[p,q]=(0,g.useState)(null),[r,s]=(0,g.useState)(!1),[t,u]=(0,g.useState)(null),v=d.map(a=>a.name),w=(0,g.useCallback)(()=>{l(null),o(""),q(null),u(null),j.current&&(j.current.value="")},[]),x=(0,g.useCallback)(()=>{w(),b()},[w,b]),y=(0,g.useCallback)(async a=>{let b=a.target.files?.[0];if(b){q(null),u(null),o(b.name);try{let a,c=await b.text();if(b.name.endsWith(".json")){let b=JSON.parse(c);a=Array.isArray(b)?b:[b]}else if(b.name.endsWith(".csv"))a=function(a){let b=a.trim().split("\n");if(b.length<2)return[];let c=b[0].split(",").map(a=>a.trim().replace(/^"|"$/g,""));return b.slice(1).map(a=>{let b=[],d="",e=!1;for(let c=0;c<a.length;c++){let f=a[c];'"'===f?e&&'"'===a[c+1]?(d+='"',c++):e=!e:","!==f||e?d+=f:(b.push(d.trim()),d="")}b.push(d.trim());let f={};return c.forEach((a,c)=>{f[a]=b[c]??""}),f})}(c);else throw Error("Unsupported file type. Use .json or .csv");if(0===a.length)throw Error("File contains no data rows");l(a)}catch(a){q(a.message),l(null)}}},[]),z=(0,g.useCallback)(async()=>{if(k?.length){s(!0);try{let a=h?.database_name,b=await fetch(`/api/tables/${c}/import`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({rows:k,...a&&{db:a}})}),d=await b.json();if(!b.ok||!d.success)throw Error(d.error||"Import failed");u(d),i({title:"Import Complete",description:`${d.imported} row${1!==d.imported?"s":""} imported.`}),e?.()}catch(a){q(a.message)}finally{s(!1)}}},[k,c,h,i,e]),C=k?Object.keys(k[0]):[],D=C.filter(a=>v.includes(a)),E=C.filter(a=>!v.includes(a)),F=k?.slice(0,5)??[];return(0,f.jsx)(hv,{open:a,onOpenChange:a=>!a&&x(),children:(0,f.jsxs)(hW,{className:"max-w-3xl max-h-[85vh] flex flex-col",children:[(0,f.jsx)(hX,{children:(0,f.jsxs)(hZ,{children:["Import data into ",(0,f.jsx)("span",{className:"font-mono",children:c})]})}),(0,f.jsxs)("div",{className:"flex-1 overflow-y-auto space-y-4 py-2",children:[!k&&!t&&(0,f.jsxs)("div",{className:"border-2 border-dashed rounded-lg p-8 text-center cursor-pointer hover:bg-muted/50 transition-colors",onClick:()=>j.current?.click(),children:[(0,f.jsx)(gC,{className:"h-8 w-8 mx-auto mb-2 text-muted-foreground"}),(0,f.jsx)("p",{className:"text-sm font-medium",children:"Click to select a file"}),(0,f.jsx)("p",{className:"text-xs text-muted-foreground mt-1",children:"Supports .csv and .json"}),(0,f.jsx)("input",{ref:j,type:"file",accept:".csv,.json",className:"hidden",onChange:y})]}),p&&(0,f.jsxs)(A,{variant:"destructive",children:[(0,f.jsx)(n,{className:"h-4 w-4"}),(0,f.jsx)(B,{children:p})]}),t&&(0,f.jsxs)(A,{children:[(0,f.jsx)(h1,{className:"h-4 w-4"}),(0,f.jsxs)(B,{children:["Imported ",t.imported," row",1!==t.imported?"s":"",".",t.failed>0&&` ${t.failed} failed.`]})]}),k&&!t&&(0,f.jsxs)("div",{className:"space-y-3",children:[(0,f.jsxs)("div",{className:"flex items-center justify-between",children:[(0,f.jsxs)("div",{className:"flex items-center gap-2 text-sm",children:[m.endsWith(".json")?(0,f.jsx)(g9,{className:"h-4 w-4"}):(0,f.jsx)(ha,{className:"h-4 w-4"}),(0,f.jsx)("span",{className:"font-medium",children:m}),(0,f.jsxs)("span",{className:"text-muted-foreground",children:["— ",k.length," rows"]})]}),(0,f.jsx)(dT,{variant:"ghost",size:"sm",onClick:w,children:"Change file"})]}),E.length>0&&(0,f.jsxs)(A,{children:[(0,f.jsx)(n,{className:"h-4 w-4"}),(0,f.jsxs)(B,{className:"text-xs",children:["Columns not in table schema (will be ignored):"," ",(0,f.jsx)("span",{className:"font-mono",children:E.join(", ")})]})]}),(0,f.jsxs)("div",{children:[(0,f.jsxs)("p",{className:"text-xs text-muted-foreground mb-1",children:["Preview (first ",Math.min(5,k.length)," of ",k.length," rows)"]}),(0,f.jsx)("div",{className:"border rounded overflow-auto max-h-48",children:(0,f.jsxs)(es,{children:[(0,f.jsx)(et,{children:(0,f.jsx)(ev,{children:D.map(a=>(0,f.jsx)(ew,{className:"text-xs whitespace-nowrap py-1 px-2",children:a},a))})}),(0,f.jsx)(eu,{children:F.map((a,b)=>(0,f.jsx)(ev,{children:D.map(b=>(0,f.jsx)(ex,{className:"text-xs py-1 px-2 max-w-32 truncate",children:null===a[b]||void 0===a[b]?(0,f.jsx)("span",{className:"text-muted-foreground italic",children:"null"}):String(a[b])},b))},b))})]})})]})]})]}),(0,f.jsxs)(hY,{children:[(0,f.jsx)(dT,{variant:"ghost",onClick:x,disabled:r,children:t?"Close":"Cancel"}),k&&!t&&(0,f.jsx)(dT,{onClick:z,disabled:r||0===D.length,children:r?"Importing…":`Import ${k.length} row${1!==k.length?"s":""}`})]})]})})}let h3=({children:a,width:b,onResize:c,className:d=""})=>{let e=(0,g.useRef)(null),h=(0,g.useCallback)(a=>{a.preventDefault(),a.stopPropagation();let d=a.clientX,f=e.current?.offsetWidth??(b||150),g=e.current?.closest("table"),h=g?.offsetWidth??0;g&&(g.style.width=`${h}px`);let i=f,j=a=>{let b=Math.max(f+(a.clientX-d),80),c=b-i;i=b,e.current&&(e.current.style.width=`${b}px`),g&&0!==c&&(g.style.width=`${parseFloat(g.style.width)+c}px`)},k=a=>{document.removeEventListener("mousemove",j),document.removeEventListener("mouseup",k),document.body.style.cursor="",document.body.style.userSelect="";let b=Math.max(f+(a.clientX-d),80);g&&(g.style.width=""),c(b)};document.body.style.cursor="col-resize",document.body.style.userSelect="none",document.addEventListener("mousemove",j),document.addEventListener("mouseup",k)},[b,c]);return(0,f.jsxs)("th",{ref:e,className:`relative overflow-hidden ${d}`,style:{width:`${b}px`},children:[a,(0,f.jsx)("div",{className:"absolute top-0 right-0 h-full w-1.5 cursor-col-resize hover:bg-blue-400/40 z-10",onMouseDown:h,onDoubleClick:a=>{a.preventDefault(),a.stopPropagation()}})]})},h4=(0,k.A)("ArrowUp",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]),h5=(0,k.A)("ArrowDown",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]),h6=(0,k.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 h7({column:a,sortConfig:b,onSort:c,children:d}){let e=b[a];return(0,f.jsx)("div",{className:"flex items-center w-full",children:(0,f.jsxs)(dT,{variant:"ghost",size:"sm",className:"h-8 hover:bg-neutral-100 w-full justify-between",onClick:()=>{c(a,e?"asc"===e?"desc":null:"asc")},children:[(0,f.jsx)("span",{className:"flex items-center gap-1 font-mono",children:d}),(0,f.jsxs)("span",{className:"shrink-0",children:["asc"===e&&(0,f.jsx)(h4,{className:"h-4 w-4"}),"desc"===e&&(0,f.jsx)(h5,{className:"h-4 w-4"}),!e&&(0,f.jsx)(h6,{className:"h-4 w-4"})]})]})})}function h8({relatedTable:a,relatedKey:b,value:c,colSpan:d,onClose:e}){let{executeQuery:h}=(0,dR.t)(),[i,j]=(0,g.useState)(null),[k,l]=(0,g.useState)(!0),[m,n]=(0,g.useState)(!1),o=i?Object.keys(i):[];return(0,f.jsx)(ev,{className:"bg-neutral-50 hover:bg-neutral-50",children:(0,f.jsx)(ex,{colSpan:d,className:"py-2 px-4 border-b border-neutral-200",children:(0,f.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,f.jsxs)("div",{className:"flex flex-col gap-1.5 flex-1 min-w-0",children:[(0,f.jsx)("span",{className:"text-[11px] font-semibold px-2 py-0.5 self-start rounded-full bg-neutral-200 text-neutral-600 font-mono",children:a}),k&&(0,f.jsx)(s,{className:"h-3.5 w-3.5 animate-spin text-neutral-400"}),!k&&m&&(0,f.jsx)("span",{className:"text-xs text-muted-foreground italic",children:"No related record found"}),!k&&i&&(0,f.jsx)("div",{className:"overflow-x-auto [&::-webkit-scrollbar]:hidden",style:{scrollbarWidth:"none"},children:(0,f.jsxs)("table",{className:"text-[11px] font-mono border border-neutral-200 rounded-md overflow-hidden",children:[(0,f.jsx)("thead",{children:(0,f.jsx)("tr",{className:"bg-neutral-100 border-b border-neutral-200",children:o.map(a=>(0,f.jsx)("th",{className:"px-3 py-1 text-left text-muted-foreground font-medium border-r border-neutral-200 last:border-r-0 whitespace-nowrap",children:a},a))})}),(0,f.jsx)("tbody",{children:(0,f.jsx)("tr",{className:"bg-white",children:o.map(a=>(0,f.jsx)("td",{className:"px-3 py-1.5 border-r border-neutral-200 last:border-r-0 whitespace-nowrap max-w-[220px] truncate",children:null==i[a]?(0,f.jsx)("span",{className:"text-neutral-400 italic",children:"null"}):String(i[a])},a))})})]})})]}),(0,f.jsx)("button",{onClick:e,className:"shrink-0 rounded p-0.5 hover:bg-neutral-200 text-muted-foreground hover:text-neutral-700 transition-colors mt-0.5",title:"Close",children:(0,f.jsx)(ey.A,{className:"h-3.5 w-3.5"})})]})})})}let h9=(0,k.A)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]),ia=[{value:"equals",label:"= equals"},{value:"not_equals",label:"≠ not equals"},{value:"contains",label:"~ contains"},{value:"starts_with",label:"^ starts with"},{value:"ends_with",label:"$ ends with"},{value:"gt",label:"> greater than"},{value:"gte",label:"≥ greater or equal"},{value:"lt",label:"< less than"},{value:"lte",label:"≤ less or equal"},{value:"is_null",label:"is null"},{value:"is_not_null",label:"is not null"}],ib=new Set(["is_null","is_not_null"]),ic=1;function id(a){let b=a.filter(a=>!!a.column&&!!a.operator&&(!!ib.has(a.operator)||!!String(a.value??"").trim())).map(a=>{let b=`"${a.column}"`,c=a=>String(a).replace(/'/g,"''");switch(a.operator){case"equals":return`${b} LIKE '${c(a.value)}'`;case"not_equals":return`${b} NOT LIKE '${c(a.value)}'`;case"contains":return`${b} LIKE '%${c(a.value)}%'`;case"starts_with":return`${b} LIKE '${c(a.value)}%'`;case"ends_with":return`${b} LIKE '%${c(a.value)}'`;case"gt":return`${b} > '${c(a.value)}'`;case"gte":return`${b} >= '${c(a.value)}'`;case"lt":return`${b} < '${c(a.value)}'`;case"lte":return`${b} <= '${c(a.value)}'`;case"is_null":return`${b} IS NULL`;case"is_not_null":return`${b} IS NOT NULL`;default:return null}}).filter(Boolean);return 0===b.length?null:b.join(" AND ")}function ie({schema:a,filters:b,onFiltersChange:c,onOpenInSQL:d}){let e=a.map(a=>a.name),h=(0,g.useCallback)(()=>{c([...b,function(a=""){return{id:ic++,column:a,operator:"contains",value:""}}(e[0]||"")])},[b,c,e]),i=(0,g.useCallback)(a=>{c(b.filter(b=>b.id!==a))},[b,c]),j=(0,g.useCallback)((a,d)=>{c(b.map(b=>b.id===a?{...b,...d}:b))},[b,c]),k=(0,g.useCallback)(()=>{c([])},[c]);return(0,f.jsxs)("div",{className:"border-b bg-neutral-50 px-3 py-2 flex flex-col gap-1.5 font-sans",children:[0===b.length&&(0,f.jsx)("div",{className:"text-xs text-muted-foreground py-0.5",children:"No filters applied. Add a filter below."}),b.map(a=>(0,f.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,f.jsxs)(fR,{value:a.column,onValueChange:b=>j(a.id,{column:b}),children:[(0,f.jsx)(gw,{className:"h-7 text-xs w-36 min-w-0",children:(0,f.jsx)(fV,{placeholder:"Column"})}),(0,f.jsx)(gz,{children:e.map(a=>(0,f.jsx)(gA,{value:a,className:"text-xs font-mono",children:a},a))})]}),(0,f.jsxs)(fR,{value:a.operator,onValueChange:b=>j(a.id,{operator:b}),children:[(0,f.jsx)(gw,{className:"h-7 text-xs w-36 min-w-0",children:(0,f.jsx)(fV,{})}),(0,f.jsx)(gz,{children:ia.map(a=>(0,f.jsx)(gA,{value:a.value,className:"text-xs",children:a.label},a.value))})]}),!ib.has(a.operator)&&(0,f.jsx)(x,{className:"h-7 text-xs w-44 min-w-0 font-mono",placeholder:"value",value:a.value,onChange:b=>j(a.id,{value:b.target.value})}),(0,f.jsx)("button",{className:"shrink-0 rounded p-0.5 hover:bg-neutral-200 text-muted-foreground transition-colors",onClick:()=>i(a.id),title:"Remove filter",children:(0,f.jsx)(ey.A,{className:"h-3.5 w-3.5"})})]},a.id)),(0,f.jsxs)("div",{className:"flex items-center gap-2 pt-0.5",children:[(0,f.jsxs)(dT,{size:"sm",variant:"ghost",className:"h-6 text-xs px-2 gap-1",onClick:h,children:[(0,f.jsx)(h9,{className:"h-3 w-3"}),"Add filter"]}),b.length>0&&(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)(dT,{size:"sm",variant:"ghost",className:"h-6 text-xs px-2 gap-1",onClick:d,children:[(0,f.jsx)(t,{className:"h-3 w-3"}),"Open in SQL"]}),(0,f.jsx)(dT,{size:"sm",variant:"ghost",className:"h-6 text-xs px-2 text-red-500 hover:text-red-600 hover:bg-red-50",onClick:k,children:"Clear filters"})]})]})]})}function ig({tableName:a,onOpenInSQL:b}){let{executeQuery:c,getCachedTable:d,updateTableCache:e,invalidateTable:h,switchTable:j,activeTable:k,updateTableData:l,setOperationStatus:m}=(0,dR.t)(),{toast:o}=(0,g6.dj)(),[p,q]=(0,g.useState)(()=>[]),[r,t]=(0,g.useState)([]),[u,v]=(0,g.useState)(0),[w,x]=(0,g.useState)(!0),[y,z]=(0,g.useState)(!1),[C,D]=(0,g.useState)(null),[E,F]=(0,g.useState)(new Map),[G,H]=(0,g.useState)(new Set),[I,J]=(0,g.useState)([]),[K,L]=(0,g.useState)(1),[M,N]=(0,g.useState)(50),[O,P]=(0,g.useState)(1),[Q,R]=(0,g.useState)(new Set),S=(0,g.useRef)(null),[T,U]=(0,g.useState)(!1),[V,W]=(0,g.useState)(!1),[X,Y]=(0,g.useState)(null),[Z,$]=(0,g.useState)(!1),[_,aa]=(0,g.useState)(!1),[ab,ac]=(0,g.useState)(null),[ad,ae]=(0,g.useState)({}),[af,ag]=(0,g.useState)([]),[ah,ai]=(0,g.useState)(!1),[aj,ak]=(0,g.useState)(null),[al,am]=(0,g.useState)(0),[an,ao]=(0,g.useState)({}),[ap,aq]=(0,g.useState)(null);(0,g.useRef)(null);let[ar,as]=(0,g.useState)({}),[at,au]=(0,g.useState)([]),av=ah&&null!==aj,aw=av?aj:p,ax=av?al:u,ay=av?Math.max(1,Math.ceil(al/M)):O,az=r.filter(a=>at.includes(a.name)),aA=az.reduce((a,b)=>a+(ar[b.name]||150),40),aB=E.size>0||I.length>0,aC=(0,g.useCallback)(async a=>{try{let b=await c(`PRAGMA foreign_key_list("${a}")`),d=b?.results?.[0]?.results||[];if(d.length>0){let a={};d.forEach(b=>{a[b.from]={table:b.table,to:b.to}}),ao(a)}else ao({})}catch{ao({})}},[c]),aD=(0,g.useCallback)(async(b=!1)=>{if(!a)return;let c=d(a,K,M);if(c&&!b){q(c.data),t(c.schema),v(c.meta.total),P(c.meta.totalPages);return}x(!0),D(null),R(new Set);try{let c=await j(a,{page:K,limit:M,forceFetch:b});c.meta.page=K;let d=c.schema||[];return q(Array.isArray(c.data)?c.data:[]),t(d),v(c.meta.total),P(c.meta.totalPages),au(d.map(a=>a.name)),aq(null),aC(a),!0}catch(a){throw console.error("Error loading table data:",a),D(a.message||String(a)),o({variant:"destructive",title:"Error",description:`Failed to load table: ${a.message}`}),a}finally{x(!1)}},[a,K,M,d,j,o,aC]),aE=(0,g.useCallback)(b=>{au(c=>{let d=c.includes(b)?c.filter(a=>a!==b):[...c,b];return localStorage.setItem(`table-columns-${a}`,JSON.stringify(d)),d})},[a]),aF=(0,g.useCallback)((b,c)=>{as(d=>{let e={...d,[b]:c};return localStorage.setItem(`table-widths-${a}`,JSON.stringify(e)),e})},[a]),aG=(0,g.useCallback)(async()=>{try{R(new Set),h(a),await aD(!0),o({title:"Success",description:"Table data refreshed"})}catch(a){console.error("Refresh failed:",a),o({variant:"destructive",title:"Refresh Failed",description:a.message})}},[aD,h,a,o]),aH=(0,g.useCallback)((b,c)=>{ae(a=>({...a,[b]:c}));let f=c&&p.length?[...p].sort((a,d)=>{let e=a[b],f=d[b];if(null==e&&null==f)return 0;if(null==e)return 1;if(null==f)return -1;if("number"==typeof e&&"number"==typeof f)return"asc"===c?e-f:f-e;let g=String(e).toLowerCase(),h=String(f).toLowerCase();return"asc"===c?g.localeCompare(h):h.localeCompare(g)}):p;q(f);let g=d(a);g&&e(a,f,g.schema,{...g.meta,currentPage:K,limit:M},K,M)},[p,a,d,e]),aI=(0,g.useCallback)((a,b,c)=>{let d=`${a}::${b}`;F(a=>new Map(a).set(d,{value:c,originalValue:c})),H(b=>new Set(b).add(a))},[]),aJ=(0,g.useCallback)((a,b,c)=>{let d=`${a}::${b}`,e=p[a],f=E.get(d)?.originalValue??e[b];if(c===f){let b=new Map(E);if(b.delete(d),F(b),!Array.from(b.keys()).some(b=>b.startsWith(`${a}::`))){let b=new Set(G);b.delete(a),H(b)}}else F(a=>new Map(a).set(d,{value:c,originalValue:f})),H(b=>new Set(b).add(a))},[p,E,G]),aK=(0,g.useCallback)(()=>{J(a=>[...a,{}])},[]),aL=(0,g.useCallback)(a=>{J(b=>b.filter((b,c)=>c!==a))},[]),aM=(0,g.useCallback)((a,b)=>{J(c=>{let d=[...c];return d[a]=b,d})},[]),aN=async(b=!1)=>{z(!0);try{if(I.length>0){let b=0,d=r.filter(a=>"datetime"===a.type.toLowerCase()).map(a=>a.name);for(let e of I){let f=Object.keys(e).filter(a=>{let b=e[a];if(null===b||""===b||"null"===b){let b=r.find(b=>b.name===a);return!!(b?.dflt_value&&(b.dflt_value.includes("datetime(")||b.dflt_value.includes("randomblob")||b.dflt_value.includes("lower(hex(")))}if(b?.toString()==="[Auto-generated INT]"){let b=r.find(b=>b.name===a);if(b&&1===b.pk&&"INTEGER"===b.type.toUpperCase())return!1}return b?.toString(),!0});if(d.forEach(a=>{f.includes(a)||f.push(a)}),0===f.length)continue;let g=a=>a?.dflt_value&&"null"!==a.dflt_value&&null!==a.dflt_value,h=f.map(a=>{if(d.includes(a))return"CURRENT_TIMESTAMP";let b=e[a];if(null===b||""===b||"null"===b){let b=r.find(b=>b.name===a);return g(b)?b.dflt_value:"NULL"}let c=b.toString();if("[Auto-generated UUID]"===c){let b=r.find(b=>b.name===a);if(g(b))return b.dflt_value}if("[Auto-generated]"===c){let b=r.find(b=>b.name===a);return g(b)?b.dflt_value:"lower(hex(randomblob(8)))"}if("[Auto-generated INT]"===c){let b=r.find(b=>b.name===a);if(b&&1===b.pk&&"INTEGER"===b.type.toUpperCase())return null}return c.includes("randomblob")||c.includes("CURRENT_TIMESTAMP")||c.includes("lower(hex(")||c.includes("datetime(")||c.startsWith("(")&&c.endsWith(")")?c:`'${c.replace(/'/g,"''")}'`}),i=`INSERT INTO ${a} (${f.join(", ")}) VALUES (${h.join(", ")});`;await c(i),b++}if(b>0){let c=await l(a);q(c.data),v(c.meta.total),P(Math.ceil(c.meta.total/M)),m("success",`Added ${b} ${1===b?"record":"records"} \xb7 ${a}`),o({title:"Success",description:`Added ${b} ${1===b?"record":"records"}`})}J([])}if(E.size>0&&(b||!ab)){let b=r.find(a=>1===a.pk),d=b?.name;if(!d)throw Error("No primary key found in table schema");let e=b?.type?.toUpperCase()==="INTEGER",f=new Map;E.forEach((a,b)=>{let c=b.indexOf("::"),e=b.substring(0,c),g=b.substring(c+2),h=p[e];f.has(h[d])||f.set(h[d],new Map),f.get(h[d]).set(g,a.value)});let g=0;for(let[b,h]of f){let f=Array.from(h.entries()).map(([a,b])=>null===b||""===b||"null"===b?`${a} = NULL`:"CURRENT_TIMESTAMP"===b?`${a} = CURRENT_TIMESTAMP`:`${a} = '${b.toString().replace(/'/g,"''")}'`).join(", "),i=e?b:`'${String(b).replace(/'/g,"''")}'`,j=`
|
|
55
|
+
UPDATE ${a}
|
|
56
|
+
SET ${f}
|
|
57
|
+
WHERE ${d} = ${i};
|
|
58
|
+
`;await c(j),g++}if(g>0){let b=await l(a);q(b.data),v(b.meta.total),P(Math.ceil(b.meta.total/M)),m("success",`Updated ${g} ${1===g?"record":"records"} \xb7 ${a}`),o({title:"Success",description:`Updated ${g} ${1===g?"record":"records"}`})}}F(new Map),H(new Set),ac(null)}catch(d){let b=fk(d),c={...b,stderr:d.stderr,stdout:d.stdout};m("error",b.message||"Save failed",`Error saving changes to ${a}`),ac(c),aa(!0)}finally{z(!1)}},aO=(0,g.useCallback)(async()=>{if(a){W(!0),Y(null);try{let b,d=r.find(a=>1===a.pk)?.name;if(!d)throw Error("No primary key found in table schema");let e=Array.from(Q).map(a=>p[a][d]);if(0===e.length)return;let f=a=>null==a||"null"===a,g=e.filter(f),h=e.filter(a=>!f(a)),i=h.map(a=>"string"==typeof a&&isNaN(a)?`'${a.replace(/'/g,"''")}'`:a);b=g.length>0&&h.length>0?`DELETE FROM ${a} WHERE ${d} IS NULL OR ${d} IN (${i.join(",")});`:g.length>0?`DELETE FROM ${a} WHERE ${d} IS NULL;`:`DELETE FROM ${a} WHERE ${d} IN (${i.join(",")});`,await c(b);let j=new Set(e),k=p.filter(a=>!j.has(a[d]));q(k),v(a=>a-e.length),P(Math.ceil((u-e.length)/M)),K>1&&p.length===e.length&&L(a=>a-1),U(!1),R(new Set),m("success",`Deleted ${e.length} ${1===e.length?"record":"records"} \xb7 ${a}`),o({title:"Success",description:`Deleted ${e.length} ${1===e.length?"record":"records"}`})}catch(b){console.error("Delete operation failed:",b),m("error",b.message||"Delete failed",`Error deleting from ${a}`),Y(b.message||String(b))}finally{W(!1)}}},[a,Q,p,r,c,l,aD,K,M,u,o,d,e,m]),aP=(0,g.useCallback)(a=>{R(a?new Set(aw.map((a,b)=>b)):new Set)},[aw]),aQ=(0,g.useCallback)((a,b)=>{R(c=>{let d=new Set(c);return b?d.add(a):d.delete(a),d})},[]);return((0,g.useCallback)(b=>{as(b),localStorage.setItem(`table-widths-${a}`,JSON.stringify(b))},[a]),(0,g.useCallback)(async b=>{let d=id(b);if(!d){ak(null),am(0);return}try{let b=r.find(a=>1===a.pk)?.name||r[0]?.name||"rowid",e=await c(`SELECT COUNT(*) as total FROM "${a}" WHERE ${d}`),f=e?.results?.[0]?.results?.[0]?.total??0,g=await c(`SELECT * FROM "${a}" WHERE ${d} ORDER BY "${b}" DESC LIMIT ${M} OFFSET ${(K-1)*M}`),h=g?.results?.[0]?.results||[];am(f),ak(h)}catch{ak([]),am(0)}},[a,r,c,M,K]),C)?(0,f.jsx)("div",{className:"p-4",children:(0,f.jsxs)(A,{variant:"destructive",children:[(0,f.jsx)(n,{className:"h-4 w-4"}),(0,f.jsxs)(B,{children:["Failed to load table: ",C]})]})}):(0,f.jsxs)("div",{className:"h-full flex flex-col",children:[(0,f.jsx)(hl,{selectedCount:Q.size,totalRows:ax,currentPage:K,totalPages:ay,rowsPerPage:M,onPageChange:L,onRowsPerPageChange:N,onAdd:aK,onDelete:()=>U(!0),onImport:()=>$(!0),onRefresh:aG,tableName:a,disabled:aB,editCount:E.size,newRecordsCount:I.length,isSaving:y,onSaveChanges:aN,onDiscardChanges:()=>{F(new Map),H(new Set),J([]),ac(null),o({description:"Changes discarded"})},schema:r,visibleColumns:at,onColumnToggle:aE,showFilters:ah,onToggleFilters:()=>ai(a=>!a),activeFilterCount:af.filter(a=>a.column&&a.operator).length}),ah&&(0,f.jsx)(ie,{schema:r,filters:af,onFiltersChange:ag,onOpenInSQL:()=>{let c=id(af);if(c&&b){let d=r.find(a=>1===a.pk)?.name||r[0]?.name||"rowid";b(`SELECT * FROM "${a}" WHERE ${c} ORDER BY "${d}" DESC LIMIT ${M};`)}}}),(0,f.jsx)("div",{className:"flex-1 overflow-hidden bg-background font-mono",children:(0,f.jsxs)(eq,{className:"w-full h-full",children:[(0,f.jsx)("div",{className:"w-max min-w-full pb-4",children:(0,f.jsxs)(es,{style:{tableLayout:"fixed",width:`${aA}px`},children:[!w&&(0,f.jsx)(et,{className:"bg-neutral-100 sticky top-0 z-30",children:(0,f.jsxs)(ev,{children:[(0,f.jsx)(ew,{className:"p-0 border-r border-neutral-200",style:{width:"40px",minWidth:"40px"},children:(0,f.jsx)("div",{className:"py-0.5 px-3 flex items-center",children:(0,f.jsx)(fC,{ref:S,checked:Q.size===aw.length&&aw.length>0,onCheckedChange:aP,disabled:aB})})}),az.map(a=>(0,f.jsx)(h3,{width:ar[a.name]||150,onResize:b=>aF(a.name,b),className:"py-0.5 whitespace-nowrap border-r border-neutral-200",children:(0,f.jsxs)(h7,{column:a.name,sortConfig:ad,onSort:aH,children:[(0,f.jsx)("span",{className:"text-xs font-bold text-foreground",children:a.name}),(0,f.jsx)("span",{className:"text-xs text-muted-foreground",children:a.type?.toLowerCase()})]})},a.name))]})}),(0,f.jsxs)(eu,{children:[w&&(0,f.jsx)(ev,{className:"hover:bg-transparent",children:(0,f.jsx)(ex,{colSpan:az.length+1,className:"h-64",children:(0,f.jsx)("div",{className:"h-full w-full flex items-center justify-center",children:(0,f.jsx)(s,{className:"h-6 w-6 animate-spin text-primary"})})})}),!w&&(0,f.jsxs)(f.Fragment,{children:[I.map((a,b)=>(0,f.jsx)(hp,{schema:az,onRemove:()=>aL(b),onChange:a=>aM(b,a)},`new-${b}`)),0===aw.length&&0===I.length?(0,f.jsx)(ev,{className:"hover:bg-transparent",children:(0,f.jsx)(ex,{colSpan:az.length+1,className:"h-64 text-center text-muted-foreground",children:av?"No rows match the current filters":"Table is empty"})}):aw.map((a,b)=>(0,f.jsxs)(i().Fragment,{children:[(0,f.jsxs)(ev,{className:Q.has(b)?"bg-blue-50":"bg-white",children:[(0,f.jsx)(ex,{className:"p-0",children:(0,f.jsx)("div",{className:"px-3 py-2.5 flex items-center",children:(0,f.jsx)(fC,{checked:Q.has(b),onCheckedChange:a=>aQ(b,a),disabled:aB})})}),az.map(c=>{let d=`${b}::${c.name}`,e=E.get(d);return(0,f.jsx)(hm,{value:e?e.value:a[c.name],row:a,column:c.name,schema:r,onChange:a=>aJ(b,c.name,a),onStartEdit:av?void 0:a=>aI(b,c.name,a),isEditing:!av&&E.has(d),style:{width:`${ar[c.name]||150}px`},fkInfo:an[c.name],onShowRelation:an[c.name]?()=>aq({rowIndex:b,relatedTable:an[c.name].table,relatedKey:an[c.name].to,value:a[c.name]}):void 0},c.name)})]}),ap?.rowIndex===b&&(0,f.jsx)(h8,{relatedTable:ap.relatedTable,relatedKey:ap.relatedKey,value:ap.value,colSpan:az.length+1,onClose:()=>aq(null)})]},b))]})]})]})}),(0,f.jsx)(er,{orientation:"horizontal"})]})}),(0,f.jsx)(h_,{isOpen:T,onClose:()=>{U(!1),Y(null)},onConfirm:aO,selectedCount:Q.size,tableName:a,isDeleting:V,error:X}),(0,f.jsx)(h0,{isOpen:_,onClose:()=>aa(!1),error:ab,onOpenInSQL:()=>{aa(!1)},onUpdateAnyway:async()=>{aa(!1),await aN(!0)},showSQLOption:ab?.type==="NULLABLE_PK"}),(0,f.jsx)(h2,{open:Z,onClose:()=>$(!1),tableName:a,schema:r,onImportComplete:()=>{$(!1),aG()}})]})}function ih({migration:a}){return a.orphaned?(0,f.jsxs)("span",{className:"inline-flex items-center gap-1 text-xs font-medium text-amber-600",children:[(0,f.jsx)(n,{className:"h-3 w-3"})," Orphaned"]}):a.applied?(0,f.jsxs)("span",{className:"inline-flex items-center gap-1 text-xs font-medium text-green-600",children:[(0,f.jsx)(h1,{className:"h-3 w-3"})," Applied"]}):(0,f.jsxs)("span",{className:"inline-flex items-center gap-1 text-xs font-medium text-amber-600",children:[(0,f.jsx)(v,{className:"h-3 w-3"})," Pending"]})}function ii(){let{currentDatabase:a,executeQuery:b,refreshTables:c}=(0,dR.t)(),{toast:d}=(0,g6.dj)(),[e,h]=(0,g.useState)([]),[i,j]=(0,g.useState)(""),[k,l]=(0,g.useState)(!0),[m,o]=(0,g.useState)(!1),[p,q]=(0,g.useState)(null),r=(0,g.useCallback)(async()=>{l(!0),q(null);try{let b=a?.database_name,c=b?`?db=${encodeURIComponent(b)}`:"",d=await fetch(`/api/migrations/list${c}`),e=await d.json();if(!d.ok||!e.success)throw Error(e.error||"Failed to load migrations");h(e.migrations),j(e.migrationsDir)}catch(a){q(a.message)}finally{l(!1)}},[a]),t=e.filter(a=>!a.applied&&!a.orphaned),u=(0,g.useCallback)(async()=>{if(0===t.length)return;o(!0);let b=0;try{for(let c of t){await fetch(`/api/migrations/list?file=${encodeURIComponent(c.name)}${a?.database_name?`&db=${encodeURIComponent(a.database_name)}`:""}`);let d=await fetch("/api/migrations/sync-files",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({migrationName:c.name,db:a?.database_name})}),e=await d.json();if(!d.ok||!e.success)throw Error(`Failed to apply ${c.name}: ${e.error||"Unknown error"}`);b++}d({title:"Migrations Applied",description:`${b} migration${1!==b?"s":""} applied successfully.`}),await c(),await r()}catch(a){d({variant:"destructive",title:"Apply Failed",description:a.message})}finally{o(!1)}},[t,a,d,c,r]);return(0,f.jsxs)("div",{className:"h-full flex flex-col",children:[(0,f.jsxs)("div",{className:"flex items-center justify-between p-4 border-b",children:[(0,f.jsxs)("div",{children:[(0,f.jsx)("h2",{className:"text-sm font-semibold",children:"Migrations"}),i&&(0,f.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5 font-mono",children:i})]}),(0,f.jsxs)("div",{className:"flex items-center gap-2",children:[t.length>0&&(0,f.jsx)(dT,{size:"sm",onClick:u,disabled:m,className:"font-semibold",children:m?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(s,{className:"h-4 w-4 animate-spin"})," Applying…"]}):`Apply ${t.length} pending`}),(0,f.jsx)(dT,{variant:"outline",size:"icon",className:"h-8",onClick:r,disabled:k,children:(0,f.jsx)(g3,{className:`h-4 w-4 ${k?"animate-spin":""}`})})]})]}),(0,f.jsxs)("div",{className:"flex-1 overflow-auto",children:[p&&(0,f.jsx)("div",{className:"p-4",children:(0,f.jsxs)(A,{variant:"destructive",children:[(0,f.jsx)(n,{className:"h-4 w-4"}),(0,f.jsx)(B,{children:p})]})}),!k&&!p&&0===e.length&&(0,f.jsxs)("div",{className:"flex flex-col items-center justify-center h-64 text-muted-foreground gap-2",children:[(0,f.jsx)(hb,{className:"h-8 w-8"}),(0,f.jsx)("p",{className:"text-sm",children:"No migration files found"}),(0,f.jsx)("p",{className:"text-xs",children:"Migration files appear here when you run DDL statements in the SQL editor"})]}),!p&&e.length>0&&(0,f.jsxs)(es,{children:[(0,f.jsx)(et,{className:"bg-neutral-100 sticky top-0 z-10",children:(0,f.jsxs)(ev,{children:[(0,f.jsx)(ew,{className:"text-xs font-bold",children:"Migration file"}),(0,f.jsx)(ew,{className:"text-xs font-bold w-28",children:"Status"}),(0,f.jsx)(ew,{className:"text-xs font-bold w-44",children:"Applied at"}),(0,f.jsx)(ew,{className:"text-xs font-bold w-20",children:"Checksum"})]})}),(0,f.jsx)(eu,{children:e.map(a=>(0,f.jsxs)(ev,{className:a.orphaned?"opacity-60":"",children:[(0,f.jsx)(ex,{className:"font-mono text-xs",children:a.name}),(0,f.jsx)(ex,{children:(0,f.jsx)(ih,{migration:a})}),(0,f.jsx)(ex,{className:"text-xs text-muted-foreground",children:a.applied_at?new Date(a.applied_at).toLocaleString():"—"}),(0,f.jsx)(ex,{className:"font-mono text-xs text-muted-foreground",children:a.checksum?a.checksum.slice(0,8):"—"})]},a.name))})]})]})]})}var ij=c(33540);let ik=c.n(ij)()(async()=>{},{loadableGenerated:{modules:["components/schema-view.jsx -> ./schema-erd"]},ssr:!1,loading:()=>(0,f.jsx)("div",{style:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center",background:"#0d1117",color:"#8b949e"},children:(0,f.jsx)("span",{style:{fontSize:14},children:"Loading…"})})});function il(){let{currentDatabase:a}=(0,dR.t)();return(0,f.jsx)(ik,{db:a?.database_name})}let im={bg:"#ffffff",bg2:"#f9f8f6",border:"#e8e5e0",border2:"#d4d0c8",text:"#1a1714",text2:"#5a5650",text3:"#9a9590",orange:"#d4581e",orangeBg:"#fff4ee",orangeBorder:"#fddcc8"},io=["January","February","March","April","May","June","July","August","September","October","November","December"],ip={2:[3,7,10,14,16],1:[5,12,18,22]};function iq(a){return String(a).padStart(2,"0")}function ir({year:a,month:b,selDay:c,today:d,earliest:e,onSelect:g,onPrev:h,onNext:i}){let j=new Date(a,b,1).getDay(),k=new Date(a,b+1,0).getDate(),l=ip[b]||[],m=d.getUTCFullYear(),n=d.getUTCMonth(),o=d.getUTCDate(),p=[];for(let a=0;a<j;a++)p.push((0,f.jsx)("div",{},`b${a}`));for(let d=1;d<=k;d++){let h=a>m||a===m&&b>n||a===m&&b===n&&d>o,i=new Date(a,b,d).getTime(),j=!!e&&i<new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime(),k=a===m&&b===n&&d===o,q=d===c,r=l.includes(d),s=h||j;p.push((0,f.jsxs)("div",{onClick:s?void 0:()=>g(d),style:{fontSize:11,textAlign:"center",padding:"4px 0",borderRadius:4,cursor:s?"default":"pointer",color:s?im.border2:q?im.bg:k?im.text:im.text2,background:q?im.text:"transparent",fontWeight:k?600:void 0,pointerEvents:s?"none":void 0,position:"relative",userSelect:"none"},className:s||q?"":"hover:bg-[#f2f0ec]",children:[d,r&&!h&&(0,f.jsx)("span",{style:{position:"absolute",bottom:1,left:"50%",transform:"translateX(-50%)",width:3,height:3,borderRadius:"50%",background:q?im.bg:im.orange,display:"block"}})]},d))}return(0,f.jsxs)("div",{style:{padding:"14px 16px",borderBottom:`1px solid ${im.border}`},children:[(0,f.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:10},children:[(0,f.jsxs)("span",{style:{fontSize:13,fontWeight:500,color:im.text},children:[io[b]," ",a]}),(0,f.jsx)("div",{style:{display:"flex",gap:3},children:[["‹",h],["›",i]].map(([a,b])=>(0,f.jsx)("button",{onClick:b,style:{width:24,height:24,border:`1px solid ${im.border}`,borderRadius:6,background:"transparent",cursor:"pointer",fontSize:14,color:im.text2,display:"flex",alignItems:"center",justifyContent:"center",lineHeight:1},className:"hover:bg-[#f9f8f6]",children:a},a))})]}),(0,f.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"repeat(7, 1fr)",gap:1},children:[["Su","Mo","Tu","We","Th","Fr","Sa"].map(a=>(0,f.jsx)("div",{style:{fontSize:10,fontWeight:500,color:im.text3,textAlign:"center",padding:"3px 0"},children:a},a)),p]})]})}function is({kind:a,text:b}){let c={a:{bg:"#f0fdf4",color:"#15803d",markBg:"#f0fdf4",markColor:"#16a34a",mark:"+"},r:{bg:"#fef2f2",color:"#b91c1c",markBg:"#fef2f2",markColor:"#dc2626",mark:"−"},c:{bg:"#f9fafb",color:im.text3,markBg:"#f9fafb",markColor:im.text3,mark:"~"}}[a];return(0,f.jsxs)("div",{style:{display:"flex",alignItems:"stretch",fontSize:11,fontFamily:"ui-monospace,SF Mono,monospace",borderRadius:5,overflow:"hidden",marginBottom:2},children:[(0,f.jsx)("div",{style:{width:22,minWidth:22,display:"flex",alignItems:"center",justifyContent:"center",fontWeight:600,fontSize:12,background:c.markBg,color:c.markColor},children:c.mark}),(0,f.jsx)("div",{style:{flex:1,padding:"4px 8px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",background:c.bg,color:c.color},children:b})]})}function it({type:a,children:b}){return(0,f.jsx)("span",{style:{fontSize:10,padding:"1px 6px",borderRadius:3,fontFamily:"ui-monospace,SF Mono,monospace",...{rm:{background:"#fef2f2",color:"#dc2626",border:"1px solid #fecaca"},add:{background:"#f0fdf4",color:"#16a34a",border:"1px solid #bbf7d0"},ch:{background:"#fffbeb",color:"#d97706",border:"1px solid #fde68a"}}[a]},children:b})}function iu({label:a,bookmark:b,onCancel:c,onConfirm:d}){return(0,f.jsx)("div",{style:{position:"absolute",inset:0,background:"rgba(0,0,0,0.2)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:30,borderRadius:12},children:(0,f.jsxs)("div",{style:{background:im.bg,border:`1px solid ${im.border}`,borderRadius:12,padding:24,boxShadow:"0 8px 40px rgba(0,0,0,0.12)",width:340},children:[(0,f.jsx)("div",{style:{width:38,height:38,borderRadius:10,display:"flex",alignItems:"center",justifyContent:"center",background:"#fef2f2",border:"1px solid #fecaca",marginBottom:14},children:(0,f.jsxs)("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",stroke:"#dc2626",strokeWidth:"1.5",children:[(0,f.jsx)("path",{d:"M9 2L2 15h14L9 2z"}),(0,f.jsx)("path",{d:"M9 7v4M9 12.5v.5"})]})}),(0,f.jsx)("div",{style:{fontSize:14,fontWeight:600,color:im.text,marginBottom:5},children:"Restore database?"}),(0,f.jsx)("div",{style:{fontSize:12,color:im.text2,lineHeight:1.6,marginBottom:10},children:"This will overwrite your remote D1 database in place. All in-flight queries and transactions will be cancelled."}),(0,f.jsxs)("div",{style:{fontFamily:"ui-monospace,SF Mono,monospace",fontSize:12,padding:"8px 10px",background:im.bg2,borderRadius:6,color:im.text,marginBottom:10,lineHeight:1.7},children:[a,b&&(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)("br",{}),(0,f.jsxs)("span",{style:{fontSize:10,color:im.text3},children:["bookmark: ",b]})]})]}),(0,f.jsx)("div",{style:{fontSize:11,color:"#c2410c",background:im.orangeBg,border:`1px solid ${im.orangeBorder}`,borderRadius:6,padding:"8px 10px",marginBottom:16,lineHeight:1.55},children:"⚠ A pre-restore bookmark will be saved automatically so you can undo this restore if needed."}),(0,f.jsxs)("div",{style:{display:"flex",gap:8},children:[(0,f.jsx)("button",{onClick:c,style:{flex:1,padding:8,border:`1px solid ${im.border}`,borderRadius:7,background:"transparent",color:im.text2,fontSize:12,cursor:"pointer",fontFamily:"system-ui,sans-serif"},className:"hover:text-[#1a1714]",children:"Cancel"}),(0,f.jsx)("button",{onClick:d,style:{flex:1,padding:8,background:"#dc2626",color:"white",border:"none",borderRadius:7,fontSize:12,fontWeight:500,cursor:"pointer",fontFamily:"system-ui,sans-serif"},className:"hover:bg-[#b91c1c]",children:"Yes, restore database"})]})]})})}function iv({label:a,undoBookmark:b,onDone:c}){return(0,f.jsx)("div",{style:{position:"absolute",inset:0,background:"rgba(0,0,0,0.2)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:30,borderRadius:12},children:(0,f.jsxs)("div",{style:{background:im.bg,border:`1px solid ${im.border}`,borderRadius:12,padding:24,boxShadow:"0 8px 40px rgba(0,0,0,0.12)",width:320,textAlign:"center"},children:[(0,f.jsx)("div",{style:{width:38,height:38,borderRadius:"50%",display:"flex",alignItems:"center",justifyContent:"center",background:"#f0fdf4",border:"1px solid #bbf7d0",margin:"0 auto 14px"},children:(0,f.jsx)("svg",{width:"18",height:"18",viewBox:"0 0 20 20",fill:"none",stroke:"#16a34a",strokeWidth:"2",children:(0,f.jsx)("path",{d:"M4 10l4 4 8-8"})})}),(0,f.jsx)("div",{style:{fontSize:14,fontWeight:600,color:im.text,marginBottom:5},children:"Database restored"}),(0,f.jsxs)("div",{style:{fontSize:12,color:im.text2,lineHeight:1.6,marginBottom:10},children:["Database has been restored to ",a," successfully."]}),b&&(0,f.jsxs)("div",{style:{fontSize:11,color:im.text2,background:im.bg2,border:`1px solid ${im.border}`,borderRadius:6,padding:"7px 10px",marginBottom:14,fontFamily:"ui-monospace,SF Mono,monospace",textAlign:"left"},children:["undo bookmark: ",b,(0,f.jsx)("br",{}),(0,f.jsx)("span",{style:{fontSize:10,color:im.text3},children:"Use this to revert if something looks wrong"})]}),(0,f.jsx)("button",{onClick:c,style:{width:"100%",padding:9,background:im.text,color:im.bg,border:"none",borderRadius:7,fontSize:12,fontWeight:500,cursor:"pointer",fontFamily:"system-ui,sans-serif"},children:"Done"})]})})}function iw(){let{currentDatabase:a}=(0,dR.t)(),b=a?.database_name||"database",c=new Date,[d,e]=(0,g.useState)(c.getUTCFullYear()),[h,i]=(0,g.useState)(c.getUTCMonth()),[j,k]=(0,g.useState)(c.getUTCDate()),[l,m]=(0,g.useState)(`${iq(c.getUTCHours())}:${iq(c.getUTCMinutes())}:00`),[n,o]=(0,g.useState)(null),[p,q]=(0,g.useState)(null),[r,s]=(0,g.useState)(!0),[t,u]=(0,g.useState)(null),[v,w]=(0,g.useState)(null),x=new Date(c.getTime()-2592e6),y=v||x,[z,A]=(0,g.useState)(null),[B,C]=(0,g.useState)(!1),[D,E]=(0,g.useState)(null),[F,G]=(0,g.useState)(!1),[H,I]=(0,g.useState)(!1),[J,K]=(0,g.useState)(null),[L,M]=(0,g.useState)(!1),[N,O]=(0,g.useState)(null),P=`${io[h].slice(0,3)} ${iq(j)}, ${d} \xb7 ${l||"00:00:00"} UTC`,Q=`${io[h].slice(0,3)} ${iq(j)}, ${d} at ${l||"00:00:00"} UTC`,R=(0,g.useCallback)(()=>{i(a=>0===a?(e(a=>a-1),11):a-1),k(1),A(null)},[]),S=(0,g.useCallback)(()=>{let a=11===h?0:h+1,b=11===h?d+1:d;b>c.getUTCFullYear()||b===c.getUTCFullYear()&&a>c.getUTCMonth()||(i(a),e(b),k(1),A(null))},[h,d,c]),T=(0,g.useCallback)(a=>{k(a),o(null),A(null)},[]),U=(0,g.useCallback)((a,b,c,d,f)=>{e(b),i(c),k(d),m(f),o(a),A(null)},[]),V=(0,g.useCallback)(()=>{let a=new Date;e(a.getUTCFullYear()),i(a.getUTCMonth()),k(a.getUTCDate()),m(`${iq(a.getUTCHours())}:${iq(a.getUTCMinutes())}:00`),o(null),A(null)},[]),W=(0,g.useCallback)(async()=>{C(!0),E(null),A(null);try{let b=a?.database_name?`?db=${encodeURIComponent(a.database_name)}`:"",c=await fetch(`/api/time-travel/preview${b}`),d=await c.json();if(!c.ok||!d.success)throw Error(d.error||"Failed to refresh remote state");q(d.currentBookmark),A({bookmark:d.currentBookmark})}catch(a){E(a.message)}finally{C(!1)}},[a]),X=(0,g.useCallback)(async()=>{G(!1),I(!0),K(null);try{let b=new Date(`${d}-${iq(h+1)}-${iq(j)}T${l}Z`).toISOString(),c=await fetch("/api/time-travel/restore",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({db:a?.database_name,bookmark:z?.bookmark??null,timestamp:b})}),e=await c.json();if(!c.ok||!e.success)throw Error(e.error||"Restore failed");O(e.undoBookmark),M(!0)}catch(a){K(a.message)}finally{I(!1)}},[d,h,j,l,a,z]),Y=new Date(c-18e5),Z=new Date(c);Z.setHours(12,0,0,0);let $=new Date(c-864e5);$.setHours(18,0,0,0);let _=new Date(c-1728e5);_.setHours(9,0,0,0);let aa=new Date(c-6048e5);aa.setHours(0,0,0,0);let ab=[{id:"q30",label:"30 minutes ago",time:`${iq(Y.getUTCHours())}:${iq(Y.getUTCMinutes())}`,date:Y,y:Y.getUTCFullYear(),m:Y.getUTCMonth(),d:Y.getUTCDate(),t:`${iq(Y.getUTCHours())}:${iq(Y.getUTCMinutes())}:00`,icon:"clock"},{id:"qtoday",label:"Earlier today",time:"12:00",date:Z,y:Z.getUTCFullYear(),m:Z.getUTCMonth(),d:Z.getUTCDate(),t:"12:00:00",icon:"clock"},{id:"qyest",label:"Yesterday evening",time:`${io[$.getUTCMonth()].slice(0,3)} ${$.getUTCDate()}`,date:$,y:$.getUTCFullYear(),m:$.getUTCMonth(),d:$.getUTCDate(),t:"18:00:00",icon:"clock"},{id:"qmig",label:"Before last migration",time:`${io[_.getUTCMonth()].slice(0,3)} ${_.getUTCDate()}`,date:_,y:_.getUTCFullYear(),m:_.getUTCMonth(),d:_.getUTCDate(),t:"09:00:00",icon:"shield"},{id:"qweek",label:"1 week ago",time:`${io[aa.getUTCMonth()].slice(0,3)} ${aa.getUTCDate()}`,date:aa,y:aa.getUTCFullYear(),m:aa.getUTCMonth(),d:aa.getUTCDate(),t:"00:00:00",icon:"clock"}];return(0,f.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%",position:"relative",overflow:"hidden",background:im.bg},children:[(0,f.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12,padding:"12px 18px",borderBottom:`1px solid ${im.border}`,flexShrink:0},children:[(0,f.jsxs)("div",{children:[(0,f.jsx)("div",{style:{fontSize:13,fontWeight:600,color:im.text},children:"Time travel"}),(0,f.jsxs)("div",{style:{fontSize:11,color:im.text3,marginTop:1},children:[b," \xb7 remote \xb7"," ",r?"loading available window…":t?"could not load window info":p?`latest snapshot: ${p.slice(0,18)}…`:"restore to any point in the available window"]})]}),(0,f.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"5px 11px",background:im.orangeBg,border:`1px solid ${im.orangeBorder}`,borderRadius:20,fontSize:11,color:im.orange,marginLeft:"auto",flexShrink:0},children:[(0,f.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 13 13",fill:"none",stroke:"currentColor",strokeWidth:"1.3",children:[(0,f.jsx)("path",{d:"M6.5 1L1 11h11z"}),(0,f.jsx)("path",{d:"M6.5 5v3M6.5 9.5v.5"})]}),"Restore overwrites remote DB in place"]})]}),(0,f.jsxs)("div",{style:{flex:1,display:"flex",overflow:"hidden"},children:[(0,f.jsxs)("div",{style:{width:290,minWidth:290,borderRight:`1px solid ${im.border}`,display:"flex",flexDirection:"column",overflow:"hidden"},children:[(0,f.jsx)(ir,{year:d,month:h,selDay:j,today:c,earliest:y,onSelect:T,onPrev:R,onNext:S}),(0,f.jsxs)("div",{style:{padding:"12px 16px",borderBottom:`1px solid ${im.border}`,flexShrink:0},children:[(0,f.jsx)("div",{style:{fontSize:11,fontWeight:500,color:im.text3,marginBottom:7},children:"Time (UTC)"}),(0,f.jsxs)("div",{style:{display:"flex",gap:7,alignItems:"center"},children:[(0,f.jsx)("input",{value:l,onChange:a=>{m(a.target.value),A(null)},style:{flex:1,padding:"7px 10px",border:`1px solid ${im.border}`,borderRadius:6,fontFamily:"ui-monospace,SF Mono,monospace",fontSize:13,color:im.text,background:im.bg,outline:"none"},onFocus:a=>a.target.style.borderColor=im.border2,onBlur:a=>a.target.style.borderColor=im.border,placeholder:"HH:MM:SS"}),(0,f.jsx)("button",{onClick:V,style:{padding:"7px 11px",border:`1px solid ${im.border}`,borderRadius:6,fontSize:11,color:im.text2,background:im.bg2,cursor:"pointer",fontFamily:"system-ui,sans-serif",whiteSpace:"nowrap"},className:"hover:text-[#1a1714]",children:"Now"})]})]}),(0,f.jsxs)("div",{style:{padding:"10px 16px",flex:1,overflowY:"auto"},children:[(0,f.jsx)("div",{style:{fontSize:11,fontWeight:500,color:im.text3,marginBottom:9},children:"Quick points"}),ab.map(a=>{let b=n===a.id,c=a.date<new Date(y.getFullYear(),y.getMonth(),y.getDate());return(0,f.jsxs)("button",{onClick:c?void 0:()=>U(a.id,a.y,a.m,a.d,a.t),disabled:c,title:c?"Outside available Time Travel window":void 0,style:{display:"flex",alignItems:"center",gap:8,width:"100%",padding:"7px 10px",border:`1px solid ${b?im.text:im.border}`,borderRadius:7,background:b?im.bg2:im.bg,cursor:c?"not-allowed":"pointer",fontFamily:"system-ui,sans-serif",fontSize:12,color:c?im.border2:b?im.text:im.text2,marginBottom:5,textAlign:"left",transition:"border-color 0.1s",opacity:c?.5:1},className:c?"":"hover:border-[#d4d0c8] hover:text-[#1a1714]",children:["clock"===a.icon?(0,f.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 13 13",fill:"none",stroke:"currentColor",strokeWidth:"1.2",style:{opacity:b?.8:.4,flexShrink:0},children:[(0,f.jsx)("circle",{cx:"6.5",cy:"6.5",r:"5"}),(0,f.jsx)("path",{d:"M6.5 3.5v3l2 1.5"})]}):(0,f.jsx)("svg",{width:"13",height:"13",viewBox:"0 0 13 13",fill:"none",stroke:"currentColor",strokeWidth:"1.2",style:{opacity:b?.8:.4,flexShrink:0},children:(0,f.jsx)("path",{d:"M6.5 1L1 4v3c0 3 2.4 5.5 5.5 6.5 3.1-1 5.5-3.5 5.5-6.5V4z"})}),a.label,(0,f.jsx)("span",{style:{marginLeft:"auto",fontFamily:"ui-monospace,SF Mono,monospace",fontSize:10,color:im.text3},children:a.time})]},a.id)})]})]}),(0,f.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:"column",overflow:"hidden"},children:[(0,f.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"11px 16px",borderBottom:`1px solid ${im.border}`,flexShrink:0},children:[(0,f.jsxs)("span",{style:{fontSize:12,fontWeight:500,color:im.text,flex:1},children:["Snapshot — ",Q]}),z?.bookmark&&(0,f.jsx)("span",{style:{fontFamily:"ui-monospace,SF Mono,monospace",fontSize:10,color:im.text3,padding:"2px 7px",background:im.bg2,border:`1px solid ${im.border}`,borderRadius:3},children:z.bookmark.length>22?z.bookmark.slice(0,20)+"…":z.bookmark})]}),(0,f.jsxs)("div",{style:{flex:1,overflowY:"auto",padding:"14px 16px"},children:[D&&(0,f.jsx)("div",{style:{fontSize:12,color:"#dc2626",background:"#fef2f2",border:"1px solid #fecaca",borderRadius:7,padding:"10px 12px",marginBottom:12},children:D}),J&&(0,f.jsxs)("div",{style:{fontSize:12,color:"#dc2626",background:"#fef2f2",border:"1px solid #fecaca",borderRadius:7,padding:"10px 12px",marginBottom:12},children:["Restore failed: ",J]}),B&&(0,f.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,fontSize:12,color:im.text3,padding:"20px 0"},children:[(0,f.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor",strokeWidth:"1.5",style:{animation:"spin 1s linear infinite"},children:[(0,f.jsx)("circle",{cx:"7",cy:"7",r:"5",strokeOpacity:"0.3"}),(0,f.jsx)("path",{d:"M7 2a5 5 0 0 1 5 5"})]}),"Loading snapshot info…",(0,f.jsx)("style",{children:"@keyframes spin { to { transform: rotate(360deg); } }"})]}),!B&&!z&&!D&&(0,f.jsxs)("div",{style:{padding:"20px 0",color:im.text3,fontSize:12},children:[p&&(0,f.jsxs)("div",{style:{background:im.bg2,border:`1px solid ${im.border}`,borderRadius:8,padding:"12px 14px",marginBottom:14},children:[(0,f.jsx)("div",{style:{fontSize:11,fontWeight:500,color:im.text3,marginBottom:6},children:"Current snapshot (latest)"}),(0,f.jsx)("div",{style:{fontFamily:"ui-monospace,SF Mono,monospace",fontSize:11,color:im.text,wordBreak:"break-all"},children:p})]}),(0,f.jsxs)("div",{style:{textAlign:"center",paddingTop:p?4:24},children:[(0,f.jsxs)("svg",{width:"32",height:"32",viewBox:"0 0 13 13",fill:"none",stroke:"currentColor",strokeWidth:"1",style:{margin:"0 auto 10px",display:"block",opacity:.3},children:[(0,f.jsx)("circle",{cx:"6.5",cy:"6.5",r:"5"}),(0,f.jsx)("path",{d:"M6.5 3.5v3l2 1.5"})]}),"Select a date & time, then click ",(0,f.jsx)("strong",{children:"Refresh preview"})," to load snapshot info."]})]}),!B&&z&&(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)("div",{style:{marginBottom:18},children:[(0,f.jsxs)("div",{style:{fontSize:11,fontWeight:600,color:im.text,marginBottom:7,display:"flex",alignItems:"center",gap:6},children:["Remote state",(0,f.jsx)(it,{type:"add",children:"refreshed"})]}),(0,f.jsx)(is,{kind:"c",text:`Restore target: ${Q}`}),z.bookmark?(0,f.jsx)(is,{kind:"a",text:`current bookmark: ${z.bookmark}`}):(0,f.jsx)(is,{kind:"c",text:"current bookmark: (not returned by wrangler)"}),(0,f.jsx)(is,{kind:"c",text:"Restore will roll back all changes made after the selected time"})]}),(0,f.jsx)("div",{style:{fontSize:11,color:im.text3,background:im.bg2,border:`1px solid ${im.border}`,borderRadius:7,padding:"10px 12px",lineHeight:1.6},children:"Cloudflare Time Travel does not provide a row-level diff before restore. After confirming, the database will be rolled back atomically to the selected point in time. An undo bookmark will be shown after restore."})]})]}),(0,f.jsxs)("div",{style:{padding:"12px 16px",borderTop:`1px solid ${im.border}`,display:"flex",alignItems:"center",gap:10,background:im.bg,flexShrink:0},children:[(0,f.jsxs)("div",{style:{flex:1},children:[(0,f.jsxs)("div",{style:{fontSize:12,fontWeight:500,color:im.text},children:["Restore to ",P]}),z?.bookmark&&(0,f.jsxs)("div",{style:{fontSize:11,color:im.text3,fontFamily:"ui-monospace,SF Mono,monospace",marginTop:1},children:["bookmark: ",z.bookmark]})]}),(0,f.jsxs)("button",{onClick:W,disabled:B,style:{display:"flex",alignItems:"center",gap:5,padding:"8px 14px",borderRadius:7,border:`1px solid ${im.border}`,background:im.bg,color:im.text,fontSize:12,fontWeight:500,cursor:B?"default":"pointer",fontFamily:"system-ui,sans-serif",whiteSpace:"nowrap",opacity:B?.6:1},className:"hover:bg-[#f9f8f6]",children:[(0,f.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"1.3",children:[(0,f.jsx)("path",{d:"M1 6A5 5 0 0 1 10 3M11 6A5 5 0 0 1 2 9"}),(0,f.jsx)("path",{d:"M9 1.5v2h2M1 8.5v2h2"})]}),"Refresh preview"]}),(0,f.jsxs)("button",{onClick:()=>G(!0),disabled:H,style:{display:"flex",alignItems:"center",gap:5,padding:"8px 14px",borderRadius:7,border:"none",background:H?"#f87171":"#dc2626",color:"white",fontSize:12,fontWeight:500,cursor:H?"default":"pointer",fontFamily:"system-ui,sans-serif",whiteSpace:"nowrap"},className:"hover:bg-[#b91c1c]",children:[(0,f.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"1.3",children:[(0,f.jsx)("path",{d:"M1 6A5 5 0 0 1 10 3M11 6A5 5 0 0 1 2 9"}),(0,f.jsx)("path",{d:"M9 1.5v2h2M1 8.5v2h2"})]}),H?"Restoring…":"Restore database"]})]})]})]}),F&&(0,f.jsx)(iu,{label:P,bookmark:z?.bookmark,onCancel:()=>G(!1),onConfirm:X}),L&&(0,f.jsx)(iv,{label:P,undoBookmark:N,onDone:()=>{M(!1),A(null)}})]})}function ix({open:a,onClose:b,onSubmit:c}){let[d,e]=(0,g.useState)(""),[h,i]=(0,g.useState)(""),[j,k]=(0,g.useState)(""),[l,m]=(0,g.useState)(!1),n=async a=>{a.preventDefault(),k(""),m(!0);try{await c({accountId:d,apiToken:h}),localStorage.setItem("cf_credentials",JSON.stringify({accountId:d,apiToken:h})),b()}catch(a){k(a.message)}finally{m(!1)}};return(0,f.jsx)(hv,{open:a,onOpenChange:b,children:(0,f.jsxs)(hW,{className:"sm:max-w-md",children:[(0,f.jsxs)(hX,{children:[(0,f.jsx)(hZ,{children:"Connect to Cloudflare"}),(0,f.jsx)(h$,{children:"Enter your Cloudflare credentials to push your database to production."})]}),(0,f.jsxs)("form",{onSubmit:n,className:"space-y-4 mt-4",children:[j&&(0,f.jsx)(A,{variant:"destructive",children:(0,f.jsx)(B,{children:j})}),(0,f.jsxs)("div",{className:"space-y-2",children:[(0,f.jsx)("label",{className:"text-sm font-medium",children:"Account ID"}),(0,f.jsx)(x,{placeholder:"Your Cloudflare Account ID",value:d,onChange:a=>e(a.target.value),required:!0})]}),(0,f.jsxs)("div",{className:"space-y-2",children:[(0,f.jsx)("label",{className:"text-sm font-medium",children:"API Token"}),(0,f.jsx)(x,{type:"password",placeholder:"Your D1 Database API Token",value:h,onChange:a=>i(a.target.value),required:!0})]}),(0,f.jsxs)("div",{className:"flex justify-end gap-3",children:[(0,f.jsx)(dT,{type:"button",variant:"outline",onClick:b,children:"Cancel"}),(0,f.jsxs)(dT,{type:"submit",disabled:l,children:[l&&(0,f.jsx)(s,{className:"mr-2 h-4 w-4 animate-spin"}),"Connect"]})]})]})]})})}function iy(){let{refreshTables:a}=(0,dR.t)(),[b,c]=(0,g.useState)(!1),[d,e]=(0,g.useState)(null),[h,i]=(0,g.useState)(null),{isConnecting:j,isPushing:k,showPreview:l,connectToCloudflare:m,pushToRemote:o,pullToRemotePreview:p,validateStoredCredentials:q,PreviewUI:r}=eB(),t=async()=>{i(null),e("push");try{if(!await q())return void c(!0);await o(),i({type:"success",message:"Push to remote initiated. Check the preview for details."})}catch(a){i({type:"error",message:a.message})}},u=async()=>{i(null),e("pull");try{if(!await q())return void c(!0);await p()}catch(a){i({type:"error",message:a.message})}},v=j||k;return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)("div",{className:"h-full flex flex-col",children:[(0,f.jsxs)("div",{className:"flex items-center gap-2 p-4 border-b",children:[(0,f.jsx)(g3,{className:"h-4 w-4"}),(0,f.jsx)("h2",{className:"text-sm font-semibold",children:"Remote Sync"})]}),(0,f.jsx)("div",{className:"flex-1 overflow-auto p-6",children:(0,f.jsxs)("div",{className:"max-w-lg flex flex-col gap-6",children:[(0,f.jsx)("p",{className:"text-sm text-muted-foreground",children:"Sync your local D1 database with Cloudflare. Pushing uploads your local data to production; pulling downloads the remote state to your local environment."}),h&&(0,f.jsxs)(A,{variant:"error"===h.type?"destructive":"default",children:["error"===h.type?(0,f.jsx)(n,{className:"h-4 w-4"}):(0,f.jsx)(h1,{className:"h-4 w-4"}),(0,f.jsx)(B,{children:h.message})]}),(0,f.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,f.jsxs)("div",{className:"border rounded-md p-4 bg-white flex flex-col gap-3",children:[(0,f.jsxs)("div",{className:"flex items-center gap-2",children:[(0,f.jsx)(gC,{className:"h-4 w-4 text-neutral-600"}),(0,f.jsx)("span",{className:"text-sm font-semibold",children:"Push to remote"})]}),(0,f.jsx)("p",{className:"text-xs text-muted-foreground",children:"Upload local database state to your Cloudflare D1 database."}),(0,f.jsx)(dT,{size:"sm",onClick:t,disabled:v,className:"w-full",children:k&&"push"===d?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(s,{className:"h-4 w-4 animate-spin mr-2"})," Pushing…"]}):(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(gC,{className:"h-4 w-4 mr-2"})," Push"]})})]}),(0,f.jsxs)("div",{className:"border rounded-md p-4 bg-white flex flex-col gap-3",children:[(0,f.jsxs)("div",{className:"flex items-center gap-2",children:[(0,f.jsx)(g8,{className:"h-4 w-4 text-neutral-600"}),(0,f.jsx)("span",{className:"text-sm font-semibold",children:"Pull from remote"})]}),(0,f.jsx)("p",{className:"text-xs text-muted-foreground",children:"Download Cloudflare D1 data into your local environment."}),(0,f.jsx)(dT,{size:"sm",variant:"outline",onClick:u,disabled:v,className:"w-full",children:j&&"pull"===d?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(s,{className:"h-4 w-4 animate-spin mr-2"})," Pulling…"]}):(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(g8,{className:"h-4 w-4 mr-2"})," Pull"]})})]})]}),(0,f.jsx)("p",{className:"text-xs text-muted-foreground",children:"Cloudflare API credentials are required. You'll be prompted to enter them if not already saved."})]})})]}),(0,f.jsx)(ix,{open:b,onClose:()=>c(!1),onSubmit:m}),r]})}let iz={loading:"text-blue-500 border-blue-500/40 bg-blue-500/5",success:"text-green-600 border-green-500/40 bg-green-500/5",error:"text-red-500 border-red-500/40 bg-red-500/5",info:"text-muted-foreground border-border bg-transparent"},iA={loading:null,success:"✓",error:"✗",info:"─"};function iB(){let{lastStatus:a}=(0,dR.t)(),b=function(a){let[b,c]=(0,g.useState)("");return b}(a?.ts),c=a?.type??"info",d=a?.message??"Ready",e=a?.detail??null,h=iz[c]??iz.info,i=iA[c];return(0,f.jsxs)("div",{className:`flex items-center justify-between h-8 px-4 border-t font-mono text-xs select-none shrink-0 ${h}`,role:"status","aria-live":"polite",children:[(0,f.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,f.jsx)("span",{className:"shrink-0 w-4 flex items-center justify-center",children:"loading"===c?(0,f.jsx)(s,{className:"h-3 w-3 animate-spin"}):(0,f.jsx)("span",{children:i})}),(0,f.jsx)("span",{className:"truncate",children:d}),e&&(0,f.jsxs)("span",{className:"text-muted-foreground truncate hidden sm:inline",children:["\xb7 ",e]})]}),b&&(0,f.jsx)("span",{className:"text-muted-foreground shrink-0 pl-4",children:b})]})}function iC(){let[a,b]=(0,g.useState)("sql-editor"),[c,d]=(0,g.useState)(null),[e,h]=(0,g.useState)("");return(0,f.jsxs)("div",{className:"flex h-screen bg-background",children:[(0,f.jsx)(eD,{className:"w-64 border-r flex-shrink-0",currentView:a,onNavigate:b,onTableSelect:a=>{d(a),b("table-view")}}),(0,f.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden",children:[(0,f.jsxs)("main",{className:"flex-1 overflow-hidden",children:["sql-editor"===a&&(0,f.jsx)(fp,{initialQuery:e}),"schema"===a&&(0,f.jsx)(il,{}),"migrations"===a&&(0,f.jsx)(ii,{}),"time-travel"===a&&(0,f.jsx)(iw,{}),"remote-sync"===a&&(0,f.jsx)(iy,{}),"table-view"===a&&c&&(0,f.jsx)(ig,{tableName:c,onOpenInSQL:a=>{h(a),b("sql-editor")}})]}),(0,f.jsx)(iB,{})]})]})}},33540:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return e}});let d=c(35288)._(c(43972));function e(a,b){var c;let e={};"function"==typeof a&&(e.loader=a);let f={...e,...b};return(0,d.default)({...f,modules:null==(c=f.loadableGenerated)?void 0:c.modules})}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},33873:a=>{"use strict";a.exports=require("path")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},43972:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return j}});let d=c(21124),e=c(38301),f=c(24207),g=c(52402);function h(a){return{default:a&&"default"in a?a.default:a}}let i={loader:()=>Promise.resolve(h(()=>null)),loading:null,ssr:!0},j=function(a){let b={...i,...a},c=(0,e.lazy)(()=>b.loader().then(h)),j=b.loading;function k(a){let h=j?(0,d.jsx)(j,{isLoading:!0,pastDelay:!0,error:null}):null,i=!b.ssr||!!b.loading,k=i?e.Suspense:e.Fragment,l=b.ssr?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(g.PreloadChunks,{moduleIds:b.modules}),(0,d.jsx)(c,{...a})]}):(0,d.jsx)(f.BailoutToCSR,{reason:"next/dynamic",children:(0,d.jsx)(c,{...a})});return(0,d.jsx)(k,{...i?{fallback:h}:{},children:l})}return k.displayName="LoadableComponent",k}},52402:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"PreloadChunks",{enumerable:!0,get:function(){return h}});let d=c(21124),e=c(23312),f=c(29294),g=c(61348);function h(a){let{moduleIds:b}=a,c=f.workAsyncStorage.getStore();if(void 0===c)return null;let h=[];if(c.reactLoadableManifest&&b){let a=c.reactLoadableManifest;for(let c of b){if(!a[c])continue;let b=a[c].files;h.push(...b)}}return 0===h.length?null:(0,d.jsx)(d.Fragment,{children:h.map(a=>{let b=c.assetPrefix+"/_next/"+(0,g.encodeURIPath)(a);return a.endsWith(".css")?(0,d.jsx)("link",{precedence:"dynamic",href:b,rel:"stylesheet",as:"style"},a):((0,e.preload)(b,{as:"script",fetchPriority:"low"}),null)})})}},61348:(a,b)=>{"use strict";function c(a){return a.split("/").map(a=>encodeURIComponent(a)).join("/")}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"encodeURIPath",{enumerable:!0,get:function(){return c}})},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},81316:(a,b,c)=>{"use strict";c.r(b),c.d(b,{GlobalError:()=>D.a,__next_app__:()=>J,handler:()=>L,pages:()=>I,routeModule:()=>K,tree:()=>H});var d=c(49754),e=c(9117),f=c(46595),g=c(32324),h=c(39326),i=c(38928),j=c(20175),k=c(12),l=c(54290),m=c(12696),n=c(82802),o=c(77533),p=c(45229),q=c(32822),r=c(261),s=c(26453),t=c(52474),u=c(26713),v=c(51356),w=c(62685),x=c(36225),y=c(63446),z=c(2762),A=c(45742),B=c(86439),C=c(81170),D=c.n(C),E=c(62506),F=c(91203),G={};for(let a in E)0>["default","tree","pages","GlobalError","__next_app__","routeModule","handler"].indexOf(a)&&(G[a]=()=>E[a]);c.d(b,G);let H=["",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,1905)),"/Volumes/ProjectSpace/_wip/d1studio/src/app/page.jsx"]}]},{layout:[()=>Promise.resolve().then(c.bind(c,61662)),"/Volumes/ProjectSpace/_wip/d1studio/src/app/layout.jsx"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,81170,23)),"next/dist/client/components/builtin/global-error.js"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,87028,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,90461,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,32768,23)),"next/dist/client/components/builtin/unauthorized.js"]}],I=["/Volumes/ProjectSpace/_wip/d1studio/src/app/page.jsx"],J={require:c,loadChunk:()=>Promise.resolve()},K=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/page",pathname:"/",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:H},distDir:".next",relativeProjectDir:""});async function L(a,b,d){var C;let G="/page";"/index"===G&&(G="/");let M=(0,h.getRequestMeta)(a,"postponed"),N=(0,h.getRequestMeta)(a,"minimalMode"),O=await K.prepare(a,b,{srcPage:G,multiZoneDraftMode:!1});if(!O)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:P,query:Q,params:R,parsedUrl:S,pageIsDynamic:T,buildManifest:U,nextFontManifest:V,reactLoadableManifest:W,serverActionsManifest:X,clientReferenceManifest:Y,subresourceIntegrityManifest:Z,prerenderManifest:$,isDraftMode:_,resolvedPathname:aa,revalidateOnlyGenerated:ab,routerServerContext:ac,nextConfig:ad,interceptionRoutePatterns:ae}=O,af=S.pathname||"/",ag=(0,r.normalizeAppPath)(G),{isOnDemandRevalidate:ah}=O,ai=K.match(af,$),aj=!!$.routes[aa],ak=!!(ai||aj||$.routes[ag]),al=a.headers["user-agent"]||"",am=(0,u.getBotType)(al),an=(0,p.isHtmlBotRequest)(a),ao=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[t.NEXT_ROUTER_PREFETCH_HEADER],ap=(0,h.getRequestMeta)(a,"isRSCRequest")??!!a.headers[t.RSC_HEADER],aq=(0,s.getIsPossibleServerAction)(a),ar=(0,m.checkIsAppPPREnabled)(ad.experimental.ppr)&&(null==(C=$.routes[ag]??$.dynamicRoutes[ag])?void 0:C.renderingMode)==="PARTIALLY_STATIC",as=!1,at=!1,au=ar?M:void 0,av=ar&&ap&&!ao,aw=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),ax=!al||(0,p.shouldServeStreamingMetadata)(al,ad.htmlLimitedBots);an&&ar&&(ak=!1,ax=!1);let ay=!0===K.isDev||!ak||"string"==typeof M||av,az=an&&ar,aA=null;_||!ak||ay||aq||au||av||(aA=aa);let aB=aA;!aB&&K.isDev&&(aB=aa),K.isDev||_||!ak||!ap||av||(0,k.d)(a.headers);let aC={...E,tree:H,pages:I,GlobalError:D(),handler:L,routeModule:K,__next_app__:J};X&&Y&&(0,o.setReferenceManifestsSingleton)({page:G,clientReferenceManifest:Y,serverActionsManifest:X,serverModuleMap:(0,q.createServerModuleMap)({serverActionsManifest:X})});let aD=a.method||"GET",aE=(0,g.getTracer)(),aF=aE.getActiveScopeSpan();try{let f=K.getVaryHeader(aa,ae);b.setHeader("Vary",f);let k=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return K.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let d=aE.getRootSpanAttributes();if(!d)return;if(d.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${d.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=d.get("next.route");if(e){let a=`${aD} ${e}`;c.setAttributes({"next.route":e,"http.route":e,"next.span_name":a}),c.updateName(a)}else c.updateName(`${aD} ${a.url}`)})},m=async({span:e,postponed:f,fallbackRouteParams:g})=>{let i={query:Q,params:R,page:ag,sharedContext:{buildId:P},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aC,Component:(0,j.T)(aC),params:R,routeModule:K,page:G,postponed:f,shouldWaitOnAllReady:az,serveStreamingMetadata:ax,supportsDynamicResponse:"string"==typeof f||ay,buildManifest:U,nextFontManifest:V,reactLoadableManifest:W,subresourceIntegrityManifest:Z,serverActionsManifest:X,clientReferenceManifest:Y,setIsrStatus:null==ac?void 0:ac.setIsrStatus,dir:c(33873).join(process.cwd(),K.relativeProjectDir),isDraftMode:_,isRevalidate:ak&&!f&&!av,botType:am,isOnDemandRevalidate:ah,isPossibleServerAction:aq,assetPrefix:ad.assetPrefix,nextConfigOutput:ad.output,crossOrigin:ad.crossOrigin,trailingSlash:ad.trailingSlash,previewProps:$.preview,deploymentId:ad.deploymentId,enableTainting:ad.experimental.taint,htmlLimitedBots:ad.htmlLimitedBots,devtoolSegmentExplorer:ad.experimental.devtoolSegmentExplorer,reactMaxHeadersLength:ad.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:ad.experimental.cacheLife,basePath:ad.basePath,serverActions:ad.experimental.serverActions,...as?{nextExport:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isRevalidate:!0,isDebugDynamicAccesses:as}:{},experimental:{isRoutePPREnabled:ar,expireTime:ad.expireTime,staleTimes:ad.experimental.staleTimes,cacheComponents:!!ad.experimental.cacheComponents,clientSegmentCache:!!ad.experimental.clientSegmentCache,clientParamParsing:!!ad.experimental.clientParamParsing,dynamicOnHover:!!ad.experimental.dynamicOnHover,inlineCss:!!ad.experimental.inlineCss,authInterrupts:!!ad.experimental.authInterrupts,clientTraceMetadata:ad.experimental.clientTraceMetadata||[]},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d)=>K.onRequestError(a,b,d,ac),err:(0,h.getRequestMeta)(a,"invokeError"),dev:K.isDev}},l=await k(e,i),{metadata:m}=l,{cacheControl:n,headers:o={},fetchTags:p}=m;if(p&&(o[y.NEXT_CACHE_TAGS_HEADER]=p),a.fetchMetrics=m.fetchMetrics,ak&&(null==n?void 0:n.revalidate)===0&&!K.isDev&&!ar){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${aa}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
|
|
59
|
+
see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:v.CachedRouteKind.APP_PAGE,html:l,headers:o,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:n}},o=async({hasResolved:c,previousCacheEntry:f,isRevalidating:g,span:i})=>{let j,k=!1===K.isDev,l=c||b.writableEnded;if(ah&&ab&&!f&&!N)return(null==ac?void 0:ac.render404)?await ac.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(ai&&(j=(0,w.parseFallbackField)(ai.fallback)),j===w.FallbackMode.PRERENDER&&(0,u.isBot)(al)&&(!ar||an)&&(j=w.FallbackMode.BLOCKING_STATIC_RENDER),(null==f?void 0:f.isStale)===-1&&(ah=!0),ah&&(j!==w.FallbackMode.NOT_FOUND||f)&&(j=w.FallbackMode.BLOCKING_STATIC_RENDER),!N&&j!==w.FallbackMode.BLOCKING_STATIC_RENDER&&aB&&!l&&!_&&T&&(k||!aj)){let b;if((k||ai)&&j===w.FallbackMode.NOT_FOUND)throw new B.NoFallbackError;if(ar&&!ap){let c="string"==typeof(null==ai?void 0:ai.fallback)?ai.fallback:k?ag:null;if(b=await K.handleResponse({cacheKey:c,req:a,nextConfig:ad,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:$,isRoutePPREnabled:ar,responseGenerator:async()=>m({span:i,postponed:void 0,fallbackRouteParams:k||at?(0,n.u)(ag):null}),waitUntil:d.waitUntil}),null===b)return null;if(b)return delete b.cacheControl,b}}let o=ah||g||!au?void 0:au;if(as&&void 0!==o)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:v.CachedRouteKind.PAGES,html:x.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let p=T&&ar&&((0,h.getRequestMeta)(a,"renderFallbackShell")||at)?(0,n.u)(af):null;return m({span:i,postponed:o,fallbackRouteParams:p})},p=async c=>{var f,g,i,j,k;let l,n=await K.handleResponse({cacheKey:aA,responseGenerator:a=>o({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ah,isRoutePPREnabled:ar,req:a,nextConfig:ad,prerenderManifest:$,waitUntil:d.waitUntil});if(_&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),K.isDev&&b.setHeader("Cache-Control","no-store, must-revalidate"),!n){if(aA)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=n.value)?void 0:f.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=n.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let p="string"==typeof n.value.postponed;ak&&!av&&(!p||ao)&&(N||b.setHeader("x-nextjs-cache",ah?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),b.setHeader(t.NEXT_IS_PRERENDER_HEADER,"1"));let{value:q}=n;if(au)l={revalidate:0,expire:void 0};else if(N&&ap&&!ao&&ar)l={revalidate:0,expire:void 0};else if(!K.isDev)if(_)l={revalidate:0,expire:void 0};else if(ak){if(n.cacheControl)if("number"==typeof n.cacheControl.revalidate){if(n.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${n.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});l={revalidate:n.cacheControl.revalidate,expire:(null==(j=n.cacheControl)?void 0:j.expire)??ad.expireTime}}else l={revalidate:y.CACHE_ONE_YEAR,expire:void 0}}else b.getHeader("Cache-Control")||(l={revalidate:0,expire:void 0});if(n.cacheControl=l,"string"==typeof aw&&(null==q?void 0:q.kind)===v.CachedRouteKind.APP_PAGE&&q.segmentData){b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=q.headers)?void 0:k[y.NEXT_CACHE_TAGS_HEADER];N&&ak&&c&&"string"==typeof c&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,c);let d=q.segmentData.get(aw);return void 0!==d?(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:x.default.fromStatic(d,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl}):(b.statusCode=204,(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:x.default.EMPTY,cacheControl:n.cacheControl}))}let r=(0,h.getRequestMeta)(a,"onCacheEntry");if(r&&await r({...n,value:{...n.value,kind:"PAGE"}},{url:(0,h.getRequestMeta)(a,"initURL")}))return null;if(p&&au)throw Object.defineProperty(Error("Invariant: postponed state should not be present on a resume request"),"__NEXT_ERROR_CODE",{value:"E396",enumerable:!1,configurable:!0});if(q.headers){let a={...q.headers};for(let[c,d]of(N&&ak||delete a[y.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let s=null==(g=q.headers)?void 0:g[y.NEXT_CACHE_TAGS_HEADER];if(N&&ak&&s&&"string"==typeof s&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,s),!q.status||ap&&ar||(b.statusCode=q.status),!N&&q.status&&F.RedirectStatusCode[q.status]&&ap&&(b.statusCode=200),p&&b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"1"),ap&&!_){if(void 0===q.rscData){if(q.postponed)throw Object.defineProperty(Error("Invariant: Expected postponed to be undefined"),"__NEXT_ERROR_CODE",{value:"E372",enumerable:!1,configurable:!0});return(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:q.html,cacheControl:av?{revalidate:0,expire:void 0}:n.cacheControl})}return(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:x.default.fromStatic(q.rscData,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl})}let u=q.html;if(!p||N||ap)return(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:u,cacheControl:n.cacheControl});if(as)return u.push(new ReadableStream({start(a){a.enqueue(z.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:u,cacheControl:{revalidate:0,expire:void 0}});let w=new TransformStream;return u.push(w.readable),m({span:c,postponed:q.postponed,fallbackRouteParams:null}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(w.writable)}).catch(a=>{w.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:u,cacheControl:{revalidate:0,expire:void 0}})};if(!aF)return await aE.withPropagatedContext(a.headers,()=>aE.trace(i.BaseServerSpan.handleRequest,{spanName:`${aD} ${a.url}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aD,"http.target":a.url}},p));await p(aF)}catch(b){throw b instanceof B.NoFallbackError||await K.onRequestError(a,b,{routerKind:"App Router",routePath:G,routeType:"render",revalidateReason:(0,f.c)({isRevalidate:ak,isOnDemandRevalidate:ah})},ac),b}}},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},97048:(a,b,c)=>{Promise.resolve().then(c.bind(c,1905))}};var b=require("../webpack-runtime.js");b.C(a);var c=b.X(0,[873,386,839],()=>b(b.s=81316));module.exports=c})();
|