@tyroneross/navgator 0.2.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/index.js +1 -1
- package/package.json +1 -1
- package/web/.next/standalone/web/.next/BUILD_ID +1 -0
- package/web/.next/standalone/web/.next/app-path-routes-manifest.json +13 -0
- package/web/.next/standalone/web/.next/build-manifest.json +20 -0
- package/web/.next/standalone/web/.next/package.json +1 -0
- package/web/.next/standalone/web/.next/prerender-manifest.json +88 -0
- package/web/.next/standalone/web/.next/required-server-files.json +317 -0
- package/web/.next/standalone/web/.next/routes-manifest.json +110 -0
- package/web/.next/standalone/web/.next/server/app/_global-error/page/app-paths-manifest.json +3 -0
- package/web/.next/standalone/web/.next/server/app/_global-error/page/build-manifest.json +17 -0
- package/web/.next/standalone/web/.next/server/app/_global-error/page/next-font-manifest.json +6 -0
- package/web/.next/standalone/web/.next/server/app/_global-error/page/react-loadable-manifest.json +1 -0
- package/web/.next/standalone/web/.next/server/app/_global-error/page/server-reference-manifest.json +4 -0
- package/web/.next/standalone/web/.next/server/app/_global-error/page.js +10 -0
- package/web/.next/standalone/web/.next/server/app/_global-error/page.js.map +5 -0
- package/web/.next/standalone/web/.next/server/app/_global-error/page.js.nft.json +1 -0
- package/web/.next/standalone/web/.next/server/app/_global-error/page_client-reference-manifest.js +2 -0
- package/web/.next/standalone/web/.next/server/app/_global-error.html +2 -0
- package/web/.next/standalone/web/.next/server/app/_global-error.meta +15 -0
- package/web/.next/standalone/web/.next/server/app/_global-error.rsc +12 -0
- package/web/.next/standalone/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +5 -0
- package/web/.next/standalone/web/.next/server/app/_global-error.segments/_full.segment.rsc +12 -0
- package/web/.next/standalone/web/.next/server/app/_global-error.segments/_head.segment.rsc +7 -0
- package/web/.next/standalone/web/.next/server/app/_global-error.segments/_index.segment.rsc +4 -0
- package/web/.next/standalone/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
- package/web/.next/standalone/web/.next/server/app/_not-found/page/app-paths-manifest.json +3 -0
- package/web/.next/standalone/web/.next/server/app/_not-found/page/build-manifest.json +17 -0
- package/web/.next/standalone/web/.next/server/app/_not-found/page/next-font-manifest.json +11 -0
- package/web/.next/standalone/web/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -0
- package/web/.next/standalone/web/.next/server/app/_not-found/page/server-reference-manifest.json +4 -0
- package/web/.next/standalone/web/.next/server/app/_not-found/page.js +13 -0
- package/web/.next/standalone/web/.next/server/app/_not-found/page.js.map +5 -0
- package/web/.next/standalone/web/.next/server/app/_not-found/page.js.nft.json +1 -0
- package/web/.next/standalone/web/.next/server/app/_not-found/page_client-reference-manifest.js +2 -0
- package/web/.next/standalone/web/.next/server/app/_not-found.html +1 -0
- package/web/.next/standalone/web/.next/server/app/_not-found.meta +16 -0
- package/web/.next/standalone/web/.next/server/app/_not-found.rsc +17 -0
- package/web/.next/standalone/web/.next/server/app/_not-found.segments/_full.segment.rsc +17 -0
- package/web/.next/standalone/web/.next/server/app/_not-found.segments/_head.segment.rsc +8 -0
- package/web/.next/standalone/web/.next/server/app/_not-found.segments/_index.segment.rsc +8 -0
- package/web/.next/standalone/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +5 -0
- package/web/.next/standalone/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +4 -0
- package/web/.next/standalone/web/.next/server/app/_not-found.segments/_tree.segment.rsc +3 -0
- package/web/.next/standalone/web/.next/server/app/api/components/route/app-paths-manifest.json +3 -0
- package/web/.next/standalone/web/.next/server/app/api/components/route/build-manifest.json +11 -0
- package/web/.next/standalone/web/.next/server/app/api/components/route/server-reference-manifest.json +4 -0
- package/web/.next/standalone/web/.next/server/app/api/components/route.js +6 -0
- package/web/.next/standalone/web/.next/server/app/api/components/route.js.map +5 -0
- package/web/.next/standalone/web/.next/server/app/api/components/route.js.nft.json +1 -0
- package/web/.next/standalone/web/.next/server/app/api/components/route_client-reference-manifest.js +2 -0
- package/web/.next/standalone/web/.next/server/app/api/connections/route/app-paths-manifest.json +3 -0
- package/web/.next/standalone/web/.next/server/app/api/connections/route/build-manifest.json +11 -0
- package/web/.next/standalone/web/.next/server/app/api/connections/route/server-reference-manifest.json +4 -0
- package/web/.next/standalone/web/.next/server/app/api/connections/route.js +6 -0
- package/web/.next/standalone/web/.next/server/app/api/connections/route.js.map +5 -0
- package/web/.next/standalone/web/.next/server/app/api/connections/route.js.nft.json +1 -0
- package/web/.next/standalone/web/.next/server/app/api/connections/route_client-reference-manifest.js +2 -0
- package/web/.next/standalone/web/.next/server/app/api/graph/route/app-paths-manifest.json +3 -0
- package/web/.next/standalone/web/.next/server/app/api/graph/route/build-manifest.json +11 -0
- package/web/.next/standalone/web/.next/server/app/api/graph/route/server-reference-manifest.json +4 -0
- package/web/.next/standalone/web/.next/server/app/api/graph/route.js +6 -0
- package/web/.next/standalone/web/.next/server/app/api/graph/route.js.map +5 -0
- package/web/.next/standalone/web/.next/server/app/api/graph/route.js.nft.json +1 -0
- package/web/.next/standalone/web/.next/server/app/api/graph/route_client-reference-manifest.js +2 -0
- package/web/.next/standalone/web/.next/server/app/api/projects/route/app-paths-manifest.json +3 -0
- package/web/.next/standalone/web/.next/server/app/api/projects/route/build-manifest.json +11 -0
- package/web/.next/standalone/web/.next/server/app/api/projects/route/server-reference-manifest.json +4 -0
- package/web/.next/standalone/web/.next/server/app/api/projects/route.js +6 -0
- package/web/.next/standalone/web/.next/server/app/api/projects/route.js.map +5 -0
- package/web/.next/standalone/web/.next/server/app/api/projects/route.js.nft.json +1 -0
- package/web/.next/standalone/web/.next/server/app/api/projects/route_client-reference-manifest.js +2 -0
- package/web/.next/standalone/web/.next/server/app/api/prompts/route/app-paths-manifest.json +3 -0
- package/web/.next/standalone/web/.next/server/app/api/prompts/route/build-manifest.json +11 -0
- package/web/.next/standalone/web/.next/server/app/api/prompts/route/server-reference-manifest.json +4 -0
- package/web/.next/standalone/web/.next/server/app/api/prompts/route.js +7 -0
- package/web/.next/standalone/web/.next/server/app/api/prompts/route.js.map +5 -0
- package/web/.next/standalone/web/.next/server/app/api/prompts/route.js.nft.json +1 -0
- package/web/.next/standalone/web/.next/server/app/api/prompts/route_client-reference-manifest.js +2 -0
- package/web/.next/standalone/web/.next/server/app/api/scan/route/app-paths-manifest.json +3 -0
- package/web/.next/standalone/web/.next/server/app/api/scan/route/build-manifest.json +11 -0
- package/web/.next/standalone/web/.next/server/app/api/scan/route/server-reference-manifest.json +4 -0
- package/web/.next/standalone/web/.next/server/app/api/scan/route.js +6 -0
- package/web/.next/standalone/web/.next/server/app/api/scan/route.js.map +5 -0
- package/web/.next/standalone/web/.next/server/app/api/scan/route.js.nft.json +1 -0
- package/web/.next/standalone/web/.next/server/app/api/scan/route_client-reference-manifest.js +2 -0
- package/web/.next/standalone/web/.next/server/app/api/settings/route/app-paths-manifest.json +3 -0
- package/web/.next/standalone/web/.next/server/app/api/settings/route/build-manifest.json +11 -0
- package/web/.next/standalone/web/.next/server/app/api/settings/route/server-reference-manifest.json +4 -0
- package/web/.next/standalone/web/.next/server/app/api/settings/route.js +6 -0
- package/web/.next/standalone/web/.next/server/app/api/settings/route.js.map +5 -0
- package/web/.next/standalone/web/.next/server/app/api/settings/route.js.nft.json +1 -0
- package/web/.next/standalone/web/.next/server/app/api/settings/route_client-reference-manifest.js +2 -0
- package/web/.next/standalone/web/.next/server/app/api/status/route/app-paths-manifest.json +3 -0
- package/web/.next/standalone/web/.next/server/app/api/status/route/build-manifest.json +11 -0
- package/web/.next/standalone/web/.next/server/app/api/status/route/server-reference-manifest.json +4 -0
- package/web/.next/standalone/web/.next/server/app/api/status/route.js +6 -0
- package/web/.next/standalone/web/.next/server/app/api/status/route.js.map +5 -0
- package/web/.next/standalone/web/.next/server/app/api/status/route.js.nft.json +1 -0
- package/web/.next/standalone/web/.next/server/app/api/status/route_client-reference-manifest.js +2 -0
- package/web/.next/standalone/web/.next/server/app/index.html +1 -0
- package/web/.next/standalone/web/.next/server/app/index.meta +14 -0
- package/web/.next/standalone/web/.next/server/app/index.rsc +23 -0
- package/web/.next/standalone/web/.next/server/app/index.segments/__PAGE__.segment.rsc +9 -0
- package/web/.next/standalone/web/.next/server/app/index.segments/_full.segment.rsc +23 -0
- package/web/.next/standalone/web/.next/server/app/index.segments/_head.segment.rsc +8 -0
- package/web/.next/standalone/web/.next/server/app/index.segments/_index.segment.rsc +8 -0
- package/web/.next/standalone/web/.next/server/app/index.segments/_tree.segment.rsc +5 -0
- package/web/.next/standalone/web/.next/server/app/page/app-paths-manifest.json +3 -0
- package/web/.next/standalone/web/.next/server/app/page/build-manifest.json +17 -0
- package/web/.next/standalone/web/.next/server/app/page/next-font-manifest.json +11 -0
- package/web/.next/standalone/web/.next/server/app/page/react-loadable-manifest.json +1 -0
- package/web/.next/standalone/web/.next/server/app/page/server-reference-manifest.json +4 -0
- package/web/.next/standalone/web/.next/server/app/page.js +15 -0
- package/web/.next/standalone/web/.next/server/app/page.js.map +5 -0
- package/web/.next/standalone/web/.next/server/app/page.js.nft.json +1 -0
- package/web/.next/standalone/web/.next/server/app/page_client-reference-manifest.js +2 -0
- package/web/.next/standalone/web/.next/server/app-paths-manifest.json +13 -0
- package/web/.next/standalone/web/.next/server/chunks/2374f_next_dist_esm_build_templates_app-route_0bb4e66a.js +19 -0
- package/web/.next/standalone/web/.next/server/chunks/[root-of-the-server]__006b837d._.js +3 -0
- package/web/.next/standalone/web/.next/server/chunks/[root-of-the-server]__1ab91221._.js +3 -0
- package/web/.next/standalone/web/.next/server/chunks/[root-of-the-server]__2e09fec9._.js +3 -0
- package/web/.next/standalone/web/.next/server/chunks/[root-of-the-server]__38d0390f._.js +3 -0
- package/web/.next/standalone/web/.next/server/chunks/[root-of-the-server]__539ef30d._.js +3 -0
- package/web/.next/standalone/web/.next/server/chunks/[root-of-the-server]__594bcf20._.js +3 -0
- package/web/.next/standalone/web/.next/server/chunks/[root-of-the-server]__b888fadf._.js +3 -0
- package/web/.next/standalone/web/.next/server/chunks/[root-of-the-server]__f3450c22._.js +21 -0
- package/web/.next/standalone/web/.next/server/chunks/[root-of-the-server]__fa2ec862._.js +3 -0
- package/web/.next/standalone/web/.next/server/chunks/[turbopack]_runtime.js +770 -0
- package/web/.next/standalone/web/.next/server/chunks/ssr/2374f_e6039567._.js +6 -0
- package/web/.next/standalone/web/.next/server/chunks/ssr/2374f_next_dist_09351209._.js +6 -0
- package/web/.next/standalone/web/.next/server/chunks/ssr/2374f_next_dist_222be7ae._.js +6 -0
- package/web/.next/standalone/web/.next/server/chunks/ssr/2374f_next_dist_2346e1b3._.js +3 -0
- package/web/.next/standalone/web/.next/server/chunks/ssr/2374f_next_dist_cec86455._.js +4 -0
- package/web/.next/standalone/web/.next/server/chunks/ssr/2374f_next_dist_client_components_9c5d1a14._.js +3 -0
- package/web/.next/standalone/web/.next/server/chunks/ssr/2374f_next_dist_client_components_builtin_forbidden_8eae0c85.js +3 -0
- package/web/.next/standalone/web/.next/server/chunks/ssr/2374f_next_dist_client_components_builtin_global-error_81159d60.js +3 -0
- package/web/.next/standalone/web/.next/server/chunks/ssr/2374f_next_dist_client_components_builtin_unauthorized_7d34a31c.js +3 -0
- package/web/.next/standalone/web/.next/server/chunks/ssr/2374f_next_dist_e03afa0e._.js +3 -0
- package/web/.next/standalone/web/.next/server/chunks/ssr/2374f_next_dist_esm_build_templates_app-page_2c8d71b9.js +4 -0
- package/web/.next/standalone/web/.next/server/chunks/ssr/2374f_next_dist_server_route-modules_app-page_vendored_ssr_react-dom_8910f04c.js +3 -0
- package/web/.next/standalone/web/.next/server/chunks/ssr/[root-of-the-server]__1a0663e6._.js +3 -0
- package/web/.next/standalone/web/.next/server/chunks/ssr/[root-of-the-server]__4306eafc._.js +3 -0
- package/web/.next/standalone/web/.next/server/chunks/ssr/[root-of-the-server]__44903626._.js +3 -0
- package/web/.next/standalone/web/.next/server/chunks/ssr/[root-of-the-server]__60278e3f._.js +3 -0
- package/web/.next/standalone/web/.next/server/chunks/ssr/[root-of-the-server]__61942f24._.js +4 -0
- package/web/.next/standalone/web/.next/server/chunks/ssr/[root-of-the-server]__8c45c3c9._.js +3 -0
- package/web/.next/standalone/web/.next/server/chunks/ssr/[root-of-the-server]__9a2f110d._.js +3 -0
- package/web/.next/standalone/web/.next/server/chunks/ssr/[root-of-the-server]__ed07bd88._.js +3 -0
- package/web/.next/standalone/web/.next/server/chunks/ssr/[root-of-the-server]__f2db61af._.js +3 -0
- package/web/.next/standalone/web/.next/server/chunks/ssr/[turbopack]_runtime.js +770 -0
- package/web/.next/standalone/web/.next/server/chunks/ssr/web_0103e631._.js +4 -0
- package/web/.next/standalone/web/.next/server/chunks/ssr/web_171de0df._.js +14 -0
- package/web/.next/standalone/web/.next/server/chunks/ssr/web__next-internal_server_app__global-error_page_actions_2a1e94d4.js +3 -0
- package/web/.next/standalone/web/.next/server/chunks/ssr/web__next-internal_server_app__not-found_page_actions_9eaa9845.js +3 -0
- package/web/.next/standalone/web/.next/server/chunks/ssr/web__next-internal_server_app_page_actions_ec26bf28.js +3 -0
- package/web/.next/standalone/web/.next/server/chunks/web__next-internal_server_app_api_components_route_actions_c88bf2a6.js +3 -0
- package/web/.next/standalone/web/.next/server/chunks/web__next-internal_server_app_api_connections_route_actions_b1d5e95a.js +3 -0
- package/web/.next/standalone/web/.next/server/chunks/web__next-internal_server_app_api_graph_route_actions_e2dd052c.js +3 -0
- package/web/.next/standalone/web/.next/server/chunks/web__next-internal_server_app_api_projects_route_actions_3f671cbb.js +3 -0
- package/web/.next/standalone/web/.next/server/chunks/web__next-internal_server_app_api_prompts_route_actions_85b56166.js +3 -0
- package/web/.next/standalone/web/.next/server/chunks/web__next-internal_server_app_api_scan_route_actions_861cde8d.js +3 -0
- package/web/.next/standalone/web/.next/server/chunks/web__next-internal_server_app_api_settings_route_actions_e19026ae.js +3 -0
- package/web/.next/standalone/web/.next/server/chunks/web__next-internal_server_app_api_status_route_actions_8b8c6c89.js +3 -0
- package/web/.next/standalone/web/.next/server/functions-config-manifest.json +4 -0
- package/web/.next/standalone/web/.next/server/middleware-build-manifest.js +21 -0
- package/web/.next/standalone/web/.next/server/middleware-manifest.json +6 -0
- package/web/.next/standalone/web/.next/server/next-font-manifest.js +1 -0
- package/web/.next/standalone/web/.next/server/next-font-manifest.json +15 -0
- package/web/.next/standalone/web/.next/server/pages/404.html +1 -0
- package/web/.next/standalone/web/.next/server/pages/500.html +2 -0
- package/web/.next/standalone/web/.next/server/pages-manifest.json +4 -0
- package/web/.next/standalone/web/.next/server/server-reference-manifest.js +1 -0
- package/web/.next/standalone/web/.next/server/server-reference-manifest.json +5 -0
- package/web/.next/standalone/web/.next/static/WH0NvTGUEDs9QVUjcPJKx/_buildManifest.js +11 -0
- package/web/.next/standalone/web/.next/static/WH0NvTGUEDs9QVUjcPJKx/_clientMiddlewareManifest.json +1 -0
- package/web/.next/standalone/web/.next/static/WH0NvTGUEDs9QVUjcPJKx/_ssgManifest.js +1 -0
- package/web/.next/standalone/web/.next/static/chunks/062ae79751df2759.js +1 -0
- package/web/.next/standalone/web/.next/static/chunks/159889e17b2cf1f8.js +2 -0
- package/web/.next/standalone/web/.next/static/chunks/458d6f37339fc069.js +1 -0
- package/web/.next/standalone/web/.next/static/chunks/6d3d39425a878d7f.js +1 -0
- package/web/.next/standalone/web/.next/static/chunks/8a80e7184ad3a13f.css +2 -0
- package/web/.next/standalone/web/.next/static/chunks/a6dad97d9634a72d.js +1 -0
- package/web/.next/standalone/web/.next/static/chunks/c056475f5f4424b6.css +1 -0
- package/web/.next/standalone/web/.next/static/chunks/c57fee8cce8d7cb9.js +1 -0
- package/web/.next/standalone/web/.next/static/chunks/cb3513192b63e480.js +12 -0
- package/web/.next/standalone/web/.next/static/chunks/dd22b5f2beb2cc31.js +1 -0
- package/web/.next/standalone/web/.next/static/chunks/e0affeef0ddb9a97.js +4 -0
- package/web/.next/standalone/web/.next/static/chunks/f74a6859e1c4d5e3.js +1 -0
- package/web/.next/standalone/web/.next/static/chunks/turbopack-c0c89f9e6f0a38c4.js +3 -0
- package/web/.next/standalone/web/.next/static/media/4fa387ec64143e14-s.c1fdd6c2.woff2 +0 -0
- package/web/.next/standalone/web/.next/static/media/7178b3e590c64307-s.b97b3418.woff2 +0 -0
- package/web/.next/standalone/web/.next/static/media/797e433ab948586e-s.p.dbea232f.woff2 +0 -0
- package/web/.next/standalone/web/.next/static/media/8a480f0b521d4e75-s.8e0177b5.woff2 +0 -0
- package/web/.next/standalone/web/.next/static/media/bbc41e54d2fcbd21-s.799d8ef8.woff2 +0 -0
- package/web/.next/standalone/web/.next/static/media/caa3a2e1cccd8315-s.p.853070df.woff2 +0 -0
- package/web/.next/standalone/web/app/api/components/route.ts +252 -0
- package/web/.next/standalone/web/app/api/connections/route.ts +319 -0
- package/web/.next/standalone/web/app/api/graph/route.ts +235 -0
- package/web/.next/standalone/web/app/api/projects/route.ts +221 -0
- package/web/.next/standalone/web/app/api/prompts/route.ts +328 -0
- package/web/.next/standalone/web/app/api/scan/route.ts +108 -0
- package/web/.next/standalone/web/app/api/settings/route.ts +198 -0
- package/web/.next/standalone/web/app/api/status/route.ts +169 -0
- package/web/.next/standalone/web/app/globals.css +99 -0
- package/web/.next/standalone/web/app/layout.tsx +49 -0
- package/web/.next/standalone/web/app/page.tsx +94 -0
- package/web/.next/standalone/web/components/components-panel.tsx +240 -0
- package/web/.next/standalone/web/components/connections-panel.tsx +220 -0
- package/web/.next/standalone/web/components/diagram-view.tsx +735 -0
- package/web/.next/standalone/web/components/header.tsx +225 -0
- package/web/.next/standalone/web/components/impact-analysis.tsx +358 -0
- package/web/.next/standalone/web/components/llm-tracking-panel.tsx +1483 -0
- package/web/.next/standalone/web/components/settings-panel.tsx +671 -0
- package/web/.next/standalone/web/components/sidebar.tsx +74 -0
- package/web/.next/standalone/web/components/status-overview.tsx +326 -0
- package/web/.next/standalone/web/components/theme-provider.tsx +11 -0
- package/web/.next/standalone/web/components/ui/accordion.tsx +66 -0
- package/web/.next/standalone/web/components/ui/alert-dialog.tsx +157 -0
- package/web/.next/standalone/web/components/ui/alert.tsx +66 -0
- package/web/.next/standalone/web/components/ui/aspect-ratio.tsx +11 -0
- package/web/.next/standalone/web/components/ui/avatar.tsx +53 -0
- package/web/.next/standalone/web/components/ui/badge.tsx +46 -0
- package/web/.next/standalone/web/components/ui/breadcrumb.tsx +109 -0
- package/web/.next/standalone/web/components/ui/button-group.tsx +83 -0
- package/web/.next/standalone/web/components/ui/button.tsx +60 -0
- package/web/.next/standalone/web/components/ui/calendar.tsx +213 -0
- package/web/.next/standalone/web/components/ui/card.tsx +92 -0
- package/web/.next/standalone/web/components/ui/carousel.tsx +241 -0
- package/web/.next/standalone/web/components/ui/chart.tsx +353 -0
- package/web/.next/standalone/web/components/ui/checkbox.tsx +32 -0
- package/web/.next/standalone/web/components/ui/collapsible.tsx +33 -0
- package/web/.next/standalone/web/components/ui/command.tsx +184 -0
- package/web/.next/standalone/web/components/ui/context-menu.tsx +252 -0
- package/web/.next/standalone/web/components/ui/dialog.tsx +143 -0
- package/web/.next/standalone/web/components/ui/drawer.tsx +135 -0
- package/web/.next/standalone/web/components/ui/dropdown-menu.tsx +257 -0
- package/web/.next/standalone/web/components/ui/empty.tsx +104 -0
- package/web/.next/standalone/web/components/ui/field.tsx +244 -0
- package/web/.next/standalone/web/components/ui/form.tsx +167 -0
- package/web/.next/standalone/web/components/ui/hover-card.tsx +44 -0
- package/web/.next/standalone/web/components/ui/input-group.tsx +169 -0
- package/web/.next/standalone/web/components/ui/input-otp.tsx +77 -0
- package/web/.next/standalone/web/components/ui/input.tsx +21 -0
- package/web/.next/standalone/web/components/ui/item.tsx +193 -0
- package/web/.next/standalone/web/components/ui/kbd.tsx +28 -0
- package/web/.next/standalone/web/components/ui/label.tsx +24 -0
- package/web/.next/standalone/web/components/ui/menubar.tsx +276 -0
- package/web/.next/standalone/web/components/ui/navigation-menu.tsx +166 -0
- package/web/.next/standalone/web/components/ui/pagination.tsx +127 -0
- package/web/.next/standalone/web/components/ui/popover.tsx +48 -0
- package/web/.next/standalone/web/components/ui/progress.tsx +31 -0
- package/web/.next/standalone/web/components/ui/radio-group.tsx +45 -0
- package/web/.next/standalone/web/components/ui/resizable.tsx +56 -0
- package/web/.next/standalone/web/components/ui/scroll-area.tsx +58 -0
- package/web/.next/standalone/web/components/ui/select.tsx +185 -0
- package/web/.next/standalone/web/components/ui/separator.tsx +28 -0
- package/web/.next/standalone/web/components/ui/sheet.tsx +139 -0
- package/web/.next/standalone/web/components/ui/sidebar.tsx +726 -0
- package/web/.next/standalone/web/components/ui/skeleton.tsx +13 -0
- package/web/.next/standalone/web/components/ui/slider.tsx +63 -0
- package/web/.next/standalone/web/components/ui/sonner.tsx +25 -0
- package/web/.next/standalone/web/components/ui/spinner.tsx +16 -0
- package/web/.next/standalone/web/components/ui/switch.tsx +31 -0
- package/web/.next/standalone/web/components/ui/table.tsx +116 -0
- package/web/.next/standalone/web/components/ui/tabs.tsx +66 -0
- package/web/.next/standalone/web/components/ui/textarea.tsx +18 -0
- package/web/.next/standalone/web/components/ui/toast.tsx +129 -0
- package/web/.next/standalone/web/components/ui/toaster.tsx +35 -0
- package/web/.next/standalone/web/components/ui/toggle-group.tsx +73 -0
- package/web/.next/standalone/web/components/ui/toggle.tsx +47 -0
- package/web/.next/standalone/web/components/ui/tooltip.tsx +61 -0
- package/web/.next/standalone/web/components/ui/use-mobile.tsx +19 -0
- package/web/.next/standalone/web/components/ui/use-toast.ts +191 -0
- package/web/.next/standalone/web/components.json +21 -0
- package/web/.next/standalone/web/hooks/use-mobile.ts +19 -0
- package/web/.next/standalone/web/hooks/use-toast.ts +191 -0
- package/web/.next/standalone/web/lib/hooks/index.ts +8 -0
- package/web/.next/standalone/web/lib/hooks/use-components.ts +83 -0
- package/web/.next/standalone/web/lib/hooks/use-connections.ts +83 -0
- package/web/.next/standalone/web/lib/hooks/use-projects.ts +116 -0
- package/web/.next/standalone/web/lib/hooks/use-prompts.ts +122 -0
- package/web/.next/standalone/web/lib/hooks/use-settings.ts +135 -0
- package/web/.next/standalone/web/lib/hooks/use-status.ts +80 -0
- package/web/.next/standalone/web/lib/project-context.tsx +46 -0
- package/web/.next/standalone/web/lib/transform.ts +625 -0
- package/web/.next/standalone/web/lib/types.ts +198 -0
- package/web/.next/standalone/web/lib/utils.ts +6 -0
- package/web/.next/standalone/web/next.config.mjs +12 -0
- package/web/.next/standalone/web/package-lock.json +3987 -0
- package/web/.next/standalone/web/package.json +73 -0
- package/web/.next/standalone/web/pnpm-lock.yaml +5 -0
- package/web/.next/standalone/web/postcss.config.mjs +8 -0
- package/web/.next/standalone/web/public/apple-icon.png +0 -0
- package/web/.next/standalone/web/public/icon-dark-32x32.png +0 -0
- package/web/.next/standalone/web/public/icon-light-32x32.png +0 -0
- package/web/.next/standalone/web/public/icon.svg +26 -0
- package/web/.next/standalone/web/public/navgator-logo.png +0 -0
- package/web/.next/standalone/web/public/placeholder-logo.png +0 -0
- package/web/.next/standalone/web/public/placeholder-logo.svg +1 -0
- package/web/.next/standalone/web/public/placeholder-user.jpg +0 -0
- package/web/.next/standalone/web/public/placeholder.jpg +0 -0
- package/web/.next/standalone/web/public/placeholder.svg +1 -0
- package/web/.next/standalone/web/public/public/apple-icon.png +0 -0
- package/web/.next/standalone/web/public/public/icon-dark-32x32.png +0 -0
- package/web/.next/standalone/web/public/public/icon-light-32x32.png +0 -0
- package/web/.next/standalone/web/public/public/icon.svg +26 -0
- package/web/.next/standalone/web/public/public/navgator-logo.png +0 -0
- package/web/.next/standalone/web/public/public/placeholder-logo.png +0 -0
- package/web/.next/standalone/web/public/public/placeholder-logo.svg +1 -0
- package/web/.next/standalone/web/public/public/placeholder-user.jpg +0 -0
- package/web/.next/standalone/web/public/public/placeholder.jpg +0 -0
- package/web/.next/standalone/web/public/public/placeholder.svg +1 -0
- package/web/.next/standalone/web/server.js +38 -0
- package/web/.next/standalone/web/styles/globals.css +125 -0
- package/web/.next/standalone/web/tsconfig.json +41 -0
- package/web/.next/static/WH0NvTGUEDs9QVUjcPJKx/_buildManifest.js +11 -0
- package/web/.next/static/WH0NvTGUEDs9QVUjcPJKx/_clientMiddlewareManifest.json +1 -0
- package/web/.next/static/WH0NvTGUEDs9QVUjcPJKx/_ssgManifest.js +1 -0
- package/web/.next/static/chunks/062ae79751df2759.js +1 -0
- package/web/.next/static/chunks/159889e17b2cf1f8.js +2 -0
- package/web/.next/static/chunks/458d6f37339fc069.js +1 -0
- package/web/.next/static/chunks/6d3d39425a878d7f.js +1 -0
- package/web/.next/static/chunks/8a80e7184ad3a13f.css +2 -0
- package/web/.next/static/chunks/a6dad97d9634a72d.js +1 -0
- package/web/.next/static/chunks/c056475f5f4424b6.css +1 -0
- package/web/.next/static/chunks/c57fee8cce8d7cb9.js +1 -0
- package/web/.next/static/chunks/cb3513192b63e480.js +12 -0
- package/web/.next/static/chunks/dd22b5f2beb2cc31.js +1 -0
- package/web/.next/static/chunks/e0affeef0ddb9a97.js +4 -0
- package/web/.next/static/chunks/f74a6859e1c4d5e3.js +1 -0
- package/web/.next/static/chunks/turbopack-c0c89f9e6f0a38c4.js +3 -0
- package/web/.next/static/media/4fa387ec64143e14-s.c1fdd6c2.woff2 +0 -0
- package/web/.next/static/media/7178b3e590c64307-s.b97b3418.woff2 +0 -0
- package/web/.next/static/media/797e433ab948586e-s.p.dbea232f.woff2 +0 -0
- package/web/.next/static/media/8a480f0b521d4e75-s.8e0177b5.woff2 +0 -0
- package/web/.next/static/media/bbc41e54d2fcbd21-s.799d8ef8.woff2 +0 -0
- package/web/.next/static/media/caa3a2e1cccd8315-s.p.853070df.woff2 +0 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
module.exports=[37646,(a,b,c)=>{"use strict";c._=function(a){return a&&a.__esModule?a:{default:a}}},69143,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"warnOnce",{enumerable:!0,get:function(){return d}});let d=a=>{}},83502,(a,b,c)=>{"use strict";function d({widthInt:a,heightInt:b,blurWidth:c,blurHeight:d,blurDataURL:e,objectFit:f}){let g=c?40*c:a,h=d?40*d:b,i=g&&h?`viewBox='0 0 ${g} ${h}'`:"";return`%3Csvg xmlns='http://www.w3.org/2000/svg' ${i}%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='${i?"none":"contain"===f?"xMidYMid":"cover"===f?"xMidYMid slice":"none"}' style='filter: url(%23b);' href='${e}'/%3E%3C/svg%3E`}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"getImageBlurSvg",{enumerable:!0,get:function(){return d}})},79965,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={VALID_LOADERS:function(){return f},imageConfigDefault:function(){return g}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=["default","imgix","cloudinary","akamai","custom"],g={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:14400,formats:["image/webp"],maximumRedirects:3,dangerouslyAllowLocalIP:!1,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:[75],unoptimized:!1}},13151,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"getImgProps",{enumerable:!0,get:function(){return i}}),a.r(69143);let d=a.r(83502),e=a.r(79965),f=["-moz-initial","fill","none","scale-down",void 0];function g(a){return void 0!==a.default}function h(a){return void 0===a?a:"number"==typeof a?Number.isFinite(a)?a:NaN:"string"==typeof a&&/^[0-9]+$/.test(a)?parseInt(a,10):NaN}function i({src:a,sizes:b,unoptimized:c=!1,priority:i=!1,preload:j=!1,loading:k,className:l,quality:m,width:n,height:o,fill:p=!1,style:q,overrideSrc:r,onLoad:s,onLoadingComplete:t,placeholder:u="empty",blurDataURL:v,fetchPriority:w,decoding:x="async",layout:y,objectFit:z,objectPosition:A,lazyBoundary:B,lazyRoot:C,...D},E){var F;let G,H,I,{imgConf:J,showAltText:K,blurComplete:L,defaultLoader:M}=E,N=J||e.imageConfigDefault;if("allSizes"in N)G=N;else{let a=[...N.deviceSizes,...N.imageSizes].sort((a,b)=>a-b),b=N.deviceSizes.sort((a,b)=>a-b),c=N.qualities?.sort((a,b)=>a-b);G={...N,allSizes:a,deviceSizes:b,qualities:c}}if(void 0===M)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let O=D.loader||M;delete D.loader,delete D.srcSet;let P="__next_img_default"in O;if(P){if("custom"===G.loader)throw Object.defineProperty(Error(`Image with src "${a}" is missing "loader" prop.
|
|
2
|
+
Read more: https://nextjs.org/docs/messages/next-image-missing-loader`),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let a=O;O=b=>{let{config:c,...d}=b;return a(d)}}if(y){"fill"===y&&(p=!0);let a={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[y];a&&(q={...q,...a});let c={responsive:"100vw",fill:"100vw"}[y];c&&!b&&(b=c)}let Q="",R=h(n),S=h(o);if((F=a)&&"object"==typeof F&&(g(F)||void 0!==F.src)){let b=g(a)?a.default:a;if(!b.src)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ${JSON.stringify(b)}`),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!b.height||!b.width)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ${JSON.stringify(b)}`),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(H=b.blurWidth,I=b.blurHeight,v=v||b.blurDataURL,Q=b.src,!p)if(R||S){if(R&&!S){let a=R/b.width;S=Math.round(b.height*a)}else if(!R&&S){let a=S/b.height;R=Math.round(b.width*a)}}else R=b.width,S=b.height}let T=!i&&!j&&("lazy"===k||void 0===k);(!(a="string"==typeof a?a:Q)||a.startsWith("data:")||a.startsWith("blob:"))&&(c=!0,T=!1),G.unoptimized&&(c=!0),P&&!G.dangerouslyAllowSVG&&a.split("?",1)[0].endsWith(".svg")&&(c=!0);let U=h(m),V=Object.assign(p?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:z,objectPosition:A}:{},K?{}:{color:"transparent"},q),W=L||"empty"===u?null:"blur"===u?`url("data:image/svg+xml;charset=utf-8,${(0,d.getImageBlurSvg)({widthInt:R,heightInt:S,blurWidth:H,blurHeight:I,blurDataURL:v||"",objectFit:V.objectFit})}")`:`url("${u}")`,X=f.includes(V.objectFit)?"fill"===V.objectFit?"100% 100%":"cover":V.objectFit,Y=W?{backgroundSize:X,backgroundPosition:V.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:W}:{},Z=function({config:a,src:b,unoptimized:c,width:d,quality:e,sizes:f,loader:g}){if(c)return{src:b,srcSet:void 0,sizes:void 0};let{widths:h,kind:i}=function({deviceSizes:a,allSizes:b},c,d){if(d){let c=/(^|\s)(1?\d?\d)vw/g,e=[];for(let a;a=c.exec(d);)e.push(parseInt(a[2]));if(e.length){let c=.01*Math.min(...e);return{widths:b.filter(b=>b>=a[0]*c),kind:"w"}}return{widths:b,kind:"w"}}return"number"!=typeof c?{widths:a,kind:"w"}:{widths:[...new Set([c,2*c].map(a=>b.find(b=>b>=a)||b[b.length-1]))],kind:"x"}}(a,d,f),j=h.length-1;return{sizes:f||"w"!==i?f:"100vw",srcSet:h.map((c,d)=>`${g({config:a,src:b,quality:e,width:c})} ${"w"===i?c:d+1}${i}`).join(", "),src:g({config:a,src:b,quality:e,width:h[j]})}}({config:G,src:a,unoptimized:c,width:R,quality:U,sizes:b,loader:O}),$=T?"lazy":k;return{props:{...D,loading:$,fetchPriority:w,width:R,height:S,decoding:x,className:l,style:{...V,...Y},sizes:Z.sizes,srcSet:Z.srcSet,src:r||Z.src},meta:{unoptimized:c,preload:j||i,placeholder:u,fill:p}}}},58131,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"default",{enumerable:!0,get:function(){return f}});let d=a.r(55132),e=()=>{};function f(a){let{headManager:b,reduceComponentsToState:c}=a;function f(){if(b&&b.mountedInstances){let a=d.Children.toArray(Array.from(b.mountedInstances).filter(Boolean));b.updateHead(c(a))}}return b?.mountedInstances?.add(a.children),f(),e(()=>(b?.mountedInstances?.add(a.children),()=>{b?.mountedInstances?.delete(a.children)})),e(()=>(b&&(b._pendingUpdate=f),()=>{b&&(b._pendingUpdate=f)})),null}},14189,(a,b,c)=>{"use strict";b.exports=a.r(40881).vendored.contexts.HeadManagerContext},3432,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={default:function(){return p},defaultHead:function(){return l}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(37646),g=a.r(30458),h=a.r(56856),i=g._(a.r(55132)),j=f._(a.r(58131)),k=a.r(14189);function l(){return[(0,h.jsx)("meta",{charSet:"utf-8"},"charset"),(0,h.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")]}function m(a,b){return"string"==typeof b||"number"==typeof b?a:b.type===i.default.Fragment?a.concat(i.default.Children.toArray(b.props.children).reduce((a,b)=>"string"==typeof b||"number"==typeof b?a:a.concat(b),[])):a.concat(b)}a.r(69143);let n=["name","httpEquiv","charSet","itemProp"];function o(a){let b,c,d,e;return a.reduce(m,[]).reverse().concat(l().reverse()).filter((b=new Set,c=new Set,d=new Set,e={},a=>{let f=!0,g=!1;if(a.key&&"number"!=typeof a.key&&a.key.indexOf("$")>0){g=!0;let c=a.key.slice(a.key.indexOf("$")+1);b.has(c)?f=!1:b.add(c)}switch(a.type){case"title":case"base":c.has(a.type)?f=!1:c.add(a.type);break;case"meta":for(let b=0,c=n.length;b<c;b++){let c=n[b];if(a.props.hasOwnProperty(c))if("charSet"===c)d.has(c)?f=!1:d.add(c);else{let b=a.props[c],d=e[c]||new Set;("name"!==c||!g)&&d.has(b)?f=!1:(d.add(b),e[c]=d)}}}return f})).reverse().map((a,b)=>{let c=a.key||b;return i.default.cloneElement(a,{key:c})})}let p=function({children:a}){let b=(0,i.useContext)(k.HeadManagerContext);return(0,h.jsx)(j.default,{reduceComponentsToState:o,headManager:b,children:a})};("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},46506,(a,b,c)=>{"use strict";b.exports=a.r(40881).vendored.contexts.ImageConfigContext},54808,(a,b,c)=>{"use strict";b.exports=a.r(40881).vendored.contexts.RouterContext},74920,(a,b,c)=>{"use strict";function d(a,b){let c=a||75;return b?.qualities?.length?b.qualities.reduce((a,b)=>Math.abs(b-c)<Math.abs(a-c)?b:a,0):c}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"findClosestQuality",{enumerable:!0,get:function(){return d}})},6254,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"default",{enumerable:!0,get:function(){return f}});let d=a.r(74920);function e({config:a,src:b,width:c,quality:e}){if(b.startsWith("/")&&b.includes("?")&&a.localPatterns?.length===1&&"**"===a.localPatterns[0].pathname&&""===a.localPatterns[0].search)throw Object.defineProperty(Error(`Image with src "${b}" is using a query string which is not configured in images.localPatterns.
|
|
3
|
+
Read more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`),"__NEXT_ERROR_CODE",{value:"E871",enumerable:!1,configurable:!0});let f=(0,d.findClosestQuality)(e,a);return`${a.path}?url=${encodeURIComponent(b)}&w=${c}&q=${f}${b.startsWith("/_next/static/media/"),""}`}e.__next_img_default=!0;let f=e},58540,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"useMergedRef",{enumerable:!0,get:function(){return e}});let d=a.r(55132);function e(a,b){let c=(0,d.useRef)(null),e=(0,d.useRef)(null);return(0,d.useCallback)(d=>{if(null===d){let a=c.current;a&&(c.current=null,a());let b=e.current;b&&(e.current=null,b())}else a&&(c.current=f(a,d)),b&&(e.current=f(b,d))},[a,b])}function f(a,b){if("function"!=typeof a)return a.current=b,()=>{a.current=null};{let c=a(b);return"function"==typeof c?c:()=>a(null)}}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},63784,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"Image",{enumerable:!0,get:function(){return u}});let d=a.r(37646),e=a.r(30458),f=a.r(56856),g=e._(a.r(55132)),h=d._(a.r(19933)),i=d._(a.r(3432)),j=a.r(13151),k=a.r(79965),l=a.r(46506);a.r(69143);let m=a.r(54808),n=d._(a.r(6254)),o=a.r(58540),p={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0};function q(a,b,c,d,e,f,g){let h=a?.src;a&&a["data-loaded-src"]!==h&&(a["data-loaded-src"]=h,("decode"in a?a.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(a.parentElement&&a.isConnected){if("empty"!==b&&e(!0),c?.current){let b=new Event("load");Object.defineProperty(b,"target",{writable:!1,value:a});let d=!1,e=!1;c.current({...b,nativeEvent:b,currentTarget:a,target:a,isDefaultPrevented:()=>d,isPropagationStopped:()=>e,persist:()=>{},preventDefault:()=>{d=!0,b.preventDefault()},stopPropagation:()=>{e=!0,b.stopPropagation()}})}d?.current&&d.current(a)}}))}function r(a){return g.use?{fetchPriority:a}:{fetchpriority:a}}globalThis.__NEXT_IMAGE_IMPORTED=!0;let s=(0,g.forwardRef)(({src:a,srcSet:b,sizes:c,height:d,width:e,decoding:h,className:i,style:j,fetchPriority:k,placeholder:l,loading:m,unoptimized:n,fill:p,onLoadRef:s,onLoadingCompleteRef:t,setBlurComplete:u,setShowAltText:v,sizesInput:w,onLoad:x,onError:y,...z},A)=>{let B=(0,g.useCallback)(a=>{a&&(y&&(a.src=a.src),a.complete&&q(a,l,s,t,u,n,w))},[a,l,s,t,u,y,n,w]),C=(0,o.useMergedRef)(A,B);return(0,f.jsx)("img",{...z,...r(k),loading:m,width:e,height:d,decoding:h,"data-nimg":p?"fill":"1",className:i,style:j,sizes:c,srcSet:b,src:a,ref:C,onLoad:a=>{q(a.currentTarget,l,s,t,u,n,w)},onError:a=>{v(!0),"empty"!==l&&u(!0),y&&y(a)}})});function t({isAppRouter:a,imgAttributes:b}){let c={as:"image",imageSrcSet:b.srcSet,imageSizes:b.sizes,crossOrigin:b.crossOrigin,referrerPolicy:b.referrerPolicy,...r(b.fetchPriority)};return a&&h.default.preload?(h.default.preload(b.src,c),null):(0,f.jsx)(i.default,{children:(0,f.jsx)("link",{rel:"preload",href:b.srcSet?void 0:b.src,...c},"__nimg-"+b.src+b.srcSet+b.sizes)})}let u=(0,g.forwardRef)((a,b)=>{let c=(0,g.useContext)(m.RouterContext),d=(0,g.useContext)(l.ImageConfigContext),e=(0,g.useMemo)(()=>{let a=p||d||k.imageConfigDefault,b=[...a.deviceSizes,...a.imageSizes].sort((a,b)=>a-b),c=a.deviceSizes.sort((a,b)=>a-b),e=a.qualities?.sort((a,b)=>a-b);return{...a,allSizes:b,deviceSizes:c,qualities:e,localPatterns:d?.localPatterns}},[d]),{onLoad:h,onLoadingComplete:i}=a,o=(0,g.useRef)(h);(0,g.useEffect)(()=>{o.current=h},[h]);let q=(0,g.useRef)(i);(0,g.useEffect)(()=>{q.current=i},[i]);let[r,u]=(0,g.useState)(!1),[v,w]=(0,g.useState)(!1),{props:x,meta:y}=(0,j.getImgProps)(a,{defaultLoader:n.default,imgConf:e,blurComplete:r,showAltText:v});return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(s,{...x,unoptimized:y.unoptimized,placeholder:y.placeholder,fill:y.fill,onLoadRef:o,onLoadingCompleteRef:q,setBlurComplete:u,setShowAltText:w,sizesInput:a.sizes,ref:b}),y.preload?(0,f.jsx)(t,{isAppRouter:!c,imgAttributes:x}):null]})});("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},62351,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={default:function(){return k},getImageProps:function(){return j}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(37646),g=a.r(13151),h=a.r(63784),i=f._(a.r(6254));function j(a){let{props:b}=(0,g.getImgProps)(a,{defaultLoader:i.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0}});for(let[a,c]of Object.entries(b))void 0===c&&delete b[a];return{props:b}}let k=h.Image},46881,(a,b,c)=>{b.exports=a.r(62351)},40776,a=>{"use strict";let b,c,d;var e,f,g,h,i,j,k,l,m,n=a.i(56856),o=a.i(55132),p=a.i(46881);let q=(...a)=>a.filter((a,b,c)=>!!a&&""!==a.trim()&&c.indexOf(a)===b).join(" ").trim();var r={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let s=(0,o.forwardRef)(({color:a="currentColor",size:b=24,strokeWidth:c=2,absoluteStrokeWidth:d,className:e="",children:f,iconNode:g,...h},i)=>(0,o.createElement)("svg",{ref:i,...r,width:b,height:b,stroke:a,strokeWidth:d?24*Number(c)/Number(b):c,className:q("lucide",e),...h},[...g.map(([a,b])=>(0,o.createElement)(a,b)),...Array.isArray(f)?f:[f]])),t=(a,b)=>{let c=(0,o.forwardRef)(({className:c,...d},e)=>(0,o.createElement)(s,{ref:e,iconNode:b,className:q(`lucide-${a.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,c),...d}));return c.displayName=`${a}`,c},u=t("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]),v=t("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"}]]),w=t("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]),x=t("FolderOpen",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 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.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]),y=t("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]),z=t("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);function A(a,b){if("function"==typeof a)return a(b);null!=a&&(a.current=b)}function B(...a){return b=>{let c=!1,d=a.map(a=>{let d=A(a,b);return c||"function"!=typeof d||(c=!0),d});if(c)return()=>{for(let b=0;b<d.length;b++){let c=d[b];"function"==typeof c?c():A(a[b],null)}}}}function C(...a){return o.useCallback(B(...a),a)}var D=o.forwardRef((a,b)=>{let{children:c,...d}=a,e=o.Children.toArray(c),f=e.find(G);if(f){let a=f.props.children,c=e.map(b=>b!==f?b:o.Children.count(a)>1?o.Children.only(null):o.isValidElement(a)?a.props.children:null);return(0,n.jsx)(E,{...d,ref:b,children:o.isValidElement(a)?o.cloneElement(a,void 0,c):null})}return(0,n.jsx)(E,{...d,ref:b,children:c})});D.displayName="Slot";var E=o.forwardRef((a,b)=>{let{children:c,...d}=a;if(o.isValidElement(c)){var e;let a,f,g=(e=c,(f=(a=Object.getOwnPropertyDescriptor(e.props,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?e.ref:(f=(a=Object.getOwnPropertyDescriptor(e,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?e.props.ref:e.props.ref||e.ref);return o.cloneElement(c,{...function(a,b){let c={...b};for(let d in b){let e=a[d],f=b[d];/^on[A-Z]/.test(d)?e&&f?c[d]=(...a)=>{f(...a),e(...a)}:e&&(c[d]=e):"style"===d?c[d]={...e,...f}:"className"===d&&(c[d]=[e,f].filter(Boolean).join(" "))}return{...a,...c}}(d,c.props),ref:b?B(b,g):g})}return o.Children.count(c)>1?o.Children.only(null):null});E.displayName="SlotClone";var F=({children:a})=>(0,n.jsx)(n.Fragment,{children:a});function G(a){return o.isValidElement(a)&&a.type===F}function H(){for(var a,b,c=0,d="",e=arguments.length;c<e;c++)(a=arguments[c])&&(b=function a(b){var c,d,e="";if("string"==typeof b||"number"==typeof b)e+=b;else if("object"==typeof b)if(Array.isArray(b)){var f=b.length;for(c=0;c<f;c++)b[c]&&(d=a(b[c]))&&(e&&(e+=" "),e+=d)}else for(d in b)b[d]&&(e&&(e+=" "),e+=d);return e}(a))&&(d&&(d+=" "),d+=b);return d}let I=a=>"boolean"==typeof a?`${a}`:0===a?"0":a,J=(a,b)=>c=>{var d;if((null==b?void 0:b.variants)==null)return H(a,null==c?void 0:c.class,null==c?void 0:c.className);let{variants:e,defaultVariants:f}=b,g=Object.keys(e).map(a=>{let b=null==c?void 0:c[a],d=null==f?void 0:f[a];if(null===b)return null;let g=I(b)||I(d);return e[a][g]}),h=c&&Object.entries(c).reduce((a,b)=>{let[c,d]=b;return void 0===d||(a[c]=d),a},{});return H(a,g,null==b||null==(d=b.compoundVariants)?void 0:d.reduce((a,b)=>{let{class:c,className:d,...e}=b;return Object.entries(e).every(a=>{let[b,c]=a;return Array.isArray(c)?c.includes({...f,...h}[b]):({...f,...h})[b]===c})?[...a,c,d]:a},[]),null==c?void 0:c.class,null==c?void 0:c.className)},K=(a=new Map,b=null,c)=>({nextPart:a,validators:b,classGroupId:c}),L=[],M=(a,b,c)=>{if(0==a.length-b)return c.classGroupId;let d=a[b],e=c.nextPart.get(d);if(e){let c=M(a,b+1,e);if(c)return c}let f=c.validators;if(null===f)return;let g=0===b?a.join("-"):a.slice(b).join("-"),h=f.length;for(let a=0;a<h;a++){let b=f[a];if(b.validator(g))return b.classGroupId}},N=(a,b)=>{let c=K();for(let d in a)O(a[d],c,d,b);return c},O=(a,b,c,d)=>{let e=a.length;for(let f=0;f<e;f++)P(a[f],b,c,d)},P=(a,b,c,d)=>{"string"==typeof a?Q(a,b,c):"function"==typeof a?R(a,b,c,d):S(a,b,c,d)},Q=(a,b,c)=>{(""===a?b:T(b,a)).classGroupId=c},R=(a,b,c,d)=>{U(a)?O(a(d),b,c,d):(null===b.validators&&(b.validators=[]),b.validators.push({classGroupId:c,validator:a}))},S=(a,b,c,d)=>{let e=Object.entries(a),f=e.length;for(let a=0;a<f;a++){let[f,g]=e[a];O(g,T(b,f),c,d)}},T=(a,b)=>{let c=a,d=b.split("-"),e=d.length;for(let a=0;a<e;a++){let b=d[a],e=c.nextPart.get(b);e||(e=K(),c.nextPart.set(b,e)),c=e}return c},U=a=>"isThemeGetter"in a&&!0===a.isThemeGetter,V=[],W=(a,b,c,d,e)=>({modifiers:a,hasImportantModifier:b,baseClassName:c,maybePostfixModifierPosition:d,isExternal:e}),X=/\s+/,Y=a=>{let b;if("string"==typeof a)return a;let c="";for(let d=0;d<a.length;d++)a[d]&&(b=Y(a[d]))&&(c&&(c+=" "),c+=b);return c},Z=[],$=a=>{let b=b=>b[a]||Z;return b.isThemeGetter=!0,b},_=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,aa=/^\((?:(\w[\w-]*):)?(.+)\)$/i,ab=/^\d+\/\d+$/,ac=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,ad=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,ae=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,af=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,ag=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,ah=a=>ab.test(a),ai=a=>!!a&&!Number.isNaN(Number(a)),aj=a=>!!a&&Number.isInteger(Number(a)),ak=a=>a.endsWith("%")&&ai(a.slice(0,-1)),al=a=>ac.test(a),am=()=>!0,an=a=>ad.test(a)&&!ae.test(a),ao=()=>!1,ap=a=>af.test(a),aq=a=>ag.test(a),ar=a=>!at(a)&&!az(a),as=a=>aG(a,aK,ao),at=a=>_.test(a),au=a=>aG(a,aL,an),av=a=>aG(a,aM,ai),aw=a=>aG(a,aI,ao),ax=a=>aG(a,aJ,aq),ay=a=>aG(a,aO,ap),az=a=>aa.test(a),aA=a=>aH(a,aL),aB=a=>aH(a,aN),aC=a=>aH(a,aI),aD=a=>aH(a,aK),aE=a=>aH(a,aJ),aF=a=>aH(a,aO,!0),aG=(a,b,c)=>{let d=_.exec(a);return!!d&&(d[1]?b(d[1]):c(d[2]))},aH=(a,b,c=!1)=>{let d=aa.exec(a);return!!d&&(d[1]?b(d[1]):c)},aI=a=>"position"===a||"percentage"===a,aJ=a=>"image"===a||"url"===a,aK=a=>"length"===a||"size"===a||"bg-size"===a,aL=a=>"length"===a,aM=a=>"number"===a,aN=a=>"family-name"===a,aO=a=>"shadow"===a,aP=((a,...b)=>{let c,d,e,f,g=a=>{let b=d(a);if(b)return b;let f=((a,b)=>{let{parseClassName:c,getClassGroupId:d,getConflictingClassGroupIds:e,sortModifiers:f}=b,g=[],h=a.trim().split(X),i="";for(let a=h.length-1;a>=0;a-=1){let b=h[a],{isExternal:j,modifiers:k,hasImportantModifier:l,baseClassName:m,maybePostfixModifierPosition:n}=c(b);if(j){i=b+(i.length>0?" "+i:i);continue}let o=!!n,p=d(o?m.substring(0,n):m);if(!p){if(!o||!(p=d(m))){i=b+(i.length>0?" "+i:i);continue}o=!1}let q=0===k.length?"":1===k.length?k[0]:f(k).join(":"),r=l?q+"!":q,s=r+p;if(g.indexOf(s)>-1)continue;g.push(s);let t=e(p,o);for(let a=0;a<t.length;++a){let b=t[a];g.push(r+b)}i=b+(i.length>0?" "+i:i)}return i})(a,c);return e(a,f),f};return f=h=>{var i;let j;return d=(c={cache:(a=>{if(a<1)return{get:()=>void 0,set:()=>{}};let b=0,c=Object.create(null),d=Object.create(null),e=(e,f)=>{c[e]=f,++b>a&&(b=0,d=c,c=Object.create(null))};return{get(a){let b=c[a];return void 0!==b?b:void 0!==(b=d[a])?(e(a,b),b):void 0},set(a,b){a in c?c[a]=b:e(a,b)}}})((i=b.reduce((a,b)=>b(a),a())).cacheSize),parseClassName:(a=>{let{prefix:b,experimentalParseClassName:c}=a,d=a=>{let b,c=[],d=0,e=0,f=0,g=a.length;for(let h=0;h<g;h++){let g=a[h];if(0===d&&0===e){if(":"===g){c.push(a.slice(f,h)),f=h+1;continue}if("/"===g){b=h;continue}}"["===g?d++:"]"===g?d--:"("===g?e++:")"===g&&e--}let h=0===c.length?a:a.slice(f),i=h,j=!1;return h.endsWith("!")?(i=h.slice(0,-1),j=!0):h.startsWith("!")&&(i=h.slice(1),j=!0),W(c,j,i,b&&b>f?b-f:void 0)};if(b){let a=b+":",c=d;d=b=>b.startsWith(a)?c(b.slice(a.length)):W(V,!1,b,void 0,!0)}if(c){let a=d;d=b=>c({className:b,parseClassName:a})}return d})(i),sortModifiers:(j=new Map,i.orderSensitiveModifiers.forEach((a,b)=>{j.set(a,1e6+b)}),a=>{let b=[],c=[];for(let d=0;d<a.length;d++){let e=a[d],f="["===e[0],g=j.has(e);f||g?(c.length>0&&(c.sort(),b.push(...c),c=[]),b.push(e)):c.push(e)}return c.length>0&&(c.sort(),b.push(...c)),b}),...(a=>{let b=(a=>{let{theme:b,classGroups:c}=a;return N(c,b)})(a),{conflictingClassGroups:c,conflictingClassGroupModifiers:d}=a;return{getClassGroupId:a=>{if(a.startsWith("[")&&a.endsWith("]")){var c;let b,d,e;return -1===(c=a).slice(1,-1).indexOf(":")?void 0:(d=(b=c.slice(1,-1)).indexOf(":"),(e=b.slice(0,d))?"arbitrary.."+e:void 0)}let d=a.split("-"),e=+(""===d[0]&&d.length>1);return M(d,e,b)},getConflictingClassGroupIds:(a,b)=>{if(b){let b=d[a],e=c[a];if(b){if(e){let a=Array(e.length+b.length);for(let b=0;b<e.length;b++)a[b]=e[b];for(let c=0;c<b.length;c++)a[e.length+c]=b[c];return a}return b}return e||L}return c[a]||L}}})(i)}).cache.get,e=c.cache.set,f=g,g(h)},(...a)=>f(((...a)=>{let b,c,d=0,e="";for(;d<a.length;)(b=a[d++])&&(c=Y(b))&&(e&&(e+=" "),e+=c);return e})(...a))})(()=>{let a=$("color"),b=$("font"),c=$("text"),d=$("font-weight"),e=$("tracking"),f=$("leading"),g=$("breakpoint"),h=$("container"),i=$("spacing"),j=$("radius"),k=$("shadow"),l=$("inset-shadow"),m=$("text-shadow"),n=$("drop-shadow"),o=$("blur"),p=$("perspective"),q=$("aspect"),r=$("ease"),s=$("animate"),t=()=>["auto","avoid","all","avoid-page","page","left","right","column"],u=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],v=()=>[...u(),az,at],w=()=>["auto","hidden","clip","visible","scroll"],x=()=>["auto","contain","none"],y=()=>[az,at,i],z=()=>[ah,"full","auto",...y()],A=()=>[aj,"none","subgrid",az,at],B=()=>["auto",{span:["full",aj,az,at]},aj,az,at],C=()=>[aj,"auto",az,at],D=()=>["auto","min","max","fr",az,at],E=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],F=()=>["start","end","center","stretch","center-safe","end-safe"],G=()=>["auto",...y()],H=()=>[ah,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...y()],I=()=>[a,az,at],J=()=>[...u(),aC,aw,{position:[az,at]}],K=()=>["no-repeat",{repeat:["","x","y","space","round"]}],L=()=>["auto","cover","contain",aD,as,{size:[az,at]}],M=()=>[ak,aA,au],N=()=>["","none","full",j,az,at],O=()=>["",ai,aA,au],P=()=>["solid","dashed","dotted","double"],Q=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],R=()=>[ai,ak,aC,aw],S=()=>["","none",o,az,at],T=()=>["none",ai,az,at],U=()=>["none",ai,az,at],V=()=>[ai,az,at],W=()=>[ah,"full",...y()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[al],breakpoint:[al],color:[am],container:[al],"drop-shadow":[al],ease:["in","out","in-out"],font:[ar],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[al],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[al],shadow:[al],spacing:["px",ai],text:[al],"text-shadow":[al],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",ah,at,az,q]}],container:["container"],columns:[{columns:[ai,at,az,h]}],"break-after":[{"break-after":t()}],"break-before":[{"break-before":t()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:v()}],overflow:[{overflow:w()}],"overflow-x":[{"overflow-x":w()}],"overflow-y":[{"overflow-y":w()}],overscroll:[{overscroll:x()}],"overscroll-x":[{"overscroll-x":x()}],"overscroll-y":[{"overscroll-y":x()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:z()}],"inset-x":[{"inset-x":z()}],"inset-y":[{"inset-y":z()}],start:[{start:z()}],end:[{end:z()}],top:[{top:z()}],right:[{right:z()}],bottom:[{bottom:z()}],left:[{left:z()}],visibility:["visible","invisible","collapse"],z:[{z:[aj,"auto",az,at]}],basis:[{basis:[ah,"full","auto",h,...y()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[ai,ah,"auto","initial","none",at]}],grow:[{grow:["",ai,az,at]}],shrink:[{shrink:["",ai,az,at]}],order:[{order:[aj,"first","last","none",az,at]}],"grid-cols":[{"grid-cols":A()}],"col-start-end":[{col:B()}],"col-start":[{"col-start":C()}],"col-end":[{"col-end":C()}],"grid-rows":[{"grid-rows":A()}],"row-start-end":[{row:B()}],"row-start":[{"row-start":C()}],"row-end":[{"row-end":C()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":D()}],"auto-rows":[{"auto-rows":D()}],gap:[{gap:y()}],"gap-x":[{"gap-x":y()}],"gap-y":[{"gap-y":y()}],"justify-content":[{justify:[...E(),"normal"]}],"justify-items":[{"justify-items":[...F(),"normal"]}],"justify-self":[{"justify-self":["auto",...F()]}],"align-content":[{content:["normal",...E()]}],"align-items":[{items:[...F(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...F(),{baseline:["","last"]}]}],"place-content":[{"place-content":E()}],"place-items":[{"place-items":[...F(),"baseline"]}],"place-self":[{"place-self":["auto",...F()]}],p:[{p:y()}],px:[{px:y()}],py:[{py:y()}],ps:[{ps:y()}],pe:[{pe:y()}],pt:[{pt:y()}],pr:[{pr:y()}],pb:[{pb:y()}],pl:[{pl:y()}],m:[{m:G()}],mx:[{mx:G()}],my:[{my:G()}],ms:[{ms:G()}],me:[{me:G()}],mt:[{mt:G()}],mr:[{mr:G()}],mb:[{mb:G()}],ml:[{ml:G()}],"space-x":[{"space-x":y()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":y()}],"space-y-reverse":["space-y-reverse"],size:[{size:H()}],w:[{w:[h,"screen",...H()]}],"min-w":[{"min-w":[h,"screen","none",...H()]}],"max-w":[{"max-w":[h,"screen","none","prose",{screen:[g]},...H()]}],h:[{h:["screen","lh",...H()]}],"min-h":[{"min-h":["screen","lh","none",...H()]}],"max-h":[{"max-h":["screen","lh",...H()]}],"font-size":[{text:["base",c,aA,au]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[d,az,av]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",ak,at]}],"font-family":[{font:[aB,at,b]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[e,az,at]}],"line-clamp":[{"line-clamp":[ai,"none",az,av]}],leading:[{leading:[f,...y()]}],"list-image":[{"list-image":["none",az,at]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",az,at]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:I()}],"text-color":[{text:I()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...P(),"wavy"]}],"text-decoration-thickness":[{decoration:[ai,"from-font","auto",az,au]}],"text-decoration-color":[{decoration:I()}],"underline-offset":[{"underline-offset":[ai,"auto",az,at]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:y()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",az,at]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",az,at]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:J()}],"bg-repeat":[{bg:K()}],"bg-size":[{bg:L()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},aj,az,at],radial:["",az,at],conic:[aj,az,at]},aE,ax]}],"bg-color":[{bg:I()}],"gradient-from-pos":[{from:M()}],"gradient-via-pos":[{via:M()}],"gradient-to-pos":[{to:M()}],"gradient-from":[{from:I()}],"gradient-via":[{via:I()}],"gradient-to":[{to:I()}],rounded:[{rounded:N()}],"rounded-s":[{"rounded-s":N()}],"rounded-e":[{"rounded-e":N()}],"rounded-t":[{"rounded-t":N()}],"rounded-r":[{"rounded-r":N()}],"rounded-b":[{"rounded-b":N()}],"rounded-l":[{"rounded-l":N()}],"rounded-ss":[{"rounded-ss":N()}],"rounded-se":[{"rounded-se":N()}],"rounded-ee":[{"rounded-ee":N()}],"rounded-es":[{"rounded-es":N()}],"rounded-tl":[{"rounded-tl":N()}],"rounded-tr":[{"rounded-tr":N()}],"rounded-br":[{"rounded-br":N()}],"rounded-bl":[{"rounded-bl":N()}],"border-w":[{border:O()}],"border-w-x":[{"border-x":O()}],"border-w-y":[{"border-y":O()}],"border-w-s":[{"border-s":O()}],"border-w-e":[{"border-e":O()}],"border-w-t":[{"border-t":O()}],"border-w-r":[{"border-r":O()}],"border-w-b":[{"border-b":O()}],"border-w-l":[{"border-l":O()}],"divide-x":[{"divide-x":O()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":O()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...P(),"hidden","none"]}],"divide-style":[{divide:[...P(),"hidden","none"]}],"border-color":[{border:I()}],"border-color-x":[{"border-x":I()}],"border-color-y":[{"border-y":I()}],"border-color-s":[{"border-s":I()}],"border-color-e":[{"border-e":I()}],"border-color-t":[{"border-t":I()}],"border-color-r":[{"border-r":I()}],"border-color-b":[{"border-b":I()}],"border-color-l":[{"border-l":I()}],"divide-color":[{divide:I()}],"outline-style":[{outline:[...P(),"none","hidden"]}],"outline-offset":[{"outline-offset":[ai,az,at]}],"outline-w":[{outline:["",ai,aA,au]}],"outline-color":[{outline:I()}],shadow:[{shadow:["","none",k,aF,ay]}],"shadow-color":[{shadow:I()}],"inset-shadow":[{"inset-shadow":["none",l,aF,ay]}],"inset-shadow-color":[{"inset-shadow":I()}],"ring-w":[{ring:O()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:I()}],"ring-offset-w":[{"ring-offset":[ai,au]}],"ring-offset-color":[{"ring-offset":I()}],"inset-ring-w":[{"inset-ring":O()}],"inset-ring-color":[{"inset-ring":I()}],"text-shadow":[{"text-shadow":["none",m,aF,ay]}],"text-shadow-color":[{"text-shadow":I()}],opacity:[{opacity:[ai,az,at]}],"mix-blend":[{"mix-blend":[...Q(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":Q()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[ai]}],"mask-image-linear-from-pos":[{"mask-linear-from":R()}],"mask-image-linear-to-pos":[{"mask-linear-to":R()}],"mask-image-linear-from-color":[{"mask-linear-from":I()}],"mask-image-linear-to-color":[{"mask-linear-to":I()}],"mask-image-t-from-pos":[{"mask-t-from":R()}],"mask-image-t-to-pos":[{"mask-t-to":R()}],"mask-image-t-from-color":[{"mask-t-from":I()}],"mask-image-t-to-color":[{"mask-t-to":I()}],"mask-image-r-from-pos":[{"mask-r-from":R()}],"mask-image-r-to-pos":[{"mask-r-to":R()}],"mask-image-r-from-color":[{"mask-r-from":I()}],"mask-image-r-to-color":[{"mask-r-to":I()}],"mask-image-b-from-pos":[{"mask-b-from":R()}],"mask-image-b-to-pos":[{"mask-b-to":R()}],"mask-image-b-from-color":[{"mask-b-from":I()}],"mask-image-b-to-color":[{"mask-b-to":I()}],"mask-image-l-from-pos":[{"mask-l-from":R()}],"mask-image-l-to-pos":[{"mask-l-to":R()}],"mask-image-l-from-color":[{"mask-l-from":I()}],"mask-image-l-to-color":[{"mask-l-to":I()}],"mask-image-x-from-pos":[{"mask-x-from":R()}],"mask-image-x-to-pos":[{"mask-x-to":R()}],"mask-image-x-from-color":[{"mask-x-from":I()}],"mask-image-x-to-color":[{"mask-x-to":I()}],"mask-image-y-from-pos":[{"mask-y-from":R()}],"mask-image-y-to-pos":[{"mask-y-to":R()}],"mask-image-y-from-color":[{"mask-y-from":I()}],"mask-image-y-to-color":[{"mask-y-to":I()}],"mask-image-radial":[{"mask-radial":[az,at]}],"mask-image-radial-from-pos":[{"mask-radial-from":R()}],"mask-image-radial-to-pos":[{"mask-radial-to":R()}],"mask-image-radial-from-color":[{"mask-radial-from":I()}],"mask-image-radial-to-color":[{"mask-radial-to":I()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":u()}],"mask-image-conic-pos":[{"mask-conic":[ai]}],"mask-image-conic-from-pos":[{"mask-conic-from":R()}],"mask-image-conic-to-pos":[{"mask-conic-to":R()}],"mask-image-conic-from-color":[{"mask-conic-from":I()}],"mask-image-conic-to-color":[{"mask-conic-to":I()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:J()}],"mask-repeat":[{mask:K()}],"mask-size":[{mask:L()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",az,at]}],filter:[{filter:["","none",az,at]}],blur:[{blur:S()}],brightness:[{brightness:[ai,az,at]}],contrast:[{contrast:[ai,az,at]}],"drop-shadow":[{"drop-shadow":["","none",n,aF,ay]}],"drop-shadow-color":[{"drop-shadow":I()}],grayscale:[{grayscale:["",ai,az,at]}],"hue-rotate":[{"hue-rotate":[ai,az,at]}],invert:[{invert:["",ai,az,at]}],saturate:[{saturate:[ai,az,at]}],sepia:[{sepia:["",ai,az,at]}],"backdrop-filter":[{"backdrop-filter":["","none",az,at]}],"backdrop-blur":[{"backdrop-blur":S()}],"backdrop-brightness":[{"backdrop-brightness":[ai,az,at]}],"backdrop-contrast":[{"backdrop-contrast":[ai,az,at]}],"backdrop-grayscale":[{"backdrop-grayscale":["",ai,az,at]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[ai,az,at]}],"backdrop-invert":[{"backdrop-invert":["",ai,az,at]}],"backdrop-opacity":[{"backdrop-opacity":[ai,az,at]}],"backdrop-saturate":[{"backdrop-saturate":[ai,az,at]}],"backdrop-sepia":[{"backdrop-sepia":["",ai,az,at]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":y()}],"border-spacing-x":[{"border-spacing-x":y()}],"border-spacing-y":[{"border-spacing-y":y()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",az,at]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[ai,"initial",az,at]}],ease:[{ease:["linear","initial",r,az,at]}],delay:[{delay:[ai,az,at]}],animate:[{animate:["none",s,az,at]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[p,az,at]}],"perspective-origin":[{"perspective-origin":v()}],rotate:[{rotate:T()}],"rotate-x":[{"rotate-x":T()}],"rotate-y":[{"rotate-y":T()}],"rotate-z":[{"rotate-z":T()}],scale:[{scale:U()}],"scale-x":[{"scale-x":U()}],"scale-y":[{"scale-y":U()}],"scale-z":[{"scale-z":U()}],"scale-3d":["scale-3d"],skew:[{skew:V()}],"skew-x":[{"skew-x":V()}],"skew-y":[{"skew-y":V()}],transform:[{transform:[az,at,"","none","gpu","cpu"]}],"transform-origin":[{origin:v()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:W()}],"translate-x":[{"translate-x":W()}],"translate-y":[{"translate-y":W()}],"translate-z":[{"translate-z":W()}],"translate-none":["translate-none"],accent:[{accent:I()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:I()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",az,at]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":y()}],"scroll-mx":[{"scroll-mx":y()}],"scroll-my":[{"scroll-my":y()}],"scroll-ms":[{"scroll-ms":y()}],"scroll-me":[{"scroll-me":y()}],"scroll-mt":[{"scroll-mt":y()}],"scroll-mr":[{"scroll-mr":y()}],"scroll-mb":[{"scroll-mb":y()}],"scroll-ml":[{"scroll-ml":y()}],"scroll-p":[{"scroll-p":y()}],"scroll-px":[{"scroll-px":y()}],"scroll-py":[{"scroll-py":y()}],"scroll-ps":[{"scroll-ps":y()}],"scroll-pe":[{"scroll-pe":y()}],"scroll-pt":[{"scroll-pt":y()}],"scroll-pr":[{"scroll-pr":y()}],"scroll-pb":[{"scroll-pb":y()}],"scroll-pl":[{"scroll-pl":y()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",az,at]}],fill:[{fill:["none",...I()]}],"stroke-w":[{stroke:[ai,aA,au,av]}],stroke:[{stroke:["none",...I()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}});function aQ(...a){return aP(H(a))}let aR=J("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function aS({className:a,variant:b,size:c,asChild:d=!1,...e}){let f=d?D:"button";return(0,n.jsx)(f,{"data-slot":"button",className:aQ(aR({variant:b,size:c,className:a})),...e})}function aT({className:a,type:b,...c}){return(0,n.jsx)("input",{type:b,"data-slot":"input",className:aQ("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",a),...c})}function aU(a,b,{checkForDefaultPrevented:c=!0}={}){return function(d){if(a?.(d),!1===c||!d.defaultPrevented)return b?.(d)}}function aV(a,b=[]){let c=[],d=()=>{let b=c.map(a=>o.createContext(a));return function(c){let d=c?.[a]||b;return o.useMemo(()=>({[`__scope${a}`]:{...c,[a]:d}}),[c,d])}};return d.scopeName=a,[function(b,d){let e=o.createContext(d),f=c.length;c=[...c,d];let g=b=>{let{scope:c,children:d,...g}=b,h=c?.[a]?.[f]||e,i=o.useMemo(()=>g,Object.values(g));return(0,n.jsx)(h.Provider,{value:i,children:d})};return g.displayName=b+"Provider",[g,function(c,g){let h=g?.[a]?.[f]||e,i=o.useContext(h);if(i)return i;if(void 0!==d)return d;throw Error(`\`${c}\` must be used within \`${b}\``)}]},function(...a){let b=a[0];if(1===a.length)return b;let c=()=>{let c=a.map(a=>({useScope:a(),scopeName:a.scopeName}));return function(a){let d=c.reduce((b,{useScope:c,scopeName:d})=>{let e=c(a)[`__scope${d}`];return{...b,...e}},{});return o.useMemo(()=>({[`__scope${b.scopeName}`]:d}),[d])}};return c.scopeName=b.scopeName,c}(d,...b)]}function aW(a){let b=o.useRef(a);return o.useEffect(()=>{b.current=a}),o.useMemo(()=>(...a)=>b.current?.(...a),[])}function aX({prop:a,defaultProp:b,onChange:c=()=>{}}){let[d,e]=function({defaultProp:a,onChange:b}){let c=o.useState(a),[d]=c,e=o.useRef(d),f=aW(b);return o.useEffect(()=>{e.current!==d&&(f(d),e.current=d)},[d,e,f]),c}({defaultProp:b,onChange:c}),f=void 0!==a,g=f?a:d,h=aW(c);return[g,o.useCallback(b=>{if(f){let c="function"==typeof b?b(a):b;c!==a&&h(c)}else e(b)},[f,a,e,h])]}var aY=a.i(19933),aZ=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"].reduce((a,b)=>{let c=o.forwardRef((a,c)=>{let{asChild:d,...e}=a,f=d?D:b;return(0,n.jsx)(f,{...e,ref:c})});return c.displayName=`Primitive.${b}`,{...a,[b]:c}},{});function a$(a,b){a&&aY.flushSync(()=>a.dispatchEvent(b))}function a_(a){let b=a+"CollectionProvider",[c,d]=aV(b),[e,f]=c(b,{collectionRef:{current:null},itemMap:new Map}),g=a=>{let{scope:b,children:c}=a,d=o.default.useRef(null),f=o.default.useRef(new Map).current;return(0,n.jsx)(e,{scope:b,itemMap:f,collectionRef:d,children:c})};g.displayName=b;let h=a+"CollectionSlot",i=o.default.forwardRef((a,b)=>{let{scope:c,children:d}=a,e=C(b,f(h,c).collectionRef);return(0,n.jsx)(D,{ref:e,children:d})});i.displayName=h;let j=a+"CollectionItemSlot",k="data-radix-collection-item",l=o.default.forwardRef((a,b)=>{let{scope:c,children:d,...e}=a,g=o.default.useRef(null),h=C(b,g),i=f(j,c);return o.default.useEffect(()=>(i.itemMap.set(g,{ref:g,...e}),()=>void i.itemMap.delete(g))),(0,n.jsx)(D,{...{[k]:""},ref:h,children:d})});return l.displayName=j,[{Provider:g,Slot:i,ItemSlot:l},function(b){let c=f(a+"CollectionConsumer",b);return o.default.useCallback(()=>{let a=c.collectionRef.current;if(!a)return[];let b=Array.from(a.querySelectorAll(`[${k}]`));return Array.from(c.itemMap.values()).sort((a,c)=>b.indexOf(a.ref.current)-b.indexOf(c.ref.current))},[c.collectionRef,c.itemMap])},d]}var a0=o.createContext(void 0);function a1(a){let b=o.useContext(a0);return a||b||"ltr"}var a2="dismissableLayer.update",a3=o.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),a4=o.forwardRef((a,b)=>{let{disableOutsidePointerEvents:c=!1,onEscapeKeyDown:d,onPointerDownOutside:e,onFocusOutside:f,onInteractOutside:g,onDismiss:h,...i}=a,j=o.useContext(a3),[k,m]=o.useState(null),p=k?.ownerDocument??globalThis?.document,[,q]=o.useState({}),r=C(b,a=>m(a)),s=Array.from(j.layers),[t]=[...j.layersWithOutsidePointerEventsDisabled].slice(-1),u=s.indexOf(t),v=k?s.indexOf(k):-1,w=j.layersWithOutsidePointerEventsDisabled.size>0,x=v>=u,y=function(a,b=globalThis?.document){let c=aW(a),d=o.useRef(!1),e=o.useRef(()=>{});return o.useEffect(()=>{let a=a=>{if(a.target&&!d.current){let d=function(){a6("dismissableLayer.pointerDownOutside",c,f,{discrete:!0})},f={originalEvent:a};"touch"===a.pointerType?(b.removeEventListener("click",e.current),e.current=d,b.addEventListener("click",e.current,{once:!0})):d()}else b.removeEventListener("click",e.current);d.current=!1},f=window.setTimeout(()=>{b.addEventListener("pointerdown",a)},0);return()=>{window.clearTimeout(f),b.removeEventListener("pointerdown",a),b.removeEventListener("click",e.current)}},[b,c]),{onPointerDownCapture:()=>d.current=!0}}(a=>{let b=a.target,c=[...j.branches].some(a=>a.contains(b));x&&!c&&(e?.(a),g?.(a),a.defaultPrevented||h?.())},p),z=function(a,b=globalThis?.document){let c=aW(a),d=o.useRef(!1);return o.useEffect(()=>{let a=a=>{a.target&&!d.current&&a6("dismissableLayer.focusOutside",c,{originalEvent:a},{discrete:!1})};return b.addEventListener("focusin",a),()=>b.removeEventListener("focusin",a)},[b,c]),{onFocusCapture:()=>d.current=!0,onBlurCapture:()=>d.current=!1}}(a=>{let b=a.target;![...j.branches].some(a=>a.contains(b))&&(f?.(a),g?.(a),a.defaultPrevented||h?.())},p);return!function(a,b=globalThis?.document){let c=aW(a);o.useEffect(()=>{let a=a=>{"Escape"===a.key&&c(a)};return b.addEventListener("keydown",a,{capture:!0}),()=>b.removeEventListener("keydown",a,{capture:!0})},[c,b])}(a=>{v===j.layers.size-1&&(d?.(a),!a.defaultPrevented&&h&&(a.preventDefault(),h()))},p),o.useEffect(()=>{if(k)return c&&(0===j.layersWithOutsidePointerEventsDisabled.size&&(l=p.body.style.pointerEvents,p.body.style.pointerEvents="none"),j.layersWithOutsidePointerEventsDisabled.add(k)),j.layers.add(k),a5(),()=>{c&&1===j.layersWithOutsidePointerEventsDisabled.size&&(p.body.style.pointerEvents=l)}},[k,p,c,j]),o.useEffect(()=>()=>{k&&(j.layers.delete(k),j.layersWithOutsidePointerEventsDisabled.delete(k),a5())},[k,j]),o.useEffect(()=>{let a=()=>q({});return document.addEventListener(a2,a),()=>document.removeEventListener(a2,a)},[]),(0,n.jsx)(aZ.div,{...i,ref:r,style:{pointerEvents:w?x?"auto":"none":void 0,...a.style},onFocusCapture:aU(a.onFocusCapture,z.onFocusCapture),onBlurCapture:aU(a.onBlurCapture,z.onBlurCapture),onPointerDownCapture:aU(a.onPointerDownCapture,y.onPointerDownCapture)})});function a5(){let a=new CustomEvent(a2);document.dispatchEvent(a)}function a6(a,b,c,{discrete:d}){let e=c.originalEvent.target,f=new CustomEvent(a,{bubbles:!1,cancelable:!0,detail:c});b&&e.addEventListener(a,b,{once:!0}),d?a$(e,f):e.dispatchEvent(f)}a4.displayName="DismissableLayer",o.forwardRef((a,b)=>{let c=o.useContext(a3),d=o.useRef(null),e=C(b,d);return o.useEffect(()=>{let a=d.current;if(a)return c.branches.add(a),()=>{c.branches.delete(a)}},[c.branches]),(0,n.jsx)(aZ.div,{...a,ref:e})}).displayName="DismissableLayerBranch";var a7=0;function a8(){o.useEffect(()=>{let a=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",a[0]??a9()),document.body.insertAdjacentElement("beforeend",a[1]??a9()),a7++,()=>{1===a7&&document.querySelectorAll("[data-radix-focus-guard]").forEach(a=>a.remove()),a7--}},[])}function a9(){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 ba="focusScope.autoFocusOnMount",bb="focusScope.autoFocusOnUnmount",bc={bubbles:!1,cancelable:!0},bd=o.forwardRef((a,b)=>{let{loop:c=!1,trapped:d=!1,onMountAutoFocus:e,onUnmountAutoFocus:f,...g}=a,[h,i]=o.useState(null),j=aW(e),k=aW(f),l=o.useRef(null),m=C(b,a=>i(a)),p=o.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;o.useEffect(()=>{if(d){let a=function(a){if(p.paused||!h)return;let b=a.target;h.contains(b)?l.current=b:bg(l.current,{select:!0})},b=function(a){if(p.paused||!h)return;let b=a.relatedTarget;null!==b&&(h.contains(b)||bg(l.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&&bg(h)});return h&&c.observe(h,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",a),document.removeEventListener("focusout",b),c.disconnect()}}},[d,h,p.paused]),o.useEffect(()=>{if(h){bh.add(p);let a=document.activeElement;if(!h.contains(a)){let b=new CustomEvent(ba,bc);h.addEventListener(ba,j),h.dispatchEvent(b),b.defaultPrevented||(function(a,{select:b=!1}={}){let c=document.activeElement;for(let d of a)if(bg(d,{select:b}),document.activeElement!==c)return}(be(h).filter(a=>"A"!==a.tagName),{select:!0}),document.activeElement===a&&bg(h))}return()=>{h.removeEventListener(ba,j),setTimeout(()=>{let b=new CustomEvent(bb,bc);h.addEventListener(bb,k),h.dispatchEvent(b),b.defaultPrevented||bg(a??document.body,{select:!0}),h.removeEventListener(bb,k),bh.remove(p)},0)}}},[h,j,k,p]);let q=o.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){var f;let b,d=a.currentTarget,[g,h]=[bf(b=be(f=d),f),bf(b.reverse(),f)];g&&h?a.shiftKey||e!==h?a.shiftKey&&e===g&&(a.preventDefault(),c&&bg(h,{select:!0})):(a.preventDefault(),c&&bg(g,{select:!0})):e===d&&a.preventDefault()}},[c,d,p.paused]);return(0,n.jsx)(aZ.div,{tabIndex:-1,...g,ref:m,onKeyDown:q})});function be(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 bf(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 bg(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()}}bd.displayName="FocusScope";var bh=(d=[],{add(a){let b=d[0];a!==b&&b?.pause(),(d=bi(d,a)).unshift(a)},remove(a){d=bi(d,a),d[0]?.resume()}});function bi(a,b){let c=[...a],d=c.indexOf(b);return -1!==d&&c.splice(d,1),c}var bj=globalThis?.document?o.useLayoutEffect:()=>{},bk=o["useId".toString()]||(()=>void 0),bl=0;function bm(a){let[b,c]=o.useState(bk());return bj(()=>{a||c(a=>a??String(bl++))},[a]),a||(b?`radix-${b}`:"")}let bn=["top","right","bottom","left"],bo=Math.min,bp=Math.max,bq=Math.round,br=Math.floor,bs=a=>({x:a,y:a}),bt={left:"right",right:"left",bottom:"top",top:"bottom"},bu={start:"end",end:"start"};function bv(a,b){return"function"==typeof a?a(b):a}function bw(a){return a.split("-")[0]}function bx(a){return a.split("-")[1]}function by(a){return"x"===a?"y":"x"}function bz(a){return"y"===a?"height":"width"}let bA=new Set(["top","bottom"]);function bB(a){return bA.has(bw(a))?"y":"x"}function bC(a){return a.replace(/start|end/g,a=>bu[a])}let bD=["left","right"],bE=["right","left"],bF=["top","bottom"],bG=["bottom","top"];function bH(a){return a.replace(/left|right|bottom|top/g,a=>bt[a])}function bI(a){return"number"!=typeof a?{top:0,right:0,bottom:0,left:0,...a}:{top:a,right:a,bottom:a,left:a}}function bJ(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 bK(a,b,c){let d,{reference:e,floating:f}=a,g=bB(b),h=by(bB(b)),i=bz(h),j=bw(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(bx(b)){case"start":d[h]-=n*(c&&k?-1:1);break;case"end":d[h]+=n*(c&&k?-1:1)}return d}let bL=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}=bK(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}=bK(j,m,i)),c=-1)}return{x:k,y:l,placement:m,strategy:e,middlewareData:n}};async function bM(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}=bv(b,a),o=bI(n),p=h[m?"floating"===l?"reference":"floating":l],q=bJ(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=bJ(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 bN(a,b){return{top:a.top-b.height,right:a.right-b.width,bottom:a.bottom-b.height,left:a.left-b.width}}function bO(a){return bn.some(b=>a[b]>=0)}let bP=new Set(["left","top"]);async function bQ(a,b){let{placement:c,platform:d,elements:e}=a,f=await (null==d.isRTL?void 0:d.isRTL(e.floating)),g=bw(c),h=bx(c),i="y"===bB(c),j=bP.has(g)?-1:1,k=f&&i?-1:1,l=bv(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 bR(a){return function(a){return!1}(a)?(a.nodeName||"").toLowerCase():"#document"}function bS(a){var b;return(null==a||null==(b=a.ownerDocument)?void 0:b.defaultView)||window}function bT(a){var b;return null==(b=(function(a){return!1}(a)?a.ownerDocument:a.document)||window.document)?void 0:b.documentElement}function bU(a){return!1}let bV=new Set(["inline","contents"]);function bW(a){let{overflow:b,overflowX:c,overflowY:d,display:e}=b5(a);return/auto|scroll|overlay|hidden|clip/.test(b+d+c)&&!bV.has(e)}let bX=new Set(["table","td","th"]),bY=[":popover-open",":modal"];function bZ(a){return bY.some(b=>{try{return a.matches(b)}catch(a){return!1}})}let b$=["transform","translate","scale","rotate","perspective"],b_=["transform","translate","scale","rotate","perspective","filter"],b0=["paint","layout","strict","content"];function b1(a){let b=b2(),c=a;return b$.some(a=>!!c[a]&&"none"!==c[a])||!!c.containerType&&"normal"!==c.containerType||!b&&!!c.backdropFilter&&"none"!==c.backdropFilter||!b&&!!c.filter&&"none"!==c.filter||b_.some(a=>(c.willChange||"").includes(a))||b0.some(a=>(c.contain||"").includes(a))}function b2(){return"undefined"!=typeof CSS&&!!CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")}let b3=new Set(["html","body","#document"]);function b4(a){return b3.has(bR(a))}function b5(a){return bS(a).getComputedStyle(a)}function b6(a){return{scrollLeft:a.scrollX,scrollTop:a.scrollY}}function b7(a){if("html"===bR(a))return a;let b=a.assignedSlot||a.parentNode||!1||bT(a);return b}function b8(a,b,c){var d;void 0===b&&(b=[]),void 0===c&&(c=!0);let e=function a(b){let c=b7(b);return b4(c)?b.ownerDocument?b.ownerDocument.body:b.body:a(c)}(a),f=e===(null==(d=a.ownerDocument)?void 0:d.body),g=bS(e);if(f){let a=b9(g);return b.concat(g,g.visualViewport||[],bW(e)?e:[],a&&c?b8(a):[])}return b.concat(e,b8(e,[],c))}function b9(a){return a.parent&&Object.getPrototypeOf(a.parent)?a.frameElement:null}function ca(a){let b=b5(a),c=parseFloat(b.width)||0,d=parseFloat(b.height)||0,e=!1,f=e?a.offsetWidth:c,g=e?a.offsetHeight:d,h=bq(c)!==f||bq(d)!==g;return h&&(c=f,d=g),{width:c,height:d,$:h}}function cb(a){return 0,a.contextElement}function cc(a){let b=cb(a);1;return bs(1)}let cd=bs(0);function ce(a){let b=bS(a);return b2()&&b.visualViewport?{x:b.visualViewport.offsetLeft,y:b.visualViewport.offsetTop}:cd}function cf(a,b,c,d){var e;void 0===b&&(b=!1),void 0===c&&(c=!1);let f=a.getBoundingClientRect(),g=cb(a),h=bs(1);b&&(d||(h=cc(a)));let i=(void 0===(e=c)&&(e=!1),d&&(!e||d===bS(g))&&e)?ce(g):bs(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=bS(g),b=d,c=a,e=b9(c);for(;e&&d&&b!==c;){let a=cc(e),b=e.getBoundingClientRect(),d=b5(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=b9(c=bS(e))}}return bJ({width:l,height:m,x:j,y:k})}function cg(a,b){let c=b6(a).scrollLeft;return b?b.left+c:cf(bT(a)).left+c}function ch(a,b){let c=a.getBoundingClientRect();return{x:c.left+b.scrollLeft-cg(a,c),y:c.top+b.scrollTop}}function ci(a,b,c){var d;let e;if("viewport"===b)e=function(a,b){let c=bS(a),d=bT(a),e=c.visualViewport,f=d.clientWidth,g=d.clientHeight,h=0,i=0;if(e){f=e.width,g=e.height;let a=b2();(!a||a&&"fixed"===b)&&(h=e.offsetLeft,i=e.offsetTop)}let j=cg(d);if(j<=0){let a=d.ownerDocument,b=a.body,c=getComputedStyle(b),e="CSS1Compat"===a.compatMode&&parseFloat(c.marginLeft)+parseFloat(c.marginRight)||0,g=Math.abs(d.clientWidth-b.clientWidth-e);g<=25&&(f-=g)}else j<=25&&(f+=j);return{width:f,height:g,x:h,y:i}}(a,c);else if("document"===b){let b,c,f,g,h,i,j;d=bT(a),b=bT(d),c=b6(d),f=d.ownerDocument.body,g=bp(b.scrollWidth,b.clientWidth,f.scrollWidth,f.clientWidth),h=bp(b.scrollHeight,b.clientHeight,f.scrollHeight,f.clientHeight),i=-c.scrollLeft+cg(d),j=-c.scrollTop,"rtl"===b5(f).direction&&(i+=bp(b.clientWidth,f.clientWidth)-g),e={width:g,height:h,x:i,y:j}}else{1;{let c=ce(a);e={x:b.x-c.x,y:b.y-c.y,width:b.width,height:b.height}}}return bJ(e)}function cj(a){return"static"===b5(a).position}function ck(a,b){1;return null}function cl(a,b){var c;let d=bS(a);if(bZ(a))return d;1;{let b=b7(a);for(;b&&!b4(b);){0;b=b7(b)}return d}}let cm=async function(a){let b=this.getOffsetParent||cl,c=this.getDimensions,d=await c(a.floating);return{reference:function(a,b,c){var d;let e=(d=0,!1),f=bT(b),g="fixed"===c,h=cf(a,!0,g,b),i={scrollLeft:0,scrollTop:0},j=bs(0);if(e||!e&&!g)if(("body"!==bR(b)||bW(f))&&(i=b6(b)),e){let a=cf(b,!0,g,b);j.x=a.x+b.clientLeft,j.y=a.y+b.clientTop}else f&&(j.x=cg(f));g&&!e&&f&&(j.x=cg(f));let k=!f||e||g?bs(0):ch(f,i);return{x:h.left+i.scrollLeft-j.x-k.x,y:h.top+i.scrollTop-j.y-k.y,width:h.width,height:h.height}}(a.reference,await b(a.floating),a.strategy),floating:{x:0,y:0,width:d.width,height:d.height}}},cn={convertOffsetParentRelativeRectToViewportRelativeRect:function(a){var b,c;let{elements:d,rect:e,offsetParent:f,strategy:g}=a,h="fixed"===g,i=bT(f),j=!!d&&bZ(d.floating);if(f===i||j&&h)return e;let k={scrollLeft:0,scrollTop:0},l=bs(1),m=bs(0),n=(b=0,!1);(n||!n&&!h)&&(("body"!==bR(f)||bW(i))&&(k=b6(f)),c=0,0);let o=!i||n||h?bs(0):ch(i,k);return{width:e.width*l.x,height:e.height*l.y,x:e.x*l.x-k.scrollLeft*l.x+m.x+o.x,y:e.y*l.y-k.scrollTop*l.y+m.y+o.y}},getDocumentElement:bT,getClippingRect:function(a){let{element:b,boundary:c,rootBoundary:d,strategy:e}=a,f=[..."clippingAncestors"===c?bZ(b)?[]:function(a,b){var c;let d=b.get(a);if(d)return d;let e=b8(a,[],!1).filter(a=>{var b;return b=0,!1}),f="fixed"===b5(a).position,g=f?b7(a):a;return c=0,b.set(a,e),e}(b,this._c):[].concat(c),d],g=f[0],h=f.reduce((a,c)=>{let d=ci(b,c,e);return a.top=bp(d.top,a.top),a.right=bo(d.right,a.right),a.bottom=bo(d.bottom,a.bottom),a.left=bp(d.left,a.left),a},ci(b,g,e));return{width:h.right-h.left,height:h.bottom-h.top,x:h.left,y:h.top}},getOffsetParent:cl,getElementRects:cm,getClientRects:function(a){return Array.from(a.getClientRects())},getDimensions:function(a){let{width:b,height:c}=ca(a);return{width:b,height:c}},getScale:cc,isElement:bU,isRTL:function(a){return"rtl"===b5(a).direction}};function co(a,b){return a.x===b.x&&a.y===b.y&&a.width===b.width&&a.height===b.height}let cp=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}=bv(a,b)||{};if(null==j)return{};let l=bI(k),m={x:c,y:d},n=by(bB(e)),o=bz(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=bo(l[q?"top":"left"],w),y=bo(l[q?"bottom":"right"],w),z=v-p[o]-y,A=v/2-p[o]/2+(s/2-t/2),B=bp(x,bo(A,z)),C=!i.arrow&&null!=bx(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 cq="undefined"!=typeof document?o.useLayoutEffect:function(){};function cr(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(!cr(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)&&!cr(a[c],b[c]))return!1}return!0}return a!=a&&b!=b}function cs(a,b){let c=1;return Math.round(b*c)/c}function ct(a){let b=o.useRef(a);return cq(()=>{b.current=a}),b}var cu=o.forwardRef((a,b)=>{let{children:c,width:d=10,height:e=5,...f}=a;return(0,n.jsx)(aZ.svg,{...f,ref:b,width:d,height:e,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:a.asChild?c:(0,n.jsx)("polygon",{points:"0,0 30,0 15,10"})})});function cv(a){let[b,c]=o.useState(void 0);return bj(()=>{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}cu.displayName="Arrow";var cw="Popper",[cx,cy]=aV(cw),[cz,cA]=cx(cw),cB=a=>{let{__scopePopper:b,children:c}=a,[d,e]=o.useState(null);return(0,n.jsx)(cz,{scope:b,anchor:d,onAnchorChange:e,children:c})};cB.displayName=cw;var cC="PopperAnchor",cD=o.forwardRef((a,b)=>{let{__scopePopper:c,virtualRef:d,...e}=a,f=cA(cC,c),g=o.useRef(null),h=C(b,g);return o.useEffect(()=>{f.onAnchorChange(d?.current||g.current)}),d?null:(0,n.jsx)(aZ.div,{...e,ref:h})});cD.displayName=cC;var cE="PopperContent",[cF,cG]=cx(cE),cH=o.forwardRef((a,b)=>{var c,d,e,f,g,h,i,j,k,l,m,p,q,r,s,t,u,v,w,x,y;let{__scopePopper:z,side:A="bottom",sideOffset:B=0,align:D="center",alignOffset:E=0,arrowPadding:F=0,avoidCollisions:G=!0,collisionBoundary:H=[],collisionPadding:I=0,sticky:J="partial",hideWhenDetached:K=!1,updatePositionStrategy:L="optimized",onPlaced:M,...N}=a,O=cA(cE,z),[P,Q]=o.useState(null),R=C(b,a=>Q(a)),[S,T]=o.useState(null),U=cv(S),V=U?.width??0,W=U?.height??0,X="number"==typeof I?I:{top:0,right:0,bottom:0,left:0,...I},Y=Array.isArray(H)?H:[H],Z=Y.length>0,$={padding:X,boundary:Y.filter(cL),altBoundary:Z},{refs:_,floatingStyles:aa,placement:ab,isPositioned:ac,middlewareData:ad}=function(a){void 0===a&&(a={});let{placement:b="bottom",strategy:c="absolute",middleware:d=[],platform:e,elements:{reference:f,floating:g}={},transform:h=!0,whileElementsMounted:i,open:j}=a,[k,l]=o.useState({x:0,y:0,strategy:c,placement:b,middlewareData:{},isPositioned:!1}),[m,n]=o.useState(d);cr(m,d)||n(d);let[p,q]=o.useState(null),[r,s]=o.useState(null),t=o.useCallback(a=>{a!==x.current&&(x.current=a,q(a))},[]),u=o.useCallback(a=>{a!==y.current&&(y.current=a,s(a))},[]),v=f||p,w=g||r,x=o.useRef(null),y=o.useRef(null),z=o.useRef(k),A=null!=i,B=ct(i),C=ct(e),D=ct(j),E=o.useCallback(()=>{var a,d;let e,f,g;if(!x.current||!y.current)return;let h={placement:b,strategy:c,middleware:m};C.current&&(h.platform=C.current),(a=x.current,d=y.current,e=new Map,g={...(f={platform:cn,...h}).platform,_c:e},bL(a,d,{...f,platform:g})).then(a=>{let b={...a,isPositioned:!1!==D.current};F.current&&!cr(z.current,b)&&(z.current=b,aY.flushSync(()=>{l(b)}))})},[m,b,c,C,D]);cq(()=>{!1===j&&z.current.isPositioned&&(z.current.isPositioned=!1,l(a=>({...a,isPositioned:!1})))},[j]);let F=o.useRef(!1);cq(()=>(F.current=!0,()=>{F.current=!1}),[]),cq(()=>{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=o.useMemo(()=>({reference:x,floating:y,setReference:t,setFloating:u}),[t,u]),H=o.useMemo(()=>({reference:v,floating:w}),[v,w]),I=o.useMemo(()=>{let a={position:c,left:0,top:0};if(!H.floating)return a;let b=cs(H.floating,k.x),d=cs(H.floating,k.y);if(h)return{...a,transform:"translate("+b+"px, "+d+"px)",...(H.floating,false)};return{position:c,left:b,top:d}},[c,h,H.floating,k.x,k.y]);return o.useMemo(()=>({...k,update:E,refs:G,elements:H,floatingStyles:I}),[k,E,G,H,I])}({strategy:"fixed",placement:A+("center"!==D?"-"+D:""),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=cb(a),l=f||g?[...k?b8(k):[],...b8(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=bT(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={rootMargin:-br(l)+"px "+-br(e.clientWidth-(k+m))+"px "+-br(e.clientHeight-(l+n))+"px "+-br(k)+"px",threshold:bp(0,bo(1,i))||1},p=!0;function q(b){let d=b[0].intersectionRatio;if(d!==i){if(!p)return g();d?g(!1,d):c=setTimeout(()=>{g(!1,1e-7)},1e3)}1!==d||co(j,a.getBoundingClientRect())||g(),p=!1}try{d=new IntersectionObserver(q,{...o,root:e.ownerDocument})}catch(a){d=new IntersectionObserver(q,o)}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?cf(a):null;return j&&function b(){let d=cf(a);p&&!co(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"===L}),elements:{reference:O.anchor},middleware:[{...{name:"offset",options:e=c={mainAxis:B+W,alignmentAxis:E},async fn(a){var b,c;let{x:d,y:f,placement:g,middlewareData:h}=a,i=await bQ(a,e);return g===(null==(b=h.offset)?void 0:b.placement)&&null!=(c=h.arrow)&&c.alignmentOffset?{}:{x:d+i.x,y:f+i.y,data:{...i,placement:g}}}},options:[c,d]},G&&{...{name:"shift",options:k=i={mainAxis:!0,crossAxis:!1,limiter:"partial"===J?{...(void 0===(h=f)&&(h={}),{options:h,fn(a){let{x:b,y:c,placement:d,rects:e,middlewareData:f}=a,{offset:g=0,mainAxis:i=!0,crossAxis:j=!0}=bv(h,a),k={x:b,y:c},l=bB(d),m=by(l),n=k[m],o=k[l],p=bv(g,a),q="number"==typeof p?{mainAxis:p,crossAxis:0}:{mainAxis:0,crossAxis:0,...p};if(i){let a="y"===m?"height":"width",b=e.reference[m]-e.floating[a]+q.mainAxis,c=e.reference[m]+e.reference[a]-q.mainAxis;n<b?n=b:n>c&&(n=c)}if(j){var r,s;let a="y"===m?"width":"height",b=bP.has(bw(d)),c=e.reference[l]-e.floating[a]+(b&&(null==(r=f.offset)?void 0:r[l])||0)+(b?0:q.crossAxis),g=e.reference[l]+e.reference[a]+(b?0:(null==(s=f.offset)?void 0:s[l])||0)-(b?q.crossAxis:0);o<c?o=c:o>g&&(o=g)}return{[m]:n,[l]:o}}}),options:[f,g]}:void 0,...$},async fn(a){let{x:b,y:c,placement:d}=a,{mainAxis:e=!0,crossAxis:f=!1,limiter:g={fn:a=>{let{x:b,y:c}=a;return{x:b,y:c}}},...h}=bv(k,a),i={x:b,y:c},j=await bM(a,h),l=bB(bw(d)),m=by(l),n=i[m],o=i[l];if(e){let a="y"===m?"top":"left",b="y"===m?"bottom":"right",c=n+j[a],d=n-j[b];n=bp(c,bo(n,d))}if(f){let a="y"===l?"top":"left",b="y"===l?"bottom":"right",c=o+j[a],d=o-j[b];o=bp(c,bo(o,d))}let p=g.fn({...a,[m]:n,[l]:o});return{...p,data:{x:p.x-b,y:p.y-c,enabled:{[m]:e,[l]:f}}}}},options:[i,j]},G&&{...{name:"flip",options:p=l={...$},async fn(a){var b,c,d,e,f,g,h,i;let j,k,l,{placement:m,middlewareData:n,rects:o,initialPlacement:q,platform:r,elements:s}=a,{mainAxis:t=!0,crossAxis:u=!0,fallbackPlacements:v,fallbackStrategy:w="bestFit",fallbackAxisSideDirection:x="none",flipAlignment:y=!0,...z}=bv(p,a);if(null!=(b=n.arrow)&&b.alignmentOffset)return{};let A=bw(m),B=bB(q),C=bw(q)===q,D=await (null==r.isRTL?void 0:r.isRTL(s.floating)),E=v||(C||!y?[bH(q)]:(j=bH(q),[bC(q),j,bC(j)])),F="none"!==x;!v&&F&&E.push(...(k=bx(q),l=function(a,b,c){switch(a){case"top":case"bottom":if(c)return b?bE:bD;return b?bD:bE;case"left":case"right":return b?bF:bG;default:return[]}}(bw(q),"start"===x,D),k&&(l=l.map(a=>a+"-"+k),y&&(l=l.concat(l.map(bC)))),l));let G=[q,...E],H=await bM(a,z),I=[],J=(null==(c=n.flip)?void 0:c.overflows)||[];if(t&&I.push(H[A]),u){let a,b,c,d,e=(g=m,h=o,void 0===(i=D)&&(i=!1),a=bx(g),c=bz(b=by(bB(g))),d="x"===b?a===(i?"end":"start")?"right":"left":"start"===a?"bottom":"top",h.reference[c]>h.floating[c]&&(d=bH(d)),[d,bH(d)]);I.push(H[e[0]],H[e[1]])}if(J=[...J,{placement:m,overflows:I}],!I.every(a=>a<=0)){let a=((null==(d=n.flip)?void 0:d.index)||0)+1,b=G[a];if(b&&("alignment"!==u||B===bB(b)||J.every(a=>bB(a.placement)!==B||a.overflows[0]>0)))return{data:{index:a,overflows:J},reset:{placement:b}};let c=null==(e=J.filter(a=>a.overflows[0]<=0).sort((a,b)=>a.overflows[1]-b.overflows[1])[0])?void 0:e.placement;if(!c)switch(w){case"bestFit":{let a=null==(f=J.filter(a=>{if(F){let b=bB(a.placement);return b===B||"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:f[0];a&&(c=a);break}case"initialPlacement":c=q}if(m!==c)return{reset:{placement:c}}}return{}}},options:[l,m]},{...{name:"size",options:s=q={...$,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`)}},async fn(a){var b,c;let d,e,{placement:f,rects:g,platform:h,elements:i}=a,{apply:j=()=>{},...k}=bv(s,a),l=await bM(a,k),m=bw(f),n=bx(f),o="y"===bB(f),{width:p,height:q}=g.floating;"top"===m||"bottom"===m?(d=m,e=n===(await (null==h.isRTL?void 0:h.isRTL(i.floating))?"start":"end")?"left":"right"):(e=m,d="end"===n?"top":"bottom");let r=q-l.top-l.bottom,t=p-l.left-l.right,u=bo(q-l[d],r),v=bo(p-l[e],t),w=!a.middlewareData.shift,x=u,y=v;if(null!=(b=a.middlewareData.shift)&&b.enabled.x&&(y=t),null!=(c=a.middlewareData.shift)&&c.enabled.y&&(x=r),w&&!n){let a=bp(l.left,0),b=bp(l.right,0),c=bp(l.top,0),d=bp(l.bottom,0);o?y=p-2*(0!==a||0!==b?a+b:bp(l.left,l.right)):x=q-2*(0!==c||0!==d?c+d:bp(l.top,l.bottom))}await j({...a,availableWidth:y,availableHeight:x});let z=await h.getDimensions(i.floating);return p!==z.width||q!==z.height?{reset:{rects:!0}}:{}}},options:[q,r]},S&&{...{name:"arrow",options:v=t={element:S,padding:F},fn(a){let{element:b,padding:c}="function"==typeof v?v(a):v;return b&&({}).hasOwnProperty.call(b,"current")?null!=b.current?cp({element:b.current,padding:c}).fn(a):{}:b?cp({element:b,padding:c}).fn(a):{}}},options:[t,u]},cM({arrowWidth:V,arrowHeight:W}),K&&{...{name:"hide",options:y=w={strategy:"referenceHidden",...$},async fn(a){let{rects:b}=a,{strategy:c="referenceHidden",...d}=bv(y,a);switch(c){case"referenceHidden":{let c=bN(await bM(a,{...d,elementContext:"reference"}),b.reference);return{data:{referenceHiddenOffsets:c,referenceHidden:bO(c)}}}case"escaped":{let c=bN(await bM(a,{...d,altBoundary:!0}),b.floating);return{data:{escapedOffsets:c,escaped:bO(c)}}}default:return{}}}},options:[w,x]}]}),[ae,af]=cN(ab),ag=aW(M);bj(()=>{ac&&ag?.()},[ac,ag]);let ah=ad.arrow?.x,ai=ad.arrow?.y,aj=ad.arrow?.centerOffset!==0,[ak,al]=o.useState();return bj(()=>{P&&al(window.getComputedStyle(P).zIndex)},[P]),(0,n.jsx)("div",{ref:_.setFloating,"data-radix-popper-content-wrapper":"",style:{...aa,transform:ac?aa.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:ak,"--radix-popper-transform-origin":[ad.transformOrigin?.x,ad.transformOrigin?.y].join(" "),...ad.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:a.dir,children:(0,n.jsx)(cF,{scope:z,placedSide:ae,onArrowChange:T,arrowX:ah,arrowY:ai,shouldHideArrow:aj,children:(0,n.jsx)(aZ.div,{"data-side":ae,"data-align":af,...N,ref:R,style:{...N.style,animation:ac?void 0:"none"}})})})});cH.displayName=cE;var cI="PopperArrow",cJ={top:"bottom",right:"left",bottom:"top",left:"right"},cK=o.forwardRef(function(a,b){let{__scopePopper:c,...d}=a,e=cG(cI,c),f=cJ[e.placedSide];return(0,n.jsx)("span",{ref:e.onArrowChange,style:{position:"absolute",left:e.arrowX,top:e.arrowY,[f]: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,n.jsx)(cu,{...d,ref:b,style:{...d.style,display:"block"}})})});function cL(a){return null!==a}cK.displayName=cI;var cM=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]=cN(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 cN(a){let[b,c="center"]=a.split("-");return[b,c]}var cO=o.forwardRef((a,b)=>{let{container:c,...d}=a,[e,f]=o.useState(!1);bj(()=>f(!0),[]);let g=c||e&&globalThis?.document?.body;return g?aY.default.createPortal((0,n.jsx)(aZ.div,{...d,ref:b}),g):null});cO.displayName="Portal";var cP=a=>{var b;let c,d,{present:e,children:f}=a,g=function(a){var b,c;let[d,e]=o.useState(),f=o.useRef({}),g=o.useRef(a),h=o.useRef("none"),[i,j]=(b=a?"mounted":"unmounted",c={mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}},o.useReducer((a,b)=>c[a][b]??a,b));return o.useEffect(()=>{let a=cQ(f.current);h.current="mounted"===i?a:"none"},[i]),bj(()=>{let b=f.current,c=g.current;if(c!==a){let d=h.current,e=cQ(b);a?j("MOUNT"):"none"===e||b?.display==="none"?j("UNMOUNT"):c&&d!==e?j("ANIMATION_OUT"):j("UNMOUNT"),g.current=a}},[a,j]),bj(()=>{if(d){let a,b=d.ownerDocument.defaultView??window,c=c=>{let e=cQ(f.current).includes(c.animationName);if(c.target===d&&e&&(j("ANIMATION_END"),!g.current)){let c=d.style.animationFillMode;d.style.animationFillMode="forwards",a=b.setTimeout(()=>{"forwards"===d.style.animationFillMode&&(d.style.animationFillMode=c)})}},e=a=>{a.target===d&&(h.current=cQ(f.current))};return d.addEventListener("animationstart",e),d.addEventListener("animationcancel",c),d.addEventListener("animationend",c),()=>{b.clearTimeout(a),d.removeEventListener("animationstart",e),d.removeEventListener("animationcancel",c),d.removeEventListener("animationend",c)}}j("ANIMATION_END")},[d,j]),{isPresent:["mounted","unmountSuspended"].includes(i),ref:o.useCallback(a=>{a&&(f.current=getComputedStyle(a)),e(a)},[])}}(e),h="function"==typeof f?f({present:g.isPresent}):o.Children.only(f),i=C(g.ref,(b=h,(d=(c=Object.getOwnPropertyDescriptor(b.props,"ref")?.get)&&"isReactWarning"in c&&c.isReactWarning)?b.ref:(d=(c=Object.getOwnPropertyDescriptor(b,"ref")?.get)&&"isReactWarning"in c&&c.isReactWarning)?b.props.ref:b.props.ref||b.ref));return"function"==typeof f||g.isPresent?o.cloneElement(h,{ref:i}):null};function cQ(a){return a?.animationName||"none"}cP.displayName="Presence";var cR="rovingFocusGroup.onEntryFocus",cS={bubbles:!1,cancelable:!0},cT="RovingFocusGroup",[cU,cV,cW]=a_(cT),[cX,cY]=aV(cT,[cW]),[cZ,c$]=cX(cT),c_=o.forwardRef((a,b)=>(0,n.jsx)(cU.Provider,{scope:a.__scopeRovingFocusGroup,children:(0,n.jsx)(cU.Slot,{scope:a.__scopeRovingFocusGroup,children:(0,n.jsx)(c0,{...a,ref:b})})}));c_.displayName=cT;var c0=o.forwardRef((a,b)=>{let{__scopeRovingFocusGroup:c,orientation:d,loop:e=!1,dir:f,currentTabStopId:g,defaultCurrentTabStopId:h,onCurrentTabStopIdChange:i,onEntryFocus:j,preventScrollOnEntryFocus:k=!1,...l}=a,m=o.useRef(null),p=C(b,m),q=a1(f),[r=null,s]=aX({prop:g,defaultProp:h,onChange:i}),[t,u]=o.useState(!1),v=aW(j),w=cV(c),x=o.useRef(!1),[y,z]=o.useState(0);return o.useEffect(()=>{let a=m.current;if(a)return a.addEventListener(cR,v),()=>a.removeEventListener(cR,v)},[v]),(0,n.jsx)(cZ,{scope:c,orientation:d,dir:q,loop:e,currentTabStopId:r,onItemFocus:o.useCallback(a=>s(a),[s]),onItemShiftTab:o.useCallback(()=>u(!0),[]),onFocusableItemAdd:o.useCallback(()=>z(a=>a+1),[]),onFocusableItemRemove:o.useCallback(()=>z(a=>a-1),[]),children:(0,n.jsx)(aZ.div,{tabIndex:t||0===y?-1:0,"data-orientation":d,...l,ref:p,style:{outline:"none",...a.style},onMouseDown:aU(a.onMouseDown,()=>{x.current=!0}),onFocus:aU(a.onFocus,a=>{let b=!x.current;if(a.target===a.currentTarget&&b&&!t){let b=new CustomEvent(cR,cS);if(a.currentTarget.dispatchEvent(b),!b.defaultPrevented){let a=w().filter(a=>a.focusable);c4([a.find(a=>a.active),a.find(a=>a.id===r),...a].filter(Boolean).map(a=>a.ref.current),k)}}x.current=!1}),onBlur:aU(a.onBlur,()=>u(!1))})})}),c1="RovingFocusGroupItem",c2=o.forwardRef((a,b)=>{let{__scopeRovingFocusGroup:c,focusable:d=!0,active:e=!1,tabStopId:f,...g}=a,h=bm(),i=f||h,j=c$(c1,c),k=j.currentTabStopId===i,l=cV(c),{onFocusableItemAdd:m,onFocusableItemRemove:p}=j;return o.useEffect(()=>{if(d)return m(),()=>p()},[d,m,p]),(0,n.jsx)(cU.ItemSlot,{scope:c,id:i,focusable:d,active:e,children:(0,n.jsx)(aZ.span,{tabIndex:k?0:-1,"data-orientation":j.orientation,...g,ref:b,onMouseDown:aU(a.onMouseDown,a=>{d?j.onItemFocus(i):a.preventDefault()}),onFocus:aU(a.onFocus,()=>j.onItemFocus(i)),onKeyDown:aU(a.onKeyDown,a=>{if("Tab"===a.key&&a.shiftKey)return void j.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 c3[e]}(a,j.orientation,j.dir);if(void 0!==b){if(a.metaKey||a.ctrlKey||a.altKey||a.shiftKey)return;a.preventDefault();let e=l().filter(a=>a.focusable).map(a=>a.ref.current);if("last"===b)e.reverse();else if("prev"===b||"next"===b){var c,d;"prev"===b&&e.reverse();let f=e.indexOf(a.currentTarget);e=j.loop?(c=e,d=f+1,c.map((a,b)=>c[(d+b)%c.length])):e.slice(f+1)}setTimeout(()=>c4(e))}})})})});c2.displayName=c1;var c3={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function c4(a,b=!1){let c=document.activeElement;for(let d of a)if(d===c||(d.focus({preventScroll:b}),document.activeElement!==c))return}var c5=new WeakMap,c6=new WeakMap,c7={},c8=0,c9=function(a){return a&&(a.host||c9(a.parentNode))},da=function(a,b,c,d){var e=(Array.isArray(a)?a:[a]).map(function(a){if(b.contains(a))return a;var c=c9(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});c7[c]||(c7[c]=new WeakMap);var f=c7[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=(c5.get(a)||0)+1,j=(f.get(a)||0)+1;c5.set(a,i),f.set(a,j),g.push(a),1===i&&e&&c6.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(),c8++,function(){g.forEach(function(a){var b=c5.get(a)-1,e=f.get(a)-1;c5.set(a,b),f.set(a,e),b||(c6.has(a)||a.removeAttribute(d),c6.delete(a)),e||a.removeAttribute(c)}),--c8||(c5=new WeakMap,c5=new WeakMap,c6=new WeakMap,c7={})}},db=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], script"))),da(d,e,c,"aria-hidden")):function(){return null}},dc=function(){return(dc=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 dd(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}var de=("function"==typeof SuppressedError&&SuppressedError,"right-scroll-bar-position"),df="width-before-scroll-bar";function dg(a,b){return"function"==typeof a?a(b):a&&(a.current=b),a}var dh=o.useEffect,di=new WeakMap,dj=(void 0===e&&(e={}),(void 0===f&&(f=function(a){return a}),g=[],h=!1,i={read:function(){if(h)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return g.length?g[g.length-1]:null},useMedium:function(a){var b=f(a,h);return g.push(b),function(){g=g.filter(function(a){return a!==b})}},assignSyncMedium:function(a){for(h=!0;g.length;){var b=g;g=[],b.forEach(a)}g={push:function(b){return a(b)},filter:function(){return g}}},assignMedium:function(a){h=!0;var b=[];if(g.length){var c=g;g=[],c.forEach(a),b=g}var d=function(){var c=b;b=[],c.forEach(a)},e=function(){return Promise.resolve().then(d)};e(),g={push:function(a){b.push(a),e()},filter:function(a){return b=b.filter(a),g}}}}).options=dc({async:!0,ssr:!1},e),i),dk=function(){},dl=o.forwardRef(function(a,b){var c,d,e,f,g=o.useRef(null),h=o.useState({onScrollCapture:dk,onWheelCapture:dk,onTouchMoveCapture:dk}),i=h[0],j=h[1],k=a.forwardProps,l=a.children,m=a.className,n=a.removeScrollBar,p=a.enabled,q=a.shards,r=a.sideCar,s=a.noRelative,t=a.noIsolation,u=a.inert,v=a.allowPinchZoom,w=a.as,x=a.gapMode,y=dd(a,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),z=(c=[g,b],d=function(a){return c.forEach(function(b){return dg(b,a)})},(e=(0,o.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,dh(function(){var a=di.get(f);if(a){var b=new Set(a),d=new Set(c),e=f.current;b.forEach(function(a){d.has(a)||dg(a,null)}),d.forEach(function(a){b.has(a)||dg(a,e)})}di.set(f,c)},[c]),f),A=dc(dc({},y),i);return o.createElement(o.Fragment,null,p&&o.createElement(r,{sideCar:dj,removeScrollBar:n,shards:q,noRelative:s,noIsolation:t,inert:u,setCallbacks:j,allowPinchZoom:!!v,lockRef:g,gapMode:x}),k?o.cloneElement(o.Children.only(l),dc(dc({},A),{ref:z})):o.createElement(void 0===w?"div":w,dc({},A,{className:m,ref:z}),l))});dl.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},dl.classNames={fullWidth:df,zeroRight:de};var dm=function(a){var b=a.sideCar,c=dd(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 o.createElement(d,dc({},c))};dm.isSideCarExport=!0;var dn=function(){var a=0,b=null;return{add:function(c){if(0==a&&(b=function(){if(!document)return null;var a=document.createElement("style");a.type="text/css";var b=m||("undefined"!=typeof __webpack_nonce__?__webpack_nonce__:void 0);return b&&a.setAttribute("nonce",b),a}())){var d,e;(d=b).styleSheet?d.styleSheet.cssText=c:d.appendChild(document.createTextNode(c)),e=b,(document.head||document.getElementsByTagName("head")[0]).appendChild(e)}a++},remove:function(){--a||!b||(b.parentNode&&b.parentNode.removeChild(b),b=null)}}},dp=function(){var a=dn();return function(b,c){o.useEffect(function(){return a.add(b),function(){a.remove()}},[b&&c])}},dq=function(){var a=dp();return function(b){return a(b.styles,b.dynamic),null}},dr={left:0,top:0,right:0,gap:0},ds=dq(),dt="data-scroll-locked",du=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(dt,"] {\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(de," {\n right: ").concat(h,"px ").concat(d,";\n }\n \n .").concat(df," {\n margin-right: ").concat(h,"px ").concat(d,";\n }\n \n .").concat(de," .").concat(de," {\n right: 0 ").concat(d,";\n }\n \n .").concat(df," .").concat(df," {\n margin-right: 0 ").concat(d,";\n }\n \n body[").concat(dt,"] {\n ").concat("--removed-body-scroll-bar-size",": ").concat(h,"px;\n }\n")},dv=function(){var a=parseInt(document.body.getAttribute(dt)||"0",10);return isFinite(a)?a:0},dw=function(){o.useEffect(function(){return document.body.setAttribute(dt,(dv()+1).toString()),function(){var a=dv()-1;a<=0?document.body.removeAttribute(dt):document.body.setAttribute(dt,a.toString())}},[])},dx=function(a){var b=a.noRelative,c=a.noImportant,d=a.gapMode,e=void 0===d?"margin":d;dw();var f=o.useMemo(function(){return void 0===e,dr},[e]);return o.createElement(ds,{styles:du(f,!b,e,c?"":"!important")})},dy=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])},dz=function(a,b){var c=b.ownerDocument,d=b;do{if("undefined"!=typeof ShadowRoot&&d instanceof ShadowRoot&&(d=d.host),dA(a,d)){var e=dB(a,d);if(e[1]>e[2])return!0}d=d.parentNode}while(d&&d!==c.body)return!1},dA=function(a,b){return"v"===a?dy(b,"overflowY"):dy(b,"overflowX")},dB=function(a,b){return"v"===a?[b.scrollTop,b.scrollHeight,b.clientHeight]:[b.scrollLeft,b.scrollWidth,b.clientWidth]},dC=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{if(!i)break;var o=dB(a,i),p=o[0],q=o[1]-o[2]-g*p;(p||q)&&dA(a,i)&&(m+=q,n+=p);var r=i.parentNode;i=r&&r.nodeType===Node.DOCUMENT_FRAGMENT_NODE?r.host:r}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},dD=function(a){return"changedTouches"in a?[a.changedTouches[0].clientX,a.changedTouches[0].clientY]:[0,0]},dE=function(a){return[a.deltaX,a.deltaY]},dF=function(a){return a&&"current"in a?a.current:a},dG=0,dH=[];let dI=(j=function(a){var b=o.useRef([]),c=o.useRef([0,0]),d=o.useRef(),e=o.useState(dG++)[0],f=o.useState(dq)[0],g=o.useRef(a);o.useEffect(function(){g.current=a},[a]),o.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(dF),!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 h=o.useCallback(function(a,b){if("touches"in a&&2===a.touches.length||"wheel"===a.type&&a.ctrlKey)return!g.current.allowPinchZoom;var e,f=dD(a),h=c.current,i="deltaX"in a?a.deltaX:h[0]-f[0],j="deltaY"in a?a.deltaY:h[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=window.getSelection(),n=m&&m.anchorNode;if(n&&(n===k||n.contains(k)))return!1;var o=dz(l,k);if(!o)return!0;if(o?e=l:(e="v"===l?"h":"v",o=dz(l,k)),!o)return!1;if(!d.current&&"changedTouches"in a&&(i||j)&&(d.current=e),!e)return!0;var p=d.current||e;return dC(p,b,a,"h"===p?i:j,!0)},[]),i=o.useCallback(function(a){if(dH.length&&dH[dH.length-1]===f){var c="deltaY"in a?dE(a):dD(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=(g.current.shards||[]).map(dF).filter(Boolean).filter(function(b){return b.contains(a.target)});(e.length>0?h(a,e[0]):!g.current.noIsolation)&&a.cancelable&&a.preventDefault()}}},[]),j=o.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)},[]),k=o.useCallback(function(a){c.current=dD(a),d.current=void 0},[]),l=o.useCallback(function(b){j(b.type,dE(b),b.target,h(b,a.lockRef.current))},[]),m=o.useCallback(function(b){j(b.type,dD(b),b.target,h(b,a.lockRef.current))},[]);o.useEffect(function(){return dH.push(f),a.setCallbacks({onScrollCapture:l,onWheelCapture:l,onTouchMoveCapture:m}),document.addEventListener("wheel",i,!1),document.addEventListener("touchmove",i,!1),document.addEventListener("touchstart",k,!1),function(){dH=dH.filter(function(a){return a!==f}),document.removeEventListener("wheel",i,!1),document.removeEventListener("touchmove",i,!1),document.removeEventListener("touchstart",k,!1)}},[]);var n=a.removeScrollBar,p=a.inert;return o.createElement(o.Fragment,null,p?o.createElement(f,{styles:"\n .block-interactivity-".concat(e," {pointer-events: none;}\n .allow-interactivity-").concat(e," {pointer-events: all;}\n")}):null,n?o.createElement(dx,{noRelative:a.noRelative,gapMode:a.gapMode}):null)},dj.useMedium(j),dm);var dJ=o.forwardRef(function(a,b){return o.createElement(dl,dc({},a,{ref:b,sideCar:dI}))});dJ.classNames=dl.classNames;var dK=["Enter"," "],dL=["ArrowUp","PageDown","End"],dM=["ArrowDown","PageUp","Home",...dL],dN={ltr:[...dK,"ArrowRight"],rtl:[...dK,"ArrowLeft"]},dO={ltr:["ArrowLeft"],rtl:["ArrowRight"]},dP="Menu",[dQ,dR,dS]=a_(dP),[dT,dU]=aV(dP,[dS,cy,cY]),dV=cy(),dW=cY(),[dX,dY]=dT(dP),[dZ,d$]=dT(dP),d_=a=>{let{__scopeMenu:b,open:c=!1,children:d,dir:e,onOpenChange:f,modal:g=!0}=a,h=dV(b),[i,j]=o.useState(null),k=o.useRef(!1),l=aW(f),m=a1(e);return o.useEffect(()=>{let a=()=>{k.current=!0,document.addEventListener("pointerdown",b,{capture:!0,once:!0}),document.addEventListener("pointermove",b,{capture:!0,once:!0})},b=()=>k.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,n.jsx)(cB,{...h,children:(0,n.jsx)(dX,{scope:b,open:c,onOpenChange:l,content:i,onContentChange:j,children:(0,n.jsx)(dZ,{scope:b,onClose:o.useCallback(()=>l(!1),[l]),isUsingKeyboardRef:k,dir:m,modal:g,children:d})})})};d_.displayName=dP;var d0=o.forwardRef((a,b)=>{let{__scopeMenu:c,...d}=a,e=dV(c);return(0,n.jsx)(cD,{...e,...d,ref:b})});d0.displayName="MenuAnchor";var d1="MenuPortal",[d2,d3]=dT(d1,{forceMount:void 0}),d4=a=>{let{__scopeMenu:b,forceMount:c,children:d,container:e}=a,f=dY(d1,b);return(0,n.jsx)(d2,{scope:b,forceMount:c,children:(0,n.jsx)(cP,{present:c||f.open,children:(0,n.jsx)(cO,{asChild:!0,container:e,children:d})})})};d4.displayName=d1;var d5="MenuContent",[d6,d7]=dT(d5),d8=o.forwardRef((a,b)=>{let c=d3(d5,a.__scopeMenu),{forceMount:d=c.forceMount,...e}=a,f=dY(d5,a.__scopeMenu),g=d$(d5,a.__scopeMenu);return(0,n.jsx)(dQ.Provider,{scope:a.__scopeMenu,children:(0,n.jsx)(cP,{present:d||f.open,children:(0,n.jsx)(dQ.Slot,{scope:a.__scopeMenu,children:g.modal?(0,n.jsx)(d9,{...e,ref:b}):(0,n.jsx)(ea,{...e,ref:b})})})})}),d9=o.forwardRef((a,b)=>{let c=dY(d5,a.__scopeMenu),d=o.useRef(null),e=C(b,d);return o.useEffect(()=>{let a=d.current;if(a)return db(a)},[]),(0,n.jsx)(eb,{...a,ref:e,trapFocus:c.open,disableOutsidePointerEvents:c.open,disableOutsideScroll:!0,onFocusOutside:aU(a.onFocusOutside,a=>a.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>c.onOpenChange(!1)})}),ea=o.forwardRef((a,b)=>{let c=dY(d5,a.__scopeMenu);return(0,n.jsx)(eb,{...a,ref:b,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>c.onOpenChange(!1)})}),eb=o.forwardRef((a,b)=>{let{__scopeMenu:c,loop:d=!1,trapFocus:e,onOpenAutoFocus:f,onCloseAutoFocus:g,disableOutsidePointerEvents:h,onEntryFocus:i,onEscapeKeyDown:j,onPointerDownOutside:k,onFocusOutside:l,onInteractOutside:m,onDismiss:p,disableOutsideScroll:q,...r}=a,s=dY(d5,c),t=d$(d5,c),u=dV(c),v=dW(c),w=dR(c),[x,y]=o.useState(null),z=o.useRef(null),A=C(b,z,s.onContentChange),B=o.useRef(0),E=o.useRef(""),F=o.useRef(0),G=o.useRef(null),H=o.useRef("right"),I=o.useRef(0),J=q?dJ:o.Fragment,K=q?{as:D,allowPinchZoom:!0}:void 0;o.useEffect(()=>()=>window.clearTimeout(B.current),[]),a8();let L=o.useCallback(a=>{var b,c;return H.current===G.current?.side&&(b=a,!!(c=G.current?.area)&&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:b.clientX,y:b.clientY},c))},[]);return(0,n.jsx)(d6,{scope:c,searchRef:E,onItemEnter:o.useCallback(a=>{L(a)&&a.preventDefault()},[L]),onItemLeave:o.useCallback(a=>{L(a)||(z.current?.focus(),y(null))},[L]),onTriggerLeave:o.useCallback(a=>{L(a)&&a.preventDefault()},[L]),pointerGraceTimerRef:F,onPointerGraceIntentChange:o.useCallback(a=>{G.current=a},[]),children:(0,n.jsx)(J,{...K,children:(0,n.jsx)(bd,{asChild:!0,trapped:e,onMountAutoFocus:aU(f,a=>{a.preventDefault(),z.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:g,children:(0,n.jsx)(a4,{asChild:!0,disableOutsidePointerEvents:h,onEscapeKeyDown:j,onPointerDownOutside:k,onFocusOutside:l,onInteractOutside:m,onDismiss:p,children:(0,n.jsx)(c_,{asChild:!0,...v,dir:t.dir,orientation:"vertical",loop:d,currentTabStopId:x,onCurrentTabStopIdChange:y,onEntryFocus:aU(i,a=>{t.isUsingKeyboardRef.current||a.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,n.jsx)(cH,{role:"menu","aria-orientation":"vertical","data-state":eB(s.open),"data-radix-menu-content":"",dir:t.dir,...u,...r,ref:A,style:{outline:"none",...r.style},onKeyDown:aU(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;if(b){var e;let b,f,g,h,i,j;"Tab"===a.key&&a.preventDefault(),!c&&d&&(e=a.key,b=E.current+e,f=w().filter(a=>!a.disabled),g=document.activeElement,h=f.find(a=>a.ref.current===g)?.textValue,i=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}(f.map(a=>a.textValue),b,h),j=f.find(a=>a.textValue===i)?.ref.current,function a(b){E.current=b,window.clearTimeout(B.current),""!==b&&(B.current=window.setTimeout(()=>a(""),1e3))}(b),j&&setTimeout(()=>j.focus()))}let f=z.current;if(a.target!==f||!dM.includes(a.key))return;a.preventDefault();let g=w().filter(a=>!a.disabled).map(a=>a.ref.current);dL.includes(a.key)&&g.reverse(),function(a){let b=document.activeElement;for(let c of a)if(c===b||(c.focus(),document.activeElement!==b))return}(g)}),onBlur:aU(a.onBlur,a=>{a.currentTarget.contains(a.target)||(window.clearTimeout(B.current),E.current="")}),onPointerMove:aU(a.onPointerMove,eE(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)}))})})})})})})});d8.displayName=d5;var ec=o.forwardRef((a,b)=>{let{__scopeMenu:c,...d}=a;return(0,n.jsx)(aZ.div,{role:"group",...d,ref:b})});ec.displayName="MenuGroup";var ed=o.forwardRef((a,b)=>{let{__scopeMenu:c,...d}=a;return(0,n.jsx)(aZ.div,{...d,ref:b})});ed.displayName="MenuLabel";var ee="MenuItem",ef="menu.itemSelect",eg=o.forwardRef((a,b)=>{let{disabled:c=!1,onSelect:d,...e}=a,f=o.useRef(null),g=d$(ee,a.__scopeMenu),h=d7(ee,a.__scopeMenu),i=C(b,f),j=o.useRef(!1);return(0,n.jsx)(eh,{...e,ref:i,disabled:c,onClick:aU(a.onClick,()=>{let a=f.current;if(!c&&a){let b=new CustomEvent(ef,{bubbles:!0,cancelable:!0});a.addEventListener(ef,a=>d?.(a),{once:!0}),a$(a,b),b.defaultPrevented?j.current=!1:g.onClose()}}),onPointerDown:b=>{a.onPointerDown?.(b),j.current=!0},onPointerUp:aU(a.onPointerUp,a=>{j.current||a.currentTarget?.click()}),onKeyDown:aU(a.onKeyDown,a=>{let b=""!==h.searchRef.current;c||b&&" "===a.key||dK.includes(a.key)&&(a.currentTarget.click(),a.preventDefault())})})});eg.displayName=ee;var eh=o.forwardRef((a,b)=>{let{__scopeMenu:c,disabled:d=!1,textValue:e,...f}=a,g=d7(ee,c),h=dW(c),i=o.useRef(null),j=C(b,i),[k,l]=o.useState(!1),[m,p]=o.useState("");return o.useEffect(()=>{let a=i.current;a&&p((a.textContent??"").trim())},[f.children]),(0,n.jsx)(dQ.ItemSlot,{scope:c,disabled:d,textValue:e??m,children:(0,n.jsx)(c2,{asChild:!0,...h,focusable:!d,children:(0,n.jsx)(aZ.div,{role:"menuitem","data-highlighted":k?"":void 0,"aria-disabled":d||void 0,"data-disabled":d?"":void 0,...f,ref:j,onPointerMove:aU(a.onPointerMove,eE(a=>{d?g.onItemLeave(a):(g.onItemEnter(a),a.defaultPrevented||a.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:aU(a.onPointerLeave,eE(a=>g.onItemLeave(a))),onFocus:aU(a.onFocus,()=>l(!0)),onBlur:aU(a.onBlur,()=>l(!1))})})})}),ei=o.forwardRef((a,b)=>{let{checked:c=!1,onCheckedChange:d,...e}=a;return(0,n.jsx)(eq,{scope:a.__scopeMenu,checked:c,children:(0,n.jsx)(eg,{role:"menuitemcheckbox","aria-checked":eC(c)?"mixed":c,...e,ref:b,"data-state":eD(c),onSelect:aU(e.onSelect,()=>d?.(!!eC(c)||!c),{checkForDefaultPrevented:!1})})})});ei.displayName="MenuCheckboxItem";var ej="MenuRadioGroup",[ek,el]=dT(ej,{value:void 0,onValueChange:()=>{}}),em=o.forwardRef((a,b)=>{let{value:c,onValueChange:d,...e}=a,f=aW(d);return(0,n.jsx)(ek,{scope:a.__scopeMenu,value:c,onValueChange:f,children:(0,n.jsx)(ec,{...e,ref:b})})});em.displayName=ej;var en="MenuRadioItem",eo=o.forwardRef((a,b)=>{let{value:c,...d}=a,e=el(en,a.__scopeMenu),f=c===e.value;return(0,n.jsx)(eq,{scope:a.__scopeMenu,checked:f,children:(0,n.jsx)(eg,{role:"menuitemradio","aria-checked":f,...d,ref:b,"data-state":eD(f),onSelect:aU(d.onSelect,()=>e.onValueChange?.(c),{checkForDefaultPrevented:!1})})})});eo.displayName=en;var ep="MenuItemIndicator",[eq,er]=dT(ep,{checked:!1}),es=o.forwardRef((a,b)=>{let{__scopeMenu:c,forceMount:d,...e}=a,f=er(ep,c);return(0,n.jsx)(cP,{present:d||eC(f.checked)||!0===f.checked,children:(0,n.jsx)(aZ.span,{...e,ref:b,"data-state":eD(f.checked)})})});es.displayName=ep;var et=o.forwardRef((a,b)=>{let{__scopeMenu:c,...d}=a;return(0,n.jsx)(aZ.div,{role:"separator","aria-orientation":"horizontal",...d,ref:b})});et.displayName="MenuSeparator";var eu=o.forwardRef((a,b)=>{let{__scopeMenu:c,...d}=a,e=dV(c);return(0,n.jsx)(cK,{...e,...d,ref:b})});eu.displayName="MenuArrow";var[ev,ew]=dT("MenuSub"),ex="MenuSubTrigger",ey=o.forwardRef((a,b)=>{let c=dY(ex,a.__scopeMenu),d=d$(ex,a.__scopeMenu),e=ew(ex,a.__scopeMenu),f=d7(ex,a.__scopeMenu),g=o.useRef(null),{pointerGraceTimerRef:h,onPointerGraceIntentChange:i}=f,j={__scopeMenu:a.__scopeMenu},k=o.useCallback(()=>{g.current&&window.clearTimeout(g.current),g.current=null},[]);return o.useEffect(()=>k,[k]),o.useEffect(()=>{let a=h.current;return()=>{window.clearTimeout(a),i(null)}},[h,i]),(0,n.jsx)(d0,{asChild:!0,...j,children:(0,n.jsx)(eh,{id:e.triggerId,"aria-haspopup":"menu","aria-expanded":c.open,"aria-controls":e.contentId,"data-state":eB(c.open),...a,ref:B(b,e.onTriggerChange),onClick:b=>{a.onClick?.(b),a.disabled||b.defaultPrevented||(b.currentTarget.focus(),c.open||c.onOpenChange(!0))},onPointerMove:aU(a.onPointerMove,eE(b=>{f.onItemEnter(b),!b.defaultPrevented&&(a.disabled||c.open||g.current||(f.onPointerGraceIntentChange(null),g.current=window.setTimeout(()=>{c.onOpenChange(!0),k()},100)))})),onPointerLeave:aU(a.onPointerLeave,eE(a=>{k();let b=c.content?.getBoundingClientRect();if(b){let d=c.content?.dataset.side,e="right"===d,g=b[e?"left":"right"],i=b[e?"right":"left"];f.onPointerGraceIntentChange({area:[{x:a.clientX+(e?-5:5),y:a.clientY},{x:g,y:b.top},{x:i,y:b.top},{x:i,y:b.bottom},{x:g,y:b.bottom}],side:d}),window.clearTimeout(h.current),h.current=window.setTimeout(()=>f.onPointerGraceIntentChange(null),300)}else{if(f.onTriggerLeave(a),a.defaultPrevented)return;f.onPointerGraceIntentChange(null)}})),onKeyDown:aU(a.onKeyDown,b=>{let e=""!==f.searchRef.current;a.disabled||e&&" "===b.key||dN[d.dir].includes(b.key)&&(c.onOpenChange(!0),c.content?.focus(),b.preventDefault())})})})});ey.displayName=ex;var ez="MenuSubContent",eA=o.forwardRef((a,b)=>{let c=d3(d5,a.__scopeMenu),{forceMount:d=c.forceMount,...e}=a,f=dY(d5,a.__scopeMenu),g=d$(d5,a.__scopeMenu),h=ew(ez,a.__scopeMenu),i=o.useRef(null),j=C(b,i);return(0,n.jsx)(dQ.Provider,{scope:a.__scopeMenu,children:(0,n.jsx)(cP,{present:d||f.open,children:(0,n.jsx)(dQ.Slot,{scope:a.__scopeMenu,children:(0,n.jsx)(eb,{id:h.contentId,"aria-labelledby":h.triggerId,...e,ref:j,align:"start",side:"rtl"===g.dir?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:a=>{g.isUsingKeyboardRef.current&&i.current?.focus(),a.preventDefault()},onCloseAutoFocus:a=>a.preventDefault(),onFocusOutside:aU(a.onFocusOutside,a=>{a.target!==h.trigger&&f.onOpenChange(!1)}),onEscapeKeyDown:aU(a.onEscapeKeyDown,a=>{g.onClose(),a.preventDefault()}),onKeyDown:aU(a.onKeyDown,a=>{let b=a.currentTarget.contains(a.target),c=dO[g.dir].includes(a.key);b&&c&&(f.onOpenChange(!1),h.trigger?.focus(),a.preventDefault())})})})})})});function eB(a){return a?"open":"closed"}function eC(a){return"indeterminate"===a}function eD(a){return eC(a)?"indeterminate":a?"checked":"unchecked"}function eE(a){return b=>"mouse"===b.pointerType?a(b):void 0}eA.displayName=ez;var eF="DropdownMenu",[eG,eH]=aV(eF,[dU]),eI=dU(),[eJ,eK]=eG(eF),eL=a=>{let{__scopeDropdownMenu:b,children:c,dir:d,open:e,defaultOpen:f,onOpenChange:g,modal:h=!0}=a,i=eI(b),j=o.useRef(null),[k=!1,l]=aX({prop:e,defaultProp:f,onChange:g});return(0,n.jsx)(eJ,{scope:b,triggerId:bm(),triggerRef:j,contentId:bm(),open:k,onOpenChange:l,onOpenToggle:o.useCallback(()=>l(a=>!a),[l]),modal:h,children:(0,n.jsx)(d_,{...i,open:k,onOpenChange:l,dir:d,modal:h,children:c})})};eL.displayName=eF;var eM="DropdownMenuTrigger",eN=o.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,disabled:d=!1,...e}=a,f=eK(eM,c),g=eI(c);return(0,n.jsx)(d0,{asChild:!0,...g,children:(0,n.jsx)(aZ.button,{type:"button",id:f.triggerId,"aria-haspopup":"menu","aria-expanded":f.open,"aria-controls":f.open?f.contentId:void 0,"data-state":f.open?"open":"closed","data-disabled":d?"":void 0,disabled:d,...e,ref:B(b,f.triggerRef),onPointerDown:aU(a.onPointerDown,a=>{!d&&0===a.button&&!1===a.ctrlKey&&(f.onOpenToggle(),f.open||a.preventDefault())}),onKeyDown:aU(a.onKeyDown,a=>{!d&&(["Enter"," "].includes(a.key)&&f.onOpenToggle(),"ArrowDown"===a.key&&f.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(a.key)&&a.preventDefault())})})})});eN.displayName=eM;var eO=a=>{let{__scopeDropdownMenu:b,...c}=a,d=eI(b);return(0,n.jsx)(d4,{...d,...c})};eO.displayName="DropdownMenuPortal";var eP="DropdownMenuContent",eQ=o.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=eK(eP,c),f=eI(c),g=o.useRef(!1);return(0,n.jsx)(d8,{id:e.contentId,"aria-labelledby":e.triggerId,...f,...d,ref:b,onCloseAutoFocus:aU(a.onCloseAutoFocus,a=>{g.current||e.triggerRef.current?.focus(),g.current=!1,a.preventDefault()}),onInteractOutside:aU(a.onInteractOutside,a=>{let b=a.detail.originalEvent,c=0===b.button&&!0===b.ctrlKey,d=2===b.button||c;(!e.modal||d)&&(g.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)"}})});eQ.displayName=eP,o.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=eI(c);return(0,n.jsx)(ec,{...e,...d,ref:b})}).displayName="DropdownMenuGroup",o.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=eI(c);return(0,n.jsx)(ed,{...e,...d,ref:b})}).displayName="DropdownMenuLabel";var eR=o.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=eI(c);return(0,n.jsx)(eg,{...e,...d,ref:b})});eR.displayName="DropdownMenuItem";var eS=o.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=eI(c);return(0,n.jsx)(ei,{...e,...d,ref:b})});eS.displayName="DropdownMenuCheckboxItem",o.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=eI(c);return(0,n.jsx)(em,{...e,...d,ref:b})}).displayName="DropdownMenuRadioGroup",o.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=eI(c);return(0,n.jsx)(eo,{...e,...d,ref:b})}).displayName="DropdownMenuRadioItem";var eT=o.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=eI(c);return(0,n.jsx)(es,{...e,...d,ref:b})});eT.displayName="DropdownMenuItemIndicator";var eU=o.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=eI(c);return(0,n.jsx)(et,{...e,...d,ref:b})});eU.displayName="DropdownMenuSeparator",o.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=eI(c);return(0,n.jsx)(eu,{...e,...d,ref:b})}).displayName="DropdownMenuArrow",o.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=eI(c);return(0,n.jsx)(ey,{...e,...d,ref:b})}).displayName="DropdownMenuSubTrigger",o.forwardRef((a,b)=>{let{__scopeDropdownMenu:c,...d}=a,e=eI(c);return(0,n.jsx)(eA,{...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)"}})}).displayName="DropdownMenuSubContent";let eV=t("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]),eW=t("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]),eX=t("Circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);function eY({...a}){return(0,n.jsx)(eL,{"data-slot":"dropdown-menu",...a})}function eZ({...a}){return(0,n.jsx)(eN,{"data-slot":"dropdown-menu-trigger",...a})}function e$({className:a,sideOffset:b=4,...c}){return(0,n.jsx)(eO,{children:(0,n.jsx)(eQ,{"data-slot":"dropdown-menu-content",sideOffset:b,className:aQ("bg-popover text-popover-foreground 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 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md",a),...c})})}function e_({className:a,inset:b,variant:c="default",...d}){return(0,n.jsx)(eR,{"data-slot":"dropdown-menu-item","data-inset":b,"data-variant":c,className:aQ("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",a),...d})}function e0({className:a,children:b,checked:c,...d}){return(0,n.jsxs)(eS,{"data-slot":"dropdown-menu-checkbox-item",className:aQ("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",a),checked:c,...d,children:[(0,n.jsx)("span",{className:"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center",children:(0,n.jsx)(eT,{children:(0,n.jsx)(eV,{className:"size-4"})})}),b]})}function e1({className:a,...b}){return(0,n.jsx)(eU,{"data-slot":"dropdown-menu-separator",className:aQ("bg-border -mx-1 my-1 h-px",a),...b})}var e2=o.forwardRef((a,b)=>(0,n.jsx)(aZ.span,{...a,ref:b,style:{position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal",...a.style}}));e2.displayName="VisuallyHidden";var[e3,e4]=aV("Tooltip",[cy]),e5=cy(),e6="TooltipProvider",e7="tooltip.open",[e8,e9]=e3(e6),fa=a=>{let{__scopeTooltip:b,delayDuration:c=700,skipDelayDuration:d=300,disableHoverableContent:e=!1,children:f}=a,[g,h]=o.useState(!0),i=o.useRef(!1),j=o.useRef(0);return o.useEffect(()=>{let a=j.current;return()=>window.clearTimeout(a)},[]),(0,n.jsx)(e8,{scope:b,isOpenDelayed:g,delayDuration:c,onOpen:o.useCallback(()=>{window.clearTimeout(j.current),h(!1)},[]),onClose:o.useCallback(()=>{window.clearTimeout(j.current),j.current=window.setTimeout(()=>h(!0),d)},[d]),isPointerInTransitRef:i,onPointerInTransitChange:o.useCallback(a=>{i.current=a},[]),disableHoverableContent:e,children:f})};fa.displayName=e6;var fb="Tooltip",[fc,fd]=e3(fb),fe=a=>{let{__scopeTooltip:b,children:c,open:d,defaultOpen:e=!1,onOpenChange:f,disableHoverableContent:g,delayDuration:h}=a,i=e9(fb,a.__scopeTooltip),j=e5(b),[k,l]=o.useState(null),m=bm(),p=o.useRef(0),q=g??i.disableHoverableContent,r=h??i.delayDuration,s=o.useRef(!1),[t=!1,u]=aX({prop:d,defaultProp:e,onChange:a=>{a?(i.onOpen(),document.dispatchEvent(new CustomEvent(e7))):i.onClose(),f?.(a)}}),v=o.useMemo(()=>t?s.current?"delayed-open":"instant-open":"closed",[t]),w=o.useCallback(()=>{window.clearTimeout(p.current),p.current=0,s.current=!1,u(!0)},[u]),x=o.useCallback(()=>{window.clearTimeout(p.current),p.current=0,u(!1)},[u]),y=o.useCallback(()=>{window.clearTimeout(p.current),p.current=window.setTimeout(()=>{s.current=!0,u(!0),p.current=0},r)},[r,u]);return o.useEffect(()=>()=>{p.current&&(window.clearTimeout(p.current),p.current=0)},[]),(0,n.jsx)(cB,{...j,children:(0,n.jsx)(fc,{scope:b,contentId:m,open:t,stateAttribute:v,trigger:k,onTriggerChange:l,onTriggerEnter:o.useCallback(()=>{i.isOpenDelayed?y():w()},[i.isOpenDelayed,y,w]),onTriggerLeave:o.useCallback(()=>{q?x():(window.clearTimeout(p.current),p.current=0)},[x,q]),onOpen:w,onClose:x,disableHoverableContent:q,children:c})})};fe.displayName=fb;var ff="TooltipTrigger",fg=o.forwardRef((a,b)=>{let{__scopeTooltip:c,...d}=a,e=fd(ff,c),f=e9(ff,c),g=e5(c),h=C(b,o.useRef(null),e.onTriggerChange),i=o.useRef(!1),j=o.useRef(!1),k=o.useCallback(()=>i.current=!1,[]);return o.useEffect(()=>()=>document.removeEventListener("pointerup",k),[k]),(0,n.jsx)(cD,{asChild:!0,...g,children:(0,n.jsx)(aZ.button,{"aria-describedby":e.open?e.contentId:void 0,"data-state":e.stateAttribute,...d,ref:h,onPointerMove:aU(a.onPointerMove,a=>{"touch"!==a.pointerType&&(j.current||f.isPointerInTransitRef.current||(e.onTriggerEnter(),j.current=!0))}),onPointerLeave:aU(a.onPointerLeave,()=>{e.onTriggerLeave(),j.current=!1}),onPointerDown:aU(a.onPointerDown,()=>{i.current=!0,document.addEventListener("pointerup",k,{once:!0})}),onFocus:aU(a.onFocus,()=>{i.current||e.onOpen()}),onBlur:aU(a.onBlur,e.onClose),onClick:aU(a.onClick,e.onClose)})})});fg.displayName=ff;var fh="TooltipPortal",[fi,fj]=e3(fh,{forceMount:void 0}),fk=a=>{let{__scopeTooltip:b,forceMount:c,children:d,container:e}=a,f=fd(fh,b);return(0,n.jsx)(fi,{scope:b,forceMount:c,children:(0,n.jsx)(cP,{present:c||f.open,children:(0,n.jsx)(cO,{asChild:!0,container:e,children:d})})})};fk.displayName=fh;var fl="TooltipContent",fm=o.forwardRef((a,b)=>{let c=fj(fl,a.__scopeTooltip),{forceMount:d=c.forceMount,side:e="top",...f}=a,g=fd(fl,a.__scopeTooltip);return(0,n.jsx)(cP,{present:d||g.open,children:g.disableHoverableContent?(0,n.jsx)(fq,{side:e,...f,ref:b}):(0,n.jsx)(fn,{side:e,...f,ref:b})})}),fn=o.forwardRef((a,b)=>{let c=fd(fl,a.__scopeTooltip),d=e9(fl,a.__scopeTooltip),e=o.useRef(null),f=C(b,e),[g,h]=o.useState(null),{trigger:i,onClose:j}=c,k=e.current,{onPointerInTransitChange:l}=d,m=o.useCallback(()=>{h(null),l(!1)},[l]),p=o.useCallback((a,b)=>{let c,d=a.currentTarget,e={x:a.clientX,y:a.clientY},f=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")}}(e,d.getBoundingClientRect());h(((c=[...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}(e,f),...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())].slice()).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)}(c))),l(!0)},[l]);return o.useEffect(()=>()=>m(),[m]),o.useEffect(()=>{if(i&&k){let a=a=>p(a,k),b=a=>p(a,i);return i.addEventListener("pointerleave",a),k.addEventListener("pointerleave",b),()=>{i.removeEventListener("pointerleave",a),k.removeEventListener("pointerleave",b)}}},[i,k,p,m]),o.useEffect(()=>{if(g){let a=a=>{let b=a.target,c={x:a.clientX,y:a.clientY},d=i?.contains(b)||k?.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,g);d?m():e&&(m(),j())};return document.addEventListener("pointermove",a),()=>document.removeEventListener("pointermove",a)}},[i,k,g,j,m]),(0,n.jsx)(fq,{...a,ref:f})}),[fo,fp]=e3(fb,{isInside:!1}),fq=o.forwardRef((a,b)=>{let{__scopeTooltip:c,children:d,"aria-label":e,onEscapeKeyDown:f,onPointerDownOutside:g,...h}=a,i=fd(fl,c),j=e5(c),{onClose:k}=i;return o.useEffect(()=>(document.addEventListener(e7,k),()=>document.removeEventListener(e7,k)),[k]),o.useEffect(()=>{if(i.trigger){let a=a=>{let b=a.target;b?.contains(i.trigger)&&k()};return window.addEventListener("scroll",a,{capture:!0}),()=>window.removeEventListener("scroll",a,{capture:!0})}},[i.trigger,k]),(0,n.jsx)(a4,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:f,onPointerDownOutside:g,onFocusOutside:a=>a.preventDefault(),onDismiss:k,children:(0,n.jsxs)(cH,{"data-state":i.stateAttribute,...j,...h,ref:b,style:{...h.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,n.jsx)(F,{children:d}),(0,n.jsx)(fo,{scope:c,isInside:!0,children:(0,n.jsx)(e2,{id:i.contentId,role:"tooltip",children:e||d})})]})})});fm.displayName=fl;var fr="TooltipArrow",fs=o.forwardRef((a,b)=>{let{__scopeTooltip:c,...d}=a,e=e5(c);return fp(fr,c).isInside?null:(0,n.jsx)(cK,{...e,...d,ref:b})});function ft({delayDuration:a=0,...b}){return(0,n.jsx)(fa,{"data-slot":"tooltip-provider",delayDuration:a,...b})}function fu({...a}){return(0,n.jsx)(ft,{children:(0,n.jsx)(fe,{"data-slot":"tooltip",...a})})}function fv({...a}){return(0,n.jsx)(fg,{"data-slot":"tooltip-trigger",...a})}function fw({className:a,sideOffset:b=0,children:c,...d}){return(0,n.jsx)(fk,{children:(0,n.jsxs)(fm,{"data-slot":"tooltip-content",sideOffset:b,className:aQ("bg-foreground text-background 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 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",a),...d,children:[c,(0,n.jsx)(fs,{className:"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"})]})})}function fx({activeProject:a,projectName:b,projectPath:c,projects:d,onSelectProject:e,onAddProject:f,onRemoveProject:g,isLoadingProjects:h}){let[i,j]=(0,o.useState)(!1),[k,l]=(0,o.useState)(!1),[m,q]=(0,o.useState)(""),r=(0,o.useRef)(null);(0,o.useEffect)(()=>{k&&r.current&&r.current.focus()},[k]);let s=async()=>{j(!0);try{await fetch("/api/scan",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:a})}),window.location.reload()}catch(a){console.error("Scan failed:",a)}finally{j(!1)}},t=async()=>{m.trim()&&(await f(m.trim()),e(m.trim()),q(""),l(!1))};return(0,n.jsxs)("header",{className:"flex h-14 items-center justify-between border-b border-border bg-card px-4",children:[(0,n.jsxs)("div",{className:"flex items-center gap-4",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(p.default,{src:"/navgator-logo.png",alt:"NavGator",width:36,height:36,className:"rounded-lg"}),(0,n.jsx)("span",{className:"font-semibold text-foreground",children:"NavGator"})]}),(0,n.jsxs)("div",{className:"hidden items-center gap-1 text-sm text-muted-foreground md:flex",children:[(0,n.jsx)("span",{children:"/"}),(0,n.jsxs)(eY,{children:[(0,n.jsx)(eZ,{asChild:!0,children:(0,n.jsxs)(aS,{variant:"ghost",size:"sm",className:"h-auto gap-1 px-2 py-1 text-foreground",children:[h?(0,n.jsx)("span",{className:"animate-pulse",children:"Loading..."}):b||"No Project",(0,n.jsx)(w,{className:"h-3 w-3 text-muted-foreground"})]})}),(0,n.jsxs)(e$,{align:"start",className:"w-72",children:[0===d.length&&!k&&(0,n.jsx)("div",{className:"px-3 py-2 text-sm text-muted-foreground",children:"No projects registered"}),d.map(b=>(0,n.jsxs)(e_,{className:"flex items-center justify-between gap-2 py-2",onSelect:()=>e(b.path),children:[(0,n.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col",children:[(0,n.jsx)("span",{className:`text-sm font-medium truncate ${b.path===a?"text-blue-700 dark:text-blue-400":""}`,children:b.name}),(0,n.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:b.hasArchitecture?`${b.componentCount} components \xb7 ${b.lastScanFormatted||"never scanned"}`:"Not scanned yet"})]}),(0,n.jsx)(aS,{variant:"ghost",size:"sm",className:"h-5 w-5 shrink-0 p-0 text-muted-foreground hover:text-red-600",onClick:a=>{a.stopPropagation(),g(b.path)},children:(0,n.jsx)(z,{className:"h-3 w-3"})})]},b.path)),d.length>0&&(0,n.jsx)(e1,{}),k?(0,n.jsxs)("div",{className:"flex items-center gap-1 px-2 py-1.5",onClick:a=>a.stopPropagation(),children:[(0,n.jsx)(aT,{ref:r,value:m,onChange:a=>q(a.target.value),onKeyDown:a=>{"Enter"===a.key&&t(),"Escape"===a.key&&(l(!1),q(""))},placeholder:"/path/to/project",className:"h-7 text-xs"}),(0,n.jsx)(aS,{variant:"ghost",size:"sm",className:"h-7 shrink-0 px-2 text-xs",onClick:t,children:"Add"})]}):(0,n.jsxs)(e_,{onSelect:()=>l(!0),children:[(0,n.jsx)(y,{className:"mr-2 h-4 w-4"}),"Add project"]})]})]}),c&&(0,n.jsx)(ft,{children:(0,n.jsxs)(fu,{children:[(0,n.jsx)(fv,{asChild:!0,children:(0,n.jsx)(x,{className:"h-3.5 w-3.5 text-muted-foreground"})}),(0,n.jsx)(fw,{side:"bottom",className:"max-w-md",children:(0,n.jsx)("p",{className:"font-mono text-xs",children:c})})]})})]})]}),(0,n.jsxs)("div",{className:"flex items-center gap-3",children:[(0,n.jsxs)("div",{className:"relative hidden w-64 md:block",children:[(0,n.jsx)(u,{className:"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"}),(0,n.jsx)(aT,{placeholder:"Search components...",className:"h-8 bg-secondary pl-9 text-sm"})]}),(0,n.jsxs)(aS,{variant:"outline",size:"sm",onClick:s,disabled:i,className:"gap-2 bg-transparent",children:[(0,n.jsx)(v,{className:`h-4 w-4 ${i?"animate-spin":""}`}),(0,n.jsx)("span",{className:"hidden sm:inline",children:i?"Scanning...":"Scan"})]})]})]})}fs.displayName=fr;let fy=t("LayoutDashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]]),fz=t("Boxes",[["path",{d:"M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z",key:"lc1i9w"}],["path",{d:"m7 16.5-4.74-2.85",key:"1o9zyk"}],["path",{d:"m7 16.5 5-3",key:"va8pkn"}],["path",{d:"M7 16.5v5.17",key:"jnp8gn"}],["path",{d:"M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z",key:"8zsnat"}],["path",{d:"m17 16.5-5-3",key:"8arw3v"}],["path",{d:"m17 16.5 4.74-2.85",key:"8rfmw"}],["path",{d:"M17 16.5v5.17",key:"k6z78m"}],["path",{d:"M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z",key:"1xygjf"}],["path",{d:"M12 8 7.26 5.15",key:"1vbdud"}],["path",{d:"m12 8 4.74-2.85",key:"3rx089"}],["path",{d:"M12 13.5V8",key:"1io7kd"}]]),fA=t("GitBranch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]),fB=t("Target",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]]),fC=t("Share2",[["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}],["circle",{cx:"6",cy:"12",r:"3",key:"w7nqdw"}],["circle",{cx:"18",cy:"19",r:"3",key:"1xt0gg"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49",key:"47mynk"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49",key:"1n3mei"}]]),fD=t("Settings",[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),fE=t("Brain",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z",key:"ep3f8r"}],["path",{d:"M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4",key:"1p4c4q"}],["path",{d:"M17.599 6.5a3 3 0 0 0 .399-1.375",key:"tmeiqw"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M19.938 10.5a4 4 0 0 1 .585.396",key:"1qfode"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M19.967 17.484A4 4 0 0 1 18 18",key:"159ez6"}]]),fF=[{id:"overview",label:"Overview",icon:fy},{id:"components",label:"Components",icon:fz},{id:"connections",label:"Connections",icon:fA},{id:"impact",label:"Impact",icon:fB},{id:"diagram",label:"Diagram",icon:fC},{id:"llm",label:"LLM Tracking",icon:fE}];function fG({activeView:a,setActiveView:b}){return(0,n.jsx)("aside",{className:"hidden w-56 shrink-0 border-r border-border bg-sidebar md:block",children:(0,n.jsxs)("nav",{className:"flex h-full flex-col p-3",children:[(0,n.jsx)("div",{className:"space-y-1",children:fF.map(c=>(0,n.jsxs)("button",{onClick:()=>b(c.id),className:aQ("flex w-full items-center gap-3 rounded-md px-3 py-2 text-sm font-medium transition-colors",a===c.id?"bg-sidebar-accent text-sidebar-primary":"text-sidebar-foreground/70 hover:bg-sidebar-accent/50 hover:text-sidebar-foreground"),children:[(0,n.jsx)(c.icon,{className:"h-4 w-4"}),c.label,a===c.id&&(0,n.jsx)("span",{className:"ml-auto h-1.5 w-1.5 rounded-full bg-sidebar-primary"})]},c.id))}),(0,n.jsx)("div",{className:"mt-auto space-y-1 border-t border-sidebar-border pt-3",children:(0,n.jsxs)("button",{onClick:()=>b("settings"),className:aQ("flex w-full items-center gap-3 rounded-md px-3 py-2 text-sm font-medium transition-colors","settings"===a?"bg-sidebar-accent text-sidebar-primary":"text-sidebar-foreground/70 hover:bg-sidebar-accent/50 hover:text-sidebar-foreground"),children:[(0,n.jsx)(fD,{className:"h-4 w-4"}),"Settings","settings"===a&&(0,n.jsx)("span",{className:"ml-auto h-1.5 w-1.5 rounded-full bg-sidebar-primary"})]})})]})})}let fH=t("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]),fI=t("Package",[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["path",{d:"m3.3 7 7.703 4.734a2 2 0 0 0 1.994 0L20.7 7",key:"yx3hmr"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]]),fJ=t("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"}]]),fK=t("Cloud",[["path",{d:"M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z",key:"p7xjir"}]]),fL=t("Server",[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]]),fM=t("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]),fN=t("Activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]),fO=t("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]),fP=t("Info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);function fQ({className:a,...b}){return(0,n.jsx)("div",{"data-slot":"card",className:aQ("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",a),...b})}function fR({className:a,...b}){return(0,n.jsx)("div",{"data-slot":"card-header",className:aQ("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",a),...b})}function fS({className:a,...b}){return(0,n.jsx)("div",{"data-slot":"card-title",className:aQ("leading-none font-semibold",a),...b})}function fT({className:a,...b}){return(0,n.jsx)("div",{"data-slot":"card-description",className:aQ("text-muted-foreground text-sm",a),...b})}function fU({className:a,...b}){return(0,n.jsx)("div",{"data-slot":"card-content",className:aQ("px-6",a),...b})}let fV=J("inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"}},defaultVariants:{variant:"default"}});function fW({className:a,variant:b,asChild:c=!1,...d}){let e=c?D:"span";return(0,n.jsx)(e,{"data-slot":"badge",className:aQ(fV({variant:b}),a),...d})}var fX=a.i(49908);function fY(a={}){let{demoMode:b=!1,autoFetch:c=!0,projectPath:d}=a,{activeProjectPath:e}=(0,fX.useActiveProject)(),f=d||e||void 0,[g,h]=(0,o.useState)([]),[i,j]=(0,o.useState)([]),[k,l]=(0,o.useState)(null),[m,n]=(0,o.useState)(!1),[p,q]=(0,o.useState)(null),[r,s]=(0,o.useState)(null),t=(0,o.useCallback)(async(a=!1)=>{n(!0),q(null);try{let c=new URLSearchParams;b&&c.set("demo","true"),a&&c.set("refresh","true"),f&&c.set("path",f);let d=await fetch(`/api/prompts?${c.toString()}`),e=await d.json();e.success&&e.data?(h(e.data.calls),j(e.data.prompts),l(e.data.summary),s(e.source)):q(e.error||"Failed to fetch data")}catch(a){q(a instanceof Error?a.message:"Network error")}finally{n(!1)}},[b,f]),u=(0,o.useCallback)(async()=>{await t(!0)},[t]),v=(0,o.useCallback)(async a=>{n(!0),q(null);try{let b=await fetch("/api/prompts",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:a||f})}),c=await b.json();c.success&&c.data?(h(c.data.calls),j(c.data.prompts),l(c.data.summary),s(c.source)):q(c.error||"Scan failed")}catch(a){q(a instanceof Error?a.message:"Network error")}finally{n(!1)}},[f]);return(0,o.useEffect)(()=>{c&&t()},[c,t]),{calls:g,prompts:i,summary:k,isLoading:m,error:p,source:r,refresh:u,scan:v}}function fZ(a={}){let{demoMode:b=!1,autoFetch:c=!0,projectPath:d}=a,{activeProjectPath:e}=(0,fX.useActiveProject)(),f=d||e||void 0,[g,h]=(0,o.useState)([]),[i,j]=(0,o.useState)(null),[k,l]=(0,o.useState)(!1),[m,n]=(0,o.useState)(null),[p,q]=(0,o.useState)(null),r=(0,o.useCallback)(async(a=!1)=>{l(!0),n(null);try{let c=new URLSearchParams;b&&c.set("demo","true"),a&&c.set("refresh","true"),f&&c.set("path",f);let d=await fetch(`/api/components?${c.toString()}`),e=await d.json();e.success&&e.data?(h(e.data.components),j(e.data.summary),q(e.source)):n(e.error||"Failed to fetch data")}catch(a){n(a instanceof Error?a.message:"Network error")}finally{l(!1)}},[b,f]),s=(0,o.useCallback)(async()=>{await r(!0)},[r]);return(0,o.useEffect)(()=>{c&&r()},[c,r]),{components:g,summary:i,isLoading:k,error:m,source:p,refresh:s}}function f$(a={}){let{autoFetch:b=!0,projectPath:c}=a,{activeProjectPath:d}=(0,fX.useActiveProject)(),e=c||d||void 0,[f,g]=(0,o.useState)(null),[h,i]=(0,o.useState)(!1),[j,k]=(0,o.useState)(null),[l,m]=(0,o.useState)(null),n=(0,o.useCallback)(async(a=!1)=>{i(!0),k(null);try{let b=new URLSearchParams;a&&b.set("refresh","true"),e&&b.set("path",e);let c=await fetch(`/api/status?${b.toString()}`),d=await c.json();d.success&&d.data?(g(d.data),m(d.source),d.error&&k(d.error)):k(d.error||"Failed to fetch status")}catch(a){k(a instanceof Error?a.message:"Network error")}finally{i(!1)}},[e]),p=(0,o.useCallback)(async()=>{await n(!0)},[n]);return(0,o.useEffect)(()=>{b&&n()},[b,n]),{status:f,isLoading:h,error:j,source:l,refresh:p}}let f_="navgator-active-project",f0={npm:fI,pip:fI,cargo:fI,service:fK,database:fJ,queue:fL,infra:fL,framework:fz,prompt:fE},f1={npm:"text-chart-1",pip:"text-chart-1",cargo:"text-chart-1",service:"text-chart-2",database:"text-chart-3",queue:"text-chart-4",infra:"text-chart-5",framework:"text-primary",prompt:"text-info"},f2=[{label:"Run Full Scan",description:"Analyze entire codebase",icon:fN,view:"settings"},{label:"View Diagram",description:"Architecture visualization",icon:fA,view:"diagram"},{label:"Impact Analysis",description:"Check change effects",icon:fM,view:"impact"}];function f3({onSelectComponent:a,onNavigate:b,onNavigateToType:c}){let{status:d,isLoading:e,error:f}=f$({autoFetch:!0}),{components:g,summary:h,isLoading:i}=fZ({autoFetch:!0}),{calls:j,prompts:k,isLoading:l}=fY({autoFetch:!0}),m=(()=>{let a=0;for(let b of j)"unknown"===b.provider&&a++,"unknown"===b.model&&a++;for(let b of k)0===b.usedBy.length&&a++;return a})(),o=[{label:"Components",value:d?.stats.total_components?.toString()||"0",icon:fz,trend:h?.outdatedCount?`${h.outdatedCount} outdated`:void 0,view:"components"},{label:"Connections",value:d?.stats.total_connections?.toString()||"0",icon:fA,view:"connections"},{label:"LLM Calls",value:j.length.toString(),icon:fE,trend:m>0?`${m} issues`:void 0,view:"llm"},{label:"Health",value:d?.stats.vulnerable_count===0?"Good":"Issues",icon:fH,status:d?.stats.vulnerable_count===0?"success":"warning",view:"settings"}],p=Object.entries(d?.stats.components_by_type||{}).map(([a,b])=>({type:a,count:b,icon:f0[a]||fI,color:f1[a]||"text-muted-foreground"})).sort((a,b)=>b.count-a.count).slice(0,6),q=g.map(a=>({name:a.name,type:a.type,layer:a.layer,connections:a.connections})).sort((a,b)=>b.connections-a.connections).slice(0,5);if((e||i||l)&&!d)return(0,n.jsx)("div",{className:"flex h-64 items-center justify-center",children:(0,n.jsx)(fO,{className:"h-8 w-8 animate-spin text-muted-foreground"})});let r=d&&d.stats.total_components>0;return(0,n.jsxs)("div",{className:"space-y-6",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h1",{className:"text-2xl font-semibold text-foreground",children:"Architecture Status"}),(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:d?.project_name?`Overview of ${d.project_name} architecture and connections`:"Overview of your project architecture and connections"})]}),!r&&(0,n.jsxs)("div",{className:"flex items-center gap-2 rounded-lg border border-info/30 bg-info/10 p-4",children:[(0,n.jsx)(fP,{className:"h-5 w-5 text-info"}),(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{className:"text-sm font-medium text-info",children:"No scan data found"}),(0,n.jsxs)("p",{className:"text-xs text-info/80",children:["Run ",(0,n.jsx)("code",{className:"rounded bg-info/20 px-1.5 py-0.5",children:"navgator setup"})," to scan your project."]})]})]}),(0,n.jsx)("div",{className:"grid gap-4 sm:grid-cols-2 lg:grid-cols-4",children:o.map(a=>(0,n.jsx)("button",{onClick:()=>a.view&&b(a.view),className:"group text-left",children:(0,n.jsx)(fQ,{className:"bg-card transition-all duration-200 group-hover:border-primary/50 group-hover:bg-secondary/50",children:(0,n.jsxs)(fU,{className:"p-4",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsx)("div",{className:"flex h-10 w-10 items-center justify-center rounded-lg bg-secondary transition-colors group-hover:bg-primary/10",children:(0,n.jsx)(a.icon,{className:"h-5 w-5 text-primary"})}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[a.trend&&(0,n.jsx)(fW,{variant:"secondary",className:"bg-primary/10 text-primary",children:a.trend}),"success"===a.status&&(0,n.jsx)(fW,{variant:"secondary",className:"bg-success/10 text-success",children:"Healthy"}),"warning"===a.status&&(0,n.jsx)(fW,{variant:"secondary",className:"bg-warning/10 text-warning",children:"Issues"}),(0,n.jsx)(eW,{className:"h-4 w-4 text-muted-foreground opacity-0 transition-opacity group-hover:opacity-100"})]})]}),(0,n.jsxs)("div",{className:"mt-3",children:[(0,n.jsx)("p",{className:"text-2xl font-semibold text-card-foreground",children:a.value}),(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:a.label})]})]})})},a.label))}),(0,n.jsx)("div",{className:"grid gap-3 sm:grid-cols-3",children:f2.map(a=>(0,n.jsxs)("button",{onClick:()=>b(a.view),className:"group flex items-center gap-3 rounded-lg border border-border bg-card p-4 text-left transition-all hover:border-primary/50 hover:bg-secondary/50",children:[(0,n.jsx)("div",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-lg bg-secondary transition-colors group-hover:bg-primary/10",children:(0,n.jsx)(a.icon,{className:"h-5 w-5 text-primary"})}),(0,n.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,n.jsx)("p",{className:"text-sm font-medium text-card-foreground",children:a.label}),(0,n.jsx)("p",{className:"truncate text-xs text-muted-foreground",children:a.description})]}),(0,n.jsx)(eW,{className:"h-4 w-4 shrink-0 text-muted-foreground opacity-0 transition-opacity group-hover:opacity-100"})]},a.label))}),(0,n.jsxs)("div",{className:"grid gap-6 lg:grid-cols-2",children:[(0,n.jsxs)(fQ,{className:"bg-card",children:[(0,n.jsxs)(fR,{className:"flex flex-row items-center justify-between pb-3",children:[(0,n.jsx)(fS,{className:"text-base font-medium",children:"Components by Type"}),(0,n.jsx)("button",{onClick:()=>b("components"),className:"text-xs text-muted-foreground transition-colors hover:text-primary",children:"View all"})]}),(0,n.jsx)(fU,{children:0===p.length?(0,n.jsx)("p",{className:"py-4 text-center text-sm text-muted-foreground",children:"No components scanned yet"}):(0,n.jsx)("div",{className:"space-y-2",children:p.map(a=>(0,n.jsxs)("button",{onClick:()=>c?c(a.type):b("components"),className:"group flex w-full items-center gap-3 rounded-md p-2 transition-colors hover:bg-secondary",children:[(0,n.jsx)("div",{className:"flex h-8 w-8 items-center justify-center rounded bg-secondary transition-colors group-hover:bg-primary/10",children:(0,n.jsx)(a.icon,{className:`h-4 w-4 ${a.color}`})}),(0,n.jsxs)("div",{className:"flex-1",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsx)("span",{className:"text-sm font-medium text-card-foreground capitalize",children:a.type}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("span",{className:"text-sm text-muted-foreground",children:a.count}),(0,n.jsx)(eW,{className:"h-3 w-3 text-muted-foreground opacity-0 transition-opacity group-hover:opacity-100"})]})]}),(0,n.jsx)("div",{className:"mt-1 h-1.5 overflow-hidden rounded-full bg-secondary",children:(0,n.jsx)("div",{className:"h-full rounded-full bg-primary transition-all",style:{width:`${Math.min(100,a.count/Math.max(...p.map(a=>a.count),1)*100)}%`}})})]})]},a.type))})})]}),(0,n.jsxs)(fQ,{className:"bg-card",children:[(0,n.jsx)(fR,{className:"pb-3",children:(0,n.jsx)(fS,{className:"text-base font-medium",children:"Top Connected Components"})}),(0,n.jsx)(fU,{children:0===q.length?(0,n.jsx)("p",{className:"py-4 text-center text-sm text-muted-foreground",children:"No components scanned yet"}):(0,n.jsx)("div",{className:"space-y-2",children:q.map(b=>(0,n.jsxs)("button",{onClick:()=>a(b.name),className:"flex w-full items-center justify-between rounded-md px-3 py-2 text-left transition-colors hover:bg-secondary",children:[(0,n.jsxs)("div",{className:"flex items-center gap-3",children:[(0,n.jsx)("div",{className:"flex h-8 w-8 items-center justify-center rounded bg-primary/10",children:(0,n.jsx)("span",{className:"text-xs font-medium text-primary",children:b.name.slice(0,2).toUpperCase()})}),(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{className:"text-sm font-medium text-card-foreground",children:b.name}),(0,n.jsxs)("p",{className:"text-xs text-muted-foreground",children:[b.type," · ",b.layer]})]})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(fA,{className:"h-3.5 w-3.5 text-muted-foreground"}),(0,n.jsx)("span",{className:"text-sm text-muted-foreground",children:b.connections})]})]},b.name))})})]})]})]})}let f4=t("Box",[["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]]),f5=t("Filter",[["polygon",{points:"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3",key:"1yg77f"}]]),f6={npm:fI,service:fK,database:fJ,infra:fL,queue:f4,framework:f4},f7={npm:"text-chart-1",service:"text-chart-2",database:"text-chart-3",infra:"text-chart-4",queue:"text-chart-5",framework:"text-primary"};function f8({onSelectComponent:a,initialTypeFilter:b}){let{components:c,isLoading:d,source:e,refresh:f}=fZ({autoFetch:!0}),[g,h]=(0,o.useState)(""),[i,j]=(0,o.useState)(b?[b]:[]),[k,l]=(0,o.useState)([]),m=[...new Set(c.map(a=>a.type))],p=[...new Set(c.map(a=>a.layer))],q=c.filter(a=>{let b=a.name.toLowerCase().includes(g.toLowerCase()),c=0===i.length||i.includes(a.type),d=0===k.length||k.includes(a.layer);return b&&c&&d}).reduce((a,b)=>(a[b.type]||(a[b.type]=[]),a[b.type].push(b),a),{});return(0,n.jsxs)("div",{className:"space-y-6",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h1",{className:"text-2xl font-semibold text-foreground",children:"Components"}),(0,n.jsxs)("p",{className:"text-sm text-muted-foreground",children:["All detected packages, services, and infrastructure","mock"===e&&(0,n.jsx)("span",{className:"ml-2 text-info",children:"(Demo data)"})]})]}),(0,n.jsxs)(aS,{variant:"outline",size:"sm",onClick:()=>f(),disabled:d,children:[d?(0,n.jsx)(fO,{className:"h-4 w-4 animate-spin"}):(0,n.jsx)(v,{className:"h-4 w-4"}),(0,n.jsx)("span",{className:"ml-2",children:"Refresh"})]})]}),"mock"===e&&(0,n.jsxs)("div",{className:"flex items-center gap-2 rounded-lg border border-info/30 bg-info/10 p-3",children:[(0,n.jsx)(fP,{className:"h-4 w-4 text-info"}),(0,n.jsxs)("p",{className:"text-sm text-info",children:["Run ",(0,n.jsx)("code",{className:"rounded bg-info/20 px-1",children:"navgator scan"})," to scan your project for real data."]})]}),(0,n.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center",children:[(0,n.jsxs)("div",{className:"relative flex-1",children:[(0,n.jsx)(u,{className:"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"}),(0,n.jsx)(aT,{placeholder:"Filter components...",value:g,onChange:a=>h(a.target.value),className:"bg-card pl-9"})]}),(0,n.jsxs)("div",{className:"flex gap-2",children:[(0,n.jsxs)(eY,{children:[(0,n.jsx)(eZ,{asChild:!0,children:(0,n.jsxs)(aS,{variant:"outline",size:"sm",className:"gap-2 bg-transparent",children:[(0,n.jsx)(f5,{className:"h-4 w-4"}),"Type",i.length>0&&(0,n.jsx)(fW,{variant:"secondary",className:"ml-1 h-5 px-1.5",children:i.length})]})}),(0,n.jsx)(e$,{align:"end",children:m.map(a=>(0,n.jsx)(e0,{checked:i.includes(a),onCheckedChange:b=>{b?j([...i,a]):j(i.filter(b=>b!==a))},children:(0,n.jsx)("span",{className:"capitalize",children:a})},a))})]}),(0,n.jsxs)(eY,{children:[(0,n.jsx)(eZ,{asChild:!0,children:(0,n.jsxs)(aS,{variant:"outline",size:"sm",className:"gap-2 bg-transparent",children:[(0,n.jsx)(f5,{className:"h-4 w-4"}),"Layer",k.length>0&&(0,n.jsx)(fW,{variant:"secondary",className:"ml-1 h-5 px-1.5",children:k.length})]})}),(0,n.jsx)(e$,{align:"end",children:p.map(a=>(0,n.jsx)(e0,{checked:k.includes(a),onCheckedChange:b=>{b?l([...k,a]):l(k.filter(b=>b!==a))},children:(0,n.jsx)("span",{className:"capitalize",children:a})},a))})]})]})]}),(0,n.jsx)("div",{className:"grid gap-4 lg:grid-cols-2",children:Object.entries(q).map(([b,c])=>{let d=f6[b]||f4,e=f7[b]||"text-muted-foreground";return(0,n.jsxs)(fQ,{className:"bg-card",children:[(0,n.jsx)(fR,{className:"pb-2",children:(0,n.jsxs)(fS,{className:"flex items-center gap-2 text-base font-medium",children:[(0,n.jsx)(d,{className:aQ("h-4 w-4",e)}),(0,n.jsx)("span",{className:"capitalize",children:b}),(0,n.jsx)(fW,{variant:"secondary",className:"ml-auto",children:c.length})]})}),(0,n.jsx)(fU,{children:(0,n.jsx)("div",{className:"divide-y divide-border",children:c.map(b=>(0,n.jsxs)("button",{onClick:()=>a(b.name),className:"flex w-full items-center justify-between py-2.5 text-left transition-colors hover:bg-secondary/50 -mx-2 px-2 rounded",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{className:"text-sm font-medium text-card-foreground",children:b.name}),(0,n.jsxs)("p",{className:"text-xs text-muted-foreground",children:[b.version?`v${b.version}`:b.purpose," ·"," ",b.layer]})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsxs)("span",{className:"text-xs text-muted-foreground",children:[b.connections," conn"]}),(0,n.jsx)(eW,{className:"h-4 w-4 text-muted-foreground"})]})]},`${b.type}-${b.name}`))})})]},b)})})]})}let f9=t("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]),ga=t("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]),gb=t("CodeXml",[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]]),gc=t("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"}]]);var gd="Tabs",[ge,gf]=aV(gd,[cY]),gg=cY(),[gh,gi]=ge(gd),gj=o.forwardRef((a,b)=>{let{__scopeTabs:c,value:d,onValueChange:e,defaultValue:f,orientation:g="horizontal",dir:h,activationMode:i="automatic",...j}=a,k=a1(h),[l,m]=aX({prop:d,onChange:e,defaultProp:f});return(0,n.jsx)(gh,{scope:c,baseId:bm(),value:l,onValueChange:m,orientation:g,dir:k,activationMode:i,children:(0,n.jsx)(aZ.div,{dir:k,"data-orientation":g,...j,ref:b})})});gj.displayName=gd;var gk="TabsList",gl=o.forwardRef((a,b)=>{let{__scopeTabs:c,loop:d=!0,...e}=a,f=gi(gk,c),g=gg(c);return(0,n.jsx)(c_,{asChild:!0,...g,orientation:f.orientation,dir:f.dir,loop:d,children:(0,n.jsx)(aZ.div,{role:"tablist","aria-orientation":f.orientation,...e,ref:b})})});gl.displayName=gk;var gm="TabsTrigger",gn=o.forwardRef((a,b)=>{let{__scopeTabs:c,value:d,disabled:e=!1,...f}=a,g=gi(gm,c),h=gg(c),i=gq(g.baseId,d),j=gr(g.baseId,d),k=d===g.value;return(0,n.jsx)(c2,{asChild:!0,...h,focusable:!e,active:k,children:(0,n.jsx)(aZ.button,{type:"button",role:"tab","aria-selected":k,"aria-controls":j,"data-state":k?"active":"inactive","data-disabled":e?"":void 0,disabled:e,id:i,...f,ref:b,onMouseDown:aU(a.onMouseDown,a=>{e||0!==a.button||!1!==a.ctrlKey?a.preventDefault():g.onValueChange(d)}),onKeyDown:aU(a.onKeyDown,a=>{[" ","Enter"].includes(a.key)&&g.onValueChange(d)}),onFocus:aU(a.onFocus,()=>{let a="manual"!==g.activationMode;k||e||!a||g.onValueChange(d)})})})});gn.displayName=gm;var go="TabsContent",gp=o.forwardRef((a,b)=>{let{__scopeTabs:c,value:d,forceMount:e,children:f,...g}=a,h=gi(go,c),i=gq(h.baseId,d),j=gr(h.baseId,d),k=d===h.value,l=o.useRef(k);return o.useEffect(()=>{let a=requestAnimationFrame(()=>l.current=!1);return()=>cancelAnimationFrame(a)},[]),(0,n.jsx)(cP,{present:e||k,children:({present:c})=>(0,n.jsx)(aZ.div,{"data-state":k?"active":"inactive","data-orientation":h.orientation,role:"tabpanel","aria-labelledby":i,hidden:!c,id:j,tabIndex:0,...g,ref:b,style:{...a.style,animationDuration:l.current?"0s":void 0},children:c&&f})})});function gq(a,b){return`${a}-trigger-${b}`}function gr(a,b){return`${a}-content-${b}`}function gs({className:a,...b}){return(0,n.jsx)(gj,{"data-slot":"tabs",className:aQ("flex flex-col gap-2",a),...b})}function gt({className:a,...b}){return(0,n.jsx)(gl,{"data-slot":"tabs-list",className:aQ("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]",a),...b})}function gu({className:a,...b}){return(0,n.jsx)(gn,{"data-slot":"tabs-trigger",className:aQ("data-[state=active]:bg-background dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",a),...b})}function gv({className:a,...b}){return(0,n.jsx)(gp,{"data-slot":"tabs-content",className:aQ("flex-1 outline-none",a),...b})}gp.displayName=go;let gw={"service-call":"bg-chart-2/20 text-chart-2 border-chart-2/30","api-calls-db":"bg-chart-3/20 text-chart-3 border-chart-3/30","frontend-calls-api":"bg-chart-1/20 text-chart-1 border-chart-1/30","queue-triggers":"bg-chart-4/20 text-chart-4 border-chart-4/30",observes:"bg-info/20 text-info border-info/30","conforms-to":"bg-primary/20 text-primary border-primary/30",notifies:"bg-chart-5/20 text-chart-5 border-chart-5/30",stores:"bg-warning/20 text-warning border-warning/30","navigates-to":"bg-chart-1/20 text-chart-1 border-chart-1/30","requires-entitlement":"bg-destructive/20 text-destructive border-destructive/30","target-contains":"bg-chart-4/20 text-chart-4 border-chart-4/30",generates:"bg-chart-3/20 text-chart-3 border-chart-3/30",imports:"bg-muted text-muted-foreground border-muted","prompt-usage":"bg-warning/20 text-warning border-warning/30","deploys-to":"bg-info/20 text-info border-info/30","uses-package":"bg-chart-1/20 text-chart-1 border-chart-1/30",other:"bg-muted text-muted-foreground border-muted"},gx={"service-call":"Service Calls","api-calls-db":"DB Queries","frontend-calls-api":"API Calls","queue-triggers":"Queue Triggers",observes:"Observes","conforms-to":"Conforms To",notifies:"Notifies",stores:"Stores","navigates-to":"Navigates","requires-entitlement":"Entitlements","target-contains":"Target Contains",generates:"Generates",imports:"Imports","prompt-usage":"Prompt Usage","deploys-to":"Deploys To","uses-package":"Uses Package",other:"Other"};function gy({selectedComponent:a,onSelectComponent:b}){let{connections:c,isLoading:d,source:e,refresh:f}=function(a={}){let{demoMode:b=!1,autoFetch:c=!0,projectPath:d}=a,{activeProjectPath:e}=(0,fX.useActiveProject)(),f=d||e||void 0,[g,h]=(0,o.useState)([]),[i,j]=(0,o.useState)(null),[k,l]=(0,o.useState)(!1),[m,n]=(0,o.useState)(null),[p,q]=(0,o.useState)(null),r=(0,o.useCallback)(async(a=!1)=>{l(!0),n(null);try{let c=new URLSearchParams;b&&c.set("demo","true"),a&&c.set("refresh","true"),f&&c.set("path",f);let d=await fetch(`/api/connections?${c.toString()}`),e=await d.json();e.success&&e.data?(h(e.data.connections),j(e.data.summary),q(e.source)):n(e.error||"Failed to fetch data")}catch(a){n(a instanceof Error?a.message:"Network error")}finally{l(!1)}},[b,f]),s=(0,o.useCallback)(async()=>{await r(!0)},[r]);return(0,o.useEffect)(()=>{c&&r()},[c,r]),{connections:g,summary:i,isLoading:k,error:m,source:p,refresh:s}}({autoFetch:!0}),[g,h]=(0,o.useState)(""),[i,j]=(0,o.useState)("all"),k=c.filter(a=>{let b=a.from.toLowerCase().includes(g.toLowerCase())||a.to.toLowerCase().includes(g.toLowerCase())||a.symbol.toLowerCase().includes(g.toLowerCase());return"all"===i?b:b&&a.type===i}),l=c.reduce((a,b)=>(a[b.type]=(a[b.type]||0)+1,a),{}),m=Object.entries(l).sort((a,b)=>b[1]-a[1]).map(([a])=>a);return(0,n.jsxs)("div",{className:"space-y-6",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h1",{className:"text-2xl font-semibold text-foreground",children:"Connections"}),(0,n.jsxs)("p",{className:"text-sm text-muted-foreground",children:["All detected relationships between components","mock"===e&&(0,n.jsx)("span",{className:"ml-2 text-info",children:"(Demo data)"})]})]}),(0,n.jsxs)(aS,{variant:"outline",size:"sm",onClick:()=>f(),disabled:d,children:[d?(0,n.jsx)(fO,{className:"h-4 w-4 animate-spin"}):(0,n.jsx)(v,{className:"h-4 w-4"}),(0,n.jsx)("span",{className:"ml-2",children:"Refresh"})]})]}),"mock"===e&&(0,n.jsxs)("div",{className:"flex items-center gap-2 rounded-lg border border-info/30 bg-info/10 p-3",children:[(0,n.jsx)(fP,{className:"h-4 w-4 text-info"}),(0,n.jsxs)("p",{className:"text-sm text-info",children:["Run ",(0,n.jsx)("code",{className:"rounded bg-info/20 px-1",children:"navgator scan"})," to scan your project for real data."]})]}),(0,n.jsxs)("div",{className:"relative max-w-md",children:[(0,n.jsx)(u,{className:"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"}),(0,n.jsx)(aT,{placeholder:"Search connections...",value:g,onChange:a=>h(a.target.value),className:"bg-card pl-9"})]}),(0,n.jsxs)(gs,{value:i,onValueChange:j,children:[(0,n.jsxs)(gt,{className:"bg-secondary flex-wrap h-auto gap-1 p-1",children:[(0,n.jsxs)(gu,{value:"all",children:["All",(0,n.jsx)(fW,{variant:"secondary",className:"ml-2 h-5 px-1.5 bg-muted",children:k.length})]}),m.map(a=>(0,n.jsxs)(gu,{value:a,children:[gx[a]||a.replace(/-/g," "),(0,n.jsx)(fW,{variant:"secondary",className:"ml-2 h-5 px-1.5 bg-muted",children:l[a]})]},a))]}),(0,n.jsx)(gv,{value:i,className:"mt-4",children:(0,n.jsxs)("div",{className:"space-y-3",children:[k.map((a,c)=>(0,n.jsx)(fQ,{className:"bg-card transition-colors hover:bg-card/80",children:(0,n.jsxs)(fU,{className:"p-4",children:[(0,n.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2 text-sm",children:[(0,n.jsxs)("button",{onClick:()=>{b(a.from.split("/").pop()?.replace(/\.(ts|tsx|js|jsx)$/,"")||a.from)},className:"flex items-center gap-1.5 rounded bg-secondary px-2 py-1 font-mono text-xs text-foreground hover:bg-secondary/80",children:[(0,n.jsx)(gc,{className:"h-3.5 w-3.5 text-muted-foreground"}),a.from]}),(0,n.jsx)(f9,{className:"h-4 w-4 text-muted-foreground"}),(0,n.jsx)("button",{onClick:()=>b(a.to),className:"flex items-center gap-1.5 rounded bg-primary/10 px-2 py-1 font-mono text-xs text-primary hover:bg-primary/20",children:a.to})]}),(0,n.jsx)(fW,{variant:"outline",className:aQ("text-xs",gw[a.type]),children:a.type.replace(/-/g," ")})]}),(0,n.jsxs)("div",{className:"mt-3 rounded-md bg-secondary/50 p-3",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[(0,n.jsx)(gb,{className:"h-3.5 w-3.5"}),(0,n.jsx)("span",{className:"font-medium text-foreground",children:a.symbol}),(0,n.jsxs)("span",{children:["at line ",a.line]})]}),(0,n.jsx)("pre",{className:"mt-2 font-mono text-xs text-muted-foreground overflow-x-auto",children:a.code})]})]})},`${a.id}-${c}`)),0===k.length&&(0,n.jsxs)("div",{className:"flex flex-col items-center justify-center py-12 text-center",children:[(0,n.jsx)("div",{className:"flex h-12 w-12 items-center justify-center rounded-full bg-secondary",children:(0,n.jsx)(ga,{className:"h-6 w-6 text-muted-foreground"})}),(0,n.jsx)("p",{className:"mt-4 text-sm text-muted-foreground",children:"No connections found"})]})]})})]})]})}let gz=t("ArrowDownToLine",[["path",{d:"M12 17V3",key:"1cwfxf"}],["path",{d:"m6 11 6 6 6-6",key:"12ii2o"}],["path",{d:"M19 21H5",key:"150jfl"}]]),gA=t("ArrowUpFromLine",[["path",{d:"m18 9-6-6-6 6",key:"kcunyi"}],["path",{d:"M12 3v14",key:"7cf3v8"}],["path",{d:"M5 21h14",key:"11awu3"}]]);function gB({componentName:a,onSelectComponent:b}){let[c,d]=(0,o.useState)(""),[e,f]=(0,o.useState)([]),[g,h]=(0,o.useState)([]),[i,j]=(0,o.useState)(!0),[k,l]=(0,o.useState)(null);(0,o.useEffect)(()=>{!async function(){j(!0),l(null);try{let[a,b]=await Promise.all([fetch("/api/components?refresh=true"),fetch("/api/connections?refresh=true")]),c=await a.json(),d=await b.json();c.success&&c.data?.components&&f(c.data.components),d.success&&d.data?.connections&&h(d.data.connections),c.error&&l(c.error)}catch(a){l(a instanceof Error?a.message:"Failed to load data")}finally{j(!1)}}()},[]);let m=e.filter(a=>a.name.toLowerCase().includes(c.toLowerCase()));if(i)return(0,n.jsxs)("div",{className:"flex items-center justify-center py-12",children:[(0,n.jsx)(fO,{className:"h-8 w-8 animate-spin text-muted-foreground"}),(0,n.jsx)("span",{className:"ml-3 text-muted-foreground",children:"Loading components..."})]});if(k&&0===e.length)return(0,n.jsxs)("div",{className:"space-y-6",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h1",{className:"text-2xl font-semibold text-foreground",children:"Impact Analysis"}),(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:"Select a component to see what would be affected by changes"})]}),(0,n.jsx)(fQ,{className:"bg-card border-warning/50",children:(0,n.jsx)(fU,{className:"p-6",children:(0,n.jsxs)("div",{className:"flex items-start gap-3",children:[(0,n.jsx)(fM,{className:"h-5 w-5 text-warning mt-0.5"}),(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{className:"font-medium text-card-foreground",children:"No scan data found"}),(0,n.jsx)("p",{className:"text-sm text-muted-foreground mt-1",children:k}),(0,n.jsxs)("p",{className:"text-sm text-muted-foreground mt-2",children:["Run ",(0,n.jsx)("code",{className:"bg-secondary px-1.5 py-0.5 rounded text-xs",children:"navgator scan"})," in your project to generate architecture data."]})]})]})})})]});let p=a?(a=>{let b=e.find(b=>b.name===a);if(!b)return null;let c=g.filter(c=>c.toComponent===a||c.to?.includes(b.id)||c.to===a),d=g.filter(c=>c.fromComponent===a||c.from?.includes(b.id)||c.from===a);return{component:b,incoming:c,outgoing:d}})(a):null;if(!a||!p)return(0,n.jsxs)("div",{className:"space-y-6",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h1",{className:"text-2xl font-semibold text-foreground",children:"Impact Analysis"}),(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:"Select a component to see what would be affected by changes"})]}),(0,n.jsxs)("div",{className:"relative max-w-md",children:[(0,n.jsx)(u,{className:"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"}),(0,n.jsx)(aT,{placeholder:"Search components...",value:c,onChange:a=>d(a.target.value),className:"bg-card pl-9"})]}),0===m.length?(0,n.jsx)(fQ,{className:"bg-card",children:(0,n.jsx)(fU,{className:"p-6 text-center",children:(0,n.jsx)("p",{className:"text-muted-foreground",children:"No components found"})})}):(0,n.jsx)("div",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-3",children:m.map(a=>(0,n.jsxs)("button",{onClick:()=>b(a.name),className:"flex items-center gap-3 rounded-lg border border-border bg-card p-4 text-left transition-colors hover:bg-secondary",children:[(0,n.jsx)("div",{className:"flex h-10 w-10 items-center justify-center rounded-lg bg-primary/10",children:(0,n.jsx)(fB,{className:"h-5 w-5 text-primary"})}),(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{className:"font-medium text-card-foreground",children:a.name}),(0,n.jsxs)("p",{className:"text-xs text-muted-foreground",children:[a.type," · ",a.layer]})]})]},a.id))})]});let q=p.incoming.length>=5?"high":p.incoming.length>=3?"medium":"low";return(0,n.jsxs)("div",{className:"space-y-6",children:[(0,n.jsxs)("div",{className:"flex items-start justify-between",children:[(0,n.jsxs)("div",{children:[(0,n.jsxs)("div",{className:"flex items-center gap-3",children:[(0,n.jsx)("h1",{className:"text-2xl font-semibold text-foreground",children:a}),(0,n.jsxs)(fW,{variant:"outline",className:aQ("text-xs","high"===q&&"border-destructive/50 bg-destructive/10 text-destructive","medium"===q&&"border-warning/50 bg-warning/10 text-warning","low"===q&&"border-success/50 bg-success/10 text-success"),children:["high"===q&&(0,n.jsx)(fM,{className:"mr-1 h-3 w-3"}),"low"===q&&(0,n.jsx)(fH,{className:"mr-1 h-3 w-3"}),q," impact risk"]})]}),(0,n.jsxs)("p",{className:"text-sm text-muted-foreground",children:[p.component.type," · ",p.component.layer," · ",p.component.purpose||"No description"]})]}),(0,n.jsx)("button",{onClick:()=>b(""),className:"text-sm text-muted-foreground hover:text-foreground",children:"Clear selection"})]}),(0,n.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,n.jsx)(fQ,{className:"bg-card",children:(0,n.jsx)(fU,{className:"p-4",children:(0,n.jsxs)("div",{className:"flex items-center gap-3",children:[(0,n.jsx)("div",{className:"flex h-10 w-10 items-center justify-center rounded-lg bg-chart-1/10",children:(0,n.jsx)(gz,{className:"h-5 w-5 text-chart-1"})}),(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{className:"text-2xl font-semibold text-card-foreground",children:p.incoming.length}),(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:"Incoming connections"})]})]})})}),(0,n.jsx)(fQ,{className:"bg-card",children:(0,n.jsx)(fU,{className:"p-4",children:(0,n.jsxs)("div",{className:"flex items-center gap-3",children:[(0,n.jsx)("div",{className:"flex h-10 w-10 items-center justify-center rounded-lg bg-chart-2/10",children:(0,n.jsx)(gA,{className:"h-5 w-5 text-chart-2"})}),(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{className:"text-2xl font-semibold text-card-foreground",children:p.outgoing.length}),(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:"Outgoing connections"})]})]})})})]}),p.incoming.length>0&&(0,n.jsxs)(fQ,{className:"bg-card",children:[(0,n.jsxs)(fR,{className:"pb-3",children:[(0,n.jsxs)(fS,{className:"flex items-center gap-2 text-base font-medium",children:[(0,n.jsx)(gz,{className:"h-4 w-4 text-chart-1"}),"Files that USE this component",(0,n.jsx)(fW,{variant:"secondary",className:"ml-auto",children:p.incoming.length})]}),(0,n.jsxs)("p",{className:"text-xs text-muted-foreground",children:["These files may need changes if you modify ",a]})]}),(0,n.jsx)(fU,{children:(0,n.jsx)("div",{className:"space-y-3",children:p.incoming.map((a,b)=>(0,n.jsxs)("div",{className:"rounded-lg border border-border bg-secondary/30 p-3",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(gc,{className:"h-4 w-4 text-muted-foreground"}),(0,n.jsx)("span",{className:"font-mono text-sm text-foreground",children:a.from}),(0,n.jsxs)("span",{className:"text-xs text-muted-foreground",children:[":",a.line]})]}),(0,n.jsxs)("div",{className:"mt-2 flex items-center gap-2 text-xs text-muted-foreground",children:[(0,n.jsx)(gb,{className:"h-3.5 w-3.5"}),(0,n.jsx)("span",{className:"font-medium text-foreground",children:a.symbol})]}),a.code&&(0,n.jsx)("pre",{className:"mt-2 rounded bg-background p-2 font-mono text-xs text-muted-foreground overflow-x-auto",children:a.code})]},b))})})]}),p.outgoing.length>0&&(0,n.jsxs)(fQ,{className:"bg-card",children:[(0,n.jsxs)(fR,{className:"pb-3",children:[(0,n.jsxs)(fS,{className:"flex items-center gap-2 text-base font-medium",children:[(0,n.jsx)(gA,{className:"h-4 w-4 text-chart-2"}),"Components this CALLS",(0,n.jsx)(fW,{variant:"secondary",className:"ml-auto",children:p.outgoing.length})]}),(0,n.jsxs)("p",{className:"text-xs text-muted-foreground",children:["External dependencies of ",a]})]}),(0,n.jsx)(fU,{children:(0,n.jsx)("div",{className:"space-y-3",children:p.outgoing.map((a,c)=>(0,n.jsxs)("button",{onClick:()=>a.toComponent&&b(a.toComponent),className:"w-full rounded-lg border border-border bg-secondary/30 p-3 text-left transition-colors hover:bg-secondary/50",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(fW,{variant:"outline",className:"bg-primary/10 text-primary",children:a.toComponent||a.to}),(0,n.jsxs)("span",{className:"text-xs text-muted-foreground",children:[":",a.line]})]}),(0,n.jsxs)("div",{className:"mt-2 flex items-center gap-2 text-xs text-muted-foreground",children:[(0,n.jsx)(gb,{className:"h-3.5 w-3.5"}),(0,n.jsx)("span",{className:"font-medium text-foreground",children:a.symbol})]}),a.code&&(0,n.jsx)("pre",{className:"mt-2 rounded bg-background p-2 font-mono text-xs text-muted-foreground overflow-x-auto",children:a.code})]},c))})})]}),0===p.incoming.length&&0===p.outgoing.length&&(0,n.jsx)(fQ,{className:"bg-card",children:(0,n.jsx)(fU,{className:"p-6 text-center",children:(0,n.jsx)("p",{className:"text-muted-foreground",children:"No connections found for this component"})})})]})}let gC=t("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]),gD=t("ZoomIn",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65",key:"13gj7c"}],["line",{x1:"11",x2:"11",y1:"8",y2:"14",key:"1vmskp"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11",key:"durymu"}]]),gE=t("ZoomOut",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65",key:"13gj7c"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11",key:"durymu"}]]),gF=t("RotateCcw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);function gG(a,[b,c]){return Math.min(c,Math.max(b,a))}function gH(a){let b=o.useRef({value:a,previous:a});return o.useMemo(()=>(b.current.value!==a&&(b.current.previous=b.current.value,b.current.value=a),b.current.previous),[a])}var gI=[" ","Enter","ArrowUp","ArrowDown"],gJ=[" ","Enter"],gK="Select",[gL,gM,gN]=a_(gK),[gO,gP]=aV(gK,[gN,cy]),gQ=cy(),[gR,gS]=gO(gK),[gT,gU]=gO(gK),gV=a=>{let{__scopeSelect:b,children:c,open:d,defaultOpen:e,onOpenChange:f,value:g,defaultValue:h,onValueChange:i,dir:j,name:k,autoComplete:l,disabled:m,required:p,form:q}=a,r=gQ(b),[s,t]=o.useState(null),[u,v]=o.useState(null),[w,x]=o.useState(!1),y=a1(j),[z=!1,A]=aX({prop:d,defaultProp:e,onChange:f}),[B,C]=aX({prop:g,defaultProp:h,onChange:i}),D=o.useRef(null),E=!s||q||!!s.closest("form"),[F,G]=o.useState(new Set),H=Array.from(F).map(a=>a.props.value).join(";");return(0,n.jsx)(cB,{...r,children:(0,n.jsxs)(gR,{required:p,scope:b,trigger:s,onTriggerChange:t,valueNode:u,onValueNodeChange:v,valueNodeHasChildren:w,onValueNodeHasChildrenChange:x,contentId:bm(),value:B,onValueChange:C,open:z,onOpenChange:A,dir:y,triggerPointerDownPosRef:D,disabled:m,children:[(0,n.jsx)(gL.Provider,{scope:b,children:(0,n.jsx)(gT,{scope:a.__scopeSelect,onNativeOptionAdd:o.useCallback(a=>{G(b=>new Set(b).add(a))},[]),onNativeOptionRemove:o.useCallback(a=>{G(b=>{let c=new Set(b);return c.delete(a),c})},[]),children:c})}),E?(0,n.jsxs)(hu,{"aria-hidden":!0,required:p,tabIndex:-1,name:k,autoComplete:l,value:B,onChange:a=>C(a.target.value),disabled:m,form:q,children:[void 0===B?(0,n.jsx)("option",{value:""}):null,Array.from(F)]},H):null]})})};gV.displayName=gK;var gW="SelectTrigger",gX=o.forwardRef((a,b)=>{let{__scopeSelect:c,disabled:d=!1,...e}=a,f=gQ(c),g=gS(gW,c),h=g.disabled||d,i=C(b,g.onTriggerChange),j=gM(c),k=o.useRef("touch"),[l,m,p]=hv(a=>{let b=j().filter(a=>!a.disabled),c=b.find(a=>a.value===g.value),d=hw(b,a,c);void 0!==d&&g.onValueChange(d.value)}),q=a=>{h||(g.onOpenChange(!0),p()),a&&(g.triggerPointerDownPosRef.current={x:Math.round(a.pageX),y:Math.round(a.pageY)})};return(0,n.jsx)(cD,{asChild:!0,...f,children:(0,n.jsx)(aZ.button,{type:"button",role:"combobox","aria-controls":g.contentId,"aria-expanded":g.open,"aria-required":g.required,"aria-autocomplete":"none",dir:g.dir,"data-state":g.open?"open":"closed",disabled:h,"data-disabled":h?"":void 0,"data-placeholder":ht(g.value)?"":void 0,...e,ref:i,onClick:aU(e.onClick,a=>{a.currentTarget.focus(),"mouse"!==k.current&&q(a)}),onPointerDown:aU(e.onPointerDown,a=>{k.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:aU(e.onKeyDown,a=>{let b=""!==l.current;a.ctrlKey||a.altKey||a.metaKey||1!==a.key.length||m(a.key),(!b||" "!==a.key)&&gI.includes(a.key)&&(q(),a.preventDefault())})})})});gX.displayName=gW;var gY="SelectValue",gZ=o.forwardRef((a,b)=>{let{__scopeSelect:c,className:d,style:e,children:f,placeholder:g="",...h}=a,i=gS(gY,c),{onValueNodeHasChildrenChange:j}=i,k=void 0!==f,l=C(b,i.onValueNodeChange);return bj(()=>{j(k)},[j,k]),(0,n.jsx)(aZ.span,{...h,ref:l,style:{pointerEvents:"none"},children:ht(i.value)?(0,n.jsx)(n.Fragment,{children:g}):f})});gZ.displayName=gY;var g$=o.forwardRef((a,b)=>{let{__scopeSelect:c,children:d,...e}=a;return(0,n.jsx)(aZ.span,{"aria-hidden":!0,...e,ref:b,children:d||"▼"})});g$.displayName="SelectIcon";var g_=a=>(0,n.jsx)(cO,{asChild:!0,...a});g_.displayName="SelectPortal";var g0="SelectContent",g1=o.forwardRef((a,b)=>{let c=gS(g0,a.__scopeSelect),[d,e]=o.useState();return(bj(()=>{e(new DocumentFragment)},[]),c.open)?(0,n.jsx)(g4,{...a,ref:b}):d?aY.createPortal((0,n.jsx)(g2,{scope:a.__scopeSelect,children:(0,n.jsx)(gL.Slot,{scope:a.__scopeSelect,children:(0,n.jsx)("div",{children:a.children})})}),d):null});g1.displayName=g0;var[g2,g3]=gO(g0),g4=o.forwardRef((a,b)=>{let{__scopeSelect:c,position:d="item-aligned",onCloseAutoFocus:e,onEscapeKeyDown:f,onPointerDownOutside:g,side:h,sideOffset:i,align:j,alignOffset:k,arrowPadding:l,collisionBoundary:m,collisionPadding:p,sticky:q,hideWhenDetached:r,avoidCollisions:s,...t}=a,u=gS(g0,c),[v,w]=o.useState(null),[x,y]=o.useState(null),z=C(b,a=>w(a)),[A,B]=o.useState(null),[E,F]=o.useState(null),G=gM(c),[H,I]=o.useState(!1),J=o.useRef(!1);o.useEffect(()=>{if(v)return db(v)},[v]),a8();let K=o.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]),L=o.useCallback(()=>K([A,v]),[K,A,v]);o.useEffect(()=>{H&&L()},[H,L]);let{onOpenChange:M,triggerPointerDownPosRef:N}=u;o.useEffect(()=>{if(v){let a={x:0,y:0},b=b=>{a={x:Math.abs(Math.round(b.pageX)-(N.current?.x??0)),y:Math.abs(Math.round(b.pageY)-(N.current?.y??0))}},c=c=>{a.x<=10&&a.y<=10?c.preventDefault():v.contains(c.target)||M(!1),document.removeEventListener("pointermove",b),N.current=null};return null!==N.current&&(document.addEventListener("pointermove",b),document.addEventListener("pointerup",c,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",b),document.removeEventListener("pointerup",c,{capture:!0})}}},[v,M,N]),o.useEffect(()=>{let a=()=>M(!1);return window.addEventListener("blur",a),window.addEventListener("resize",a),()=>{window.removeEventListener("blur",a),window.removeEventListener("resize",a)}},[M]);let[O,P]=hv(a=>{let b=G().filter(a=>!a.disabled),c=b.find(a=>a.ref.current===document.activeElement),d=hw(b,a,c);d&&setTimeout(()=>d.ref.current.focus())}),Q=o.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]),R=o.useCallback(()=>v?.focus(),[v]),S=o.useCallback((a,b,c)=>{let d=!J.current&&!c;(void 0!==u.value&&u.value===b||d)&&F(a)},[u.value]),T="popper"===d?g6:g5,U=T===g6?{side:h,sideOffset:i,align:j,alignOffset:k,arrowPadding:l,collisionBoundary:m,collisionPadding:p,sticky:q,hideWhenDetached:r,avoidCollisions:s}:{};return(0,n.jsx)(g2,{scope:c,content:v,viewport:x,onViewportChange:y,itemRefCallback:Q,selectedItem:A,onItemLeave:R,itemTextRefCallback:S,focusSelectedItem:L,selectedItemText:E,position:d,isPositioned:H,searchRef:O,children:(0,n.jsx)(dJ,{as:D,allowPinchZoom:!0,children:(0,n.jsx)(bd,{asChild:!0,trapped:u.open,onMountAutoFocus:a=>{a.preventDefault()},onUnmountAutoFocus:aU(e,a=>{u.trigger?.focus({preventScroll:!0}),a.preventDefault()}),children:(0,n.jsx)(a4,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:f,onPointerDownOutside:g,onFocusOutside:a=>a.preventDefault(),onDismiss:()=>u.onOpenChange(!1),children:(0,n.jsx)(T,{role:"listbox",id:u.contentId,"data-state":u.open?"open":"closed",dir:u.dir,onContextMenu:a=>a.preventDefault(),...t,...U,onPlaced:()=>I(!0),ref:z,style:{display:"flex",flexDirection:"column",outline:"none",...t.style},onKeyDown:aU(t.onKeyDown,a=>{let b=a.ctrlKey||a.altKey||a.metaKey;if("Tab"===a.key&&a.preventDefault(),b||1!==a.key.length||P(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(()=>K(b)),a.preventDefault()}})})})})})})});g4.displayName="SelectContentImpl";var g5=o.forwardRef((a,b)=>{let{__scopeSelect:c,onPlaced:d,...e}=a,f=gS(g0,c),g=g3(g0,c),[h,i]=o.useState(null),[j,k]=o.useState(null),l=C(b,a=>k(a)),m=gM(c),p=o.useRef(!1),q=o.useRef(!0),{viewport:r,selectedItem:s,selectedItemText:t,focusSelectedItem:u}=g,v=o.useCallback(()=>{if(f.trigger&&f.valueNode&&h&&j&&r&&s&&t){let a=f.trigger.getBoundingClientRect(),b=j.getBoundingClientRect(),c=f.valueNode.getBoundingClientRect(),e=t.getBoundingClientRect();if("rtl"!==f.dir){let d=e.left-b.left,f=c.left-d,g=a.left-f,i=a.width+g,j=Math.max(i,b.width),k=gG(f,[10,Math.max(10,window.innerWidth-10-j)]);h.style.minWidth=i+"px",h.style.left=k+"px"}else{let d=b.right-e.right,f=window.innerWidth-c.right-d,g=window.innerWidth-a.right-f,i=a.width+g,j=Math.max(i,b.width),k=gG(f,[10,Math.max(10,window.innerWidth-10-j)]);h.style.minWidth=i+"px",h.style.right=k+"px"}let g=m(),i=window.innerHeight-20,k=r.scrollHeight,l=window.getComputedStyle(j),n=parseInt(l.borderTopWidth,10),o=parseInt(l.paddingTop,10),q=parseInt(l.borderBottomWidth,10),u=n+o+k+parseInt(l.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=n+o+(s.offsetTop+A);if(B<=z){let a=g.length>0&&s===g[g.length-1].ref.current;h.style.bottom="0px";let b=Math.max(i-z,A+(a?y:0)+(j.clientHeight-r.offsetTop-r.offsetHeight)+q);h.style.height=B+b+"px"}else{let a=g.length>0&&s===g[0].ref.current;h.style.top="0px";let b=Math.max(z,n+r.offsetTop+(a?x:0)+A);h.style.height=b+(u-B)+"px",r.scrollTop=B-z+r.offsetTop}h.style.margin="10px 0",h.style.minHeight=v+"px",h.style.maxHeight=i+"px",d?.(),requestAnimationFrame(()=>p.current=!0)}},[m,f.trigger,f.valueNode,h,j,r,s,t,f.dir,d]);bj(()=>v(),[v]);let[w,x]=o.useState();bj(()=>{j&&x(window.getComputedStyle(j).zIndex)},[j]);let y=o.useCallback(a=>{a&&!0===q.current&&(v(),u?.(),q.current=!1)},[v,u]);return(0,n.jsx)(g7,{scope:c,contentWrapper:h,shouldExpandOnScrollRef:p,onScrollButtonChange:y,children:(0,n.jsx)("div",{ref:i,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:w},children:(0,n.jsx)(aZ.div,{...e,ref:l,style:{boxSizing:"border-box",maxHeight:"100%",...e.style}})})})});g5.displayName="SelectItemAlignedPosition";var g6=o.forwardRef((a,b)=>{let{__scopeSelect:c,align:d="start",collisionPadding:e=10,...f}=a,g=gQ(c);return(0,n.jsx)(cH,{...g,...f,ref:b,align:d,collisionPadding:e,style:{boxSizing:"border-box",...f.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)"}})});g6.displayName="SelectPopperPosition";var[g7,g8]=gO(g0,{}),g9="SelectViewport",ha=o.forwardRef((a,b)=>{let{__scopeSelect:c,nonce:d,...e}=a,f=g3(g9,c),g=g8(g9,c),h=C(b,f.onViewportChange),i=o.useRef(0);return(0,n.jsxs)(n.Fragment,{children:[(0,n.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,n.jsx)(gL.Slot,{scope:c,children:(0,n.jsx)(aZ.div,{"data-radix-select-viewport":"",role:"presentation",...e,ref:h,style:{position:"relative",flex:1,overflow:"hidden auto",...e.style},onScroll:aU(e.onScroll,a=>{let b=a.currentTarget,{contentWrapper:c,shouldExpandOnScrollRef:d}=g;if(d?.current&&c){let a=Math.abs(i.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")}}}i.current=b.scrollTop})})})]})});ha.displayName=g9;var hb="SelectGroup",[hc,hd]=gO(hb);o.forwardRef((a,b)=>{let{__scopeSelect:c,...d}=a,e=bm();return(0,n.jsx)(hc,{scope:c,id:e,children:(0,n.jsx)(aZ.div,{role:"group","aria-labelledby":e,...d,ref:b})})}).displayName=hb;var he="SelectLabel";o.forwardRef((a,b)=>{let{__scopeSelect:c,...d}=a,e=hd(he,c);return(0,n.jsx)(aZ.div,{id:e.id,...d,ref:b})}).displayName=he;var hf="SelectItem",[hg,hh]=gO(hf),hi=o.forwardRef((a,b)=>{let{__scopeSelect:c,value:d,disabled:e=!1,textValue:f,...g}=a,h=gS(hf,c),i=g3(hf,c),j=h.value===d,[k,l]=o.useState(f??""),[m,p]=o.useState(!1),q=C(b,a=>i.itemRefCallback?.(a,d,e)),r=bm(),s=o.useRef("touch"),t=()=>{e||(h.onValueChange(d),h.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,n.jsx)(hg,{scope:c,value:d,disabled:e,textId:r,isSelected:j,onItemTextChange:o.useCallback(a=>{l(b=>b||(a?.textContent??"").trim())},[]),children:(0,n.jsx)(gL.ItemSlot,{scope:c,value:d,disabled:e,textValue:k,children:(0,n.jsx)(aZ.div,{role:"option","aria-labelledby":r,"data-highlighted":m?"":void 0,"aria-selected":j&&m,"data-state":j?"checked":"unchecked","aria-disabled":e||void 0,"data-disabled":e?"":void 0,tabIndex:e?void 0:-1,...g,ref:q,onFocus:aU(g.onFocus,()=>p(!0)),onBlur:aU(g.onBlur,()=>p(!1)),onClick:aU(g.onClick,()=>{"mouse"!==s.current&&t()}),onPointerUp:aU(g.onPointerUp,()=>{"mouse"===s.current&&t()}),onPointerDown:aU(g.onPointerDown,a=>{s.current=a.pointerType}),onPointerMove:aU(g.onPointerMove,a=>{s.current=a.pointerType,e?i.onItemLeave?.():"mouse"===s.current&&a.currentTarget.focus({preventScroll:!0})}),onPointerLeave:aU(g.onPointerLeave,a=>{a.currentTarget===document.activeElement&&i.onItemLeave?.()}),onKeyDown:aU(g.onKeyDown,a=>{(i.searchRef?.current===""||" "!==a.key)&&(gJ.includes(a.key)&&t()," "===a.key&&a.preventDefault())})})})})});hi.displayName=hf;var hj="SelectItemText",hk=o.forwardRef((a,b)=>{let{__scopeSelect:c,className:d,style:e,...f}=a,g=gS(hj,c),h=g3(hj,c),i=hh(hj,c),j=gU(hj,c),[k,l]=o.useState(null),m=C(b,a=>l(a),i.onItemTextChange,a=>h.itemTextRefCallback?.(a,i.value,i.disabled)),p=k?.textContent,q=o.useMemo(()=>(0,n.jsx)("option",{value:i.value,disabled:i.disabled,children:p},i.value),[i.disabled,i.value,p]),{onNativeOptionAdd:r,onNativeOptionRemove:s}=j;return bj(()=>(r(q),()=>s(q)),[r,s,q]),(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(aZ.span,{id:i.textId,...f,ref:m}),i.isSelected&&g.valueNode&&!g.valueNodeHasChildren?aY.createPortal(f.children,g.valueNode):null]})});hk.displayName=hj;var hl="SelectItemIndicator",hm=o.forwardRef((a,b)=>{let{__scopeSelect:c,...d}=a;return hh(hl,c).isSelected?(0,n.jsx)(aZ.span,{"aria-hidden":!0,...d,ref:b}):null});hm.displayName=hl;var hn="SelectScrollUpButton",ho=o.forwardRef((a,b)=>{let c=g3(hn,a.__scopeSelect),d=g8(hn,a.__scopeSelect),[e,f]=o.useState(!1),g=C(b,d.onScrollButtonChange);return bj(()=>{if(c.viewport&&c.isPositioned){let a=function(){f(b.scrollTop>0)},b=c.viewport;return a(),b.addEventListener("scroll",a),()=>b.removeEventListener("scroll",a)}},[c.viewport,c.isPositioned]),e?(0,n.jsx)(hr,{...a,ref:g,onAutoScroll:()=>{let{viewport:a,selectedItem:b}=c;a&&b&&(a.scrollTop=a.scrollTop-b.offsetHeight)}}):null});ho.displayName=hn;var hp="SelectScrollDownButton",hq=o.forwardRef((a,b)=>{let c=g3(hp,a.__scopeSelect),d=g8(hp,a.__scopeSelect),[e,f]=o.useState(!1),g=C(b,d.onScrollButtonChange);return bj(()=>{if(c.viewport&&c.isPositioned){let a=function(){let a=b.scrollHeight-b.clientHeight;f(Math.ceil(b.scrollTop)<a)},b=c.viewport;return a(),b.addEventListener("scroll",a),()=>b.removeEventListener("scroll",a)}},[c.viewport,c.isPositioned]),e?(0,n.jsx)(hr,{...a,ref:g,onAutoScroll:()=>{let{viewport:a,selectedItem:b}=c;a&&b&&(a.scrollTop=a.scrollTop+b.offsetHeight)}}):null});hq.displayName=hp;var hr=o.forwardRef((a,b)=>{let{__scopeSelect:c,onAutoScroll:d,...e}=a,f=g3("SelectScrollButton",c),g=o.useRef(null),h=gM(c),i=o.useCallback(()=>{null!==g.current&&(window.clearInterval(g.current),g.current=null)},[]);return o.useEffect(()=>()=>i(),[i]),bj(()=>{let a=h().find(a=>a.ref.current===document.activeElement);a?.ref.current?.scrollIntoView({block:"nearest"})},[h]),(0,n.jsx)(aZ.div,{"aria-hidden":!0,...e,ref:b,style:{flexShrink:0,...e.style},onPointerDown:aU(e.onPointerDown,()=>{null===g.current&&(g.current=window.setInterval(d,50))}),onPointerMove:aU(e.onPointerMove,()=>{f.onItemLeave?.(),null===g.current&&(g.current=window.setInterval(d,50))}),onPointerLeave:aU(e.onPointerLeave,()=>{i()})})});o.forwardRef((a,b)=>{let{__scopeSelect:c,...d}=a;return(0,n.jsx)(aZ.div,{"aria-hidden":!0,...d,ref:b})}).displayName="SelectSeparator";var hs="SelectArrow";function ht(a){return""===a||void 0===a}o.forwardRef((a,b)=>{let{__scopeSelect:c,...d}=a,e=gQ(c),f=gS(hs,c),g=g3(hs,c);return f.open&&"popper"===g.position?(0,n.jsx)(cK,{...e,...d,ref:b}):null}).displayName=hs;var hu=o.forwardRef((a,b)=>{let{value:c,...d}=a,e=o.useRef(null),f=C(b,e),g=gH(c);return o.useEffect(()=>{let a=e.current,b=Object.getOwnPropertyDescriptor(window.HTMLSelectElement.prototype,"value").set;if(g!==c&&b){let d=new Event("change",{bubbles:!0});b.call(a,c),a.dispatchEvent(d)}},[g,c]),(0,n.jsx)(e2,{asChild:!0,children:(0,n.jsx)("select",{...d,ref:f,defaultValue:c})})});function hv(a){let b=aW(a),c=o.useRef(""),d=o.useRef(0),e=o.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=o.useCallback(()=>{c.current="",window.clearTimeout(d.current)},[]);return o.useEffect(()=>()=>window.clearTimeout(d.current),[]),[c,e,f]}function hw(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}hu.displayName="BubbleSelect";let hx=t("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);function hy({...a}){return(0,n.jsx)(gV,{"data-slot":"select",...a})}function hz({...a}){return(0,n.jsx)(gZ,{"data-slot":"select-value",...a})}function hA({className:a,size:b="default",children:c,...d}){return(0,n.jsxs)(gX,{"data-slot":"select-trigger","data-size":b,className:aQ("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",a),...d,children:[c,(0,n.jsx)(g$,{asChild:!0,children:(0,n.jsx)(w,{className:"size-4 opacity-50"})})]})}function hB({className:a,children:b,position:c="popper",...d}){return(0,n.jsx)(g_,{children:(0,n.jsxs)(g1,{"data-slot":"select-content",className:aQ("bg-popover text-popover-foreground 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 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md","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,n.jsx)(hD,{}),(0,n.jsx)(ha,{className:aQ("p-1","popper"===c&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:b}),(0,n.jsx)(hE,{})]})})}function hC({className:a,children:b,...c}){return(0,n.jsxs)(hi,{"data-slot":"select-item",className:aQ("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",a),...c,children:[(0,n.jsx)("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,n.jsx)(hm,{children:(0,n.jsx)(eV,{className:"size-4"})})}),(0,n.jsx)(hk,{children:b})]})}function hD({className:a,...b}){return(0,n.jsx)(ho,{"data-slot":"select-scroll-up-button",className:aQ("flex cursor-default items-center justify-center py-1",a),...b,children:(0,n.jsx)(hx,{className:"size-4"})})}function hE({className:a,...b}){return(0,n.jsx)(hq,{"data-slot":"select-scroll-down-button",className:aQ("flex cursor-default items-center justify-center py-1",a),...b,children:(0,n.jsx)(w,{className:"size-4"})})}let hF=[{id:"nextjs",name:"Next.js",type:"framework",layer:"frontend"},{id:"react",name:"React",type:"npm",layer:"frontend"},{id:"payments",name:"payments.ts",type:"service",layer:"backend"},{id:"users",name:"users.ts",type:"service",layer:"backend"},{id:"postgres",name:"PostgreSQL",type:"database",layer:"database"},{id:"redis",name:"Redis",type:"database",layer:"database"},{id:"openai",name:"OpenAI",type:"llm",layer:"external"},{id:"stripe",name:"Stripe",type:"service",layer:"external"}],hG=[{id:"e1",source:"nextjs",target:"payments",type:"service-call",label:"API"},{id:"e2",source:"nextjs",target:"users",type:"service-call",label:"API"},{id:"e3",source:"payments",target:"postgres",type:"service-call",label:"query"},{id:"e4",source:"payments",target:"stripe",type:"service-call",label:"call"},{id:"e5",source:"users",target:"postgres",type:"service-call",label:"query"},{id:"e6",source:"users",target:"redis",type:"service-call",label:"cache"},{id:"e7",source:"users",target:"openai",type:"service-call",label:"call"}],hH=["frontend","backend","database","queue","infra","external"],hI={frontend:"Frontend",backend:"Backend",database:"Data Layer",queue:"Queue / Workers",infra:"Infrastructure",external:"External Services"},hJ={framework:{bg:"fill-chart-1/20",border:"stroke-chart-1",text:"fill-chart-1"},npm:{bg:"fill-chart-1/10",border:"stroke-chart-1/50",text:"fill-foreground"},service:{bg:"fill-chart-2/20",border:"stroke-chart-2",text:"fill-chart-2"},database:{bg:"fill-chart-3/20",border:"stroke-chart-3",text:"fill-chart-3"},queue:{bg:"fill-chart-4/20",border:"stroke-chart-4",text:"fill-chart-4"},llm:{bg:"fill-warning/20",border:"stroke-warning",text:"fill-warning"},infra:{bg:"fill-info/20",border:"stroke-info",text:"fill-info"}};function hK({node:a,allNodes:b,edges:c,position:d,onClose:e}){let f=(0,o.useMemo)(()=>{let a=new Map;for(let c of b)a.set(c.id,c);return a},[b]),g=c.filter(b=>b.source===a.id),h=c.filter(b=>b.target===a.id),i=a.hosts?.map(a=>f.get(a)).filter(Boolean)||[],j=a.hostedBy?f.get(a.hostedBy):null;return(0,n.jsxs)("div",{className:"absolute z-50 w-72 rounded-lg border border-border bg-card shadow-lg",style:{left:d.x,top:d.y},children:[(0,n.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-4 py-3",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("span",{className:"font-mono text-sm font-medium text-foreground",children:a.name}),a.version&&(0,n.jsxs)(fW,{variant:"outline",className:"text-xs",children:["v",a.version]})]}),(0,n.jsx)("button",{onClick:e,className:"text-muted-foreground hover:text-foreground",children:(0,n.jsx)(z,{className:"h-4 w-4"})})]}),(0,n.jsxs)("div",{className:"space-y-3 px-4 py-3",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(fW,{variant:"outline",className:"text-xs capitalize",children:a.type}),(0,n.jsx)(fW,{variant:"outline",className:"text-xs capitalize",children:a.layer})]}),a.purpose&&(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:a.purpose}),j&&(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{className:"text-xs font-medium text-muted-foreground",children:"Hosted on"}),(0,n.jsxs)("div",{className:"mt-1 flex items-center gap-1.5",children:[(0,n.jsx)(fL,{className:"h-3 w-3 text-info"}),(0,n.jsx)("span",{className:"text-xs text-foreground",children:j.name})]})]}),i.length>0&&(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{className:"text-xs font-medium text-muted-foreground",children:"Hosts"}),(0,n.jsx)("div",{className:"mt-1 flex flex-wrap gap-1",children:i.map(a=>(0,n.jsx)(fW,{variant:"outline",className:"text-xs",children:a.name},a.id))})]}),g.length>0&&(0,n.jsxs)("div",{children:[(0,n.jsxs)("p",{className:"text-xs font-medium text-muted-foreground",children:["Connects to (",g.length,")"]}),(0,n.jsxs)("div",{className:"mt-1 space-y-1",children:[g.slice(0,5).map(a=>{let b=f.get(a.target);return(0,n.jsxs)("div",{className:"flex items-center gap-1.5 text-xs text-foreground",children:[(0,n.jsx)(f9,{className:"h-3 w-3 text-muted-foreground"}),(0,n.jsx)("span",{children:b?.name||a.target}),a.label&&(0,n.jsxs)("span",{className:"text-muted-foreground",children:["(",a.label,")"]})]},a.id)}),g.length>5&&(0,n.jsxs)("p",{className:"text-xs text-muted-foreground",children:["+",g.length-5," more"]})]})]}),h.length>0&&(0,n.jsxs)("div",{children:[(0,n.jsxs)("p",{className:"text-xs font-medium text-muted-foreground",children:["Connected from (",h.length,")"]}),(0,n.jsxs)("div",{className:"mt-1 space-y-1",children:[h.slice(0,5).map(a=>{let b=f.get(a.source);return(0,n.jsxs)("div",{className:"flex items-center gap-1.5 text-xs text-foreground",children:[(0,n.jsx)(f9,{className:"h-3 w-3 rotate-180 text-muted-foreground"}),(0,n.jsx)("span",{children:b?.name||a.source}),a.label&&(0,n.jsxs)("span",{className:"text-muted-foreground",children:["(",a.label,")"]})]},a.id)}),h.length>5&&(0,n.jsxs)("p",{className:"text-xs text-muted-foreground",children:["+",h.length-5," more"]})]})]}),a.configFiles&&a.configFiles.length>0&&(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{className:"text-xs font-medium text-muted-foreground",children:"Config files"}),(0,n.jsx)("div",{className:"mt-1 space-y-0.5",children:a.configFiles.slice(0,3).map((a,b)=>(0,n.jsx)("p",{className:"truncate font-mono text-xs text-muted-foreground",children:a.split("/").pop()},b))})]}),a.tags&&a.tags.length>0&&(0,n.jsx)("div",{className:"flex flex-wrap gap-1",children:[...new Set(a.tags)].slice(0,6).map(a=>(0,n.jsx)("span",{className:"rounded bg-secondary px-1.5 py-0.5 text-xs text-muted-foreground",children:a},a))})]})]})}function hL({selectedComponent:a}){let[b,c]=(0,o.useState)(!1),[d,e]=(0,o.useState)(1),[f,g]=(0,o.useState)("TB"),[h,i]=(0,o.useState)(null),[j,k]=(0,o.useState)(!0),[l,m]=(0,o.useState)(!1),[p,q]=(0,o.useState)(!0),[r,s]=(0,o.useState)(null),t=(0,o.useRef)(null),{activeProjectPath:u}=(0,fX.useActiveProject)();(0,o.useEffect)(()=>{!async function(){k(!0);try{let a=new URLSearchParams;u&&a.set("path",u);let b=await fetch(`/api/graph?${a}`),c=await b.json();c.success&&c.data&&c.data.nodes?.length>0?(i(c.data),m(!1)):(i({nodes:hF,edges:hG}),m(!0))}catch{i({nodes:hF,edges:hG}),m(!0)}k(!1)}()},[u]);let v=h?.nodes||hF,w=h?.edges||hG,x=(0,o.useMemo)(()=>(function(a,b){let c=new Map;for(let b of a){let a=b.layer||"backend";c.has(a)||c.set(a,[]),c.get(a).push(b)}let d=hH.filter(a=>(c.get(a)?.length||0)>0),e=[],f=[],g=40;for(let a of d){let b=c.get(a)||[],d=b.slice(0,12),h=Math.max(130*d.length-20+80,200);e.push({id:a,label:hI[a]||a,x:40,y:g,width:h,height:100});d.forEach((a,b)=>{f.push({id:a.id,label:a.name,type:a.type,layer:a.layer,x:80+130*b,y:g+30,node:a})}),b.length>12&&f.push({id:`${a}_overflow`,label:`+${b.length-12} more`,type:"overflow",layer:a,x:1640,y:g+30,node:{id:`${a}_overflow`,name:`+${b.length-12} more`,type:"overflow",layer:a}}),g+=130}let h=Math.max(...e.map(a=>a.x+a.width),600)+40;return{layers:e,nodes:f,svgWidth:h,svgHeight:g+20}})(v,0),[v,f]),y=(0,o.useMemo)(()=>{let a=new Set(x.nodes.map(a=>a.id));return w.filter(b=>b.source!==b.target&&a.has(b.source)&&a.has(b.target))},[w,x.nodes]),z=(0,o.useMemo)(()=>{let a=[];for(let b of v)if(b.hosts&&b.hosts.length>0){let c=b.hosts.map(a=>v.find(b=>b.id===a)).filter(Boolean);c.length>0&&a.push({host:b,hosted:c})}return a},[v]),A=(0,o.useCallback)(()=>{let a=`flowchart ${f}
|
|
4
|
+
`,b=new Map;for(let a of v){let c=a.layer||"backend";b.has(c)||b.set(c,[]),b.get(c).push(a)}for(let[c,d]of b){let b=hI[c]||c;for(let c of(a+=` subgraph ${b}
|
|
5
|
+
`,d)){let b="database"===c.type?`[(${c.name})]`:`[${c.name}]`;a+=` ${c.id}${b}
|
|
6
|
+
`}a+=` end
|
|
7
|
+
`}for(let b of(a+="\n",y)){let c=b.label||b.type;a+=` ${b.source} -->|${c}| ${b.target}
|
|
8
|
+
`}navigator.clipboard.writeText(a),c(!0),setTimeout(()=>c(!1),2e3)},[v,y,f]),B=a=>{let b=x.nodes.find(b=>b.id===a);return b?{x:b.x,y:b.y}:null};return(0,n.jsxs)("div",{className:"space-y-6",children:[(0,n.jsx)("div",{className:"flex items-start justify-between",children:(0,n.jsxs)("div",{children:[(0,n.jsx)("h1",{className:"text-2xl font-semibold text-foreground",children:"Architecture Diagram"}),(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:l?"Demo data — run a scan to see your real architecture":`${v.length} components, ${y.length} connections`})]})}),l&&(0,n.jsxs)("div",{className:"flex items-center gap-2 rounded-lg border border-info/30 bg-info/10 p-3",children:[(0,n.jsx)(fP,{className:"h-4 w-4 text-info"}),(0,n.jsxs)("p",{className:"text-sm text-info",children:["Showing demo data. Run ",(0,n.jsx)("code",{className:"rounded bg-info/20 px-1",children:"navgator scan"})," to visualize your project."]})]}),z.length>0&&(0,n.jsx)("div",{className:"flex flex-wrap gap-3",children:z.map(a=>(0,n.jsxs)("div",{className:"flex items-center gap-2 rounded-lg border border-info/20 bg-info/5 px-3 py-1.5",children:[(0,n.jsx)(fL,{className:"h-3.5 w-3.5 text-info"}),(0,n.jsx)("span",{className:"text-xs font-medium text-foreground",children:a.host.name}),(0,n.jsx)("span",{className:"text-xs text-muted-foreground",children:"hosts"}),a.hosted.map(a=>(0,n.jsx)(fW,{variant:"outline",className:"text-xs",children:a.name},a.id))]},a.host.id))}),(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[(0,n.jsxs)("div",{className:"flex items-center gap-1 rounded-lg border border-border bg-card p-1",children:[(0,n.jsx)(aS,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",onClick:()=>e(a=>Math.max(.5,a-.1)),children:(0,n.jsx)(gE,{className:"h-4 w-4"})}),(0,n.jsxs)("span",{className:"w-12 text-center text-sm text-muted-foreground",children:[Math.round(100*d),"%"]}),(0,n.jsx)(aS,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",onClick:()=>e(a=>Math.min(2,a+.1)),children:(0,n.jsx)(gD,{className:"h-4 w-4"})}),(0,n.jsx)(aS,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",onClick:()=>e(1),children:(0,n.jsx)(gF,{className:"h-4 w-4"})})]}),(0,n.jsxs)(hy,{value:f,onValueChange:a=>g(a),children:[(0,n.jsx)(hA,{className:"w-32 bg-card",children:(0,n.jsx)(hz,{})}),(0,n.jsxs)(hB,{children:[(0,n.jsx)(hC,{value:"TB",children:"Top to Bottom"}),(0,n.jsx)(hC,{value:"LR",children:"Left to Right"})]})]}),(0,n.jsxs)(aS,{variant:p?"default":"outline",size:"sm",className:"gap-2",onClick:()=>q(!p),children:[(0,n.jsx)(f9,{className:"h-4 w-4"}),"Flow Arrows"]}),(0,n.jsx)("div",{className:"flex-1"}),(0,n.jsxs)(aS,{variant:"outline",size:"sm",className:"gap-2 bg-transparent",onClick:A,children:[b?(0,n.jsx)(eV,{className:"h-4 w-4"}):(0,n.jsx)(gC,{className:"h-4 w-4"}),b?"Copied":"Copy Mermaid"]})]}),(0,n.jsx)(fQ,{className:"bg-card overflow-hidden",children:(0,n.jsx)(fU,{className:"p-0",children:(0,n.jsx)("div",{className:"relative overflow-auto bg-background/50",style:{minHeight:400},children:j?(0,n.jsx)("div",{className:"flex h-96 items-center justify-center",children:(0,n.jsx)(fO,{className:"h-8 w-8 animate-spin text-muted-foreground"})}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("svg",{ref:t,width:x.svgWidth*d,height:x.svgHeight*d,className:"mx-auto",children:(0,n.jsxs)("g",{transform:`scale(${d})`,children:[x.layers.map(a=>(0,n.jsxs)("g",{children:[(0,n.jsx)("rect",{x:a.x,y:a.y,width:a.width,height:a.height,rx:8,className:"fill-secondary/30 stroke-border/50",strokeWidth:1,strokeDasharray:"4 2"}),(0,n.jsx)("text",{x:a.x+12,y:a.y+18,className:"fill-muted-foreground font-medium uppercase tracking-wider",style:{fontSize:10},children:a.label})]},a.id)),z.map(a=>{let b=x.nodes.find(b=>b.id===a.host.id),c=a.hosted.map(a=>x.nodes.find(b=>b.id===a.id)).filter(Boolean);if(!b||0===c.length)return null;let d=[b,...c],e=Math.min(...d.map(a=>a.x))-8,f=Math.min(...d.map(a=>a.y))-8,g=Math.max(...d.map(a=>a.x))+118,h=Math.max(...d.map(a=>a.y))+48;return(0,n.jsx)("rect",{x:e,y:f,width:g-e,height:h-f,rx:10,className:"fill-none stroke-info/40",strokeWidth:2,strokeDasharray:"6 3"},`host-${a.host.id}`)}),p&&y.map((a,b)=>{let c=B(a.source),d=B(a.target);if(!c||!d)return null;let e=c.x+55,f=c.y+20,g=d.x+55,h=d.y+20,i=(f+h)/2,j=`M ${e} ${f} C ${e} ${i}, ${g} ${i}, ${g} ${h}`;return(0,n.jsxs)("g",{children:[(0,n.jsx)("path",{d:j,className:"stroke-border",fill:"none",strokeWidth:1.5,markerEnd:"url(#arrowhead)"}),a.label&&(0,n.jsx)("text",{x:(e+g)/2,y:i-4,textAnchor:"middle",className:"fill-muted-foreground",style:{fontSize:9},children:a.label})]},b)}),(0,n.jsx)("defs",{children:(0,n.jsx)("marker",{id:"arrowhead",markerWidth:"10",markerHeight:"7",refX:"9",refY:"3.5",orient:"auto",children:(0,n.jsx)("polygon",{points:"0 0, 10 3.5, 0 7",className:"fill-border"})})}),x.nodes.map(b=>{let c=hJ[b.type]||hJ.service||{bg:"fill-secondary",border:"stroke-border",text:"fill-foreground"},d=a?.toLowerCase()===b.label.toLowerCase(),e=r?.node.id===b.id,f=b.node.hosts&&b.node.hosts.length>0;return"overflow"===b.type?(0,n.jsx)("g",{children:(0,n.jsx)("text",{x:b.x+55,y:b.y+24,textAnchor:"middle",className:"fill-muted-foreground",style:{fontSize:11},children:b.label})},b.id):(0,n.jsxs)("g",{className:"cursor-pointer",onClick:a=>((a,b)=>{if("overflow"===a.type)return;let c=t.current?.getBoundingClientRect();c&&s({node:a,x:b.clientX-c.left+10,y:b.clientY-c.top+10})})(b.node,a),children:[(0,n.jsx)("rect",{x:b.x,y:b.y,width:110,height:40,rx:6,className:`${c.bg} ${c.border} ${e?"stroke-primary stroke-[2.5]":d?"stroke-primary stroke-2":"stroke-1"}`}),f&&(0,n.jsx)("circle",{cx:b.x+104,cy:b.y+6,r:5,className:"fill-info stroke-card",strokeWidth:1.5}),(0,n.jsx)("text",{x:b.x+55,y:b.y+24,textAnchor:"middle",className:`${c.text} font-medium`,style:{fontSize:11},children:b.label.length>14?b.label.slice(0,12)+"…":b.label})]},b.id)})]})}),r&&(0,n.jsx)(hK,{node:r.node,allNodes:v,edges:w,position:{x:r.x,y:r.y},onClose:()=>s(null)})]})})})}),(0,n.jsxs)(fQ,{className:"bg-card",children:[(0,n.jsx)(fR,{className:"pb-2",children:(0,n.jsx)(fS,{className:"text-sm font-medium",children:"Legend"})}),(0,n.jsx)(fU,{children:(0,n.jsxs)("div",{className:"flex flex-wrap gap-4",children:[Object.entries(hJ).map(([a,b])=>(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("div",{className:`h-4 w-4 rounded border ${b.bg.replace("fill-","bg-")} ${b.border.replace("stroke-","border-")}`}),(0,n.jsx)("span",{className:"text-sm capitalize text-muted-foreground",children:a})]},a)),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("div",{className:"h-4 w-4 rounded border-2 border-dashed border-info/40"}),(0,n.jsx)("span",{className:"text-sm text-muted-foreground",children:"Hosting group"})]})]})})]})]})}var hM="ScrollArea",[hN,hO]=aV(hM),[hP,hQ]=hN(hM),hR=o.forwardRef((a,b)=>{let{__scopeScrollArea:c,type:d="hover",dir:e,scrollHideDelay:f=600,...g}=a,[h,i]=o.useState(null),[j,k]=o.useState(null),[l,m]=o.useState(null),[p,q]=o.useState(null),[r,s]=o.useState(null),[t,u]=o.useState(0),[v,w]=o.useState(0),[x,y]=o.useState(!1),[z,A]=o.useState(!1),B=C(b,a=>i(a)),D=a1(e);return(0,n.jsx)(hP,{scope:c,type:d,dir:D,scrollHideDelay:f,scrollArea:h,viewport:j,onViewportChange:k,content:l,onContentChange:m,scrollbarX:p,onScrollbarXChange:q,scrollbarXEnabled:x,onScrollbarXEnabledChange:y,scrollbarY:r,onScrollbarYChange:s,scrollbarYEnabled:z,onScrollbarYEnabledChange:A,onCornerWidthChange:u,onCornerHeightChange:w,children:(0,n.jsx)(aZ.div,{dir:D,...g,ref:B,style:{position:"relative","--radix-scroll-area-corner-width":t+"px","--radix-scroll-area-corner-height":v+"px",...a.style}})})});hR.displayName=hM;var hS="ScrollAreaViewport",hT=o.forwardRef((a,b)=>{let{__scopeScrollArea:c,children:d,nonce:e,...f}=a,g=hQ(hS,c),h=C(b,o.useRef(null),g.onViewportChange);return(0,n.jsxs)(n.Fragment,{children:[(0,n.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,n.jsx)(aZ.div,{"data-radix-scroll-area-viewport":"",...f,ref:h,style:{overflowX:g.scrollbarXEnabled?"scroll":"hidden",overflowY:g.scrollbarYEnabled?"scroll":"hidden",...a.style},children:(0,n.jsx)("div",{ref:g.onContentChange,style:{minWidth:"100%",display:"table"},children:d})})]})});hT.displayName=hS;var hU="ScrollAreaScrollbar",hV=o.forwardRef((a,b)=>{let{forceMount:c,...d}=a,e=hQ(hU,a.__scopeScrollArea),{onScrollbarXEnabledChange:f,onScrollbarYEnabledChange:g}=e,h="horizontal"===a.orientation;return o.useEffect(()=>(h?f(!0):g(!0),()=>{h?f(!1):g(!1)}),[h,f,g]),"hover"===e.type?(0,n.jsx)(hW,{...d,ref:b,forceMount:c}):"scroll"===e.type?(0,n.jsx)(hX,{...d,ref:b,forceMount:c}):"auto"===e.type?(0,n.jsx)(hY,{...d,ref:b,forceMount:c}):"always"===e.type?(0,n.jsx)(hZ,{...d,ref:b}):null});hV.displayName=hU;var hW=o.forwardRef((a,b)=>{let{forceMount:c,...d}=a,e=hQ(hU,a.__scopeScrollArea),[f,g]=o.useState(!1);return o.useEffect(()=>{let a=e.scrollArea,b=0;if(a){let c=()=>{window.clearTimeout(b),g(!0)},d=()=>{b=window.setTimeout(()=>g(!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,n.jsx)(cP,{present:c||f,children:(0,n.jsx)(hY,{"data-state":f?"visible":"hidden",...d,ref:b})})}),hX=o.forwardRef((a,b)=>{var c;let{forceMount:d,...e}=a,f=hQ(hU,a.__scopeScrollArea),g="horizontal"===a.orientation,h=ig(()=>j("SCROLL_END"),100),[i,j]=(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"}},o.useReducer((a,b)=>c[a][b]??a,"hidden"));return o.useEffect(()=>{if("idle"===i){let a=window.setTimeout(()=>j("HIDE"),f.scrollHideDelay);return()=>window.clearTimeout(a)}},[i,f.scrollHideDelay,j]),o.useEffect(()=>{let a=f.viewport,b=g?"scrollLeft":"scrollTop";if(a){let c=a[b],d=()=>{let d=a[b];c!==d&&(j("SCROLL"),h()),c=d};return a.addEventListener("scroll",d),()=>a.removeEventListener("scroll",d)}},[f.viewport,g,j,h]),(0,n.jsx)(cP,{present:d||"hidden"!==i,children:(0,n.jsx)(hZ,{"data-state":"hidden"===i?"hidden":"visible",...e,ref:b,onPointerEnter:aU(a.onPointerEnter,()=>j("POINTER_ENTER")),onPointerLeave:aU(a.onPointerLeave,()=>j("POINTER_LEAVE"))})})}),hY=o.forwardRef((a,b)=>{let c=hQ(hU,a.__scopeScrollArea),{forceMount:d,...e}=a,[f,g]=o.useState(!1),h="horizontal"===a.orientation,i=ig(()=>{if(c.viewport){let a=c.viewport.offsetWidth<c.viewport.scrollWidth,b=c.viewport.offsetHeight<c.viewport.scrollHeight;g(h?a:b)}},10);return ih(c.viewport,i),ih(c.content,i),(0,n.jsx)(cP,{present:d||f,children:(0,n.jsx)(hZ,{"data-state":f?"visible":"hidden",...e,ref:b})})}),hZ=o.forwardRef((a,b)=>{let{orientation:c="vertical",...d}=a,e=hQ(hU,a.__scopeScrollArea),f=o.useRef(null),g=o.useRef(0),[h,i]=o.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),j=ia(h.viewport,h.content),k={...d,sizes:h,onSizesChange:i,hasThumb:!!(j>0&&j<1),onThumbChange:a=>f.current=a,onThumbPointerUp:()=>g.current=0,onThumbPointerDown:a=>g.current=a};function l(a,b){return function(a,b,c,d="ltr"){let e=ib(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 id([g,h],"ltr"===d?[0,i]:[-1*i,0])(a)}(a,g.current,h,b)}return"horizontal"===c?(0,n.jsx)(h$,{...k,ref:b,onThumbPositionChange:()=>{if(e.viewport&&f.current){let a=ic(e.viewport.scrollLeft,h,e.dir);f.current.style.transform=`translate3d(${a}px, 0, 0)`}},onWheelScroll:a=>{e.viewport&&(e.viewport.scrollLeft=a)},onDragScroll:a=>{e.viewport&&(e.viewport.scrollLeft=l(a,e.dir))}}):"vertical"===c?(0,n.jsx)(h_,{...k,ref:b,onThumbPositionChange:()=>{if(e.viewport&&f.current){let a=ic(e.viewport.scrollTop,h);f.current.style.transform=`translate3d(0, ${a}px, 0)`}},onWheelScroll:a=>{e.viewport&&(e.viewport.scrollTop=a)},onDragScroll:a=>{e.viewport&&(e.viewport.scrollTop=l(a))}}):null}),h$=o.forwardRef((a,b)=>{let{sizes:c,onSizesChange:d,...e}=a,f=hQ(hU,a.__scopeScrollArea),[g,h]=o.useState(),i=o.useRef(null),j=C(b,i,f.onScrollbarXChange);return o.useEffect(()=>{i.current&&h(getComputedStyle(i.current))},[i]),(0,n.jsx)(h2,{"data-orientation":"horizontal",...e,ref:j,sizes:c,style:{bottom:0,left:"rtl"===f.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===f.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":ib(c)+"px",...a.style},onThumbPointerDown:b=>a.onThumbPointerDown(b.x),onDragScroll:b=>a.onDragScroll(b.x),onWheelScroll:(b,c)=>{if(f.viewport){var d,e;let g=f.viewport.scrollLeft+b.deltaX;a.onWheelScroll(g),d=g,e=c,d>0&&d<e&&b.preventDefault()}},onResize:()=>{i.current&&f.viewport&&g&&d({content:f.viewport.scrollWidth,viewport:f.viewport.offsetWidth,scrollbar:{size:i.current.clientWidth,paddingStart:h9(g.paddingLeft),paddingEnd:h9(g.paddingRight)}})}})}),h_=o.forwardRef((a,b)=>{let{sizes:c,onSizesChange:d,...e}=a,f=hQ(hU,a.__scopeScrollArea),[g,h]=o.useState(),i=o.useRef(null),j=C(b,i,f.onScrollbarYChange);return o.useEffect(()=>{i.current&&h(getComputedStyle(i.current))},[i]),(0,n.jsx)(h2,{"data-orientation":"vertical",...e,ref:j,sizes:c,style:{top:0,right:"ltr"===f.dir?0:void 0,left:"rtl"===f.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":ib(c)+"px",...a.style},onThumbPointerDown:b=>a.onThumbPointerDown(b.y),onDragScroll:b=>a.onDragScroll(b.y),onWheelScroll:(b,c)=>{if(f.viewport){var d,e;let g=f.viewport.scrollTop+b.deltaY;a.onWheelScroll(g),d=g,e=c,d>0&&d<e&&b.preventDefault()}},onResize:()=>{i.current&&f.viewport&&g&&d({content:f.viewport.scrollHeight,viewport:f.viewport.offsetHeight,scrollbar:{size:i.current.clientHeight,paddingStart:h9(g.paddingTop),paddingEnd:h9(g.paddingBottom)}})}})}),[h0,h1]=hN(hU),h2=o.forwardRef((a,b)=>{let{__scopeScrollArea:c,sizes:d,hasThumb:e,onThumbChange:f,onThumbPointerUp:g,onThumbPointerDown:h,onThumbPositionChange:i,onDragScroll:j,onWheelScroll:k,onResize:l,...m}=a,p=hQ(hU,c),[q,r]=o.useState(null),s=C(b,a=>r(a)),t=o.useRef(null),u=o.useRef(""),v=p.viewport,w=d.content-d.viewport,x=aW(k),y=aW(i),z=ig(l,10);function A(a){t.current&&j({x:a.clientX-t.current.left,y:a.clientY-t.current.top})}return o.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]),o.useEffect(y,[d,y]),ih(q,z),ih(p.content,z),(0,n.jsx)(h0,{scope:c,scrollbar:q,hasThumb:e,onThumbChange:aW(f),onThumbPointerUp:aW(g),onThumbPositionChange:y,onThumbPointerDown:aW(h),children:(0,n.jsx)(aZ.div,{...m,ref:s,style:{position:"absolute",...m.style},onPointerDown:aU(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:aU(a.onPointerMove,A),onPointerUp:aU(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})})})}),h3="ScrollAreaThumb",h4=o.forwardRef((a,b)=>{let{forceMount:c,...d}=a,e=h1(h3,a.__scopeScrollArea);return(0,n.jsx)(cP,{present:c||e.hasThumb,children:(0,n.jsx)(h5,{ref:b,...d})})}),h5=o.forwardRef((a,b)=>{let{__scopeScrollArea:c,style:d,...e}=a,f=hQ(h3,c),g=h1(h3,c),{onThumbPositionChange:h}=g,i=C(b,a=>g.onThumbChange(a)),j=o.useRef(void 0),k=ig(()=>{j.current&&(j.current(),j.current=void 0)},100);return o.useEffect(()=>{let a=f.viewport;if(a){let b=()=>{k(),j.current||(j.current=ie(a,h),h())};return h(),a.addEventListener("scroll",b),()=>a.removeEventListener("scroll",b)}},[f.viewport,k,h]),(0,n.jsx)(aZ.div,{"data-state":g.hasThumb?"visible":"hidden",...e,ref:i,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...d},onPointerDownCapture:aU(a.onPointerDownCapture,a=>{let b=a.target.getBoundingClientRect(),c=a.clientX-b.left,d=a.clientY-b.top;g.onThumbPointerDown({x:c,y:d})}),onPointerUp:aU(a.onPointerUp,g.onThumbPointerUp)})});h4.displayName=h3;var h6="ScrollAreaCorner",h7=o.forwardRef((a,b)=>{let c=hQ(h6,a.__scopeScrollArea),d=!!(c.scrollbarX&&c.scrollbarY);return"scroll"!==c.type&&d?(0,n.jsx)(h8,{...a,ref:b}):null});h7.displayName=h6;var h8=o.forwardRef((a,b)=>{let{__scopeScrollArea:c,...d}=a,e=hQ(h6,c),[f,g]=o.useState(0),[h,i]=o.useState(0),j=!!(f&&h);return ih(e.scrollbarX,()=>{let a=e.scrollbarX?.offsetHeight||0;e.onCornerHeightChange(a),i(a)}),ih(e.scrollbarY,()=>{let a=e.scrollbarY?.offsetWidth||0;e.onCornerWidthChange(a),g(a)}),j?(0,n.jsx)(aZ.div,{...d,ref:b,style:{width:f,height:h,position:"absolute",right:"ltr"===e.dir?0:void 0,left:"rtl"===e.dir?0:void 0,bottom:0,...a.style}}):null});function h9(a){return a?parseInt(a,10):0}function ia(a,b){let c=a/b;return isNaN(c)?0:c}function ib(a){let b=ia(a.viewport,a.content),c=a.scrollbar.paddingStart+a.scrollbar.paddingEnd;return Math.max((a.scrollbar.size-c)*b,18)}function ic(a,b,c="ltr"){let d=ib(b),e=b.scrollbar.paddingStart+b.scrollbar.paddingEnd,f=b.scrollbar.size-e,g=b.content-b.viewport,h=gG(a,"ltr"===c?[0,g]:[-1*g,0]);return id([0,g],[0,f-d])(h)}function id(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 ie=(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 ig(a,b){let c=aW(a),d=o.useRef(0);return o.useEffect(()=>()=>window.clearTimeout(d.current),[]),o.useCallback(()=>{window.clearTimeout(d.current),d.current=window.setTimeout(c,b)},[c,b])}function ih(a,b){let c=aW(b);bj(()=>{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])}function ii({className:a,children:b,...c}){return(0,n.jsxs)(hR,{"data-slot":"scroll-area",className:aQ("relative",a),...c,children:[(0,n.jsx)(hT,{"data-slot":"scroll-area-viewport",className:"focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1",children:b}),(0,n.jsx)(ij,{}),(0,n.jsx)(h7,{})]})}function ij({className:a,orientation:b="vertical",...c}){return(0,n.jsx)(hV,{"data-slot":"scroll-area-scrollbar",orientation:b,className:aQ("flex touch-none p-px transition-colors select-none","vertical"===b&&"h-full w-2.5 border-l border-l-transparent","horizontal"===b&&"h-2.5 flex-col border-t border-t-transparent",a),...c,children:(0,n.jsx)(h4,{"data-slot":"scroll-area-thumb",className:"bg-border relative flex-1 rounded-full"})})}var ik="Dialog",[il,im]=aV(ik),[io,ip]=il(ik),iq=a=>{let{__scopeDialog:b,children:c,open:d,defaultOpen:e,onOpenChange:f,modal:g=!0}=a,h=o.useRef(null),i=o.useRef(null),[j=!1,k]=aX({prop:d,defaultProp:e,onChange:f});return(0,n.jsx)(io,{scope:b,triggerRef:h,contentRef:i,contentId:bm(),titleId:bm(),descriptionId:bm(),open:j,onOpenChange:k,onOpenToggle:o.useCallback(()=>k(a=>!a),[k]),modal:g,children:c})};iq.displayName=ik;var ir="DialogTrigger";o.forwardRef((a,b)=>{let{__scopeDialog:c,...d}=a,e=ip(ir,c),f=C(b,e.triggerRef);return(0,n.jsx)(aZ.button,{type:"button","aria-haspopup":"dialog","aria-expanded":e.open,"aria-controls":e.contentId,"data-state":iJ(e.open),...d,ref:f,onClick:aU(a.onClick,e.onOpenToggle)})}).displayName=ir;var is="DialogPortal",[it,iu]=il(is,{forceMount:void 0}),iv=a=>{let{__scopeDialog:b,forceMount:c,children:d,container:e}=a,f=ip(is,b);return(0,n.jsx)(it,{scope:b,forceMount:c,children:o.Children.map(d,a=>(0,n.jsx)(cP,{present:c||f.open,children:(0,n.jsx)(cO,{asChild:!0,container:e,children:a})}))})};iv.displayName=is;var iw="DialogOverlay",ix=o.forwardRef((a,b)=>{let c=iu(iw,a.__scopeDialog),{forceMount:d=c.forceMount,...e}=a,f=ip(iw,a.__scopeDialog);return f.modal?(0,n.jsx)(cP,{present:d||f.open,children:(0,n.jsx)(iy,{...e,ref:b})}):null});ix.displayName=iw;var iy=o.forwardRef((a,b)=>{let{__scopeDialog:c,...d}=a,e=ip(iw,c);return(0,n.jsx)(dJ,{as:D,allowPinchZoom:!0,shards:[e.contentRef],children:(0,n.jsx)(aZ.div,{"data-state":iJ(e.open),...d,ref:b,style:{pointerEvents:"auto",...d.style}})})}),iz="DialogContent",iA=o.forwardRef((a,b)=>{let c=iu(iz,a.__scopeDialog),{forceMount:d=c.forceMount,...e}=a,f=ip(iz,a.__scopeDialog);return(0,n.jsx)(cP,{present:d||f.open,children:f.modal?(0,n.jsx)(iB,{...e,ref:b}):(0,n.jsx)(iC,{...e,ref:b})})});iA.displayName=iz;var iB=o.forwardRef((a,b)=>{let c=ip(iz,a.__scopeDialog),d=o.useRef(null),e=C(b,c.contentRef,d);return o.useEffect(()=>{let a=d.current;if(a)return db(a)},[]),(0,n.jsx)(iD,{...a,ref:e,trapFocus:c.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:aU(a.onCloseAutoFocus,a=>{a.preventDefault(),c.triggerRef.current?.focus()}),onPointerDownOutside:aU(a.onPointerDownOutside,a=>{let b=a.detail.originalEvent,c=0===b.button&&!0===b.ctrlKey;(2===b.button||c)&&a.preventDefault()}),onFocusOutside:aU(a.onFocusOutside,a=>a.preventDefault())})}),iC=o.forwardRef((a,b)=>{let c=ip(iz,a.__scopeDialog),d=o.useRef(!1),e=o.useRef(!1);return(0,n.jsx)(iD,{...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()}})}),iD=o.forwardRef((a,b)=>{let{__scopeDialog:c,trapFocus:d,onOpenAutoFocus:e,onCloseAutoFocus:f,...g}=a,h=ip(iz,c),i=o.useRef(null),j=C(b,i);return a8(),(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(bd,{asChild:!0,loop:!0,trapped:d,onMountAutoFocus:e,onUnmountAutoFocus:f,children:(0,n.jsx)(a4,{role:"dialog",id:h.contentId,"aria-describedby":h.descriptionId,"aria-labelledby":h.titleId,"data-state":iJ(h.open),...g,ref:j,onDismiss:()=>h.onOpenChange(!1)})}),(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(iN,{titleId:h.titleId}),(0,n.jsx)(iO,{contentRef:i,descriptionId:h.descriptionId})]})]})}),iE="DialogTitle",iF=o.forwardRef((a,b)=>{let{__scopeDialog:c,...d}=a,e=ip(iE,c);return(0,n.jsx)(aZ.h2,{id:e.titleId,...d,ref:b})});iF.displayName=iE;var iG="DialogDescription";o.forwardRef((a,b)=>{let{__scopeDialog:c,...d}=a,e=ip(iG,c);return(0,n.jsx)(aZ.p,{id:e.descriptionId,...d,ref:b})}).displayName=iG;var iH="DialogClose",iI=o.forwardRef((a,b)=>{let{__scopeDialog:c,...d}=a,e=ip(iH,c);return(0,n.jsx)(aZ.button,{type:"button",...d,ref:b,onClick:aU(a.onClick,()=>e.onOpenChange(!1))})});function iJ(a){return a?"open":"closed"}iI.displayName=iH;var iK="DialogTitleWarning",[iL,iM]=(k={contentName:iz,titleName:iE,docsSlug:"dialog"},b=o.createContext(k),(c=a=>{let{children:c,...d}=a,e=o.useMemo(()=>d,Object.values(d));return(0,n.jsx)(b.Provider,{value:e,children:c})}).displayName=iK+"Provider",[c,function(a){let c=o.useContext(b);if(c)return c;if(void 0!==k)return k;throw Error(`\`${a}\` must be used within \`${iK}\``)}]),iN=({titleId:a})=>{let b=iM(iK),c=`\`${b.contentName}\` requires a \`${b.titleName}\` for the component to be accessible for screen reader users.
|
|
9
|
+
|
|
10
|
+
If you want to hide the \`${b.titleName}\`, you can wrap it with our VisuallyHidden component.
|
|
11
|
+
|
|
12
|
+
For more information, see https://radix-ui.com/primitives/docs/components/${b.docsSlug}`;return o.useEffect(()=>{a&&(document.getElementById(a)||console.error(c))},[c,a]),null},iO=({contentRef:a,descriptionId:b})=>{let c=iM("DialogDescriptionWarning"),d=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${c.contentName}}.`;return o.useEffect(()=>{let c=a.current?.getAttribute("aria-describedby");b&&c&&(document.getElementById(b)||console.warn(d))},[d,a,b]),null};function iP({...a}){return(0,n.jsx)(iq,{"data-slot":"sheet",...a})}function iQ({...a}){return(0,n.jsx)(iv,{"data-slot":"sheet-portal",...a})}function iR({className:a,...b}){return(0,n.jsx)(ix,{"data-slot":"sheet-overlay",className:aQ("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",a),...b})}function iS({className:a,children:b,side:c="right",...d}){return(0,n.jsxs)(iQ,{children:[(0,n.jsx)(iR,{}),(0,n.jsxs)(iA,{"data-slot":"sheet-content",className:aQ("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500","right"===c&&"data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm","left"===c&&"data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm","top"===c&&"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b","bottom"===c&&"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t",a),...d,children:[b,(0,n.jsxs)(iI,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none",children:[(0,n.jsx)(z,{className:"size-4"}),(0,n.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function iT({className:a,...b}){return(0,n.jsx)("div",{"data-slot":"sheet-header",className:aQ("flex flex-col gap-1.5 p-4",a),...b})}function iU({className:a,...b}){return(0,n.jsx)(iF,{"data-slot":"sheet-title",className:aQ("text-foreground font-semibold",a),...b})}let iV=t("MessageSquare",[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}]]),iW=t("FileText",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]),iX=t("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),iY=t("ArrowDown",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]),iZ=t("Layers",[["path",{d:"m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z",key:"8b97xw"}],["path",{d:"m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65",key:"dd6zsq"}],["path",{d:"m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65",key:"ep9fru"}]]),i$={chat:"bg-info/20 text-info border-info/30",completion:"bg-primary/20 text-primary border-primary/30",embedding:"bg-chart-3/20 text-chart-3 border-chart-3/30",function:"bg-chart-4/20 text-chart-4 border-chart-4/30",agent:"bg-warning/20 text-warning border-warning/30",image:"bg-chart-3/20 text-chart-3 border-chart-3/30",audio:"bg-chart-4/20 text-chart-4 border-chart-4/30"},i_={system:"bg-info/20 text-info border-info/30",user:"bg-primary/20 text-primary border-primary/30",assistant:"bg-chart-3/20 text-chart-3 border-chart-3/30",function:"bg-chart-4/20 text-chart-4 border-chart-4/30"};function i0(){let a,{calls:b,prompts:c,summary:d,isLoading:e,error:f,source:g,refresh:h,scan:i}=fY({autoFetch:!0}),[j,k]=(0,o.useState)(""),[l,m]=(0,o.useState)(null),[p,q]=(0,o.useState)(null),[r,s]=(0,o.useState)(new Set),[t,x]=(0,o.useState)(null),[y,A]=(0,o.useState)("all"),[B,C]=(0,o.useState)("all"),[D,E]=(0,o.useState)("calls"),[F,G]=(0,o.useState)(null),[H,I]=(0,o.useState)(new Set),[J,K]=(0,o.useState)(new Set),[L,M]=(0,o.useState)(null),N=a=>{M(a),E("prompts");let b=c.find(b=>b.file===a);b&&q(b)},O=b.filter(a=>{let b=a.name.toLowerCase().includes(j.toLowerCase())||a.model.toLowerCase().includes(j.toLowerCase())||a.file.toLowerCase().includes(j.toLowerCase()),c="all"===y||a.category===y,d="all"===B||a.provider===B;return b&&c&&d}),P=c.filter(a=>{let b=a.name.toLowerCase().includes(j.toLowerCase())||a.content.toLowerCase().includes(j.toLowerCase())||a.file.toLowerCase().includes(j.toLowerCase()),c=!L||a.file===L;return b&&c}),Q=(a,b)=>{navigator.clipboard.writeText(a),x(b),setTimeout(()=>x(null),2e3)},R=[...new Set(b.map(a=>a.provider))],S=[...new Set(b.map(a=>a.category))],T=new Set(b.map(a=>a.file)).size,U=(0,o.useMemo)(()=>{let a=[];for(let c of b)"unknown"===c.provider&&a.push({type:"unknown-provider",message:`${c.name}: unknown provider`,id:c.id,tab:"calls"}),"unknown"===c.model&&a.push({type:"unknown-model",message:`${c.name}: unknown model`,id:c.id,tab:"calls"}),c.promptTemplate||c.systemPrompt||a.push({type:"no-prompt",message:`${c.name}: no visible prompt`,id:c.id,tab:"calls"});for(let b of c)0===b.usedBy.length&&a.push({type:"orphan",message:`${b.name}: defined but never called`,id:b.id,tab:"prompts"});return a},[b,c]),V=(0,o.useMemo)(()=>{let a={};for(let b of U)a[b.type]=(a[b.type]||0)+1;return a},[U]),W=(0,o.useMemo)(()=>{let a=[];return V["unknown-provider"]&&a.push(`${V["unknown-provider"]} unknown provider${V["unknown-provider"]>1?"s":""}`),V["unknown-model"]&&a.push(`${V["unknown-model"]} unknown model${V["unknown-model"]>1?"s":""}`),V["no-prompt"]&&a.push(`${V["no-prompt"]} call${V["no-prompt"]>1?"s":""} without prompt`),V.orphan&&a.push(`${V.orphan} orphan prompt${V.orphan>1?"s":""}`),a.join(", ")},[V]),X=(0,o.useMemo)(()=>{let a={};for(let c of b)a[c.provider]||(a[c.provider]={}),a[c.provider][c.model]||(a[c.provider][c.model]=[]),a[c.provider][c.model].push(c);return a},[b]),Y=(0,o.useMemo)(()=>{let a={};for(let b in X){let c=X[b],d=Object.keys(c).length,e=Object.values(c).flat().length;a[b]={modelCount:d,callSiteCount:e}}return a},[X]),Z=(0,o.useMemo)(()=>{let a={};for(let b in X)for(let c in X[b])a[`${b}:${c}`]=X[b][c].length;return a},[X]),$=a=>{G(a)},_=()=>{G(null)},aa=(a,b)=>{"calls"===a?(m(b),E("calls")):(q(b),E("prompts")),_()};return(0,n.jsxs)("div",{className:"flex flex-col gap-6",children:["mock"===g&&(0,n.jsxs)("div",{className:"flex items-center gap-2 rounded-lg border border-info/30 bg-info/10 p-3",children:[(0,n.jsx)(fP,{className:"h-4 w-4 text-info"}),(0,n.jsxs)("p",{className:"text-sm text-info",children:["Showing demo data. Run ",(0,n.jsx)("code",{className:"rounded bg-info/20 px-1",children:"navgator scan --prompts"})," to scan your project."]}),(0,n.jsxs)(aS,{variant:"outline",size:"sm",className:"ml-auto",onClick:()=>i(),disabled:e,children:[e?(0,n.jsx)(fO,{className:"h-4 w-4 animate-spin"}):(0,n.jsx)(v,{className:"h-4 w-4"}),(0,n.jsx)("span",{className:"ml-2",children:"Scan Now"})]})]}),f&&(0,n.jsxs)("div",{className:"flex items-center gap-2 rounded-lg border border-destructive/30 bg-destructive/10 p-3",children:[(0,n.jsx)(fM,{className:"h-4 w-4 text-destructive"}),(0,n.jsx)("p",{className:"text-sm text-destructive",children:f})]}),(0,n.jsxs)("div",{className:"grid grid-cols-3 gap-4",children:[(0,n.jsx)(fQ,{className:"border-border bg-card cursor-pointer transition-colors hover:bg-secondary/50",onClick:()=>$("calls"),children:(0,n.jsx)(fU,{className:"p-4",children:(0,n.jsxs)("div",{className:"flex items-center gap-3",children:[(0,n.jsx)("div",{className:"flex h-10 w-10 items-center justify-center rounded-lg bg-primary/10",children:e?(0,n.jsx)(fO,{className:"h-5 w-5 animate-spin text-primary"}):(0,n.jsx)(fE,{className:"h-5 w-5 text-primary"})}),(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:"LLM Call Sites"}),(0,n.jsx)("p",{className:"text-2xl font-semibold text-foreground",children:b.length})]})]})})}),(0,n.jsx)(fQ,{className:"border-border bg-card cursor-pointer transition-colors hover:bg-secondary/50",onClick:()=>$("prompts"),children:(0,n.jsx)(fU,{className:"p-4",children:(0,n.jsxs)("div",{className:"flex items-center gap-3",children:[(0,n.jsx)("div",{className:"flex h-10 w-10 items-center justify-center rounded-lg bg-info/10",children:(0,n.jsx)(iW,{className:"h-5 w-5 text-info"})}),(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:"Prompts"}),(0,n.jsx)("p",{className:"text-2xl font-semibold text-foreground",children:c.length})]})]})})}),(0,n.jsx)(fQ,{className:"border-border bg-card",children:(0,n.jsx)(fU,{className:"p-4",children:(0,n.jsxs)("div",{className:"flex items-center gap-3",children:[(0,n.jsx)("div",{className:"flex h-10 w-10 items-center justify-center rounded-lg bg-warning/10",children:(0,n.jsx)(iZ,{className:"h-5 w-5 text-warning"})}),(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:"Providers"}),(0,n.jsx)("p",{className:"text-2xl font-semibold text-foreground",children:R.length}),(0,n.jsxs)("p",{className:"text-xs text-muted-foreground",children:[T," file",1!==T?"s":""," with AI"]})]})]})})})]}),U.length>0&&(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(fM,{className:"h-4 w-4 text-warning"}),(0,n.jsxs)("p",{className:"text-sm text-warning",children:[U.length," item",1!==U.length?"s":""," need attention: ",W]})]}),(0,n.jsx)(iP,{open:null!==F,onOpenChange:a=>!a&&_(),children:(0,n.jsxs)(iS,{side:"right",className:"w-[400px] sm:w-[540px]",children:[(0,n.jsx)(iT,{children:(0,n.jsxs)(iU,{children:["calls"===F&&"All LLM Call Sites","prompts"===F&&"All Prompts"]})}),(0,n.jsx)(ii,{className:"h-[calc(100vh-80px)] mt-6",children:(0,n.jsxs)("div",{className:"rounded-lg border border-border",children:["calls"===F&&b.map((a,c)=>(0,n.jsxs)("button",{type:"button",onClick:()=>aa("calls",a),className:`w-full text-left p-4 transition-colors hover:bg-secondary/50 ${c!==b.length-1?"border-b border-border":""}`,children:[(0,n.jsx)("div",{className:"font-medium text-sm",children:a.name}),(0,n.jsxs)("div",{className:"text-xs text-muted-foreground mt-1",children:[a.model," · ",a.provider]}),(0,n.jsxs)("div",{className:"font-mono text-xs text-muted-foreground mt-1",children:[a.file,":",a.line]})]},`${a.id}-sheet-${c}`)),"prompts"===F&&c.map((a,b)=>(0,n.jsxs)("button",{type:"button",onClick:()=>aa("prompts",a),className:`w-full text-left p-4 transition-colors hover:bg-secondary/50 ${b!==c.length-1?"border-b border-border":""}`,children:[(0,n.jsx)("div",{className:"font-medium text-sm",children:a.name}),(0,n.jsx)("div",{className:"text-xs text-muted-foreground mt-1",children:a.type}),(0,n.jsxs)("div",{className:"font-mono text-xs text-muted-foreground mt-1",children:[a.file,":",a.line]})]},`${a.id}-sheet-${b}`))]})})]})}),(0,n.jsxs)(gs,{value:D,onValueChange:E,className:"w-full",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between gap-4",children:[(0,n.jsxs)(gt,{className:"bg-secondary",children:[(0,n.jsxs)(gu,{value:"calls",className:"gap-2",children:[(0,n.jsx)(iX,{className:"h-4 w-4"}),"LLM Call Sites"]}),(0,n.jsxs)(gu,{value:"prompts",className:"gap-2",children:[(0,n.jsx)(iV,{className:"h-4 w-4"}),"Prompts"]}),(0,n.jsxs)(gu,{value:"flow",className:"gap-2",children:[(0,n.jsx)(fA,{className:"h-4 w-4"}),"AI Flow"]}),(0,n.jsxs)(gu,{value:"providers",className:"gap-2",children:[(0,n.jsx)(iZ,{className:"h-4 w-4"}),"By Provider"]})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsxs)("div",{className:"relative",children:[(0,n.jsx)(u,{className:"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"}),(0,n.jsx)(aT,{placeholder:"Search...",value:j,onChange:a=>k(a.target.value),className:"w-64 bg-secondary pl-9"})]}),(0,n.jsx)(aS,{variant:"outline",size:"sm",onClick:()=>h(),disabled:e,title:"Refresh data",children:e?(0,n.jsx)(fO,{className:"h-4 w-4 animate-spin"}):(0,n.jsx)(v,{className:"h-4 w-4"})})]})]}),(0,n.jsxs)(gv,{value:"calls",className:"mt-4",children:[(0,n.jsxs)("div",{className:"mb-4 flex items-center gap-3",children:[(0,n.jsx)(f5,{className:"h-4 w-4 text-muted-foreground"}),(0,n.jsxs)("div",{className:"flex gap-2",children:[(0,n.jsx)(aS,{variant:"all"===y?"default":"outline",size:"sm",onClick:()=>A("all"),children:"All Types"}),S.map(a=>(0,n.jsx)(aS,{variant:y===a?"default":"outline",size:"sm",onClick:()=>A(a),className:"capitalize",children:a},a))]}),(0,n.jsxs)("div",{className:"ml-4 flex gap-2",children:[(0,n.jsx)(aS,{variant:"all"===B?"default":"outline",size:"sm",onClick:()=>C("all"),children:"All Providers"}),R.map(a=>(0,n.jsx)(aS,{variant:B===a?"default":"outline",size:"sm",onClick:()=>C(a),className:"capitalize",children:a},a))]})]}),(0,n.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,n.jsxs)(fQ,{className:"border-border bg-card",children:[(0,n.jsx)(fR,{className:"pb-3",children:(0,n.jsxs)(fS,{className:"text-base font-medium",children:["Detected Call Sites (",O.length,")"]})}),(0,n.jsx)(fU,{className:"p-0",children:(0,n.jsx)(ii,{className:"h-[500px]",children:(0,n.jsx)("div",{className:"flex flex-col",children:O.map((a,b)=>{let c;return(0,n.jsxs)("div",{children:[(0,n.jsxs)("button",{type:"button",onClick:()=>{var b;let c;m(a),b=a.id,(c=new Set(r)).has(b)?c.delete(b):c.add(b),s(c)},className:`flex w-full items-start gap-3 border-b border-border p-4 text-left transition-colors hover:bg-secondary/50 ${l?.id===a.id?"bg-secondary":""}`,children:[(0,n.jsx)("div",{className:"mt-0.5",children:r.has(a.id)?(0,n.jsx)(w,{className:"h-4 w-4 text-muted-foreground"}):(0,n.jsx)(eW,{className:"h-4 w-4 text-muted-foreground"})}),(0,n.jsxs)("div",{className:"flex-1",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("span",{className:"font-mono text-sm text-foreground",children:a.name}),(c=a.id,U.some(a=>a.id===c&&"calls"===a.tab)&&(0,n.jsx)(fM,{className:"h-3.5 w-3.5 text-warning"})),(0,n.jsx)(fW,{variant:"outline",className:`text-xs ${i$[a.category]}`,children:a.category})]}),(0,n.jsxs)("div",{className:"mt-1 flex items-center gap-3 text-xs text-muted-foreground",children:[(0,n.jsx)("span",{children:a.model}),(0,n.jsx)("span",{children:"·"}),(0,n.jsx)("span",{children:a.provider}),a.method&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{children:"·"}),(0,n.jsx)("span",{className:"font-mono",children:a.method})]})]}),(0,n.jsxs)("span",{role:"button",tabIndex:0,onClick:b=>{b.stopPropagation(),N(a.file)},onKeyDown:b=>{"Enter"===b.key&&(b.stopPropagation(),N(a.file))},className:"mt-1 font-mono text-xs text-muted-foreground hover:text-primary hover:underline transition-colors cursor-pointer",children:[a.file,":",a.line]})]})]}),r.has(a.id)&&(0,n.jsxs)("div",{className:"border-b border-border bg-secondary/30 p-4",children:[(0,n.jsxs)("div",{className:"grid grid-cols-3 gap-4 text-sm",children:[a.method&&(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{className:"text-muted-foreground",children:"SDK Method"}),(0,n.jsx)("p",{className:"font-mono text-foreground",children:a.method})]}),a.sdk&&(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{className:"text-muted-foreground",children:"SDK"}),(0,n.jsx)("p",{className:"font-mono text-foreground",children:a.sdk})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{className:"text-muted-foreground",children:"Confidence"}),(0,n.jsxs)("p",{className:"font-mono text-foreground",children:[(100*a.confidence).toFixed(0),"%"]})]})]}),a.configExtracted&&(0,n.jsxs)("div",{className:"mt-3 grid grid-cols-3 gap-4 text-sm",children:[void 0!==a.configExtracted.temperature&&(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{className:"text-muted-foreground",children:"Temperature"}),(0,n.jsx)("p",{className:"font-mono text-foreground",children:a.configExtracted.temperature})]}),void 0!==a.configExtracted.maxTokens&&(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{className:"text-muted-foreground",children:"Max Tokens"}),(0,n.jsx)("p",{className:"font-mono text-foreground",children:a.configExtracted.maxTokens})]}),void 0!==a.configExtracted.stream&&(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{className:"text-muted-foreground",children:"Streaming"}),(0,n.jsx)("p",{className:"font-mono text-foreground",children:a.configExtracted.stream?"Yes":"No"})]})]}),a.promptVariables.length>0&&(0,n.jsx)("div",{className:"mt-3",children:(0,n.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Variables:"," ",a.promptVariables.map(a=>(0,n.jsx)("code",{className:"mx-1 rounded bg-secondary px-1 py-0.5",children:`{{${a}}}`},a))]})})]})]},`${a.id}-${b}`)})})})})]}),(0,n.jsxs)(fQ,{className:"border-border bg-card",children:[(0,n.jsx)(fR,{className:"pb-3",children:(0,n.jsx)(fS,{className:"text-base font-medium",children:"Call Site Details"})}),(0,n.jsx)(fU,{children:l?(0,n.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{className:"font-mono text-lg text-foreground",children:l.name}),(0,n.jsxs)("button",{type:"button",onClick:()=>N(l.file),className:"text-sm text-muted-foreground hover:text-primary hover:underline transition-colors text-left",children:[l.file,":",l.line]})]}),(0,n.jsx)(fW,{variant:"outline",className:i$[l.category],children:l.category})]}),(0,n.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,n.jsxs)("div",{className:"rounded-lg bg-secondary p-3",children:[(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:"Model"}),(0,n.jsx)("p",{className:"font-mono text-sm text-foreground",children:l.model}),"unknown"===l.model&&(0,n.jsx)("p",{className:"text-xs text-warning mt-1",children:"Model name not detected"})]}),(0,n.jsxs)("div",{className:"rounded-lg bg-secondary p-3",children:[(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:"Provider"}),(0,n.jsx)("p",{className:"font-mono text-sm capitalize text-foreground",children:l.provider}),"unknown"===l.provider&&(0,n.jsx)("p",{className:"text-xs text-warning mt-1",children:"Provider could not be identified from code patterns"})]})]}),(l.method||l.sdk)&&(0,n.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[l.method&&(0,n.jsxs)("div",{className:"rounded-lg bg-secondary p-3",children:[(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:"SDK Method"}),(0,n.jsx)("p",{className:"font-mono text-sm text-foreground",children:l.method})]}),l.sdk&&(0,n.jsxs)("div",{className:"rounded-lg bg-secondary p-3",children:[(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:"SDK Package"}),(0,n.jsx)("p",{className:"font-mono text-sm text-foreground",children:l.sdk})]})]}),(0,n.jsxs)("div",{className:"rounded-lg bg-secondary p-3",children:[(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:"Confidence"}),(0,n.jsxs)("p",{className:"font-mono text-sm text-foreground",children:[(100*l.confidence).toFixed(0),"%"]})]}),l.systemPrompt&&(0,n.jsxs)("div",{children:[(0,n.jsxs)("div",{className:"mb-2 flex items-center justify-between",children:[(0,n.jsx)("p",{className:"text-sm font-medium text-foreground",children:"System Prompt"}),(0,n.jsx)(aS,{variant:"ghost",size:"sm",onClick:()=>Q(l.systemPrompt||"",`sys-${l.id}`),children:t===`sys-${l.id}`?(0,n.jsx)(eV,{className:"h-4 w-4 text-primary"}):(0,n.jsx)(gC,{className:"h-4 w-4"})})]}),(0,n.jsx)("pre",{className:"rounded-lg bg-secondary p-3 font-mono text-xs text-muted-foreground",children:l.systemPrompt})]}),(0,n.jsxs)("div",{children:[(0,n.jsxs)("div",{className:"mb-2 flex items-center justify-between",children:[(0,n.jsx)("p",{className:"text-sm font-medium text-foreground",children:"Prompt Template"}),(0,n.jsx)(aS,{variant:"ghost",size:"sm",onClick:()=>Q(l.promptTemplate,`tpl-${l.id}`),children:t===`tpl-${l.id}`?(0,n.jsx)(eV,{className:"h-4 w-4 text-primary"}):(0,n.jsx)(gC,{className:"h-4 w-4"})})]}),(0,n.jsx)("pre",{className:"rounded-lg bg-secondary p-3 font-mono text-xs text-muted-foreground",children:l.promptTemplate})]})]}):(0,n.jsx)("div",{className:"flex h-[400px] items-center justify-center text-muted-foreground",children:(0,n.jsx)("p",{children:"Select an LLM call to view details"})})})]})]})]}),(0,n.jsxs)(gv,{value:"prompts",className:"mt-4",children:[L&&(0,n.jsxs)("div",{className:"mb-3 flex items-center gap-2",children:[(0,n.jsx)("span",{className:"text-xs text-muted-foreground",children:"Filtered by file:"}),(0,n.jsxs)("button",{type:"button",onClick:()=>{M(null),q(null)},className:"inline-flex items-center gap-1.5 rounded-md bg-secondary px-2.5 py-1 text-xs font-mono text-foreground hover:bg-secondary/80 transition-colors",children:[L.split("/").pop(),(0,n.jsx)(z,{className:"h-3 w-3 text-muted-foreground"})]})]}),(0,n.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,n.jsxs)(fQ,{className:"border-border bg-card",children:[(0,n.jsx)(fR,{className:"pb-3",children:(0,n.jsxs)(fS,{className:"text-base font-medium",children:["Prompt Library (",P.length,")"]})}),(0,n.jsx)(fU,{className:"p-0",children:(0,n.jsx)(ii,{className:"h-[500px]",children:(0,n.jsx)("div",{className:"flex flex-col",children:P.map((a,c)=>{let d,e=b.find(b=>b.promptTemplate?.includes(a.name)||b.systemPrompt?.includes(a.name)||a.usedBy.includes(b.name));return(0,n.jsx)("button",{type:"button",onClick:()=>q(a),className:`flex w-full items-start gap-3 border-b border-border p-4 text-left transition-colors hover:bg-secondary/50 ${p?.id===a.id?"bg-secondary":""}`,children:(0,n.jsxs)("div",{className:"flex-1",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("span",{className:"font-mono text-sm text-foreground",children:a.name}),(d=a.id,U.some(a=>a.id===d&&"prompts"===a.tab)&&(0,n.jsx)(fM,{className:"h-3.5 w-3.5 text-warning"})),(0,n.jsx)(fW,{variant:"outline",className:`text-xs ${i_[a.type]}`,children:a.type}),e&&(0,n.jsxs)("span",{className:"text-xs text-muted-foreground",children:[e.provider," · ",e.model]})]}),(0,n.jsx)("p",{className:"mt-1 line-clamp-2 text-xs text-muted-foreground",children:a.content}),(0,n.jsxs)("div",{className:"mt-2 flex items-center gap-3 text-xs text-muted-foreground",children:[(0,n.jsxs)("span",{children:[a.tokenCount," tokens"]}),(0,n.jsx)("span",{children:"·"}),(0,n.jsxs)("span",{children:["v",a.version]}),(0,n.jsx)("span",{children:"·"}),(0,n.jsx)("span",{children:a.lastModified})]})]})},`${a.id}-${c}`)})})})})]}),(0,n.jsxs)(fQ,{className:"border-border bg-card",children:[(0,n.jsx)(fR,{className:"pb-3",children:(0,n.jsx)(fS,{className:"text-base font-medium",children:"Prompt Details"})}),(0,n.jsx)(fU,{children:p?(0,n.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{className:"font-mono text-lg text-foreground",children:p.name}),(0,n.jsxs)("button",{type:"button",onClick:()=>N(p.file),className:"text-sm text-muted-foreground hover:text-primary hover:underline transition-colors text-left",children:[p.file,":",p.line]})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsxs)(fW,{variant:"outline",className:"text-xs",children:["v",p.version]}),(0,n.jsx)(fW,{variant:"outline",className:i_[p.type],children:p.type})]})]}),(a=b.find(a=>a.promptTemplate?.includes(p.name)||a.systemPrompt?.includes(p.name)||p.usedBy.includes(a.name)))?(0,n.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,n.jsxs)("div",{className:"rounded-lg bg-secondary p-3",children:[(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:"Provider"}),(0,n.jsx)("button",{type:"button",onClick:()=>{E("providers"),I(new Set([a.provider]))},className:`font-mono text-sm text-foreground hover:text-primary transition-colors ${"unknown"===a.provider?"text-warning":""}`,children:a.provider})]}),(0,n.jsxs)("div",{className:"rounded-lg bg-secondary p-3",children:[(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:"Model"}),(0,n.jsx)("p",{className:"font-mono text-sm text-foreground",children:a.model})]})]}):null,(0,n.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,n.jsxs)("div",{className:"rounded-lg bg-secondary p-3",children:[(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:"Token Count"}),(0,n.jsx)("p",{className:"font-mono text-sm text-foreground",children:p.tokenCount})]}),(0,n.jsxs)("div",{className:"rounded-lg bg-secondary p-3",children:[(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:"Last Modified"}),(0,n.jsx)("p",{className:"font-mono text-sm text-foreground",children:p.lastModified})]})]}),(0,n.jsxs)("div",{children:[(0,n.jsxs)("div",{className:"mb-2 flex items-center justify-between",children:[(0,n.jsx)("p",{className:"text-sm font-medium text-foreground",children:"Content"}),(0,n.jsx)(aS,{variant:"ghost",size:"sm",onClick:()=>Q(p.content,`content-${p.id}`),children:t===`content-${p.id}`?(0,n.jsx)(eV,{className:"h-4 w-4 text-primary"}):(0,n.jsx)(gC,{className:"h-4 w-4"})})]}),(0,n.jsx)("pre",{className:"max-h-[200px] overflow-auto rounded-lg bg-secondary p-3 font-mono text-xs text-muted-foreground",children:p.content})]}),p.variables.length>0&&(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{className:"mb-2 text-sm font-medium text-foreground",children:"Variables"}),(0,n.jsx)("div",{className:"flex flex-wrap gap-2",children:p.variables.map(a=>(0,n.jsx)("code",{className:"rounded bg-secondary px-2 py-1 font-mono text-xs text-muted-foreground",children:`{{${a}}}`},a))})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{className:"mb-2 text-sm font-medium text-foreground",children:"Used By"}),(0,n.jsx)("div",{className:"flex flex-wrap gap-2",children:p.usedBy.length>0?p.usedBy.map(a=>(0,n.jsxs)(fW,{variant:"outline",className:"font-mono",children:[a,"()"]},a)):(0,n.jsx)("p",{className:"text-xs text-warning",children:"Not used by any detected calls"})})]})]}):(0,n.jsx)("div",{className:"flex h-[400px] items-center justify-center text-muted-foreground",children:(0,n.jsx)("p",{children:"Select a prompt to view details"})})})]})]})]}),(0,n.jsx)(gv,{value:"flow",className:"mt-4",children:(0,n.jsx)(i1,{prompts:c,calls:b,onFileClick:N})}),(0,n.jsx)(gv,{value:"providers",className:"mt-4",children:(0,n.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,n.jsxs)(fQ,{className:"border-border bg-card",children:[(0,n.jsx)(fR,{className:"pb-3",children:(0,n.jsxs)(fS,{className:"text-base font-medium",children:["By Provider (",Object.keys(X).length,")"]})}),(0,n.jsx)(fU,{className:"p-0",children:(0,n.jsx)(ii,{className:"h-[500px]",children:(0,n.jsx)("div",{className:"flex flex-col",children:Object.entries(X).map(([a,b],c)=>(0,n.jsxs)("div",{children:[(0,n.jsxs)("button",{type:"button",onClick:()=>{let b;(b=new Set(H)).has(a)?b.delete(a):b.add(a),I(b)},className:"flex w-full items-start gap-3 border-b border-border p-4 text-left transition-colors hover:bg-secondary/50",children:[(0,n.jsx)("div",{className:"mt-0.5",children:H.has(a)?(0,n.jsx)(w,{className:"h-4 w-4 text-muted-foreground"}):(0,n.jsx)(eW,{className:"h-4 w-4 text-muted-foreground"})}),(0,n.jsxs)("div",{className:"flex-1",children:[(0,n.jsx)("div",{className:"flex items-center gap-2",children:(0,n.jsx)("span",{className:`font-medium text-sm ${"unknown"===a?"text-warning":"text-foreground"}`,children:a})}),(0,n.jsxs)("div",{className:"mt-1 text-xs text-muted-foreground",children:[Y[a].modelCount," model",1!==Y[a].modelCount?"s":""," · ",Y[a].callSiteCount," call site",1!==Y[a].callSiteCount?"s":""]})]})]}),H.has(a)&&(0,n.jsx)("div",{className:"border-b border-border bg-secondary/30",children:Object.entries(b).map(([b,c])=>{let d=`${a}:${b}`;return(0,n.jsxs)("div",{children:[(0,n.jsxs)("button",{type:"button",onClick:()=>{let a;(a=new Set(J)).has(d)?a.delete(d):a.add(d),K(a)},className:"flex w-full items-start gap-3 border-b border-border p-4 pl-12 text-left transition-colors hover:bg-secondary/50",children:[(0,n.jsx)("div",{className:"mt-0.5",children:J.has(d)?(0,n.jsx)(w,{className:"h-4 w-4 text-muted-foreground"}):(0,n.jsx)(eW,{className:"h-4 w-4 text-muted-foreground"})}),(0,n.jsxs)("div",{className:"flex-1",children:[(0,n.jsx)("div",{className:"flex items-center gap-2",children:(0,n.jsx)("span",{className:"font-mono text-sm text-foreground",children:b})}),(0,n.jsxs)("div",{className:"mt-1 text-xs text-muted-foreground",children:[Z[d]," call site",1!==Z[d]?"s":""]})]})]}),J.has(d)&&(0,n.jsx)("div",{className:"border-b border-border bg-secondary/50",children:c.map((a,b)=>(0,n.jsx)("button",{type:"button",onClick:()=>{m(a)},className:`flex w-full items-start gap-3 border-b border-border p-4 pl-20 text-left transition-colors hover:bg-secondary/70 ${l?.id===a.id?"bg-secondary":""}`,children:(0,n.jsxs)("div",{className:"flex-1",children:[(0,n.jsx)("div",{className:"flex items-center gap-2",children:(0,n.jsx)("span",{className:"font-mono text-sm text-foreground",children:a.name})}),(0,n.jsxs)("p",{className:"mt-1 font-mono text-xs text-muted-foreground",children:[a.file,":",a.line]})]})},`${a.id}-prov-${b}`))})]},d)})})]},a))})})})]}),(0,n.jsxs)(fQ,{className:"border-border bg-card",children:[(0,n.jsx)(fR,{className:"pb-3",children:(0,n.jsx)(fS,{className:"text-base font-medium",children:"Call Site Details"})}),(0,n.jsx)(fU,{children:l?(0,n.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{className:"font-mono text-lg text-foreground",children:l.name}),(0,n.jsxs)("button",{type:"button",onClick:()=>N(l.file),className:"text-sm text-muted-foreground hover:text-primary hover:underline transition-colors text-left",children:[l.file,":",l.line]})]}),(0,n.jsx)(fW,{variant:"outline",className:i$[l.category],children:l.category})]}),(0,n.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,n.jsxs)("div",{className:"rounded-lg bg-secondary p-3",children:[(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:"Model"}),(0,n.jsx)("p",{className:"font-mono text-sm text-foreground",children:l.model})]}),(0,n.jsxs)("div",{className:"rounded-lg bg-secondary p-3",children:[(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:"Provider"}),(0,n.jsx)("p",{className:"font-mono text-sm capitalize text-foreground",children:l.provider})]})]}),(l.method||l.sdk)&&(0,n.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[l.method&&(0,n.jsxs)("div",{className:"rounded-lg bg-secondary p-3",children:[(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:"SDK Method"}),(0,n.jsx)("p",{className:"font-mono text-sm text-foreground",children:l.method})]}),l.sdk&&(0,n.jsxs)("div",{className:"rounded-lg bg-secondary p-3",children:[(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:"SDK Package"}),(0,n.jsx)("p",{className:"font-mono text-sm text-foreground",children:l.sdk})]})]}),l.systemPrompt&&(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{className:"mb-2 text-sm font-medium text-foreground",children:"System Prompt"}),(0,n.jsx)("pre",{className:"rounded-lg bg-secondary p-3 font-mono text-xs text-muted-foreground",children:l.systemPrompt})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{className:"mb-2 text-sm font-medium text-foreground",children:"Prompt Template"}),(0,n.jsx)("pre",{className:"rounded-lg bg-secondary p-3 font-mono text-xs text-muted-foreground",children:l.promptTemplate})]})]}):(0,n.jsx)("div",{className:"flex h-[400px] items-center justify-center text-muted-foreground",children:(0,n.jsx)("p",{children:"Select a call site to view details"})})})]})]})})]})]})}function i1({prompts:a,calls:b,onFileClick:c}){let d=a.reduce((a,b)=>{let c=b.file;return a[c]||(a[c]=[]),a[c].push(b),a},{}),e=Object.entries(d).map(([a,b])=>{let c,d=(c=a.toLowerCase()).includes("router")||c.includes("query")||c.includes("classify")||c.includes("input")||c.includes("parse")?"input":c.includes("summar")||c.includes("output")||c.includes("response")||c.includes("format")||c.includes("render")?"output":b.some(a=>a.purpose?.toLowerCase().includes("classif")||a.purpose?.toLowerCase().includes("rout")||a.category?.toLowerCase().includes("input"))?"input":b.some(a=>a.purpose?.toLowerCase().includes("summar")||a.purpose?.toLowerCase().includes("format")||a.category?.toLowerCase().includes("output"))?"output":"process",e=a.split("/").pop()||a;return{id:a,name:e.replace(/\.(ts|js|tsx|jsx|py)$/,""),file:a,type:d,category:b[0]?.category,purpose:b[0]?.purpose,prompts:b}}),f={input:0,process:1,output:2};e.sort((a,b)=>f[a.type]-f[b.type]);let g=e.filter(a=>"input"===a.type),h=e.filter(a=>"process"===a.type),i=e.filter(a=>"output"===a.type),j={input:"border-info bg-info/10 text-info",process:"border-primary bg-primary/10 text-primary",output:"border-chart-3 bg-chart-3/10 text-chart-3"};return 0===a.length?(0,n.jsx)(fQ,{className:"border-border bg-card",children:(0,n.jsxs)(fU,{className:"flex flex-col items-center justify-center py-16",children:[(0,n.jsx)(fA,{className:"h-12 w-12 text-muted-foreground/50"}),(0,n.jsx)("p",{className:"mt-4 text-muted-foreground",children:"No AI prompts detected"}),(0,n.jsxs)("p",{className:"mt-1 text-xs text-muted-foreground/80",children:["Run ",(0,n.jsx)("code",{className:"rounded bg-secondary px-1.5",children:"navgator scan --prompts"})," to detect AI flows"]})]})}):(0,n.jsxs)("div",{className:"space-y-6",children:[(0,n.jsxs)("div",{className:"flex items-center gap-6 text-xs",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("div",{className:"h-3 w-3 rounded-full border-2 border-info bg-info/30"}),(0,n.jsx)("span",{className:"text-muted-foreground",children:"Input/Routing"})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("div",{className:"h-3 w-3 rounded-full border-2 border-primary bg-primary/30"}),(0,n.jsx)("span",{className:"text-muted-foreground",children:"Processing"})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("div",{className:"h-3 w-3 rounded-full border-2 border-chart-3 bg-chart-3/30"}),(0,n.jsx)("span",{className:"text-muted-foreground",children:"Output/Summary"})]})]}),(0,n.jsx)(fQ,{className:"border-border bg-card",children:(0,n.jsx)(fU,{className:"p-6",children:(0,n.jsxs)("div",{className:"relative flex flex-col items-center gap-2",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2 rounded-lg border border-border bg-secondary px-4 py-2",children:[(0,n.jsx)(eX,{className:"h-4 w-4 text-muted-foreground"}),(0,n.jsx)("span",{className:"text-sm font-medium text-foreground",children:"User Input"})]}),g.length>0&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(iY,{className:"h-5 w-5 text-muted-foreground"}),(0,n.jsx)(i2,{label:"Input / Routing",nodes:g,colorClass:j.input,onNodeClick:c})]}),h.length>0&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(iY,{className:"h-5 w-5 text-muted-foreground"}),(0,n.jsx)(i2,{label:"Processing / Analysis",nodes:h,colorClass:j.process,onNodeClick:c})]}),i.length>0&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(iY,{className:"h-5 w-5 text-muted-foreground"}),(0,n.jsx)(i2,{label:"Output / Summary",nodes:i,colorClass:j.output,onNodeClick:c})]}),(0,n.jsx)(iY,{className:"h-5 w-5 text-muted-foreground"}),(0,n.jsxs)("div",{className:"flex items-center gap-2 rounded-lg border border-border bg-secondary px-4 py-2",children:[(0,n.jsx)(eX,{className:"h-4 w-4 text-muted-foreground"}),(0,n.jsx)("span",{className:"text-sm font-medium text-foreground",children:"Response"})]})]})})}),(0,n.jsxs)(fQ,{className:"border-border bg-card",children:[(0,n.jsx)(fR,{className:"pb-3",children:(0,n.jsxs)(fS,{className:"text-base font-medium",children:["Files with AI Prompts (",Object.keys(d).length,")"]})}),(0,n.jsx)(fU,{children:(0,n.jsx)(ii,{className:"h-[300px]",children:(0,n.jsx)("div",{className:"space-y-2",children:e.map(a=>(0,n.jsxs)("button",{type:"button",onClick:()=>c?.(a.file),className:`w-full text-left rounded-lg border p-3 transition-colors hover:opacity-80 ${j[a.type]}`,children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("span",{className:"font-mono text-sm font-medium",children:a.name}),(0,n.jsxs)(fW,{variant:"outline",className:"text-xs",children:[a.prompts.length," prompt",1!==a.prompts.length?"s":""]})]}),(0,n.jsx)(fW,{variant:"outline",className:"text-xs capitalize",children:a.type})]}),(0,n.jsx)("p",{className:"mt-1 font-mono text-xs opacity-70",children:a.file}),a.purpose&&(0,n.jsx)("p",{className:"mt-2 text-xs",children:a.purpose})]},a.id))})})})]})]})}function i2({label:a,nodes:b,colorClass:c,onNodeClick:d}){return(0,n.jsxs)("div",{className:"w-full max-w-2xl",children:[(0,n.jsx)("div",{className:"mb-2 text-center text-xs font-medium text-muted-foreground",children:a}),(0,n.jsx)("div",{className:`rounded-lg border-2 p-4 ${c}`,children:(0,n.jsx)("div",{className:"flex flex-wrap justify-center gap-3",children:b.map(a=>(0,n.jsxs)("button",{type:"button",onClick:()=>d?.(a.file),className:"flex items-center gap-2 rounded-md bg-background/50 px-3 py-1.5 transition-colors hover:bg-background/80",children:[(0,n.jsx)(iW,{className:"h-3.5 w-3.5"}),(0,n.jsx)("span",{className:"font-mono text-xs",children:a.name}),(0,n.jsxs)("span",{className:"text-xs opacity-60",children:["(",a.prompts.length,")"]})]},a.id))})})]})}var i3=o.forwardRef((a,b)=>(0,n.jsx)(aZ.label,{...a,ref:b,onMouseDown:b=>{b.target.closest("button, input, select, textarea")||(a.onMouseDown?.(b),!b.defaultPrevented&&b.detail>1&&b.preventDefault())}}));function i4({className:a,...b}){return(0,n.jsx)(i3,{"data-slot":"label",className:aQ("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",a),...b})}i3.displayName="Label";var i5="Switch",[i6,i7]=aV(i5),[i8,i9]=i6(i5),ja=o.forwardRef((a,b)=>{let{__scopeSwitch:c,name:d,checked:e,defaultChecked:f,required:g,disabled:h,value:i="on",onCheckedChange:j,form:k,...l}=a,[m,p]=o.useState(null),q=C(b,a=>p(a)),r=o.useRef(!1),s=!m||k||!!m.closest("form"),[t=!1,u]=aX({prop:e,defaultProp:f,onChange:j});return(0,n.jsxs)(i8,{scope:c,checked:t,disabled:h,children:[(0,n.jsx)(aZ.button,{type:"button",role:"switch","aria-checked":t,"aria-required":g,"data-state":je(t),"data-disabled":h?"":void 0,disabled:h,value:i,...l,ref:q,onClick:aU(a.onClick,a=>{u(a=>!a),s&&(r.current=a.isPropagationStopped(),r.current||a.stopPropagation())})}),s&&(0,n.jsx)(jd,{control:m,bubbles:!r.current,name:d,value:i,checked:t,required:g,disabled:h,form:k,style:{transform:"translateX(-100%)"}})]})});ja.displayName=i5;var jb="SwitchThumb",jc=o.forwardRef((a,b)=>{let{__scopeSwitch:c,...d}=a,e=i9(jb,c);return(0,n.jsx)(aZ.span,{"data-state":je(e.checked),"data-disabled":e.disabled?"":void 0,...d,ref:b})});jc.displayName=jb;var jd=a=>{let{control:b,checked:c,bubbles:d=!0,...e}=a,f=o.useRef(null),g=gH(c),h=cv(b);return o.useEffect(()=>{let a=f.current,b=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(g!==c&&b){let e=new Event("click",{bubbles:d});b.call(a,c),a.dispatchEvent(e)}},[g,c,d]),(0,n.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:c,...e,tabIndex:-1,ref:f,style:{...a.style,...h,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})};function je(a){return a?"checked":"unchecked"}function jf({className:a,...b}){return(0,n.jsx)(ja,{"data-slot":"switch",className:aQ("peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",a),...b,children:(0,n.jsx)(jc,{"data-slot":"switch-thumb",className:"bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0"})})}let jg=t("Bell",[["path",{d:"M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9",key:"1qo2s2"}],["path",{d:"M10.3 21a1.94 1.94 0 0 0 3.4 0",key:"qgo35s"}]]),jh=t("Shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]]),ji=t("Palette",[["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["path",{d:"M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.926 0 1.648-.746 1.648-1.688 0-.437-.18-.835-.437-1.125-.29-.289-.438-.652-.438-1.125a1.64 1.64 0 0 1 1.668-1.668h1.996c3.051 0 5.555-2.503 5.555-5.554C21.965 6.012 17.461 2 12 2z",key:"12rzf8"}]]),jj=t("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]),jk=t("Save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]),jl=t("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"}]]),jm={rootPath:"./src",excludePaths:["node_modules",".git","dist","build",".next"],includePatterns:["**/*.ts","**/*.tsx","**/*.js","**/*.jsx"],scanDepth:10,watchMode:!1,autoScanOnChange:!0},jn={npm:!0,database:!0,service:!0,queue:!0,cache:!0,storage:!0,auth:!0,llm:!0,staticAnalysis:!0,environmentVariables:!0,configFiles:!0},jo={enabled:!0,onNewConnection:!1,onBreakingChange:!0,onSecurityIssue:!0,slackWebhook:""},jp={theme:"dark",compactMode:!1,showLineNumbers:!0,diagramDirection:"TB",maxVisibleConnections:50};function jq(){let{settings:a,isLoading:b,isSaving:c,save:d}=function(a={}){let{autoFetch:b=!0}=a,[c,d]=(0,o.useState)(null),[e,f]=(0,o.useState)(!1),[g,h]=(0,o.useState)(!1),[i,j]=(0,o.useState)(null),[k,l]=(0,o.useState)(null),m=(0,o.useCallback)(async(a=!1)=>{f(!0),j(null);try{let b=new URLSearchParams;a&&b.set("refresh","true");let c=await fetch(`/api/settings?${b.toString()}`),e=await c.json();e.success&&e.data?(d(e.data),l(e.source)):j(e.error||"Failed to fetch settings")}catch(a){j(a instanceof Error?a.message:"Network error")}finally{f(!1)}},[]),n=(0,o.useCallback)(async a=>{h(!0),j(null);try{let b=await fetch("/api/settings",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)}),c=await b.json();if(c.success&&c.data)return d(c.data),!0;return j(c.error||"Failed to save settings"),!1}catch(a){return j(a instanceof Error?a.message:"Network error"),!1}finally{h(!1)}},[]),p=(0,o.useCallback)(async()=>{await m(!0)},[m]);return(0,o.useEffect)(()=>{b&&m()},[b,m]),{settings:c,isLoading:e,isSaving:g,error:i,source:k,save:n,refresh:p}}({autoFetch:!0}),[e,f]=(0,o.useState)(!1),[g,h]=(0,o.useState)(jm),[i,j]=(0,o.useState)(jn),[k,l]=(0,o.useState)(jo),[m,p]=(0,o.useState)(jp);(0,o.useEffect)(()=>{a&&(h(a.scan),j(a.detection),l(a.notifications),p(a.display))},[a]);let q=async()=>{await d({scan:g,detection:i,notifications:k,display:m})&&(f(!0),setTimeout(()=>f(!1),2e3))},r=async()=>{h(jm),j(jn),l(jo),p(jp),await d({scan:jm,detection:jn,notifications:jo,display:jp})};return b&&!a?(0,n.jsx)("div",{className:"flex h-64 items-center justify-center",children:(0,n.jsx)(fO,{className:"h-8 w-8 animate-spin text-muted-foreground"})}):(0,n.jsxs)("div",{className:"flex flex-col gap-6",children:[(0,n.jsxs)("div",{className:"flex items-start justify-between",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h1",{className:"text-2xl font-semibold text-foreground",children:"Settings"}),(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:"Configure NavGator scanning behavior and display preferences"})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsxs)(aS,{variant:"outline",size:"sm",className:"gap-2 bg-transparent",onClick:r,children:[(0,n.jsx)(gF,{className:"h-4 w-4"}),"Reset"]}),(0,n.jsxs)(aS,{size:"sm",className:"gap-2",onClick:q,disabled:c,children:[e?(0,n.jsx)(eV,{className:"h-4 w-4"}):c?(0,n.jsx)(fO,{className:"h-4 w-4 animate-spin"}):(0,n.jsx)(jk,{className:"h-4 w-4"}),e?"Saved":c?"Saving...":"Save Changes"]})]})]}),(0,n.jsxs)(gs,{defaultValue:"scanning",className:"w-full",children:[(0,n.jsxs)(gt,{className:"bg-secondary",children:[(0,n.jsxs)(gu,{value:"scanning",className:"gap-2",children:[(0,n.jsx)(x,{className:"h-4 w-4"}),"Scanning"]}),(0,n.jsxs)(gu,{value:"detection",className:"gap-2",children:[(0,n.jsx)(fA,{className:"h-4 w-4"}),"Detection"]}),(0,n.jsxs)(gu,{value:"notifications",className:"gap-2",children:[(0,n.jsx)(jg,{className:"h-4 w-4"}),"Notifications"]}),(0,n.jsxs)(gu,{value:"display",className:"gap-2",children:[(0,n.jsx)(ji,{className:"h-4 w-4"}),"Display"]})]}),(0,n.jsx)(gv,{value:"scanning",className:"mt-4",children:(0,n.jsxs)("div",{className:"grid gap-4",children:[(0,n.jsxs)(fQ,{className:"border-border bg-card",children:[(0,n.jsxs)(fR,{children:[(0,n.jsx)(fS,{className:"text-base",children:"Scan Configuration"}),(0,n.jsx)(fT,{children:"Configure which files and directories NavGator should analyze"})]}),(0,n.jsxs)(fU,{className:"flex flex-col gap-6",children:[(0,n.jsxs)("div",{className:"grid gap-2",children:[(0,n.jsx)(i4,{htmlFor:"rootPath",children:"Root Path"}),(0,n.jsx)(aT,{id:"rootPath",value:g.rootPath,onChange:a=>h(b=>({...b,rootPath:a.target.value})),className:"bg-secondary font-mono",placeholder:"./src"}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:"Base directory for scanning (relative to project root)"})]}),(0,n.jsxs)("div",{className:"grid gap-2",children:[(0,n.jsx)(i4,{children:"Exclude Paths"}),(0,n.jsxs)("div",{className:"flex flex-wrap gap-2",children:[g.excludePaths.map((a,b)=>(0,n.jsxs)(fW,{variant:"secondary",className:"gap-1 font-mono text-xs",children:[a,(0,n.jsx)("button",{type:"button",className:"ml-1 hover:text-destructive",onClick:()=>h(a=>({...a,excludePaths:a.excludePaths.filter((a,c)=>c!==b)})),children:"x"})]},b)),(0,n.jsx)(aT,{placeholder:"Add path...",className:"h-6 w-32 bg-secondary text-xs",onKeyDown:a=>{if("Enter"===a.key){let b=a.currentTarget.value.trim();b&&(h(a=>({...a,excludePaths:[...a.excludePaths,b]})),a.currentTarget.value="")}}})]})]}),(0,n.jsxs)("div",{className:"grid gap-2",children:[(0,n.jsx)(i4,{children:"Include Patterns"}),(0,n.jsx)("div",{className:"flex flex-wrap gap-2",children:g.includePatterns.map((a,b)=>(0,n.jsxs)(fW,{variant:"outline",className:"gap-1 font-mono text-xs",children:[a,(0,n.jsx)("button",{type:"button",className:"ml-1 hover:text-destructive",onClick:()=>h(a=>({...a,includePatterns:a.includePatterns.filter((a,c)=>c!==b)})),children:"x"})]},b))}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:"Glob patterns for files to include in analysis"})]}),(0,n.jsxs)("div",{className:"grid gap-2",children:[(0,n.jsx)(i4,{htmlFor:"scanDepth",children:"Scan Depth"}),(0,n.jsxs)(hy,{value:g.scanDepth.toString(),onValueChange:a=>h(b=>({...b,scanDepth:Number.parseInt(a)})),children:[(0,n.jsx)(hA,{className:"w-32 bg-secondary",children:(0,n.jsx)(hz,{})}),(0,n.jsxs)(hB,{children:[(0,n.jsx)(hC,{value:"5",children:"5 levels"}),(0,n.jsx)(hC,{value:"10",children:"10 levels"}),(0,n.jsx)(hC,{value:"15",children:"15 levels"}),(0,n.jsx)(hC,{value:"20",children:"20 levels"}),(0,n.jsx)(hC,{value:"-1",children:"Unlimited"})]})]}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:"Maximum directory depth to traverse"})]})]})]}),(0,n.jsxs)(fQ,{className:"border-border bg-card",children:[(0,n.jsxs)(fR,{children:[(0,n.jsx)(fS,{className:"text-base",children:"Watch Mode"}),(0,n.jsx)(fT,{children:"Automatically detect changes in your codebase"})]}),(0,n.jsxs)(fU,{className:"flex flex-col gap-4",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)(i4,{children:"Enable Watch Mode"}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:"Monitor file changes in real-time"})]}),(0,n.jsx)(jf,{checked:g.watchMode,onCheckedChange:a=>h(b=>({...b,watchMode:a}))})]}),(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)(i4,{children:"Auto-scan on Change"}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:"Automatically re-analyze when files change"})]}),(0,n.jsx)(jf,{checked:g.autoScanOnChange,onCheckedChange:a=>h(b=>({...b,autoScanOnChange:a}))})]})]})]})]})}),(0,n.jsx)(gv,{value:"detection",className:"mt-4",children:(0,n.jsxs)("div",{className:"grid gap-4",children:[(0,n.jsxs)(fQ,{className:"border-border bg-card",children:[(0,n.jsxs)(fR,{children:[(0,n.jsx)(fS,{className:"text-base",children:"Component Detection"}),(0,n.jsx)(fT,{children:"Configure what types of components NavGator should detect"})]}),(0,n.jsx)(fU,{className:"flex flex-col gap-4",children:(0,n.jsx)("div",{className:"grid grid-cols-2 gap-4",children:[{id:"npm",label:"NPM Packages",desc:"Detect package.json dependencies"},{id:"database",label:"Databases",desc:"PostgreSQL, MySQL, MongoDB, etc."},{id:"service",label:"External Services",desc:"APIs, webhooks, third-party services"},{id:"queue",label:"Message Queues",desc:"Redis, RabbitMQ, SQS, etc."},{id:"cache",label:"Caching",desc:"Redis, Memcached, CDN caches"},{id:"storage",label:"File Storage",desc:"S3, GCS, local filesystem"},{id:"auth",label:"Authentication",desc:"OAuth, JWT, session providers"},{id:"llm",label:"LLM Calls",desc:"AI/ML model invocations"}].map(a=>(0,n.jsxs)("div",{className:"flex items-start justify-between rounded-lg border border-border bg-secondary/50 p-3",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)(i4,{children:a.label}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:a.desc})]}),(0,n.jsx)(jf,{checked:i[a.id],onCheckedChange:b=>j(c=>({...c,[a.id]:b}))})]},a.id))})})]}),(0,n.jsxs)(fQ,{className:"border-border bg-card",children:[(0,n.jsxs)(fR,{children:[(0,n.jsx)(fS,{className:"text-base",children:"Connection Analysis"}),(0,n.jsx)(fT,{children:"How NavGator identifies relationships between components"})]}),(0,n.jsxs)(fU,{className:"flex flex-col gap-4",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)(i4,{children:"Static Analysis"}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:"Analyze imports, function calls, and type references"})]}),(0,n.jsx)(jf,{checked:i.staticAnalysis,onCheckedChange:a=>j(b=>({...b,staticAnalysis:a}))})]}),(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)(i4,{children:"Environment Variables"}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:"Detect service URLs from env vars"})]}),(0,n.jsx)(jf,{checked:i.environmentVariables,onCheckedChange:a=>j(b=>({...b,environmentVariables:a}))})]}),(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)(i4,{children:"Config Files"}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:"Parse docker-compose, terraform, k8s manifests"})]}),(0,n.jsx)(jf,{checked:i.configFiles,onCheckedChange:a=>j(b=>({...b,configFiles:a}))})]})]})]})]})}),(0,n.jsx)(gv,{value:"notifications",className:"mt-4",children:(0,n.jsxs)("div",{className:"grid gap-4",children:[(0,n.jsxs)(fQ,{className:"border-border bg-card",children:[(0,n.jsxs)(fR,{children:[(0,n.jsx)(fS,{className:"text-base",children:"Alert Preferences"}),(0,n.jsx)(fT,{children:"Configure when and how you receive notifications"})]}),(0,n.jsxs)(fU,{className:"flex flex-col gap-4",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)(i4,{children:"Enable Notifications"}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:"Receive alerts for architecture changes"})]}),(0,n.jsx)(jf,{checked:k.enabled,onCheckedChange:a=>l(b=>({...b,enabled:a}))})]}),(0,n.jsxs)("div",{className:"border-t border-border pt-4",children:[(0,n.jsx)(i4,{className:"mb-3 block text-muted-foreground",children:"Notify me when..."}),(0,n.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(fP,{className:"h-4 w-4 text-info"}),(0,n.jsx)("span",{className:"text-sm",children:"New connection detected"})]}),(0,n.jsx)(jf,{checked:k.onNewConnection,onCheckedChange:a=>l(b=>({...b,onNewConnection:a})),disabled:!k.enabled})]}),(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(jl,{className:"h-4 w-4 text-warning"}),(0,n.jsx)("span",{className:"text-sm",children:"Breaking change detected"})]}),(0,n.jsx)(jf,{checked:k.onBreakingChange,onCheckedChange:a=>l(b=>({...b,onBreakingChange:a})),disabled:!k.enabled})]}),(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(jh,{className:"h-4 w-4 text-destructive"}),(0,n.jsx)("span",{className:"text-sm",children:"Security issue found"})]}),(0,n.jsx)(jf,{checked:k.onSecurityIssue,onCheckedChange:a=>l(b=>({...b,onSecurityIssue:a})),disabled:!k.enabled})]})]})]})]})]}),(0,n.jsxs)(fQ,{className:"border-border bg-card",children:[(0,n.jsxs)(fR,{children:[(0,n.jsx)(fS,{className:"text-base",children:"Integrations"}),(0,n.jsx)(fT,{children:"Connect to external services for notifications"})]}),(0,n.jsxs)(fU,{className:"flex flex-col gap-4",children:[(0,n.jsxs)("div",{className:"grid gap-2",children:[(0,n.jsx)(i4,{htmlFor:"slack",children:"Slack Webhook URL"}),(0,n.jsx)(aT,{id:"slack",type:"url",value:k.slackWebhook,onChange:a=>l(b=>({...b,slackWebhook:a.target.value})),className:"bg-secondary font-mono",placeholder:"https://hooks.slack.com/services/..."})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2 rounded-lg border border-border bg-secondary/50 p-3",children:[(0,n.jsx)(jj,{className:"h-4 w-4 text-muted-foreground"}),(0,n.jsx)("code",{className:"text-xs text-muted-foreground",children:"navgator config set slack-webhook <url>"})]})]})]})]})}),(0,n.jsx)(gv,{value:"display",className:"mt-4",children:(0,n.jsxs)("div",{className:"grid gap-4",children:[(0,n.jsxs)(fQ,{className:"border-border bg-card",children:[(0,n.jsxs)(fR,{children:[(0,n.jsx)(fS,{className:"text-base",children:"Appearance"}),(0,n.jsx)(fT,{children:"Customize how NavGator looks and displays information"})]}),(0,n.jsxs)(fU,{className:"flex flex-col gap-4",children:[(0,n.jsxs)("div",{className:"grid gap-2",children:[(0,n.jsx)(i4,{children:"Theme"}),(0,n.jsxs)(hy,{value:m.theme,onValueChange:a=>p(b=>({...b,theme:a})),children:[(0,n.jsx)(hA,{className:"w-40 bg-secondary",children:(0,n.jsx)(hz,{})}),(0,n.jsxs)(hB,{children:[(0,n.jsx)(hC,{value:"dark",children:"Dark"}),(0,n.jsx)(hC,{value:"light",children:"Light"}),(0,n.jsx)(hC,{value:"system",children:"System"})]})]})]}),(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)(i4,{children:"Compact Mode"}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:"Reduce padding and spacing for more content"})]}),(0,n.jsx)(jf,{checked:m.compactMode,onCheckedChange:a=>p(b=>({...b,compactMode:a}))})]}),(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)(i4,{children:"Show Line Numbers"}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:"Display line numbers in code snippets"})]}),(0,n.jsx)(jf,{checked:m.showLineNumbers,onCheckedChange:a=>p(b=>({...b,showLineNumbers:a}))})]})]})]}),(0,n.jsxs)(fQ,{className:"border-border bg-card",children:[(0,n.jsxs)(fR,{children:[(0,n.jsx)(fS,{className:"text-base",children:"Diagram Preferences"}),(0,n.jsx)(fT,{children:"Configure architecture diagram visualization"})]}),(0,n.jsxs)(fU,{className:"flex flex-col gap-4",children:[(0,n.jsxs)("div",{className:"grid gap-2",children:[(0,n.jsx)(i4,{children:"Default Direction"}),(0,n.jsxs)(hy,{value:m.diagramDirection,onValueChange:a=>p(b=>({...b,diagramDirection:a})),children:[(0,n.jsx)(hA,{className:"w-40 bg-secondary",children:(0,n.jsx)(hz,{})}),(0,n.jsxs)(hB,{children:[(0,n.jsx)(hC,{value:"TB",children:"Top to Bottom"}),(0,n.jsx)(hC,{value:"LR",children:"Left to Right"})]})]})]}),(0,n.jsxs)("div",{className:"grid gap-2",children:[(0,n.jsx)(i4,{children:"Max Visible Connections"}),(0,n.jsxs)(hy,{value:m.maxVisibleConnections.toString(),onValueChange:a=>p(b=>({...b,maxVisibleConnections:Number.parseInt(a)})),children:[(0,n.jsx)(hA,{className:"w-40 bg-secondary",children:(0,n.jsx)(hz,{})}),(0,n.jsxs)(hB,{children:[(0,n.jsx)(hC,{value:"25",children:"25"}),(0,n.jsx)(hC,{value:"50",children:"50"}),(0,n.jsx)(hC,{value:"100",children:"100"}),(0,n.jsx)(hC,{value:"200",children:"200"})]})]}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:"Limit connections shown to improve performance"})]})]})]})]})})]})]})}function jr(){let[a,b]=(0,o.useState)("overview"),[c,d]=(0,o.useState)(null),[e,f]=(0,o.useState)(null),{activeProjectPath:g,setActiveProjectPath:h}=(0,fX.useActiveProject)(),{projects:i,isLoading:j,addProject:k,removeProject:l}=function(){let[a,b]=(0,o.useState)([]),[c,d]=(0,o.useState)(null),[e,f]=(0,o.useState)(!1),[g,h]=(0,o.useState)(null),i=(0,o.useCallback)(async()=>{f(!0),h(null);try{let a=await fetch("/api/projects"),c=await a.json();c.success?b(c.data.projects):h(c.error||"Failed to fetch projects")}catch(a){h(a instanceof Error?a.message:"Network error")}finally{f(!1)}},[]),j=(0,o.useCallback)(a=>{d(a),localStorage.setItem(f_,a),window.dispatchEvent(new CustomEvent("navgator-project-changed",{detail:{path:a}}))},[]),k=(0,o.useCallback)(async a=>{try{await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"add",path:a})}),await i()}catch(a){h(a instanceof Error?a.message:"Failed to add project")}},[i]),l=(0,o.useCallback)(async a=>{try{await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"remove",path:a})}),a===c&&(d(null),localStorage.removeItem(f_)),await i()}catch(a){h(a instanceof Error?a.message:"Failed to remove project")}},[i,c]);return(0,o.useEffect)(()=>{let a=localStorage.getItem(f_);a&&d(a)},[]),(0,o.useEffect)(()=>{i()},[i]),{projects:a,activeProject:c,isLoading:e,error:g,setActiveProject:j,addProject:k,removeProject:l,refresh:i}}(),{status:m}=f$({autoFetch:!0});return(0,n.jsxs)("div",{className:"flex min-h-screen flex-col bg-background",children:[(0,n.jsx)(fx,{activeProject:g,projectName:m?.project_name||null,projectPath:m?.project_path||g,projects:i,onSelectProject:a=>{h(a),b("overview"),d(null)},onAddProject:k,onRemoveProject:l,isLoadingProjects:j}),(0,n.jsxs)("div",{className:"flex flex-1",children:[(0,n.jsx)(fG,{activeView:a,setActiveView:b}),(0,n.jsxs)("main",{className:"flex-1 overflow-auto p-6",children:["overview"===a&&(0,n.jsx)(f3,{onSelectComponent:a=>{d(a),b("impact")},onNavigate:b,onNavigateToType:a=>{f(a),b("components")}}),"components"===a&&(0,n.jsx)(f8,{initialTypeFilter:e,onSelectComponent:a=>{d(a),f(null),b("impact")}}),"connections"===a&&(0,n.jsx)(gy,{selectedComponent:c,onSelectComponent:d}),"impact"===a&&(0,n.jsx)(gB,{componentName:c,onSelectComponent:d}),"diagram"===a&&(0,n.jsx)(hL,{selectedComponent:c}),"llm"===a&&(0,n.jsx)(i0,{}),"settings"===a&&(0,n.jsx)(jq,{})]})]})]})}a.s(["default",()=>jr],40776)}];
|
|
13
|
+
|
|
14
|
+
//# sourceMappingURL=web_171de0df._.js.map
|