@tyroneross/navgator 0.2.2 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +24 -11
- package/.claude-plugin/plugin.json +16 -11
- package/.codex-plugin/plugin.json +30 -0
- package/AGENTS.md +468 -0
- package/CLAUDE.md +431 -28
- package/LICENSE +202 -21
- package/README.md +735 -53
- package/VERSIONING.md +62 -0
- package/agents/architecture-advisor.md +6 -2
- package/agents/architecture-investigator.md +166 -0
- package/agents/architecture-planner.md +163 -0
- package/agents/external-resolver.md +97 -0
- package/commands/feedback.md +37 -0
- package/commands/gator.md +48 -0
- package/commands/plan.md +28 -0
- package/commands/scan.md +20 -0
- package/dist/agent-output.d.ts +32 -0
- package/dist/agent-output.d.ts.map +1 -0
- package/dist/agent-output.js +238 -0
- package/dist/agent-output.js.map +1 -0
- package/dist/architecture-index.d.ts +190 -0
- package/dist/architecture-index.d.ts.map +1 -0
- package/dist/architecture-index.js +626 -0
- package/dist/architecture-index.js.map +1 -0
- package/dist/architecture-insights.d.ts +29 -0
- package/dist/architecture-insights.d.ts.map +1 -0
- package/dist/architecture-insights.js +213 -0
- package/dist/architecture-insights.js.map +1 -0
- package/dist/audit/index.d.ts +84 -0
- package/dist/audit/index.d.ts.map +1 -0
- package/dist/audit/index.js +511 -0
- package/dist/audit/index.js.map +1 -0
- package/dist/audit/oracles/common.d.ts +37 -0
- package/dist/audit/oracles/common.d.ts.map +1 -0
- package/dist/audit/oracles/common.js +129 -0
- package/dist/audit/oracles/common.js.map +1 -0
- package/dist/audit/oracles/cron.d.ts +10 -0
- package/dist/audit/oracles/cron.d.ts.map +1 -0
- package/dist/audit/oracles/cron.js +35 -0
- package/dist/audit/oracles/cron.js.map +1 -0
- package/dist/audit/oracles/imports-scip.d.ts +25 -0
- package/dist/audit/oracles/imports-scip.d.ts.map +1 -0
- package/dist/audit/oracles/imports-scip.js +98 -0
- package/dist/audit/oracles/imports-scip.js.map +1 -0
- package/dist/audit/oracles/index.d.ts +30 -0
- package/dist/audit/oracles/index.d.ts.map +1 -0
- package/dist/audit/oracles/index.js +100 -0
- package/dist/audit/oracles/index.js.map +1 -0
- package/dist/audit/oracles/npm.d.ts +11 -0
- package/dist/audit/oracles/npm.d.ts.map +1 -0
- package/dist/audit/oracles/npm.js +37 -0
- package/dist/audit/oracles/npm.js.map +1 -0
- package/dist/audit/oracles/prisma.d.ts +42 -0
- package/dist/audit/oracles/prisma.d.ts.map +1 -0
- package/dist/audit/oracles/prisma.js +162 -0
- package/dist/audit/oracles/prisma.js.map +1 -0
- package/dist/audit/oracles/queue.d.ts +22 -0
- package/dist/audit/oracles/queue.d.ts.map +1 -0
- package/dist/audit/oracles/queue.js +114 -0
- package/dist/audit/oracles/queue.js.map +1 -0
- package/dist/audit/sampler.d.ts +166 -0
- package/dist/audit/sampler.d.ts.map +1 -0
- package/dist/audit/sampler.js +452 -0
- package/dist/audit/sampler.js.map +1 -0
- package/dist/audit/self-test.d.ts +74 -0
- package/dist/audit/self-test.d.ts.map +1 -0
- package/dist/audit/self-test.js +254 -0
- package/dist/audit/self-test.js.map +1 -0
- package/dist/audit/spc.d.ts +92 -0
- package/dist/audit/spc.d.ts.map +1 -0
- package/dist/audit/spc.js +225 -0
- package/dist/audit/spc.js.map +1 -0
- package/dist/audit/verifiers.d.ts +85 -0
- package/dist/audit/verifiers.d.ts.map +1 -0
- package/dist/audit/verifiers.js +456 -0
- package/dist/audit/verifiers.js.map +1 -0
- package/dist/classify.d.ts +19 -0
- package/dist/classify.d.ts.map +1 -0
- package/dist/classify.js +124 -0
- package/dist/classify.js.map +1 -0
- package/dist/cli/commands/arch-diff.d.ts +15 -0
- package/dist/cli/commands/arch-diff.d.ts.map +1 -0
- package/dist/cli/commands/arch-diff.js +132 -0
- package/dist/cli/commands/arch-diff.js.map +1 -0
- package/dist/cli/commands/arch-index.d.ts +21 -0
- package/dist/cli/commands/arch-index.d.ts.map +1 -0
- package/dist/cli/commands/arch-index.js +96 -0
- package/dist/cli/commands/arch-index.js.map +1 -0
- package/dist/cli/commands/audit-report.d.ts +50 -0
- package/dist/cli/commands/audit-report.d.ts.map +1 -0
- package/dist/cli/commands/audit-report.js +315 -0
- package/dist/cli/commands/audit-report.js.map +1 -0
- package/dist/cli/commands/connections.d.ts +3 -0
- package/dist/cli/commands/connections.d.ts.map +1 -0
- package/dist/cli/commands/connections.js +128 -0
- package/dist/cli/commands/connections.js.map +1 -0
- package/dist/cli/commands/coverage.d.ts +30 -0
- package/dist/cli/commands/coverage.d.ts.map +1 -0
- package/dist/cli/commands/coverage.js +111 -0
- package/dist/cli/commands/coverage.js.map +1 -0
- package/dist/cli/commands/dead.d.ts +3 -0
- package/dist/cli/commands/dead.d.ts.map +1 -0
- package/dist/cli/commands/dead.js +82 -0
- package/dist/cli/commands/dead.js.map +1 -0
- package/dist/cli/commands/deep-map.d.ts +18 -0
- package/dist/cli/commands/deep-map.d.ts.map +1 -0
- package/dist/cli/commands/deep-map.js +582 -0
- package/dist/cli/commands/deep-map.js.map +1 -0
- package/dist/cli/commands/diagram.d.ts +3 -0
- package/dist/cli/commands/diagram.d.ts.map +1 -0
- package/dist/cli/commands/diagram.js +107 -0
- package/dist/cli/commands/diagram.js.map +1 -0
- package/dist/cli/commands/doctor.d.ts +67 -0
- package/dist/cli/commands/doctor.d.ts.map +1 -0
- package/dist/cli/commands/doctor.js +446 -0
- package/dist/cli/commands/doctor.js.map +1 -0
- package/dist/cli/commands/explore.d.ts +3 -0
- package/dist/cli/commands/explore.d.ts.map +1 -0
- package/dist/cli/commands/explore.js +51 -0
- package/dist/cli/commands/explore.js.map +1 -0
- package/dist/cli/commands/find.d.ts +3 -0
- package/dist/cli/commands/find.d.ts.map +1 -0
- package/dist/cli/commands/find.js +151 -0
- package/dist/cli/commands/find.js.map +1 -0
- package/dist/cli/commands/freshness.d.ts +20 -0
- package/dist/cli/commands/freshness.d.ts.map +1 -0
- package/dist/cli/commands/freshness.js +107 -0
- package/dist/cli/commands/freshness.js.map +1 -0
- package/dist/cli/commands/helpers.d.ts +12 -0
- package/dist/cli/commands/helpers.d.ts.map +1 -0
- package/dist/cli/commands/helpers.js +75 -0
- package/dist/cli/commands/helpers.js.map +1 -0
- package/dist/cli/commands/impact.d.ts +3 -0
- package/dist/cli/commands/impact.d.ts.map +1 -0
- package/dist/cli/commands/impact.js +175 -0
- package/dist/cli/commands/impact.js.map +1 -0
- package/dist/cli/commands/lessons.d.ts +6 -0
- package/dist/cli/commands/lessons.d.ts.map +1 -0
- package/dist/cli/commands/lessons.js +289 -0
- package/dist/cli/commands/lessons.js.map +1 -0
- package/dist/cli/commands/list.d.ts +3 -0
- package/dist/cli/commands/list.d.ts.map +1 -0
- package/dist/cli/commands/list.js +81 -0
- package/dist/cli/commands/list.js.map +1 -0
- package/dist/cli/commands/llm-map.d.ts +3 -0
- package/dist/cli/commands/llm-map.d.ts.map +1 -0
- package/dist/cli/commands/llm-map.js +124 -0
- package/dist/cli/commands/llm-map.js.map +1 -0
- package/dist/cli/commands/misc.d.ts +66 -0
- package/dist/cli/commands/misc.d.ts.map +1 -0
- package/dist/cli/commands/misc.js +630 -0
- package/dist/cli/commands/misc.js.map +1 -0
- package/dist/cli/commands/portfolio.d.ts +14 -0
- package/dist/cli/commands/portfolio.d.ts.map +1 -0
- package/dist/cli/commands/portfolio.js +147 -0
- package/dist/cli/commands/portfolio.js.map +1 -0
- package/dist/cli/commands/prompts.d.ts +3 -0
- package/dist/cli/commands/prompts.d.ts.map +1 -0
- package/dist/cli/commands/prompts.js +77 -0
- package/dist/cli/commands/prompts.js.map +1 -0
- package/dist/cli/commands/remote.d.ts +9 -0
- package/dist/cli/commands/remote.d.ts.map +1 -0
- package/dist/cli/commands/remote.js +130 -0
- package/dist/cli/commands/remote.js.map +1 -0
- package/dist/cli/commands/review.d.ts +3 -0
- package/dist/cli/commands/review.d.ts.map +1 -0
- package/dist/cli/commands/review.js +46 -0
- package/dist/cli/commands/review.js.map +1 -0
- package/dist/cli/commands/rules.d.ts +36 -0
- package/dist/cli/commands/rules.d.ts.map +1 -0
- package/dist/cli/commands/rules.js +133 -0
- package/dist/cli/commands/rules.js.map +1 -0
- package/dist/cli/commands/scan.d.ts +3 -0
- package/dist/cli/commands/scan.d.ts.map +1 -0
- package/dist/cli/commands/scan.js +232 -0
- package/dist/cli/commands/scan.js.map +1 -0
- package/dist/cli/commands/schema.d.ts +3 -0
- package/dist/cli/commands/schema.d.ts.map +1 -0
- package/dist/cli/commands/schema.js +129 -0
- package/dist/cli/commands/schema.js.map +1 -0
- package/dist/cli/commands/status.d.ts +3 -0
- package/dist/cli/commands/status.d.ts.map +1 -0
- package/dist/cli/commands/status.js +354 -0
- package/dist/cli/commands/status.js.map +1 -0
- package/dist/cli/commands/subgraph.d.ts +3 -0
- package/dist/cli/commands/subgraph.d.ts.map +1 -0
- package/dist/cli/commands/subgraph.js +57 -0
- package/dist/cli/commands/subgraph.js.map +1 -0
- package/dist/cli/commands/temporal.d.ts +3 -0
- package/dist/cli/commands/temporal.d.ts.map +1 -0
- package/dist/cli/commands/temporal.js +126 -0
- package/dist/cli/commands/temporal.js.map +1 -0
- package/dist/cli/commands/trace.d.ts +3 -0
- package/dist/cli/commands/trace.d.ts.map +1 -0
- package/dist/cli/commands/trace.js +70 -0
- package/dist/cli/commands/trace.js.map +1 -0
- package/dist/cli/exit-codes.d.ts +42 -0
- package/dist/cli/exit-codes.d.ts.map +1 -0
- package/dist/cli/exit-codes.js +41 -0
- package/dist/cli/exit-codes.js.map +1 -0
- package/dist/cli/index.js +149 -828
- package/dist/cli/index.js.map +1 -1
- package/dist/component-identity.d.ts +30 -0
- package/dist/component-identity.d.ts.map +1 -0
- package/dist/component-identity.js +61 -0
- package/dist/component-identity.js.map +1 -0
- package/dist/config.d.ts +27 -3
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +129 -19
- package/dist/config.js.map +1 -1
- package/dist/coverage.d.ts +37 -0
- package/dist/coverage.d.ts.map +1 -0
- package/dist/coverage.js +200 -0
- package/dist/coverage.js.map +1 -0
- package/dist/dashboard-session.d.ts +91 -0
- package/dist/dashboard-session.d.ts.map +1 -0
- package/dist/dashboard-session.js +136 -0
- package/dist/dashboard-session.js.map +1 -0
- package/dist/deep-map/escalate.d.ts +68 -0
- package/dist/deep-map/escalate.d.ts.map +1 -0
- package/dist/deep-map/escalate.js +289 -0
- package/dist/deep-map/escalate.js.map +1 -0
- package/dist/deep-map/filter.d.ts +72 -0
- package/dist/deep-map/filter.d.ts.map +1 -0
- package/dist/deep-map/filter.js +139 -0
- package/dist/deep-map/filter.js.map +1 -0
- package/dist/deep-map/ingest.d.ts +60 -0
- package/dist/deep-map/ingest.d.ts.map +1 -0
- package/dist/deep-map/ingest.js +319 -0
- package/dist/deep-map/ingest.js.map +1 -0
- package/dist/deep-map/load.d.ts +44 -0
- package/dist/deep-map/load.d.ts.map +1 -0
- package/dist/deep-map/load.js +111 -0
- package/dist/deep-map/load.js.map +1 -0
- package/dist/deep-map/packets.d.ts +52 -0
- package/dist/deep-map/packets.d.ts.map +1 -0
- package/dist/deep-map/packets.js +441 -0
- package/dist/deep-map/packets.js.map +1 -0
- package/dist/deep-map/partition.d.ts +81 -0
- package/dist/deep-map/partition.d.ts.map +1 -0
- package/dist/deep-map/partition.js +253 -0
- package/dist/deep-map/partition.js.map +1 -0
- package/dist/deep-map/report.d.ts +17 -0
- package/dist/deep-map/report.d.ts.map +1 -0
- package/dist/deep-map/report.js +67 -0
- package/dist/deep-map/report.js.map +1 -0
- package/dist/deep-map/store.d.ts +58 -0
- package/dist/deep-map/store.d.ts.map +1 -0
- package/dist/deep-map/store.js +238 -0
- package/dist/deep-map/store.js.map +1 -0
- package/dist/deep-map/types.d.ts +321 -0
- package/dist/deep-map/types.d.ts.map +1 -0
- package/dist/deep-map/types.js +63 -0
- package/dist/deep-map/types.js.map +1 -0
- package/dist/diagram.d.ts.map +1 -1
- package/dist/diagram.js +59 -1
- package/dist/diagram.js.map +1 -1
- package/dist/diff.d.ts +112 -0
- package/dist/diff.d.ts.map +1 -0
- package/dist/diff.js +551 -0
- package/dist/diff.js.map +1 -0
- package/dist/enrich/cache.d.ts +41 -0
- package/dist/enrich/cache.d.ts.map +1 -0
- package/dist/enrich/cache.js +97 -0
- package/dist/enrich/cache.js.map +1 -0
- package/dist/enrich/external-enrichment.types.d.ts +91 -0
- package/dist/enrich/external-enrichment.types.d.ts.map +1 -0
- package/dist/enrich/external-enrichment.types.js +38 -0
- package/dist/enrich/external-enrichment.types.js.map +1 -0
- package/dist/enrich/external-resolver.d.ts +95 -0
- package/dist/enrich/external-resolver.d.ts.map +1 -0
- package/dist/enrich/external-resolver.js +224 -0
- package/dist/enrich/external-resolver.js.map +1 -0
- package/dist/enrich/fetchers.d.ts +36 -0
- package/dist/enrich/fetchers.d.ts.map +1 -0
- package/dist/enrich/fetchers.js +111 -0
- package/dist/enrich/fetchers.js.map +1 -0
- package/dist/entry-points.d.ts +107 -0
- package/dist/entry-points.d.ts.map +1 -0
- package/dist/entry-points.js +394 -0
- package/dist/entry-points.js.map +1 -0
- package/dist/explore-report.d.ts +70 -0
- package/dist/explore-report.d.ts.map +1 -0
- package/dist/explore-report.js +141 -0
- package/dist/explore-report.js.map +1 -0
- package/dist/file-resolve.d.ts +35 -0
- package/dist/file-resolve.d.ts.map +1 -0
- package/dist/file-resolve.js +159 -0
- package/dist/file-resolve.js.map +1 -0
- package/dist/freshness/dirty-ledger.d.ts +35 -0
- package/dist/freshness/dirty-ledger.d.ts.map +1 -0
- package/dist/freshness/dirty-ledger.js +310 -0
- package/dist/freshness/dirty-ledger.js.map +1 -0
- package/dist/freshness/drainer.d.ts +63 -0
- package/dist/freshness/drainer.d.ts.map +1 -0
- package/dist/freshness/drainer.js +199 -0
- package/dist/freshness/drainer.js.map +1 -0
- package/dist/freshness/paths.d.ts +13 -0
- package/dist/freshness/paths.d.ts.map +1 -0
- package/dist/freshness/paths.js +35 -0
- package/dist/freshness/paths.js.map +1 -0
- package/dist/freshness/scan-lock.d.ts +8 -0
- package/dist/freshness/scan-lock.d.ts.map +1 -0
- package/dist/freshness/scan-lock.js +8 -0
- package/dist/freshness/scan-lock.js.map +1 -0
- package/dist/freshness/stamp.d.ts +25 -0
- package/dist/freshness/stamp.d.ts.map +1 -0
- package/dist/freshness/stamp.js +50 -0
- package/dist/freshness/stamp.js.map +1 -0
- package/dist/git-aware/canonical.d.ts +41 -0
- package/dist/git-aware/canonical.d.ts.map +1 -0
- package/dist/git-aware/canonical.js +111 -0
- package/dist/git-aware/canonical.js.map +1 -0
- package/dist/git-aware/paths.d.ts +7 -0
- package/dist/git-aware/paths.d.ts.map +1 -0
- package/dist/git-aware/paths.js +34 -0
- package/dist/git-aware/paths.js.map +1 -0
- package/dist/git-aware/premerge-diff.d.ts +32 -0
- package/dist/git-aware/premerge-diff.d.ts.map +1 -0
- package/dist/git-aware/premerge-diff.js +87 -0
- package/dist/git-aware/premerge-diff.js.map +1 -0
- package/dist/git-aware/refs.d.ts +32 -0
- package/dist/git-aware/refs.d.ts.map +1 -0
- package/dist/git-aware/refs.js +129 -0
- package/dist/git-aware/refs.js.map +1 -0
- package/dist/git.d.ts +26 -0
- package/dist/git.d.ts.map +1 -0
- package/dist/git.js +47 -0
- package/dist/git.js.map +1 -0
- package/dist/gitignore-safety.d.ts +41 -0
- package/dist/gitignore-safety.d.ts.map +1 -0
- package/dist/gitignore-safety.js +159 -0
- package/dist/gitignore-safety.js.map +1 -0
- package/dist/home-config.d.ts +60 -0
- package/dist/home-config.d.ts.map +1 -0
- package/dist/home-config.js +170 -0
- package/dist/home-config.js.map +1 -0
- package/dist/impact.d.ts +20 -0
- package/dist/impact.d.ts.map +1 -0
- package/dist/impact.js +89 -0
- package/dist/impact.js.map +1 -0
- package/dist/index.d.ts +41 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +56 -1
- package/dist/index.js.map +1 -1
- package/dist/lessons-store.d.ts +93 -0
- package/dist/lessons-store.d.ts.map +1 -0
- package/dist/lessons-store.js +265 -0
- package/dist/lessons-store.js.map +1 -0
- package/dist/llm-dedup.d.ts +46 -0
- package/dist/llm-dedup.d.ts.map +1 -0
- package/dist/llm-dedup.js +382 -0
- package/dist/llm-dedup.js.map +1 -0
- package/dist/mcp/server.d.ts +9 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +152 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/tools.d.ts +305 -0
- package/dist/mcp/tools.d.ts.map +1 -0
- package/dist/mcp/tools.js +853 -0
- package/dist/mcp/tools.js.map +1 -0
- package/dist/memory/health.d.ts +130 -0
- package/dist/memory/health.d.ts.map +1 -0
- package/dist/memory/health.js +366 -0
- package/dist/memory/health.js.map +1 -0
- package/dist/memory/mirror.d.ts +84 -0
- package/dist/memory/mirror.d.ts.map +1 -0
- package/dist/memory/mirror.js +377 -0
- package/dist/memory/mirror.js.map +1 -0
- package/dist/memory/store.d.ts +305 -0
- package/dist/memory/store.d.ts.map +1 -0
- package/dist/memory/store.js +820 -0
- package/dist/memory/store.js.map +1 -0
- package/dist/metrics/pagerank-louvain.d.ts +44 -0
- package/dist/metrics/pagerank-louvain.d.ts.map +1 -0
- package/dist/metrics/pagerank-louvain.js +128 -0
- package/dist/metrics/pagerank-louvain.js.map +1 -0
- package/dist/parsers/scip-runner.d.ts +63 -0
- package/dist/parsers/scip-runner.d.ts.map +1 -0
- package/dist/parsers/scip-runner.js +179 -0
- package/dist/parsers/scip-runner.js.map +1 -0
- package/dist/portfolio/cross-repo.d.ts +13 -0
- package/dist/portfolio/cross-repo.d.ts.map +1 -0
- package/dist/portfolio/cross-repo.js +169 -0
- package/dist/portfolio/cross-repo.js.map +1 -0
- package/dist/portfolio/discover.d.ts +11 -0
- package/dist/portfolio/discover.d.ts.map +1 -0
- package/dist/portfolio/discover.js +77 -0
- package/dist/portfolio/discover.js.map +1 -0
- package/dist/portfolio/scan.d.ts +86 -0
- package/dist/portfolio/scan.d.ts.map +1 -0
- package/dist/portfolio/scan.js +185 -0
- package/dist/portfolio/scan.js.map +1 -0
- package/dist/portfolio/types.d.ts +109 -0
- package/dist/portfolio/types.d.ts.map +1 -0
- package/dist/portfolio/types.js +10 -0
- package/dist/portfolio/types.js.map +1 -0
- package/dist/projects.d.ts +162 -0
- package/dist/projects.d.ts.map +1 -0
- package/dist/projects.js +579 -0
- package/dist/projects.js.map +1 -0
- package/dist/registry-journal.d.ts +199 -0
- package/dist/registry-journal.d.ts.map +1 -0
- package/dist/registry-journal.js +489 -0
- package/dist/registry-journal.js.map +1 -0
- package/dist/registry-lock.d.ts +113 -0
- package/dist/registry-lock.d.ts.map +1 -0
- package/dist/registry-lock.js +281 -0
- package/dist/registry-lock.js.map +1 -0
- package/dist/remote/clone.d.ts +46 -0
- package/dist/remote/clone.d.ts.map +1 -0
- package/dist/remote/clone.js +154 -0
- package/dist/remote/clone.js.map +1 -0
- package/dist/remote/github-url.d.ts +33 -0
- package/dist/remote/github-url.d.ts.map +1 -0
- package/dist/remote/github-url.js +109 -0
- package/dist/remote/github-url.js.map +1 -0
- package/dist/remote/scan-remote.d.ts +54 -0
- package/dist/remote/scan-remote.d.ts.map +1 -0
- package/dist/remote/scan-remote.js +114 -0
- package/dist/remote/scan-remote.js.map +1 -0
- package/dist/resolve.d.ts +25 -0
- package/dist/resolve.d.ts.map +1 -0
- package/dist/resolve.js +149 -0
- package/dist/resolve.js.map +1 -0
- package/dist/review-report.d.ts +50 -0
- package/dist/review-report.d.ts.map +1 -0
- package/dist/review-report.js +123 -0
- package/dist/review-report.js.map +1 -0
- package/dist/rules.d.ts +135 -0
- package/dist/rules.d.ts.map +1 -0
- package/dist/rules.js +640 -0
- package/dist/rules.js.map +1 -0
- package/dist/sandbox.d.ts +38 -0
- package/dist/sandbox.d.ts.map +1 -0
- package/dist/sandbox.js +96 -0
- package/dist/sandbox.js.map +1 -0
- package/dist/scan-lock.d.ts +73 -0
- package/dist/scan-lock.d.ts.map +1 -0
- package/dist/scan-lock.js +555 -0
- package/dist/scan-lock.js.map +1 -0
- package/dist/scanner.d.ts +212 -18
- package/dist/scanner.d.ts.map +1 -1
- package/dist/scanner.js +2493 -244
- package/dist/scanner.js.map +1 -1
- package/dist/scanners/connections/ast-scanner.d.ts +9 -2
- package/dist/scanners/connections/ast-scanner.d.ts.map +1 -1
- package/dist/scanners/connections/ast-scanner.js +19 -4
- package/dist/scanners/connections/ast-scanner.js.map +1 -1
- package/dist/scanners/connections/import-scanner.d.ts +37 -0
- package/dist/scanners/connections/import-scanner.d.ts.map +1 -0
- package/dist/scanners/connections/import-scanner.js +756 -0
- package/dist/scanners/connections/import-scanner.js.map +1 -0
- package/dist/scanners/connections/llm-call-tracer.d.ts +2 -2
- package/dist/scanners/connections/llm-call-tracer.d.ts.map +1 -1
- package/dist/scanners/connections/llm-call-tracer.js +280 -20
- package/dist/scanners/connections/llm-call-tracer.js.map +1 -1
- package/dist/scanners/connections/prisma-calls.d.ts +11 -0
- package/dist/scanners/connections/prisma-calls.d.ts.map +1 -0
- package/dist/scanners/connections/prisma-calls.js +237 -0
- package/dist/scanners/connections/prisma-calls.js.map +1 -0
- package/dist/scanners/connections/python-imports.d.ts +47 -0
- package/dist/scanners/connections/python-imports.d.ts.map +1 -0
- package/dist/scanners/connections/python-imports.js +309 -0
- package/dist/scanners/connections/python-imports.js.map +1 -0
- package/dist/scanners/connections/service-calls.d.ts +1 -1
- package/dist/scanners/connections/service-calls.d.ts.map +1 -1
- package/dist/scanners/connections/service-calls.js +35 -3
- package/dist/scanners/connections/service-calls.js.map +1 -1
- package/dist/scanners/content/markdown-scanner.d.ts +15 -0
- package/dist/scanners/content/markdown-scanner.d.ts.map +1 -0
- package/dist/scanners/content/markdown-scanner.js +347 -0
- package/dist/scanners/content/markdown-scanner.js.map +1 -0
- package/dist/scanners/infrastructure/cron-scanner.d.ts +14 -0
- package/dist/scanners/infrastructure/cron-scanner.d.ts.map +1 -0
- package/dist/scanners/infrastructure/cron-scanner.js +383 -0
- package/dist/scanners/infrastructure/cron-scanner.js.map +1 -0
- package/dist/scanners/infrastructure/deploy-scanner.d.ts +11 -0
- package/dist/scanners/infrastructure/deploy-scanner.d.ts.map +1 -0
- package/dist/scanners/infrastructure/deploy-scanner.js +508 -0
- package/dist/scanners/infrastructure/deploy-scanner.js.map +1 -0
- package/dist/scanners/infrastructure/env-scanner.d.ts +55 -0
- package/dist/scanners/infrastructure/env-scanner.d.ts.map +1 -0
- package/dist/scanners/infrastructure/env-scanner.js +431 -0
- package/dist/scanners/infrastructure/env-scanner.js.map +1 -0
- package/dist/scanners/infrastructure/field-usage-analyzer.d.ts +52 -0
- package/dist/scanners/infrastructure/field-usage-analyzer.d.ts.map +1 -0
- package/dist/scanners/infrastructure/field-usage-analyzer.js +480 -0
- package/dist/scanners/infrastructure/field-usage-analyzer.js.map +1 -0
- package/dist/scanners/infrastructure/prisma-parser.d.ts +23 -0
- package/dist/scanners/infrastructure/prisma-parser.d.ts.map +1 -0
- package/dist/scanners/infrastructure/prisma-parser.js +200 -0
- package/dist/scanners/infrastructure/prisma-parser.js.map +1 -0
- package/dist/scanners/infrastructure/prisma-scanner.d.ts +30 -0
- package/dist/scanners/infrastructure/prisma-scanner.d.ts.map +1 -0
- package/dist/scanners/infrastructure/prisma-scanner.js +329 -0
- package/dist/scanners/infrastructure/prisma-scanner.js.map +1 -0
- package/dist/scanners/infrastructure/queue-scanner.d.ts +14 -0
- package/dist/scanners/infrastructure/queue-scanner.d.ts.map +1 -0
- package/dist/scanners/infrastructure/queue-scanner.js +455 -0
- package/dist/scanners/infrastructure/queue-scanner.js.map +1 -0
- package/dist/scanners/infrastructure/typespec-validator.d.ts +50 -0
- package/dist/scanners/infrastructure/typespec-validator.d.ts.map +1 -0
- package/dist/scanners/infrastructure/typespec-validator.js +407 -0
- package/dist/scanners/infrastructure/typespec-validator.js.map +1 -0
- package/dist/scanners/packages/cargo.d.ts +14 -0
- package/dist/scanners/packages/cargo.d.ts.map +1 -0
- package/dist/scanners/packages/cargo.js +443 -0
- package/dist/scanners/packages/cargo.js.map +1 -0
- package/dist/scanners/packages/swift.d.ts +5 -0
- package/dist/scanners/packages/swift.d.ts.map +1 -1
- package/dist/scanners/packages/swift.js +43 -0
- package/dist/scanners/packages/swift.js.map +1 -1
- package/dist/scanners/prompts/detector.d.ts +13 -2
- package/dist/scanners/prompts/detector.d.ts.map +1 -1
- package/dist/scanners/prompts/detector.js +97 -46
- package/dist/scanners/prompts/detector.js.map +1 -1
- package/dist/scanners/prompts/index.d.ts +1 -1
- package/dist/scanners/prompts/index.d.ts.map +1 -1
- package/dist/scanners/prompts/index.js +2 -2
- package/dist/scanners/prompts/index.js.map +1 -1
- package/dist/scanners/rust/code-scanner.d.ts +17 -0
- package/dist/scanners/rust/code-scanner.d.ts.map +1 -0
- package/dist/scanners/rust/code-scanner.js +477 -0
- package/dist/scanners/rust/code-scanner.js.map +1 -0
- package/dist/scanners/scan-limits.d.ts +34 -0
- package/dist/scanners/scan-limits.d.ts.map +1 -0
- package/dist/scanners/scan-limits.js +107 -0
- package/dist/scanners/scan-limits.js.map +1 -0
- package/dist/scanners/swift/code-scanner.d.ts +16 -1
- package/dist/scanners/swift/code-scanner.d.ts.map +1 -1
- package/dist/scanners/swift/code-scanner.js +745 -40
- package/dist/scanners/swift/code-scanner.js.map +1 -1
- package/dist/scanners/swift/swiftui-scanner.d.ts +45 -0
- package/dist/scanners/swift/swiftui-scanner.d.ts.map +1 -0
- package/dist/scanners/swift/swiftui-scanner.js +624 -0
- package/dist/scanners/swift/swiftui-scanner.js.map +1 -0
- package/dist/scanners/xcode/pbxproj-parser.d.ts +32 -0
- package/dist/scanners/xcode/pbxproj-parser.d.ts.map +1 -0
- package/dist/scanners/xcode/pbxproj-parser.js +407 -0
- package/dist/scanners/xcode/pbxproj-parser.js.map +1 -0
- package/dist/scanners/xcode/storyboard-scanner.d.ts +13 -0
- package/dist/scanners/xcode/storyboard-scanner.d.ts.map +1 -0
- package/dist/scanners/xcode/storyboard-scanner.js +246 -0
- package/dist/scanners/xcode/storyboard-scanner.js.map +1 -0
- package/dist/setup.d.ts.map +1 -1
- package/dist/setup.js +16 -64
- package/dist/setup.js.map +1 -1
- package/dist/storage/markdown-view.d.ts +49 -0
- package/dist/storage/markdown-view.d.ts.map +1 -0
- package/dist/storage/markdown-view.js +233 -0
- package/dist/storage/markdown-view.js.map +1 -0
- package/dist/storage.d.ts +244 -9
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +1022 -87
- package/dist/storage.js.map +1 -1
- package/dist/subgraph.d.ts +30 -0
- package/dist/subgraph.d.ts.map +1 -0
- package/dist/subgraph.js +106 -0
- package/dist/subgraph.js.map +1 -0
- package/dist/temporal/git-store.d.ts +65 -0
- package/dist/temporal/git-store.d.ts.map +1 -0
- package/dist/temporal/git-store.js +166 -0
- package/dist/temporal/git-store.js.map +1 -0
- package/dist/trace.d.ts +39 -0
- package/dist/trace.d.ts.map +1 -0
- package/dist/trace.js +353 -0
- package/dist/trace.js.map +1 -0
- package/dist/types.d.ts +598 -6
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +53 -0
- package/dist/types.js.map +1 -1
- package/dist/vendor-paths.d.ts +30 -0
- package/dist/vendor-paths.d.ts.map +1 -0
- package/dist/vendor-paths.js +67 -0
- package/dist/vendor-paths.js.map +1 -0
- package/dist/version.d.ts +5 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +8 -0
- package/dist/version.js.map +1 -0
- package/hooks/hooks.json +1 -55
- package/hooks/mark-dirty.sh +20 -0
- package/hooks/post-bash-suggest.sh +30 -0
- package/hooks/post-edit-suggest.sh +29 -0
- package/hooks/pre-edit-warn.sh +28 -0
- package/hooks/session-start.sh +19 -0
- package/hooks/stop-suggest.sh +49 -0
- package/mcp-optin/README.md +67 -0
- package/mcp-optin/claude.mcp.json +8 -0
- package/mcp-optin/codex.mcp.json +9 -0
- package/package.json +47 -25
- package/scripts/install-codex-plugin.sh +756 -0
- package/scripts/install-plugin.sh +473 -64
- package/scripts/promote-lessons.py +385 -0
- package/skills/architecture-export/SKILL.md +83 -0
- package/skills/architecture-scan/SKILL.md +69 -0
- package/skills/code-review/SKILL.md +375 -0
- package/skills/impact-analysis/SKILL.md +78 -0
- package/skills/infrastructure-scanning/SKILL.md +44 -0
- package/skills/navgator-setup/SKILL.md +205 -0
- package/web/runtime/.next/BUILD_ID +1 -0
- package/web/runtime/.next/app-path-routes-manifest.json +18 -0
- package/web/runtime/.next/build-manifest.json +20 -0
- package/web/runtime/.next/prerender-manifest.json +85 -0
- package/web/runtime/.next/required-server-files.json +334 -0
- package/web/runtime/.next/routes-manifest.json +156 -0
- package/web/runtime/.next/server/app/_global-error/page/build-manifest.json +16 -0
- package/web/runtime/.next/server/app/_global-error/page.js +9 -0
- package/web/runtime/.next/server/app/_global-error/page.js.nft.json +1 -0
- package/web/runtime/.next/server/app/_global-error/page_client-reference-manifest.js +3 -0
- package/web/runtime/.next/server/app/_global-error.html +1 -0
- package/web/runtime/.next/server/app/_global-error.rsc +14 -0
- package/web/runtime/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +5 -0
- package/web/runtime/.next/server/app/_global-error.segments/_full.segment.rsc +14 -0
- package/web/runtime/.next/server/app/_global-error.segments/_head.segment.rsc +5 -0
- package/web/runtime/.next/server/app/_global-error.segments/_index.segment.rsc +5 -0
- package/web/runtime/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
- package/web/runtime/.next/server/app/_not-found/page/build-manifest.json +16 -0
- package/web/runtime/.next/server/app/_not-found/page/next-font-manifest.json +11 -0
- package/web/runtime/.next/server/app/_not-found/page.js +12 -0
- package/web/runtime/.next/server/app/_not-found/page.js.nft.json +1 -0
- package/web/runtime/.next/server/app/_not-found/page_client-reference-manifest.js +3 -0
- package/web/runtime/.next/server/app/_not-found.html +1 -0
- package/web/runtime/.next/server/app/_not-found.rsc +19 -0
- package/web/runtime/.next/server/app/_not-found.segments/_full.segment.rsc +19 -0
- package/web/runtime/.next/server/app/_not-found.segments/_head.segment.rsc +6 -0
- package/web/runtime/.next/server/app/_not-found.segments/_index.segment.rsc +8 -0
- package/web/runtime/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +5 -0
- package/web/runtime/.next/server/app/_not-found.segments/_not-found.segment.rsc +5 -0
- package/web/runtime/.next/server/app/_not-found.segments/_tree.segment.rsc +3 -0
- package/web/runtime/.next/server/app/api/components/route/build-manifest.json +9 -0
- package/web/runtime/.next/server/app/api/components/route.js +7 -0
- package/web/runtime/.next/server/app/api/components/route.js.nft.json +1 -0
- package/web/runtime/.next/server/app/api/components/route_client-reference-manifest.js +3 -0
- package/web/runtime/.next/server/app/api/connections/route/build-manifest.json +9 -0
- package/web/runtime/.next/server/app/api/connections/route.js +7 -0
- package/web/runtime/.next/server/app/api/connections/route.js.nft.json +1 -0
- package/web/runtime/.next/server/app/api/connections/route_client-reference-manifest.js +3 -0
- package/web/runtime/.next/server/app/api/coverage/route/app-paths-manifest.json +3 -0
- package/web/runtime/.next/server/app/api/coverage/route/build-manifest.json +9 -0
- package/web/runtime/.next/server/app/api/coverage/route.js +7 -0
- package/web/runtime/.next/server/app/api/coverage/route.js.nft.json +1 -0
- package/web/runtime/.next/server/app/api/coverage/route_client-reference-manifest.js +3 -0
- package/web/runtime/.next/server/app/api/graph/route/build-manifest.json +9 -0
- package/web/runtime/.next/server/app/api/graph/route.js +7 -0
- package/web/runtime/.next/server/app/api/graph/route.js.nft.json +1 -0
- package/web/runtime/.next/server/app/api/graph/route_client-reference-manifest.js +3 -0
- package/web/runtime/.next/server/app/api/projects/route/build-manifest.json +9 -0
- package/web/runtime/.next/server/app/api/projects/route.js +7 -0
- package/web/runtime/.next/server/app/api/projects/route.js.nft.json +1 -0
- package/web/runtime/.next/server/app/api/projects/route_client-reference-manifest.js +3 -0
- package/web/runtime/.next/server/app/api/prompts/route/build-manifest.json +9 -0
- package/web/runtime/.next/server/app/api/prompts/route.js +8 -0
- package/web/runtime/.next/server/app/api/prompts/route.js.nft.json +1 -0
- package/web/runtime/.next/server/app/api/prompts/route_client-reference-manifest.js +3 -0
- package/web/runtime/.next/server/app/api/registry-health/route/app-paths-manifest.json +3 -0
- package/web/runtime/.next/server/app/api/registry-health/route/build-manifest.json +9 -0
- package/web/runtime/.next/server/app/api/registry-health/route.js +6 -0
- package/web/runtime/.next/server/app/api/registry-health/route.js.nft.json +1 -0
- package/web/runtime/.next/server/app/api/registry-health/route_client-reference-manifest.js +3 -0
- package/web/runtime/.next/server/app/api/rules/route/app-paths-manifest.json +3 -0
- package/web/runtime/.next/server/app/api/rules/route/build-manifest.json +9 -0
- package/web/runtime/.next/server/app/api/rules/route.js +7 -0
- package/web/runtime/.next/server/app/api/rules/route.js.nft.json +1 -0
- package/web/runtime/.next/server/app/api/rules/route_client-reference-manifest.js +3 -0
- package/web/runtime/.next/server/app/api/scan/route/build-manifest.json +9 -0
- package/web/runtime/.next/server/app/api/scan/route.js +7 -0
- package/web/runtime/.next/server/app/api/scan/route.js.nft.json +1 -0
- package/web/runtime/.next/server/app/api/scan/route_client-reference-manifest.js +3 -0
- package/web/runtime/.next/server/app/api/settings/route/build-manifest.json +9 -0
- package/web/runtime/.next/server/app/api/settings/route/server-reference-manifest.json +4 -0
- package/web/runtime/.next/server/app/api/settings/route.js +7 -0
- package/web/runtime/.next/server/app/api/settings/route.js.map +5 -0
- package/web/runtime/.next/server/app/api/settings/route.js.nft.json +1 -0
- package/web/runtime/.next/server/app/api/settings/route_client-reference-manifest.js +3 -0
- package/web/runtime/.next/server/app/api/status/route/build-manifest.json +9 -0
- package/web/runtime/.next/server/app/api/status/route/server-reference-manifest.json +4 -0
- package/web/runtime/.next/server/app/api/status/route.js +7 -0
- package/web/runtime/.next/server/app/api/status/route.js.map +5 -0
- package/web/runtime/.next/server/app/api/status/route.js.nft.json +1 -0
- package/web/runtime/.next/server/app/api/status/route_client-reference-manifest.js +3 -0
- package/web/runtime/.next/server/app/api/subgraph/route/app-paths-manifest.json +3 -0
- package/web/runtime/.next/server/app/api/subgraph/route/build-manifest.json +9 -0
- package/web/runtime/.next/server/app/api/subgraph/route/server-reference-manifest.json +4 -0
- package/web/runtime/.next/server/app/api/subgraph/route.js +7 -0
- package/web/runtime/.next/server/app/api/subgraph/route.js.map +5 -0
- package/web/runtime/.next/server/app/api/subgraph/route.js.nft.json +1 -0
- package/web/runtime/.next/server/app/api/subgraph/route_client-reference-manifest.js +3 -0
- package/web/runtime/.next/server/app/api/trace/route/app-paths-manifest.json +3 -0
- package/web/runtime/.next/server/app/api/trace/route/build-manifest.json +9 -0
- package/web/runtime/.next/server/app/api/trace/route/server-reference-manifest.json +4 -0
- package/web/runtime/.next/server/app/api/trace/route.js +7 -0
- package/web/runtime/.next/server/app/api/trace/route.js.map +5 -0
- package/web/runtime/.next/server/app/api/trace/route.js.nft.json +1 -0
- package/web/runtime/.next/server/app/api/trace/route_client-reference-manifest.js +3 -0
- package/web/runtime/.next/server/app/index.html +1 -0
- package/web/runtime/.next/server/app/index.rsc +23 -0
- package/web/runtime/.next/server/app/index.segments/__PAGE__.segment.rsc +9 -0
- package/web/runtime/.next/server/app/index.segments/_full.segment.rsc +23 -0
- package/web/runtime/.next/server/app/index.segments/_head.segment.rsc +6 -0
- package/web/runtime/.next/server/app/index.segments/_index.segment.rsc +8 -0
- package/web/runtime/.next/server/app/index.segments/_tree.segment.rsc +5 -0
- package/web/runtime/.next/server/app/page/build-manifest.json +16 -0
- package/web/runtime/.next/server/app/page/next-font-manifest.json +11 -0
- package/web/runtime/.next/server/app/page/server-reference-manifest.json +4 -0
- package/web/runtime/.next/server/app/page.js +13 -0
- package/web/runtime/.next/server/app/page.js.map +5 -0
- package/web/runtime/.next/server/app/page.js.nft.json +1 -0
- package/web/runtime/.next/server/app/page_client-reference-manifest.js +3 -0
- package/web/runtime/.next/server/app-paths-manifest.json +18 -0
- package/web/runtime/.next/server/chunks/[externals]__05l4bet._.js +3 -0
- package/web/runtime/.next/server/chunks/[root-of-the-server]__056mgo_._.js +20 -0
- package/web/runtime/.next/server/chunks/[root-of-the-server]__0_k1tzx._.js +3 -0
- package/web/runtime/.next/server/chunks/[root-of-the-server]__0d-ts7d._.js +3 -0
- package/web/runtime/.next/server/chunks/[root-of-the-server]__0fo8n2u._.js +3 -0
- package/web/runtime/.next/server/chunks/[root-of-the-server]__0i-k0ag._.js +3 -0
- package/web/runtime/.next/server/chunks/[root-of-the-server]__0i3hbar._.js +3 -0
- package/web/runtime/.next/server/chunks/[root-of-the-server]__0uvvtqn._.js +3 -0
- package/web/runtime/.next/server/chunks/[root-of-the-server]__0xuaoik._.js +15 -0
- package/web/runtime/.next/server/chunks/[root-of-the-server]__10psfhb._.js +3 -0
- package/web/runtime/.next/server/chunks/[root-of-the-server]__12eq1it._.js +5 -0
- package/web/runtime/.next/server/chunks/[root-of-the-server]__14j842l._.js +3 -0
- package/web/runtime/.next/server/chunks/[root-of-the-server]__1a_7qvz._.js +3 -0
- package/web/runtime/.next/server/chunks/[root-of-the-server]__1k5hws0._.js +3 -0
- package/web/runtime/.next/server/chunks/[root-of-the-server]__1q2pd1s._.js +3 -0
- package/web/runtime/.next/server/chunks/[root-of-the-server]__1rcdz8m._.js +3 -0
- package/web/runtime/.next/server/chunks/[root-of-the-server]__1vxkow2._.js +3 -0
- package/web/runtime/.next/server/chunks/[turbopack]_runtime.js +903 -0
- package/web/runtime/.next/server/chunks/_next-internal_server_app_api_components_route_actions_1sc-nuu.js +3 -0
- package/web/runtime/.next/server/chunks/_next-internal_server_app_api_connections_route_actions_20wls3v.js +3 -0
- package/web/runtime/.next/server/chunks/_next-internal_server_app_api_coverage_route_actions_16f5ldo.js +3 -0
- package/web/runtime/.next/server/chunks/_next-internal_server_app_api_graph_route_actions_0jb26mw.js +3 -0
- package/web/runtime/.next/server/chunks/_next-internal_server_app_api_projects_route_actions_0h5ne2f.js +3 -0
- package/web/runtime/.next/server/chunks/_next-internal_server_app_api_prompts_route_actions_0pc_dbq.js +3 -0
- package/web/runtime/.next/server/chunks/_next-internal_server_app_api_registry-health_route_actions_13v9930.js +3 -0
- package/web/runtime/.next/server/chunks/_next-internal_server_app_api_rules_route_actions_1qjfstf.js +3 -0
- package/web/runtime/.next/server/chunks/_next-internal_server_app_api_scan_route_actions_0_k8ox1.js +3 -0
- package/web/runtime/.next/server/chunks/_next-internal_server_app_api_settings_route_actions_1bpm9ac.js +3 -0
- package/web/runtime/.next/server/chunks/_next-internal_server_app_api_status_route_actions_1qgdeto.js +3 -0
- package/web/runtime/.next/server/chunks/_next-internal_server_app_api_subgraph_route_actions_1zy-3xw.js +3 -0
- package/web/runtime/.next/server/chunks/_next-internal_server_app_api_trace_route_actions_09yhvhh.js +3 -0
- package/web/runtime/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_1cdz2zc.js +3 -0
- package/web/runtime/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_1h09hx7.js +19 -0
- package/web/runtime/.next/server/chunks/ssr/[root-of-the-server]__03o8wzg._.js +3 -0
- package/web/runtime/.next/server/chunks/ssr/[root-of-the-server]__0dmjl_-._.js +3 -0
- package/web/runtime/.next/server/chunks/ssr/[root-of-the-server]__0ln09ua._.js +3 -0
- package/web/runtime/.next/server/chunks/ssr/[root-of-the-server]__16duv6v._.js +3 -0
- package/web/runtime/.next/server/chunks/ssr/[root-of-the-server]__1dky4g0._.js +33 -0
- package/web/runtime/.next/server/chunks/ssr/[root-of-the-server]__1vhgpuw._.js +33 -0
- package/web/runtime/.next/server/chunks/ssr/[root-of-the-server]__1y5s__6._.js +3 -0
- package/web/runtime/.next/server/chunks/ssr/[turbopack]_runtime.js +903 -0
- package/web/runtime/.next/server/chunks/ssr/_1cfmrz7._.js +25 -0
- package/web/runtime/.next/server/chunks/ssr/_next-internal_server_app__global-error_page_actions_0zi5s8-.js +3 -0
- package/web/runtime/.next/server/chunks/ssr/_next-internal_server_app__not-found_page_actions_0pt47yr.js +3 -0
- package/web/runtime/.next/server/chunks/ssr/_next-internal_server_app_page_actions_0hhsz1j.js +3 -0
- package/web/runtime/.next/server/chunks/ssr/node_modules_0h91jdk._.js +33 -0
- package/web/runtime/.next/server/chunks/ssr/node_modules_@swc_helpers_cjs__interop_require_default_cjs_1ztp13a._.js +3 -0
- package/web/runtime/.next/server/chunks/ssr/node_modules_next_dist_18tu5cb._.js +6 -0
- package/web/runtime/.next/server/chunks/ssr/node_modules_next_dist_1_ziy9k._.js +21 -0
- package/web/runtime/.next/server/chunks/ssr/node_modules_next_dist_client_components_0wpq8j3._.js +3 -0
- package/web/runtime/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_0symwr9.js +3 -0
- package/web/runtime/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_0-o-goa.js +3 -0
- package/web/runtime/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0l_sp0x.js +3 -0
- package/web/runtime/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_12cvwrh.js +4 -0
- package/web/runtime/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_19--w_z.js +4 -0
- package/web/runtime/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1nazowj.js +4 -0
- package/web/runtime/.next/server/functions-config-manifest.json +14 -0
- package/web/runtime/.next/server/middleware-build-manifest.js +20 -0
- package/web/runtime/.next/server/middleware.js +5 -0
- package/web/runtime/.next/server/next-font-manifest.js +1 -0
- package/web/runtime/.next/server/next-font-manifest.json +15 -0
- package/web/runtime/.next/server/pages/404.html +1 -0
- package/web/runtime/.next/server/pages/500.html +1 -0
- package/web/runtime/.next/server/prefetch-hints.json +1 -0
- package/web/runtime/.next/server/server-reference-manifest.js +1 -0
- package/web/runtime/.next/server/server-reference-manifest.json +5 -0
- package/web/runtime/.next/static/chunks/0lh3b_825aiwf.css +1 -0
- package/web/runtime/.next/static/chunks/16k9xgpx_hr16.js +23 -0
- package/web/runtime/.next/static/chunks/1d4h-sglyo8ft.js +1 -0
- package/web/runtime/.next/static/chunks/1htrq_0kw706i.js +5 -0
- package/web/runtime/.next/static/chunks/1i1m3-f_1qa77.js +1 -0
- package/web/runtime/.next/static/chunks/1upe53-127sm4.js +1 -0
- package/web/runtime/.next/static/chunks/25c-48-vms73p.css +2 -0
- package/web/runtime/.next/static/chunks/2nwqoerny79-z.js +31 -0
- package/web/runtime/.next/static/chunks/2q7rj7sdyymkj.js +1 -0
- package/web/runtime/.next/static/chunks/turbopack-1zsbqn2yjvkmq.js +1 -0
- package/web/runtime/.next/static/media/4fa387ec64143e14-s.2tuy5pz7dlieh.woff2 +0 -0
- package/web/runtime/.next/static/media/53b9e256198e5412-s.390ncx5urfkfu.woff2 +0 -0
- package/web/runtime/.next/static/media/5ce348bf30bf5439-s.31988l_ccedte.woff2 +0 -0
- package/web/runtime/.next/static/media/6306c77e7c8268e4-s.2dbetqa9o8jxf.woff2 +0 -0
- package/web/runtime/.next/static/media/7178b3e590c64307-s.21jp631_3pja2.woff2 +0 -0
- package/web/runtime/.next/static/media/797e433ab948586e-s.p.0r6juujl39pe6.woff2 +0 -0
- package/web/runtime/.next/static/media/7d817b4c03b0c5f1-s.1uyisp29ctx0d.woff2 +0 -0
- package/web/runtime/.next/static/media/8a480f0b521d4e75-s.1qq4vpdcun5oj.woff2 +0 -0
- package/web/runtime/.next/static/media/bbc41e54d2fcbd21-s.1rgnod-3esatf.woff2 +0 -0
- package/web/runtime/.next/static/media/caa3a2e1cccd8315-s.p.0wgildi0cnwt9.woff2 +0 -0
- package/web/runtime/.next/static/media/fef07dbb0973bf53-s.3p2_lha1f2xer.woff2 +0 -0
- package/web/runtime/.next/static/t3UvrbzeeDimLG5J5Co_p/_clientMiddlewareManifest.js +6 -0
- package/web/runtime/packages/@next/env/dist/index.js +1 -0
- package/web/runtime/packages/@next/env/package.json +35 -0
- package/web/runtime/packages/@swc/helpers/cjs/_interop_require_default.cjs +6 -0
- package/web/runtime/packages/@swc/helpers/cjs/_interop_require_wildcard.cjs +38 -0
- package/web/runtime/packages/@swc/helpers/package.json +471 -0
- package/web/runtime/packages/client-only/index.js +0 -0
- package/web/runtime/packages/client-only/package.json +19 -0
- package/web/runtime/packages/next/dist/build/adapter/setup-node-env.external.js +15 -0
- package/web/runtime/packages/next/dist/build/define-env.js +255 -0
- package/web/runtime/packages/next/dist/build/duration-to-string.js +99 -0
- package/web/runtime/packages/next/dist/build/get-supported-browsers.js +38 -0
- package/web/runtime/packages/next/dist/build/next-config-ts/require-hook.js +85 -0
- package/web/runtime/packages/next/dist/build/next-config-ts/transpile-config.js +140 -0
- package/web/runtime/packages/next/dist/build/output/format.js +84 -0
- package/web/runtime/packages/next/dist/build/output/log.js +135 -0
- package/web/runtime/packages/next/dist/build/segment-config/app/app-segment-config.js +162 -0
- package/web/runtime/packages/next/dist/build/segment-config/app/app-segments.js +137 -0
- package/web/runtime/packages/next/dist/build/segment-config/app/collect-root-param-keys.js +52 -0
- package/web/runtime/packages/next/dist/build/static-paths/app/extract-pathname-route-param-segments-from-loader-tree.js +137 -0
- package/web/runtime/packages/next/dist/build/static-paths/app.js +736 -0
- package/web/runtime/packages/next/dist/build/static-paths/pages.js +169 -0
- package/web/runtime/packages/next/dist/build/static-paths/utils.js +119 -0
- package/web/runtime/packages/next/dist/build/swc/helpers.js +15 -0
- package/web/runtime/packages/next/dist/build/swc/index.js +1348 -0
- package/web/runtime/packages/next/dist/build/swc/install-bindings.js +30 -0
- package/web/runtime/packages/next/dist/build/swc/jest-transformer.js +76 -0
- package/web/runtime/packages/next/dist/build/swc/loaderWorkerPool.js +40 -0
- package/web/runtime/packages/next/dist/build/swc/options.js +403 -0
- package/web/runtime/packages/next/dist/build/swc/types.js +6 -0
- package/web/runtime/packages/next/dist/build/utils.js +1216 -0
- package/web/runtime/packages/next/dist/cli/next-test.js +171 -0
- package/web/runtime/packages/next/dist/client/add-base-path.js +24 -0
- package/web/runtime/packages/next/dist/client/app-call-server.js +34 -0
- package/web/runtime/packages/next/dist/client/app-find-source-map-url.js +39 -0
- package/web/runtime/packages/next/dist/client/assign-location.js +29 -0
- package/web/runtime/packages/next/dist/client/components/app-router-announcer.js +78 -0
- package/web/runtime/packages/next/dist/client/components/app-router-headers.js +138 -0
- package/web/runtime/packages/next/dist/client/components/app-router-instance.js +397 -0
- package/web/runtime/packages/next/dist/client/components/app-router-utils.js +62 -0
- package/web/runtime/packages/next/dist/client/components/app-router.js +514 -0
- package/web/runtime/packages/next/dist/client/components/builtin/default.js +35 -0
- package/web/runtime/packages/next/dist/client/components/builtin/error-styles.js +165 -0
- package/web/runtime/packages/next/dist/client/components/builtin/global-error.js +100 -0
- package/web/runtime/packages/next/dist/client/components/dev-root-http-access-fallback-boundary.js +52 -0
- package/web/runtime/packages/next/dist/client/components/error-boundary.js +144 -0
- package/web/runtime/packages/next/dist/client/components/errors/graceful-degrade-boundary.js +86 -0
- package/web/runtime/packages/next/dist/client/components/errors/root-error-boundary.js +41 -0
- package/web/runtime/packages/next/dist/client/components/forbidden.js +48 -0
- package/web/runtime/packages/next/dist/client/components/handle-isr-error.js +30 -0
- package/web/runtime/packages/next/dist/client/components/hooks-server-context.js +42 -0
- package/web/runtime/packages/next/dist/client/components/http-access-fallback/error-boundary.js +125 -0
- package/web/runtime/packages/next/dist/client/components/http-access-fallback/http-access-fallback.js +72 -0
- package/web/runtime/packages/next/dist/client/components/is-next-router-error.js +23 -0
- package/web/runtime/packages/next/dist/client/components/links.js +299 -0
- package/web/runtime/packages/next/dist/client/components/match-segments.js +32 -0
- package/web/runtime/packages/next/dist/client/components/nav-failure-handler.js +61 -0
- package/web/runtime/packages/next/dist/client/components/navigation-devtools.js +126 -0
- package/web/runtime/packages/next/dist/client/components/navigation-untracked.js +67 -0
- package/web/runtime/packages/next/dist/client/components/navigation.js +225 -0
- package/web/runtime/packages/next/dist/client/components/navigation.react-server.js +75 -0
- package/web/runtime/packages/next/dist/client/components/not-found.js +42 -0
- package/web/runtime/packages/next/dist/client/components/readonly-url-search-params.js +41 -0
- package/web/runtime/packages/next/dist/client/components/redirect-boundary.js +107 -0
- package/web/runtime/packages/next/dist/client/components/redirect-error.js +43 -0
- package/web/runtime/packages/next/dist/client/components/redirect-status-code.js +24 -0
- package/web/runtime/packages/next/dist/client/components/redirect.js +91 -0
- package/web/runtime/packages/next/dist/client/components/router-reducer/compute-changed-path.js +201 -0
- package/web/runtime/packages/next/dist/client/components/router-reducer/create-href-from-url.js +21 -0
- package/web/runtime/packages/next/dist/client/components/router-reducer/create-initial-router-state.js +153 -0
- package/web/runtime/packages/next/dist/client/components/router-reducer/create-router-cache-key.js +32 -0
- package/web/runtime/packages/next/dist/client/components/router-reducer/fetch-server-response.js +457 -0
- package/web/runtime/packages/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js +59 -0
- package/web/runtime/packages/next/dist/client/components/router-reducer/ppr-navigations.js +1341 -0
- package/web/runtime/packages/next/dist/client/components/router-reducer/reducers/committed-state.js +49 -0
- package/web/runtime/packages/next/dist/client/components/router-reducer/reducers/find-head-in-cache.js +63 -0
- package/web/runtime/packages/next/dist/client/components/router-reducer/reducers/has-interception-route-in-current-tree.js +38 -0
- package/web/runtime/packages/next/dist/client/components/router-reducer/reducers/hmr-refresh-reducer.js +23 -0
- package/web/runtime/packages/next/dist/client/components/router-reducer/reducers/navigate-reducer.js +56 -0
- package/web/runtime/packages/next/dist/client/components/router-reducer/reducers/refresh-reducer.js +83 -0
- package/web/runtime/packages/next/dist/client/components/router-reducer/reducers/restore-reducer.js +62 -0
- package/web/runtime/packages/next/dist/client/components/router-reducer/reducers/server-action-reducer.js +320 -0
- package/web/runtime/packages/next/dist/client/components/router-reducer/reducers/server-patch-reducer.js +58 -0
- package/web/runtime/packages/next/dist/client/components/router-reducer/router-reducer-types.js +70 -0
- package/web/runtime/packages/next/dist/client/components/router-reducer/router-reducer.js +66 -0
- package/web/runtime/packages/next/dist/client/components/router-reducer/set-cache-busting-search-param.js +66 -0
- package/web/runtime/packages/next/dist/client/components/segment-cache/bfcache.js +128 -0
- package/web/runtime/packages/next/dist/client/components/segment-cache/cache-key.js +28 -0
- package/web/runtime/packages/next/dist/client/components/segment-cache/cache-map.js +305 -0
- package/web/runtime/packages/next/dist/client/components/segment-cache/cache.js +1933 -0
- package/web/runtime/packages/next/dist/client/components/segment-cache/lru.js +152 -0
- package/web/runtime/packages/next/dist/client/components/segment-cache/navigation-testing-lock.js +194 -0
- package/web/runtime/packages/next/dist/client/components/segment-cache/navigation.js +597 -0
- package/web/runtime/packages/next/dist/client/components/segment-cache/optimistic-routes.js +543 -0
- package/web/runtime/packages/next/dist/client/components/segment-cache/prefetch.js +31 -0
- package/web/runtime/packages/next/dist/client/components/segment-cache/scheduler.js +1249 -0
- package/web/runtime/packages/next/dist/client/components/segment-cache/types.js +69 -0
- package/web/runtime/packages/next/dist/client/components/segment-cache/vary-path.js +278 -0
- package/web/runtime/packages/next/dist/client/components/static-generation-bailout.js +42 -0
- package/web/runtime/packages/next/dist/client/components/unauthorized.js +49 -0
- package/web/runtime/packages/next/dist/client/components/unrecognized-action-error.js +39 -0
- package/web/runtime/packages/next/dist/client/components/unresolved-thenable.js +23 -0
- package/web/runtime/packages/next/dist/client/components/unstable-rethrow.browser.js +28 -0
- package/web/runtime/packages/next/dist/client/components/unstable-rethrow.js +25 -0
- package/web/runtime/packages/next/dist/client/components/unstable-rethrow.server.js +32 -0
- package/web/runtime/packages/next/dist/client/components/use-action-queue.js +148 -0
- package/web/runtime/packages/next/dist/client/dev/debug-channel.js +172 -0
- package/web/runtime/packages/next/dist/client/flight-data-helpers.js +232 -0
- package/web/runtime/packages/next/dist/client/has-base-path.js +23 -0
- package/web/runtime/packages/next/dist/client/lib/console.js +177 -0
- package/web/runtime/packages/next/dist/client/lib/javascript-url.js +32 -0
- package/web/runtime/packages/next/dist/client/navigation-build-id.js +53 -0
- package/web/runtime/packages/next/dist/client/normalize-trailing-slash.js +36 -0
- package/web/runtime/packages/next/dist/client/remove-base-path.js +32 -0
- package/web/runtime/packages/next/dist/client/route-params.js +247 -0
- package/web/runtime/packages/next/dist/compiled/@edge-runtime/cookies/index.js +339 -0
- package/web/runtime/packages/next/dist/compiled/@edge-runtime/cookies/package.json +1 -0
- package/web/runtime/packages/next/dist/compiled/@edge-runtime/ponyfill/index.js +46 -0
- package/web/runtime/packages/next/dist/compiled/@edge-runtime/ponyfill/package.json +1 -0
- package/web/runtime/packages/next/dist/compiled/@edge-runtime/primitives/abort-controller.js.text.js +1 -0
- package/web/runtime/packages/next/dist/compiled/@edge-runtime/primitives/console.js.text.js +1 -0
- package/web/runtime/packages/next/dist/compiled/@edge-runtime/primitives/events.js.text.js +1 -0
- package/web/runtime/packages/next/dist/compiled/@edge-runtime/primitives/index.js +5 -0
- package/web/runtime/packages/next/dist/compiled/@edge-runtime/primitives/load.js +18713 -0
- package/web/runtime/packages/next/dist/compiled/@edge-runtime/primitives/package.json +1 -0
- package/web/runtime/packages/next/dist/compiled/@edge-runtime/primitives/stream.js +44 -0
- package/web/runtime/packages/next/dist/compiled/@edge-runtime/primitives/timers.js.text.js +1 -0
- package/web/runtime/packages/next/dist/compiled/@edge-runtime/primitives/url.js.text.js +1 -0
- package/web/runtime/packages/next/dist/compiled/@hapi/accept/index.js +1 -0
- package/web/runtime/packages/next/dist/compiled/@hapi/accept/package.json +1 -0
- package/web/runtime/packages/next/dist/compiled/@mswjs/interceptors/ClientRequest/index.js +1 -0
- package/web/runtime/packages/next/dist/compiled/@mswjs/interceptors/ClientRequest/package.json +1 -0
- package/web/runtime/packages/next/dist/compiled/@napi-rs/triples/index.js +1 -0
- package/web/runtime/packages/next/dist/compiled/@napi-rs/triples/package.json +1 -0
- package/web/runtime/packages/next/dist/compiled/@opentelemetry/api/index.js +1 -0
- package/web/runtime/packages/next/dist/compiled/@opentelemetry/api/package.json +1 -0
- package/web/runtime/packages/next/dist/compiled/async-retry/index.js +1 -0
- package/web/runtime/packages/next/dist/compiled/async-retry/package.json +1 -0
- package/web/runtime/packages/next/dist/compiled/async-sema/index.js +1 -0
- package/web/runtime/packages/next/dist/compiled/async-sema/package.json +1 -0
- package/web/runtime/packages/next/dist/compiled/busboy/index.js +1 -0
- package/web/runtime/packages/next/dist/compiled/busboy/package.json +1 -0
- package/web/runtime/packages/next/dist/compiled/bytes/index.js +8 -0
- package/web/runtime/packages/next/dist/compiled/bytes/package.json +1 -0
- package/web/runtime/packages/next/dist/compiled/ci-info/index.js +1 -0
- package/web/runtime/packages/next/dist/compiled/ci-info/package.json +1 -0
- package/web/runtime/packages/next/dist/compiled/commander/index.js +1 -0
- package/web/runtime/packages/next/dist/compiled/commander/package.json +1 -0
- package/web/runtime/packages/next/dist/compiled/comment-json/index.js +7 -0
- package/web/runtime/packages/next/dist/compiled/comment-json/package.json +1 -0
- package/web/runtime/packages/next/dist/compiled/compression/index.js +58 -0
- package/web/runtime/packages/next/dist/compiled/compression/package.json +1 -0
- package/web/runtime/packages/next/dist/compiled/conf/index.js +15 -0
- package/web/runtime/packages/next/dist/compiled/conf/package.json +1 -0
- package/web/runtime/packages/next/dist/compiled/content-disposition/index.js +6 -0
- package/web/runtime/packages/next/dist/compiled/content-disposition/package.json +1 -0
- package/web/runtime/packages/next/dist/compiled/cookie/index.js +7 -0
- package/web/runtime/packages/next/dist/compiled/cookie/package.json +1 -0
- package/web/runtime/packages/next/dist/compiled/cross-spawn/index.js +1 -0
- package/web/runtime/packages/next/dist/compiled/cross-spawn/package.json +1 -0
- package/web/runtime/packages/next/dist/compiled/debug/index.js +1 -0
- package/web/runtime/packages/next/dist/compiled/debug/package.json +1 -0
- package/web/runtime/packages/next/dist/compiled/edge-runtime/index.js +1 -0
- package/web/runtime/packages/next/dist/compiled/edge-runtime/package.json +1 -0
- package/web/runtime/packages/next/dist/compiled/find-up/index.js +1 -0
- package/web/runtime/packages/next/dist/compiled/find-up/package.json +1 -0
- package/web/runtime/packages/next/dist/compiled/fresh/index.js +8 -0
- package/web/runtime/packages/next/dist/compiled/fresh/package.json +1 -0
- package/web/runtime/packages/next/dist/compiled/http-proxy/index.js +34 -0
- package/web/runtime/packages/next/dist/compiled/http-proxy/package.json +1 -0
- package/web/runtime/packages/next/dist/compiled/image-detector/detector.js +1 -0
- package/web/runtime/packages/next/dist/compiled/image-size/index.js +1 -0
- package/web/runtime/packages/next/dist/compiled/image-size/package.json +1 -0
- package/web/runtime/packages/next/dist/compiled/ipaddr.js/ipaddr.js +1 -0
- package/web/runtime/packages/next/dist/compiled/ipaddr.js/package.json +1 -0
- package/web/runtime/packages/next/dist/compiled/is-animated/index.js +1 -0
- package/web/runtime/packages/next/dist/compiled/is-animated/package.json +1 -0
- package/web/runtime/packages/next/dist/compiled/is-docker/index.js +1 -0
- package/web/runtime/packages/next/dist/compiled/is-docker/package.json +1 -0
- package/web/runtime/packages/next/dist/compiled/is-wsl/index.js +1 -0
- package/web/runtime/packages/next/dist/compiled/is-wsl/package.json +1 -0
- package/web/runtime/packages/next/dist/compiled/jsonwebtoken/index.js +11 -0
- package/web/runtime/packages/next/dist/compiled/jsonwebtoken/package.json +1 -0
- package/web/runtime/packages/next/dist/compiled/nanoid/index.cjs +1 -0
- package/web/runtime/packages/next/dist/compiled/nanoid/package.json +1 -0
- package/web/runtime/packages/next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js +55 -0
- package/web/runtime/packages/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js +55 -0
- package/web/runtime/packages/next/dist/compiled/next-server/app-route-turbo.runtime.prod.js +6 -0
- package/web/runtime/packages/next/dist/compiled/next-server/pages-turbo.runtime.prod.js +20 -0
- package/web/runtime/packages/next/dist/compiled/p-limit/index.js +1 -0
- package/web/runtime/packages/next/dist/compiled/p-limit/package.json +1 -0
- package/web/runtime/packages/next/dist/compiled/p-queue/index.js +1 -0
- package/web/runtime/packages/next/dist/compiled/p-queue/package.json +1 -0
- package/web/runtime/packages/next/dist/compiled/path-browserify/index.js +1 -0
- package/web/runtime/packages/next/dist/compiled/path-browserify/package.json +1 -0
- package/web/runtime/packages/next/dist/compiled/path-to-regexp/index.js +1 -0
- package/web/runtime/packages/next/dist/compiled/path-to-regexp/package.json +1 -0
- package/web/runtime/packages/next/dist/compiled/picomatch/index.js +1 -0
- package/web/runtime/packages/next/dist/compiled/picomatch/package.json +1 -0
- package/web/runtime/packages/next/dist/compiled/react-is/cjs/react-is.development.js +133 -0
- package/web/runtime/packages/next/dist/compiled/react-is/cjs/react-is.production.js +130 -0
- package/web/runtime/packages/next/dist/compiled/react-is/index.js +7 -0
- package/web/runtime/packages/next/dist/compiled/react-is/package.json +26 -0
- package/web/runtime/packages/next/dist/compiled/regenerator-runtime/package.json +19 -0
- package/web/runtime/packages/next/dist/compiled/regenerator-runtime/runtime.js +729 -0
- package/web/runtime/packages/next/dist/compiled/semver/index.js +1 -0
- package/web/runtime/packages/next/dist/compiled/semver/package.json +1 -0
- package/web/runtime/packages/next/dist/compiled/send/index.js +70 -0
- package/web/runtime/packages/next/dist/compiled/send/package.json +1 -0
- package/web/runtime/packages/next/dist/compiled/source-map/package.json +1 -0
- package/web/runtime/packages/next/dist/compiled/source-map/source-map.js +1 -0
- package/web/runtime/packages/next/dist/compiled/stacktrace-parser/package.json +1 -0
- package/web/runtime/packages/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js +1 -0
- package/web/runtime/packages/next/dist/compiled/string-hash/index.js +1 -0
- package/web/runtime/packages/next/dist/compiled/string-hash/package.json +1 -0
- package/web/runtime/packages/next/dist/compiled/strip-ansi/index.js +1 -0
- package/web/runtime/packages/next/dist/compiled/strip-ansi/package.json +1 -0
- package/web/runtime/packages/next/dist/compiled/superstruct/index.cjs +1 -0
- package/web/runtime/packages/next/dist/compiled/superstruct/package.json +1 -0
- package/web/runtime/packages/next/dist/compiled/tar/index.min.js +1 -0
- package/web/runtime/packages/next/dist/compiled/tar/package.json +1 -0
- package/web/runtime/packages/next/dist/compiled/text-table/index.js +1 -0
- package/web/runtime/packages/next/dist/compiled/text-table/package.json +1 -0
- package/web/runtime/packages/next/dist/compiled/watchpack/package.json +1 -0
- package/web/runtime/packages/next/dist/compiled/watchpack/watchpack.js +1 -0
- package/web/runtime/packages/next/dist/compiled/ws/index.js +1 -0
- package/web/runtime/packages/next/dist/compiled/ws/package.json +1 -0
- package/web/runtime/packages/next/dist/compiled/zod/index.cjs +1 -0
- package/web/runtime/packages/next/dist/compiled/zod/package.json +1 -0
- package/web/runtime/packages/next/dist/compiled/zod-validation-error/index.js +1 -0
- package/web/runtime/packages/next/dist/compiled/zod-validation-error/package.json +1 -0
- package/web/runtime/packages/next/dist/experimental/testmode/context.js +57 -0
- package/web/runtime/packages/next/dist/experimental/testmode/fetch.js +142 -0
- package/web/runtime/packages/next/dist/experimental/testmode/httpget.js +26 -0
- package/web/runtime/packages/next/dist/experimental/testmode/server-edge.js +32 -0
- package/web/runtime/packages/next/dist/experimental/testmode/server.js +62 -0
- package/web/runtime/packages/next/dist/export/helpers/create-incremental-cache.js +61 -0
- package/web/runtime/packages/next/dist/lib/batcher.js +65 -0
- package/web/runtime/packages/next/dist/lib/build-custom-route.js +46 -0
- package/web/runtime/packages/next/dist/lib/bundler.js +97 -0
- package/web/runtime/packages/next/dist/lib/client-and-server-references.js +54 -0
- package/web/runtime/packages/next/dist/lib/coalesced-function.js +39 -0
- package/web/runtime/packages/next/dist/lib/compile-error.js +14 -0
- package/web/runtime/packages/next/dist/lib/constants.js +420 -0
- package/web/runtime/packages/next/dist/lib/create-client-router-filter.js +67 -0
- package/web/runtime/packages/next/dist/lib/default-transpiled-packages.json +1 -0
- package/web/runtime/packages/next/dist/lib/detached-promise.js +32 -0
- package/web/runtime/packages/next/dist/lib/detect-typo.js +51 -0
- package/web/runtime/packages/next/dist/lib/download-swc.js +183 -0
- package/web/runtime/packages/next/dist/lib/error-telemetry-utils.js +42 -0
- package/web/runtime/packages/next/dist/lib/fallback.js +100 -0
- package/web/runtime/packages/next/dist/lib/fatal-error.js +14 -0
- package/web/runtime/packages/next/dist/lib/file-exists.js +53 -0
- package/web/runtime/packages/next/dist/lib/find-config.js +102 -0
- package/web/runtime/packages/next/dist/lib/find-pages-dir.js +65 -0
- package/web/runtime/packages/next/dist/lib/find-root.js +126 -0
- package/web/runtime/packages/next/dist/lib/format-cli-help-output.js +84 -0
- package/web/runtime/packages/next/dist/lib/format-dynamic-import-path.js +24 -0
- package/web/runtime/packages/next/dist/lib/format-server-error.js +75 -0
- package/web/runtime/packages/next/dist/lib/framework/boundary-components.js +62 -0
- package/web/runtime/packages/next/dist/lib/framework/boundary-constants.js +36 -0
- package/web/runtime/packages/next/dist/lib/fs/rename.js +87 -0
- package/web/runtime/packages/next/dist/lib/fs/write-atomic.js +28 -0
- package/web/runtime/packages/next/dist/lib/generate-interception-routes-rewrites.js +52 -0
- package/web/runtime/packages/next/dist/lib/get-files-in-dir.js +33 -0
- package/web/runtime/packages/next/dist/lib/get-network-host.js +44 -0
- package/web/runtime/packages/next/dist/lib/get-package-version.js +118 -0
- package/web/runtime/packages/next/dist/lib/get-project-dir.js +51 -0
- package/web/runtime/packages/next/dist/lib/has-necessary-dependencies.js +49 -0
- package/web/runtime/packages/next/dist/lib/helpers/get-cache-directory.js +66 -0
- package/web/runtime/packages/next/dist/lib/helpers/get-npx-command.js +29 -0
- package/web/runtime/packages/next/dist/lib/helpers/get-online.js +50 -0
- package/web/runtime/packages/next/dist/lib/helpers/get-pkg-manager.js +63 -0
- package/web/runtime/packages/next/dist/lib/helpers/get-registry.js +45 -0
- package/web/runtime/packages/next/dist/lib/helpers/get-reserved-port.js +116 -0
- package/web/runtime/packages/next/dist/lib/helpers/install.js +83 -0
- package/web/runtime/packages/next/dist/lib/import-next-warning.js +50 -0
- package/web/runtime/packages/next/dist/lib/inline-static-env.js +112 -0
- package/web/runtime/packages/next/dist/lib/install-dependencies.js +40 -0
- package/web/runtime/packages/next/dist/lib/interop-default.js +16 -0
- package/web/runtime/packages/next/dist/lib/is-api-route.js +15 -0
- package/web/runtime/packages/next/dist/lib/is-app-page-route.js +15 -0
- package/web/runtime/packages/next/dist/lib/is-app-route-route.js +15 -0
- package/web/runtime/packages/next/dist/lib/is-edge-runtime.js +16 -0
- package/web/runtime/packages/next/dist/lib/is-error.js +78 -0
- package/web/runtime/packages/next/dist/lib/is-interception-route-rewrite.js +18 -0
- package/web/runtime/packages/next/dist/lib/is-internal-component.js +36 -0
- package/web/runtime/packages/next/dist/lib/is-serializable-props.js +106 -0
- package/web/runtime/packages/next/dist/lib/known-edge-safe-packages.json +1 -0
- package/web/runtime/packages/next/dist/lib/load-custom-routes.js +594 -0
- package/web/runtime/packages/next/dist/lib/memory/gc-observer.js +53 -0
- package/web/runtime/packages/next/dist/lib/memory/shutdown.js +29 -0
- package/web/runtime/packages/next/dist/lib/memory/startup.js +47 -0
- package/web/runtime/packages/next/dist/lib/memory/trace.js +109 -0
- package/web/runtime/packages/next/dist/lib/metadata/constants.js +40 -0
- package/web/runtime/packages/next/dist/lib/metadata/default-metadata.js +82 -0
- package/web/runtime/packages/next/dist/lib/metadata/generate/icon-mark.js +22 -0
- package/web/runtime/packages/next/dist/lib/metadata/generate/utils.js +52 -0
- package/web/runtime/packages/next/dist/lib/metadata/get-metadata-route.js +123 -0
- package/web/runtime/packages/next/dist/lib/metadata/is-metadata-route.js +221 -0
- package/web/runtime/packages/next/dist/lib/metadata/metadata-context.js +18 -0
- package/web/runtime/packages/next/dist/lib/metadata/metadata.js +1686 -0
- package/web/runtime/packages/next/dist/lib/metadata/resolve-metadata.js +884 -0
- package/web/runtime/packages/next/dist/lib/metadata/resolvers/resolve-basics.js +232 -0
- package/web/runtime/packages/next/dist/lib/metadata/resolvers/resolve-icons.js +56 -0
- package/web/runtime/packages/next/dist/lib/metadata/resolvers/resolve-opengraph.js +199 -0
- package/web/runtime/packages/next/dist/lib/metadata/resolvers/resolve-title.js +40 -0
- package/web/runtime/packages/next/dist/lib/metadata/resolvers/resolve-url.js +135 -0
- package/web/runtime/packages/next/dist/lib/metadata/types/alternative-urls-types.js +7 -0
- package/web/runtime/packages/next/dist/lib/metadata/types/extra-types.js +9 -0
- package/web/runtime/packages/next/dist/lib/metadata/types/icons.js +6 -0
- package/web/runtime/packages/next/dist/lib/metadata/types/manifest-types.js +6 -0
- package/web/runtime/packages/next/dist/lib/metadata/types/metadata-interface.js +18 -0
- package/web/runtime/packages/next/dist/lib/metadata/types/metadata-types.js +10 -0
- package/web/runtime/packages/next/dist/lib/metadata/types/opengraph-types.js +6 -0
- package/web/runtime/packages/next/dist/lib/metadata/types/resolvers.js +6 -0
- package/web/runtime/packages/next/dist/lib/metadata/types/twitter-types.js +7 -0
- package/web/runtime/packages/next/dist/lib/mime-type.js +20 -0
- package/web/runtime/packages/next/dist/lib/mkcert.js +204 -0
- package/web/runtime/packages/next/dist/lib/multi-file-writer.js +75 -0
- package/web/runtime/packages/next/dist/lib/needs-experimental-react.js +16 -0
- package/web/runtime/packages/next/dist/lib/non-nullable.js +15 -0
- package/web/runtime/packages/next/dist/lib/normalize-path.js +21 -0
- package/web/runtime/packages/next/dist/lib/oxford-comma-list.js +15 -0
- package/web/runtime/packages/next/dist/lib/page-types.js +18 -0
- package/web/runtime/packages/next/dist/lib/patch-incorrect-lockfile.js +185 -0
- package/web/runtime/packages/next/dist/lib/pick.js +19 -0
- package/web/runtime/packages/next/dist/lib/picocolors.js +177 -0
- package/web/runtime/packages/next/dist/lib/pretty-bytes.js +74 -0
- package/web/runtime/packages/next/dist/lib/realpath.js +20 -0
- package/web/runtime/packages/next/dist/lib/recursive-copy.js +76 -0
- package/web/runtime/packages/next/dist/lib/recursive-delete.js +137 -0
- package/web/runtime/packages/next/dist/lib/recursive-readdir.js +124 -0
- package/web/runtime/packages/next/dist/lib/redirect-status.js +46 -0
- package/web/runtime/packages/next/dist/lib/require-instrumentation-client.js +26 -0
- package/web/runtime/packages/next/dist/lib/resolve-build-paths.js +154 -0
- package/web/runtime/packages/next/dist/lib/resolve-from.js +65 -0
- package/web/runtime/packages/next/dist/lib/route-pattern-normalizer.js +107 -0
- package/web/runtime/packages/next/dist/lib/scheduler.js +64 -0
- package/web/runtime/packages/next/dist/lib/semver-noop.js +18 -0
- package/web/runtime/packages/next/dist/lib/server-external-packages.jsonc +103 -0
- package/web/runtime/packages/next/dist/lib/setup-exception-listeners.js +11 -0
- package/web/runtime/packages/next/dist/lib/static-env.js +92 -0
- package/web/runtime/packages/next/dist/lib/try-to-parse-path.js +67 -0
- package/web/runtime/packages/next/dist/lib/turbopack-warning.js +185 -0
- package/web/runtime/packages/next/dist/lib/typescript/diagnosticFormatter.js +243 -0
- package/web/runtime/packages/next/dist/lib/typescript/getTypeScriptConfiguration.js +153 -0
- package/web/runtime/packages/next/dist/lib/typescript/getTypeScriptIntent.js +52 -0
- package/web/runtime/packages/next/dist/lib/typescript/loadTsConfig.js +181 -0
- package/web/runtime/packages/next/dist/lib/typescript/missingDependencyError.js +27 -0
- package/web/runtime/packages/next/dist/lib/typescript/runTypeCheck.js +149 -0
- package/web/runtime/packages/next/dist/lib/typescript/runTypeCheckCli.js +53 -0
- package/web/runtime/packages/next/dist/lib/typescript/runTypeScriptCli.js +256 -0
- package/web/runtime/packages/next/dist/lib/typescript/type-paths.js +51 -0
- package/web/runtime/packages/next/dist/lib/typescript/writeAppTypeDeclarations.js +75 -0
- package/web/runtime/packages/next/dist/lib/typescript/writeConfigurationDefaults.js +395 -0
- package/web/runtime/packages/next/dist/lib/url.js +75 -0
- package/web/runtime/packages/next/dist/lib/verify-partytown-setup.js +115 -0
- package/web/runtime/packages/next/dist/lib/verify-root-layout.js +165 -0
- package/web/runtime/packages/next/dist/lib/verify-typescript-setup.js +269 -0
- package/web/runtime/packages/next/dist/lib/wait.js +19 -0
- package/web/runtime/packages/next/dist/lib/with-promise-cache.js +24 -0
- package/web/runtime/packages/next/dist/lib/worker.js +234 -0
- package/web/runtime/packages/next/dist/server/ReactDOMServerPages.js +16 -0
- package/web/runtime/packages/next/dist/server/accept-header.js +132 -0
- package/web/runtime/packages/next/dist/server/after/after-context.js +140 -0
- package/web/runtime/packages/next/dist/server/after/after.js +26 -0
- package/web/runtime/packages/next/dist/server/after/awaiter.js +74 -0
- package/web/runtime/packages/next/dist/server/after/builtin-request-context.js +38 -0
- package/web/runtime/packages/next/dist/server/after/index.js +21 -0
- package/web/runtime/packages/next/dist/server/after/run-with-after.js +35 -0
- package/web/runtime/packages/next/dist/server/api-utils/get-cookie-parser.js +22 -0
- package/web/runtime/packages/next/dist/server/api-utils/index.js +201 -0
- package/web/runtime/packages/next/dist/server/api-utils/node/api-resolver.js +395 -0
- package/web/runtime/packages/next/dist/server/api-utils/node/parse-body.js +79 -0
- package/web/runtime/packages/next/dist/server/api-utils/node/try-get-preview-data.js +86 -0
- package/web/runtime/packages/next/dist/server/api-utils/web.js +17 -0
- package/web/runtime/packages/next/dist/server/app-render/action-async-storage-instance.js +14 -0
- package/web/runtime/packages/next/dist/server/app-render/action-async-storage.external.js +13 -0
- package/web/runtime/packages/next/dist/server/app-render/action-handler.js +1122 -0
- package/web/runtime/packages/next/dist/server/app-render/after-task-async-storage-instance.js +14 -0
- package/web/runtime/packages/next/dist/server/app-render/after-task-async-storage.external.js +13 -0
- package/web/runtime/packages/next/dist/server/app-render/app-render-prerender-utils.js +167 -0
- package/web/runtime/packages/next/dist/server/app-render/app-render-render-utils.js +76 -0
- package/web/runtime/packages/next/dist/server/app-render/app-render-scheduling.js +188 -0
- package/web/runtime/packages/next/dist/server/app-render/app-render.js +4522 -0
- package/web/runtime/packages/next/dist/server/app-render/async-local-storage.js +76 -0
- package/web/runtime/packages/next/dist/server/app-render/cache-signal.js +181 -0
- package/web/runtime/packages/next/dist/server/app-render/collect-segment-data.js +616 -0
- package/web/runtime/packages/next/dist/server/app-render/console-async-storage-instance.js +14 -0
- package/web/runtime/packages/next/dist/server/app-render/console-async-storage.external.js +13 -0
- package/web/runtime/packages/next/dist/server/app-render/create-component-styles-and-scripts.js +33 -0
- package/web/runtime/packages/next/dist/server/app-render/create-component-tree.js +870 -0
- package/web/runtime/packages/next/dist/server/app-render/create-error-handler.js +189 -0
- package/web/runtime/packages/next/dist/server/app-render/create-flight-router-state-from-loader-tree.js +102 -0
- package/web/runtime/packages/next/dist/server/app-render/csrf-protection.js +86 -0
- package/web/runtime/packages/next/dist/server/app-render/debug-channel-server.js +30 -0
- package/web/runtime/packages/next/dist/server/app-render/debug-channel-server.web.js +71 -0
- package/web/runtime/packages/next/dist/server/app-render/dynamic-access-async-storage-instance.js +14 -0
- package/web/runtime/packages/next/dist/server/app-render/dynamic-access-async-storage.external.js +13 -0
- package/web/runtime/packages/next/dist/server/app-render/dynamic-rendering.js +1144 -0
- package/web/runtime/packages/next/dist/server/app-render/encryption-utils-server.js +114 -0
- package/web/runtime/packages/next/dist/server/app-render/encryption-utils.js +93 -0
- package/web/runtime/packages/next/dist/server/app-render/encryption.js +259 -0
- package/web/runtime/packages/next/dist/server/app-render/entry-base.js +256 -0
- package/web/runtime/packages/next/dist/server/app-render/flight-render-result.js +28 -0
- package/web/runtime/packages/next/dist/server/app-render/get-asset-query-string.js +29 -0
- package/web/runtime/packages/next/dist/server/app-render/get-css-inlined-link-tags.js +49 -0
- package/web/runtime/packages/next/dist/server/app-render/get-layer-assets.js +65 -0
- package/web/runtime/packages/next/dist/server/app-render/get-preloadable-fonts.js +39 -0
- package/web/runtime/packages/next/dist/server/app-render/get-script-nonce-from-header.js +32 -0
- package/web/runtime/packages/next/dist/server/app-render/get-short-dynamic-param-type.js +25 -0
- package/web/runtime/packages/next/dist/server/app-render/has-loading-component-in-tree.js +19 -0
- package/web/runtime/packages/next/dist/server/app-render/instant-validation/boundary-constants.js +13 -0
- package/web/runtime/packages/next/dist/server/app-render/instant-validation/boundary-impl.js +103 -0
- package/web/runtime/packages/next/dist/server/app-render/instant-validation/boundary-tracking.js +18 -0
- package/web/runtime/packages/next/dist/server/app-render/instant-validation/instant-config.js +181 -0
- package/web/runtime/packages/next/dist/server/app-render/instant-validation/instant-samples-client.js +128 -0
- package/web/runtime/packages/next/dist/server/app-render/instant-validation/instant-samples.js +432 -0
- package/web/runtime/packages/next/dist/server/app-render/instant-validation/instant-validation-error.js +33 -0
- package/web/runtime/packages/next/dist/server/app-render/instant-validation/instant-validation.js +713 -0
- package/web/runtime/packages/next/dist/server/app-render/instant-validation/stream-utils.js +96 -0
- package/web/runtime/packages/next/dist/server/app-render/interop-default.js +17 -0
- package/web/runtime/packages/next/dist/server/app-render/make-get-server-inserted-html.js +92 -0
- package/web/runtime/packages/next/dist/server/app-render/manifests-singleton.js +312 -0
- package/web/runtime/packages/next/dist/server/app-render/metadata-insertion/create-server-inserted-metadata.js +29 -0
- package/web/runtime/packages/next/dist/server/app-render/module-loading/track-dynamic-import.js +57 -0
- package/web/runtime/packages/next/dist/server/app-render/module-loading/track-module-loading.external.js +32 -0
- package/web/runtime/packages/next/dist/server/app-render/module-loading/track-module-loading.instance.js +66 -0
- package/web/runtime/packages/next/dist/server/app-render/parse-and-validate-flight-router-state.js +49 -0
- package/web/runtime/packages/next/dist/server/app-render/postponed-state.js +157 -0
- package/web/runtime/packages/next/dist/server/app-render/prospective-render-utils.js +74 -0
- package/web/runtime/packages/next/dist/server/app-render/react-large-shell-error.js +17 -0
- package/web/runtime/packages/next/dist/server/app-render/react-server.node.js +39 -0
- package/web/runtime/packages/next/dist/server/app-render/render-css-resource.js +52 -0
- package/web/runtime/packages/next/dist/server/app-render/required-scripts.js +76 -0
- package/web/runtime/packages/next/dist/server/app-render/rsc/postpone.js +18 -0
- package/web/runtime/packages/next/dist/server/app-render/rsc/preloads.js +74 -0
- package/web/runtime/packages/next/dist/server/app-render/rsc/taint.js +79 -0
- package/web/runtime/packages/next/dist/server/app-render/segment-explorer-path.js +128 -0
- package/web/runtime/packages/next/dist/server/app-render/server-inserted-html.js +77 -0
- package/web/runtime/packages/next/dist/server/app-render/staged-rendering.js +343 -0
- package/web/runtime/packages/next/dist/server/app-render/stale-time.js +111 -0
- package/web/runtime/packages/next/dist/server/app-render/stream-ops.js +106 -0
- package/web/runtime/packages/next/dist/server/app-render/stream-ops.web.js +163 -0
- package/web/runtime/packages/next/dist/server/app-render/strip-flight-headers.js +18 -0
- package/web/runtime/packages/next/dist/server/app-render/types.js +65 -0
- package/web/runtime/packages/next/dist/server/app-render/use-flight-response.js +214 -0
- package/web/runtime/packages/next/dist/server/app-render/vary-params.js +336 -0
- package/web/runtime/packages/next/dist/server/app-render/walk-tree-with-flight-router-state.js +232 -0
- package/web/runtime/packages/next/dist/server/app-render/work-async-storage-instance.js +14 -0
- package/web/runtime/packages/next/dist/server/app-render/work-async-storage.external.js +13 -0
- package/web/runtime/packages/next/dist/server/app-render/work-unit-async-storage-instance.js +14 -0
- package/web/runtime/packages/next/dist/server/app-render/work-unit-async-storage.external.js +280 -0
- package/web/runtime/packages/next/dist/server/async-storage/draft-mode-provider.js +62 -0
- package/web/runtime/packages/next/dist/server/async-storage/request-store.js +144 -0
- package/web/runtime/packages/next/dist/server/async-storage/with-store.js +6 -0
- package/web/runtime/packages/next/dist/server/async-storage/work-store.js +92 -0
- package/web/runtime/packages/next/dist/server/base-http/helpers.js +36 -0
- package/web/runtime/packages/next/dist/server/base-http/index.js +54 -0
- package/web/runtime/packages/next/dist/server/base-http/node.js +147 -0
- package/web/runtime/packages/next/dist/server/base-http/web.js +124 -0
- package/web/runtime/packages/next/dist/server/base-server.js +1882 -0
- package/web/runtime/packages/next/dist/server/body-streams.js +114 -0
- package/web/runtime/packages/next/dist/server/cache-dir.js +26 -0
- package/web/runtime/packages/next/dist/server/capsize-font-metrics.json +181516 -0
- package/web/runtime/packages/next/dist/server/ci-info.js +41 -0
- package/web/runtime/packages/next/dist/server/client-component-renderer-logger.js +70 -0
- package/web/runtime/packages/next/dist/server/config-schema.js +727 -0
- package/web/runtime/packages/next/dist/server/config-shared.js +368 -0
- package/web/runtime/packages/next/dist/server/config-utils.js +185 -0
- package/web/runtime/packages/next/dist/server/config.js +1545 -0
- package/web/runtime/packages/next/dist/server/create-deduped-by-callsite-server-error-logger.js +96 -0
- package/web/runtime/packages/next/dist/server/crypto-utils.js +70 -0
- package/web/runtime/packages/next/dist/server/dev/browser-logs/file-logger.js +186 -0
- package/web/runtime/packages/next/dist/server/dev/browser-logs/receive-logs.js +558 -0
- package/web/runtime/packages/next/dist/server/dev/browser-logs/source-map.js +222 -0
- package/web/runtime/packages/next/dist/server/dev/debug-channel.js +87 -0
- package/web/runtime/packages/next/dist/server/dev/dev-indicator-server-state.js +15 -0
- package/web/runtime/packages/next/dist/server/dev/get-source-map-from-file.js +100 -0
- package/web/runtime/packages/next/dist/server/dev/hot-middleware.js +274 -0
- package/web/runtime/packages/next/dist/server/dev/hot-reloader-rspack.js +171 -0
- package/web/runtime/packages/next/dist/server/dev/hot-reloader-shared-utils.js +56 -0
- package/web/runtime/packages/next/dist/server/dev/hot-reloader-turbopack.js +1480 -0
- package/web/runtime/packages/next/dist/server/dev/hot-reloader-types.js +58 -0
- package/web/runtime/packages/next/dist/server/dev/hot-reloader-webpack.js +1386 -0
- package/web/runtime/packages/next/dist/server/dev/log-requests.js +149 -0
- package/web/runtime/packages/next/dist/server/dev/messages.js +74 -0
- package/web/runtime/packages/next/dist/server/dev/middleware-turbopack.js +403 -0
- package/web/runtime/packages/next/dist/server/dev/middleware-webpack.js +483 -0
- package/web/runtime/packages/next/dist/server/dev/node-stack-frames.js +72 -0
- package/web/runtime/packages/next/dist/server/dev/on-demand-entry-handler.js +773 -0
- package/web/runtime/packages/next/dist/server/dev/parse-version-info.js +108 -0
- package/web/runtime/packages/next/dist/server/dev/require-cache.js +79 -0
- package/web/runtime/packages/next/dist/server/dev/serialized-errors.js +67 -0
- package/web/runtime/packages/next/dist/server/dev/server-action-logger.js +37 -0
- package/web/runtime/packages/next/dist/server/dev/static-paths-worker.js +105 -0
- package/web/runtime/packages/next/dist/server/dev/turbopack-utils.js +687 -0
- package/web/runtime/packages/next/dist/server/dynamic-rendering-utils.js +108 -0
- package/web/runtime/packages/next/dist/server/font-utils.js +43 -0
- package/web/runtime/packages/next/dist/server/get-app-route-from-entrypoint.js +30 -0
- package/web/runtime/packages/next/dist/server/get-page-files.js +23 -0
- package/web/runtime/packages/next/dist/server/get-route-from-entrypoint.js +35 -0
- package/web/runtime/packages/next/dist/server/image-optimizer.js +1221 -0
- package/web/runtime/packages/next/dist/server/instrumentation/types.js +6 -0
- package/web/runtime/packages/next/dist/server/instrumentation/utils.js +21 -0
- package/web/runtime/packages/next/dist/server/internal-utils.js +39 -0
- package/web/runtime/packages/next/dist/server/is-private-ip.js +36 -0
- package/web/runtime/packages/next/dist/server/lib/app-dir-module.js +59 -0
- package/web/runtime/packages/next/dist/server/lib/app-info-log.js +132 -0
- package/web/runtime/packages/next/dist/server/lib/async-callback-set.js +29 -0
- package/web/runtime/packages/next/dist/server/lib/cache-control.js +22 -0
- package/web/runtime/packages/next/dist/server/lib/cache-handlers/default.external.js +18 -0
- package/web/runtime/packages/next/dist/server/lib/cache-handlers/default.js +160 -0
- package/web/runtime/packages/next/dist/server/lib/cache-handlers/types.js +8 -0
- package/web/runtime/packages/next/dist/server/lib/chrome-devtools-workspace.js +116 -0
- package/web/runtime/packages/next/dist/server/lib/clone-response.js +77 -0
- package/web/runtime/packages/next/dist/server/lib/cpu-profile.js +59 -0
- package/web/runtime/packages/next/dist/server/lib/decode-query-path-parameter.js +26 -0
- package/web/runtime/packages/next/dist/server/lib/dedupe-fetch.js +163 -0
- package/web/runtime/packages/next/dist/server/lib/dev-bundler-service.js +95 -0
- package/web/runtime/packages/next/dist/server/lib/disk-lru-cache.external.js +57 -0
- package/web/runtime/packages/next/dist/server/lib/encode-cache-tag.js +45 -0
- package/web/runtime/packages/next/dist/server/lib/etag.js +56 -0
- package/web/runtime/packages/next/dist/server/lib/experimental/create-env-definitions.js +48 -0
- package/web/runtime/packages/next/dist/server/lib/experimental/ppr.js +47 -0
- package/web/runtime/packages/next/dist/server/lib/find-page-file.js +147 -0
- package/web/runtime/packages/next/dist/server/lib/fix-mojibake.js +25 -0
- package/web/runtime/packages/next/dist/server/lib/format-hostname.js +16 -0
- package/web/runtime/packages/next/dist/server/lib/i18n-provider.js +129 -0
- package/web/runtime/packages/next/dist/server/lib/implicit-tags.js +80 -0
- package/web/runtime/packages/next/dist/server/lib/incremental-cache/file-system-cache.js +335 -0
- package/web/runtime/packages/next/dist/server/lib/incremental-cache/index.js +538 -0
- package/web/runtime/packages/next/dist/server/lib/incremental-cache/memory-cache.external.js +57 -0
- package/web/runtime/packages/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js +73 -0
- package/web/runtime/packages/next/dist/server/lib/incremental-cache/tags-manifest.external.js +55 -0
- package/web/runtime/packages/next/dist/server/lib/install-code-frame.js +22 -0
- package/web/runtime/packages/next/dist/server/lib/is-ipv6.js +41 -0
- package/web/runtime/packages/next/dist/server/lib/is-rsc-request.js +18 -0
- package/web/runtime/packages/next/dist/server/lib/lazy-result.js +46 -0
- package/web/runtime/packages/next/dist/server/lib/lru-cache.js +191 -0
- package/web/runtime/packages/next/dist/server/lib/match-next-data-pathname.js +18 -0
- package/web/runtime/packages/next/dist/server/lib/mock-request.js +441 -0
- package/web/runtime/packages/next/dist/server/lib/module-loader/module-loader.js +8 -0
- package/web/runtime/packages/next/dist/server/lib/module-loader/node-module-loader.js +25 -0
- package/web/runtime/packages/next/dist/server/lib/module-loader/route-module-loader.js +26 -0
- package/web/runtime/packages/next/dist/server/lib/node-fs-methods.js +28 -0
- package/web/runtime/packages/next/dist/server/lib/parse-stack.js +46 -0
- package/web/runtime/packages/next/dist/server/lib/patch-fetch.js +995 -0
- package/web/runtime/packages/next/dist/server/lib/patch-set-header.js +45 -0
- package/web/runtime/packages/next/dist/server/lib/postponed-request-body.js +64 -0
- package/web/runtime/packages/next/dist/server/lib/render-server.js +155 -0
- package/web/runtime/packages/next/dist/server/lib/router-server.js +699 -0
- package/web/runtime/packages/next/dist/server/lib/router-utils/block-cross-site-dev.js +110 -0
- package/web/runtime/packages/next/dist/server/lib/router-utils/build-data-route.js +48 -0
- package/web/runtime/packages/next/dist/server/lib/router-utils/build-prefetch-segment-data-route.js +50 -0
- package/web/runtime/packages/next/dist/server/lib/router-utils/cache-life-type-utils.js +211 -0
- package/web/runtime/packages/next/dist/server/lib/router-utils/decode-path-params.js +42 -0
- package/web/runtime/packages/next/dist/server/lib/router-utils/filesystem.js +591 -0
- package/web/runtime/packages/next/dist/server/lib/router-utils/instrumentation-globals.external.js +89 -0
- package/web/runtime/packages/next/dist/server/lib/router-utils/instrumentation-node-extensions.js +96 -0
- package/web/runtime/packages/next/dist/server/lib/router-utils/is-postpone.js +16 -0
- package/web/runtime/packages/next/dist/server/lib/router-utils/proxy-request.js +122 -0
- package/web/runtime/packages/next/dist/server/lib/router-utils/resolve-routes.js +643 -0
- package/web/runtime/packages/next/dist/server/lib/router-utils/route-types-utils.js +286 -0
- package/web/runtime/packages/next/dist/server/lib/router-utils/router-server-context.js +26 -0
- package/web/runtime/packages/next/dist/server/lib/router-utils/typegen.js +858 -0
- package/web/runtime/packages/next/dist/server/lib/router-utils/types.js +6 -0
- package/web/runtime/packages/next/dist/server/lib/server-action-request-meta.js +53 -0
- package/web/runtime/packages/next/dist/server/lib/server-ipc/utils.js +83 -0
- package/web/runtime/packages/next/dist/server/lib/source-maps.js +196 -0
- package/web/runtime/packages/next/dist/server/lib/start-server.js +494 -0
- package/web/runtime/packages/next/dist/server/lib/streaming-metadata.js +38 -0
- package/web/runtime/packages/next/dist/server/lib/to-route.js +37 -0
- package/web/runtime/packages/next/dist/server/lib/trace/constants.js +203 -0
- package/web/runtime/packages/next/dist/server/lib/trace/tracer.js +280 -0
- package/web/runtime/packages/next/dist/server/lib/trace/utils.js +16 -0
- package/web/runtime/packages/next/dist/server/lib/types.js +6 -0
- package/web/runtime/packages/next/dist/server/lib/utils.js +278 -0
- package/web/runtime/packages/next/dist/server/lib/worker-utils.js +36 -0
- package/web/runtime/packages/next/dist/server/load-components.js +179 -0
- package/web/runtime/packages/next/dist/server/load-default-error-components.js +41 -0
- package/web/runtime/packages/next/dist/server/load-manifest.external.js +117 -0
- package/web/runtime/packages/next/dist/server/match-bundle.js +25 -0
- package/web/runtime/packages/next/dist/server/mcp/get-mcp-middleware.js +49 -0
- package/web/runtime/packages/next/dist/server/mcp/get-or-create-mcp-server.js +41 -0
- package/web/runtime/packages/next/dist/server/mcp/mcp-telemetry-tracker.js +82 -0
- package/web/runtime/packages/next/dist/server/mcp/tools/get-errors.js +114 -0
- package/web/runtime/packages/next/dist/server/mcp/tools/get-logs.js +67 -0
- package/web/runtime/packages/next/dist/server/mcp/tools/get-page-metadata.js +188 -0
- package/web/runtime/packages/next/dist/server/mcp/tools/get-project-metadata.js +59 -0
- package/web/runtime/packages/next/dist/server/mcp/tools/get-routes.js +136 -0
- package/web/runtime/packages/next/dist/server/mcp/tools/get-server-action-by-id.js +121 -0
- package/web/runtime/packages/next/dist/server/mcp/tools/next-instance-error-state.js +31 -0
- package/web/runtime/packages/next/dist/server/mcp/tools/utils/browser-communication.js +90 -0
- package/web/runtime/packages/next/dist/server/mcp/tools/utils/format-errors.js +137 -0
- package/web/runtime/packages/next/dist/server/next-server.js +1429 -0
- package/web/runtime/packages/next/dist/server/next-typescript.js +13 -0
- package/web/runtime/packages/next/dist/server/next.js +455 -0
- package/web/runtime/packages/next/dist/server/node-environment-baseline.js +25 -0
- package/web/runtime/packages/next/dist/server/node-environment-extensions/console-dim.external.js +301 -0
- package/web/runtime/packages/next/dist/server/node-environment-extensions/console-exit.js +49 -0
- package/web/runtime/packages/next/dist/server/node-environment-extensions/console-file.js +56 -0
- package/web/runtime/packages/next/dist/server/node-environment-extensions/date.js +52 -0
- package/web/runtime/packages/next/dist/server/node-environment-extensions/error-inspect.js +8 -0
- package/web/runtime/packages/next/dist/server/node-environment-extensions/fast-set-immediate.external.js +577 -0
- package/web/runtime/packages/next/dist/server/node-environment-extensions/global-behaviors.js +33 -0
- package/web/runtime/packages/next/dist/server/node-environment-extensions/io-utils.js +195 -0
- package/web/runtime/packages/next/dist/server/node-environment-extensions/node-crypto.js +103 -0
- package/web/runtime/packages/next/dist/server/node-environment-extensions/process-error-handlers.js +91 -0
- package/web/runtime/packages/next/dist/server/node-environment-extensions/random.js +28 -0
- package/web/runtime/packages/next/dist/server/node-environment-extensions/unhandled-rejection.external.js +508 -0
- package/web/runtime/packages/next/dist/server/node-environment-extensions/web-crypto.js +45 -0
- package/web/runtime/packages/next/dist/server/node-environment.js +19 -0
- package/web/runtime/packages/next/dist/server/node-polyfill-crypto.js +21 -0
- package/web/runtime/packages/next/dist/server/normalizers/absolute-filename-normalizer.js +33 -0
- package/web/runtime/packages/next/dist/server/normalizers/built/app/app-bundle-path-normalizer.js +54 -0
- package/web/runtime/packages/next/dist/server/normalizers/built/app/app-filename-normalizer.js +22 -0
- package/web/runtime/packages/next/dist/server/normalizers/built/app/app-page-normalizer.js +40 -0
- package/web/runtime/packages/next/dist/server/normalizers/built/app/app-pathname-normalizer.js +55 -0
- package/web/runtime/packages/next/dist/server/normalizers/built/app/index.js +42 -0
- package/web/runtime/packages/next/dist/server/normalizers/built/pages/index.js +44 -0
- package/web/runtime/packages/next/dist/server/normalizers/built/pages/pages-bundle-path-normalizer.js +55 -0
- package/web/runtime/packages/next/dist/server/normalizers/built/pages/pages-filename-normalizer.js +22 -0
- package/web/runtime/packages/next/dist/server/normalizers/built/pages/pages-page-normalizer.js +19 -0
- package/web/runtime/packages/next/dist/server/normalizers/built/pages/pages-pathname-normalizer.js +19 -0
- package/web/runtime/packages/next/dist/server/normalizers/locale-route-normalizer.js +26 -0
- package/web/runtime/packages/next/dist/server/normalizers/normalizer.js +6 -0
- package/web/runtime/packages/next/dist/server/normalizers/normalizers.js +23 -0
- package/web/runtime/packages/next/dist/server/normalizers/prefixing-normalizer.js +26 -0
- package/web/runtime/packages/next/dist/server/normalizers/request/base-path.js +25 -0
- package/web/runtime/packages/next/dist/server/normalizers/request/next-data.js +38 -0
- package/web/runtime/packages/next/dist/server/normalizers/request/pathname-normalizer.js +6 -0
- package/web/runtime/packages/next/dist/server/normalizers/request/prefix.js +39 -0
- package/web/runtime/packages/next/dist/server/normalizers/request/rsc.js +19 -0
- package/web/runtime/packages/next/dist/server/normalizers/request/segment-prefix-rsc.js +33 -0
- package/web/runtime/packages/next/dist/server/normalizers/request/suffix.js +27 -0
- package/web/runtime/packages/next/dist/server/normalizers/underscore-normalizer.js +17 -0
- package/web/runtime/packages/next/dist/server/normalizers/wrap-normalizer-fn.js +17 -0
- package/web/runtime/packages/next/dist/server/og/image-response.js +53 -0
- package/web/runtime/packages/next/dist/server/patch-error-inspect.js +453 -0
- package/web/runtime/packages/next/dist/server/pipe-readable.js +140 -0
- package/web/runtime/packages/next/dist/server/post-process.js +39 -0
- package/web/runtime/packages/next/dist/server/render-result.js +204 -0
- package/web/runtime/packages/next/dist/server/render.js +1148 -0
- package/web/runtime/packages/next/dist/server/request/connection.js +133 -0
- package/web/runtime/packages/next/dist/server/request/cookies.js +235 -0
- package/web/runtime/packages/next/dist/server/request/draft-mode.js +230 -0
- package/web/runtime/packages/next/dist/server/request/fallback-params.js +95 -0
- package/web/runtime/packages/next/dist/server/request/headers.js +229 -0
- package/web/runtime/packages/next/dist/server/request/params.js +527 -0
- package/web/runtime/packages/next/dist/server/request/pathname.js +119 -0
- package/web/runtime/packages/next/dist/server/request/root-params.js +194 -0
- package/web/runtime/packages/next/dist/server/request/search-params.js +526 -0
- package/web/runtime/packages/next/dist/server/request/utils.js +51 -0
- package/web/runtime/packages/next/dist/server/request-meta.js +55 -0
- package/web/runtime/packages/next/dist/server/require-hook.js +82 -0
- package/web/runtime/packages/next/dist/server/require.js +109 -0
- package/web/runtime/packages/next/dist/server/response-cache/index.js +311 -0
- package/web/runtime/packages/next/dist/server/response-cache/types.js +41 -0
- package/web/runtime/packages/next/dist/server/response-cache/utils.js +104 -0
- package/web/runtime/packages/next/dist/server/response-cache/web.js +101 -0
- package/web/runtime/packages/next/dist/server/resume-data-cache/cache-store.js +96 -0
- package/web/runtime/packages/next/dist/server/resume-data-cache/resume-data-cache.js +124 -0
- package/web/runtime/packages/next/dist/server/revalidation-utils.js +157 -0
- package/web/runtime/packages/next/dist/server/route-definitions/app-page-route-definition.js +16 -0
- package/web/runtime/packages/next/dist/server/route-definitions/app-route-route-definition.js +6 -0
- package/web/runtime/packages/next/dist/server/route-definitions/locale-route-definition.js +6 -0
- package/web/runtime/packages/next/dist/server/route-definitions/pages-api-route-definition.js +6 -0
- package/web/runtime/packages/next/dist/server/route-definitions/pages-route-definition.js +6 -0
- package/web/runtime/packages/next/dist/server/route-definitions/route-definition.js +6 -0
- package/web/runtime/packages/next/dist/server/route-kind.js +32 -0
- package/web/runtime/packages/next/dist/server/route-matcher-managers/default-route-matcher-manager.js +239 -0
- package/web/runtime/packages/next/dist/server/route-matcher-managers/dev-route-matcher-manager.js +120 -0
- package/web/runtime/packages/next/dist/server/route-matcher-managers/route-matcher-manager.js +6 -0
- package/web/runtime/packages/next/dist/server/route-matcher-providers/app-page-route-matcher-provider.js +55 -0
- package/web/runtime/packages/next/dist/server/route-matcher-providers/app-route-route-matcher-provider.js +43 -0
- package/web/runtime/packages/next/dist/server/route-matcher-providers/dev/dev-app-page-route-matcher-provider.js +91 -0
- package/web/runtime/packages/next/dist/server/route-matcher-providers/dev/dev-app-route-route-matcher-provider.js +112 -0
- package/web/runtime/packages/next/dist/server/route-matcher-providers/dev/dev-pages-api-route-matcher-provider.js +77 -0
- package/web/runtime/packages/next/dist/server/route-matcher-providers/dev/dev-pages-route-matcher-provider.js +77 -0
- package/web/runtime/packages/next/dist/server/route-matcher-providers/dev/file-cache-route-matcher-provider.js +28 -0
- package/web/runtime/packages/next/dist/server/route-matcher-providers/dev/helpers/file-reader/batched-file-reader.js +106 -0
- package/web/runtime/packages/next/dist/server/route-matcher-providers/dev/helpers/file-reader/default-file-reader.js +42 -0
- package/web/runtime/packages/next/dist/server/route-matcher-providers/dev/helpers/file-reader/file-reader.js +6 -0
- package/web/runtime/packages/next/dist/server/route-matcher-providers/helpers/cached-route-matcher-provider.js +30 -0
- package/web/runtime/packages/next/dist/server/route-matcher-providers/helpers/manifest-loaders/manifest-loader.js +6 -0
- package/web/runtime/packages/next/dist/server/route-matcher-providers/helpers/manifest-loaders/node-manifest-loader.js +34 -0
- package/web/runtime/packages/next/dist/server/route-matcher-providers/helpers/manifest-loaders/server-manifest-loader.js +20 -0
- package/web/runtime/packages/next/dist/server/route-matcher-providers/manifest-route-matcher-provider.js +21 -0
- package/web/runtime/packages/next/dist/server/route-matcher-providers/pages-api-route-matcher-provider.js +55 -0
- package/web/runtime/packages/next/dist/server/route-matcher-providers/pages-route-matcher-provider.js +64 -0
- package/web/runtime/packages/next/dist/server/route-matcher-providers/route-matcher-provider.js +6 -0
- package/web/runtime/packages/next/dist/server/route-matchers/app-page-route-matcher.js +18 -0
- package/web/runtime/packages/next/dist/server/route-matchers/app-route-route-matcher.js +15 -0
- package/web/runtime/packages/next/dist/server/route-matchers/locale-route-matcher.js +68 -0
- package/web/runtime/packages/next/dist/server/route-matchers/pages-api-route-matcher.js +30 -0
- package/web/runtime/packages/next/dist/server/route-matchers/pages-route-matcher.js +30 -0
- package/web/runtime/packages/next/dist/server/route-matchers/route-matcher.js +54 -0
- package/web/runtime/packages/next/dist/server/route-matches/app-page-route-match.js +6 -0
- package/web/runtime/packages/next/dist/server/route-matches/app-route-route-match.js +6 -0
- package/web/runtime/packages/next/dist/server/route-matches/locale-route-match.js +6 -0
- package/web/runtime/packages/next/dist/server/route-matches/pages-api-route-match.js +16 -0
- package/web/runtime/packages/next/dist/server/route-matches/pages-route-match.js +6 -0
- package/web/runtime/packages/next/dist/server/route-matches/route-match.js +6 -0
- package/web/runtime/packages/next/dist/server/route-modules/app-page/helpers/prerender-manifest-matcher.js +51 -0
- package/web/runtime/packages/next/dist/server/route-modules/app-page/module.compiled.js +36 -0
- package/web/runtime/packages/next/dist/server/route-modules/app-page/module.js +162 -0
- package/web/runtime/packages/next/dist/server/route-modules/app-page/module.render.js +24 -0
- package/web/runtime/packages/next/dist/server/route-modules/app-page/normalize-request-url.js +25 -0
- package/web/runtime/packages/next/dist/server/route-modules/app-page/vendored/contexts/app-router-context.js +4 -0
- package/web/runtime/packages/next/dist/server/route-modules/app-page/vendored/contexts/entrypoints.js +87 -0
- package/web/runtime/packages/next/dist/server/route-modules/app-page/vendored/contexts/head-manager-context.js +4 -0
- package/web/runtime/packages/next/dist/server/route-modules/app-page/vendored/contexts/hooks-client-context.js +4 -0
- package/web/runtime/packages/next/dist/server/route-modules/app-page/vendored/contexts/image-config-context.js +4 -0
- package/web/runtime/packages/next/dist/server/route-modules/app-page/vendored/contexts/router-context.js +4 -0
- package/web/runtime/packages/next/dist/server/route-modules/app-page/vendored/contexts/server-inserted-html.js +4 -0
- package/web/runtime/packages/next/dist/server/route-modules/app-page/vendored/rsc/entrypoints.js +140 -0
- package/web/runtime/packages/next/dist/server/route-modules/app-page/vendored/rsc/react-compiler-runtime.js +4 -0
- package/web/runtime/packages/next/dist/server/route-modules/app-page/vendored/rsc/react-dom.js +4 -0
- package/web/runtime/packages/next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js +4 -0
- package/web/runtime/packages/next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-runtime.js +4 -0
- package/web/runtime/packages/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-turbopack-server.js +4 -0
- package/web/runtime/packages/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-turbopack-static.js +4 -0
- package/web/runtime/packages/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server.js +4 -0
- package/web/runtime/packages/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-static.js +4 -0
- package/web/runtime/packages/next/dist/server/route-modules/app-page/vendored/rsc/react.js +4 -0
- package/web/runtime/packages/next/dist/server/route-modules/app-page/vendored/ssr/entrypoints.js +125 -0
- package/web/runtime/packages/next/dist/server/route-modules/app-page/vendored/ssr/react-compiler-runtime.js +4 -0
- package/web/runtime/packages/next/dist/server/route-modules/app-page/vendored/ssr/react-dom-server.js +4 -0
- package/web/runtime/packages/next/dist/server/route-modules/app-page/vendored/ssr/react-dom.js +4 -0
- package/web/runtime/packages/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js +4 -0
- package/web/runtime/packages/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.js +4 -0
- package/web/runtime/packages/next/dist/server/route-modules/app-page/vendored/ssr/react-server-dom-turbopack-client.js +4 -0
- package/web/runtime/packages/next/dist/server/route-modules/app-page/vendored/ssr/react-server-dom-webpack-client.js +4 -0
- package/web/runtime/packages/next/dist/server/route-modules/app-page/vendored/ssr/react.js +4 -0
- package/web/runtime/packages/next/dist/server/route-modules/app-route/helpers/auto-implement-methods.js +85 -0
- package/web/runtime/packages/next/dist/server/route-modules/app-route/helpers/clean-url.js +24 -0
- package/web/runtime/packages/next/dist/server/route-modules/app-route/helpers/get-pathname-from-absolute-path.js +29 -0
- package/web/runtime/packages/next/dist/server/route-modules/app-route/helpers/is-static-gen-enabled.js +15 -0
- package/web/runtime/packages/next/dist/server/route-modules/app-route/helpers/parsed-url-query-to-params.js +20 -0
- package/web/runtime/packages/next/dist/server/route-modules/app-route/module.compiled.js +36 -0
- package/web/runtime/packages/next/dist/server/route-modules/app-route/module.js +915 -0
- package/web/runtime/packages/next/dist/server/route-modules/app-route/shared-modules.js +56 -0
- package/web/runtime/packages/next/dist/server/route-modules/checks.js +45 -0
- package/web/runtime/packages/next/dist/server/route-modules/pages/builtin/_error.js +100 -0
- package/web/runtime/packages/next/dist/server/route-modules/pages/module.compiled.js +20 -0
- package/web/runtime/packages/next/dist/server/route-modules/pages/module.js +92 -0
- package/web/runtime/packages/next/dist/server/route-modules/pages/module.render.js +24 -0
- package/web/runtime/packages/next/dist/server/route-modules/pages/pages-handler.js +545 -0
- package/web/runtime/packages/next/dist/server/route-modules/pages/vendored/contexts/app-router-context.js +4 -0
- package/web/runtime/packages/next/dist/server/route-modules/pages/vendored/contexts/entrypoints.js +102 -0
- package/web/runtime/packages/next/dist/server/route-modules/pages/vendored/contexts/head-manager-context.js +4 -0
- package/web/runtime/packages/next/dist/server/route-modules/pages/vendored/contexts/hooks-client-context.js +4 -0
- package/web/runtime/packages/next/dist/server/route-modules/pages/vendored/contexts/html-context.js +4 -0
- package/web/runtime/packages/next/dist/server/route-modules/pages/vendored/contexts/image-config-context.js +4 -0
- package/web/runtime/packages/next/dist/server/route-modules/pages/vendored/contexts/loadable-context.js +4 -0
- package/web/runtime/packages/next/dist/server/route-modules/pages/vendored/contexts/loadable.js +4 -0
- package/web/runtime/packages/next/dist/server/route-modules/pages/vendored/contexts/router-context.js +4 -0
- package/web/runtime/packages/next/dist/server/route-modules/pages/vendored/contexts/server-inserted-html.js +4 -0
- package/web/runtime/packages/next/dist/server/route-modules/pages-api/module.compiled.js +20 -0
- package/web/runtime/packages/next/dist/server/route-modules/pages-api/module.js +58 -0
- package/web/runtime/packages/next/dist/server/route-modules/route-module.js +660 -0
- package/web/runtime/packages/next/dist/server/runtime-reacts.external.js +46 -0
- package/web/runtime/packages/next/dist/server/send-payload.js +88 -0
- package/web/runtime/packages/next/dist/server/send-response.js +70 -0
- package/web/runtime/packages/next/dist/server/serve-static.js +66 -0
- package/web/runtime/packages/next/dist/server/server-route-utils.js +30 -0
- package/web/runtime/packages/next/dist/server/server-utils.js +340 -0
- package/web/runtime/packages/next/dist/server/setup-http-agent-env.js +31 -0
- package/web/runtime/packages/next/dist/server/stream-utils/encoded-tags.js +122 -0
- package/web/runtime/packages/next/dist/server/stream-utils/node-web-streams-helper.js +918 -0
- package/web/runtime/packages/next/dist/server/stream-utils/uint8array-helpers.js +74 -0
- package/web/runtime/packages/next/dist/server/typescript/constant.js +98 -0
- package/web/runtime/packages/next/dist/server/typescript/index.js +199 -0
- package/web/runtime/packages/next/dist/server/typescript/rules/client-boundary.js +97 -0
- package/web/runtime/packages/next/dist/server/typescript/rules/config.js +512 -0
- package/web/runtime/packages/next/dist/server/typescript/rules/entry.js +149 -0
- package/web/runtime/packages/next/dist/server/typescript/rules/error.js +38 -0
- package/web/runtime/packages/next/dist/server/typescript/rules/metadata.js +234 -0
- package/web/runtime/packages/next/dist/server/typescript/rules/server-boundary.js +115 -0
- package/web/runtime/packages/next/dist/server/typescript/rules/server.js +79 -0
- package/web/runtime/packages/next/dist/server/typescript/utils.js +212 -0
- package/web/runtime/packages/next/dist/server/use-cache/cache-life.js +163 -0
- package/web/runtime/packages/next/dist/server/use-cache/cache-tag.js +52 -0
- package/web/runtime/packages/next/dist/server/use-cache/constants.js +28 -0
- package/web/runtime/packages/next/dist/server/use-cache/handlers.js +121 -0
- package/web/runtime/packages/next/dist/server/use-cache/use-cache-errors.js +36 -0
- package/web/runtime/packages/next/dist/server/use-cache/use-cache-wrapper.js +1588 -0
- package/web/runtime/packages/next/dist/server/utils.js +73 -0
- package/web/runtime/packages/next/dist/server/web/adapter.js +395 -0
- package/web/runtime/packages/next/dist/server/web/edge-route-module-wrapper.js +124 -0
- package/web/runtime/packages/next/dist/server/web/error.js +54 -0
- package/web/runtime/packages/next/dist/server/web/exports/index.js +56 -0
- package/web/runtime/packages/next/dist/server/web/get-edge-preview-props.js +23 -0
- package/web/runtime/packages/next/dist/server/web/globals.js +128 -0
- package/web/runtime/packages/next/dist/server/web/http.js +39 -0
- package/web/runtime/packages/next/dist/server/web/internal-edge-wait-until.js +64 -0
- package/web/runtime/packages/next/dist/server/web/next-url.js +199 -0
- package/web/runtime/packages/next/dist/server/web/sandbox/context.js +462 -0
- package/web/runtime/packages/next/dist/server/web/sandbox/fetch-inline-assets.js +35 -0
- package/web/runtime/packages/next/dist/server/web/sandbox/index.js +28 -0
- package/web/runtime/packages/next/dist/server/web/sandbox/resource-managers.js +88 -0
- package/web/runtime/packages/next/dist/server/web/sandbox/sandbox.js +137 -0
- package/web/runtime/packages/next/dist/server/web/spec-extension/adapters/headers.js +192 -0
- package/web/runtime/packages/next/dist/server/web/spec-extension/adapters/next-request.js +142 -0
- package/web/runtime/packages/next/dist/server/web/spec-extension/adapters/reflect.js +30 -0
- package/web/runtime/packages/next/dist/server/web/spec-extension/adapters/request-cookies.js +211 -0
- package/web/runtime/packages/next/dist/server/web/spec-extension/cookies.js +29 -0
- package/web/runtime/packages/next/dist/server/web/spec-extension/fetch-event.js +98 -0
- package/web/runtime/packages/next/dist/server/web/spec-extension/image-response.js +22 -0
- package/web/runtime/packages/next/dist/server/web/spec-extension/request.js +99 -0
- package/web/runtime/packages/next/dist/server/web/spec-extension/response.js +136 -0
- package/web/runtime/packages/next/dist/server/web/spec-extension/revalidate.js +215 -0
- package/web/runtime/packages/next/dist/server/web/spec-extension/unstable-cache.js +293 -0
- package/web/runtime/packages/next/dist/server/web/spec-extension/unstable-no-store.js +51 -0
- package/web/runtime/packages/next/dist/server/web/spec-extension/url-pattern.js +14 -0
- package/web/runtime/packages/next/dist/server/web/spec-extension/user-agent.js +46 -0
- package/web/runtime/packages/next/dist/server/web/types.js +6 -0
- package/web/runtime/packages/next/dist/server/web/utils.js +151 -0
- package/web/runtime/packages/next/dist/server/web/web-on-close.js +87 -0
- package/web/runtime/packages/next/dist/shared/lib/action-revalidation-kind.js +31 -0
- package/web/runtime/packages/next/dist/shared/lib/app-router-context.shared-runtime.js +50 -0
- package/web/runtime/packages/next/dist/shared/lib/app-router-types.js +46 -0
- package/web/runtime/packages/next/dist/shared/lib/constants.js +448 -0
- package/web/runtime/packages/next/dist/shared/lib/deep-freeze.js +30 -0
- package/web/runtime/packages/next/dist/shared/lib/deployment-id.js +63 -0
- package/web/runtime/packages/next/dist/shared/lib/dset.js +34 -0
- package/web/runtime/packages/next/dist/shared/lib/encode-uri-path.js +15 -0
- package/web/runtime/packages/next/dist/shared/lib/entry-constants.js +36 -0
- package/web/runtime/packages/next/dist/shared/lib/error-source.js +36 -0
- package/web/runtime/packages/next/dist/shared/lib/errors/canary-only-config-error.js +39 -0
- package/web/runtime/packages/next/dist/shared/lib/errors/code-frame.js +20 -0
- package/web/runtime/packages/next/dist/shared/lib/errors/constants.js +19 -0
- package/web/runtime/packages/next/dist/shared/lib/errors/empty-generate-static-params-error.js +24 -0
- package/web/runtime/packages/next/dist/shared/lib/errors/hard-deprecated-config-error.js +20 -0
- package/web/runtime/packages/next/dist/shared/lib/escape-regexp.js +22 -0
- package/web/runtime/packages/next/dist/shared/lib/get-hostname.js +23 -0
- package/web/runtime/packages/next/dist/shared/lib/hash.js +42 -0
- package/web/runtime/packages/next/dist/shared/lib/head-manager-context.shared-runtime.js +18 -0
- package/web/runtime/packages/next/dist/shared/lib/head.js +163 -0
- package/web/runtime/packages/next/dist/shared/lib/hooks-client-context.shared-runtime.js +60 -0
- package/web/runtime/packages/next/dist/shared/lib/html-context.shared-runtime.js +40 -0
- package/web/runtime/packages/next/dist/shared/lib/htmlescape.js +52 -0
- package/web/runtime/packages/next/dist/shared/lib/i18n/detect-domain-locale.js +25 -0
- package/web/runtime/packages/next/dist/shared/lib/i18n/get-locale-redirect.js +59 -0
- package/web/runtime/packages/next/dist/shared/lib/i18n/normalize-locale-path.js +54 -0
- package/web/runtime/packages/next/dist/shared/lib/image-blur-svg.js +22 -0
- package/web/runtime/packages/next/dist/shared/lib/image-config-context.shared-runtime.js +19 -0
- package/web/runtime/packages/next/dist/shared/lib/image-config.js +77 -0
- package/web/runtime/packages/next/dist/shared/lib/invariant-error.js +18 -0
- package/web/runtime/packages/next/dist/shared/lib/is-plain-object.js +42 -0
- package/web/runtime/packages/next/dist/shared/lib/is-thenable.js +20 -0
- package/web/runtime/packages/next/dist/shared/lib/isomorphic/path.js +14 -0
- package/web/runtime/packages/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js +37 -0
- package/web/runtime/packages/next/dist/shared/lib/loadable-context.shared-runtime.js +19 -0
- package/web/runtime/packages/next/dist/shared/lib/loadable.shared-runtime.js +246 -0
- package/web/runtime/packages/next/dist/shared/lib/match-local-pattern.js +46 -0
- package/web/runtime/packages/next/dist/shared/lib/match-remote-pattern.js +63 -0
- package/web/runtime/packages/next/dist/shared/lib/modern-browserslist-target.js +15 -0
- package/web/runtime/packages/next/dist/shared/lib/no-fallback-error.external.js +18 -0
- package/web/runtime/packages/next/dist/shared/lib/normalized-asset-prefix.js +28 -0
- package/web/runtime/packages/next/dist/shared/lib/page-path/absolute-path-to-page.js +26 -0
- package/web/runtime/packages/next/dist/shared/lib/page-path/denormalize-page-path.js +18 -0
- package/web/runtime/packages/next/dist/shared/lib/page-path/ensure-leading-slash.js +18 -0
- package/web/runtime/packages/next/dist/shared/lib/page-path/get-page-paths.js +40 -0
- package/web/runtime/packages/next/dist/shared/lib/page-path/normalize-data-path.js +23 -0
- package/web/runtime/packages/next/dist/shared/lib/page-path/normalize-page-path.js +26 -0
- package/web/runtime/packages/next/dist/shared/lib/page-path/normalize-path-sep.js +19 -0
- package/web/runtime/packages/next/dist/shared/lib/page-path/remove-page-path-tail.js +20 -0
- package/web/runtime/packages/next/dist/shared/lib/promise-with-resolvers.js +26 -0
- package/web/runtime/packages/next/dist/shared/lib/router/adapters.js +136 -0
- package/web/runtime/packages/next/dist/shared/lib/router/routes/app.js +134 -0
- package/web/runtime/packages/next/dist/shared/lib/router/utils/add-locale.js +28 -0
- package/web/runtime/packages/next/dist/shared/lib/router/utils/add-path-prefix.js +20 -0
- package/web/runtime/packages/next/dist/shared/lib/router/utils/add-path-suffix.js +20 -0
- package/web/runtime/packages/next/dist/shared/lib/router/utils/app-paths.js +62 -0
- package/web/runtime/packages/next/dist/shared/lib/router/utils/as-path-to-search-params.js +17 -0
- package/web/runtime/packages/next/dist/shared/lib/router/utils/cache-busting-search-param.js +70 -0
- package/web/runtime/packages/next/dist/shared/lib/router/utils/escape-path-delimiters.js +16 -0
- package/web/runtime/packages/next/dist/shared/lib/router/utils/format-next-pathname-info.js +27 -0
- package/web/runtime/packages/next/dist/shared/lib/router/utils/format-url.js +111 -0
- package/web/runtime/packages/next/dist/shared/lib/router/utils/get-dynamic-param.js +174 -0
- package/web/runtime/packages/next/dist/shared/lib/router/utils/get-next-pathname-info.js +52 -0
- package/web/runtime/packages/next/dist/shared/lib/router/utils/get-route-from-asset-path.js +25 -0
- package/web/runtime/packages/next/dist/shared/lib/router/utils/get-segment-param.js +90 -0
- package/web/runtime/packages/next/dist/shared/lib/router/utils/html-bots.js +17 -0
- package/web/runtime/packages/next/dist/shared/lib/router/utils/index.js +30 -0
- package/web/runtime/packages/next/dist/shared/lib/router/utils/interception-prefix-from-param-type.js +33 -0
- package/web/runtime/packages/next/dist/shared/lib/router/utils/interception-routes.js +108 -0
- package/web/runtime/packages/next/dist/shared/lib/router/utils/is-bot.js +57 -0
- package/web/runtime/packages/next/dist/shared/lib/router/utils/is-dynamic.js +26 -0
- package/web/runtime/packages/next/dist/shared/lib/router/utils/middleware-route-matcher.js +31 -0
- package/web/runtime/packages/next/dist/shared/lib/router/utils/parse-loader-tree.js +30 -0
- package/web/runtime/packages/next/dist/shared/lib/router/utils/parse-path.js +33 -0
- package/web/runtime/packages/next/dist/shared/lib/router/utils/parse-relative-url.js +43 -0
- package/web/runtime/packages/next/dist/shared/lib/router/utils/parse-url.js +38 -0
- package/web/runtime/packages/next/dist/shared/lib/router/utils/path-has-prefix.js +20 -0
- package/web/runtime/packages/next/dist/shared/lib/router/utils/path-match.js +49 -0
- package/web/runtime/packages/next/dist/shared/lib/router/utils/prepare-destination.js +293 -0
- package/web/runtime/packages/next/dist/shared/lib/router/utils/querystring.js +79 -0
- package/web/runtime/packages/next/dist/shared/lib/router/utils/relativize-url.js +40 -0
- package/web/runtime/packages/next/dist/shared/lib/router/utils/remove-path-prefix.js +39 -0
- package/web/runtime/packages/next/dist/shared/lib/router/utils/remove-trailing-slash.js +21 -0
- package/web/runtime/packages/next/dist/shared/lib/router/utils/resolve-param-value.js +116 -0
- package/web/runtime/packages/next/dist/shared/lib/router/utils/route-match-utils.js +113 -0
- package/web/runtime/packages/next/dist/shared/lib/router/utils/route-matcher.js +45 -0
- package/web/runtime/packages/next/dist/shared/lib/router/utils/route-regex.js +256 -0
- package/web/runtime/packages/next/dist/shared/lib/router/utils/sorted-routes.js +244 -0
- package/web/runtime/packages/next/dist/shared/lib/router-context.shared-runtime.js +18 -0
- package/web/runtime/packages/next/dist/shared/lib/segment-cache/segment-value-encoding.js +99 -0
- package/web/runtime/packages/next/dist/shared/lib/segment-cache/vary-params-decoding.js +32 -0
- package/web/runtime/packages/next/dist/shared/lib/segment.js +102 -0
- package/web/runtime/packages/next/dist/shared/lib/server-inserted-html.shared-runtime.js +35 -0
- package/web/runtime/packages/next/dist/shared/lib/server-reference-info.js +68 -0
- package/web/runtime/packages/next/dist/shared/lib/side-effect.js +63 -0
- package/web/runtime/packages/next/dist/shared/lib/size-limit.js +40 -0
- package/web/runtime/packages/next/dist/shared/lib/turbopack/internal-error.js +53 -0
- package/web/runtime/packages/next/dist/shared/lib/utils/reflect-utils.js +69 -0
- package/web/runtime/packages/next/dist/shared/lib/utils/warn-once.js +22 -0
- package/web/runtime/packages/next/dist/shared/lib/utils.js +207 -0
- package/web/runtime/packages/next/dist/shared/lib/zod.js +101 -0
- package/web/runtime/packages/next/dist/telemetry/anonymous-meta.js +89 -0
- package/web/runtime/packages/next/dist/telemetry/detached-flush.js +56 -0
- package/web/runtime/packages/next/dist/telemetry/events/build.js +174 -0
- package/web/runtime/packages/next/dist/telemetry/events/index.js +41 -0
- package/web/runtime/packages/next/dist/telemetry/events/plugins.js +51 -0
- package/web/runtime/packages/next/dist/telemetry/events/swc-load-failure.js +55 -0
- package/web/runtime/packages/next/dist/telemetry/events/version.js +66 -0
- package/web/runtime/packages/next/dist/telemetry/flush-telemetry.js +19 -0
- package/web/runtime/packages/next/dist/telemetry/post-telemetry-payload.js +48 -0
- package/web/runtime/packages/next/dist/telemetry/project-id.js +48 -0
- package/web/runtime/packages/next/dist/telemetry/storage.js +301 -0
- package/web/runtime/packages/next/dist/trace/index.js +58 -0
- package/web/runtime/packages/next/dist/trace/report/index.js +37 -0
- package/web/runtime/packages/next/dist/trace/report/to-json-build.js +40 -0
- package/web/runtime/packages/next/dist/trace/report/to-json.js +165 -0
- package/web/runtime/packages/next/dist/trace/report/to-telemetry.js +36 -0
- package/web/runtime/packages/next/dist/trace/shared.js +39 -0
- package/web/runtime/packages/next/dist/trace/trace.js +211 -0
- package/web/runtime/packages/next/package.json +136 -0
- package/web/runtime/packages/react/cjs/react-compiler-runtime.production.js +16 -0
- package/web/runtime/packages/react/cjs/react-jsx-dev-runtime.production.js +14 -0
- package/web/runtime/packages/react/cjs/react-jsx-runtime.production.js +34 -0
- package/web/runtime/packages/react/cjs/react.development.js +1284 -0
- package/web/runtime/packages/react/cjs/react.production.js +542 -0
- package/web/runtime/packages/react/compiler-runtime.js +14 -0
- package/web/runtime/packages/react/index.js +7 -0
- package/web/runtime/packages/react/jsx-dev-runtime.js +7 -0
- package/web/runtime/packages/react/jsx-runtime.js +7 -0
- package/web/runtime/packages/react/package.json +51 -0
- package/web/runtime/packages/react-dom/cjs/react-dom-server-legacy.browser.production.js +6603 -0
- package/web/runtime/packages/react-dom/cjs/react-dom-server-legacy.node.production.js +6692 -0
- package/web/runtime/packages/react-dom/cjs/react-dom-server.browser.production.js +7410 -0
- package/web/runtime/packages/react-dom/cjs/react-dom-server.edge.production.js +7512 -0
- package/web/runtime/packages/react-dom/cjs/react-dom-server.node.production.js +7707 -0
- package/web/runtime/packages/react-dom/cjs/react-dom.production.js +210 -0
- package/web/runtime/packages/react-dom/index.js +38 -0
- package/web/runtime/packages/react-dom/package.json +117 -0
- package/web/runtime/packages/react-dom/server.browser.js +16 -0
- package/web/runtime/packages/react-dom/server.edge.js +17 -0
- package/web/runtime/packages/react-dom/server.node.js +18 -0
- package/web/runtime/packages/react-dom/static.node.js +14 -0
- package/web/runtime/packages/semver/classes/comparator.js +143 -0
- package/web/runtime/packages/semver/classes/range.js +577 -0
- package/web/runtime/packages/semver/classes/semver.js +350 -0
- package/web/runtime/packages/semver/functions/clean.js +8 -0
- package/web/runtime/packages/semver/functions/cmp.js +54 -0
- package/web/runtime/packages/semver/functions/coerce.js +62 -0
- package/web/runtime/packages/semver/functions/compare-build.js +9 -0
- package/web/runtime/packages/semver/functions/compare-loose.js +5 -0
- package/web/runtime/packages/semver/functions/compare.js +7 -0
- package/web/runtime/packages/semver/functions/diff.js +60 -0
- package/web/runtime/packages/semver/functions/eq.js +5 -0
- package/web/runtime/packages/semver/functions/gt.js +5 -0
- package/web/runtime/packages/semver/functions/gte.js +5 -0
- package/web/runtime/packages/semver/functions/inc.js +21 -0
- package/web/runtime/packages/semver/functions/lt.js +5 -0
- package/web/runtime/packages/semver/functions/lte.js +5 -0
- package/web/runtime/packages/semver/functions/major.js +5 -0
- package/web/runtime/packages/semver/functions/minor.js +5 -0
- package/web/runtime/packages/semver/functions/neq.js +5 -0
- package/web/runtime/packages/semver/functions/parse.js +18 -0
- package/web/runtime/packages/semver/functions/patch.js +5 -0
- package/web/runtime/packages/semver/functions/prerelease.js +8 -0
- package/web/runtime/packages/semver/functions/rcompare.js +5 -0
- package/web/runtime/packages/semver/functions/rsort.js +5 -0
- package/web/runtime/packages/semver/functions/satisfies.js +12 -0
- package/web/runtime/packages/semver/functions/sort.js +5 -0
- package/web/runtime/packages/semver/functions/truncate.js +48 -0
- package/web/runtime/packages/semver/functions/valid.js +8 -0
- package/web/runtime/packages/semver/index.js +93 -0
- package/web/runtime/packages/semver/internal/constants.js +37 -0
- package/web/runtime/packages/semver/internal/debug.js +11 -0
- package/web/runtime/packages/semver/internal/identifiers.js +29 -0
- package/web/runtime/packages/semver/internal/lrucache.js +42 -0
- package/web/runtime/packages/semver/internal/parse-options.js +17 -0
- package/web/runtime/packages/semver/internal/re.js +223 -0
- package/web/runtime/packages/semver/package.json +78 -0
- package/web/runtime/packages/semver/ranges/gtr.js +6 -0
- package/web/runtime/packages/semver/ranges/intersects.js +9 -0
- package/web/runtime/packages/semver/ranges/ltr.js +6 -0
- package/web/runtime/packages/semver/ranges/max-satisfying.js +27 -0
- package/web/runtime/packages/semver/ranges/min-satisfying.js +26 -0
- package/web/runtime/packages/semver/ranges/min-version.js +63 -0
- package/web/runtime/packages/semver/ranges/outside.js +82 -0
- package/web/runtime/packages/semver/ranges/simplify.js +49 -0
- package/web/runtime/packages/semver/ranges/subset.js +249 -0
- package/web/runtime/packages/semver/ranges/to-comparators.js +10 -0
- package/web/runtime/packages/semver/ranges/valid.js +13 -0
- package/web/runtime/packages/styled-jsx/dist/index/index.js +499 -0
- package/web/runtime/packages/styled-jsx/index.js +1 -0
- package/web/runtime/packages/styled-jsx/package.json +132 -0
- package/web/runtime/packages/styled-jsx/style.js +1 -0
- package/web/runtime/server.cjs +43 -0
- package/web/server.cjs +4 -0
- package/skills/check/SKILL.md +0 -64
- package/skills/connections/SKILL.md +0 -54
- package/skills/diagram/SKILL.md +0 -64
- package/skills/export/SKILL.md +0 -49
- package/skills/impact/SKILL.md +0 -58
- package/skills/install/SKILL.md +0 -94
- package/skills/scan/SKILL.md +0 -75
- package/skills/status/SKILL.md +0 -37
- package/skills/ui/SKILL.md +0 -43
- package/skills/update/SKILL.md +0 -43
- package/web/.next/standalone/web/.next/BUILD_ID +0 -1
- package/web/.next/standalone/web/.next/app-path-routes-manifest.json +0 -13
- package/web/.next/standalone/web/.next/build-manifest.json +0 -20
- package/web/.next/standalone/web/.next/prerender-manifest.json +0 -88
- package/web/.next/standalone/web/.next/required-server-files.json +0 -317
- package/web/.next/standalone/web/.next/routes-manifest.json +0 -110
- package/web/.next/standalone/web/.next/server/app/_global-error/page/build-manifest.json +0 -17
- package/web/.next/standalone/web/.next/server/app/_global-error/page.js +0 -10
- package/web/.next/standalone/web/.next/server/app/_global-error/page.js.nft.json +0 -1
- package/web/.next/standalone/web/.next/server/app/_global-error/page_client-reference-manifest.js +0 -2
- package/web/.next/standalone/web/.next/server/app/_global-error.html +0 -2
- package/web/.next/standalone/web/.next/server/app/_global-error.rsc +0 -12
- package/web/.next/standalone/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +0 -5
- package/web/.next/standalone/web/.next/server/app/_global-error.segments/_full.segment.rsc +0 -12
- package/web/.next/standalone/web/.next/server/app/_global-error.segments/_head.segment.rsc +0 -7
- package/web/.next/standalone/web/.next/server/app/_global-error.segments/_index.segment.rsc +0 -4
- package/web/.next/standalone/web/.next/server/app/_global-error.segments/_tree.segment.rsc +0 -1
- package/web/.next/standalone/web/.next/server/app/_not-found/page/build-manifest.json +0 -17
- package/web/.next/standalone/web/.next/server/app/_not-found/page/next-font-manifest.json +0 -11
- package/web/.next/standalone/web/.next/server/app/_not-found/page.js +0 -13
- package/web/.next/standalone/web/.next/server/app/_not-found/page.js.nft.json +0 -1
- package/web/.next/standalone/web/.next/server/app/_not-found/page_client-reference-manifest.js +0 -2
- package/web/.next/standalone/web/.next/server/app/_not-found.html +0 -1
- package/web/.next/standalone/web/.next/server/app/_not-found.rsc +0 -17
- package/web/.next/standalone/web/.next/server/app/_not-found.segments/_full.segment.rsc +0 -17
- package/web/.next/standalone/web/.next/server/app/_not-found.segments/_head.segment.rsc +0 -8
- package/web/.next/standalone/web/.next/server/app/_not-found.segments/_index.segment.rsc +0 -8
- package/web/.next/standalone/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +0 -5
- package/web/.next/standalone/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +0 -4
- package/web/.next/standalone/web/.next/server/app/_not-found.segments/_tree.segment.rsc +0 -3
- package/web/.next/standalone/web/.next/server/app/api/components/route/build-manifest.json +0 -11
- package/web/.next/standalone/web/.next/server/app/api/components/route.js +0 -6
- package/web/.next/standalone/web/.next/server/app/api/components/route.js.nft.json +0 -1
- package/web/.next/standalone/web/.next/server/app/api/components/route_client-reference-manifest.js +0 -2
- package/web/.next/standalone/web/.next/server/app/api/connections/route/build-manifest.json +0 -11
- package/web/.next/standalone/web/.next/server/app/api/connections/route.js +0 -6
- package/web/.next/standalone/web/.next/server/app/api/connections/route.js.nft.json +0 -1
- package/web/.next/standalone/web/.next/server/app/api/connections/route_client-reference-manifest.js +0 -2
- package/web/.next/standalone/web/.next/server/app/api/graph/route/build-manifest.json +0 -11
- package/web/.next/standalone/web/.next/server/app/api/graph/route.js +0 -6
- package/web/.next/standalone/web/.next/server/app/api/graph/route.js.nft.json +0 -1
- package/web/.next/standalone/web/.next/server/app/api/graph/route_client-reference-manifest.js +0 -2
- package/web/.next/standalone/web/.next/server/app/api/projects/route/build-manifest.json +0 -11
- package/web/.next/standalone/web/.next/server/app/api/projects/route.js +0 -6
- package/web/.next/standalone/web/.next/server/app/api/projects/route.js.nft.json +0 -1
- package/web/.next/standalone/web/.next/server/app/api/projects/route_client-reference-manifest.js +0 -2
- package/web/.next/standalone/web/.next/server/app/api/prompts/route/build-manifest.json +0 -11
- package/web/.next/standalone/web/.next/server/app/api/prompts/route.js +0 -7
- package/web/.next/standalone/web/.next/server/app/api/prompts/route.js.nft.json +0 -1
- package/web/.next/standalone/web/.next/server/app/api/prompts/route_client-reference-manifest.js +0 -2
- package/web/.next/standalone/web/.next/server/app/api/scan/route/build-manifest.json +0 -11
- package/web/.next/standalone/web/.next/server/app/api/scan/route.js +0 -6
- package/web/.next/standalone/web/.next/server/app/api/scan/route.js.nft.json +0 -1
- package/web/.next/standalone/web/.next/server/app/api/scan/route_client-reference-manifest.js +0 -2
- package/web/.next/standalone/web/.next/server/app/api/settings/route/build-manifest.json +0 -11
- package/web/.next/standalone/web/.next/server/app/api/settings/route.js +0 -6
- package/web/.next/standalone/web/.next/server/app/api/settings/route.js.nft.json +0 -1
- package/web/.next/standalone/web/.next/server/app/api/settings/route_client-reference-manifest.js +0 -2
- package/web/.next/standalone/web/.next/server/app/api/status/route/build-manifest.json +0 -11
- package/web/.next/standalone/web/.next/server/app/api/status/route.js +0 -6
- package/web/.next/standalone/web/.next/server/app/api/status/route.js.nft.json +0 -1
- package/web/.next/standalone/web/.next/server/app/api/status/route_client-reference-manifest.js +0 -2
- package/web/.next/standalone/web/.next/server/app/index.html +0 -1
- package/web/.next/standalone/web/.next/server/app/index.rsc +0 -23
- package/web/.next/standalone/web/.next/server/app/index.segments/__PAGE__.segment.rsc +0 -9
- package/web/.next/standalone/web/.next/server/app/index.segments/_full.segment.rsc +0 -23
- package/web/.next/standalone/web/.next/server/app/index.segments/_head.segment.rsc +0 -8
- package/web/.next/standalone/web/.next/server/app/index.segments/_index.segment.rsc +0 -8
- package/web/.next/standalone/web/.next/server/app/index.segments/_tree.segment.rsc +0 -5
- package/web/.next/standalone/web/.next/server/app/page/build-manifest.json +0 -17
- package/web/.next/standalone/web/.next/server/app/page/next-font-manifest.json +0 -11
- package/web/.next/standalone/web/.next/server/app/page.js +0 -15
- package/web/.next/standalone/web/.next/server/app/page.js.nft.json +0 -1
- package/web/.next/standalone/web/.next/server/app/page_client-reference-manifest.js +0 -2
- package/web/.next/standalone/web/.next/server/app-paths-manifest.json +0 -13
- package/web/.next/standalone/web/.next/server/chunks/2374f_next_dist_esm_build_templates_app-route_0bb4e66a.js +0 -19
- package/web/.next/standalone/web/.next/server/chunks/[root-of-the-server]__006b837d._.js +0 -3
- package/web/.next/standalone/web/.next/server/chunks/[root-of-the-server]__1ab91221._.js +0 -3
- package/web/.next/standalone/web/.next/server/chunks/[root-of-the-server]__2e09fec9._.js +0 -3
- package/web/.next/standalone/web/.next/server/chunks/[root-of-the-server]__38d0390f._.js +0 -3
- package/web/.next/standalone/web/.next/server/chunks/[root-of-the-server]__539ef30d._.js +0 -3
- package/web/.next/standalone/web/.next/server/chunks/[root-of-the-server]__594bcf20._.js +0 -3
- package/web/.next/standalone/web/.next/server/chunks/[root-of-the-server]__b888fadf._.js +0 -3
- package/web/.next/standalone/web/.next/server/chunks/[root-of-the-server]__f3450c22._.js +0 -21
- package/web/.next/standalone/web/.next/server/chunks/[root-of-the-server]__fa2ec862._.js +0 -3
- package/web/.next/standalone/web/.next/server/chunks/[turbopack]_runtime.js +0 -770
- package/web/.next/standalone/web/.next/server/chunks/ssr/2374f_e6039567._.js +0 -6
- package/web/.next/standalone/web/.next/server/chunks/ssr/2374f_next_dist_09351209._.js +0 -6
- package/web/.next/standalone/web/.next/server/chunks/ssr/2374f_next_dist_222be7ae._.js +0 -6
- package/web/.next/standalone/web/.next/server/chunks/ssr/2374f_next_dist_2346e1b3._.js +0 -3
- package/web/.next/standalone/web/.next/server/chunks/ssr/2374f_next_dist_cec86455._.js +0 -4
- package/web/.next/standalone/web/.next/server/chunks/ssr/2374f_next_dist_client_components_9c5d1a14._.js +0 -3
- package/web/.next/standalone/web/.next/server/chunks/ssr/2374f_next_dist_client_components_builtin_forbidden_8eae0c85.js +0 -3
- package/web/.next/standalone/web/.next/server/chunks/ssr/2374f_next_dist_client_components_builtin_global-error_81159d60.js +0 -3
- package/web/.next/standalone/web/.next/server/chunks/ssr/2374f_next_dist_client_components_builtin_unauthorized_7d34a31c.js +0 -3
- package/web/.next/standalone/web/.next/server/chunks/ssr/2374f_next_dist_e03afa0e._.js +0 -3
- package/web/.next/standalone/web/.next/server/chunks/ssr/2374f_next_dist_esm_build_templates_app-page_2c8d71b9.js +0 -4
- package/web/.next/standalone/web/.next/server/chunks/ssr/2374f_next_dist_server_route-modules_app-page_vendored_ssr_react-dom_8910f04c.js +0 -3
- package/web/.next/standalone/web/.next/server/chunks/ssr/[root-of-the-server]__1a0663e6._.js +0 -3
- package/web/.next/standalone/web/.next/server/chunks/ssr/[root-of-the-server]__4306eafc._.js +0 -3
- package/web/.next/standalone/web/.next/server/chunks/ssr/[root-of-the-server]__44903626._.js +0 -3
- package/web/.next/standalone/web/.next/server/chunks/ssr/[root-of-the-server]__60278e3f._.js +0 -3
- package/web/.next/standalone/web/.next/server/chunks/ssr/[root-of-the-server]__61942f24._.js +0 -4
- package/web/.next/standalone/web/.next/server/chunks/ssr/[root-of-the-server]__8c45c3c9._.js +0 -3
- package/web/.next/standalone/web/.next/server/chunks/ssr/[root-of-the-server]__9a2f110d._.js +0 -3
- package/web/.next/standalone/web/.next/server/chunks/ssr/[root-of-the-server]__ed07bd88._.js +0 -3
- package/web/.next/standalone/web/.next/server/chunks/ssr/[root-of-the-server]__f2db61af._.js +0 -3
- package/web/.next/standalone/web/.next/server/chunks/ssr/[turbopack]_runtime.js +0 -770
- package/web/.next/standalone/web/.next/server/chunks/ssr/web_0103e631._.js +0 -4
- package/web/.next/standalone/web/.next/server/chunks/ssr/web_171de0df._.js +0 -14
- package/web/.next/standalone/web/.next/server/chunks/ssr/web__next-internal_server_app__global-error_page_actions_2a1e94d4.js +0 -3
- package/web/.next/standalone/web/.next/server/chunks/ssr/web__next-internal_server_app__not-found_page_actions_9eaa9845.js +0 -3
- package/web/.next/standalone/web/.next/server/chunks/ssr/web__next-internal_server_app_page_actions_ec26bf28.js +0 -3
- package/web/.next/standalone/web/.next/server/chunks/web__next-internal_server_app_api_components_route_actions_c88bf2a6.js +0 -3
- package/web/.next/standalone/web/.next/server/chunks/web__next-internal_server_app_api_connections_route_actions_b1d5e95a.js +0 -3
- package/web/.next/standalone/web/.next/server/chunks/web__next-internal_server_app_api_graph_route_actions_e2dd052c.js +0 -3
- package/web/.next/standalone/web/.next/server/chunks/web__next-internal_server_app_api_projects_route_actions_3f671cbb.js +0 -3
- package/web/.next/standalone/web/.next/server/chunks/web__next-internal_server_app_api_prompts_route_actions_85b56166.js +0 -3
- package/web/.next/standalone/web/.next/server/chunks/web__next-internal_server_app_api_scan_route_actions_861cde8d.js +0 -3
- package/web/.next/standalone/web/.next/server/chunks/web__next-internal_server_app_api_settings_route_actions_e19026ae.js +0 -3
- package/web/.next/standalone/web/.next/server/chunks/web__next-internal_server_app_api_status_route_actions_8b8c6c89.js +0 -3
- package/web/.next/standalone/web/.next/server/functions-config-manifest.json +0 -4
- package/web/.next/standalone/web/.next/server/middleware-build-manifest.js +0 -21
- package/web/.next/standalone/web/.next/server/next-font-manifest.js +0 -1
- package/web/.next/standalone/web/.next/server/next-font-manifest.json +0 -15
- package/web/.next/standalone/web/.next/server/pages/404.html +0 -1
- package/web/.next/standalone/web/.next/server/pages/500.html +0 -2
- package/web/.next/standalone/web/.next/server/server-reference-manifest.js +0 -1
- package/web/.next/standalone/web/.next/server/server-reference-manifest.json +0 -5
- package/web/.next/standalone/web/.next/static/P-ZMQO7_Wnj487ks3guqa/_clientMiddlewareManifest.json +0 -1
- package/web/.next/standalone/web/.next/static/chunks/062ae79751df2759.js +0 -1
- package/web/.next/standalone/web/.next/static/chunks/159889e17b2cf1f8.js +0 -2
- package/web/.next/standalone/web/.next/static/chunks/458d6f37339fc069.js +0 -1
- package/web/.next/standalone/web/.next/static/chunks/6d3d39425a878d7f.js +0 -1
- package/web/.next/standalone/web/.next/static/chunks/8a80e7184ad3a13f.css +0 -2
- package/web/.next/standalone/web/.next/static/chunks/c056475f5f4424b6.css +0 -1
- package/web/.next/standalone/web/.next/static/chunks/c57fee8cce8d7cb9.js +0 -1
- package/web/.next/standalone/web/.next/static/chunks/cb3513192b63e480.js +0 -12
- package/web/.next/standalone/web/.next/static/chunks/dd22b5f2beb2cc31.js +0 -1
- package/web/.next/standalone/web/.next/static/chunks/e0affeef0ddb9a97.js +0 -4
- package/web/.next/standalone/web/.next/static/chunks/f74a6859e1c4d5e3.js +0 -1
- package/web/.next/standalone/web/.next/static/chunks/turbopack-c0c89f9e6f0a38c4.js +0 -3
- 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 +0 -252
- package/web/.next/standalone/web/app/api/connections/route.ts +0 -319
- package/web/.next/standalone/web/app/api/graph/route.ts +0 -235
- package/web/.next/standalone/web/app/api/projects/route.ts +0 -221
- package/web/.next/standalone/web/app/api/prompts/route.ts +0 -328
- package/web/.next/standalone/web/app/api/scan/route.ts +0 -108
- package/web/.next/standalone/web/app/api/settings/route.ts +0 -198
- package/web/.next/standalone/web/app/api/status/route.ts +0 -169
- package/web/.next/standalone/web/app/globals.css +0 -99
- package/web/.next/standalone/web/app/layout.tsx +0 -49
- package/web/.next/standalone/web/app/page.tsx +0 -94
- package/web/.next/standalone/web/components/components-panel.tsx +0 -240
- package/web/.next/standalone/web/components/connections-panel.tsx +0 -220
- package/web/.next/standalone/web/components/diagram-view.tsx +0 -735
- package/web/.next/standalone/web/components/header.tsx +0 -225
- package/web/.next/standalone/web/components/impact-analysis.tsx +0 -358
- package/web/.next/standalone/web/components/llm-tracking-panel.tsx +0 -1483
- package/web/.next/standalone/web/components/settings-panel.tsx +0 -671
- package/web/.next/standalone/web/components/sidebar.tsx +0 -74
- package/web/.next/standalone/web/components/status-overview.tsx +0 -326
- package/web/.next/standalone/web/components/theme-provider.tsx +0 -11
- package/web/.next/standalone/web/components/ui/accordion.tsx +0 -66
- package/web/.next/standalone/web/components/ui/alert-dialog.tsx +0 -157
- package/web/.next/standalone/web/components/ui/alert.tsx +0 -66
- package/web/.next/standalone/web/components/ui/aspect-ratio.tsx +0 -11
- package/web/.next/standalone/web/components/ui/avatar.tsx +0 -53
- package/web/.next/standalone/web/components/ui/badge.tsx +0 -46
- package/web/.next/standalone/web/components/ui/breadcrumb.tsx +0 -109
- package/web/.next/standalone/web/components/ui/button-group.tsx +0 -83
- package/web/.next/standalone/web/components/ui/button.tsx +0 -60
- package/web/.next/standalone/web/components/ui/calendar.tsx +0 -213
- package/web/.next/standalone/web/components/ui/card.tsx +0 -92
- package/web/.next/standalone/web/components/ui/carousel.tsx +0 -241
- package/web/.next/standalone/web/components/ui/chart.tsx +0 -353
- package/web/.next/standalone/web/components/ui/checkbox.tsx +0 -32
- package/web/.next/standalone/web/components/ui/collapsible.tsx +0 -33
- package/web/.next/standalone/web/components/ui/command.tsx +0 -184
- package/web/.next/standalone/web/components/ui/context-menu.tsx +0 -252
- package/web/.next/standalone/web/components/ui/dialog.tsx +0 -143
- package/web/.next/standalone/web/components/ui/drawer.tsx +0 -135
- package/web/.next/standalone/web/components/ui/dropdown-menu.tsx +0 -257
- package/web/.next/standalone/web/components/ui/empty.tsx +0 -104
- package/web/.next/standalone/web/components/ui/field.tsx +0 -244
- package/web/.next/standalone/web/components/ui/form.tsx +0 -167
- package/web/.next/standalone/web/components/ui/hover-card.tsx +0 -44
- package/web/.next/standalone/web/components/ui/input-group.tsx +0 -169
- package/web/.next/standalone/web/components/ui/input-otp.tsx +0 -77
- package/web/.next/standalone/web/components/ui/input.tsx +0 -21
- package/web/.next/standalone/web/components/ui/item.tsx +0 -193
- package/web/.next/standalone/web/components/ui/kbd.tsx +0 -28
- package/web/.next/standalone/web/components/ui/label.tsx +0 -24
- package/web/.next/standalone/web/components/ui/menubar.tsx +0 -276
- package/web/.next/standalone/web/components/ui/navigation-menu.tsx +0 -166
- package/web/.next/standalone/web/components/ui/pagination.tsx +0 -127
- package/web/.next/standalone/web/components/ui/popover.tsx +0 -48
- package/web/.next/standalone/web/components/ui/progress.tsx +0 -31
- package/web/.next/standalone/web/components/ui/radio-group.tsx +0 -45
- package/web/.next/standalone/web/components/ui/resizable.tsx +0 -56
- package/web/.next/standalone/web/components/ui/scroll-area.tsx +0 -58
- package/web/.next/standalone/web/components/ui/select.tsx +0 -185
- package/web/.next/standalone/web/components/ui/separator.tsx +0 -28
- package/web/.next/standalone/web/components/ui/sheet.tsx +0 -139
- package/web/.next/standalone/web/components/ui/sidebar.tsx +0 -726
- package/web/.next/standalone/web/components/ui/skeleton.tsx +0 -13
- package/web/.next/standalone/web/components/ui/slider.tsx +0 -63
- package/web/.next/standalone/web/components/ui/sonner.tsx +0 -25
- package/web/.next/standalone/web/components/ui/spinner.tsx +0 -16
- package/web/.next/standalone/web/components/ui/switch.tsx +0 -31
- package/web/.next/standalone/web/components/ui/table.tsx +0 -116
- package/web/.next/standalone/web/components/ui/tabs.tsx +0 -66
- package/web/.next/standalone/web/components/ui/textarea.tsx +0 -18
- package/web/.next/standalone/web/components/ui/toast.tsx +0 -129
- package/web/.next/standalone/web/components/ui/toaster.tsx +0 -35
- package/web/.next/standalone/web/components/ui/toggle-group.tsx +0 -73
- package/web/.next/standalone/web/components/ui/toggle.tsx +0 -47
- package/web/.next/standalone/web/components/ui/tooltip.tsx +0 -61
- package/web/.next/standalone/web/components/ui/use-mobile.tsx +0 -19
- package/web/.next/standalone/web/components/ui/use-toast.ts +0 -191
- package/web/.next/standalone/web/components.json +0 -21
- package/web/.next/standalone/web/hooks/use-mobile.ts +0 -19
- package/web/.next/standalone/web/hooks/use-toast.ts +0 -191
- package/web/.next/standalone/web/lib/hooks/index.ts +0 -8
- package/web/.next/standalone/web/lib/hooks/use-components.ts +0 -83
- package/web/.next/standalone/web/lib/hooks/use-connections.ts +0 -83
- package/web/.next/standalone/web/lib/hooks/use-projects.ts +0 -116
- package/web/.next/standalone/web/lib/hooks/use-prompts.ts +0 -122
- package/web/.next/standalone/web/lib/hooks/use-settings.ts +0 -135
- package/web/.next/standalone/web/lib/hooks/use-status.ts +0 -80
- package/web/.next/standalone/web/lib/project-context.tsx +0 -46
- package/web/.next/standalone/web/lib/transform.ts +0 -625
- package/web/.next/standalone/web/lib/types.ts +0 -198
- package/web/.next/standalone/web/lib/utils.ts +0 -6
- package/web/.next/standalone/web/next.config.mjs +0 -12
- package/web/.next/standalone/web/package-lock.json +0 -3987
- package/web/.next/standalone/web/package.json +0 -73
- package/web/.next/standalone/web/pnpm-lock.yaml +0 -5
- package/web/.next/standalone/web/postcss.config.mjs +0 -8
- 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 +0 -26
- 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 +0 -1
- 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 +0 -1
- package/web/.next/standalone/web/server.js +0 -38
- package/web/.next/standalone/web/styles/globals.css +0 -125
- package/web/.next/standalone/web/tsconfig.json +0 -41
- package/web/.next/static/P-ZMQO7_Wnj487ks3guqa/_buildManifest.js +0 -11
- package/web/.next/static/P-ZMQO7_Wnj487ks3guqa/_clientMiddlewareManifest.json +0 -1
- package/web/.next/static/P-ZMQO7_Wnj487ks3guqa/_ssgManifest.js +0 -1
- package/web/.next/static/chunks/062ae79751df2759.js +0 -1
- package/web/.next/static/chunks/159889e17b2cf1f8.js +0 -2
- package/web/.next/static/chunks/458d6f37339fc069.js +0 -1
- package/web/.next/static/chunks/6d3d39425a878d7f.js +0 -1
- package/web/.next/static/chunks/8a80e7184ad3a13f.css +0 -2
- package/web/.next/static/chunks/a6dad97d9634a72d.js +0 -1
- package/web/.next/static/chunks/c056475f5f4424b6.css +0 -1
- package/web/.next/static/chunks/c57fee8cce8d7cb9.js +0 -1
- package/web/.next/static/chunks/cb3513192b63e480.js +0 -12
- package/web/.next/static/chunks/dd22b5f2beb2cc31.js +0 -1
- package/web/.next/static/chunks/e0affeef0ddb9a97.js +0 -4
- package/web/.next/static/chunks/f74a6859e1c4d5e3.js +0 -1
- package/web/.next/static/chunks/turbopack-c0c89f9e6f0a38c4.js +0 -3
- 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
- package/web/public/apple-icon.png +0 -0
- package/web/public/icon-dark-32x32.png +0 -0
- package/web/public/icon-light-32x32.png +0 -0
- package/web/public/icon.svg +0 -26
- package/web/public/navgator-logo.png +0 -0
- package/web/public/placeholder-logo.png +0 -0
- package/web/public/placeholder-logo.svg +0 -1
- package/web/public/placeholder-user.jpg +0 -0
- package/web/public/placeholder.jpg +0 -0
- package/web/public/placeholder.svg +0 -1
- /package/web/{.next/standalone/web → runtime}/.next/package.json +0 -0
- /package/web/{.next/standalone/web → runtime}/.next/server/app/_global-error/page/app-paths-manifest.json +0 -0
- /package/web/{.next/standalone/web → runtime}/.next/server/app/_global-error/page/next-font-manifest.json +0 -0
- /package/web/{.next/standalone/web → runtime}/.next/server/app/_global-error/page/react-loadable-manifest.json +0 -0
- /package/web/{.next/standalone/web → runtime}/.next/server/app/_global-error/page/server-reference-manifest.json +0 -0
- /package/web/{.next/standalone/web → runtime}/.next/server/app/_global-error/page.js.map +0 -0
- /package/web/{.next/standalone/web → runtime}/.next/server/app/_global-error.meta +0 -0
- /package/web/{.next/standalone/web → runtime}/.next/server/app/_not-found/page/app-paths-manifest.json +0 -0
- /package/web/{.next/standalone/web → runtime}/.next/server/app/_not-found/page/react-loadable-manifest.json +0 -0
- /package/web/{.next/standalone/web → runtime}/.next/server/app/_not-found/page/server-reference-manifest.json +0 -0
- /package/web/{.next/standalone/web → runtime}/.next/server/app/_not-found/page.js.map +0 -0
- /package/web/{.next/standalone/web → runtime}/.next/server/app/_not-found.meta +0 -0
- /package/web/{.next/standalone/web → runtime}/.next/server/app/api/components/route/app-paths-manifest.json +0 -0
- /package/web/{.next/standalone/web → runtime}/.next/server/app/api/components/route/server-reference-manifest.json +0 -0
- /package/web/{.next/standalone/web → runtime}/.next/server/app/api/components/route.js.map +0 -0
- /package/web/{.next/standalone/web → runtime}/.next/server/app/api/connections/route/app-paths-manifest.json +0 -0
- /package/web/{.next/standalone/web → runtime}/.next/server/app/api/connections/route/server-reference-manifest.json +0 -0
- /package/web/{.next/standalone/web → runtime}/.next/server/app/api/connections/route.js.map +0 -0
- /package/web/{.next/standalone/web/.next/server/app/api/graph → runtime/.next/server/app/api/coverage}/route/server-reference-manifest.json +0 -0
- /package/web/{.next/standalone/web/.next/server/app/api/graph → runtime/.next/server/app/api/coverage}/route.js.map +0 -0
- /package/web/{.next/standalone/web → runtime}/.next/server/app/api/graph/route/app-paths-manifest.json +0 -0
- /package/web/{.next/standalone/web/.next/server/app/api/projects → runtime/.next/server/app/api/graph}/route/server-reference-manifest.json +0 -0
- /package/web/{.next/standalone/web/.next/server/app/api/projects → runtime/.next/server/app/api/graph}/route.js.map +0 -0
- /package/web/{.next/standalone/web → runtime}/.next/server/app/api/projects/route/app-paths-manifest.json +0 -0
- /package/web/{.next/standalone/web/.next/server/app/api/prompts → runtime/.next/server/app/api/projects}/route/server-reference-manifest.json +0 -0
- /package/web/{.next/standalone/web/.next/server/app/api/prompts → runtime/.next/server/app/api/projects}/route.js.map +0 -0
- /package/web/{.next/standalone/web → runtime}/.next/server/app/api/prompts/route/app-paths-manifest.json +0 -0
- /package/web/{.next/standalone/web/.next/server/app/api/scan → runtime/.next/server/app/api/prompts}/route/server-reference-manifest.json +0 -0
- /package/web/{.next/standalone/web/.next/server/app/api/scan → runtime/.next/server/app/api/prompts}/route.js.map +0 -0
- /package/web/{.next/standalone/web/.next/server/app/api/settings → runtime/.next/server/app/api/registry-health}/route/server-reference-manifest.json +0 -0
- /package/web/{.next/standalone/web/.next/server/app/api/settings → runtime/.next/server/app/api/registry-health}/route.js.map +0 -0
- /package/web/{.next/standalone/web/.next/server/app/api/status → runtime/.next/server/app/api/rules}/route/server-reference-manifest.json +0 -0
- /package/web/{.next/standalone/web/.next/server/app/api/status → runtime/.next/server/app/api/rules}/route.js.map +0 -0
- /package/web/{.next/standalone/web → runtime}/.next/server/app/api/scan/route/app-paths-manifest.json +0 -0
- /package/web/{.next/standalone/web/.next/server/app/page → runtime/.next/server/app/api/scan/route}/server-reference-manifest.json +0 -0
- /package/web/{.next/standalone/web/.next/server/app/page.js.map → runtime/.next/server/app/api/scan/route.js.map} +0 -0
- /package/web/{.next/standalone/web → runtime}/.next/server/app/api/settings/route/app-paths-manifest.json +0 -0
- /package/web/{.next/standalone/web → runtime}/.next/server/app/api/status/route/app-paths-manifest.json +0 -0
- /package/web/{.next/standalone/web → runtime}/.next/server/app/index.meta +0 -0
- /package/web/{.next/standalone/web → runtime}/.next/server/app/page/app-paths-manifest.json +0 -0
- /package/web/{.next/standalone/web → runtime}/.next/server/app/page/react-loadable-manifest.json +0 -0
- /package/web/{.next/standalone/web → runtime}/.next/server/middleware-manifest.json +0 -0
- /package/web/{.next/standalone/web → runtime}/.next/server/pages-manifest.json +0 -0
- /package/web/{.next/standalone/web/.next/static/chunks/a6dad97d9634a72d.js → runtime/.next/static/chunks/0cz1d0mv5g_q7.js} +0 -0
- /package/web/{.next/standalone/web/.next/static/P-ZMQO7_Wnj487ks3guqa → runtime/.next/static/t3UvrbzeeDimLG5J5Co_p}/_buildManifest.js +0 -0
- /package/web/{.next/standalone/web/.next/static/P-ZMQO7_Wnj487ks3guqa → runtime/.next/static/t3UvrbzeeDimLG5J5Co_p}/_ssgManifest.js +0 -0
- /package/web/{.next/standalone/web → runtime}/public/apple-icon.png +0 -0
- /package/web/{.next/standalone/web → runtime}/public/icon-dark-32x32.png +0 -0
- /package/web/{.next/standalone/web → runtime}/public/icon-light-32x32.png +0 -0
- /package/web/{.next/standalone/web → runtime}/public/icon.svg +0 -0
- /package/web/{.next/standalone/web → runtime}/public/navgator-logo.png +0 -0
- /package/web/{.next/standalone/web → runtime}/public/placeholder-logo.png +0 -0
- /package/web/{.next/standalone/web → runtime}/public/placeholder-logo.svg +0 -0
- /package/web/{.next/standalone/web → runtime}/public/placeholder-user.jpg +0 -0
- /package/web/{.next/standalone/web → runtime}/public/placeholder.jpg +0 -0
- /package/web/{.next/standalone/web → runtime}/public/placeholder.svg +0 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
module.exports=[92434,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"warnOnce",{enumerable:!0,get:function(){return d}});let d=a=>{}},68063,(a,b,c)=>{"use strict";let d;Object.defineProperty(c,"__esModule",{value:!0});var e={getAssetToken:function(){return i},getAssetTokenQuery:function(){return j},getDeploymentId:function(){return g},getDeploymentIdQuery:function(){return h}};for(var f in e)Object.defineProperty(c,f,{enumerable:!0,get:e[f]});function g(){return d}function h(a=!1){return d?`${a?"&":"?"}dpl=${d}`:""}function i(){return!1}function j(a=!1){return""}d=void 0},4987,(a,b,c)=>{"use strict";function d({widthInt:a,heightInt:b,blurWidth:c,blurHeight:e,blurDataURL:f,objectFit:g}){let h=c?40*c:a,i=e?40*e:b,j=h&&i?`viewBox='0 0 ${h} ${i}'`:"";return`%3Csvg xmlns='http://www.w3.org/2000/svg' ${j}%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='${j?"none":"contain"===g?"xMidYMid":"cover"===g?"xMidYMid slice":"none"}' style='filter: url(%23b);' href='${f}'/%3E%3C/svg%3E`}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"getImageBlurSvg",{enumerable:!0,get:function(){return d}})},345,(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"],maximumDiskCacheSize:void 0,maximumRedirects:3,maximumResponseBody:5e7,dangerouslyAllowLocalIP:!1,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:[75],unoptimized:!1,customCacheHandler:!1}},94915,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"getImgProps",{enumerable:!0,get:function(){return j}}),a.r(92434);let d=a.r(68063),e=a.r(4987),f=a.r(345),g=["-moz-initial","fill","none","scale-down",void 0];function h(a){return void 0!==a.default}function i(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 j({src:a,sizes:b,unoptimized:c=!1,priority:k=!1,preload:l=!1,loading:m,className:n,quality:o,width:p,height:q,fill:r=!1,style:s,overrideSrc:t,onLoad:u,onLoadingComplete:v,placeholder:w="empty",blurDataURL:x,fetchPriority:y,decoding:z="async",layout:A,objectFit:B,objectPosition:C,lazyBoundary:D,lazyRoot:E,...F},G){var H;let I,J,K,{imgConf:L,showAltText:M,blurComplete:N,defaultLoader:O}=G,P=L||f.imageConfigDefault;if("allSizes"in P)I=P;else{let a=[...P.deviceSizes,...P.imageSizes].sort((a,b)=>a-b),b=P.deviceSizes.sort((a,b)=>a-b),c=P.qualities?.sort((a,b)=>a-b);I={...P,allSizes:a,deviceSizes:b,qualities:c}}if(void 0===O)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 Q=F.loader||O;delete F.loader,delete F.srcSet;let R="__next_img_default"in Q;if(R){if("custom"===I.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=Q;Q=b=>{let{config:c,...d}=b;return a(d)}}if(A){"fill"===A&&(r=!0);let a={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[A];a&&(s={...s,...a});let c={responsive:"100vw",fill:"100vw"}[A];c&&!b&&(b=c)}let S="",T=i(p),U=i(q);if((H=a)&&"object"==typeof H&&(h(H)||void 0!==H.src)){let b=h(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(J=b.blurWidth,K=b.blurHeight,x=x||b.blurDataURL,S=b.src,!r)if(T||U){if(T&&!U){let a=T/b.width;U=Math.round(b.height*a)}else if(!T&&U){let a=U/b.height;T=Math.round(b.width*a)}}else T=b.width,U=b.height}let V=!k&&!l&&("lazy"===m||void 0===m);(!(a="string"==typeof a?a:S)||a.startsWith("data:")||a.startsWith("blob:"))&&(c=!0,V=!1),I.unoptimized&&(c=!0),R&&!I.dangerouslyAllowSVG&&a.split("?",1)[0].endsWith(".svg")&&(c=!0);let W=i(o),X=Object.assign(r?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:B,objectPosition:C}:{},M?{}:{color:"transparent"},s),Y=N||"empty"===w?null:"blur"===w?`url("data:image/svg+xml;charset=utf-8,${(0,e.getImageBlurSvg)({widthInt:T,heightInt:U,blurWidth:J,blurHeight:K,blurDataURL:x||"",objectFit:X.objectFit})}")`:`url("${w}")`,Z=g.includes(X.objectFit)?"fill"===X.objectFit?"100% 100%":"cover":X.objectFit,$=Y?{backgroundSize:Z,backgroundPosition:X.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:Y}:{},_=function({config:a,src:b,unoptimized:c,width:e,quality:f,sizes:g,loader:h}){if(c){if(b.startsWith("/")&&!b.startsWith("//")){let a=(0,d.getDeploymentId)();if(a){let c=b.indexOf("?");if(-1!==c){let d=new URLSearchParams(b.slice(c+1));d.get("dpl")||(d.append("dpl",a),b=b.slice(0,c)+"?"+d.toString())}else b+=`?dpl=${a}`}}return{src:b,srcSet:void 0,sizes:void 0}}let{widths:i,kind:j}=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,e,g),k=i.length-1;return{sizes:g||"w"!==j?g:"100vw",srcSet:i.map((c,d)=>`${h({config:a,src:b,quality:f,width:c})} ${"w"===j?c:d+1}${j}`).join(", "),src:h({config:a,src:b,quality:f,width:i[k]})}}({config:I,src:a,unoptimized:c,width:T,quality:W,sizes:b,loader:Q}),aa=V?"lazy":m;return{props:{...F,loading:aa,fetchPriority:y,width:T,height:U,decoding:z,className:n,style:{...X,...$},sizes:_.sizes,srcSet:_.srcSet,src:t||_.src},meta:{unoptimized:c,preload:l||k,placeholder:w,fill:r}}}},46058,(a,b,c)=>{"use strict";function d(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(d=function(a){return a?c:b})(a)}c._=function(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var c=d(b);if(c&&c.has(a))return c.get(a);var e={__proto__:null},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var g in a)if("default"!==g&&Object.prototype.hasOwnProperty.call(a,g)){var h=f?Object.getOwnPropertyDescriptor(a,g):null;h&&(h.get||h.set)?Object.defineProperty(e,g,h):e[g]=a[g]}return e.default=a,c&&c.set(a,e),e}},94613,(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(72131),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}},92966,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored.contexts.HeadManagerContext},58018,(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(33354),g=a.r(46058),h=a.r(87924),i=g._(a.r(72131)),j=f._(a.r(94613)),k=a.r(92966);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(92434);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)},4486,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored.contexts.ImageConfigContext},53773,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored.contexts.RouterContext},35444,(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,b.qualities[0]):c}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"findClosestQuality",{enumerable:!0,get:function(){return d}})},2305,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"default",{enumerable:!0,get:function(){return g}});let d=a.r(35444),e=a.r(68063);function f({config:a,src:b,width:c,quality:g}){let h=(0,e.getDeploymentId)();if(b.startsWith("/")&&!b.startsWith("//")){let a=b.indexOf("?");if(-1!==a){let c=new URLSearchParams(b.slice(a+1)),d=c.get("dpl");if(d){h=d,c.delete("dpl");let e=c.toString();b=b.slice(0,a)+(e?"?"+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 i=(0,d.findClosestQuality)(g,a);return`${a.path}?url=${encodeURIComponent(b)}&w=${c}&q=${i}${b.startsWith("/")&&h?`&dpl=${h}`:""}`}f.__next_img_default=!0;let g=f},8591,(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(72131);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)},67161,(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(33354),e=a.r(46058),f=a.r(87924),g=e._(a.r(72131)),h=d._(a.r(35112)),i=d._(a.r(58018)),j=a.r(94915),k=a.r(345),l=a.r(4486);a.r(92434);let m=a.r(53773),n=d._(a.r(2305)),o=a.r(8591),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)},33095,(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(33354),g=a.r(94915),h=a.r(67161),i=f._(a.r(2305));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},71987,(a,b,c)=>{b.exports=a.r(33095)},60350,a=>{"use strict";let b,c,d;var e,f,g,h,i,j,k,l,m,n=a.i(87924),o=a.i(72131),p=a.i(71987);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(35112),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!("u"<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||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=c,f=d,g=bq(c)!==e||bq(d)!==f;return g&&(c=e,d=f),{width:c,height:d,$:g}}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 if(1){let c=ce(a);e={x:b.x-c.x,y:b.y-c.y,width:b.width,height:b.height}}else{let a,d,f,g,h,i;d=(a=cf(b,!0,"fixed"===c)).top+b.clientTop,f=a.left+b.clientLeft,g=bs(1),h=b.clientWidth*g.x,i=b.clientHeight*g.y,e={width:h,height:i,x:f*g.x,y:d*g.y}}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){let d=bT(b),e="fixed"===c,f=cf(a,!0,e,b),g={scrollLeft:0,scrollTop:0},h=bs(0);if(!e)if(("body"!==bR(b)||bW(d))&&(g=b6(b)),1)d&&(h.x=cg(d));else{let a=cf(b,!0,e,b);h.x=a.x+b.clientLeft,h.y=a.y+b.clientTop}e&&d&&(h.x=cg(d));let i=!d||e?bs(0):ch(d,g);return{x:f.left+g.scrollLeft-h.x-i.x,y:f.top+g.scrollTop-h.y-i.y,width:f.width,height:f.height}}(a.reference,await b(a.floating),a.strategy),floating:{x:0,y:0,width:d.width,height:d.height}}},cn={convertOffsetParentRelativeRectToViewportRelativeRect:function(a){let{elements:b,rect:c,offsetParent:d,strategy:e}=a,f="fixed"===e,g=bT(d),h=!!b&&bZ(b.floating);if(d===g||h&&f)return c;let i={scrollLeft:0,scrollTop:0},j=bs(1),k=bs(0);!f&&(("body"!==bR(d)||bW(g))&&(i=b6(d)),0);let l=!g||f?bs(0):ch(g,i);return{width:c.width*j.x,height:c.height*j.y,x:c.x*j.x-i.scrollLeft*j.x+k.x+l.x,y:c.y*j.y-i.scrollTop*j.y+k.y+l.y}},getDocumentElement:bT,getClippingRect:function(a){let{element:b,boundary:c,rootBoundary:d,strategy:e}=a,f=[..."clippingAncestors"===c?bZ(b)?[]:function(a,b){let c=b.get(a);if(c)return c;let d=b8(a,[],!1).filter(a=>!1),e="fixed"===b5(a).position,f=e?b7(a):a;return b.set(a,d),d}(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="u">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){return Math.round(+b)/1}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||("u"<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||("u">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("u">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]"})]})})}fs.displayName=fr;var fx=a.i(71630);function fy({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 (0,fx.apiFetch)("/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"})]})]})]})}let fz=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"}]]),fA=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"}]]),fB=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"}]]),fC=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"}]]),fD=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"}]]),fE=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"}]]),fF=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"}]]),fG=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"}]]),fH=t("ChartColumn",[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]]),fI=t("Route",[["circle",{cx:"6",cy:"19",r:"3",key:"1kj8tv"}],["path",{d:"M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15",key:"1d8sl"}],["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}]]),fJ=t("Network",[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]]),fK=t("HeartPulse",[["path",{d:"M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z",key:"c3ymky"}],["path",{d:"M3.22 12H9.5l.5-1 2 4.5 2-7 1.5 3.5h5.27",key:"1uw2ng"}]]),fL=[{id:"overview",label:"Overview",icon:fz},{id:"components",label:"Components",icon:fA},{id:"connections",label:"Connections",icon:fB},{id:"impact",label:"Impact",icon:fC},{id:"diagram",label:"Diagram",icon:fD},{id:"llm",label:"LLM Tracking",icon:fF},{id:"rules",label:"Rules",icon:fG},{id:"coverage",label:"Coverage",icon:fH},{id:"trace",label:"Trace",icon:fI},{id:"subgraph",label:"Subgraph",icon:fJ},{id:"health",label:"Registry Health",icon:fK}];function fM({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:fL.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)(fE,{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 fN=t("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]),fO=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"}]]),fP=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"}]]),fQ=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"}]]),fR=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"}]]),fS=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"}]]),fT=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"}]]),fU=t("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]),fV=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 fW({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 fX({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 fY({className:a,...b}){return(0,n.jsx)("div",{"data-slot":"card-title",className:aQ("leading-none font-semibold",a),...b})}function fZ({className:a,...b}){return(0,n.jsx)("div",{"data-slot":"card-description",className:aQ("text-muted-foreground text-sm",a),...b})}function f$({className:a,...b}){return(0,n.jsx)("div",{"data-slot":"card-content",className:aQ("px-6",a),...b})}let f_=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 f0({className:a,variant:b,asChild:c=!1,...d}){let e=c?D:"span";return(0,n.jsx)(e,{"data-slot":"badge",className:aQ(f_({variant:b}),a),...d})}var f1=a.i(85850);function f2(a={}){let{demoMode:b=!1,autoFetch:c=!0,projectPath:d}=a,{activeProjectPath:e,isHydrated:f}=(0,f1.useActiveProject)(),g=d||e||void 0,h=void 0!==d||f,[i,j]=(0,o.useState)([]),[k,l]=(0,o.useState)([]),[m,n]=(0,o.useState)(null),[p,q]=(0,o.useState)(!1),[r,s]=(0,o.useState)(null),[t,u]=(0,o.useState)(null),v=(0,o.useCallback)(async(a=!1)=>{q(!0),s(null);try{let c=new URLSearchParams;b&&c.set("demo","true"),a&&c.set("refresh","true"),g&&c.set("path",g);let d=await (0,fx.apiFetch)(`/api/prompts?${c.toString()}`),e=await d.json();e.success&&e.data?(j(e.data.calls),l(e.data.prompts),n(e.data.summary),u(e.source)):s(e.error||"Failed to fetch data")}catch(a){s(a instanceof Error?a.message:"Network error")}finally{q(!1)}},[b,g]),w=(0,o.useCallback)(async()=>{await v(!0)},[v]),x=(0,o.useCallback)(async a=>{q(!0),s(null);try{let b=await (0,fx.apiFetch)("/api/prompts",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:a||g})}),c=await b.json();c.success&&c.data?(j(c.data.calls),l(c.data.prompts),n(c.data.summary),u(c.source)):s(c.error||"Scan failed")}catch(a){s(a instanceof Error?a.message:"Network error")}finally{q(!1)}},[g]);return(0,o.useEffect)(()=>{c&&h&&v()},[c,h,v]),{calls:i,prompts:k,summary:m,isLoading:p||c&&!h,error:r,source:t,refresh:w,scan:x}}function f3(a={}){let{demoMode:b=!1,autoFetch:c=!0,projectPath:d}=a,{activeProjectPath:e,isHydrated:f}=(0,f1.useActiveProject)(),g=d||e||void 0,h=void 0!==d||f,[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"),g&&c.set("path",g);let d=await (0,fx.apiFetch)(`/api/components?${c.toString()}`),e=await d.json();e.success&&e.data?(j(e.data.components),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,g]),u=(0,o.useCallback)(async()=>{await t(!0)},[t]);return(0,o.useEffect)(()=>{c&&h&&t()},[c,h,t]),{components:i,summary:k,isLoading:m||c&&!h,error:p,source:r,refresh:u}}function f4(a={}){let{demoMode:b=!1,autoFetch:c=!0,projectPath:d}=a,{activeProjectPath:e,isHydrated:f}=(0,f1.useActiveProject)(),g=d||e||void 0,h=void 0!==d||f,[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"),g&&c.set("path",g);let d=await (0,fx.apiFetch)(`/api/connections?${c.toString()}`),e=await d.json();e.success&&e.data?(j(e.data.connections),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,g]),u=(0,o.useCallback)(async()=>{await t(!0)},[t]);return(0,o.useEffect)(()=>{c&&h&&t()},[c,h,t]),{connections:i,summary:k,isLoading:m||c&&!h,error:p,source:r,refresh:u}}function f5(a={}){let{autoFetch:b=!0,projectPath:c}=a,{activeProjectPath:d,isHydrated:e}=(0,f1.useActiveProject)(),f=c||d||void 0,g=void 0!==c||e,[h,i]=(0,o.useState)(null),[j,k]=(0,o.useState)(!1),[l,m]=(0,o.useState)(null),[n,p]=(0,o.useState)(null),q=(0,o.useCallback)(async(a=!1)=>{k(!0),m(null);try{let b=new URLSearchParams;a&&b.set("refresh","true"),f&&b.set("path",f);let c=await (0,fx.apiFetch)(`/api/status?${b.toString()}`),d=await c.json();d.success&&d.data?(i(d.data),p(d.source),d.error&&m(d.error)):m(d.error||"Failed to fetch status")}catch(a){m(a instanceof Error?a.message:"Network error")}finally{k(!1)}},[f]),r=(0,o.useCallback)(async()=>{await q(!0)},[q]);return(0,o.useEffect)(()=>{b&&g&&q()},[b,g,q]),{status:h,isLoading:j||b&&!g,error:l,source:n,refresh:r}}let f6="navgator-active-project";function f7(a,b,c){let d=new URLSearchParams(c);b&&d.set("path",b);let e=d.toString();return e?`${a}?${e}`:a}function f8(a,b,c){return a&&b.find(b=>b.id===a)?.name||c}let f9={npm:fO,pip:fO,cargo:fO,service:fQ,database:fP,queue:fR,infra:fR,framework:fA,prompt:fF},ga={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"},gb=[{label:"Run Full Scan",description:"Analyze entire codebase",icon:fT,view:"settings"},{label:"View Diagram",description:"Architecture visualization",icon:fB,view:"diagram"},{label:"Impact Analysis",description:"Check change effects",icon:fS,view:"impact"}];function gc({onSelectComponent:a,onNavigate:b,onNavigateToType:c}){let{activeProjectPath:d,isHydrated:e}=(0,f1.useActiveProject)(),{status:f,isLoading:g,error:h}=f5({autoFetch:!0}),{components:i,summary:j,isLoading:k}=f3({autoFetch:!0}),{calls:l,prompts:m,isLoading:p}=f2({autoFetch:!0}),[q,r]=(0,o.useState)(null);(0,o.useEffect)(()=>{e&&(r(null),(0,fx.apiFetch)(f7("/api/rules",d)).then(a=>a.json()).then(a=>{a.success&&a.data&&r(a.data.summary)}).catch(()=>{}))},[d,e]);let s=(()=>{let a=0;for(let b of l)"unknown"===b.provider&&a++,"unknown"===b.model&&a++;for(let b of m)0===b.usedBy.length&&a++;return a})(),t=f&&0!==f.stats.total_components?q?f.stats.vulnerable_count>0||q.errors>0?{label:"Issues",status:"warning"}:q.warnings>0?{label:"Warnings",status:"warning"}:{label:"Good",status:"success"}:{label:"Checking",status:"checking"}:{label:"No data",status:"warning"},u=[{label:"Components",value:f?.stats.total_components?.toString()||"0",icon:fA,trend:j?.outdatedCount?`${j.outdatedCount} outdated`:void 0,view:"components"},{label:"Connections",value:f?.stats.total_connections?.toString()||"0",icon:fB,view:"connections"},{label:"LLM Calls",value:l.length.toString(),icon:fF,trend:s>0?`${s} issues`:void 0,view:"llm"},{label:"Rules",value:q?q.total.toString():"—",icon:fG,trend:q?.errors?`${q.errors} errors`:void 0,view:"rules"},{label:"Health",value:t.label,icon:fN,status:t.status,view:"settings"}],v=Object.entries(f?.stats.components_by_type||{}).map(([a,b])=>({type:a,count:b,icon:f9[a]||fO,color:ga[a]||"text-muted-foreground"})).sort((a,b)=>b.count-a.count).slice(0,6),w=i.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((g||k||p)&&!f)return(0,n.jsx)("div",{className:"flex h-64 items-center justify-center",children:(0,n.jsx)(fU,{className:"h-8 w-8 animate-spin text-muted-foreground"})});let x=f&&f.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:f?.project_name?`Overview of ${f.project_name} architecture and connections`:"Overview of your project architecture and connections"})]}),!x&&(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)(fV,{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-5",children:u.map(a=>(0,n.jsx)("button",{onClick:()=>a.view&&b(a.view),className:"group text-left",children:(0,n.jsx)(fW,{className:"bg-card transition-all duration-200 group-hover:border-primary/50 group-hover:bg-secondary/50",children:(0,n.jsxs)(f$,{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)(f0,{variant:"secondary",className:"bg-primary/10 text-primary",children:a.trend}),"success"===a.status&&(0,n.jsx)(f0,{variant:"secondary",className:"bg-success/10 text-success",children:"Healthy"}),"warning"===a.status&&(0,n.jsx)(f0,{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:gb.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)(fW,{className:"bg-card",children:[(0,n.jsxs)(fX,{className:"flex flex-row items-center justify-between pb-3",children:[(0,n.jsx)(fY,{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)(f$,{children:0===v.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:v.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(...v.map(a=>a.count),1)*100)}%`}})})]})]},a.type))})})]}),(0,n.jsxs)(fW,{className:"bg-card",children:[(0,n.jsx)(fX,{className:"pb-3",children:(0,n.jsx)(fY,{className:"text-base font-medium",children:"Top Connected Components"})}),(0,n.jsx)(f$,{children:0===w.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:w.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)(fB,{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 gd=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"}]]),ge=t("Filter",[["polygon",{points:"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3",key:"1yg77f"}]]),gf={npm:fO,service:fQ,database:fP,infra:fR,queue:gd,framework:gd},gg={npm:"text-chart-1",service:"text-chart-2",database:"text-chart-3",infra:"text-chart-4",queue:"text-chart-5",framework:"text-primary"};function gh({onSelectComponent:a,initialTypeFilter:b}){let{components:c,isLoading:d,source:e,refresh:f}=f3({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)(fU,{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)(fV,{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)(ge,{className:"h-4 w-4"}),"Type",i.length>0&&(0,n.jsx)(f0,{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)(ge,{className:"h-4 w-4"}),"Layer",k.length>0&&(0,n.jsx)(f0,{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=gf[b]||gd,e=gg[b]||"text-muted-foreground";return(0,n.jsxs)(fW,{className:"bg-card",children:[(0,n.jsx)(fX,{className:"pb-2",children:(0,n.jsxs)(fY,{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)(f0,{variant:"secondary",className:"ml-auto",children:c.length})]})}),(0,n.jsx)(f$,{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 gi=t("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]),gj=t("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]),gk=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"}]]),gl=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 gm="Tabs",[gn,go]=aV(gm,[cY]),gp=cY(),[gq,gr]=gn(gm),gs=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)(gq,{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})})});gs.displayName=gm;var gt="TabsList",gu=o.forwardRef((a,b)=>{let{__scopeTabs:c,loop:d=!0,...e}=a,f=gr(gt,c),g=gp(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})})});gu.displayName=gt;var gv="TabsTrigger",gw=o.forwardRef((a,b)=>{let{__scopeTabs:c,value:d,disabled:e=!1,...f}=a,g=gr(gv,c),h=gp(c),i=gz(g.baseId,d),j=gA(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)})})})});gw.displayName=gv;var gx="TabsContent",gy=o.forwardRef((a,b)=>{let{__scopeTabs:c,value:d,forceMount:e,children:f,...g}=a,h=gr(gx,c),i=gz(h.baseId,d),j=gA(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 gz(a,b){return`${a}-trigger-${b}`}function gA(a,b){return`${a}-content-${b}`}function gB({className:a,...b}){return(0,n.jsx)(gs,{"data-slot":"tabs",className:aQ("flex flex-col gap-2",a),...b})}function gC({className:a,...b}){return(0,n.jsx)(gu,{"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 gD({className:a,...b}){return(0,n.jsx)(gw,{"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 gE({className:a,...b}){return(0,n.jsx)(gy,{"data-slot":"tabs-content",className:aQ("flex-1 outline-none",a),...b})}gy.displayName=gx;let gF={"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"},gG={production:"text-gray-600",test:"text-amber-600",admin:"text-blue-600",analytics:"text-green-600","dev-only":"text-purple-600",migration:"text-orange-600",unknown:"text-gray-400"},gH={"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 gI({selectedComponent:a,onSelectComponent:b}){let c,{connections:d,isLoading:e,source:f,refresh:g}=f4({autoFetch:!0}),{components:h}=f3({autoFetch:!0}),[i,j]=(0,o.useState)(""),[k,l]=(0,o.useState)("all"),[m,p]=(0,o.useState)(1),q=(0,o.useMemo)(()=>new Map(h.map(a=>[a.id,a.name])),[h]),r=(0,o.useMemo)(()=>{let a=i.toLowerCase();return d.filter(b=>{let c=b.fromComponent&&q.get(b.fromComponent)||b.from,d=b.toComponent&&q.get(b.toComponent)||b.to;return(c.toLowerCase().includes(a)||d.toLowerCase().includes(a)||b.symbol.toLowerCase().includes(a))&&("all"===k||b.type===k)})},[k,d,q,i]),s=Math.max(1,Math.ceil(r.length/100)),t=(c=Math.max(1,m),r.slice((c-1)*100,100*c)),w=(a,b)=>a&&q.get(a)||b;(0,o.useEffect)(()=>{p(1)},[k,i]),(0,o.useEffect)(()=>{p(a=>Math.min(a,s))},[s]);let x=d.reduce((a,b)=>(a[b.type]=(a[b.type]||0)+1,a),{}),y=Object.entries(x).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"===f&&(0,n.jsx)("span",{className:"ml-2 text-info",children:"(Demo data)"})]})]}),(0,n.jsxs)(aS,{variant:"outline",size:"sm",onClick:()=>g(),disabled:e,children:[e?(0,n.jsx)(fU,{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"===f&&(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)(fV,{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:i,onChange:a=>j(a.target.value),className:"bg-card pl-9"})]}),(0,n.jsxs)(gB,{value:k,onValueChange:l,children:[(0,n.jsxs)(gC,{className:"bg-secondary flex-wrap h-auto gap-1 p-1",children:[(0,n.jsxs)(gD,{value:"all",children:["All",(0,n.jsx)(f0,{variant:"secondary",className:"ml-2 h-5 px-1.5 bg-muted",children:d.length})]}),y.map(a=>(0,n.jsxs)(gD,{value:a,children:[gH[a]||a.replace(/-/g," "),(0,n.jsx)(f0,{variant:"secondary",className:"ml-2 h-5 px-1.5 bg-muted",children:x[a]})]},a))]}),(0,n.jsx)(gE,{value:k,className:"mt-4",children:(0,n.jsxs)("div",{className:"space-y-3",children:[t.map((a,c)=>(0,n.jsx)(fW,{className:"bg-card transition-colors hover:bg-card/80",children:(0,n.jsxs)(f$,{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(w(a.fromComponent,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)(gl,{className:"h-3.5 w-3.5 text-muted-foreground"}),w(a.fromComponent,a.from)]}),(0,n.jsx)(gi,{className:"h-4 w-4 text-muted-foreground"}),(0,n.jsx)("button",{onClick:()=>b(w(a.toComponent,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:w(a.toComponent,a.to)})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[a.classification&&"unknown"!==a.classification&&(0,n.jsx)("span",{className:aQ("text-xs",gG[a.classification]||"text-gray-400"),children:a.classification}),(0,n.jsx)(f0,{variant:"outline",className:aQ("text-xs",gF[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)(gk,{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===r.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)(gj,{className:"h-6 w-6 text-muted-foreground"})}),(0,n.jsx)("p",{className:"mt-4 text-sm text-muted-foreground",children:"No connections found"})]}),r.length>100&&(0,n.jsxs)("div",{className:"flex items-center justify-between border-t border-border pt-4",children:[(0,n.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Showing ",(m-1)*100+1,"–",Math.min(100*m,r.length)," of ",r.length]}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(aS,{variant:"outline",size:"sm",onClick:()=>p(a=>Math.max(1,a-1)),disabled:1===m,children:"Previous"}),(0,n.jsxs)("span",{className:"text-xs text-muted-foreground",children:["Page ",m," of ",s]}),(0,n.jsx)(aS,{variant:"outline",size:"sm",onClick:()=>p(a=>Math.min(s,a+1)),disabled:m===s,children:"Next"})]})]})]})})]})]})}let gJ=t("ArrowDownToLine",[["path",{d:"M12 17V3",key:"1cwfxf"}],["path",{d:"m6 11 6 6 6-6",key:"12ii2o"}],["path",{d:"M19 21H5",key:"150jfl"}]]),gK=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 gL({componentName:a,onSelectComponent:b}){let[c,d]=(0,o.useState)(""),{components:e,isLoading:f,error:g}=f3({autoFetch:!0}),{connections:h,isLoading:i,error:j}=f4({autoFetch:!0}),k=g||j,l=e.filter(a=>a.name.toLowerCase().includes(c.toLowerCase()));if(f||i)return(0,n.jsxs)("div",{className:"flex items-center justify-center py-12",children:[(0,n.jsx)(fU,{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)(fW,{className:"bg-card border-warning/50",children:(0,n.jsx)(f$,{className:"p-6",children:(0,n.jsxs)("div",{className:"flex items-start gap-3",children:[(0,n.jsx)(fS,{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 m=a?(a=>{var b;let c=e.find(b=>b.name===a);if(!c)return null;let{incoming:d,outgoing:f}=(b=c.id,{incoming:h.filter(a=>a.toComponent===b),outgoing:h.filter(a=>a.fromComponent===b)});return{component:c,incoming:d,outgoing:f}})(a):null;if(!a||!m)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===l.length?(0,n.jsx)(fW,{className:"bg-card",children:(0,n.jsx)(f$,{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:l.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)(fC,{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 p=m.incoming.length>=5?"high":m.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)(f0,{variant:"outline",className:aQ("text-xs","high"===p&&"border-destructive/50 bg-destructive/10 text-destructive","medium"===p&&"border-warning/50 bg-warning/10 text-warning","low"===p&&"border-success/50 bg-success/10 text-success"),children:["high"===p&&(0,n.jsx)(fS,{className:"mr-1 h-3 w-3"}),"low"===p&&(0,n.jsx)(fN,{className:"mr-1 h-3 w-3"}),p," impact risk"]})]}),(0,n.jsxs)("p",{className:"text-sm text-muted-foreground",children:[m.component.type," · ",m.component.layer," · ",m.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)(fW,{className:"bg-card",children:(0,n.jsx)(f$,{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)(gJ,{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:m.incoming.length}),(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:"Incoming connections"})]})]})})}),(0,n.jsx)(fW,{className:"bg-card",children:(0,n.jsx)(f$,{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)(gK,{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:m.outgoing.length}),(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:"Outgoing connections"})]})]})})})]}),m.incoming.length>0&&(0,n.jsxs)(fW,{className:"bg-card",children:[(0,n.jsxs)(fX,{className:"pb-3",children:[(0,n.jsxs)(fY,{className:"flex items-center gap-2 text-base font-medium",children:[(0,n.jsx)(gJ,{className:"h-4 w-4 text-chart-1"}),"Files that USE this component",(0,n.jsx)(f0,{variant:"secondary",className:"ml-auto",children:m.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)(f$,{children:(0,n.jsxs)("div",{className:"space-y-3",children:[m.incoming.slice(0,100).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)(gl,{className:"h-4 w-4 text-muted-foreground"}),(0,n.jsx)("span",{className:"text-sm font-medium text-foreground",children:f8(a.fromComponent,e,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)(gk,{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)),m.incoming.length>100&&(0,n.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Showing first ",100," of ",m.incoming.length," incoming connections."]})]})})]}),m.outgoing.length>0&&(0,n.jsxs)(fW,{className:"bg-card",children:[(0,n.jsxs)(fX,{className:"pb-3",children:[(0,n.jsxs)(fY,{className:"flex items-center gap-2 text-base font-medium",children:[(0,n.jsx)(gK,{className:"h-4 w-4 text-chart-2"}),"Components this CALLS",(0,n.jsx)(f0,{variant:"secondary",className:"ml-auto",children:m.outgoing.length})]}),(0,n.jsxs)("p",{className:"text-xs text-muted-foreground",children:["External dependencies of ",a]})]}),(0,n.jsx)(f$,{children:(0,n.jsxs)("div",{className:"space-y-3",children:[m.outgoing.slice(0,100).map((a,c)=>(0,n.jsxs)("button",{onClick:()=>a.toComponent&&b(f8(a.toComponent,e,a.to)),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)(f0,{variant:"outline",className:"bg-primary/10 text-primary",children:f8(a.toComponent,e,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)(gk,{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)),m.outgoing.length>100&&(0,n.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Showing first ",100," of ",m.outgoing.length," outgoing connections."]})]})})]}),0===m.incoming.length&&0===m.outgoing.length&&(0,n.jsx)(fW,{className:"bg-card",children:(0,n.jsx)(f$,{className:"p-6 text-center",children:(0,n.jsx)("p",{className:"text-muted-foreground",children:"No connections found for this component"})})})]})}let gM=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"}]]),gN=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"}]]),gO=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"}]]),gP=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 gQ(a,[b,c]){return Math.min(c,Math.max(b,a))}function gR(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 gS=[" ","Enter","ArrowUp","ArrowDown"],gT=[" ","Enter"],gU="Select",[gV,gW,gX]=a_(gU),[gY,gZ]=aV(gU,[gX,cy]),g$=cy(),[g_,g0]=gY(gU),[g1,g2]=gY(gU),g3=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=g$(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)(g_,{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)(gV.Provider,{scope:b,children:(0,n.jsx)(g1,{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)(hE,{"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]})})};g3.displayName=gU;var g4="SelectTrigger",g5=o.forwardRef((a,b)=>{let{__scopeSelect:c,disabled:d=!1,...e}=a,f=g$(c),g=g0(g4,c),h=g.disabled||d,i=C(b,g.onTriggerChange),j=gW(c),k=o.useRef("touch"),[l,m,p]=hF(a=>{let b=j().filter(a=>!a.disabled),c=b.find(a=>a.value===g.value),d=hG(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":hD(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)&&gS.includes(a.key)&&(q(),a.preventDefault())})})})});g5.displayName=g4;var g6="SelectValue",g7=o.forwardRef((a,b)=>{let{__scopeSelect:c,className:d,style:e,children:f,placeholder:g="",...h}=a,i=g0(g6,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:hD(i.value)?(0,n.jsx)(n.Fragment,{children:g}):f})});g7.displayName=g6;var g8=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||"▼"})});g8.displayName="SelectIcon";var g9=a=>(0,n.jsx)(cO,{asChild:!0,...a});g9.displayName="SelectPortal";var ha="SelectContent",hb=o.forwardRef((a,b)=>{let c=g0(ha,a.__scopeSelect),[d,e]=o.useState();return(bj(()=>{e(new DocumentFragment)},[]),c.open)?(0,n.jsx)(he,{...a,ref:b}):d?aY.createPortal((0,n.jsx)(hc,{scope:a.__scopeSelect,children:(0,n.jsx)(gV.Slot,{scope:a.__scopeSelect,children:(0,n.jsx)("div",{children:a.children})})}),d):null});hb.displayName=ha;var[hc,hd]=gY(ha),he=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=g0(ha,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=gW(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]=hF(a=>{let b=G().filter(a=>!a.disabled),c=b.find(a=>a.ref.current===document.activeElement),d=hG(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?hg:hf,U=T===hg?{side:h,sideOffset:i,align:j,alignOffset:k,arrowPadding:l,collisionBoundary:m,collisionPadding:p,sticky:q,hideWhenDetached:r,avoidCollisions:s}:{};return(0,n.jsx)(hc,{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()}})})})})})})});he.displayName="SelectContentImpl";var hf=o.forwardRef((a,b)=>{let{__scopeSelect:c,onPlaced:d,...e}=a,f=g0(ha,c),g=hd(ha,c),[h,i]=o.useState(null),[j,k]=o.useState(null),l=C(b,a=>k(a)),m=gW(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=gQ(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=gQ(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)(hh,{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}})})})});hf.displayName="SelectItemAlignedPosition";var hg=o.forwardRef((a,b)=>{let{__scopeSelect:c,align:d="start",collisionPadding:e=10,...f}=a,g=g$(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)"}})});hg.displayName="SelectPopperPosition";var[hh,hi]=gY(ha,{}),hj="SelectViewport",hk=o.forwardRef((a,b)=>{let{__scopeSelect:c,nonce:d,...e}=a,f=hd(hj,c),g=hi(hj,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)(gV.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})})})]})});hk.displayName=hj;var hl="SelectGroup",[hm,hn]=gY(hl);o.forwardRef((a,b)=>{let{__scopeSelect:c,...d}=a,e=bm();return(0,n.jsx)(hm,{scope:c,id:e,children:(0,n.jsx)(aZ.div,{role:"group","aria-labelledby":e,...d,ref:b})})}).displayName=hl;var ho="SelectLabel";o.forwardRef((a,b)=>{let{__scopeSelect:c,...d}=a,e=hn(ho,c);return(0,n.jsx)(aZ.div,{id:e.id,...d,ref:b})}).displayName=ho;var hp="SelectItem",[hq,hr]=gY(hp),hs=o.forwardRef((a,b)=>{let{__scopeSelect:c,value:d,disabled:e=!1,textValue:f,...g}=a,h=g0(hp,c),i=hd(hp,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)(hq,{scope:c,value:d,disabled:e,textId:r,isSelected:j,onItemTextChange:o.useCallback(a=>{l(b=>b||(a?.textContent??"").trim())},[]),children:(0,n.jsx)(gV.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)&&(gT.includes(a.key)&&t()," "===a.key&&a.preventDefault())})})})})});hs.displayName=hp;var ht="SelectItemText",hu=o.forwardRef((a,b)=>{let{__scopeSelect:c,className:d,style:e,...f}=a,g=g0(ht,c),h=hd(ht,c),i=hr(ht,c),j=g2(ht,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]})});hu.displayName=ht;var hv="SelectItemIndicator",hw=o.forwardRef((a,b)=>{let{__scopeSelect:c,...d}=a;return hr(hv,c).isSelected?(0,n.jsx)(aZ.span,{"aria-hidden":!0,...d,ref:b}):null});hw.displayName=hv;var hx="SelectScrollUpButton",hy=o.forwardRef((a,b)=>{let c=hd(hx,a.__scopeSelect),d=hi(hx,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)(hB,{...a,ref:g,onAutoScroll:()=>{let{viewport:a,selectedItem:b}=c;a&&b&&(a.scrollTop=a.scrollTop-b.offsetHeight)}}):null});hy.displayName=hx;var hz="SelectScrollDownButton",hA=o.forwardRef((a,b)=>{let c=hd(hz,a.__scopeSelect),d=hi(hz,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)(hB,{...a,ref:g,onAutoScroll:()=>{let{viewport:a,selectedItem:b}=c;a&&b&&(a.scrollTop=a.scrollTop+b.offsetHeight)}}):null});hA.displayName=hz;var hB=o.forwardRef((a,b)=>{let{__scopeSelect:c,onAutoScroll:d,...e}=a,f=hd("SelectScrollButton",c),g=o.useRef(null),h=gW(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 hC="SelectArrow";function hD(a){return""===a||void 0===a}o.forwardRef((a,b)=>{let{__scopeSelect:c,...d}=a,e=g$(c),f=g0(hC,c),g=hd(hC,c);return f.open&&"popper"===g.position?(0,n.jsx)(cK,{...e,...d,ref:b}):null}).displayName=hC;var hE=o.forwardRef((a,b)=>{let{value:c,...d}=a,e=o.useRef(null),f=C(b,e),g=gR(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 hF(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 hG(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}hE.displayName="BubbleSelect";let hH=t("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);function hI({...a}){return(0,n.jsx)(g3,{"data-slot":"select",...a})}function hJ({...a}){return(0,n.jsx)(g7,{"data-slot":"select-value",...a})}function hK({className:a,size:b="default",children:c,...d}){return(0,n.jsxs)(g5,{"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)(g8,{asChild:!0,children:(0,n.jsx)(w,{className:"size-4 opacity-50"})})]})}function hL({className:a,children:b,position:c="popper",...d}){return(0,n.jsx)(g9,{children:(0,n.jsxs)(hb,{"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)(hN,{}),(0,n.jsx)(hk,{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)(hO,{})]})})}function hM({className:a,children:b,...c}){return(0,n.jsxs)(hs,{"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)(hw,{children:(0,n.jsx)(eV,{className:"size-4"})})}),(0,n.jsx)(hu,{children:b})]})}function hN({className:a,...b}){return(0,n.jsx)(hy,{"data-slot":"select-scroll-up-button",className:aQ("flex cursor-default items-center justify-center py-1",a),...b,children:(0,n.jsx)(hH,{className:"size-4"})})}function hO({className:a,...b}){return(0,n.jsx)(hA,{"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 hP=[{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"}],hQ=[{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"}],hR=["frontend","backend","database","queue","infra","external"],hS={frontend:"Frontend",backend:"Backend",database:"Data Layer",queue:"Queue / Workers",infra:"Infrastructure",external:"External Services"},hT={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 hU({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)(f0,{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)(f0,{variant:"outline",className:"text-xs capitalize",children:a.type}),(0,n.jsx)(f0,{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)(fR,{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)(f0,{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)(gi,{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)(gi,{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 hV({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,isHydrated:v}=(0,f1.useActiveProject)();(0,o.useEffect)(()=>{async function a(){k(!0);try{let a=new URLSearchParams;u&&a.set("path",u);let b=await (0,fx.apiFetch)(`/api/graph?${a}`),c=await b.json();c.success&&c.data&&c.data.nodes?.length>0?(i(c.data),m(!1)):(i({nodes:hP,edges:hQ}),m(!0))}catch{i({nodes:hP,edges:hQ}),m(!0)}k(!1)}v&&a()},[u,v]);let w=h?.nodes||hP,x=h?.edges||hQ,y=(0,o.useMemo)(()=>(function(a){let b=new Map;for(let c of a){let a=c.layer||"backend";b.has(a)||b.set(a,[]),b.get(a).push(c)}let c=hR.filter(a=>(b.get(a)?.length||0)>0),d=[],e=[],f=40;for(let a of c){let c=b.get(a)||[],g=c.slice(0,12),h=Math.max((g.length+ +(c.length>12))*130-20+80,200);d.push({id:a,label:hS[a]||a,x:40,y:f,width:h,height:100});g.forEach((a,b)=>{e.push({id:a.id,label:a.name,type:a.type,layer:a.layer,x:80+130*b,y:f+30,node:a})}),c.length>12&&e.push({id:`${a}_overflow`,label:`+${c.length-12} more`,type:"overflow",layer:a,x:1640,y:f+30,node:{id:`${a}_overflow`,name:`+${c.length-12} more`,type:"overflow",layer:a}}),f+=130}let g=Math.max(...d.map(a=>a.x+a.width),600)+40;return{layers:d,nodes:e,svgWidth:g,svgHeight:f+20}})(w),[w,f]),z=(0,o.useMemo)(()=>y.nodes.filter(a=>"overflow"!==a.type).map(a=>a.node),[y.nodes]),A=(0,o.useMemo)(()=>{let a=new Set(y.nodes.map(a=>a.id));return x.filter(b=>b.source!==b.target&&a.has(b.source)&&a.has(b.target))},[x,y.nodes]),B=(0,o.useMemo)(()=>{let a=[];for(let b of w)if(b.hosts&&b.hosts.length>0){let c=b.hosts.map(a=>w.find(b=>b.id===a)).filter(Boolean);c.length>0&&a.push({host:b,hosted:c})}return a},[w]),C=(0,o.useCallback)(()=>{let a=`flowchart ${f}
|
|
4
|
+
`,b=new Map;for(let a of z){let c=a.layer||"backend";b.has(c)||b.set(c,[]),b.get(c).push(a)}for(let[c,d]of b){let b=hS[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",A)){let c=b.label||b.type;a+=` ${b.source} -->|${c}| ${b.target}
|
|
8
|
+
`}navigator.clipboard.writeText(a),c(!0),setTimeout(()=>c(!1),2e3)},[z,A,f]),D=a=>{let b=y.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":`Showing ${z.length} of ${w.length} components and ${A.length} of ${x.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)(fV,{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."]})]}),B.length>0&&(0,n.jsx)("div",{className:"flex flex-wrap gap-3",children:B.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)(fR,{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)(f0,{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)(gO,{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)(gN,{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)(gP,{className:"h-4 w-4"})})]}),(0,n.jsxs)(hI,{value:f,onValueChange:a=>g(a),children:[(0,n.jsx)(hK,{className:"w-32 bg-card",children:(0,n.jsx)(hJ,{})}),(0,n.jsxs)(hL,{children:[(0,n.jsx)(hM,{value:"TB",children:"Top to Bottom"}),(0,n.jsx)(hM,{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)(gi,{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:C,children:[b?(0,n.jsx)(eV,{className:"h-4 w-4"}):(0,n.jsx)(gM,{className:"h-4 w-4"}),b?"Copied":"Copy visible Mermaid"]})]}),!l&&z.length<w.length&&(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)(fV,{className:"h-4 w-4 shrink-0 text-info"}),(0,n.jsx)("p",{className:"text-sm text-info",children:"The interactive view limits each layer to 12 components for readability. Clipboard export matches the visible subset."})]}),(0,n.jsx)(fW,{className:"bg-card overflow-hidden",children:(0,n.jsx)(f$,{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)(fU,{className:"h-8 w-8 animate-spin text-muted-foreground"})}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("svg",{ref:t,width:y.svgWidth*d,height:y.svgHeight*d,className:"mx-auto",children:(0,n.jsxs)("g",{transform:`scale(${d})`,children:[y.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)),B.map(a=>{let b=y.nodes.find(b=>b.id===a.host.id),c=a.hosted.map(a=>y.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&&A.map((a,b)=>{let c=D(a.source),d=D(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"})})}),y.nodes.map(b=>{let c=hT[b.type]||hT.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)(hU,{node:r.node,allNodes:w,edges:x,position:{x:r.x,y:r.y},onClose:()=>s(null)})]})})})}),(0,n.jsxs)(fW,{className:"bg-card",children:[(0,n.jsx)(fX,{className:"pb-2",children:(0,n.jsx)(fY,{className:"text-sm font-medium",children:"Legend"})}),(0,n.jsx)(f$,{children:(0,n.jsxs)("div",{className:"flex flex-wrap gap-4",children:[Object.entries(hT).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 hW="ScrollArea",[hX,hY]=aV(hW),[hZ,h$]=hX(hW),h_=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)(hZ,{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}})})});h_.displayName=hW;var h0="ScrollAreaViewport",h1=o.forwardRef((a,b)=>{let{__scopeScrollArea:c,children:d,nonce:e,...f}=a,g=h$(h0,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})})]})});h1.displayName=h0;var h2="ScrollAreaScrollbar",h3=o.forwardRef((a,b)=>{let{forceMount:c,...d}=a,e=h$(h2,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)(h4,{...d,ref:b,forceMount:c}):"scroll"===e.type?(0,n.jsx)(h5,{...d,ref:b,forceMount:c}):"auto"===e.type?(0,n.jsx)(h6,{...d,ref:b,forceMount:c}):"always"===e.type?(0,n.jsx)(h7,{...d,ref:b}):null});h3.displayName=h2;var h4=o.forwardRef((a,b)=>{let{forceMount:c,...d}=a,e=h$(h2,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)(h6,{"data-state":f?"visible":"hidden",...d,ref:b})})}),h5=o.forwardRef((a,b)=>{var c;let{forceMount:d,...e}=a,f=h$(h2,a.__scopeScrollArea),g="horizontal"===a.orientation,h=ir(()=>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)(h7,{"data-state":"hidden"===i?"hidden":"visible",...e,ref:b,onPointerEnter:aU(a.onPointerEnter,()=>j("POINTER_ENTER")),onPointerLeave:aU(a.onPointerLeave,()=>j("POINTER_LEAVE"))})})}),h6=o.forwardRef((a,b)=>{let c=h$(h2,a.__scopeScrollArea),{forceMount:d,...e}=a,[f,g]=o.useState(!1),h="horizontal"===a.orientation,i=ir(()=>{if(c.viewport){let a=c.viewport.offsetWidth<c.viewport.scrollWidth,b=c.viewport.offsetHeight<c.viewport.scrollHeight;g(h?a:b)}},10);return is(c.viewport,i),is(c.content,i),(0,n.jsx)(cP,{present:d||f,children:(0,n.jsx)(h7,{"data-state":f?"visible":"hidden",...e,ref:b})})}),h7=o.forwardRef((a,b)=>{let{orientation:c="vertical",...d}=a,e=h$(h2,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=il(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=im(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 ip([g,h],"ltr"===d?[0,i]:[-1*i,0])(a)}(a,g.current,h,b)}return"horizontal"===c?(0,n.jsx)(h8,{...k,ref:b,onThumbPositionChange:()=>{if(e.viewport&&f.current){let a=io(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)(h9,{...k,ref:b,onThumbPositionChange:()=>{if(e.viewport&&f.current){let a=io(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}),h8=o.forwardRef((a,b)=>{let{sizes:c,onSizesChange:d,...e}=a,f=h$(h2,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)(ic,{"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":im(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:ik(g.paddingLeft),paddingEnd:ik(g.paddingRight)}})}})}),h9=o.forwardRef((a,b)=>{let{sizes:c,onSizesChange:d,...e}=a,f=h$(h2,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)(ic,{"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":im(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:ik(g.paddingTop),paddingEnd:ik(g.paddingBottom)}})}})}),[ia,ib]=hX(h2),ic=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=h$(h2,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=ir(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]),is(q,z),is(p.content,z),(0,n.jsx)(ia,{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})})})}),id="ScrollAreaThumb",ie=o.forwardRef((a,b)=>{let{forceMount:c,...d}=a,e=ib(id,a.__scopeScrollArea);return(0,n.jsx)(cP,{present:c||e.hasThumb,children:(0,n.jsx)(ig,{ref:b,...d})})}),ig=o.forwardRef((a,b)=>{let{__scopeScrollArea:c,style:d,...e}=a,f=h$(id,c),g=ib(id,c),{onThumbPositionChange:h}=g,i=C(b,a=>g.onThumbChange(a)),j=o.useRef(void 0),k=ir(()=>{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=iq(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)})});ie.displayName=id;var ih="ScrollAreaCorner",ii=o.forwardRef((a,b)=>{let c=h$(ih,a.__scopeScrollArea),d=!!(c.scrollbarX&&c.scrollbarY);return"scroll"!==c.type&&d?(0,n.jsx)(ij,{...a,ref:b}):null});ii.displayName=ih;var ij=o.forwardRef((a,b)=>{let{__scopeScrollArea:c,...d}=a,e=h$(ih,c),[f,g]=o.useState(0),[h,i]=o.useState(0),j=!!(f&&h);return is(e.scrollbarX,()=>{let a=e.scrollbarX?.offsetHeight||0;e.onCornerHeightChange(a),i(a)}),is(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 ik(a){return a?parseInt(a,10):0}function il(a,b){let c=a/b;return isNaN(c)?0:c}function im(a){let b=il(a.viewport,a.content),c=a.scrollbar.paddingStart+a.scrollbar.paddingEnd;return Math.max((a.scrollbar.size-c)*b,18)}function io(a,b,c="ltr"){let d=im(b),e=b.scrollbar.paddingStart+b.scrollbar.paddingEnd,f=b.scrollbar.size-e,g=b.content-b.viewport,h=gQ(a,"ltr"===c?[0,g]:[-1*g,0]);return ip([0,g],[0,f-d])(h)}function ip(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 iq=(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 ir(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 is(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 it({className:a,children:b,...c}){return(0,n.jsxs)(h_,{"data-slot":"scroll-area",className:aQ("relative",a),...c,children:[(0,n.jsx)(h1,{"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)(iu,{}),(0,n.jsx)(ii,{})]})}function iu({className:a,orientation:b="vertical",...c}){return(0,n.jsx)(h3,{"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)(ie,{"data-slot":"scroll-area-thumb",className:"bg-border relative flex-1 rounded-full"})})}var iv="Dialog",[iw,ix]=aV(iv),[iy,iz]=iw(iv),iA=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)(iy,{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})};iA.displayName=iv;var iB="DialogTrigger",iC=o.forwardRef((a,b)=>{let{__scopeDialog:c,...d}=a,e=iz(iB,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":iV(e.open),...d,ref:f,onClick:aU(a.onClick,e.onOpenToggle)})});iC.displayName=iB;var iD="DialogPortal",[iE,iF]=iw(iD,{forceMount:void 0}),iG=a=>{let{__scopeDialog:b,forceMount:c,children:d,container:e}=a,f=iz(iD,b);return(0,n.jsx)(iE,{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})}))})};iG.displayName=iD;var iH="DialogOverlay",iI=o.forwardRef((a,b)=>{let c=iF(iH,a.__scopeDialog),{forceMount:d=c.forceMount,...e}=a,f=iz(iH,a.__scopeDialog);return f.modal?(0,n.jsx)(cP,{present:d||f.open,children:(0,n.jsx)(iJ,{...e,ref:b})}):null});iI.displayName=iH;var iJ=o.forwardRef((a,b)=>{let{__scopeDialog:c,...d}=a,e=iz(iH,c);return(0,n.jsx)(dJ,{as:D,allowPinchZoom:!0,shards:[e.contentRef],children:(0,n.jsx)(aZ.div,{"data-state":iV(e.open),...d,ref:b,style:{pointerEvents:"auto",...d.style}})})}),iK="DialogContent",iL=o.forwardRef((a,b)=>{let c=iF(iK,a.__scopeDialog),{forceMount:d=c.forceMount,...e}=a,f=iz(iK,a.__scopeDialog);return(0,n.jsx)(cP,{present:d||f.open,children:f.modal?(0,n.jsx)(iM,{...e,ref:b}):(0,n.jsx)(iN,{...e,ref:b})})});iL.displayName=iK;var iM=o.forwardRef((a,b)=>{let c=iz(iK,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)(iO,{...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())})}),iN=o.forwardRef((a,b)=>{let c=iz(iK,a.__scopeDialog),d=o.useRef(!1),e=o.useRef(!1);return(0,n.jsx)(iO,{...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()}})}),iO=o.forwardRef((a,b)=>{let{__scopeDialog:c,trapFocus:d,onOpenAutoFocus:e,onCloseAutoFocus:f,...g}=a,h=iz(iK,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":iV(h.open),...g,ref:j,onDismiss:()=>h.onOpenChange(!1)})}),(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(iZ,{titleId:h.titleId}),(0,n.jsx)(i$,{contentRef:i,descriptionId:h.descriptionId})]})]})}),iP="DialogTitle",iQ=o.forwardRef((a,b)=>{let{__scopeDialog:c,...d}=a,e=iz(iP,c);return(0,n.jsx)(aZ.h2,{id:e.titleId,...d,ref:b})});iQ.displayName=iP;var iR="DialogDescription",iS=o.forwardRef((a,b)=>{let{__scopeDialog:c,...d}=a,e=iz(iR,c);return(0,n.jsx)(aZ.p,{id:e.descriptionId,...d,ref:b})});iS.displayName=iR;var iT="DialogClose",iU=o.forwardRef((a,b)=>{let{__scopeDialog:c,...d}=a,e=iz(iT,c);return(0,n.jsx)(aZ.button,{type:"button",...d,ref:b,onClick:aU(a.onClick,()=>e.onOpenChange(!1))})});function iV(a){return a?"open":"closed"}iU.displayName=iT;var iW="DialogTitleWarning",[iX,iY]=(k={contentName:iK,titleName:iP,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=iW+"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 \`${iW}\``)}]),iZ=({titleId:a})=>{let b=iY(iW),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},i$=({contentRef:a,descriptionId:b})=>{let c=iY("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 i_({...a}){return(0,n.jsx)(iA,{"data-slot":"sheet",...a})}function i0({...a}){return(0,n.jsx)(iG,{"data-slot":"sheet-portal",...a})}function i1({className:a,...b}){return(0,n.jsx)(iI,{"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 i2({className:a,children:b,side:c="right",...d}){return(0,n.jsxs)(i0,{children:[(0,n.jsx)(i1,{}),(0,n.jsxs)(iL,{"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)(iU,{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 i3({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 i4({className:a,...b}){return(0,n.jsx)(iQ,{"data-slot":"sheet-title",className:aQ("text-foreground font-semibold",a),...b})}let i5=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"}]]),i6=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"}]]),i7=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"}]]),i8=t("ArrowDown",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]),i9=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"}]]),ja={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"},jb={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 jc(){let a,{calls:b,prompts:c,summary:d,isLoading:e,error:f,source:g,refresh:h,scan:i}=f2({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)(fV,{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)(fU,{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)(fS,{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)(fW,{className:"border-border bg-card cursor-pointer transition-colors hover:bg-secondary/50",onClick:()=>$("calls"),children:(0,n.jsx)(f$,{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)(fU,{className:"h-5 w-5 animate-spin text-primary"}):(0,n.jsx)(fF,{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)(fW,{className:"border-border bg-card cursor-pointer transition-colors hover:bg-secondary/50",onClick:()=>$("prompts"),children:(0,n.jsx)(f$,{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)(i6,{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)(fW,{className:"border-border bg-card",children:(0,n.jsx)(f$,{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)(i9,{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)(fS,{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)(i_,{open:null!==F,onOpenChange:a=>!a&&_(),children:(0,n.jsxs)(i2,{side:"right",className:"w-[400px] sm:w-[540px]",children:[(0,n.jsx)(i3,{children:(0,n.jsxs)(i4,{children:["calls"===F&&"All LLM Call Sites","prompts"===F&&"All Prompts"]})}),(0,n.jsx)(it,{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)(gB,{value:D,onValueChange:E,className:"w-full",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between gap-4",children:[(0,n.jsxs)(gC,{className:"bg-secondary",children:[(0,n.jsxs)(gD,{value:"calls",className:"gap-2",children:[(0,n.jsx)(i7,{className:"h-4 w-4"}),"LLM Call Sites"]}),(0,n.jsxs)(gD,{value:"prompts",className:"gap-2",children:[(0,n.jsx)(i5,{className:"h-4 w-4"}),"Prompts"]}),(0,n.jsxs)(gD,{value:"flow",className:"gap-2",children:[(0,n.jsx)(fB,{className:"h-4 w-4"}),"AI Flow"]}),(0,n.jsxs)(gD,{value:"providers",className:"gap-2",children:[(0,n.jsx)(i9,{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)(fU,{className:"h-4 w-4 animate-spin"}):(0,n.jsx)(v,{className:"h-4 w-4"})})]})]}),(0,n.jsxs)(gE,{value:"calls",className:"mt-4",children:[(0,n.jsxs)("div",{className:"mb-4 flex items-center gap-3",children:[(0,n.jsx)(ge,{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)(fW,{className:"border-border bg-card",children:[(0,n.jsx)(fX,{className:"pb-3",children:(0,n.jsxs)(fY,{className:"text-base font-medium",children:["Detected Call Sites (",O.length,")"]})}),(0,n.jsx)(f$,{className:"p-0",children:(0,n.jsx)(it,{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)(fS,{className:"h-3.5 w-3.5 text-warning"})),(0,n.jsx)(f0,{variant:"outline",className:`text-xs ${ja[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)(fW,{className:"border-border bg-card",children:[(0,n.jsx)(fX,{className:"pb-3",children:(0,n.jsx)(fY,{className:"text-base font-medium",children:"Call Site Details"})}),(0,n.jsx)(f$,{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)(f0,{variant:"outline",className:ja[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)(gM,{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)(gM,{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)(gE,{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)(fW,{className:"border-border bg-card",children:[(0,n.jsx)(fX,{className:"pb-3",children:(0,n.jsxs)(fY,{className:"text-base font-medium",children:["Prompt Library (",P.length,")"]})}),(0,n.jsx)(f$,{className:"p-0",children:(0,n.jsx)(it,{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)(fS,{className:"h-3.5 w-3.5 text-warning"})),(0,n.jsx)(f0,{variant:"outline",className:`text-xs ${jb[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)(fW,{className:"border-border bg-card",children:[(0,n.jsx)(fX,{className:"pb-3",children:(0,n.jsx)(fY,{className:"text-base font-medium",children:"Prompt Details"})}),(0,n.jsx)(f$,{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)(f0,{variant:"outline",className:"text-xs",children:["v",p.version]}),(0,n.jsx)(f0,{variant:"outline",className:jb[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)(gM,{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)(f0,{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)(gE,{value:"flow",className:"mt-4",children:(0,n.jsx)(jd,{prompts:c,calls:b,onFileClick:N})}),(0,n.jsx)(gE,{value:"providers",className:"mt-4",children:(0,n.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,n.jsxs)(fW,{className:"border-border bg-card",children:[(0,n.jsx)(fX,{className:"pb-3",children:(0,n.jsxs)(fY,{className:"text-base font-medium",children:["By Provider (",Object.keys(X).length,")"]})}),(0,n.jsx)(f$,{className:"p-0",children:(0,n.jsx)(it,{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)(fW,{className:"border-border bg-card",children:[(0,n.jsx)(fX,{className:"pb-3",children:(0,n.jsx)(fY,{className:"text-base font-medium",children:"Call Site Details"})}),(0,n.jsx)(f$,{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)(f0,{variant:"outline",className:ja[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 jd({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)(fW,{className:"border-border bg-card",children:(0,n.jsxs)(f$,{className:"flex flex-col items-center justify-center py-16",children:[(0,n.jsx)(fB,{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)(fW,{className:"border-border bg-card",children:(0,n.jsx)(f$,{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)(i8,{className:"h-5 w-5 text-muted-foreground"}),(0,n.jsx)(je,{label:"Input / Routing",nodes:g,colorClass:j.input,onNodeClick:c})]}),h.length>0&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(i8,{className:"h-5 w-5 text-muted-foreground"}),(0,n.jsx)(je,{label:"Processing / Analysis",nodes:h,colorClass:j.process,onNodeClick:c})]}),i.length>0&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(i8,{className:"h-5 w-5 text-muted-foreground"}),(0,n.jsx)(je,{label:"Output / Summary",nodes:i,colorClass:j.output,onNodeClick:c})]}),(0,n.jsx)(i8,{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)(fW,{className:"border-border bg-card",children:[(0,n.jsx)(fX,{className:"pb-3",children:(0,n.jsxs)(fY,{className:"text-base font-medium",children:["Files with AI Prompts (",Object.keys(d).length,")"]})}),(0,n.jsx)(f$,{children:(0,n.jsx)(it,{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)(f0,{variant:"outline",className:"text-xs",children:[a.prompts.length," prompt",1!==a.prompts.length?"s":""]})]}),(0,n.jsx)(f0,{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 je({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)(i6,{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))})})]})}let jf=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"}]]),jg={error:{icon:jf,color:"text-red-600",label:"ERROR"},warning:{icon:fS,color:"text-amber-600",label:"WARN"},info:{icon:fV,color:"text-blue-600",label:"INFO"}},jh=["error","warning","info"];function ji(){let{activeProjectPath:a,isHydrated:b}=(0,f1.useActiveProject)(),[c,d]=(0,o.useState)([]),[e,f]=(0,o.useState)({total:0,errors:0,warnings:0,info:0}),[g,h]=(0,o.useState)(!0),[i,j]=(0,o.useState)(null),k=(0,o.useCallback)(async()=>{h(!0),j(null);try{let b=await (0,fx.apiFetch)(f7("/api/rules",a)),c=await b.json();c.success&&c.data?(d(c.data.violations),f(c.data.summary)):j(c.error||"Failed to load rules")}catch(a){j(a instanceof Error?a.message:"Failed to fetch rules")}finally{h(!1)}},[a]);(0,o.useEffect)(()=>{b&&(d([]),f({total:0,errors:0,warnings:0,info:0}),k())},[k,b]);let l=jh.reduce((a,b)=>{let d=c.filter(a=>a.severity===b);return d.length>0&&(a[b]=d),a},{});return g?(0,n.jsx)("div",{className:"flex h-64 items-center justify-center",children:(0,n.jsx)(fU,{className:"h-8 w-8 animate-spin text-muted-foreground"})}):(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:"Architecture Rules"}),(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:0===e.total?"No rule violations found":`${e.total} violation${1!==e.total?"s":""} found`})]}),(0,n.jsxs)(aS,{variant:"outline",size:"sm",onClick:k,disabled:g,children:[g?(0,n.jsx)(fU,{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"})]})]}),i&&(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)(jf,{className:"h-4 w-4 text-destructive"}),(0,n.jsx)("p",{className:"text-sm text-destructive",children:i})]}),e.total>0&&(0,n.jsxs)("div",{className:"flex gap-6 text-sm",children:[e.errors>0&&(0,n.jsxs)("span",{className:"text-red-600 font-medium",children:[e.errors," error",1!==e.errors?"s":""]}),e.warnings>0&&(0,n.jsxs)("span",{className:"text-amber-600 font-medium",children:[e.warnings," warning",1!==e.warnings?"s":""]}),e.info>0&&(0,n.jsxs)("span",{className:"text-blue-600 font-medium",children:[e.info," info"]})]}),Object.entries(l).map(([a,b])=>{let c=jg[a],d=c.icon;return(0,n.jsxs)(fW,{className:"bg-card",children:[(0,n.jsx)(fX,{className:"pb-3",children:(0,n.jsxs)(fY,{className:"flex items-center gap-2 text-base font-medium",children:[(0,n.jsx)(d,{className:`h-4 w-4 ${c.color}`}),(0,n.jsx)("span",{className:c.color,children:c.label}),(0,n.jsxs)("span",{className:"text-muted-foreground font-normal",children:["(",b.length,")"]})]})}),(0,n.jsx)(f$,{children:(0,n.jsx)("div",{className:"divide-y divide-border",children:b.map((a,b)=>(0,n.jsxs)("div",{className:"py-3 first:pt-0 last:pb-0",children:[(0,n.jsx)("p",{className:"text-sm font-medium text-foreground",children:a.rule_id.replace(/-/g," ")}),(0,n.jsx)("p",{className:"mt-0.5 text-sm text-muted-foreground",children:a.message}),a.suggestion&&(0,n.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground/70",children:a.suggestion})]},`${a.rule_id}-${b}`))})})]},a)}),0===e.total&&!i&&(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)(fG,{className:"h-6 w-6 text-green-600"})}),(0,n.jsx)("p",{className:"mt-4 text-sm font-medium text-foreground",children:"All clear"}),(0,n.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:"No architecture rule violations detected."})]})]})}let jj=t("FileQuestion",[["path",{d:"M12 17h.01",key:"p32p05"}],["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z",key:"1mlx9k"}],["path",{d:"M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3",key:"mhlwft"}]]),jk=t("ShieldCheck",[["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"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);var jl="Progress",[jm,jn]=aV(jl),[jo,jp]=jm(jl),jq=o.forwardRef((a,b)=>{var c,d;let{__scopeProgress:e,value:f=null,max:g,getValueLabel:h=jt,...i}=a;(g||0===g)&&!jw(g)&&console.error((c=`${g}`,`Invalid prop \`max\` of value \`${c}\` supplied to \`Progress\`. Only numbers greater than 0 are valid max values. Defaulting to \`100\`.`));let j=jw(g)?g:100;null===f||jx(f,j)||console.error((d=`${f}`,`Invalid prop \`value\` of value \`${d}\` supplied to \`Progress\`. The \`value\` prop must be:
|
|
13
|
+
- a positive number
|
|
14
|
+
- less than the value passed to \`max\` (or 100 if no \`max\` prop is set)
|
|
15
|
+
- \`null\` or \`undefined\` if the progress is indeterminate.
|
|
16
|
+
|
|
17
|
+
Defaulting to \`null\`.`));let k=jx(f,j)?f:null,l=jv(k)?h(k,j):void 0;return(0,n.jsx)(jo,{scope:e,value:k,max:j,children:(0,n.jsx)(aZ.div,{"aria-valuemax":j,"aria-valuemin":0,"aria-valuenow":jv(k)?k:void 0,"aria-valuetext":l,role:"progressbar","data-state":ju(k,j),"data-value":k??void 0,"data-max":j,...i,ref:b})})});jq.displayName=jl;var jr="ProgressIndicator",js=o.forwardRef((a,b)=>{let{__scopeProgress:c,...d}=a,e=jp(jr,c);return(0,n.jsx)(aZ.div,{"data-state":ju(e.value,e.max),"data-value":e.value??void 0,"data-max":e.max,...d,ref:b})});function jt(a,b){return`${Math.round(a/b*100)}%`}function ju(a,b){return null==a?"indeterminate":a===b?"complete":"loading"}function jv(a){return"number"==typeof a}function jw(a){return jv(a)&&!isNaN(a)&&a>0}function jx(a,b){return jv(a)&&!isNaN(a)&&a<=b&&a>=0}function jy({className:a,value:b,...c}){return(0,n.jsx)(jq,{"data-slot":"progress",className:aQ("bg-primary/20 relative h-2 w-full overflow-hidden rounded-full",a),...c,children:(0,n.jsx)(js,{"data-slot":"progress-indicator",className:"bg-primary h-full w-full flex-1 transition-all",style:{transform:`translateX(-${100-(b||0)}%)`}})})}js.displayName=jr;let jz={"unmapped-file":{label:"Unmapped Files",icon:jj,color:"text-amber-600"},"low-confidence-connection":{label:"Low Confidence Connections",icon:fS,color:"text-amber-600"},"zero-consumers":{label:"Zero Consumers",icon:jf,color:"text-red-600"},"no-outgoing":{label:"No Outgoing Connections",icon:jf,color:"text-blue-600"}};function jA(){let{coverage:a,isLoading:b,error:c,refresh:d}=function(a={}){let{autoFetch:b=!0,projectPath:c}=a,{activeProjectPath:d,isHydrated:e}=(0,f1.useActiveProject)(),f=c||d||void 0,g=void 0!==c||e,[h,i]=(0,o.useState)(null),[j,k]=(0,o.useState)(!1),[l,m]=(0,o.useState)(null),n=(0,o.useCallback)(async(a=!1)=>{k(!0),m(null);try{let b=new URLSearchParams;a&&b.set("refresh","true"),f&&b.set("path",f);let c=await (0,fx.apiFetch)(`/api/coverage?${b.toString()}`),d=await c.json();d.success&&d.data?i(d.data):m(d.error||"Failed to fetch coverage data")}catch(a){m(a instanceof Error?a.message:"Network error")}finally{k(!1)}},[f]),p=(0,o.useCallback)(async()=>{await n(!0)},[n]);return(0,o.useEffect)(()=>{b&&g&&n()},[b,g,n]),{coverage:h,isLoading:j||b&&!g,error:l,refresh:p}}({autoFetch:!0}),[e,f]=(0,o.useState)(new Set),[g,h]=(0,o.useState)(new Set);if(b)return(0,n.jsx)("div",{className:"flex h-64 items-center justify-center",children:(0,n.jsx)(fU,{className:"h-8 w-8 animate-spin text-muted-foreground"})});let i=(a?.gaps||[]).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:"Architecture Coverage"}),(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:a?`${a.component_coverage.coverage_percent}% file coverage, ${a.connection_coverage.total_connections} connections tracked`:"Analyzing architecture coverage"})]}),(0,n.jsxs)(aS,{variant:"outline",size:"sm",onClick:()=>d(),disabled:b,children:[b?(0,n.jsx)(fU,{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"})]})]}),c&&(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)(jf,{className:"h-4 w-4 text-destructive"}),(0,n.jsx)("p",{className:"text-sm text-destructive",children:c})]}),!a&&!c&&(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)(jk,{className:"h-6 w-6 text-muted-foreground"})}),(0,n.jsx)("p",{className:"mt-4 text-sm font-medium text-foreground",children:"No coverage data"}),(0,n.jsxs)("p",{className:"mt-1 text-xs text-muted-foreground",children:["Run ",(0,n.jsx)("code",{className:"rounded bg-secondary px-1",children:"navgator scan"})," ","to analyze your project."]})]}),a&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"grid gap-4 sm:grid-cols-3",children:[(0,n.jsxs)(fW,{className:"bg-card",children:[(0,n.jsx)(fX,{className:"pb-2",children:(0,n.jsx)(fY,{className:"text-sm font-medium text-muted-foreground",children:"File Coverage"})}),(0,n.jsxs)(f$,{children:[(0,n.jsxs)("div",{className:"text-2xl font-semibold text-foreground",children:[a.component_coverage.coverage_percent,"%"]}),(0,n.jsx)(jy,{value:a.component_coverage.coverage_percent,className:"mt-2 h-2"}),(0,n.jsxs)("p",{className:"mt-1 text-xs text-muted-foreground",children:[a.component_coverage.files_mapped_to_components," /"," ",a.component_coverage.total_files_in_project," files"]})]})]}),(0,n.jsxs)(fW,{className:"bg-card",children:[(0,n.jsx)(fX,{className:"pb-2",children:(0,n.jsx)(fY,{className:"text-sm font-medium text-muted-foreground",children:"Connection Confidence"})}),(0,n.jsxs)(f$,{children:[(0,n.jsxs)("div",{className:"text-2xl font-semibold text-foreground",children:[Math.round(100*a.overall_confidence),"%"]}),(0,n.jsxs)("div",{className:"mt-2 flex gap-4 text-xs",children:[(0,n.jsxs)("span",{className:"text-green-600",children:[a.connection_coverage.by_confidence.high," high"]}),(0,n.jsxs)("span",{className:"text-amber-600",children:[a.connection_coverage.by_confidence.medium," med"]}),(0,n.jsxs)("span",{className:"text-red-600",children:[a.connection_coverage.by_confidence.low," low"]})]})]})]}),(0,n.jsxs)(fW,{className:"bg-card",children:[(0,n.jsx)(fX,{className:"pb-2",children:(0,n.jsx)(fY,{className:"text-sm font-medium text-muted-foreground",children:"Classification"})}),(0,n.jsxs)(f$,{children:[(0,n.jsx)("div",{className:"text-2xl font-semibold text-foreground",children:Object.keys(a.connection_coverage.by_classification).length}),(0,n.jsx)("div",{className:"mt-2 space-y-1",children:Object.entries(a.connection_coverage.by_classification).sort((a,b)=>b[1]-a[1]).slice(0,4).map(([a,b])=>(0,n.jsxs)("div",{className:"flex items-center justify-between text-xs",children:[(0,n.jsx)("span",{className:"text-muted-foreground",children:a}),(0,n.jsx)("span",{className:"font-medium text-foreground",children:b})]},a))})]})]})]}),Object.keys(i).length>0&&(0,n.jsxs)("div",{className:"space-y-3",children:[(0,n.jsxs)("h2",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:["Gaps (",a.gaps.length,")"]}),Object.entries(i).map(([a,b])=>{let c=jz[a]||{label:a,icon:fS,color:"text-muted-foreground"},d=c.icon,i=e.has(a),j=g.has(a),k=j?b:b.slice(0,20);return(0,n.jsxs)(fW,{className:"bg-card",children:[(0,n.jsxs)("button",{className:"flex w-full items-center gap-2 p-4 text-left",onClick:()=>{f(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c})},children:[i?(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.jsx)(d,{className:`h-4 w-4 ${c.color}`}),(0,n.jsx)("span",{className:"text-sm font-medium text-foreground",children:c.label}),(0,n.jsxs)("span",{className:"text-xs text-muted-foreground",children:["(",b.length,")"]})]}),i&&(0,n.jsxs)(f$,{className:"pt-0",children:[(0,n.jsx)("div",{className:"divide-y divide-border",children:k.map((a,b)=>(0,n.jsxs)("div",{className:"py-2 first:pt-0 last:pb-0",children:[(0,n.jsx)("p",{className:"text-sm text-foreground font-mono",children:a.target}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:a.message})]},`${a.target}-${b}`))}),b.length>20&&(0,n.jsx)("button",{onClick:()=>{h(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c})},className:"mt-2 text-xs text-primary hover:underline",children:j?"Show less":`Show ${b.length-20} more`})]})]},a)})]}),0===a.gaps.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)(jk,{className:"h-6 w-6 text-green-600"})}),(0,n.jsx)("p",{className:"mt-4 text-sm font-medium text-foreground",children:"No coverage gaps"}),(0,n.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:"All components are well-connected."})]})]})]})}var jB=["PageUp","PageDown"],jC=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],jD={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},jE="Slider",[jF,jG,jH]=a_(jE),[jI,jJ]=aV(jE,[jH]),[jK,jL]=jI(jE),jM=o.forwardRef((a,b)=>{let{name:c,min:d=0,max:e=100,step:f=1,orientation:g="horizontal",disabled:h=!1,minStepsBetweenThumbs:i=0,defaultValue:j=[d],value:k,onValueChange:l=()=>{},onValueCommit:m=()=>{},inverted:p=!1,form:q,...r}=a,s=o.useRef(new Set),t=o.useRef(0),u="horizontal"===g,[v=[],w]=aX({prop:k,defaultProp:j,onChange:a=>{let b=[...s.current];b[t.current]?.focus(),l(a)}}),x=o.useRef(v);function y(a,b,{commit:c}={commit:!1}){let g,h=(String(f).split(".")[1]||"").length,j=gQ(Math.round((Math.round((a-d)/f)*f+d)*(g=Math.pow(10,h)))/g,[d,e]);w((a=[])=>{let d=function(a=[],b,c){let d=[...a];return d[c]=b,d.sort((a,b)=>a-b)}(a,j,b);if(!function(a,b){if(b>0)return Math.min(...a.slice(0,-1).map((b,c)=>a[c+1]-b))>=b;return!0}(d,i*f))return a;{t.current=d.indexOf(j);let b=String(d)!==String(a);return b&&c&&m(d),b?d:a}})}return(0,n.jsx)(jK,{scope:a.__scopeSlider,name:c,disabled:h,min:d,max:e,valueIndexToChangeRef:t,thumbs:s.current,values:v,orientation:g,form:q,children:(0,n.jsx)(jF.Provider,{scope:a.__scopeSlider,children:(0,n.jsx)(jF.Slot,{scope:a.__scopeSlider,children:(0,n.jsx)(u?jP:jQ,{"aria-disabled":h,"data-disabled":h?"":void 0,...r,ref:b,onPointerDown:aU(r.onPointerDown,()=>{h||(x.current=v)}),min:d,max:e,inverted:p,onSlideStart:h?void 0:function(a){let b=function(a,b){if(1===a.length)return 0;let c=a.map(a=>Math.abs(a-b)),d=Math.min(...c);return c.indexOf(d)}(v,a);y(a,b)},onSlideMove:h?void 0:function(a){y(a,t.current)},onSlideEnd:h?void 0:function(){let a=x.current[t.current];v[t.current]!==a&&m(v)},onHomeKeyDown:()=>!h&&y(d,0,{commit:!0}),onEndKeyDown:()=>!h&&y(e,v.length-1,{commit:!0}),onStepKeyDown:({event:a,direction:b})=>{if(!h){let c=jB.includes(a.key)||a.shiftKey&&jC.includes(a.key),d=t.current;y(v[d]+f*(c?10:1)*b,d,{commit:!0})}}})})})})});jM.displayName=jE;var[jN,jO]=jI(jE,{startEdge:"left",endEdge:"right",size:"width",direction:1}),jP=o.forwardRef((a,b)=>{let{min:c,max:d,dir:e,inverted:f,onSlideStart:g,onSlideMove:h,onSlideEnd:i,onStepKeyDown:j,...k}=a,[l,m]=o.useState(null),p=C(b,a=>m(a)),q=o.useRef(void 0),r=a1(e),s="ltr"===r,t=s&&!f||!s&&f;function u(a){let b=q.current||l.getBoundingClientRect(),e=j_([0,b.width],t?[c,d]:[d,c]);return q.current=b,e(a-b.left)}return(0,n.jsx)(jN,{scope:a.__scopeSlider,startEdge:t?"left":"right",endEdge:t?"right":"left",direction:t?1:-1,size:"width",children:(0,n.jsx)(jR,{dir:r,"data-orientation":"horizontal",...k,ref:p,style:{...k.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:a=>{let b=u(a.clientX);g?.(b)},onSlideMove:a=>{let b=u(a.clientX);h?.(b)},onSlideEnd:()=>{q.current=void 0,i?.()},onStepKeyDown:a=>{let b=jD[t?"from-left":"from-right"].includes(a.key);j?.({event:a,direction:b?-1:1})}})})}),jQ=o.forwardRef((a,b)=>{let{min:c,max:d,inverted:e,onSlideStart:f,onSlideMove:g,onSlideEnd:h,onStepKeyDown:i,...j}=a,k=o.useRef(null),l=C(b,k),m=o.useRef(void 0),p=!e;function q(a){let b=m.current||k.current.getBoundingClientRect(),e=j_([0,b.height],p?[d,c]:[c,d]);return m.current=b,e(a-b.top)}return(0,n.jsx)(jN,{scope:a.__scopeSlider,startEdge:p?"bottom":"top",endEdge:p?"top":"bottom",size:"height",direction:p?1:-1,children:(0,n.jsx)(jR,{"data-orientation":"vertical",...j,ref:l,style:{...j.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:a=>{let b=q(a.clientY);f?.(b)},onSlideMove:a=>{let b=q(a.clientY);g?.(b)},onSlideEnd:()=>{m.current=void 0,h?.()},onStepKeyDown:a=>{let b=jD[p?"from-bottom":"from-top"].includes(a.key);i?.({event:a,direction:b?-1:1})}})})}),jR=o.forwardRef((a,b)=>{let{__scopeSlider:c,onSlideStart:d,onSlideMove:e,onSlideEnd:f,onHomeKeyDown:g,onEndKeyDown:h,onStepKeyDown:i,...j}=a,k=jL(jE,c);return(0,n.jsx)(aZ.span,{...j,ref:b,onKeyDown:aU(a.onKeyDown,a=>{"Home"===a.key?(g(a),a.preventDefault()):"End"===a.key?(h(a),a.preventDefault()):jB.concat(jC).includes(a.key)&&(i(a),a.preventDefault())}),onPointerDown:aU(a.onPointerDown,a=>{let b=a.target;b.setPointerCapture(a.pointerId),a.preventDefault(),k.thumbs.has(b)?b.focus():d(a)}),onPointerMove:aU(a.onPointerMove,a=>{a.target.hasPointerCapture(a.pointerId)&&e(a)}),onPointerUp:aU(a.onPointerUp,a=>{let b=a.target;b.hasPointerCapture(a.pointerId)&&(b.releasePointerCapture(a.pointerId),f(a))})})}),jS="SliderTrack",jT=o.forwardRef((a,b)=>{let{__scopeSlider:c,...d}=a,e=jL(jS,c);return(0,n.jsx)(aZ.span,{"data-disabled":e.disabled?"":void 0,"data-orientation":e.orientation,...d,ref:b})});jT.displayName=jS;var jU="SliderRange",jV=o.forwardRef((a,b)=>{let{__scopeSlider:c,...d}=a,e=jL(jU,c),f=jO(jU,c),g=C(b,o.useRef(null)),h=e.values.length,i=e.values.map(a=>j$(a,e.min,e.max)),j=h>1?Math.min(...i):0,k=100-Math.max(...i);return(0,n.jsx)(aZ.span,{"data-orientation":e.orientation,"data-disabled":e.disabled?"":void 0,...d,ref:g,style:{...a.style,[f.startEdge]:j+"%",[f.endEdge]:k+"%"}})});jV.displayName=jU;var jW="SliderThumb",jX=o.forwardRef((a,b)=>{let c=jG(a.__scopeSlider),[d,e]=o.useState(null),f=C(b,a=>e(a)),g=o.useMemo(()=>d?c().findIndex(a=>a.ref.current===d):-1,[c,d]);return(0,n.jsx)(jY,{...a,ref:f,index:g})}),jY=o.forwardRef((a,b)=>{var c,d,e,f,g;let h,i,{__scopeSlider:j,index:k,name:l,...m}=a,p=jL(jW,j),q=jO(jW,j),[r,s]=o.useState(null),t=C(b,a=>s(a)),u=!r||p.form||!!r.closest("form"),v=cv(r),w=p.values[k],x=void 0===w?0:j$(w,p.min,p.max),y=(c=k,(d=p.values.length)>2?`Value ${c+1} of ${d}`:2===d?["Minimum","Maximum"][c]:void 0),z=v?.[q.size],A=z?(e=z,f=x,g=q.direction,i=j_([0,50],[0,h=e/2]),(h-i(f)*g)*g):0;return o.useEffect(()=>{if(r)return p.thumbs.add(r),()=>{p.thumbs.delete(r)}},[r,p.thumbs]),(0,n.jsxs)("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[q.startEdge]:`calc(${x}% + ${A}px)`},children:[(0,n.jsx)(jF.ItemSlot,{scope:a.__scopeSlider,children:(0,n.jsx)(aZ.span,{role:"slider","aria-label":a["aria-label"]||y,"aria-valuemin":p.min,"aria-valuenow":w,"aria-valuemax":p.max,"aria-orientation":p.orientation,"data-orientation":p.orientation,"data-disabled":p.disabled?"":void 0,tabIndex:p.disabled?void 0:0,...m,ref:t,style:void 0===w?{display:"none"}:a.style,onFocus:aU(a.onFocus,()=>{p.valueIndexToChangeRef.current=k})})}),u&&(0,n.jsx)(jZ,{name:l??(p.name?p.name+(p.values.length>1?"[]":""):void 0),form:p.form,value:w},k)]})});jX.displayName=jW;var jZ=a=>{let{value:b,...c}=a,d=o.useRef(null),e=gR(b);return o.useEffect(()=>{let a=d.current,c=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"value").set;if(e!==b&&c){let d=new Event("input",{bubbles:!0});c.call(a,b),a.dispatchEvent(d)}},[e,b]),(0,n.jsx)("input",{style:{display:"none"},...c,ref:d,defaultValue:b})};function j$(a,b,c){return gQ(100/(c-b)*(a-b),[0,100])}function j_(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])}}function j0({className:a,defaultValue:b,value:c,min:d=0,max:e=100,...f}){let g=o.useMemo(()=>Array.isArray(c)?c:Array.isArray(b)?b:[d,e],[c,b,d,e]);return(0,n.jsxs)(jM,{"data-slot":"slider",defaultValue:b,value:c,min:d,max:e,className:aQ("relative flex w-full touch-none items-center select-none data-[disabled]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col",a),...f,children:[(0,n.jsx)(jT,{"data-slot":"slider-track",className:"bg-muted relative grow overflow-hidden rounded-full data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5",children:(0,n.jsx)(jV,{"data-slot":"slider-range",className:"bg-primary absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full"})}),Array.from({length:g.length},(a,b)=>(0,n.jsx)(jX,{"data-slot":"slider-thumb",className:"border-primary ring-ring/50 block size-4 shrink-0 rounded-full border bg-white shadow-sm transition-[color,box-shadow] hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50"},b))]})}let j1=[{value:"forward",label:"Forward"},{value:"backward",label:"Backward"},{value:"both",label:"Both"}],j2={production:"text-gray-600",test:"text-amber-600",admin:"text-blue-600",analytics:"text-green-600","dev-only":"text-purple-600",migration:"text-orange-600",unknown:"text-gray-400"};function j3(){let[a,b]=(0,o.useState)(""),[c,d]=(0,o.useState)(""),[e,f]=(0,o.useState)("both"),[g,h]=(0,o.useState)(5),[i,j]=(0,o.useState)(!1),{components:k}=f3({autoFetch:!0}),{trace:l,isLoading:m,error:p,refresh:q}=function(a={}){let{component:b,direction:c="both",maxDepth:d=5,filter:e,autoFetch:f=!1,projectPath:g}=a,{activeProjectPath:h,isHydrated:i}=(0,f1.useActiveProject)(),j=g||h||void 0,k=void 0!==g||i,[l,m]=(0,o.useState)(null),[n,p]=(0,o.useState)(!1),[q,r]=(0,o.useState)(null),s=(0,o.useCallback)(async()=>{if(b){p(!0),r(null);try{let a=new URLSearchParams;a.set("component",b),a.set("direction",c),a.set("maxDepth",String(d)),e&&a.set("filter",e),j&&a.set("path",j);let f=await (0,fx.apiFetch)(`/api/trace?${a.toString()}`),g=await f.json();g.success&&g.data?m(g.data):r(g.error||"Failed to trace dataflow")}catch(a){r(a instanceof Error?a.message:"Network error")}finally{p(!1)}}},[b,c,d,e,j]),t=(0,o.useCallback)(async()=>{await s()},[s]);return(0,o.useEffect)(()=>{f&&b&&k&&s()},[f,b,k,s]),{trace:l,isLoading:n||f&&!k,error:q,refresh:t}}({component:c||void 0,direction:e,maxDepth:g,autoFetch:!!c}),r=a.length>0?k.filter(b=>b.name.toLowerCase().includes(a.toLowerCase())).slice(0,8):[],s=()=>{a.trim()&&d(a.trim())};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:"Dataflow Trace"}),(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:l?`${l.paths.length} path${1!==l.paths.length?"s":""} found, ${l.components_touched.length} components touched`:"Select a component and trace its dataflow"})]}),c&&(0,n.jsxs)(aS,{variant:"outline",size:"sm",onClick:()=>q(),disabled:m,children:[m?(0,n.jsx)(fU,{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"})]})]}),p&&(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)(jf,{className:"h-4 w-4 text-destructive"}),(0,n.jsx)("p",{className:"text-sm text-destructive",children:p})]}),(0,n.jsx)(fW,{className:"bg-card",children:(0,n.jsx)(f$,{className:"p-4",children:(0,n.jsxs)("div",{className:"flex flex-col gap-4 sm:flex-row sm:items-end",children:[(0,n.jsxs)("div",{className:"relative flex-1",children:[(0,n.jsx)("label",{className:"mb-1 block text-xs font-medium text-muted-foreground",children:"Component"}),(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 components...",value:a,onChange:a=>{b(a.target.value),j(!0)},onFocus:()=>j(!0),onKeyDown:a=>{"Enter"===a.key&&(s(),j(!1))},className:"pl-9"})]}),i&&r.length>0&&(0,n.jsx)("div",{className:"absolute z-10 mt-1 w-full rounded-md border border-border bg-popover shadow-md",children:r.map(a=>(0,n.jsxs)("button",{className:"flex w-full items-center gap-2 px-3 py-2 text-left text-sm hover:bg-accent",onMouseDown:a=>a.preventDefault(),onClick:()=>{var c;b(c=a.name),d(c),j(!1)},children:[(0,n.jsx)("span",{className:"font-medium text-foreground",children:a.name}),(0,n.jsx)("span",{className:"text-xs text-muted-foreground",children:a.layer})]},a.id))})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("label",{className:"mb-1 block text-xs font-medium text-muted-foreground",children:"Direction"}),(0,n.jsx)("div",{className:"flex rounded-md border border-border",children:j1.map(a=>(0,n.jsx)("button",{onClick:()=>f(a.value),className:aQ("px-3 py-2 text-xs font-medium transition-colors",e===a.value?"bg-primary text-primary-foreground":"text-muted-foreground hover:bg-accent"),children:a.label},a.value))})]}),(0,n.jsxs)("div",{className:"w-32",children:[(0,n.jsxs)("label",{className:"mb-1 block text-xs font-medium text-muted-foreground",children:["Depth: ",g]}),(0,n.jsx)(j0,{value:[g],onValueChange:([a])=>h(a),min:1,max:10,step:1})]}),(0,n.jsxs)(aS,{onClick:s,disabled:!a.trim()||m,size:"sm",children:[m?(0,n.jsx)(fU,{className:"h-4 w-4 animate-spin"}):(0,n.jsx)(fI,{className:"h-4 w-4"}),(0,n.jsx)("span",{className:"ml-2",children:"Trace"})]})]})})}),m&&(0,n.jsx)("div",{className:"flex h-32 items-center justify-center",children:(0,n.jsx)(fU,{className:"h-8 w-8 animate-spin text-muted-foreground"})}),l&&!m&&(0,n.jsxs)(n.Fragment,{children:[l.layers_crossed.length>0&&(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-xs text-muted-foreground",children:[(0,n.jsx)("span",{className:"font-medium",children:"Layers:"}),l.layers_crossed.map(a=>(0,n.jsx)(f0,{variant:"secondary",className:"text-xs",children:a},a))]}),(0,n.jsx)("div",{className:"space-y-3",children:l.paths.map((a,b)=>(0,n.jsx)(fW,{className:"bg-card",children:(0,n.jsxs)(f$,{className:"p-4",children:[(0,n.jsxs)("div",{className:"mb-2 flex items-center gap-2",children:[(0,n.jsxs)("span",{className:"text-xs font-medium text-muted-foreground",children:["Path ",b+1]}),a.classification&&(0,n.jsx)("span",{className:aQ("text-xs",j2[a.classification]||"text-gray-400"),children:a.classification})]}),(0,n.jsx)("div",{className:"flex flex-wrap items-center gap-1",children:a.steps.map((a,b)=>(0,n.jsxs)("div",{className:"flex items-center gap-1",children:[b>0&&(0,n.jsx)(gi,{className:"h-3 w-3 text-muted-foreground"}),(0,n.jsxs)("div",{className:"flex items-center gap-1 rounded bg-secondary px-2 py-1",children:[(0,n.jsx)("span",{className:"font-mono text-xs text-foreground",children:a.component.n}),(0,n.jsxs)("span",{className:"text-[10px] text-muted-foreground",children:["[",a.component.l,"]"]})]})]},b))}),a.steps.some(a=>a.file)&&(0,n.jsx)("div",{className:"mt-2 text-[10px] text-muted-foreground",children:a.steps.filter(a=>a.file).map((a,b)=>(0,n.jsxs)("span",{className:"mr-3",children:[a.file,a.line?`:${a.line}`:""]},b))})]})},b))}),0===l.paths.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)(fI,{className:"h-6 w-6 text-muted-foreground"})}),(0,n.jsx)("p",{className:"mt-4 text-sm font-medium text-foreground",children:"No paths found"}),(0,n.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:"Try adjusting the direction or increasing the depth."})]})]}),!l&&!m&&!p&&(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)(fI,{className:"h-6 w-6 text-muted-foreground"})}),(0,n.jsx)("p",{className:"mt-4 text-sm font-medium text-foreground",children:"Select a component and trace its dataflow"}),(0,n.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:"Search for a component above, then click Trace to follow its connections."})]})]})}let j4=t("ClipboardCopy",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2",key:"4jdomd"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v4",key:"3hqy98"}],["path",{d:"M21 14H11",key:"1bme5i"}],["path",{d:"m15 10-4 4 4 4",key:"5dvupr"}]]),j5=["frontend","backend","data","shared","external","hosting"];function j6(){let[a,b]=(0,o.useState)(""),[c,d]=(0,o.useState)([]),[e,f]=(0,o.useState)(2),[g,h]=(0,o.useState)([]),[i,j]=(0,o.useState)(50),[k,l]=(0,o.useState)(!1),[m,p]=(0,o.useState)(!1),[q,r]=(0,o.useState)(!1),{components:s}=f3({autoFetch:!0}),{subgraph:t,isLoading:w,error:x,refresh:y}=function(a={}){let{focus:b=[],depth:c=2,layers:d=[],classification:e,maxNodes:f=50,autoFetch:g=!1,projectPath:h}=a,{activeProjectPath:i,isHydrated:j}=(0,f1.useActiveProject)(),k=h||i||void 0,l=void 0!==h||j,[m,n]=(0,o.useState)(null),[p,q]=(0,o.useState)(!1),[r,s]=(0,o.useState)(null),t=(0,o.useCallback)(async()=>{q(!0),s(null);try{let a=new URLSearchParams;b.length>0&&a.set("focus",b.join(",")),a.set("depth",String(c)),d.length>0&&a.set("layers",d.join(",")),e&&a.set("classification",e),a.set("maxNodes",String(f)),k&&a.set("path",k);let g=await (0,fx.apiFetch)(`/api/subgraph?${a.toString()}`),h=await g.json();h.success&&h.data?n(h.data):s(h.error||"Failed to extract subgraph")}catch(a){s(a instanceof Error?a.message:"Network error")}finally{q(!1)}},[b.join(","),c,d.join(","),e,f,k]),u=(0,o.useCallback)(async()=>{await t()},[t]);return(0,o.useEffect)(()=>{g&&l&&t()},[g,l,t]),{subgraph:m,isLoading:p||g&&!l,error:r,refresh:u}}({focus:c.length>0?c:void 0,depth:e,layers:g.length>0?g:void 0,maxNodes:i,autoFetch:c.length>0}),z=a.length>0?s.filter(b=>b.name.toLowerCase().includes(a.toLowerCase())&&!c.includes(b.name)).slice(0,6):[],A=a=>{c.includes(a)||d([...c,a]),b(""),l(!1)},B=async()=>{t&&(await navigator.clipboard.writeText(JSON.stringify({components:t.components,connections:t.connections},null,2)),p(!0),setTimeout(()=>p(!1),2e3))},C=async()=>{t?.mermaid&&(await navigator.clipboard.writeText(t.mermaid),r(!0),setTimeout(()=>r(!1),2e3))};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:"Subgraph Export"}),(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:t?`${t.stats.nodes} nodes, ${t.stats.edges} edges`:"Configure filters and extract a subgraph"})]}),t&&(0,n.jsxs)(aS,{variant:"outline",size:"sm",onClick:()=>y(),disabled:w,children:[w?(0,n.jsx)(fU,{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"})]})]}),x&&(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)(jf,{className:"h-4 w-4 text-destructive"}),(0,n.jsx)("p",{className:"text-sm text-destructive",children:x})]}),(0,n.jsx)(fW,{className:"bg-card",children:(0,n.jsxs)(f$,{className:"space-y-4 p-4",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("label",{className:"mb-1 block text-xs font-medium text-muted-foreground",children:"Focus Components"}),(0,n.jsx)("div",{className:"flex flex-wrap gap-1.5 mb-2",children:c.map(a=>(0,n.jsxs)(f0,{variant:"secondary",className:"flex items-center gap-1 text-xs",children:[a,(0,n.jsx)("button",{onClick:()=>{d(c.filter(b=>b!==a))},className:"ml-0.5 rounded-full hover:bg-accent p-0.5",children:"×"})]},a))}),(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:"Add focus component...",value:a,onChange:a=>{b(a.target.value),l(!0)},onFocus:()=>l(!0),onKeyDown:b=>{"Enter"===b.key&&a.trim()&&A(a.trim())},className:"pl-9"}),k&&z.length>0&&(0,n.jsx)("div",{className:"absolute z-10 mt-1 w-full rounded-md border border-border bg-popover shadow-md",children:z.map(a=>(0,n.jsxs)("button",{className:"flex w-full items-center gap-2 px-3 py-2 text-left text-sm hover:bg-accent",onMouseDown:a=>a.preventDefault(),onClick:()=>A(a.name),children:[(0,n.jsx)("span",{className:"font-medium text-foreground",children:a.name}),(0,n.jsx)("span",{className:"text-xs text-muted-foreground",children:a.layer})]},a.id))})]})]}),(0,n.jsxs)("div",{className:"flex flex-col gap-4 sm:flex-row",children:[(0,n.jsxs)("div",{className:"w-32",children:[(0,n.jsxs)("label",{className:"mb-1 block text-xs font-medium text-muted-foreground",children:["Depth: ",e]}),(0,n.jsx)(j0,{value:[e],onValueChange:([a])=>f(a),min:1,max:5,step:1})]}),(0,n.jsxs)("div",{className:"w-32",children:[(0,n.jsxs)("label",{className:"mb-1 block text-xs font-medium text-muted-foreground",children:["Max nodes: ",i]}),(0,n.jsx)(j0,{value:[i],onValueChange:([a])=>j(a),min:10,max:200,step:10})]})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("label",{className:"mb-1 block text-xs font-medium text-muted-foreground",children:"Layers"}),(0,n.jsx)("div",{className:"flex flex-wrap gap-2",children:j5.map(a=>(0,n.jsx)("button",{onClick:()=>{h(b=>b.includes(a)?b.filter(b=>b!==a):[...b,a])},className:aQ("rounded-md border px-2.5 py-1 text-xs font-medium transition-colors",g.includes(a)?"border-primary bg-primary/10 text-primary":"border-border text-muted-foreground hover:bg-accent"),children:a},a))})]})]})}),w&&(0,n.jsx)("div",{className:"flex h-32 items-center justify-center",children:(0,n.jsx)(fU,{className:"h-8 w-8 animate-spin text-muted-foreground"})}),t&&!w&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"flex gap-2",children:[(0,n.jsxs)(aS,{variant:"outline",size:"sm",onClick:B,disabled:0===t.stats.nodes,children:[m?(0,n.jsx)(eV,{className:"h-4 w-4 text-green-600"}):(0,n.jsx)(j4,{className:"h-4 w-4"}),(0,n.jsx)("span",{className:"ml-2",children:m?"Copied":"Copy JSON"})]}),(0,n.jsxs)(aS,{variant:"outline",size:"sm",onClick:C,disabled:!t.mermaid,children:[q?(0,n.jsx)(eV,{className:"h-4 w-4 text-green-600"}):(0,n.jsx)(j4,{className:"h-4 w-4"}),(0,n.jsx)("span",{className:"ml-2",children:q?"Copied":"Copy Mermaid"})]})]}),t.mermaid&&(0,n.jsxs)(fW,{className:"bg-card",children:[(0,n.jsx)(fX,{className:"pb-2",children:(0,n.jsx)(fY,{className:"text-sm font-medium text-muted-foreground",children:"Mermaid Diagram"})}),(0,n.jsx)(f$,{children:(0,n.jsx)("pre",{className:"max-h-80 overflow-auto rounded-md bg-secondary/50 p-4 font-mono text-xs text-foreground",children:t.mermaid})})]}),t.stats.nodes>0&&(0,n.jsxs)(fW,{className:"bg-card",children:[(0,n.jsx)(fX,{className:"pb-2",children:(0,n.jsxs)(fY,{className:"text-sm font-medium text-muted-foreground",children:["Components (",t.stats.nodes,")"]})}),(0,n.jsx)(f$,{children:(0,n.jsx)("div",{className:"divide-y divide-border",children:t.components.map(a=>(0,n.jsxs)("div",{className:"flex items-center justify-between py-2 first:pt-0 last:pb-0",children:[(0,n.jsx)("span",{className:"font-mono text-sm text-foreground",children:a.n}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("span",{className:"text-xs text-muted-foreground",children:a.t}),(0,n.jsx)(f0,{variant:"secondary",className:"text-[10px]",children:a.l})]})]},a.id))})})]}),0===t.stats.nodes&&(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)(fJ,{className:"h-6 w-6 text-muted-foreground"})}),(0,n.jsx)("p",{className:"mt-4 text-sm font-medium text-foreground",children:"No components match"}),(0,n.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:"Try adding focus components or adjusting filters."})]})]}),!t&&!w&&!x&&(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)(fJ,{className:"h-6 w-6 text-muted-foreground"})}),(0,n.jsx)("p",{className:"mt-4 text-sm font-medium text-foreground",children:"Configure filters and extract a subgraph"}),(0,n.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:"Add focus components to extract a focused slice of your architecture."})]})]})}var j7=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 j8({className:a,...b}){return(0,n.jsx)(j7,{"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})}j7.displayName="Label";var j9="Switch",[ka,kb]=aV(j9),[kc,kd]=ka(j9),ke=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)(kc,{scope:c,checked:t,disabled:h,children:[(0,n.jsx)(aZ.button,{type:"button",role:"switch","aria-checked":t,"aria-required":g,"data-state":ki(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)(kh,{control:m,bubbles:!r.current,name:d,value:i,checked:t,required:g,disabled:h,form:k,style:{transform:"translateX(-100%)"}})]})});ke.displayName=j9;var kf="SwitchThumb",kg=o.forwardRef((a,b)=>{let{__scopeSwitch:c,...d}=a,e=kd(kf,c);return(0,n.jsx)(aZ.span,{"data-state":ki(e.checked),"data-disabled":e.disabled?"":void 0,...d,ref:b})});kg.displayName=kf;var kh=a=>{let{control:b,checked:c,bubbles:d=!0,...e}=a,f=o.useRef(null),g=gR(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 ki(a){return a?"checked":"unchecked"}function kj({className:a,...b}){return(0,n.jsx)(ke,{"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)(kg,{"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 kk=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"}]]),kl=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"}]]),km=t("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]),kn=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"}]]),ko={rootPath:"./src",excludePaths:["node_modules",".git","dist","build",".next"],includePatterns:["**/*.ts","**/*.tsx","**/*.js","**/*.jsx"],scanDepth:10,watchMode:!1,autoScanOnChange:!0},kp={npm:!0,database:!0,service:!0,queue:!0,cache:!0,storage:!0,auth:!0,llm:!0,staticAnalysis:!0,environmentVariables:!0,configFiles:!0},kq={enabled:!0,onNewConnection:!1,onBreakingChange:!0,onSecurityIssue:!0,slackWebhook:""},kr={theme:"dark",compactMode:!1,showLineNumbers:!0,diagramDirection:"TB",maxVisibleConnections:50};function ks(){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 (0,fx.apiFetch)(`/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 (0,fx.apiFetch)("/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)(ko),[i,j]=(0,o.useState)(kp),[k,l]=(0,o.useState)(kq),[m,p]=(0,o.useState)(kr);(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(ko),j(kp),l(kq),p(kr),await d({scan:ko,detection:kp,notifications:kq,display:kr})};return b&&!a?(0,n.jsx)("div",{className:"flex h-64 items-center justify-center",children:(0,n.jsx)(fU,{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)(gP,{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)(fU,{className:"h-4 w-4 animate-spin"}):(0,n.jsx)(kn,{className:"h-4 w-4"}),e?"Saved":c?"Saving...":"Save Changes"]})]})]}),(0,n.jsxs)(gB,{defaultValue:"scanning",className:"w-full",children:[(0,n.jsxs)(gC,{className:"bg-secondary",children:[(0,n.jsxs)(gD,{value:"scanning",className:"gap-2",children:[(0,n.jsx)(x,{className:"h-4 w-4"}),"Scanning"]}),(0,n.jsxs)(gD,{value:"detection",className:"gap-2",children:[(0,n.jsx)(fB,{className:"h-4 w-4"}),"Detection"]}),(0,n.jsxs)(gD,{value:"notifications",className:"gap-2",children:[(0,n.jsx)(kk,{className:"h-4 w-4"}),"Notifications"]}),(0,n.jsxs)(gD,{value:"display",className:"gap-2",children:[(0,n.jsx)(kl,{className:"h-4 w-4"}),"Display"]})]}),(0,n.jsx)(gE,{value:"scanning",className:"mt-4",children:(0,n.jsxs)("div",{className:"grid gap-4",children:[(0,n.jsxs)(fW,{className:"border-border bg-card",children:[(0,n.jsxs)(fX,{children:[(0,n.jsx)(fY,{className:"text-base",children:"Scan Configuration"}),(0,n.jsx)(fZ,{children:"Configure which files and directories NavGator should analyze"})]}),(0,n.jsxs)(f$,{className:"flex flex-col gap-6",children:[(0,n.jsxs)("div",{className:"grid gap-2",children:[(0,n.jsx)(j8,{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)(j8,{children:"Exclude Paths"}),(0,n.jsxs)("div",{className:"flex flex-wrap gap-2",children:[g.excludePaths.map((a,b)=>(0,n.jsxs)(f0,{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)(j8,{children:"Include Patterns"}),(0,n.jsx)("div",{className:"flex flex-wrap gap-2",children:g.includePatterns.map((a,b)=>(0,n.jsxs)(f0,{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)(j8,{htmlFor:"scanDepth",children:"Scan Depth"}),(0,n.jsxs)(hI,{value:g.scanDepth.toString(),onValueChange:a=>h(b=>({...b,scanDepth:Number.parseInt(a)})),children:[(0,n.jsx)(hK,{className:"w-32 bg-secondary",children:(0,n.jsx)(hJ,{})}),(0,n.jsxs)(hL,{children:[(0,n.jsx)(hM,{value:"5",children:"5 levels"}),(0,n.jsx)(hM,{value:"10",children:"10 levels"}),(0,n.jsx)(hM,{value:"15",children:"15 levels"}),(0,n.jsx)(hM,{value:"20",children:"20 levels"}),(0,n.jsx)(hM,{value:"-1",children:"Unlimited"})]})]}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:"Maximum directory depth to traverse"})]})]})]}),(0,n.jsxs)(fW,{className:"border-border bg-card",children:[(0,n.jsxs)(fX,{children:[(0,n.jsx)(fY,{className:"text-base",children:"Watch Mode"}),(0,n.jsx)(fZ,{children:"Automatically detect changes in your codebase"})]}),(0,n.jsxs)(f$,{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)(j8,{children:"Enable Watch Mode"}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:"Monitor file changes in real-time"})]}),(0,n.jsx)(kj,{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)(j8,{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)(kj,{checked:g.autoScanOnChange,onCheckedChange:a=>h(b=>({...b,autoScanOnChange:a}))})]})]})]})]})}),(0,n.jsx)(gE,{value:"detection",className:"mt-4",children:(0,n.jsxs)("div",{className:"grid gap-4",children:[(0,n.jsxs)(fW,{className:"border-border bg-card",children:[(0,n.jsxs)(fX,{children:[(0,n.jsx)(fY,{className:"text-base",children:"Component Detection"}),(0,n.jsx)(fZ,{children:"Configure what types of components NavGator should detect"})]}),(0,n.jsx)(f$,{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)(j8,{children:a.label}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:a.desc})]}),(0,n.jsx)(kj,{checked:i[a.id],onCheckedChange:b=>j(c=>({...c,[a.id]:b}))})]},a.id))})})]}),(0,n.jsxs)(fW,{className:"border-border bg-card",children:[(0,n.jsxs)(fX,{children:[(0,n.jsx)(fY,{className:"text-base",children:"Connection Analysis"}),(0,n.jsx)(fZ,{children:"How NavGator identifies relationships between components"})]}),(0,n.jsxs)(f$,{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)(j8,{children:"Static Analysis"}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:"Analyze imports, function calls, and type references"})]}),(0,n.jsx)(kj,{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)(j8,{children:"Environment Variables"}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:"Detect service URLs from env vars"})]}),(0,n.jsx)(kj,{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)(j8,{children:"Config Files"}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:"Parse docker-compose, terraform, k8s manifests"})]}),(0,n.jsx)(kj,{checked:i.configFiles,onCheckedChange:a=>j(b=>({...b,configFiles:a}))})]})]})]})]})}),(0,n.jsx)(gE,{value:"notifications",className:"mt-4",children:(0,n.jsxs)("div",{className:"grid gap-4",children:[(0,n.jsxs)(fW,{className:"border-border bg-card",children:[(0,n.jsxs)(fX,{children:[(0,n.jsx)(fY,{className:"text-base",children:"Alert Preferences"}),(0,n.jsx)(fZ,{children:"Configure when and how you receive notifications"})]}),(0,n.jsxs)(f$,{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)(j8,{children:"Enable Notifications"}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:"Receive alerts for architecture changes"})]}),(0,n.jsx)(kj,{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)(j8,{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)(fV,{className:"h-4 w-4 text-info"}),(0,n.jsx)("span",{className:"text-sm",children:"New connection detected"})]}),(0,n.jsx)(kj,{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)(jf,{className:"h-4 w-4 text-warning"}),(0,n.jsx)("span",{className:"text-sm",children:"Breaking change detected"})]}),(0,n.jsx)(kj,{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)(fG,{className:"h-4 w-4 text-destructive"}),(0,n.jsx)("span",{className:"text-sm",children:"Security issue found"})]}),(0,n.jsx)(kj,{checked:k.onSecurityIssue,onCheckedChange:a=>l(b=>({...b,onSecurityIssue:a})),disabled:!k.enabled})]})]})]})]})]}),(0,n.jsxs)(fW,{className:"border-border bg-card",children:[(0,n.jsxs)(fX,{children:[(0,n.jsx)(fY,{className:"text-base",children:"Integrations"}),(0,n.jsx)(fZ,{children:"Connect to external services for notifications"})]}),(0,n.jsxs)(f$,{className:"flex flex-col gap-4",children:[(0,n.jsxs)("div",{className:"grid gap-2",children:[(0,n.jsx)(j8,{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)(km,{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)(gE,{value:"display",className:"mt-4",children:(0,n.jsxs)("div",{className:"grid gap-4",children:[(0,n.jsxs)(fW,{className:"border-border bg-card",children:[(0,n.jsxs)(fX,{children:[(0,n.jsx)(fY,{className:"text-base",children:"Appearance"}),(0,n.jsx)(fZ,{children:"Customize how NavGator looks and displays information"})]}),(0,n.jsxs)(f$,{className:"flex flex-col gap-4",children:[(0,n.jsxs)("div",{className:"grid gap-2",children:[(0,n.jsx)(j8,{children:"Theme"}),(0,n.jsxs)(hI,{value:m.theme,onValueChange:a=>p(b=>({...b,theme:a})),children:[(0,n.jsx)(hK,{className:"w-40 bg-secondary",children:(0,n.jsx)(hJ,{})}),(0,n.jsxs)(hL,{children:[(0,n.jsx)(hM,{value:"dark",children:"Dark"}),(0,n.jsx)(hM,{value:"light",children:"Light"}),(0,n.jsx)(hM,{value:"system",children:"System"})]})]})]}),(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)(j8,{children:"Compact Mode"}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:"Reduce padding and spacing for more content"})]}),(0,n.jsx)(kj,{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)(j8,{children:"Show Line Numbers"}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:"Display line numbers in code snippets"})]}),(0,n.jsx)(kj,{checked:m.showLineNumbers,onCheckedChange:a=>p(b=>({...b,showLineNumbers:a}))})]})]})]}),(0,n.jsxs)(fW,{className:"border-border bg-card",children:[(0,n.jsxs)(fX,{children:[(0,n.jsx)(fY,{className:"text-base",children:"Diagram Preferences"}),(0,n.jsx)(fZ,{children:"Configure architecture diagram visualization"})]}),(0,n.jsxs)(f$,{className:"flex flex-col gap-4",children:[(0,n.jsxs)("div",{className:"grid gap-2",children:[(0,n.jsx)(j8,{children:"Default Direction"}),(0,n.jsxs)(hI,{value:m.diagramDirection,onValueChange:a=>p(b=>({...b,diagramDirection:a})),children:[(0,n.jsx)(hK,{className:"w-40 bg-secondary",children:(0,n.jsx)(hJ,{})}),(0,n.jsxs)(hL,{children:[(0,n.jsx)(hM,{value:"TB",children:"Top to Bottom"}),(0,n.jsx)(hM,{value:"LR",children:"Left to Right"})]})]})]}),(0,n.jsxs)("div",{className:"grid gap-2",children:[(0,n.jsx)(j8,{children:"Max Visible Connections"}),(0,n.jsxs)(hI,{value:m.maxVisibleConnections.toString(),onValueChange:a=>p(b=>({...b,maxVisibleConnections:Number.parseInt(a)})),children:[(0,n.jsx)(hK,{className:"w-40 bg-secondary",children:(0,n.jsx)(hJ,{})}),(0,n.jsxs)(hL,{children:[(0,n.jsx)(hM,{value:"25",children:"25"}),(0,n.jsx)(hM,{value:"50",children:"50"}),(0,n.jsx)(hM,{value:"100",children:"100"}),(0,n.jsx)(hM,{value:"200",children:"200"})]})]}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:"Limit connections shown to improve performance"})]})]})]})]})})]})]})}let kt=t("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]),ku=t("TrendingUp",[["polyline",{points:"22 7 13.5 15.5 8.5 10.5 2 17",key:"126l90"}],["polyline",{points:"16 7 22 7 22 13",key:"kwv8wd"}]]);var kv="AlertDialog",[kw,kx]=aV(kv,[ix]),ky=ix(),kz=a=>{let{__scopeAlertDialog:b,...c}=a,d=ky(b);return(0,n.jsx)(iA,{...d,...c,modal:!0})};kz.displayName=kv,o.forwardRef((a,b)=>{let{__scopeAlertDialog:c,...d}=a,e=ky(c);return(0,n.jsx)(iC,{...e,...d,ref:b})}).displayName="AlertDialogTrigger";var kA=a=>{let{__scopeAlertDialog:b,...c}=a,d=ky(b);return(0,n.jsx)(iG,{...d,...c})};kA.displayName="AlertDialogPortal";var kB=o.forwardRef((a,b)=>{let{__scopeAlertDialog:c,...d}=a,e=ky(c);return(0,n.jsx)(iI,{...e,...d,ref:b})});kB.displayName="AlertDialogOverlay";var kC="AlertDialogContent",[kD,kE]=kw(kC),kF=o.forwardRef((a,b)=>{let{__scopeAlertDialog:c,children:d,...e}=a,f=ky(c),g=o.useRef(null),h=C(b,g),i=o.useRef(null);return(0,n.jsx)(iX,{contentName:kC,titleName:kG,docsSlug:"alert-dialog",children:(0,n.jsx)(kD,{scope:c,cancelRef:i,children:(0,n.jsxs)(iL,{role:"alertdialog",...f,...e,ref:h,onOpenAutoFocus:aU(e.onOpenAutoFocus,a=>{a.preventDefault(),i.current?.focus({preventScroll:!0})}),onPointerDownOutside:a=>a.preventDefault(),onInteractOutside:a=>a.preventDefault(),children:[(0,n.jsx)(F,{children:d}),(0,n.jsx)(kN,{contentRef:g})]})})})});kF.displayName=kC;var kG="AlertDialogTitle",kH=o.forwardRef((a,b)=>{let{__scopeAlertDialog:c,...d}=a,e=ky(c);return(0,n.jsx)(iQ,{...e,...d,ref:b})});kH.displayName=kG;var kI="AlertDialogDescription",kJ=o.forwardRef((a,b)=>{let{__scopeAlertDialog:c,...d}=a,e=ky(c);return(0,n.jsx)(iS,{...e,...d,ref:b})});kJ.displayName=kI;var kK=o.forwardRef((a,b)=>{let{__scopeAlertDialog:c,...d}=a,e=ky(c);return(0,n.jsx)(iU,{...e,...d,ref:b})});kK.displayName="AlertDialogAction";var kL="AlertDialogCancel",kM=o.forwardRef((a,b)=>{let{__scopeAlertDialog:c,...d}=a,{cancelRef:e}=kE(kL,c),f=ky(c),g=C(b,e);return(0,n.jsx)(iU,{...f,...d,ref:g})});kM.displayName=kL;var kN=({contentRef:a})=>{let b=`\`${kC}\` requires a description for the component to be accessible for screen reader users.
|
|
18
|
+
|
|
19
|
+
You can add a description to the \`${kC}\` by passing a \`${kI}\` component as a child, which also benefits sighted users by adding visible context to the dialog.
|
|
20
|
+
|
|
21
|
+
Alternatively, you can use your own component as a description by assigning it an \`id\` and passing the same value to the \`aria-describedby\` prop in \`${kC}\`. If the description is confusing or duplicative for sighted users, you can use the \`@radix-ui/react-visually-hidden\` primitive as a wrapper around your description component.
|
|
22
|
+
|
|
23
|
+
For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;return o.useEffect(()=>{document.getElementById(a.current?.getAttribute("aria-describedby"))||console.warn(b)},[b,a]),null};function kO({...a}){return(0,n.jsx)(kz,{"data-slot":"alert-dialog",...a})}function kP({...a}){return(0,n.jsx)(kA,{"data-slot":"alert-dialog-portal",...a})}function kQ({className:a,...b}){return(0,n.jsx)(kB,{"data-slot":"alert-dialog-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 kR({className:a,...b}){return(0,n.jsxs)(kP,{children:[(0,n.jsx)(kQ,{}),(0,n.jsx)(kF,{"data-slot":"alert-dialog-content",className:aQ("bg-background 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 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",a),...b})]})}function kS({className:a,...b}){return(0,n.jsx)("div",{"data-slot":"alert-dialog-header",className:aQ("flex flex-col gap-2 text-center sm:text-left",a),...b})}function kT({className:a,...b}){return(0,n.jsx)("div",{"data-slot":"alert-dialog-footer",className:aQ("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",a),...b})}function kU({className:a,...b}){return(0,n.jsx)(kH,{"data-slot":"alert-dialog-title",className:aQ("text-lg font-semibold",a),...b})}function kV({className:a,...b}){return(0,n.jsx)(kJ,{"data-slot":"alert-dialog-description",className:aQ("text-muted-foreground text-sm",a),...b})}function kW({className:a,...b}){return(0,n.jsx)(kK,{className:aQ(aR(),a),...b})}function kX({className:a,...b}){return(0,n.jsx)(kM,{className:aQ(aR({variant:"outline"}),a),...b})}function kY(){var a;let b,{data:c,isLoading:d,error:e,refresh:f,cleanup:g,isCleaning:h,cleanupError:i}=function(){let[a,b]=(0,o.useState)(null),[c,d]=(0,o.useState)(!1),[e,f]=(0,o.useState)(null),[g,h]=(0,o.useState)(!1),[i,j]=(0,o.useState)(null),k=(0,o.useCallback)(async()=>{d(!0),f(null);try{let a=await (0,fx.apiFetch)("/api/registry-health"),c=await a.json();c.success&&c.data?b(c.data):(b(null),f(c.error||"Failed to fetch registry health"))}catch(a){b(null),f(a instanceof Error?a.message:"Network error")}finally{d(!1)}},[]),l=(0,o.useCallback)(async()=>{await k()},[k]),m=(0,o.useCallback)(async()=>{h(!0),j(null);try{let a=await (0,fx.apiFetch)("/api/registry-health",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"prune-tmp",confirm:!0})}),b=await a.json();if(b.success&&b.data){let{cleanup:a}=b.data;return a}return j(b.error||"Failed to clean up registry"),null}catch(a){return j(a instanceof Error?a.message:"Network error"),null}finally{h(!1),await k()}},[k]);return(0,o.useEffect)(()=>{k()},[k]),{data:a,isLoading:c,error:e,refresh:l,cleanup:m,isCleaning:g,cleanupError:i}}(),[j,k]=(0,o.useState)(!1),[l,m]=(0,o.useState)(null),p=async()=>{m(null);let a=await g();a&&m(a)};return d&&!c?(0,n.jsx)("div",{className:"flex h-64 items-center justify-center",children:(0,n.jsx)(fU,{className:"h-8 w-8 animate-spin text-muted-foreground"})}):(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:"Registry Health"}),(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:"Project registry, journal, and gator-memory store diagnostics"})]}),(0,n.jsxs)(aS,{variant:"outline",size:"sm",onClick:f,disabled:d,children:[d?(0,n.jsx)(fU,{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"})]})]}),e&&(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)(jf,{className:"h-4 w-4 text-destructive"}),(0,n.jsx)("p",{className:"text-sm text-destructive",children:e})]}),!e&&c&&(0,n.jsxs)(n.Fragment,{children:["healthy"===c.verdict?(0,n.jsxs)("div",{className:"flex flex-col items-center justify-center py-8 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)(fN,{className:"h-6 w-6 text-green-600"})}),(0,n.jsx)("p",{className:"mt-4 text-sm font-medium text-foreground",children:"Registry is healthy"}),(0,n.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:"No action needed."})]}):(0,n.jsxs)(fW,{className:"bg-card",children:[(0,n.jsx)(fX,{className:"pb-3",children:(0,n.jsxs)(fY,{className:"flex items-center gap-2 text-base font-medium",children:[(0,n.jsx)(fK,{className:"h-4 w-4 text-amber-600"}),(0,n.jsx)("span",{className:"text-amber-600",children:"Attention needed"})]})}),(0,n.jsx)(f$,{children:(0,n.jsx)("div",{className:"divide-y divide-border",children:c.findings.map((a,b)=>(0,n.jsxs)("div",{className:"py-3 first:pt-0 last:pb-0",children:[(0,n.jsx)("p",{className:`text-sm font-medium ${"warn"===a.severity?"text-amber-600":"text-blue-600"}`,children:a.code.replace(/-/g," ")}),(0,n.jsx)("p",{className:"mt-0.5 text-sm text-muted-foreground",children:a.message})]},`${a.code}-${b}`))})})]}),(0,n.jsxs)(fW,{className:"bg-card",children:[(0,n.jsx)(fX,{className:"pb-3",children:(0,n.jsxs)(fY,{className:"flex items-center gap-2 text-base font-medium",children:[(0,n.jsx)(fP,{className:"h-4 w-4 text-muted-foreground"}),"Registry"]})}),(0,n.jsx)(f$,{children:(0,n.jsxs)("div",{className:"divide-y divide-border",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between py-2 first:pt-0",children:[(0,n.jsx)("span",{className:"text-sm text-muted-foreground",children:"Entries"}),(0,n.jsx)("span",{className:"text-sm font-medium text-foreground",children:c.registry.entries})]}),(0,n.jsxs)("div",{className:"flex items-center justify-between py-2",children:[(0,n.jsx)("span",{className:"text-sm text-muted-foreground",children:"Tmp-rooted"}),(0,n.jsx)("span",{className:"text-sm font-medium text-foreground",children:c.registry.tmpRooted})]}),(0,n.jsxs)("div",{className:"flex items-center justify-between py-2",children:[(0,n.jsx)("span",{className:"text-sm text-muted-foreground",children:"Missing"}),(0,n.jsx)("span",{className:"text-sm font-medium text-foreground",children:c.registry.missing})]}),(0,n.jsxs)("div",{className:"flex items-center justify-between py-2 last:pb-0",children:[(0,n.jsx)("span",{className:"text-sm text-muted-foreground",children:"Prunable"}),(0,n.jsx)("span",{className:`text-sm font-medium ${c.registry.prunable>0?"text-amber-600":"text-foreground"}`,children:c.registry.prunable})]})]})})]}),(0,n.jsxs)(fW,{className:"bg-card",children:[(0,n.jsx)(fX,{className:"pb-3",children:(0,n.jsxs)(fY,{className:"flex items-center gap-2 text-base font-medium",children:[(0,n.jsx)(ku,{className:"h-4 w-4 text-muted-foreground"}),"Registration growth"]})}),(0,n.jsx)(f$,{children:0===c.journal.records?(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:"The journal has no data yet."}):(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{className:"text-sm text-foreground",children:c.journal.insufficientWindow?(0,n.jsx)(n.Fragment,{children:"Not enough retained journal history to estimate a daily rate"}):(0,n.jsxs)(n.Fragment,{children:[c.journal.estimated?"≈":"",c.journal.registersPerDay.toFixed(1)," new entries/day, estimated over the last ",c.journal.windowDays.toFixed(1)," days of retained journal"]})}),(0,n.jsxs)("p",{className:"mt-1 text-xs text-muted-foreground",children:[c.journal.registersInWindow," registrations in window",c.journal.conflicts>0&&` \xb7 ${c.journal.conflicts} conflicts`,c.journal.degradedWrites>0&&` \xb7 ${c.journal.degradedWrites} degraded writes`]})]})})]}),(0,n.jsxs)(fW,{className:"bg-card",children:[(0,n.jsx)(fX,{className:"pb-3",children:(0,n.jsxs)(fY,{className:"flex items-center gap-2 text-base font-medium",children:[(0,n.jsx)(fV,{className:"h-4 w-4 text-muted-foreground"}),"Gator memory"]})}),(0,n.jsx)(f$,{children:c.memory.exists?(0,n.jsxs)("div",{className:"divide-y divide-border",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between py-2 first:pt-0",children:[(0,n.jsx)("span",{className:"text-sm text-muted-foreground",children:"Projects tracked"}),(0,n.jsx)("span",{className:"text-sm font-medium text-foreground",children:c.memory.projects})]}),(0,n.jsxs)("div",{className:"flex items-center justify-between py-2",children:[(0,n.jsx)("span",{className:"text-sm text-muted-foreground",children:"Orphaned records"}),(0,n.jsx)("span",{className:`text-sm font-medium ${c.memory.orphaned>0?"text-amber-600":"text-foreground"}`,children:c.memory.orphaned})]}),(0,n.jsxs)("div",{className:"flex items-center justify-between py-2",children:[(0,n.jsx)("span",{className:"text-sm text-muted-foreground",children:"Events"}),(0,n.jsx)("span",{className:"text-sm font-medium text-foreground",children:c.memory.events})]}),(0,n.jsxs)("div",{className:"flex items-center justify-between py-2",children:[(0,n.jsx)("span",{className:"text-sm text-muted-foreground",children:"Size"}),(0,n.jsx)("span",{className:"text-sm font-medium text-foreground",children:function(a){if(!Number.isFinite(a)||a<0)return"unknown size";if(a<1024)return`${a} B`;let b=["KB","MB","GB"],c=a/1024,d=0;for(;c>=1024&&d<b.length-1;)c/=1024,d+=1;return`${c.toFixed(1)} ${b[d]}`}(c.memory.bytes)})]}),(0,n.jsxs)("div",{className:"flex items-center justify-between py-2 last:pb-0",children:[(0,n.jsx)("span",{className:"text-sm text-muted-foreground",children:"Last event"}),(0,n.jsx)("span",{className:"text-xs text-muted-foreground",children:function(a){if(null==a)return"never";let b=new Date(a);return Number.isNaN(b.getTime())?"unknown":b.toLocaleString()}(c.memory.lastEventAt)})]})]}):(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:"No memory store yet — it's created on first scan."})})]}),(0,n.jsx)(fW,{className:"bg-card",children:(0,n.jsx)(f$,{className:"py-4",children:c.mirror.enabled?c.mirror.targetExists?(0,n.jsx)("p",{className:"text-sm text-foreground",children:"Mirror enabled — target found."}):(0,n.jsx)("p",{className:"text-sm text-amber-600",children:"Mirror enabled — target missing."}):(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:"Mirror is off."})})}),c.registry.prunable>0&&(0,n.jsxs)(fW,{className:"bg-card",children:[(0,n.jsx)(fX,{className:"pb-3",children:(0,n.jsx)(fY,{className:"text-base font-medium",children:"Clean up registry"})}),(0,n.jsxs)(f$,{className:"space-y-3",children:[(0,n.jsxs)("p",{className:"text-sm text-muted-foreground",children:["Removes ",c.registry.prunable," entr",1!==c.registry.prunable?"ies":"y"," that are both tmp-rooted and missing on disk. A timestamped backup is written first."]}),i&&(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)(jf,{className:"h-4 w-4 text-destructive"}),(0,n.jsx)("p",{className:"text-sm text-destructive",children:i})]}),l&&(0,n.jsxs)("div",{className:"rounded-lg border border-border p-3",children:[(0,n.jsxs)("p",{className:"text-sm text-foreground",children:["Removed ",l.removedFromRegistry," registry entr",1!==l.removedFromRegistry?"ies":"y"," and"," ",l.removedFromMemory," memory record",1!==l.removedFromMemory?"s":"","."]}),(0,n.jsxs)("p",{className:"mt-1 text-xs text-muted-foreground",children:["Backup written to ",(b=(a=l.backupPath).split(/[\\/]/).filter(Boolean))[b.length-1]||a]})]}),(0,n.jsxs)(kO,{open:j,onOpenChange:k,children:[(0,n.jsxs)(aS,{variant:"outline",size:"sm",onClick:()=>k(!0),disabled:h,children:[h?(0,n.jsx)(fU,{className:"h-4 w-4 animate-spin"}):(0,n.jsx)(kt,{className:"h-4 w-4"}),(0,n.jsx)("span",{className:"ml-2",children:"Clean up prunable entries"})]}),(0,n.jsxs)(kR,{children:[(0,n.jsxs)(kS,{children:[(0,n.jsxs)(kU,{children:["Clean up ",c.registry.prunable," registry entries?"]}),(0,n.jsxs)(kV,{children:["This removes ",c.registry.prunable," entr",1!==c.registry.prunable?"ies":"y"," that are both tmp-rooted and missing on disk, along with any associated orphaned gator-memory records. A timestamped backup is written before anything is removed."]})]}),(0,n.jsxs)(kT,{children:[(0,n.jsx)(kX,{children:"Cancel"}),(0,n.jsx)(kW,{onClick:p,children:"Clean up"})]})]})]})]})]})]})]})}a.s(["default",0,function(){let[a,b]=(0,o.useState)("overview"),[c,d]=(0,o.useState)(null),[e,f]=(0,o.useState)(null),{activeProjectPath:g,setActiveProjectPath:h}=(0,f1.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 (0,fx.apiFetch)("/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(f6,a),window.dispatchEvent(new CustomEvent("navgator-project-changed",{detail:{path:a}}))},[]),k=(0,o.useCallback)(async a=>{try{await (0,fx.apiFetch)("/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 (0,fx.apiFetch)("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"remove",path:a})}),a===c&&(d(null),localStorage.removeItem(f6)),await i()}catch(a){h(a instanceof Error?a.message:"Failed to remove project")}},[i,c]);return(0,o.useEffect)(()=>{let a=localStorage.getItem(f6);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}=f5({autoFetch:!0});return(0,n.jsxs)("div",{className:"flex min-h-screen flex-col bg-background",children:[(0,n.jsx)(fy,{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)(fM,{activeView:a,setActiveView:b}),(0,n.jsxs)("main",{className:"flex-1 overflow-auto p-6",children:["overview"===a&&(0,n.jsx)(gc,{onSelectComponent:a=>{d(a),b("impact")},onNavigate:b,onNavigateToType:a=>{f(a),b("components")}}),"components"===a&&(0,n.jsx)(gh,{initialTypeFilter:e,onSelectComponent:a=>{d(a),f(null),b("impact")}}),"connections"===a&&(0,n.jsx)(gI,{selectedComponent:c,onSelectComponent:d}),"impact"===a&&(0,n.jsx)(gL,{componentName:c,onSelectComponent:d}),"diagram"===a&&(0,n.jsx)(hV,{selectedComponent:c}),"llm"===a&&(0,n.jsx)(jc,{}),"rules"===a&&(0,n.jsx)(ji,{}),"coverage"===a&&(0,n.jsx)(jA,{}),"trace"===a&&(0,n.jsx)(j3,{}),"subgraph"===a&&(0,n.jsx)(j6,{}),"settings"===a&&(0,n.jsx)(ks,{}),"health"===a&&(0,n.jsx)(kY,{})]})]})]})}],60350)}];
|
|
24
|
+
|
|
25
|
+
//# sourceMappingURL=_1cfmrz7._.js.map
|