@leanspec/ui 0.2.8 → 0.2.9
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/.next/standalone/node_modules/.pnpm/@img+sharp-darwin-arm64@0.34.5/node_modules/@img/sharp-darwin-arm64/lib/sharp-darwin-arm64.node +0 -0
- package/.next/standalone/node_modules/.pnpm/{@img+sharp-linux-x64@0.34.5/node_modules/@img/sharp-linux-x64 → @img+sharp-darwin-arm64@0.34.5/node_modules/@img/sharp-darwin-arm64}/package.json +7 -13
- package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64 → @img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64}/README.md +2 -2
- package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64 → @img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64}/lib/glib-2.0/include/glibconfig.h +8 -9
- package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64/lib/libvips-cpp.so.8.17.3 → @img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64/lib/libvips-cpp.8.17.3.dylib} +0 -0
- package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64 → @img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64}/package.json +5 -11
- package/.next/standalone/node_modules/.pnpm/better-sqlite3@11.10.0/node_modules/better-sqlite3/build/Release/better_sqlite3.node +0 -0
- package/.next/standalone/packages/ui/.next/BUILD_ID +1 -1
- package/.next/standalone/packages/ui/.next/app-path-routes-manifest.json +2 -0
- package/.next/standalone/packages/ui/.next/build-manifest.json +4 -4
- package/.next/standalone/packages/ui/.next/prerender-manifest.json +3 -3
- package/.next/standalone/packages/ui/.next/required-server-files.json +4 -4
- package/.next/standalone/packages/ui/.next/routes-manifest.json +12 -0
- package/.next/standalone/packages/ui/.next/server/app/_global-error/page/build-manifest.json +2 -2
- package/.next/standalone/packages/ui/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/_global-error.html +2 -2
- package/.next/standalone/packages/ui/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/packages/ui/.next/server/app/_not-found/page/build-manifest.json +2 -2
- package/.next/standalone/packages/ui/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/_not-found.html +2 -2
- package/.next/standalone/packages/ui/.next/server/app/_not-found.rsc +18 -18
- package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_full.segment.rsc +18 -18
- package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_index.segment.rsc +11 -11
- package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
- package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_tree.segment.rsc +5 -5
- package/.next/standalone/packages/ui/.next/server/app/api/context/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/dependencies/route/app-paths-manifest.json +3 -0
- package/.next/standalone/packages/ui/.next/server/app/api/dependencies/route/build-manifest.json +11 -0
- package/.next/standalone/packages/ui/.next/server/app/api/dependencies/route/server-reference-manifest.json +4 -0
- package/.next/standalone/packages/ui/.next/server/app/api/dependencies/route.js +8 -0
- package/.next/standalone/packages/ui/.next/server/app/api/dependencies/route.js.map +5 -0
- package/.next/standalone/packages/ui/.next/server/app/api/dependencies/route.js.nft.json +1 -0
- package/.next/standalone/packages/ui/.next/server/app/api/dependencies/route_client-reference-manifest.js +2 -0
- package/.next/standalone/packages/ui/.next/server/app/api/local-projects/[id]/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/local-projects/discover/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/local-projects/list-directory/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/local-projects/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/status/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/stats/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/projects/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/revalidate/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/dependency-graph/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/status/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/subspecs/[file]/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/stats/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/context/page/build-manifest.json +2 -2
- package/.next/standalone/packages/ui/.next/server/app/context/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/context/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/dependencies/page/app-paths-manifest.json +3 -0
- package/.next/standalone/packages/ui/.next/server/app/dependencies/page/build-manifest.json +18 -0
- package/.next/standalone/packages/ui/.next/server/app/dependencies/page/next-font-manifest.json +6 -0
- package/.next/standalone/packages/ui/.next/server/app/dependencies/page/react-loadable-manifest.json +1 -0
- package/.next/standalone/packages/ui/.next/server/app/dependencies/page/server-reference-manifest.json +4 -0
- package/.next/standalone/packages/ui/.next/server/app/dependencies/page.js +19 -0
- package/.next/standalone/packages/ui/.next/server/app/dependencies/page.js.map +5 -0
- package/.next/standalone/packages/ui/.next/server/app/dependencies/page.js.nft.json +1 -0
- package/.next/standalone/packages/ui/.next/server/app/dependencies/page_client-reference-manifest.js +2 -0
- package/.next/standalone/packages/ui/.next/server/app/page/build-manifest.json +2 -2
- package/.next/standalone/packages/ui/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page/build-manifest.json +2 -2
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page/build-manifest.json +2 -2
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page/build-manifest.json +2 -2
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects/page/build-manifest.json +2 -2
- package/.next/standalone/packages/ui/.next/server/app/projects/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects.html +2 -2
- package/.next/standalone/packages/ui/.next/server/app/projects.rsc +24 -23
- package/.next/standalone/packages/ui/.next/server/app/projects.segments/_full.segment.rsc +24 -23
- package/.next/standalone/packages/ui/.next/server/app/projects.segments/_index.segment.rsc +9 -9
- package/.next/standalone/packages/ui/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/packages/ui/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/packages/ui/.next/server/app/projects.segments/projects.segment.rsc +1 -1
- package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page/build-manifest.json +2 -2
- package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/specs/page/build-manifest.json +2 -2
- package/.next/standalone/packages/ui/.next/server/app/specs/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/specs/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/stats/page/build-manifest.json +2 -2
- package/.next/standalone/packages/ui/.next/server/app/stats/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/stats/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app-paths-manifest.json +2 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__65667b70._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__803d07f0._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__84cdc14a._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__8a9ab1a3._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__b0969111._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__bdc3963a._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__f5c6d6b8._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/packages_ui__next-internal_server_app_api_dependencies_route_actions_cf6b14c3.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__12b4eb41._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__3c77d95b._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__44b603f9._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/{[root-of-the-server]__daee3355._.js → [root-of-the-server]__8608a6fa._.js} +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/{[root-of-the-server]__fd80e4dd._.js → [root-of-the-server]__a965a67b._.js} +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__daedd80e._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__dc176c61._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_03aa8d19._.js +7 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_28fe1532._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_8cec504f._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/{_22274047._.js → _adb9d7cb._.js} +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_da18b655._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_ea899b87._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_f38e75b7._.js +4 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_fe120f8a._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_015f83ca._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_1120b57c._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_151891de._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_1c916fe3._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_80605a06._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_bb80de48._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_e8075f9b._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_f919ef4a._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app_dependencies_page_actions_57387d47.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_context_context-client_tsx_4ba99a62._.js +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_dependencies_dependencies-client_tsx_0e82443a._.js +4 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_components_spec-detail-wrapper_tsx_fd35401c._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_components_specs-nav-sidebar_tsx_8237ed13._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/middleware-build-manifest.js +2 -2
- package/.next/standalone/packages/ui/.next/server/pages/404.html +2 -2
- package/.next/standalone/packages/ui/.next/server/pages/500.html +2 -2
- package/.next/standalone/packages/ui/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/packages/ui/.next/static/chunks/094cf9f4e3553261.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/1c015eb9eaaf9f9c.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/{f6dd06e6d22d2d12.js → 1d36660b2877d213.js} +3 -3
- package/.next/standalone/packages/ui/.next/static/chunks/46275d9d67603bf5.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/4d29ca0fa6843070.js +2 -0
- package/.next/standalone/packages/ui/.next/static/chunks/59854b15bf046467.js +1 -0
- package/.next/{static/chunks/dae403679aae65f4.js → standalone/packages/ui/.next/static/chunks/5fd8101e32b076b1.js} +1 -1
- package/.next/standalone/packages/ui/.next/static/chunks/6d938a49daa10208.js +2 -0
- package/.next/standalone/packages/ui/.next/static/chunks/979625373d5474b6.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/a33f10af6abef4df.js +10 -0
- package/.next/{static/chunks/794f3931f1ca12d2.js → standalone/packages/ui/.next/static/chunks/a3d7e1be47de010b.js} +1 -1
- package/.next/standalone/packages/ui/.next/static/chunks/a5e25b9fa6b88eee.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/b53250480fde6816.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/b7f19087afe1d2c9.css +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/c658e22a605e0ed1.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/c92660d8d0c4763d.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/ddd87cd0d26bc2f5.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/eeec245955b3b600.js +5 -0
- package/.next/standalone/packages/ui/.next/static/chunks/ff11efb770d5a0bc.js +1 -0
- package/.next/{static/chunks/turbopack-5fa55215af0efb15.js → standalone/packages/ui/.next/static/chunks/turbopack-261c5dcdd873f310.js} +1 -1
- package/.next/standalone/packages/ui/dist/standalone/packages/web/components.json +20 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle/0000_reflective_thena.sql +59 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle/0001_fresh_carmella_unuscione.sql +1 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle/meta/0000_snapshot.json +427 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle/meta/0001_snapshot.json +436 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle/meta/_journal.json +20 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle.config.ts +10 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/eslint.config.mjs +18 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/next.config.ts +7 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/package.json +9 -1
- package/.next/standalone/packages/ui/dist/standalone/packages/web/postcss.config.mjs +8 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/server.js +1 -1
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/projects/[id]/specs/route.ts +23 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/projects/route.ts +19 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/revalidate/route.ts +63 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/specs/[id]/dependency-graph/route.test.ts +51 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/specs/[id]/dependency-graph/route.ts +171 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/specs/[id]/route.ts +36 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/specs/[id]/subspecs/[file]/route.ts +46 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/stats/route.ts +19 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/board/board-client.tsx +162 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/board/loading.tsx +43 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/board/page.tsx +18 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/dashboard-client.tsx +364 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/error.tsx +43 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/globals.css +531 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/home-client.tsx +277 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/layout.tsx +70 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/loading.tsx +87 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/not-found.tsx +27 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/page.tsx +18 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/specs/[id]/loading.tsx +5 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/specs/[id]/page.tsx +43 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/specs/page.tsx +18 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/specs/specs-client.tsx +425 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/stats/page.tsx +18 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/stats/stats-client.tsx +283 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/back-to-top.tsx +46 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/empty-state.tsx +52 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/main-sidebar.tsx +175 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/markdown-link.test.ts +96 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/markdown-link.tsx +95 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/navigation.tsx +210 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/priority-badge.tsx +53 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/quick-search.tsx +180 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/skeletons.tsx +119 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-dependency-graph.tsx +369 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-detail-client.tsx +372 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-detail-loading-shell.tsx +42 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-detail-wrapper.tsx +70 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-metadata.tsx +136 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-sidebar.tsx +127 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-timeline.tsx +186 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/specs-nav-sidebar.tsx +561 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/status-badge.tsx +53 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/sub-spec-tabs.tsx +143 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/table-of-contents.tsx +130 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/theme-provider.tsx +11 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/theme-toggle.tsx +37 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/avatar.tsx +50 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/badge.tsx +36 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/breadcrumb.tsx +110 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/button.tsx +57 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/card.tsx +76 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/command.tsx +153 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/dialog.tsx +122 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/input.tsx +24 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/select.tsx +159 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/separator.tsx +31 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/skeleton.tsx +15 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/tabs.tsx +55 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/toast.tsx +30 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/tooltip.tsx +32 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/date-utils.ts +76 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/index.ts +42 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/migrate.ts +18 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/queries.ts +114 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/schema.ts +123 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/seed.ts +156 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/service-queries.ts +216 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/dependency-graph.ts +105 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/specs/service.ts +120 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/specs/sources/database-source.ts +94 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/specs/sources/filesystem-source.ts +249 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/specs/types.ts +55 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/stores/specs-sidebar-store.ts +152 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/sub-specs.ts +171 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/utils.ts +17 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/types/specs.ts +18 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/tailwind.config.ts +58 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/tsconfig.json +34 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/tsconfig.tsbuildinfo +1 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/vitest.config.ts +14 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/035-live-specs-showcase/README.md +7 -3
- package/.next/standalone/packages/ui/dist/standalone/specs/072-ai-agent-first-use-workflow/README.md +5 -3
- package/.next/standalone/packages/ui/dist/standalone/specs/081-web-app-ux-redesign/README.md +2 -1
- package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/README.md +8 -3
- package/.next/standalone/packages/ui/dist/standalone/specs/087-cli-ui-command/README.md +73 -259
- package/.next/standalone/packages/ui/dist/standalone/specs/088-core-concepts-terminology-only/README.md +5 -3
- package/.next/standalone/packages/ui/dist/standalone/specs/089-sdd-practical-tutorials/README.md +5 -3
- package/.next/standalone/packages/ui/dist/standalone/specs/090-leanspec-sdd-case-studies/README.md +5 -3
- package/.next/standalone/packages/ui/dist/standalone/specs/091-chinese-localization-strategy/README.md +33 -23
- package/.next/standalone/packages/ui/dist/standalone/specs/092-docs-site-submodule-migration/README.md +7 -3
- package/.next/standalone/packages/ui/dist/standalone/specs/093-spec-detail-ui-improvements/README.md +25 -14
- package/.next/standalone/packages/ui/dist/standalone/specs/094-ai-chatbot-web-integration/README.md +332 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/095-pr-migration-verification/README.md +339 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/096-docs-beginner-first-reorg/README.md +399 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/097-dag-visualization-library/README.md +525 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/098-github-multi-project-integration/README.md +387 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/099-enhanced-dependency-commands-cli-mcp/README.md +613 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/100-release-process-typecheck-failure/README.md +266 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/101-sidebar-scroll-position-drift/README.md +100 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/102-mcp-wrapper-package/README.md +172 -0
- package/.next/standalone/packages/ui/package.json +3 -1
- package/.next/standalone/packages/ui/server.js +1 -1
- package/.next/standalone/packages/ui/src/app/api/dependencies/route.ts +81 -0
- package/.next/standalone/packages/ui/src/app/context/context-client.tsx +23 -1
- package/.next/standalone/packages/ui/src/app/dependencies/constants.ts +24 -0
- package/.next/standalone/packages/ui/src/app/dependencies/dependencies-client.tsx +625 -0
- package/.next/standalone/packages/ui/src/app/dependencies/index.ts +19 -0
- package/.next/standalone/packages/ui/src/app/dependencies/page.tsx +38 -0
- package/.next/standalone/packages/ui/src/app/dependencies/spec-node.tsx +80 -0
- package/.next/standalone/packages/ui/src/app/dependencies/spec-sidebar.tsx +198 -0
- package/.next/standalone/packages/ui/src/app/dependencies/types.ts +37 -0
- package/.next/standalone/packages/ui/src/app/dependencies/utils.ts +194 -0
- package/.next/standalone/packages/ui/src/components/context-file-detail.tsx +308 -0
- package/.next/standalone/packages/ui/src/components/context-file-viewer.tsx +96 -2
- package/.next/standalone/packages/ui/src/components/main-sidebar.tsx +10 -1
- package/.next/standalone/packages/ui/tsconfig.tsbuildinfo +1 -1
- package/.next/static/chunks/094cf9f4e3553261.js +1 -0
- package/.next/static/chunks/1c015eb9eaaf9f9c.js +1 -0
- package/.next/static/chunks/{f6dd06e6d22d2d12.js → 1d36660b2877d213.js} +3 -3
- package/.next/static/chunks/46275d9d67603bf5.js +1 -0
- package/.next/static/chunks/4d29ca0fa6843070.js +2 -0
- package/.next/static/chunks/59854b15bf046467.js +1 -0
- package/.next/{standalone/packages/ui/.next/static/chunks/dae403679aae65f4.js → static/chunks/5fd8101e32b076b1.js} +1 -1
- package/.next/static/chunks/6d938a49daa10208.js +2 -0
- package/.next/static/chunks/979625373d5474b6.js +1 -0
- package/.next/static/chunks/a33f10af6abef4df.js +10 -0
- package/.next/{standalone/packages/ui/.next/static/chunks/794f3931f1ca12d2.js → static/chunks/a3d7e1be47de010b.js} +1 -1
- package/.next/static/chunks/a5e25b9fa6b88eee.js +1 -0
- package/.next/static/chunks/b53250480fde6816.js +1 -0
- package/.next/static/chunks/b7f19087afe1d2c9.css +1 -0
- package/.next/static/chunks/c658e22a605e0ed1.js +1 -0
- package/.next/static/chunks/c92660d8d0c4763d.js +1 -0
- package/.next/static/chunks/ddd87cd0d26bc2f5.js +1 -0
- package/.next/static/chunks/eeec245955b3b600.js +5 -0
- package/.next/static/chunks/ff11efb770d5a0bc.js +1 -0
- package/.next/{standalone/packages/ui/.next/static/chunks/turbopack-5fa55215af0efb15.js → static/chunks/turbopack-261c5dcdd873f310.js} +1 -1
- package/package.json +4 -2
- package/.next/standalone/node_modules/.pnpm/@img+sharp-libvips-linuxmusl-x64@1.2.4/node_modules/@img/sharp-libvips-linuxmusl-x64/README.md +0 -46
- package/.next/standalone/node_modules/.pnpm/@img+sharp-libvips-linuxmusl-x64@1.2.4/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/glib-2.0/include/glibconfig.h +0 -221
- package/.next/standalone/node_modules/.pnpm/@img+sharp-libvips-linuxmusl-x64@1.2.4/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/index.js +0 -1
- package/.next/standalone/node_modules/.pnpm/@img+sharp-libvips-linuxmusl-x64@1.2.4/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/libvips-cpp.so.8.17.3 +0 -0
- package/.next/standalone/node_modules/.pnpm/@img+sharp-libvips-linuxmusl-x64@1.2.4/node_modules/@img/sharp-libvips-linuxmusl-x64/package.json +0 -42
- package/.next/standalone/node_modules/.pnpm/@img+sharp-libvips-linuxmusl-x64@1.2.4/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json +0 -30
- package/.next/standalone/node_modules/.pnpm/@img+sharp-linux-x64@0.34.5/node_modules/@img/sharp-linux-x64/lib/sharp-linux-x64.node +0 -0
- package/.next/standalone/node_modules/.pnpm/@img+sharp-linuxmusl-x64@0.34.5/node_modules/@img/sharp-linuxmusl-x64/lib/sharp-linuxmusl-x64.node +0 -0
- package/.next/standalone/node_modules/.pnpm/@img+sharp-linuxmusl-x64@0.34.5/node_modules/@img/sharp-linuxmusl-x64/package.json +0 -46
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__6e739186._.js +0 -7
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__a4c56419._.js +0 -7
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__b6632d78._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_0f9ffe32._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_315f3b3a._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_9dcf102b._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_ac867463._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_b397e94a._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_8272a49c._.js +0 -3
- package/.next/standalone/packages/ui/.next/static/chunks/1eb8283995f370c6.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/336e8e8fc6b0fba8.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/37a1236ed50645a6.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/9d84ba08a41145ec.js +0 -5
- package/.next/standalone/packages/ui/.next/static/chunks/b8353eb8c6fb895e.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/c4b1faff3361a749.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/d7420d2a867e57b5.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/efded9da04c960d8.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/f382932f1a5d6359.js +0 -10
- package/.next/standalone/packages/ui/.next/static/chunks/f43b6e43b4da1a32.css +0 -1
- package/.next/standalone/packages/ui/dist/BUILD_ID +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/0c19c69aa7625475.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/116800b03245a1e5.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/15843a3d7584e314.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/19e80edf527aef5c.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/465954d5af3284a9.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/5abeeb89f1412a80.js +0 -3
- package/.next/standalone/packages/ui/dist/static/chunks/5c2072ad938de8ed.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/6a05a93ec8fa7b83.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/778e42188e450b39.css +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/a02c1f50ff00204f.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/a45464b9776dd88e.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/a6dad97d9634a72d.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/b0ea0ac61604f843.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/c06e85b449720194.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/c557ac675be79771.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/cad005a57ffbb2d3.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/cdf6fe33bc65efbc.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/d12ed5dbe44caed7.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/d1ebe5c1a344f4ca.js +0 -5
- package/.next/standalone/packages/ui/dist/static/chunks/d42cf1682bc46652.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/dde5d8bddd7fbfcf.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/ebd89051637b9a47.js +0 -4
- package/.next/standalone/packages/ui/dist/static/chunks/ec82875d18b29f47.js +0 -2
- package/.next/standalone/packages/ui/dist/static/chunks/f0b701df9769bcc5.js +0 -19
- package/.next/standalone/packages/ui/dist/static/chunks/turbopack-1c09a99f4c9e28d3.js +0 -3
- package/.next/static/-Mn9iD4O5f_khGd1P3kmB/_buildManifest.js +0 -11
- package/.next/static/-Mn9iD4O5f_khGd1P3kmB/_clientMiddlewareManifest.json +0 -1
- package/.next/static/-Mn9iD4O5f_khGd1P3kmB/_ssgManifest.js +0 -1
- package/.next/static/chunks/1eb8283995f370c6.js +0 -1
- package/.next/static/chunks/336e8e8fc6b0fba8.js +0 -1
- package/.next/static/chunks/37a1236ed50645a6.js +0 -1
- package/.next/static/chunks/9d84ba08a41145ec.js +0 -5
- package/.next/static/chunks/b8353eb8c6fb895e.js +0 -1
- package/.next/static/chunks/c4b1faff3361a749.js +0 -1
- package/.next/static/chunks/d7420d2a867e57b5.js +0 -1
- package/.next/static/chunks/efded9da04c960d8.js +0 -1
- package/.next/static/chunks/f382932f1a5d6359.js +0 -10
- package/.next/static/chunks/f43b6e43b4da1a32.css +0 -1
- /package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64 → @img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64}/lib/index.js +0 -0
- /package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64 → @img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64}/versions.json +0 -0
- /package/.next/standalone/packages/ui/.next/static/{-Mn9iD4O5f_khGd1P3kmB → 8PwFWS-09QjFSbDbfp15t}/_buildManifest.js +0 -0
- /package/.next/standalone/packages/ui/.next/static/{-Mn9iD4O5f_khGd1P3kmB → 8PwFWS-09QjFSbDbfp15t}/_clientMiddlewareManifest.json +0 -0
- /package/.next/standalone/packages/ui/.next/static/{-Mn9iD4O5f_khGd1P3kmB → 8PwFWS-09QjFSbDbfp15t}/_ssgManifest.js +0 -0
- /package/.next/standalone/packages/ui/dist/{public → standalone/packages/web/public}/f864aa7e7061c0600e35cf3d879b27cf.txt +0 -0
- /package/.next/standalone/packages/ui/dist/{public → standalone/packages/web/public}/favicon.ico +0 -0
- /package/.next/standalone/packages/ui/dist/{public → standalone/packages/web/public}/file.svg +0 -0
- /package/.next/standalone/packages/ui/dist/{public → standalone/packages/web/public}/github-mark-white.svg +0 -0
- /package/.next/standalone/packages/ui/dist/{public → standalone/packages/web/public}/github-mark.svg +0 -0
- /package/.next/standalone/packages/ui/dist/{public → standalone/packages/web/public}/globe.svg +0 -0
- /package/.next/standalone/packages/ui/dist/{public → standalone/packages/web/public}/icon.svg +0 -0
- /package/.next/standalone/packages/ui/dist/{public → standalone/packages/web/public}/logo-dark-bg.svg +0 -0
- /package/.next/standalone/packages/ui/dist/{public → standalone/packages/web/public}/logo-with-bg.svg +0 -0
- /package/.next/standalone/packages/ui/dist/{public → standalone/packages/web/public}/logo.svg +0 -0
- /package/.next/standalone/packages/ui/dist/{public → standalone/packages/web/public}/next.svg +0 -0
- /package/.next/standalone/packages/ui/dist/{public → standalone/packages/web/public}/vercel.svg +0 -0
- /package/.next/standalone/packages/ui/dist/{public → standalone/packages/web/public}/window.svg +0 -0
- /package/.next/{standalone/packages/ui/dist/static/4ZnYN1WbN4LGJQOwP6FkT → static/8PwFWS-09QjFSbDbfp15t}/_buildManifest.js +0 -0
- /package/.next/{standalone/packages/ui/dist/static/4ZnYN1WbN4LGJQOwP6FkT → static/8PwFWS-09QjFSbDbfp15t}/_clientMiddlewareManifest.json +0 -0
- /package/.next/{standalone/packages/ui/dist/static/4ZnYN1WbN4LGJQOwP6FkT → static/8PwFWS-09QjFSbDbfp15t}/_ssgManifest.js +0 -0
package/.next/standalone/packages/ui/.next/static/chunks/{f6dd06e6d22d2d12.js → 1d36660b2877d213.js}
RENAMED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,6454,(e,t,r)=>{"use strict";function n({widthInt:e,heightInt:t,blurWidth:r,blurHeight:n,blurDataURL:i,objectFit:s}){let a=r?40*r:e,o=n?40*n:t,l=a&&o?`viewBox='0 0 ${a} ${o}'`:"";return`%3Csvg xmlns='http://www.w3.org/2000/svg' ${l}%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='${l?"none":"contain"===s?"xMidYMid":"cover"===s?"xMidYMid slice":"none"}' style='filter: url(%23b);' href='${i}'/%3E%3C/svg%3E`}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImageBlurSvg",{enumerable:!0,get:function(){return n}})},594547,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={VALID_LOADERS:function(){return s},imageConfigDefault:function(){return a}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let s=["default","imgix","cloudinary","akamai","custom"],a={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:14400,formats:["image/webp"],maximumRedirects:3,dangerouslyAllowLocalIP:!1,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:[75],unoptimized:!1}},550696,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImgProps",{enumerable:!0,get:function(){return l}}),e.r(56863);let n=e.r(6454),i=e.r(594547),s=["-moz-initial","fill","none","scale-down",void 0];function a(e){return void 0!==e.default}function o(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function l({src:e,sizes:t,unoptimized:r=!1,priority:l=!1,preload:u=!1,loading:c,className:d,quality:h,width:f,height:p,fill:m=!1,style:g,overrideSrc:v,onLoad:x,onLoadingComplete:b,placeholder:y="empty",blurDataURL:w,fetchPriority:C,decoding:j="async",layout:E,objectFit:A,objectPosition:k,lazyBoundary:S,lazyRoot:_,...N},P){var
|
|
2
|
-
Read more: https://nextjs.org/docs/messages/next-image-missing-loader`),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let e=z;z=t=>{let{config:r,...n}=t;return e(n)}}if(E){"fill"===E&&(m=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[E];e&&(g={...g,...e});let r={responsive:"100vw",fill:"100vw"}[E];r&&!t&&(t=r)}let q="",H=o(f),
|
|
3
|
-
Read more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`),"__NEXT_ERROR_CODE",{value:"E871",enumerable:!1,configurable:!0});let s=(0,n.findClosestQuality)(i,e);return`${e.path}?url=${encodeURIComponent(t)}&w=${r}&q=${s}${t.startsWith("/_next/static/media/"),""}`}i.__next_img_default=!0;let s=i},881988,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"Image",{enumerable:!0,get:function(){return y}});let n=e.r(481258),i=e.r(744066),s=e.r(890022),a=i._(e.r(431231)),o=n._(e.r(395635)),l=n._(e.r(582032)),u=e.r(550696),c=e.r(594547),d=e.r(111258);e.r(56863);let h=e.r(394453),f=n._(e.r(765774)),p=e.r(266500),m={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:!1};function g(e,t,r,n,i,s,a){let o=e?.src;e&&e["data-loaded-src"]!==o&&(e["data-loaded-src"]=o,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&i(!0),r?.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let n=!1,i=!1;r.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>n,isPropagationStopped:()=>i,persist:()=>{},preventDefault:()=>{n=!0,t.preventDefault()},stopPropagation:()=>{i=!0,t.stopPropagation()}})}n?.current&&n.current(e)}}))}function v(e){return a.use?{fetchPriority:e}:{fetchpriority:e}}"undefined"==typeof window&&(globalThis.__NEXT_IMAGE_IMPORTED=!0);let x=(0,a.forwardRef)(({src:e,srcSet:t,sizes:r,height:n,width:i,decoding:o,className:l,style:u,fetchPriority:c,placeholder:d,loading:h,unoptimized:f,fill:m,onLoadRef:x,onLoadingCompleteRef:b,setBlurComplete:y,setShowAltText:w,sizesInput:C,onLoad:j,onError:E,...A},k)=>{let S=(0,a.useCallback)(e=>{e&&(E&&(e.src=e.src),e.complete&&g(e,d,x,b,y,f,C))},[e,d,x,b,y,E,f,C]),_=(0,p.useMergedRef)(k,S);return(0,s.jsx)("img",{...A,...v(c),loading:h,width:i,height:n,decoding:o,"data-nimg":m?"fill":"1",className:l,style:u,sizes:r,srcSet:t,src:e,ref:_,onLoad:e=>{g(e.currentTarget,d,x,b,y,f,C)},onError:e=>{w(!0),"empty"!==d&&y(!0),E&&E(e)}})});function b({isAppRouter:e,imgAttributes:t}){let r={as:"image",imageSrcSet:t.srcSet,imageSizes:t.sizes,crossOrigin:t.crossOrigin,referrerPolicy:t.referrerPolicy,...v(t.fetchPriority)};return e&&o.default.preload?(o.default.preload(t.src,r),null):(0,s.jsx)(l.default,{children:(0,s.jsx)("link",{rel:"preload",href:t.srcSet?void 0:t.src,...r},"__nimg-"+t.src+t.srcSet+t.sizes)})}let y=(0,a.forwardRef)((e,t)=>{let r=(0,a.useContext)(h.RouterContext),n=(0,a.useContext)(d.ImageConfigContext),i=(0,a.useMemo)(()=>{let e=m||n||c.imageConfigDefault,t=[...e.deviceSizes,...e.imageSizes].sort((e,t)=>e-t),r=e.deviceSizes.sort((e,t)=>e-t),i=e.qualities?.sort((e,t)=>e-t);return{...e,allSizes:t,deviceSizes:r,qualities:i,localPatterns:"undefined"==typeof window?n?.localPatterns:e.localPatterns}},[n]),{onLoad:o,onLoadingComplete:l}=e,p=(0,a.useRef)(o);(0,a.useEffect)(()=>{p.current=o},[o]);let g=(0,a.useRef)(l);(0,a.useEffect)(()=>{g.current=l},[l]);let[v,y]=(0,a.useState)(!1),[w,C]=(0,a.useState)(!1),{props:j,meta:E}=(0,u.getImgProps)(e,{defaultLoader:f.default,imgConf:i,blurComplete:v,showAltText:w});return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(x,{...j,unoptimized:E.unoptimized,placeholder:E.placeholder,fill:E.fill,onLoadRef:p,onLoadingCompleteRef:g,setBlurComplete:y,setShowAltText:C,sizesInput:e.sizes,ref:t}),E.preload?(0,s.jsx)(b,{isAppRouter:!r,imgAttributes:j}):null]})});("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},322867,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return c},getImageProps:function(){return u}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let s=e.r(481258),a=e.r(550696),o=e.r(881988),l=s._(e.r(765774));function u(e){let{props:t}=(0,a.getImgProps)(e,{defaultLoader:l.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:!1}});for(let[e,r]of Object.entries(t))void 0===r&&delete t[e];return{props:t}}let c=o.Image},805970,(e,t,r)=>{t.exports=e.r(322867)},694541,e=>{"use strict";var t=e.i(890022),r=e.i(431231),n=/[\\\/_+.#"@\[\(\{&]/,i=/[\\\/_+.#"@\[\(\{&]/g,s=/[\s-]/,a=/[\s-]/g;function o(e){return e.toLowerCase().replace(a," ")}var l=e.i(739065);e.i(395635);var u=e.i(614433),c=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,n)=>{let i=(0,u.createSlot)(`Primitive.${n}`),s=r.forwardRef((e,r)=>{let{asChild:s,...a}=e;return"undefined"!=typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,t.jsx)(s?i:n,{...a,ref:r})});return s.displayName=`Primitive.${n}`,{...e,[n]:s}},{}),d=e.i(315599),h=e.i(430406),f='[cmdk-group=""]',p='[cmdk-group-items=""]',m='[cmdk-item=""]',g=`${m}:not([aria-disabled="true"])`,v="cmdk-item-select",x="data-value",b=(e,t,r)=>{var l;return l=e,function e(t,r,o,l,u,c,d){if(c===r.length)return u===t.length?1:.99;var h=`${u},${c}`;if(void 0!==d[h])return d[h];for(var f,p,m,g,v=l.charAt(c),x=o.indexOf(v,u),b=0;x>=0;)(f=e(t,r,o,l,x+1,c+1,d))>b&&(x===u?f*=1:n.test(t.charAt(x-1))?(f*=.8,(m=t.slice(u,x-1).match(i))&&u>0&&(f*=Math.pow(.999,m.length))):s.test(t.charAt(x-1))?(f*=.9,(g=t.slice(u,x-1).match(a))&&u>0&&(f*=Math.pow(.999,g.length))):(f*=.17,u>0&&(f*=Math.pow(.999,x-u))),t.charAt(x)!==r.charAt(c)&&(f*=.9999)),(f<.1&&o.charAt(x-1)===l.charAt(c+1)||l.charAt(c+1)===l.charAt(c)&&o.charAt(x-1)!==l.charAt(c))&&.1*(p=e(t,r,o,l,x+1,c+2,d))>f&&(f=.1*p),f>b&&(b=f),x=o.indexOf(v,x+1);return d[h]=b,b}(l=r&&r.length>0?`${l+" "+r.join(" ")}`:l,t,o(l),o(t),0,0,{})},y=r.createContext(void 0),w=r.createContext(void 0),C=r.createContext(void 0),j=r.forwardRef((e,t)=>{let n=D(()=>{var t,r;return{search:"",value:null!=(r=null!=(t=e.value)?t:e.defaultValue)?r:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),i=D(()=>new Set),s=D(()=>new Map),a=D(()=>new Map),o=D(()=>new Set),l=R(e),{label:u,children:h,value:C,onValueChange:j,filter:E,shouldFilter:A,loop:k,disablePointerSelection:S=!1,vimBindings:_=!0,...N}=e,P=(0,d.useId)(),M=(0,d.useId)(),I=(0,d.useId)(),L=r.useRef(null),z=B();F(()=>{if(void 0!==C){let e=C.trim();n.current.value=e,T.emit()}},[C]),F(()=>{z(6,K)},[]);let T=r.useMemo(()=>({subscribe:e=>(o.current.add(e),()=>o.current.delete(e)),snapshot:()=>n.current,setState:(e,t,r)=>{var i,s,a,o;if(!Object.is(n.current[e],t)){if(n.current[e]=t,"search"===e)V(),W(),z(1,G);else if("value"===e){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let e=document.getElementById(I);e?e.focus():null==(i=document.getElementById(P))||i.focus()}if(z(7,()=>{var e;n.current.selectedItemId=null==(e=U())?void 0:e.id,T.emit()}),r||z(5,K),(null==(s=l.current)?void 0:s.value)!==void 0){null==(o=(a=l.current).onValueChange)||o.call(a,null!=t?t:"");return}}T.emit()}},emit:()=>{o.current.forEach(e=>e())}}),[]),q=r.useMemo(()=>({value:(e,t,r)=>{var i;t!==(null==(i=a.current.get(e))?void 0:i.value)&&(a.current.set(e,{value:t,keywords:r}),n.current.filtered.items.set(e,H(t,r)),z(2,()=>{W(),T.emit()}))},item:(e,t)=>(i.current.add(e),t&&(s.current.has(t)?s.current.get(t).add(e):s.current.set(t,new Set([e]))),z(3,()=>{V(),W(),n.current.value||G(),T.emit()}),()=>{a.current.delete(e),i.current.delete(e),n.current.filtered.items.delete(e);let t=U();z(4,()=>{V(),(null==t?void 0:t.getAttribute("id"))===e&&G(),T.emit()})}),group:e=>(s.current.has(e)||s.current.set(e,new Set),()=>{a.current.delete(e),s.current.delete(e)}),filter:()=>l.current.shouldFilter,label:u||e["aria-label"],getDisablePointerSelection:()=>l.current.disablePointerSelection,listId:P,inputId:I,labelId:M,listInnerRef:L}),[]);function H(e,t){var r,i;let s=null!=(i=null==(r=l.current)?void 0:r.filter)?i:b;return e?s(e,n.current.search,t):0}function W(){if(!n.current.search||!1===l.current.shouldFilter)return;let e=n.current.filtered.items,t=[];n.current.filtered.groups.forEach(r=>{let n=s.current.get(r),i=0;n.forEach(t=>{i=Math.max(e.get(t),i)}),t.push([r,i])});let r=L.current;J().sort((t,r)=>{var n,i;let s=t.getAttribute("id"),a=r.getAttribute("id");return(null!=(n=e.get(a))?n:0)-(null!=(i=e.get(s))?i:0)}).forEach(e=>{let t=e.closest(p);t?t.appendChild(e.parentElement===t?e:e.closest(`${p} > *`)):r.appendChild(e.parentElement===r?e:e.closest(`${p} > *`))}),t.sort((e,t)=>t[1]-e[1]).forEach(e=>{var t;let r=null==(t=L.current)?void 0:t.querySelector(`${f}[${x}="${encodeURIComponent(e[0])}"]`);null==r||r.parentElement.appendChild(r)})}function G(){let e=J().find(e=>"true"!==e.getAttribute("aria-disabled")),t=null==e?void 0:e.getAttribute(x);T.setState("value",t||void 0)}function V(){var e,t,r,o;if(!n.current.search||!1===l.current.shouldFilter){n.current.filtered.count=i.current.size;return}n.current.filtered.groups=new Set;let u=0;for(let s of i.current){let i=H(null!=(t=null==(e=a.current.get(s))?void 0:e.value)?t:"",null!=(o=null==(r=a.current.get(s))?void 0:r.keywords)?o:[]);n.current.filtered.items.set(s,i),i>0&&u++}for(let[e,t]of s.current)for(let r of t)if(n.current.filtered.items.get(r)>0){n.current.filtered.groups.add(e);break}n.current.filtered.count=u}function K(){var e,t,r;let n=U();n&&((null==(e=n.parentElement)?void 0:e.firstChild)===n&&(null==(r=null==(t=n.closest(f))?void 0:t.querySelector('[cmdk-group-heading=""]'))||r.scrollIntoView({block:"nearest"})),n.scrollIntoView({block:"nearest"}))}function U(){var e;return null==(e=L.current)?void 0:e.querySelector(`${m}[aria-selected="true"]`)}function J(){var e;return Array.from((null==(e=L.current)?void 0:e.querySelectorAll(g))||[])}function X(e){let t=J()[e];t&&T.setState("value",t.getAttribute(x))}function Q(e){var t;let r=U(),n=J(),i=n.findIndex(e=>e===r),s=n[i+e];null!=(t=l.current)&&t.loop&&(s=i+e<0?n[n.length-1]:i+e===n.length?n[0]:n[i+e]),s&&T.setState("value",s.getAttribute(x))}function Y(e){let t=U(),r=null==t?void 0:t.closest(f),n;for(;r&&!n;)n=null==(r=e>0?function(e,t){let r=e.nextElementSibling;for(;r;){if(r.matches(t))return r;r=r.nextElementSibling}}(r,f):function(e,t){let r=e.previousElementSibling;for(;r;){if(r.matches(t))return r;r=r.previousElementSibling}}(r,f))?void 0:r.querySelector(g);n?T.setState("value",n.getAttribute(x)):Q(e)}let Z=()=>X(J().length-1),ee=e=>{e.preventDefault(),e.metaKey?Z():e.altKey?Y(1):Q(1)},et=e=>{e.preventDefault(),e.metaKey?X(0):e.altKey?Y(-1):Q(-1)};return r.createElement(c.div,{ref:t,tabIndex:-1,...N,"cmdk-root":"",onKeyDown:e=>{var t;null==(t=N.onKeyDown)||t.call(N,e);let r=e.nativeEvent.isComposing||229===e.keyCode;if(!(e.defaultPrevented||r))switch(e.key){case"n":case"j":_&&e.ctrlKey&&ee(e);break;case"ArrowDown":ee(e);break;case"p":case"k":_&&e.ctrlKey&&et(e);break;case"ArrowUp":et(e);break;case"Home":e.preventDefault(),X(0);break;case"End":e.preventDefault(),Z();break;case"Enter":{e.preventDefault();let t=U();if(t){let e=new Event(v);t.dispatchEvent(e)}}}}},r.createElement("label",{"cmdk-label":"",htmlFor:q.inputId,id:q.labelId,style:$},u),O(e,e=>r.createElement(w.Provider,{value:T},r.createElement(y.Provider,{value:q},e))))}),E=r.forwardRef((e,t)=>{var n,i;let s=(0,d.useId)(),a=r.useRef(null),o=r.useContext(C),l=r.useContext(y),u=R(e),f=null!=(i=null==(n=u.current)?void 0:n.forceMount)?i:null==o?void 0:o.forceMount;F(()=>{if(!f)return l.item(s,null==o?void 0:o.id)},[f]);let p=I(s,a,[e.value,e.children,a],e.keywords),m=r.useContext(w),g=M(e=>e.value&&e.value===p.current),x=M(e=>!!f||!1===l.filter()||!e.search||e.filtered.items.get(s)>0);function b(){var e,t;j(),null==(t=(e=u.current).onSelect)||t.call(e,p.current)}function j(){m.setState("value",p.current,!0)}if(r.useEffect(()=>{let t=a.current;if(!(!t||e.disabled))return t.addEventListener(v,b),()=>t.removeEventListener(v,b)},[x,e.onSelect,e.disabled]),!x)return null;let{disabled:E,value:A,onSelect:k,forceMount:S,keywords:_,...N}=e;return r.createElement(c.div,{ref:(0,h.composeRefs)(a,t),...N,id:s,"cmdk-item":"",role:"option","aria-disabled":!!E,"aria-selected":!!g,"data-disabled":!!E,"data-selected":!!g,onPointerMove:E||l.getDisablePointerSelection()?void 0:j,onClick:E?void 0:b},e.children)}),A=r.forwardRef((e,t)=>{let{heading:n,children:i,forceMount:s,...a}=e,o=(0,d.useId)(),l=r.useRef(null),u=r.useRef(null),f=(0,d.useId)(),p=r.useContext(y),m=M(e=>!!s||!1===p.filter()||!e.search||e.filtered.groups.has(o));F(()=>p.group(o),[]),I(o,l,[e.value,e.heading,u]);let g=r.useMemo(()=>({id:o,forceMount:s}),[s]);return r.createElement(c.div,{ref:(0,h.composeRefs)(l,t),...a,"cmdk-group":"",role:"presentation",hidden:!m||void 0},n&&r.createElement("div",{ref:u,"cmdk-group-heading":"","aria-hidden":!0,id:f},n),O(e,e=>r.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":n?f:void 0},r.createElement(C.Provider,{value:g},e))))}),k=r.forwardRef((e,t)=>{let{alwaysRender:n,...i}=e,s=r.useRef(null),a=M(e=>!e.search);return n||a?r.createElement(c.div,{ref:(0,h.composeRefs)(s,t),...i,"cmdk-separator":"",role:"separator"}):null}),S=r.forwardRef((e,t)=>{let{onValueChange:n,...i}=e,s=null!=e.value,a=r.useContext(w),o=M(e=>e.search),l=M(e=>e.selectedItemId),u=r.useContext(y);return r.useEffect(()=>{null!=e.value&&a.setState("search",e.value)},[e.value]),r.createElement(c.input,{ref:t,...i,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":u.listId,"aria-labelledby":u.labelId,"aria-activedescendant":l,id:u.inputId,type:"text",value:s?e.value:o,onChange:e=>{s||a.setState("search",e.target.value),null==n||n(e.target.value)}})}),_=r.forwardRef((e,t)=>{let{children:n,label:i="Suggestions",...s}=e,a=r.useRef(null),o=r.useRef(null),l=M(e=>e.selectedItemId),u=r.useContext(y);return r.useEffect(()=>{if(o.current&&a.current){let e=o.current,t=a.current,r,n=new ResizeObserver(()=>{r=requestAnimationFrame(()=>{let r=e.offsetHeight;t.style.setProperty("--cmdk-list-height",r.toFixed(1)+"px")})});return n.observe(e),()=>{cancelAnimationFrame(r),n.unobserve(e)}}},[]),r.createElement(c.div,{ref:(0,h.composeRefs)(a,t),...s,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":l,"aria-label":i,id:u.listId},O(e,e=>r.createElement("div",{ref:(0,h.composeRefs)(o,u.listInnerRef),"cmdk-list-sizer":""},e)))}),N=r.forwardRef((e,t)=>{let{open:n,onOpenChange:i,overlayClassName:s,contentClassName:a,container:o,...u}=e;return r.createElement(l.Root,{open:n,onOpenChange:i},r.createElement(l.Portal,{container:o},r.createElement(l.Overlay,{"cmdk-overlay":"",className:s}),r.createElement(l.Content,{"aria-label":e.label,"cmdk-dialog":"",className:a},r.createElement(j,{ref:t,...u}))))}),P=Object.assign(j,{List:_,Item:E,Input:S,Group:A,Separator:k,Dialog:N,Empty:r.forwardRef((e,t)=>M(e=>0===e.filtered.count)?r.createElement(c.div,{ref:t,...e,"cmdk-empty":"",role:"presentation"}):null),Loading:r.forwardRef((e,t)=>{let{progress:n,children:i,label:s="Loading...",...a}=e;return r.createElement(c.div,{ref:t,...a,"cmdk-loading":"",role:"progressbar","aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":s},O(e,e=>r.createElement("div",{"aria-hidden":!0},e)))})});function R(e){let t=r.useRef(e);return F(()=>{t.current=e}),t}var F="undefined"==typeof window?r.useEffect:r.useLayoutEffect;function D(e){let t=r.useRef();return void 0===t.current&&(t.current=e()),t}function M(e){let t=r.useContext(w),n=()=>e(t.snapshot());return r.useSyncExternalStore(t.subscribe,n,n)}function I(e,t,n,i=[]){let s=r.useRef(),a=r.useContext(y);return F(()=>{var r;let o=(()=>{var e;for(let t of n){if("string"==typeof t)return t.trim();if("object"==typeof t&&"current"in t)return t.current?null==(e=t.current.textContent)?void 0:e.trim():s.current}})(),l=i.map(e=>e.trim());a.value(e,o,l),null==(r=t.current)||r.setAttribute(x,o),s.current=o}),s}var B=()=>{let[e,t]=r.useState(),n=D(()=>new Map);return F(()=>{n.current.forEach(e=>e()),n.current=new Map},[e]),(e,r)=>{n.current.set(e,r),t({})}};function O({asChild:e,children:t},n){let i;return e&&r.isValidElement(t)?r.cloneElement("function"==typeof(i=t.type)?i(t.props):"render"in i?i.render(t.props):t,{ref:t.ref},n(t.props.children)):n(t)}var $={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"},L=e.i(300329),z=e.i(632137),T=e.i(439779);let q=r.forwardRef(({className:e,...r},n)=>(0,t.jsx)(P,{ref:n,className:(0,z.cn)("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",e),...r}));q.displayName=P.displayName;let H=({children:e,...r})=>(0,t.jsx)(T.Dialog,{...r,children:(0,t.jsx)(T.DialogContent,{className:"overflow-hidden p-0 shadow-lg",children:(0,t.jsx)(q,{className:"[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5",children:e})})}),W=r.forwardRef(({className:e,...r},n)=>(0,t.jsxs)("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:[(0,t.jsx)(L.Search,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),(0,t.jsx)(P.Input,{ref:n,className:(0,z.cn)("flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",e),...r})]}));W.displayName=P.Input.displayName;let G=r.forwardRef(({className:e,...r},n)=>(0,t.jsx)(P.List,{ref:n,className:(0,z.cn)("max-h-[300px] overflow-y-auto overflow-x-hidden",e),...r}));G.displayName=P.List.displayName;let V=r.forwardRef((e,r)=>(0,t.jsx)(P.Empty,{ref:r,className:"py-6 text-center text-sm",...e}));V.displayName=P.Empty.displayName;let K=r.forwardRef(({className:e,...r},n)=>(0,t.jsx)(P.Group,{ref:n,className:(0,z.cn)("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",e),...r}));K.displayName=P.Group.displayName;let U=r.forwardRef(({className:e,...r},n)=>(0,t.jsx)(P.Separator,{ref:n,className:(0,z.cn)("-mx-1 h-px bg-border",e),...r}));U.displayName=P.Separator.displayName;let J=r.forwardRef(({className:e,...r},n)=>(0,t.jsx)(P.Item,{ref:n,className:(0,z.cn)("relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",e),...r}));J.displayName=P.Item.displayName,e.s(["Command",()=>q,"CommandDialog",()=>H,"CommandEmpty",()=>V,"CommandGroup",()=>K,"CommandInput",()=>W,"CommandItem",()=>J,"CommandList",()=>G,"CommandSeparator",()=>U],694541)},426160,e=>{"use strict";var t=e.i(890022),r=e.i(987985),n=e.i(805970),i=e.i(230827),s=e.i(525761),a=e.i(122436);let o=(0,a.default)("menu",[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]]);var l=e.i(954049),u=e.i(431231);let c=(0,a.default)("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]),d=(0,a.default)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);var h=e.i(81795),f=e.i(235893);function p(){let{theme:e,setTheme:r}=(0,h.useTheme)(),[n,i]=u.useState(!1);return(u.useEffect(()=>{i(!0)},[]),n)?(0,t.jsxs)(f.Button,{variant:"ghost",size:"icon",onClick:()=>r("light"===e?"dark":"light"),"aria-label":"Toggle theme",children:[(0,t.jsx)(d,{className:"h-5 w-5 rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0"}),(0,t.jsx)(c,{className:"absolute h-5 w-5 rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100"})]}):(0,t.jsx)(f.Button,{variant:"ghost",size:"icon",disabled:!0,"aria-label":"Toggle theme",children:(0,t.jsx)(d,{className:"h-5 w-5"})})}var m=e.i(20315),g=e.i(300329),v=e.i(40843);let x=(0,a.default)("tag",[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]]);function b(e){return Array.isArray?Array.isArray(e):"[object Array]"===k(e)}let y=1/0;function w(e){return"string"==typeof e}function C(e){return"number"==typeof e}function j(e){return"object"==typeof e}function E(e){return null!=e}function A(e){return!e.trim().length}function k(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}let S=Object.prototype.hasOwnProperty;class _{constructor(e){this._keys=[],this._keyMap={};let t=0;e.forEach(e=>{let r=N(e);this._keys.push(r),this._keyMap[r.id]=r,t+=r.weight}),this._keys.forEach(e=>{e.weight/=t})}get(e){return this._keyMap[e]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function N(e){let t=null,r=null,n=null,i=1,s=null;if(w(e)||b(e))n=e,t=P(e),r=R(e);else{if(!S.call(e,"name"))throw Error("Missing name property in key");let a=e.name;if(n=a,S.call(e,"weight")&&(i=e.weight)<=0)throw Error(`Property 'weight' in key '${a}' must be a positive integer`);t=P(a),r=R(a),s=e.getFn}return{path:t,id:r,weight:i,src:n,getFn:s}}function P(e){return b(e)?e:e.split(".")}function R(e){return b(e)?e.join("."):e}var F={isCaseSensitive:!1,ignoreDiacritics:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(e,t)=>e.score===t.score?e.idx<t.idx?-1:1:e.score<t.score?-1:1,includeMatches:!1,findAllMatches:!1,minMatchCharLength:1,location:0,threshold:.6,distance:100,useExtendedSearch:!1,getFn:function(e,t){let r=[],n=!1,i=(e,t,s)=>{if(E(e))if(t[s]){var a,o;let l=e[t[s]];if(!E(l))return;if(s===t.length-1&&(w(l)||C(l)||!0===(a=l)||!1===a||j(o=a)&&null!==o&&"[object Boolean]"==k(a)))r.push(null==l?"":function(e){if("string"==typeof e)return e;let t=e+"";return"0"==t&&1/e==-y?"-0":t}(l));else if(b(l)){n=!0;for(let e=0,r=l.length;e<r;e+=1)i(l[e],t,s+1)}else t.length&&i(l,t,s+1)}else r.push(e)};return i(e,w(t)?t.split("."):t,0),n?r:r[0]},ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1};let D=/[^ ]+/g;class M{constructor({getFn:e=F.getFn,fieldNormWeight:t=F.fieldNormWeight}={}){this.norm=function(e=1,t=3){let r=new Map,n=Math.pow(10,t);return{get(t){let i=t.match(D).length;if(r.has(i))return r.get(i);let s=parseFloat(Math.round(1/Math.pow(i,.5*e)*n)/n);return r.set(i,s),s},clear(){r.clear()}}}(t,3),this.getFn=e,this.isCreated=!1,this.setIndexRecords()}setSources(e=[]){this.docs=e}setIndexRecords(e=[]){this.records=e}setKeys(e=[]){this.keys=e,this._keysMap={},e.forEach((e,t)=>{this._keysMap[e.id]=t})}create(){!this.isCreated&&this.docs.length&&(this.isCreated=!0,w(this.docs[0])?this.docs.forEach((e,t)=>{this._addString(e,t)}):this.docs.forEach((e,t)=>{this._addObject(e,t)}),this.norm.clear())}add(e){let t=this.size();w(e)?this._addString(e,t):this._addObject(e,t)}removeAt(e){this.records.splice(e,1);for(let t=e,r=this.size();t<r;t+=1)this.records[t].i-=1}getValueForItemAtKeyId(e,t){return e[this._keysMap[t]]}size(){return this.records.length}_addString(e,t){if(!E(e)||A(e))return;let r={v:e,i:t,n:this.norm.get(e)};this.records.push(r)}_addObject(e,t){let r={i:t,$:{}};this.keys.forEach((t,n)=>{let i=t.getFn?t.getFn(e):this.getFn(e,t.path);if(E(i)){if(b(i)){let e=[],t=[{nestedArrIndex:-1,value:i}];for(;t.length;){let{nestedArrIndex:r,value:n}=t.pop();if(E(n))if(w(n)&&!A(n)){let t={v:n,i:r,n:this.norm.get(n)};e.push(t)}else b(n)&&n.forEach((e,r)=>{t.push({nestedArrIndex:r,value:e})})}r.$[n]=e}else if(w(i)&&!A(i)){let e={v:i,n:this.norm.get(i)};r.$[n]=e}}}),this.records.push(r)}toJSON(){return{keys:this.keys,records:this.records}}}function I(e,t,{getFn:r=F.getFn,fieldNormWeight:n=F.fieldNormWeight}={}){let i=new M({getFn:r,fieldNormWeight:n});return i.setKeys(e.map(N)),i.setSources(t),i.create(),i}function B(e,{errors:t=0,currentLocation:r=0,expectedLocation:n=0,distance:i=F.distance,ignoreLocation:s=F.ignoreLocation}={}){let a=t/e.length;if(s)return a;let o=Math.abs(n-r);return i?a+o/i:o?1:a}let O=String.prototype.normalize?e=>e.normalize("NFD").replace(/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/g,""):e=>e;class ${constructor(e,{location:t=F.location,threshold:r=F.threshold,distance:n=F.distance,includeMatches:i=F.includeMatches,findAllMatches:s=F.findAllMatches,minMatchCharLength:a=F.minMatchCharLength,isCaseSensitive:o=F.isCaseSensitive,ignoreDiacritics:l=F.ignoreDiacritics,ignoreLocation:u=F.ignoreLocation}={}){if(this.options={location:t,threshold:r,distance:n,includeMatches:i,findAllMatches:s,minMatchCharLength:a,isCaseSensitive:o,ignoreDiacritics:l,ignoreLocation:u},e=o?e:e.toLowerCase(),e=l?O(e):e,this.pattern=e,this.chunks=[],!this.pattern.length)return;const c=(e,t)=>{this.chunks.push({pattern:e,alphabet:function(e){let t={};for(let r=0,n=e.length;r<n;r+=1){let i=e.charAt(r);t[i]=(t[i]||0)|1<<n-r-1}return t}(e),startIndex:t})},d=this.pattern.length;if(d>32){let e=0;const t=d%32,r=d-t;for(;e<r;)c(this.pattern.substr(e,32),e),e+=32;if(t){const e=d-32;c(this.pattern.substr(e),e)}}else c(this.pattern,0)}searchIn(e){let{isCaseSensitive:t,ignoreDiacritics:r,includeMatches:n}=this.options;if(e=t?e:e.toLowerCase(),e=r?O(e):e,this.pattern===e){let t={isMatch:!0,score:0};return n&&(t.indices=[[0,e.length-1]]),t}let{location:i,distance:s,threshold:a,findAllMatches:o,minMatchCharLength:l,ignoreLocation:u}=this.options,c=[],d=0,h=!1;this.chunks.forEach(({pattern:t,alphabet:r,startIndex:f})=>{let{isMatch:p,score:m,indices:g}=function(e,t,r,{location:n=F.location,distance:i=F.distance,threshold:s=F.threshold,findAllMatches:a=F.findAllMatches,minMatchCharLength:o=F.minMatchCharLength,includeMatches:l=F.includeMatches,ignoreLocation:u=F.ignoreLocation}={}){let c;if(t.length>32)throw Error("Pattern length exceeds max of 32.");let d=t.length,h=e.length,f=Math.max(0,Math.min(n,h)),p=s,m=f,g=o>1||l,v=g?Array(h):[];for(;(c=e.indexOf(t,m))>-1;)if(p=Math.min(B(t,{currentLocation:c,expectedLocation:f,distance:i,ignoreLocation:u}),p),m=c+d,g){let e=0;for(;e<d;)v[c+e]=1,e+=1}m=-1;let x=[],b=1,y=d+h,w=1<<d-1;for(let n=0;n<d;n+=1){let s=0,o=y;for(;s<o;)B(t,{errors:n,currentLocation:f+o,expectedLocation:f,distance:i,ignoreLocation:u})<=p?s=o:y=o,o=Math.floor((y-s)/2+s);y=o;let l=Math.max(1,f-o+1),c=a?h:Math.min(f+o,h)+d,C=Array(c+2);C[c+1]=(1<<n)-1;for(let s=c;s>=l;s-=1){let a=s-1,o=r[e.charAt(a)];if(g&&(v[a]=+!!o),C[s]=(C[s+1]<<1|1)&o,n&&(C[s]|=(x[s+1]|x[s])<<1|1|x[s+1]),C[s]&w&&(b=B(t,{errors:n,currentLocation:a,expectedLocation:f,distance:i,ignoreLocation:u}))<=p){if(p=b,(m=a)<=f)break;l=Math.max(1,2*f-m)}}if(B(t,{errors:n+1,currentLocation:f,expectedLocation:f,distance:i,ignoreLocation:u})>p)break;x=C}let C={isMatch:m>=0,score:Math.max(.001,b)};if(g){let e=function(e=[],t=F.minMatchCharLength){let r=[],n=-1,i=-1,s=0;for(let a=e.length;s<a;s+=1){let a=e[s];a&&-1===n?n=s:a||-1===n||((i=s-1)-n+1>=t&&r.push([n,i]),n=-1)}return e[s-1]&&s-n>=t&&r.push([n,s-1]),r}(v,o);e.length?l&&(C.indices=e):C.isMatch=!1}return C}(e,t,r,{location:i+f,distance:s,threshold:a,findAllMatches:o,minMatchCharLength:l,includeMatches:n,ignoreLocation:u});p&&(h=!0),d+=m,p&&g&&(c=[...c,...g])});let f={isMatch:h,score:h?d/this.chunks.length:1};return h&&n&&(f.indices=c),f}}class L{constructor(e){this.pattern=e}static isMultiMatch(e){return z(e,this.multiRegex)}static isSingleMatch(e){return z(e,this.singleRegex)}search(){}}function z(e,t){let r=e.match(t);return r?r[1]:null}class T extends L{constructor(e,{location:t=F.location,threshold:r=F.threshold,distance:n=F.distance,includeMatches:i=F.includeMatches,findAllMatches:s=F.findAllMatches,minMatchCharLength:a=F.minMatchCharLength,isCaseSensitive:o=F.isCaseSensitive,ignoreDiacritics:l=F.ignoreDiacritics,ignoreLocation:u=F.ignoreLocation}={}){super(e),this._bitapSearch=new $(e,{location:t,threshold:r,distance:n,includeMatches:i,findAllMatches:s,minMatchCharLength:a,isCaseSensitive:o,ignoreDiacritics:l,ignoreLocation:u})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(e){return this._bitapSearch.searchIn(e)}}class q extends L{constructor(e){super(e)}static get type(){return"include"}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(e){let t,r=0,n=[],i=this.pattern.length;for(;(t=e.indexOf(this.pattern,r))>-1;)r=t+i,n.push([t,r-1]);let s=!!n.length;return{isMatch:s,score:+!s,indices:n}}}let H=[class extends L{constructor(e){super(e)}static get type(){return"exact"}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(e){let t=e===this.pattern;return{isMatch:t,score:+!t,indices:[0,this.pattern.length-1]}}},q,class extends L{constructor(e){super(e)}static get type(){return"prefix-exact"}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(e){let t=e.startsWith(this.pattern);return{isMatch:t,score:+!t,indices:[0,this.pattern.length-1]}}},class extends L{constructor(e){super(e)}static get type(){return"inverse-prefix-exact"}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(e){let t=!e.startsWith(this.pattern);return{isMatch:t,score:+!t,indices:[0,e.length-1]}}},class extends L{constructor(e){super(e)}static get type(){return"inverse-suffix-exact"}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(e){let t=!e.endsWith(this.pattern);return{isMatch:t,score:+!t,indices:[0,e.length-1]}}},class extends L{constructor(e){super(e)}static get type(){return"suffix-exact"}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(e){let t=e.endsWith(this.pattern);return{isMatch:t,score:+!t,indices:[e.length-this.pattern.length,e.length-1]}}},class extends L{constructor(e){super(e)}static get type(){return"inverse-exact"}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(e){let t=-1===e.indexOf(this.pattern);return{isMatch:t,score:+!t,indices:[0,e.length-1]}}},T],W=H.length,G=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,V=new Set([T.type,q.type]),K=[];function U(e,t){for(let r=0,n=K.length;r<n;r+=1){let n=K[r];if(n.condition(e,t))return new n(e,t)}return new $(e,t)}let J="$and",X="$path",Q=e=>!!(e[J]||e.$or),Y=e=>({[J]:Object.keys(e).map(t=>({[t]:e[t]}))});function Z(e,t,{auto:r=!0}={}){let n=e=>{let i=Object.keys(e),s=!!e[X];if(!s&&i.length>1&&!Q(e))return n(Y(e));if(!b(e)&&j(e)&&!Q(e)){let n=s?e[X]:i[0],a=s?e.$val:e[n];if(!w(a))throw Error(`Invalid value for key ${n}`);let o={keyId:R(n),pattern:a};return r&&(o.searcher=U(a,t)),o}let a={children:[],operator:i[0]};return i.forEach(t=>{let r=e[t];b(r)&&r.forEach(e=>{a.children.push(n(e))})}),a};return Q(e)||(e=Y(e)),n(e)}function ee(e,t){let r=e.matches;t.matches=[],E(r)&&r.forEach(e=>{if(!E(e.indices)||!e.indices.length)return;let{indices:r,value:n}=e,i={indices:r,value:n};e.key&&(i.key=e.key.src),e.idx>-1&&(i.refIndex=e.idx),t.matches.push(i)})}function et(e,t){t.score=e.score}class er{constructor(e,t={},r){this.options={...F,...t},this.options.useExtendedSearch,this._keyStore=new _(this.options.keys),this.setCollection(e,r)}setCollection(e,t){if(this._docs=e,t&&!(t instanceof M))throw Error("Incorrect 'index' type");this._myIndex=t||I(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}add(e){E(e)&&(this._docs.push(e),this._myIndex.add(e))}remove(e=()=>!1){let t=[];for(let r=0,n=this._docs.length;r<n;r+=1){let i=this._docs[r];e(i,r)&&(this.removeAt(r),r-=1,n-=1,t.push(i))}return t}removeAt(e){this._docs.splice(e,1),this._myIndex.removeAt(e)}getIndex(){return this._myIndex}search(e,{limit:t=-1}={}){let{includeMatches:r,includeScore:n,shouldSort:i,sortFn:s,ignoreFieldNorm:a}=this.options,o=w(e)?w(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e);return!function(e,{ignoreFieldNorm:t=F.ignoreFieldNorm}){e.forEach(e=>{let r=1;e.matches.forEach(({key:e,norm:n,score:i})=>{let s=e?e.weight:null;r*=Math.pow(0===i&&s?Number.EPSILON:i,(s||1)*(t?1:n))}),e.score=r})}(o,{ignoreFieldNorm:a}),i&&o.sort(s),C(t)&&t>-1&&(o=o.slice(0,t)),function(e,t,{includeMatches:r=F.includeMatches,includeScore:n=F.includeScore}={}){let i=[];return r&&i.push(ee),n&&i.push(et),e.map(e=>{let{idx:r}=e,n={item:t[r],refIndex:r};return i.length&&i.forEach(t=>{t(e,n)}),n})}(o,this._docs,{includeMatches:r,includeScore:n})}_searchStringList(e){let t=U(e,this.options),{records:r}=this._myIndex,n=[];return r.forEach(({v:e,i:r,n:i})=>{if(!E(e))return;let{isMatch:s,score:a,indices:o}=t.searchIn(e);s&&n.push({item:e,idx:r,matches:[{score:a,value:e,norm:i,indices:o}]})}),n}_searchLogical(e){let t=Z(e,this.options),r=(e,t,n)=>{if(!e.children){let{keyId:r,searcher:i}=e,s=this._findMatches({key:this._keyStore.get(r),value:this._myIndex.getValueForItemAtKeyId(t,r),searcher:i});return s&&s.length?[{idx:n,item:t,matches:s}]:[]}let i=[];for(let s=0,a=e.children.length;s<a;s+=1){let a=r(e.children[s],t,n);if(a.length)i.push(...a);else if(e.operator===J)return[]}return i},n=this._myIndex.records,i={},s=[];return n.forEach(({$:e,i:n})=>{if(E(e)){let a=r(t,e,n);a.length&&(i[n]||(i[n]={idx:n,item:e,matches:[]},s.push(i[n])),a.forEach(({matches:e})=>{i[n].matches.push(...e)}))}}),s}_searchObjectList(e){let t=U(e,this.options),{keys:r,records:n}=this._myIndex,i=[];return n.forEach(({$:e,i:n})=>{if(!E(e))return;let s=[];r.forEach((r,n)=>{s.push(...this._findMatches({key:r,value:e[n],searcher:t}))}),s.length&&i.push({idx:n,item:e,matches:s})}),i}_findMatches({key:e,value:t,searcher:r}){if(!E(t))return[];let n=[];if(b(t))t.forEach(({v:t,i:i,n:s})=>{if(!E(t))return;let{isMatch:a,score:o,indices:l}=r.searchIn(t);a&&n.push({score:o,key:e,value:t,idx:i,norm:s,indices:l})});else{let{v:i,n:s}=t,{isMatch:a,score:o,indices:l}=r.searchIn(i);a&&n.push({score:o,key:e,value:i,norm:s,indices:l})}return n}}er.version="7.1.0",er.createIndex=I,er.parseIndex=function(e,{getFn:t=F.getFn,fieldNormWeight:r=F.fieldNormWeight}={}){let{keys:n,records:i}=e,s=new M({getFn:t,fieldNormWeight:r});return s.setKeys(n),s.setIndexRecords(i),s},er.config=F,er.parseQuery=Z,function(...e){K.push(...e)}(class{constructor(e,{isCaseSensitive:t=F.isCaseSensitive,ignoreDiacritics:r=F.ignoreDiacritics,includeMatches:n=F.includeMatches,minMatchCharLength:i=F.minMatchCharLength,ignoreLocation:s=F.ignoreLocation,findAllMatches:a=F.findAllMatches,location:o=F.location,threshold:l=F.threshold,distance:u=F.distance}={}){this.query=null,this.options={isCaseSensitive:t,ignoreDiacritics:r,includeMatches:n,minMatchCharLength:i,findAllMatches:a,ignoreLocation:s,location:o,threshold:l,distance:u},e=t?e:e.toLowerCase(),e=r?O(e):e,this.pattern=e,this.query=function(e,t={}){return e.split("|").map(e=>{let r=e.trim().split(G).filter(e=>e&&!!e.trim()),n=[];for(let e=0,i=r.length;e<i;e+=1){let i=r[e],s=!1,a=-1;for(;!s&&++a<W;){let e=H[a],r=e.isMultiMatch(i);r&&(n.push(new e(r,t)),s=!0)}if(!s)for(a=-1;++a<W;){let e=H[a],r=e.isSingleMatch(i);if(r){n.push(new e(r,t));break}}}return n})}(this.pattern,this.options)}static condition(e,t){return t.useExtendedSearch}searchIn(e){let t=this.query;if(!t)return{isMatch:!1,score:1};let{includeMatches:r,isCaseSensitive:n,ignoreDiacritics:i}=this.options;e=n?e:e.toLowerCase(),e=i?O(e):e;let s=0,a=[],o=0;for(let n=0,i=t.length;n<i;n+=1){let i=t[n];a.length=0,s=0;for(let t=0,n=i.length;t<n;t+=1){let n=i[t],{isMatch:l,indices:u,score:c}=n.search(e);if(l){if(s+=1,o+=c,r){let e=n.constructor.type;V.has(e)?a=[...a,...u]:a.push(u)}}else{o=0,s=0,a.length=0;break}}if(s){let e={isMatch:!0,score:o/s};return r&&(e.indices=a),e}}return{isMatch:!1,score:1}}});var en=e.i(694541),ei=e.i(168497),es=e.i(597705);function ea({specs:e}){let r=(0,i.useRouter)(),[n,s]=u.useState(!1),[a,o]=u.useState(""),[l,c]=u.useState([]);u.useEffect(()=>{let e=localStorage.getItem("leanspec-recent-searches");e&&c(JSON.parse(e))},[]),u.useEffect(()=>{let e=e=>{"k"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),s(e=>!e))};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[]);let d=u.useMemo(()=>new er(e,{keys:[{name:"title",weight:2},{name:"specNumber",weight:1.5},{name:"tags",weight:.5}],threshold:.4,includeScore:!0,minMatchCharLength:2}),[e]),h=u.useMemo(()=>a?d.search(a).map(e=>e.item):e.slice(0,8),[a,d,e]);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("button",{onClick:()=>s(!0),className:"inline-flex items-center gap-2 px-2 sm:px-3 py-2 text-sm text-muted-foreground hover:text-foreground transition-colors border rounded-md hover:border-foreground/20",children:[(0,t.jsx)(g.Search,{className:"h-4 w-4"}),(0,t.jsx)("span",{className:"hidden sm:inline",children:"Quick search..."}),(0,t.jsxs)("kbd",{className:"hidden md:inline-flex pointer-events-none h-5 select-none items-center gap-1 rounded border bg-muted px-1.5 font-mono text-[10px] font-medium opacity-100",children:[(0,t.jsx)("span",{className:"text-xs",children:"⌘"}),"K"]})]}),(0,t.jsxs)(en.CommandDialog,{open:n,onOpenChange:s,children:[(0,t.jsx)(en.CommandInput,{placeholder:"Search specs by title, number, or tags...",value:a,onValueChange:o}),(0,t.jsxs)(en.CommandList,{children:[(0,t.jsx)(en.CommandEmpty,{children:"No specs found."}),!a&&l.length>0&&(0,t.jsx)(en.CommandGroup,{heading:"Recent Searches",children:l.map(e=>(0,t.jsxs)(en.CommandItem,{value:e,onSelect:()=>{o(e)},children:[(0,t.jsx)(v.Clock,{className:"mr-2 h-4 w-4"}),e]},e))}),(0,t.jsx)(en.CommandGroup,{heading:"Specs",children:h.map(e=>(0,t.jsxs)(en.CommandItem,{value:`${e.specNumber} ${e.title}`,onSelect:()=>{var t,n;let i;return t=e.id,void(c(i=[n=e.title,...l.filter(e=>e!==n)].slice(0,5)),localStorage.setItem("leanspec-recent-searches",JSON.stringify(i)),r.push(`/specs/${t}`),s(!1),o(""))},children:[(0,t.jsx)(m.FileText,{className:"mr-2 h-4 w-4"}),(0,t.jsxs)("div",{className:"flex-1 flex items-center justify-between gap-2",children:[(0,t.jsx)("div",{className:"flex-1 min-w-0",children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsxs)("span",{className:"font-medium",children:["#",e.specNumber]}),(0,t.jsx)("span",{className:"truncate",children:e.title})]})}),(0,t.jsxs)("div",{className:"flex items-center gap-1 shrink-0",children:[(0,t.jsx)(ei.StatusBadge,{status:e.status}),(0,t.jsx)(es.PriorityBadge,{priority:e.priority})]})]})]},e.id))}),a&&(0,t.jsx)(en.CommandGroup,{heading:"Filter by Tag",children:Array.from(new Set(e.flatMap(e=>e.tags))).filter(e=>e.toLowerCase().includes(a.toLowerCase())).slice(0,5).map(e=>(0,t.jsxs)(en.CommandItem,{value:e,onSelect:()=>{r.push(`/?tag=${encodeURIComponent(e)}`),s(!1)},children:[(0,t.jsx)(x,{className:"mr-2 h-4 w-4"}),"Filter by: ",(0,t.jsx)("span",{className:"ml-1 font-medium",children:e})]},e))})]})]})]})}var eo=e.i(308402);function el({items:e}){return(0,t.jsx)("nav",{className:"flex items-center gap-1 text-sm text-muted-foreground",children:e.map((e,n)=>(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[n>0&&(0,t.jsx)(s.ChevronRight,{className:"h-4 w-4"}),e.href?(0,t.jsx)(r.default,{href:e.href,className:"hover:text-foreground transition-colors",children:e.label}):(0,t.jsx)("span",{className:"text-foreground",children:e.label})]},n))})}function eu({specs:e}){let s=function(e){if("/"===e)return[{label:"Home"}];if("/stats"===e)return[{label:"Home",href:"/"},{label:"Stats"}];if("/specs"===e||e.startsWith("/specs?")){let t=new URLSearchParams(e.split("?")[1]||"").get("view");return[{label:"Home",href:"/"},{label:`Specs (${"board"===t?"Board View":"List View"})`}]}return e.startsWith("/specs/")?[{label:"Home",href:"/"},{label:"Specs",href:"/specs"},{label:e.split("/")[2]}]:"/board"===e?[{label:"Home",href:"/"},{label:"Board"}]:[{label:"Home",href:"/"}]}((0,i.usePathname)());return(0,t.jsx)("header",{className:"sticky top-0 z-50 w-full h-14 border-b border-border bg-background",children:(0,t.jsxs)("div",{className:"flex items-center justify-between h-full px-2 sm:px-4",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 sm:gap-4 min-w-0 flex-1",children:[(0,t.jsxs)(f.Button,{variant:"ghost",size:"icon",onClick:()=>{window.toggleMainSidebar&&window.toggleMainSidebar()},className:"lg:hidden h-9 w-9 shrink-0",children:[(0,t.jsx)(o,{className:"h-5 w-5"}),(0,t.jsx)("span",{className:"sr-only",children:"Toggle menu"})]}),(0,t.jsxs)(r.default,{href:"/",className:"flex items-center space-x-2 shrink-0",children:[(0,t.jsx)(n.default,{src:"/logo-with-bg.svg",alt:"LeanSpec",width:32,height:32,className:"h-7 w-7 sm:h-8 sm:w-8 dark:hidden"}),(0,t.jsx)(n.default,{src:"/logo-dark-bg.svg",alt:"LeanSpec",width:32,height:32,className:"h-7 w-7 sm:h-8 sm:w-8 hidden dark:block"}),(0,t.jsx)("span",{className:"font-bold text-lg sm:text-xl hidden sm:inline",children:"LeanSpec"})]}),(0,t.jsx)("div",{className:"hidden md:block min-w-0",children:(0,t.jsx)(el,{items:s})})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1 sm:gap-2 shrink-0",children:[(0,t.jsx)(ea,{specs:e}),(0,t.jsxs)(eo.TooltipProvider,{children:[(0,t.jsxs)(eo.Tooltip,{children:[(0,t.jsx)(eo.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("div",{children:(0,t.jsx)(p,{})})}),(0,t.jsx)(eo.TooltipContent,{children:(0,t.jsx)("p",{children:"Toggle theme"})})]}),(0,t.jsxs)(eo.Tooltip,{children:[(0,t.jsx)(eo.TooltipTrigger,{asChild:!0,children:(0,t.jsx)(f.Button,{variant:"ghost",size:"icon",asChild:!0,className:"h-9 w-9 sm:h-10 sm:w-10",children:(0,t.jsx)("a",{href:"https://www.lean-spec.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"Documentation",children:(0,t.jsx)(l.BookOpen,{className:"h-5 w-5"})})})}),(0,t.jsx)(eo.TooltipContent,{children:(0,t.jsx)("p",{children:"Documentation"})})]}),(0,t.jsxs)(eo.Tooltip,{children:[(0,t.jsx)(eo.TooltipTrigger,{asChild:!0,children:(0,t.jsx)(f.Button,{variant:"ghost",size:"icon",asChild:!0,className:"h-9 w-9 sm:h-10 sm:w-10",children:(0,t.jsxs)("a",{href:"https://github.com/codervisor/lean-spec",target:"_blank",rel:"noopener noreferrer","aria-label":"GitHub repository",children:[(0,t.jsx)(n.default,{src:"/github-mark-white.svg",alt:"GitHub",width:20,height:20,className:"hidden dark:block"}),(0,t.jsx)(n.default,{src:"/github-mark.svg",alt:"GitHub",width:20,height:20,className:"dark:hidden"})]})})}),(0,t.jsx)(eo.TooltipContent,{children:(0,t.jsx)("p",{children:"GitHub repository"})})]})]})]})]})})}e.s(["Navigation",()=>eu],426160)},742634,e=>{"use strict";var t=e.i(890022),r=e.i(987985),n=e.i(230827),i=e.i(497332),s=e.i(20315),a=e.i(122436);let o=(0,a.default)("chart-column",[["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"}]]);var l=e.i(954049),u=e.i(158362),c=e.i(525761),d=e.i(644021),h=e.i(431231),f=e.i(686266);let p=(0,a.default)("chevrons-up-down",[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]]);var m=e.i(963781),g=e.i(723882),v=e.i(828964),x=e.i(632137),b=e.i(235893),y=e.i(694541),w=e.i(291967),C=e.i(430406),j=e.i(79014),E=e.i(255235),A=e.i(254440),k=e.i(31007),S=e.i(315599),_=e.i(306839),N=e.i(214260),P=e.i(111052),R=e.i(122925),F=e.i(665489),D=e.i(393136),M=e.i(73772),I=e.i(97496),B="Popover",[O,$]=(0,j.createContextScope)(B,[_.createPopperScope]),L=(0,_.createPopperScope)(),[z,T]=O(B),q=e=>{let{__scopePopover:r,children:n,open:i,defaultOpen:s,onOpenChange:a,modal:o=!1}=e,l=L(r),u=h.useRef(null),[c,d]=h.useState(!1),[f,p]=(0,D.useControllableState)({prop:i,defaultProp:s??!1,onChange:a,caller:B});return(0,t.jsx)(_.Root,{...l,children:(0,t.jsx)(z,{scope:r,contentId:(0,S.useId)(),triggerRef:u,open:f,onOpenChange:p,onOpenToggle:h.useCallback(()=>p(e=>!e),[p]),hasCustomAnchor:c,onCustomAnchorAdd:h.useCallback(()=>d(!0),[]),onCustomAnchorRemove:h.useCallback(()=>d(!1),[]),modal:o,children:n})})};q.displayName=B;var H="PopoverAnchor";h.forwardRef((e,r)=>{let{__scopePopover:n,...i}=e,s=T(H,n),a=L(n),{onCustomAnchorAdd:o,onCustomAnchorRemove:l}=s;return h.useEffect(()=>(o(),()=>l()),[o,l]),(0,t.jsx)(_.Anchor,{...a,...i,ref:r})}).displayName=H;var W="PopoverTrigger",G=h.forwardRef((e,r)=>{let{__scopePopover:n,...i}=e,s=T(W,n),a=L(n),o=(0,C.useComposedRefs)(r,s.triggerRef),l=(0,t.jsx)(R.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":s.open,"aria-controls":s.contentId,"data-state":en(s.open),...i,ref:o,onClick:(0,w.composeEventHandlers)(e.onClick,s.onOpenToggle)});return s.hasCustomAnchor?l:(0,t.jsx)(_.Anchor,{asChild:!0,...a,children:l})});G.displayName=W;var V="PopoverPortal",[K,U]=O(V,{forceMount:void 0}),J=e=>{let{__scopePopover:r,forceMount:n,children:i,container:s}=e,a=T(V,r);return(0,t.jsx)(K,{scope:r,forceMount:n,children:(0,t.jsx)(P.Presence,{present:n||a.open,children:(0,t.jsx)(N.Portal,{asChild:!0,container:s,children:i})})})};J.displayName=V;var X="PopoverContent",Q=h.forwardRef((e,r)=>{let n=U(X,e.__scopePopover),{forceMount:i=n.forceMount,...s}=e,a=T(X,e.__scopePopover);return(0,t.jsx)(P.Presence,{present:i||a.open,children:a.modal?(0,t.jsx)(Z,{...s,ref:r}):(0,t.jsx)(ee,{...s,ref:r})})});Q.displayName=X;var Y=(0,F.createSlot)("PopoverContent.RemoveScroll"),Z=h.forwardRef((e,r)=>{let n=T(X,e.__scopePopover),i=h.useRef(null),s=(0,C.useComposedRefs)(r,i),a=h.useRef(!1);return h.useEffect(()=>{let e=i.current;if(e)return(0,M.hideOthers)(e)},[]),(0,t.jsx)(I.RemoveScroll,{as:Y,allowPinchZoom:!0,children:(0,t.jsx)(et,{...e,ref:s,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,w.composeEventHandlers)(e.onCloseAutoFocus,e=>{e.preventDefault(),a.current||n.triggerRef.current?.focus()}),onPointerDownOutside:(0,w.composeEventHandlers)(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,r=0===t.button&&!0===t.ctrlKey;a.current=2===t.button||r},{checkForDefaultPrevented:!1}),onFocusOutside:(0,w.composeEventHandlers)(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})}),ee=h.forwardRef((e,r)=>{let n=T(X,e.__scopePopover),i=h.useRef(!1),s=h.useRef(!1);return(0,t.jsx)(et,{...e,ref:r,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(i.current||n.triggerRef.current?.focus(),t.preventDefault()),i.current=!1,s.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(i.current=!0,"pointerdown"===t.detail.originalEvent.type&&(s.current=!0));let r=t.target;n.triggerRef.current?.contains(r)&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&s.current&&t.preventDefault()}})}),et=h.forwardRef((e,r)=>{let{__scopePopover:n,trapFocus:i,onOpenAutoFocus:s,onCloseAutoFocus:a,disableOutsidePointerEvents:o,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:c,onInteractOutside:d,...h}=e,f=T(X,n),p=L(n);return(0,A.useFocusGuards)(),(0,t.jsx)(k.FocusScope,{asChild:!0,loop:!0,trapped:i,onMountAutoFocus:s,onUnmountAutoFocus:a,children:(0,t.jsx)(E.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:o,onInteractOutside:d,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:c,onDismiss:()=>f.onOpenChange(!1),children:(0,t.jsx)(_.Content,{"data-state":en(f.open),role:"dialog",id:f.contentId,...p,...h,ref:r,style:{...h.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),er="PopoverClose";function en(e){return e?"open":"closed"}h.forwardRef((e,r)=>{let{__scopePopover:n,...i}=e,s=T(er,n);return(0,t.jsx)(R.Primitive.button,{type:"button",...i,ref:r,onClick:(0,w.composeEventHandlers)(e.onClick,()=>s.onOpenChange(!1))})}).displayName=er,h.forwardRef((e,r)=>{let{__scopePopover:n,...i}=e,s=L(n);return(0,t.jsx)(_.Arrow,{...s,...i,ref:r})}).displayName="PopoverArrow";let ei=h.forwardRef(({className:e,align:r="center",sideOffset:n=4,...i},s)=>(0,t.jsx)(J,{children:(0,t.jsx)(Q,{ref:s,align:r,sideOffset:n,className:(0,x.cn)("z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...i})}));ei.displayName=Q.displayName;var es=e.i(20648),ea=e.i(361877);function eo({collapsed:e}){let{mode:r,currentProject:n,projects:i,switchProject:s}=(0,es.useProject)(),[a,o]=(0,h.useState)(!1),[l,u]=(0,h.useState)(!1);if("multi-project"!==r)return null;let c=async e=>{await s(e),o(!1)},d=[...i].sort((e,t)=>e.favorite===t.favorite?0:e.favorite?-1:1);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(ea.CreateProjectDialog,{open:l,onOpenChange:u}),(0,t.jsxs)(q,{open:a,onOpenChange:o,children:[(0,t.jsx)(G,{asChild:!0,children:(0,t.jsx)(b.Button,{variant:"outline",role:"combobox","aria-expanded":a,className:(0,x.cn)("w-full justify-between",e?"h-9 w-9 p-0 justify-center":"px-3"),children:e?(0,t.jsx)(g.FolderOpen,{className:"h-4 w-4"}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 truncate",children:[(0,t.jsx)(g.FolderOpen,{className:"h-4 w-4 shrink-0 opacity-50"}),(0,t.jsx)("span",{className:"truncate",children:n?.name||"Select project..."})]}),(0,t.jsx)(p,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})})}),(0,t.jsx)(ei,{className:"w-[200px] p-0",align:"start",children:(0,t.jsxs)(y.Command,{children:[(0,t.jsx)(y.CommandInput,{placeholder:"Search projects..."}),(0,t.jsxs)(y.CommandList,{children:[(0,t.jsx)(y.CommandEmpty,{children:"No project found."}),(0,t.jsx)(y.CommandGroup,{heading:"Projects",children:d.map(e=>(0,t.jsx)(y.CommandItem,{onSelect:()=>c(e.id),className:"text-sm",children:(0,t.jsxs)("div",{className:"flex items-center gap-2 w-full",children:[(0,t.jsx)(f.Check,{className:(0,x.cn)("mr-2 h-4 w-4",n?.id===e.id?"opacity-100":"opacity-0")}),(0,t.jsx)("span",{className:"truncate flex-1",children:e.name}),e.favorite&&(0,t.jsx)(v.Star,{className:"h-3 w-3 fill-yellow-500 text-yellow-500"})]})},e.id))}),(0,t.jsx)(y.CommandSeparator,{}),(0,t.jsx)(y.CommandGroup,{children:(0,t.jsxs)(y.CommandItem,{className:"cursor-pointer",onSelect:()=>{o(!1),u(!0)},children:[(0,t.jsx)(m.Plus,{className:"mr-2 h-4 w-4"}),"Create Project"]})})]})]})})]})]})}function el({href:e,icon:n,children:i,description:s,currentPath:a,isCollapsed:o}){let l=a===e||"/"!==e&&a.startsWith(e);return(0,t.jsxs)(r.default,{href:e,className:(0,x.cn)("flex items-center gap-3 rounded-lg px-3 py-2 transition-colors","hover:bg-accent hover:text-accent-foreground",l&&"bg-accent text-accent-foreground font-medium",o&&"justify-center px-2"),children:[(0,t.jsx)(n,{className:(0,x.cn)("h-5 w-5 shrink-0",l&&"text-primary")}),!o&&(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsx)("span",{className:"text-sm",children:i}),s&&(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:s})]})]})}function eu(){let e=(0,n.usePathname)(),[r,a]=h.useState(()=>"true"===localStorage.getItem("main-sidebar-collapsed")),[f,p]=h.useState(!1),[m,g]=h.useState(!1);return h.useEffect(()=>{g(!0)},[]),h.useEffect(()=>{document.documentElement.style.setProperty("--main-sidebar-width",r?"60px":"240px"),localStorage.setItem("main-sidebar-collapsed",String(r))},[r]),h.useEffect(()=>{p(!1)},[e]),h.useEffect(()=>(window.toggleMainSidebar=()=>p(e=>!e),()=>{window.toggleMainSidebar=void 0}),[]),(0,t.jsxs)(t.Fragment,{children:[f&&(0,t.jsx)("div",{className:"fixed inset-0 bg-black/50 z-40 lg:hidden",onClick:()=>p(!1)}),(0,t.jsx)("aside",{className:(0,x.cn)("border-r border-border bg-background transition-all duration-300 flex-shrink-0","hidden lg:flex lg:sticky lg:top-14 lg:h-[calc(100vh-3.5rem)]",m&&r?"lg:w-[60px]":"lg:w-[240px]",f&&"fixed inset-y-0 left-0 z-[60] flex w-[280px]"),children:(0,t.jsxs)("div",{className:"flex flex-col h-full w-full",children:[(0,t.jsx)("div",{className:"lg:hidden flex justify-end p-2 border-b border-border",children:(0,t.jsxs)(b.Button,{variant:"ghost",size:"sm",onClick:()=>p(!1),className:"h-8 w-8 p-0",children:[(0,t.jsx)(d.X,{className:"h-4 w-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close menu"})]})}),m&&(0,t.jsxs)("nav",{className:"flex-1 px-2 py-4 space-y-1",children:[(0,t.jsx)("div",{className:"mb-4",children:(0,t.jsx)(eo,{collapsed:r&&!f})}),(0,t.jsx)(el,{href:"/",icon:i.Home,currentPath:e,description:!r||f?"Dashboard":void 0,isCollapsed:r&&!f,children:"Home"}),(0,t.jsx)(el,{href:"/specs",icon:s.FileText,currentPath:e,description:!r||f?"All Specifications":void 0,isCollapsed:r&&!f,children:"Specs"}),(0,t.jsx)(el,{href:"/stats",icon:o,currentPath:e,description:!r||f?"Analytics":void 0,isCollapsed:r&&!f,children:"Stats"}),(0,t.jsx)(el,{href:"/context",icon:l.BookOpen,currentPath:e,description:!r||f?"Project Context":void 0,isCollapsed:r&&!f,children:"Context"})]}),(0,t.jsx)("div",{className:"hidden lg:block p-2 border-t border-border",children:(0,t.jsx)(b.Button,{variant:"ghost",size:"sm",onClick:()=>a(!r),className:(0,x.cn)("w-full",m&&r&&"px-2"),children:m&&r?(0,t.jsx)(c.ChevronRight,{className:"h-4 w-4"}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(u.ChevronLeft,{className:"h-4 w-4 mr-2"}),(0,t.jsx)("span",{className:"text-xs",children:"Collapse"})]})})})]})})]})}e.s(["MainSidebar",()=>eu],742634)},305215,e=>{"use strict";var t=e.i(890022),r=e.i(81795);function n({children:e,...n}){return(0,t.jsx)(r.ThemeProvider,{...n,children:e})}e.s(["ThemeProvider",()=>n])},474916,e=>{"use strict";var t=e.i(178420),r=e.i(995403);e.s(["Toast",()=>t.Toast,"toast",()=>r.toast])},124636,e=>{"use strict";var t=e.i(959124),r=e.i(431231);function n(){return"undefined"!=typeof window}function i(){return"production"}function s(){return(n()?window.vam:i())||"production"}function a(){return"production"===s()}function o(){return"development"===s()}function l(e,t,r){var i,s;if(!n()){let e="[Vercel Web Analytics] Please import `track` from `@vercel/analytics/server` when using this function in a server environment";if(a())console.warn(e);else throw Error(e);return}if(!t){null==(i=window.va)||i.call(window,"event",{name:e,options:r});return}try{let n=function(e,t){if(!e)return;let r=e,n=[];for(let[i,s]of Object.entries(e))"object"==typeof s&&null!==s&&(t.strip?r=function(e,{[e]:t,...r}){return r}(i,r):n.push(i));if(n.length>0&&!t.strip)throw Error(`The following properties are not valid: ${n.join(", ")}. Only strings, numbers, booleans, and null are allowed.`);return r}(t,{strip:a()});null==(s=window.va)||s.call(window,"event",{name:e,data:n,options:r})}catch(e){e instanceof Error&&o()&&console.error(e)}}function u(e){return(0,r.useEffect)(()=>{var t;e.beforeSend&&(null==(t=window.va)||t.call(window,"beforeSend",e.beforeSend))},[e.beforeSend]),(0,r.useEffect)(()=>{!function(e={debug:!0}){var t;if(!n())return;!function(e="auto"){if("auto"===e){window.vam=i();return}window.vam=e}(e.mode),window.va||(window.va=function(...e){(window.vaq=window.vaq||[]).push(e)}),e.beforeSend&&(null==(t=window.va)||t.call(window,"beforeSend",e.beforeSend));let r=e.scriptSrc?e.scriptSrc:o()?"https://va.vercel-scripts.com/v1/script.debug.js":e.basePath?`${e.basePath}/insights/script.js`:"/_vercel/insights/script.js";if(document.head.querySelector(`script[src*="${r}"]`))return;let s=document.createElement("script");s.src=r,s.defer=!0,s.dataset.sdkn="@vercel/analytics"+(e.framework?`/${e.framework}`:""),s.dataset.sdkv="1.5.0",e.disableAutoTrack&&(s.dataset.disableAutoTrack="1"),e.endpoint?s.dataset.endpoint=e.endpoint:e.basePath&&(s.dataset.endpoint=`${e.basePath}/insights`),e.dsn&&(s.dataset.dsn=e.dsn),s.onerror=()=>{let e=o()?"Please check if any ad blockers are enabled and try again.":"Be sure to enable Web Analytics for your project and deploy again. See https://vercel.com/docs/analytics/quickstart for more information.";console.log(`[Vercel Web Analytics] Failed to load script from ${r}. ${e}`)},o()&&!1===e.debug&&(s.dataset.debug="false"),document.head.appendChild(s)}({framework:e.framework||"react",basePath:e.basePath??function(){if(void 0!==t.default&&void 0!==t.default.env)return t.default.env.REACT_APP_VERCEL_OBSERVABILITY_BASEPATH}(),...void 0!==e.route&&{disableAutoTrack:!0},...e})},[]),(0,r.useEffect)(()=>{e.route&&e.path&&function({route:e,path:t}){var r;null==(r=window.va)||r.call(window,"pageview",{route:e,path:t})}({route:e.route,path:e.path})},[e.route,e.path]),null}e.s(["Analytics",()=>u,"track",()=>l])}]);
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,6454,(e,t,r)=>{"use strict";function n({widthInt:e,heightInt:t,blurWidth:r,blurHeight:n,blurDataURL:i,objectFit:s}){let a=r?40*r:e,o=n?40*n:t,l=a&&o?`viewBox='0 0 ${a} ${o}'`:"";return`%3Csvg xmlns='http://www.w3.org/2000/svg' ${l}%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='${l?"none":"contain"===s?"xMidYMid":"cover"===s?"xMidYMid slice":"none"}' style='filter: url(%23b);' href='${i}'/%3E%3C/svg%3E`}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImageBlurSvg",{enumerable:!0,get:function(){return n}})},594547,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={VALID_LOADERS:function(){return s},imageConfigDefault:function(){return a}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let s=["default","imgix","cloudinary","akamai","custom"],a={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:14400,formats:["image/webp"],maximumRedirects:3,dangerouslyAllowLocalIP:!1,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:[75],unoptimized:!1}},550696,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImgProps",{enumerable:!0,get:function(){return l}}),e.r(56863);let n=e.r(6454),i=e.r(594547),s=["-moz-initial","fill","none","scale-down",void 0];function a(e){return void 0!==e.default}function o(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function l({src:e,sizes:t,unoptimized:r=!1,priority:l=!1,preload:u=!1,loading:c,className:d,quality:h,width:f,height:p,fill:m=!1,style:g,overrideSrc:v,onLoad:x,onLoadingComplete:b,placeholder:y="empty",blurDataURL:w,fetchPriority:C,decoding:j="async",layout:E,objectFit:A,objectPosition:k,lazyBoundary:S,lazyRoot:_,...N},P){var D;let R,F,M,{imgConf:I,showAltText:B,blurComplete:O,defaultLoader:$}=P,L=I||i.imageConfigDefault;if("allSizes"in L)R=L;else{let e=[...L.deviceSizes,...L.imageSizes].sort((e,t)=>e-t),t=L.deviceSizes.sort((e,t)=>e-t),r=L.qualities?.sort((e,t)=>e-t);R={...L,allSizes:e,deviceSizes:t,qualities:r}}if(void 0===$)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 z=N.loader||$;delete N.loader,delete N.srcSet;let T="__next_img_default"in z;if(T){if("custom"===R.loader)throw Object.defineProperty(Error(`Image with src "${e}" 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 e=z;z=t=>{let{config:r,...n}=t;return e(n)}}if(E){"fill"===E&&(m=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[E];e&&(g={...g,...e});let r={responsive:"100vw",fill:"100vw"}[E];r&&!t&&(t=r)}let q="",H=o(f),G=o(p);if((D=e)&&"object"==typeof D&&(a(D)||void 0!==D.src)){let t=a(e)?e.default:e;if(!t.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(t)}`),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!t.height||!t.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(t)}`),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(F=t.blurWidth,M=t.blurHeight,w=w||t.blurDataURL,q=t.src,!m)if(H||G){if(H&&!G){let e=H/t.width;G=Math.round(t.height*e)}else if(!H&&G){let e=G/t.height;H=Math.round(t.width*e)}}else H=t.width,G=t.height}let V=!l&&!u&&("lazy"===c||void 0===c);(!(e="string"==typeof e?e:q)||e.startsWith("data:")||e.startsWith("blob:"))&&(r=!0,V=!1),R.unoptimized&&(r=!0),T&&!R.dangerouslyAllowSVG&&e.split("?",1)[0].endsWith(".svg")&&(r=!0);let W=o(h),K=Object.assign(m?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:A,objectPosition:k}:{},B?{}:{color:"transparent"},g),U=O||"empty"===y?null:"blur"===y?`url("data:image/svg+xml;charset=utf-8,${(0,n.getImageBlurSvg)({widthInt:H,heightInt:G,blurWidth:F,blurHeight:M,blurDataURL:w||"",objectFit:K.objectFit})}")`:`url("${y}")`,J=s.includes(K.objectFit)?"fill"===K.objectFit?"100% 100%":"cover":K.objectFit,X=U?{backgroundSize:J,backgroundPosition:K.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:U}:{},Q=function({config:e,src:t,unoptimized:r,width:n,quality:i,sizes:s,loader:a}){if(r)return{src:t,srcSet:void 0,sizes:void 0};let{widths:o,kind:l}=function({deviceSizes:e,allSizes:t},r,n){if(n){let r=/(^|\s)(1?\d?\d)vw/g,i=[];for(let e;e=r.exec(n);)i.push(parseInt(e[2]));if(i.length){let r=.01*Math.min(...i);return{widths:t.filter(t=>t>=e[0]*r),kind:"w"}}return{widths:t,kind:"w"}}return"number"!=typeof r?{widths:e,kind:"w"}:{widths:[...new Set([r,2*r].map(e=>t.find(t=>t>=e)||t[t.length-1]))],kind:"x"}}(e,n,s),u=o.length-1;return{sizes:s||"w"!==l?s:"100vw",srcSet:o.map((r,n)=>`${a({config:e,src:t,quality:i,width:r})} ${"w"===l?r:n+1}${l}`).join(", "),src:a({config:e,src:t,quality:i,width:o[u]})}}({config:R,src:e,unoptimized:r,width:H,quality:W,sizes:t,loader:z}),Y=V?"lazy":c;return{props:{...N,loading:Y,fetchPriority:C,width:H,height:G,decoding:j,className:d,style:{...K,...X},sizes:Q.sizes,srcSet:Q.srcSet,src:v||Q.src},meta:{unoptimized:r,preload:u||l,placeholder:y,fill:m}}}},29549,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return o}});let n=e.r(431231),i="undefined"==typeof window,s=i?()=>{}:n.useLayoutEffect,a=i?()=>{}:n.useEffect;function o(e){let{headManager:t,reduceComponentsToState:r}=e;function o(){if(t&&t.mountedInstances){let e=n.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(r(e))}}return i&&(t?.mountedInstances?.add(e.children),o()),s(()=>(t?.mountedInstances?.add(e.children),()=>{t?.mountedInstances?.delete(e.children)})),s(()=>(t&&(t._pendingUpdate=o),()=>{t&&(t._pendingUpdate=o)})),a(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},582032,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return m},defaultHead:function(){return d}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let s=e.r(481258),a=e.r(744066),o=e.r(890022),l=a._(e.r(431231)),u=s._(e.r(29549)),c=e.r(392600);function d(){return[(0,o.jsx)("meta",{charSet:"utf-8"},"charset"),(0,o.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")]}function h(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===l.default.Fragment?e.concat(l.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}e.r(56863);let f=["name","httpEquiv","charSet","itemProp"];function p(e){let t,r,n,i;return e.reduce(h,[]).reverse().concat(d().reverse()).filter((t=new Set,r=new Set,n=new Set,i={},e=>{let s=!0,a=!1;if(e.key&&"number"!=typeof e.key&&e.key.indexOf("$")>0){a=!0;let r=e.key.slice(e.key.indexOf("$")+1);t.has(r)?s=!1:t.add(r)}switch(e.type){case"title":case"base":r.has(e.type)?s=!1:r.add(e.type);break;case"meta":for(let t=0,r=f.length;t<r;t++){let r=f[t];if(e.props.hasOwnProperty(r))if("charSet"===r)n.has(r)?s=!1:n.add(r);else{let t=e.props[r],n=i[r]||new Set;("name"!==r||!a)&&n.has(t)?s=!1:(n.add(t),i[r]=n)}}}return s})).reverse().map((e,t)=>{let r=e.key||t;return l.default.cloneElement(e,{key:r})})}let m=function({children:e}){let t=(0,l.useContext)(c.HeadManagerContext);return(0,o.jsx)(u.default,{reduceComponentsToState:p,headManager:t,children:e})};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},111258,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ImageConfigContext",{enumerable:!0,get:function(){return s}});let n=e.r(481258)._(e.r(431231)),i=e.r(594547),s=n.default.createContext(i.imageConfigDefault)},394453,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"RouterContext",{enumerable:!0,get:function(){return n}});let n=e.r(481258)._(e.r(431231)).default.createContext(null)},781035,(e,t,r)=>{"use strict";function n(e,t){let r=e||75;return t?.qualities?.length?t.qualities.reduce((e,t)=>Math.abs(t-r)<Math.abs(e-r)?t:e,0):r}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"findClosestQuality",{enumerable:!0,get:function(){return n}})},765774,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return s}});let n=e.r(781035);function i({config:e,src:t,width:r,quality:i}){if(t.startsWith("/")&&t.includes("?")&&e.localPatterns?.length===1&&"**"===e.localPatterns[0].pathname&&""===e.localPatterns[0].search)throw Object.defineProperty(Error(`Image with src "${t}" 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 s=(0,n.findClosestQuality)(i,e);return`${e.path}?url=${encodeURIComponent(t)}&w=${r}&q=${s}${t.startsWith("/_next/static/media/"),""}`}i.__next_img_default=!0;let s=i},881988,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"Image",{enumerable:!0,get:function(){return y}});let n=e.r(481258),i=e.r(744066),s=e.r(890022),a=i._(e.r(431231)),o=n._(e.r(395635)),l=n._(e.r(582032)),u=e.r(550696),c=e.r(594547),d=e.r(111258);e.r(56863);let h=e.r(394453),f=n._(e.r(765774)),p=e.r(266500),m={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:!1};function g(e,t,r,n,i,s,a){let o=e?.src;e&&e["data-loaded-src"]!==o&&(e["data-loaded-src"]=o,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&i(!0),r?.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let n=!1,i=!1;r.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>n,isPropagationStopped:()=>i,persist:()=>{},preventDefault:()=>{n=!0,t.preventDefault()},stopPropagation:()=>{i=!0,t.stopPropagation()}})}n?.current&&n.current(e)}}))}function v(e){return a.use?{fetchPriority:e}:{fetchpriority:e}}"undefined"==typeof window&&(globalThis.__NEXT_IMAGE_IMPORTED=!0);let x=(0,a.forwardRef)(({src:e,srcSet:t,sizes:r,height:n,width:i,decoding:o,className:l,style:u,fetchPriority:c,placeholder:d,loading:h,unoptimized:f,fill:m,onLoadRef:x,onLoadingCompleteRef:b,setBlurComplete:y,setShowAltText:w,sizesInput:C,onLoad:j,onError:E,...A},k)=>{let S=(0,a.useCallback)(e=>{e&&(E&&(e.src=e.src),e.complete&&g(e,d,x,b,y,f,C))},[e,d,x,b,y,E,f,C]),_=(0,p.useMergedRef)(k,S);return(0,s.jsx)("img",{...A,...v(c),loading:h,width:i,height:n,decoding:o,"data-nimg":m?"fill":"1",className:l,style:u,sizes:r,srcSet:t,src:e,ref:_,onLoad:e=>{g(e.currentTarget,d,x,b,y,f,C)},onError:e=>{w(!0),"empty"!==d&&y(!0),E&&E(e)}})});function b({isAppRouter:e,imgAttributes:t}){let r={as:"image",imageSrcSet:t.srcSet,imageSizes:t.sizes,crossOrigin:t.crossOrigin,referrerPolicy:t.referrerPolicy,...v(t.fetchPriority)};return e&&o.default.preload?(o.default.preload(t.src,r),null):(0,s.jsx)(l.default,{children:(0,s.jsx)("link",{rel:"preload",href:t.srcSet?void 0:t.src,...r},"__nimg-"+t.src+t.srcSet+t.sizes)})}let y=(0,a.forwardRef)((e,t)=>{let r=(0,a.useContext)(h.RouterContext),n=(0,a.useContext)(d.ImageConfigContext),i=(0,a.useMemo)(()=>{let e=m||n||c.imageConfigDefault,t=[...e.deviceSizes,...e.imageSizes].sort((e,t)=>e-t),r=e.deviceSizes.sort((e,t)=>e-t),i=e.qualities?.sort((e,t)=>e-t);return{...e,allSizes:t,deviceSizes:r,qualities:i,localPatterns:"undefined"==typeof window?n?.localPatterns:e.localPatterns}},[n]),{onLoad:o,onLoadingComplete:l}=e,p=(0,a.useRef)(o);(0,a.useEffect)(()=>{p.current=o},[o]);let g=(0,a.useRef)(l);(0,a.useEffect)(()=>{g.current=l},[l]);let[v,y]=(0,a.useState)(!1),[w,C]=(0,a.useState)(!1),{props:j,meta:E}=(0,u.getImgProps)(e,{defaultLoader:f.default,imgConf:i,blurComplete:v,showAltText:w});return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(x,{...j,unoptimized:E.unoptimized,placeholder:E.placeholder,fill:E.fill,onLoadRef:p,onLoadingCompleteRef:g,setBlurComplete:y,setShowAltText:C,sizesInput:e.sizes,ref:t}),E.preload?(0,s.jsx)(b,{isAppRouter:!r,imgAttributes:j}):null]})});("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},322867,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return c},getImageProps:function(){return u}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let s=e.r(481258),a=e.r(550696),o=e.r(881988),l=s._(e.r(765774));function u(e){let{props:t}=(0,a.getImgProps)(e,{defaultLoader:l.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:!1}});for(let[e,r]of Object.entries(t))void 0===r&&delete t[e];return{props:t}}let c=o.Image},805970,(e,t,r)=>{t.exports=e.r(322867)},694541,e=>{"use strict";var t=e.i(890022),r=e.i(431231),n=/[\\\/_+.#"@\[\(\{&]/,i=/[\\\/_+.#"@\[\(\{&]/g,s=/[\s-]/,a=/[\s-]/g;function o(e){return e.toLowerCase().replace(a," ")}var l=e.i(739065);e.i(395635);var u=e.i(614433),c=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,n)=>{let i=(0,u.createSlot)(`Primitive.${n}`),s=r.forwardRef((e,r)=>{let{asChild:s,...a}=e;return"undefined"!=typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,t.jsx)(s?i:n,{...a,ref:r})});return s.displayName=`Primitive.${n}`,{...e,[n]:s}},{}),d=e.i(315599),h=e.i(430406),f='[cmdk-group=""]',p='[cmdk-group-items=""]',m='[cmdk-item=""]',g=`${m}:not([aria-disabled="true"])`,v="cmdk-item-select",x="data-value",b=(e,t,r)=>{var l;return l=e,function e(t,r,o,l,u,c,d){if(c===r.length)return u===t.length?1:.99;var h=`${u},${c}`;if(void 0!==d[h])return d[h];for(var f,p,m,g,v=l.charAt(c),x=o.indexOf(v,u),b=0;x>=0;)(f=e(t,r,o,l,x+1,c+1,d))>b&&(x===u?f*=1:n.test(t.charAt(x-1))?(f*=.8,(m=t.slice(u,x-1).match(i))&&u>0&&(f*=Math.pow(.999,m.length))):s.test(t.charAt(x-1))?(f*=.9,(g=t.slice(u,x-1).match(a))&&u>0&&(f*=Math.pow(.999,g.length))):(f*=.17,u>0&&(f*=Math.pow(.999,x-u))),t.charAt(x)!==r.charAt(c)&&(f*=.9999)),(f<.1&&o.charAt(x-1)===l.charAt(c+1)||l.charAt(c+1)===l.charAt(c)&&o.charAt(x-1)!==l.charAt(c))&&.1*(p=e(t,r,o,l,x+1,c+2,d))>f&&(f=.1*p),f>b&&(b=f),x=o.indexOf(v,x+1);return d[h]=b,b}(l=r&&r.length>0?`${l+" "+r.join(" ")}`:l,t,o(l),o(t),0,0,{})},y=r.createContext(void 0),w=r.createContext(void 0),C=r.createContext(void 0),j=r.forwardRef((e,t)=>{let n=F(()=>{var t,r;return{search:"",value:null!=(r=null!=(t=e.value)?t:e.defaultValue)?r:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),i=F(()=>new Set),s=F(()=>new Map),a=F(()=>new Map),o=F(()=>new Set),l=D(e),{label:u,children:h,value:C,onValueChange:j,filter:E,shouldFilter:A,loop:k,disablePointerSelection:S=!1,vimBindings:_=!0,...N}=e,P=(0,d.useId)(),M=(0,d.useId)(),I=(0,d.useId)(),L=r.useRef(null),z=B();R(()=>{if(void 0!==C){let e=C.trim();n.current.value=e,T.emit()}},[C]),R(()=>{z(6,K)},[]);let T=r.useMemo(()=>({subscribe:e=>(o.current.add(e),()=>o.current.delete(e)),snapshot:()=>n.current,setState:(e,t,r)=>{var i,s,a,o;if(!Object.is(n.current[e],t)){if(n.current[e]=t,"search"===e)W(),G(),z(1,V);else if("value"===e){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let e=document.getElementById(I);e?e.focus():null==(i=document.getElementById(P))||i.focus()}if(z(7,()=>{var e;n.current.selectedItemId=null==(e=U())?void 0:e.id,T.emit()}),r||z(5,K),(null==(s=l.current)?void 0:s.value)!==void 0){null==(o=(a=l.current).onValueChange)||o.call(a,null!=t?t:"");return}}T.emit()}},emit:()=>{o.current.forEach(e=>e())}}),[]),q=r.useMemo(()=>({value:(e,t,r)=>{var i;t!==(null==(i=a.current.get(e))?void 0:i.value)&&(a.current.set(e,{value:t,keywords:r}),n.current.filtered.items.set(e,H(t,r)),z(2,()=>{G(),T.emit()}))},item:(e,t)=>(i.current.add(e),t&&(s.current.has(t)?s.current.get(t).add(e):s.current.set(t,new Set([e]))),z(3,()=>{W(),G(),n.current.value||V(),T.emit()}),()=>{a.current.delete(e),i.current.delete(e),n.current.filtered.items.delete(e);let t=U();z(4,()=>{W(),(null==t?void 0:t.getAttribute("id"))===e&&V(),T.emit()})}),group:e=>(s.current.has(e)||s.current.set(e,new Set),()=>{a.current.delete(e),s.current.delete(e)}),filter:()=>l.current.shouldFilter,label:u||e["aria-label"],getDisablePointerSelection:()=>l.current.disablePointerSelection,listId:P,inputId:I,labelId:M,listInnerRef:L}),[]);function H(e,t){var r,i;let s=null!=(i=null==(r=l.current)?void 0:r.filter)?i:b;return e?s(e,n.current.search,t):0}function G(){if(!n.current.search||!1===l.current.shouldFilter)return;let e=n.current.filtered.items,t=[];n.current.filtered.groups.forEach(r=>{let n=s.current.get(r),i=0;n.forEach(t=>{i=Math.max(e.get(t),i)}),t.push([r,i])});let r=L.current;J().sort((t,r)=>{var n,i;let s=t.getAttribute("id"),a=r.getAttribute("id");return(null!=(n=e.get(a))?n:0)-(null!=(i=e.get(s))?i:0)}).forEach(e=>{let t=e.closest(p);t?t.appendChild(e.parentElement===t?e:e.closest(`${p} > *`)):r.appendChild(e.parentElement===r?e:e.closest(`${p} > *`))}),t.sort((e,t)=>t[1]-e[1]).forEach(e=>{var t;let r=null==(t=L.current)?void 0:t.querySelector(`${f}[${x}="${encodeURIComponent(e[0])}"]`);null==r||r.parentElement.appendChild(r)})}function V(){let e=J().find(e=>"true"!==e.getAttribute("aria-disabled")),t=null==e?void 0:e.getAttribute(x);T.setState("value",t||void 0)}function W(){var e,t,r,o;if(!n.current.search||!1===l.current.shouldFilter){n.current.filtered.count=i.current.size;return}n.current.filtered.groups=new Set;let u=0;for(let s of i.current){let i=H(null!=(t=null==(e=a.current.get(s))?void 0:e.value)?t:"",null!=(o=null==(r=a.current.get(s))?void 0:r.keywords)?o:[]);n.current.filtered.items.set(s,i),i>0&&u++}for(let[e,t]of s.current)for(let r of t)if(n.current.filtered.items.get(r)>0){n.current.filtered.groups.add(e);break}n.current.filtered.count=u}function K(){var e,t,r;let n=U();n&&((null==(e=n.parentElement)?void 0:e.firstChild)===n&&(null==(r=null==(t=n.closest(f))?void 0:t.querySelector('[cmdk-group-heading=""]'))||r.scrollIntoView({block:"nearest"})),n.scrollIntoView({block:"nearest"}))}function U(){var e;return null==(e=L.current)?void 0:e.querySelector(`${m}[aria-selected="true"]`)}function J(){var e;return Array.from((null==(e=L.current)?void 0:e.querySelectorAll(g))||[])}function X(e){let t=J()[e];t&&T.setState("value",t.getAttribute(x))}function Q(e){var t;let r=U(),n=J(),i=n.findIndex(e=>e===r),s=n[i+e];null!=(t=l.current)&&t.loop&&(s=i+e<0?n[n.length-1]:i+e===n.length?n[0]:n[i+e]),s&&T.setState("value",s.getAttribute(x))}function Y(e){let t=U(),r=null==t?void 0:t.closest(f),n;for(;r&&!n;)n=null==(r=e>0?function(e,t){let r=e.nextElementSibling;for(;r;){if(r.matches(t))return r;r=r.nextElementSibling}}(r,f):function(e,t){let r=e.previousElementSibling;for(;r;){if(r.matches(t))return r;r=r.previousElementSibling}}(r,f))?void 0:r.querySelector(g);n?T.setState("value",n.getAttribute(x)):Q(e)}let Z=()=>X(J().length-1),ee=e=>{e.preventDefault(),e.metaKey?Z():e.altKey?Y(1):Q(1)},et=e=>{e.preventDefault(),e.metaKey?X(0):e.altKey?Y(-1):Q(-1)};return r.createElement(c.div,{ref:t,tabIndex:-1,...N,"cmdk-root":"",onKeyDown:e=>{var t;null==(t=N.onKeyDown)||t.call(N,e);let r=e.nativeEvent.isComposing||229===e.keyCode;if(!(e.defaultPrevented||r))switch(e.key){case"n":case"j":_&&e.ctrlKey&&ee(e);break;case"ArrowDown":ee(e);break;case"p":case"k":_&&e.ctrlKey&&et(e);break;case"ArrowUp":et(e);break;case"Home":e.preventDefault(),X(0);break;case"End":e.preventDefault(),Z();break;case"Enter":{e.preventDefault();let t=U();if(t){let e=new Event(v);t.dispatchEvent(e)}}}}},r.createElement("label",{"cmdk-label":"",htmlFor:q.inputId,id:q.labelId,style:$},u),O(e,e=>r.createElement(w.Provider,{value:T},r.createElement(y.Provider,{value:q},e))))}),E=r.forwardRef((e,t)=>{var n,i;let s=(0,d.useId)(),a=r.useRef(null),o=r.useContext(C),l=r.useContext(y),u=D(e),f=null!=(i=null==(n=u.current)?void 0:n.forceMount)?i:null==o?void 0:o.forceMount;R(()=>{if(!f)return l.item(s,null==o?void 0:o.id)},[f]);let p=I(s,a,[e.value,e.children,a],e.keywords),m=r.useContext(w),g=M(e=>e.value&&e.value===p.current),x=M(e=>!!f||!1===l.filter()||!e.search||e.filtered.items.get(s)>0);function b(){var e,t;j(),null==(t=(e=u.current).onSelect)||t.call(e,p.current)}function j(){m.setState("value",p.current,!0)}if(r.useEffect(()=>{let t=a.current;if(!(!t||e.disabled))return t.addEventListener(v,b),()=>t.removeEventListener(v,b)},[x,e.onSelect,e.disabled]),!x)return null;let{disabled:E,value:A,onSelect:k,forceMount:S,keywords:_,...N}=e;return r.createElement(c.div,{ref:(0,h.composeRefs)(a,t),...N,id:s,"cmdk-item":"",role:"option","aria-disabled":!!E,"aria-selected":!!g,"data-disabled":!!E,"data-selected":!!g,onPointerMove:E||l.getDisablePointerSelection()?void 0:j,onClick:E?void 0:b},e.children)}),A=r.forwardRef((e,t)=>{let{heading:n,children:i,forceMount:s,...a}=e,o=(0,d.useId)(),l=r.useRef(null),u=r.useRef(null),f=(0,d.useId)(),p=r.useContext(y),m=M(e=>!!s||!1===p.filter()||!e.search||e.filtered.groups.has(o));R(()=>p.group(o),[]),I(o,l,[e.value,e.heading,u]);let g=r.useMemo(()=>({id:o,forceMount:s}),[s]);return r.createElement(c.div,{ref:(0,h.composeRefs)(l,t),...a,"cmdk-group":"",role:"presentation",hidden:!m||void 0},n&&r.createElement("div",{ref:u,"cmdk-group-heading":"","aria-hidden":!0,id:f},n),O(e,e=>r.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":n?f:void 0},r.createElement(C.Provider,{value:g},e))))}),k=r.forwardRef((e,t)=>{let{alwaysRender:n,...i}=e,s=r.useRef(null),a=M(e=>!e.search);return n||a?r.createElement(c.div,{ref:(0,h.composeRefs)(s,t),...i,"cmdk-separator":"",role:"separator"}):null}),S=r.forwardRef((e,t)=>{let{onValueChange:n,...i}=e,s=null!=e.value,a=r.useContext(w),o=M(e=>e.search),l=M(e=>e.selectedItemId),u=r.useContext(y);return r.useEffect(()=>{null!=e.value&&a.setState("search",e.value)},[e.value]),r.createElement(c.input,{ref:t,...i,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":u.listId,"aria-labelledby":u.labelId,"aria-activedescendant":l,id:u.inputId,type:"text",value:s?e.value:o,onChange:e=>{s||a.setState("search",e.target.value),null==n||n(e.target.value)}})}),_=r.forwardRef((e,t)=>{let{children:n,label:i="Suggestions",...s}=e,a=r.useRef(null),o=r.useRef(null),l=M(e=>e.selectedItemId),u=r.useContext(y);return r.useEffect(()=>{if(o.current&&a.current){let e=o.current,t=a.current,r,n=new ResizeObserver(()=>{r=requestAnimationFrame(()=>{let r=e.offsetHeight;t.style.setProperty("--cmdk-list-height",r.toFixed(1)+"px")})});return n.observe(e),()=>{cancelAnimationFrame(r),n.unobserve(e)}}},[]),r.createElement(c.div,{ref:(0,h.composeRefs)(a,t),...s,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":l,"aria-label":i,id:u.listId},O(e,e=>r.createElement("div",{ref:(0,h.composeRefs)(o,u.listInnerRef),"cmdk-list-sizer":""},e)))}),N=r.forwardRef((e,t)=>{let{open:n,onOpenChange:i,overlayClassName:s,contentClassName:a,container:o,...u}=e;return r.createElement(l.Root,{open:n,onOpenChange:i},r.createElement(l.Portal,{container:o},r.createElement(l.Overlay,{"cmdk-overlay":"",className:s}),r.createElement(l.Content,{"aria-label":e.label,"cmdk-dialog":"",className:a},r.createElement(j,{ref:t,...u}))))}),P=Object.assign(j,{List:_,Item:E,Input:S,Group:A,Separator:k,Dialog:N,Empty:r.forwardRef((e,t)=>M(e=>0===e.filtered.count)?r.createElement(c.div,{ref:t,...e,"cmdk-empty":"",role:"presentation"}):null),Loading:r.forwardRef((e,t)=>{let{progress:n,children:i,label:s="Loading...",...a}=e;return r.createElement(c.div,{ref:t,...a,"cmdk-loading":"",role:"progressbar","aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":s},O(e,e=>r.createElement("div",{"aria-hidden":!0},e)))})});function D(e){let t=r.useRef(e);return R(()=>{t.current=e}),t}var R="undefined"==typeof window?r.useEffect:r.useLayoutEffect;function F(e){let t=r.useRef();return void 0===t.current&&(t.current=e()),t}function M(e){let t=r.useContext(w),n=()=>e(t.snapshot());return r.useSyncExternalStore(t.subscribe,n,n)}function I(e,t,n,i=[]){let s=r.useRef(),a=r.useContext(y);return R(()=>{var r;let o=(()=>{var e;for(let t of n){if("string"==typeof t)return t.trim();if("object"==typeof t&&"current"in t)return t.current?null==(e=t.current.textContent)?void 0:e.trim():s.current}})(),l=i.map(e=>e.trim());a.value(e,o,l),null==(r=t.current)||r.setAttribute(x,o),s.current=o}),s}var B=()=>{let[e,t]=r.useState(),n=F(()=>new Map);return R(()=>{n.current.forEach(e=>e()),n.current=new Map},[e]),(e,r)=>{n.current.set(e,r),t({})}};function O({asChild:e,children:t},n){let i;return e&&r.isValidElement(t)?r.cloneElement("function"==typeof(i=t.type)?i(t.props):"render"in i?i.render(t.props):t,{ref:t.ref},n(t.props.children)):n(t)}var $={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"},L=e.i(300329),z=e.i(632137),T=e.i(439779);let q=r.forwardRef(({className:e,...r},n)=>(0,t.jsx)(P,{ref:n,className:(0,z.cn)("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",e),...r}));q.displayName=P.displayName;let H=({children:e,...r})=>(0,t.jsx)(T.Dialog,{...r,children:(0,t.jsx)(T.DialogContent,{className:"overflow-hidden p-0 shadow-lg",children:(0,t.jsx)(q,{className:"[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5",children:e})})}),G=r.forwardRef(({className:e,...r},n)=>(0,t.jsxs)("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:[(0,t.jsx)(L.Search,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),(0,t.jsx)(P.Input,{ref:n,className:(0,z.cn)("flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",e),...r})]}));G.displayName=P.Input.displayName;let V=r.forwardRef(({className:e,...r},n)=>(0,t.jsx)(P.List,{ref:n,className:(0,z.cn)("max-h-[300px] overflow-y-auto overflow-x-hidden",e),...r}));V.displayName=P.List.displayName;let W=r.forwardRef((e,r)=>(0,t.jsx)(P.Empty,{ref:r,className:"py-6 text-center text-sm",...e}));W.displayName=P.Empty.displayName;let K=r.forwardRef(({className:e,...r},n)=>(0,t.jsx)(P.Group,{ref:n,className:(0,z.cn)("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",e),...r}));K.displayName=P.Group.displayName;let U=r.forwardRef(({className:e,...r},n)=>(0,t.jsx)(P.Separator,{ref:n,className:(0,z.cn)("-mx-1 h-px bg-border",e),...r}));U.displayName=P.Separator.displayName;let J=r.forwardRef(({className:e,...r},n)=>(0,t.jsx)(P.Item,{ref:n,className:(0,z.cn)("relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",e),...r}));J.displayName=P.Item.displayName,e.s(["Command",()=>q,"CommandDialog",()=>H,"CommandEmpty",()=>W,"CommandGroup",()=>K,"CommandInput",()=>G,"CommandItem",()=>J,"CommandList",()=>V,"CommandSeparator",()=>U],694541)},426160,e=>{"use strict";var t=e.i(890022),r=e.i(987985),n=e.i(805970),i=e.i(230827),s=e.i(525761),a=e.i(122436);let o=(0,a.default)("menu",[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]]);var l=e.i(954049),u=e.i(431231);let c=(0,a.default)("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]),d=(0,a.default)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);var h=e.i(81795),f=e.i(235893);function p(){let{theme:e,setTheme:r}=(0,h.useTheme)(),[n,i]=u.useState(!1);return(u.useEffect(()=>{i(!0)},[]),n)?(0,t.jsxs)(f.Button,{variant:"ghost",size:"icon",onClick:()=>r("light"===e?"dark":"light"),"aria-label":"Toggle theme",children:[(0,t.jsx)(d,{className:"h-5 w-5 rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0"}),(0,t.jsx)(c,{className:"absolute h-5 w-5 rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100"})]}):(0,t.jsx)(f.Button,{variant:"ghost",size:"icon",disabled:!0,"aria-label":"Toggle theme",children:(0,t.jsx)(d,{className:"h-5 w-5"})})}var m=e.i(20315),g=e.i(300329),v=e.i(40843);let x=(0,a.default)("tag",[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]]);function b(e){return Array.isArray?Array.isArray(e):"[object Array]"===k(e)}let y=1/0;function w(e){return"string"==typeof e}function C(e){return"number"==typeof e}function j(e){return"object"==typeof e}function E(e){return null!=e}function A(e){return!e.trim().length}function k(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}let S=Object.prototype.hasOwnProperty;class _{constructor(e){this._keys=[],this._keyMap={};let t=0;e.forEach(e=>{let r=N(e);this._keys.push(r),this._keyMap[r.id]=r,t+=r.weight}),this._keys.forEach(e=>{e.weight/=t})}get(e){return this._keyMap[e]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function N(e){let t=null,r=null,n=null,i=1,s=null;if(w(e)||b(e))n=e,t=P(e),r=D(e);else{if(!S.call(e,"name"))throw Error("Missing name property in key");let a=e.name;if(n=a,S.call(e,"weight")&&(i=e.weight)<=0)throw Error(`Property 'weight' in key '${a}' must be a positive integer`);t=P(a),r=D(a),s=e.getFn}return{path:t,id:r,weight:i,src:n,getFn:s}}function P(e){return b(e)?e:e.split(".")}function D(e){return b(e)?e.join("."):e}var R={isCaseSensitive:!1,ignoreDiacritics:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(e,t)=>e.score===t.score?e.idx<t.idx?-1:1:e.score<t.score?-1:1,includeMatches:!1,findAllMatches:!1,minMatchCharLength:1,location:0,threshold:.6,distance:100,useExtendedSearch:!1,getFn:function(e,t){let r=[],n=!1,i=(e,t,s)=>{if(E(e))if(t[s]){var a,o;let l=e[t[s]];if(!E(l))return;if(s===t.length-1&&(w(l)||C(l)||!0===(a=l)||!1===a||j(o=a)&&null!==o&&"[object Boolean]"==k(a)))r.push(null==l?"":function(e){if("string"==typeof e)return e;let t=e+"";return"0"==t&&1/e==-y?"-0":t}(l));else if(b(l)){n=!0;for(let e=0,r=l.length;e<r;e+=1)i(l[e],t,s+1)}else t.length&&i(l,t,s+1)}else r.push(e)};return i(e,w(t)?t.split("."):t,0),n?r:r[0]},ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1};let F=/[^ ]+/g;class M{constructor({getFn:e=R.getFn,fieldNormWeight:t=R.fieldNormWeight}={}){this.norm=function(e=1,t=3){let r=new Map,n=Math.pow(10,t);return{get(t){let i=t.match(F).length;if(r.has(i))return r.get(i);let s=parseFloat(Math.round(1/Math.pow(i,.5*e)*n)/n);return r.set(i,s),s},clear(){r.clear()}}}(t,3),this.getFn=e,this.isCreated=!1,this.setIndexRecords()}setSources(e=[]){this.docs=e}setIndexRecords(e=[]){this.records=e}setKeys(e=[]){this.keys=e,this._keysMap={},e.forEach((e,t)=>{this._keysMap[e.id]=t})}create(){!this.isCreated&&this.docs.length&&(this.isCreated=!0,w(this.docs[0])?this.docs.forEach((e,t)=>{this._addString(e,t)}):this.docs.forEach((e,t)=>{this._addObject(e,t)}),this.norm.clear())}add(e){let t=this.size();w(e)?this._addString(e,t):this._addObject(e,t)}removeAt(e){this.records.splice(e,1);for(let t=e,r=this.size();t<r;t+=1)this.records[t].i-=1}getValueForItemAtKeyId(e,t){return e[this._keysMap[t]]}size(){return this.records.length}_addString(e,t){if(!E(e)||A(e))return;let r={v:e,i:t,n:this.norm.get(e)};this.records.push(r)}_addObject(e,t){let r={i:t,$:{}};this.keys.forEach((t,n)=>{let i=t.getFn?t.getFn(e):this.getFn(e,t.path);if(E(i)){if(b(i)){let e=[],t=[{nestedArrIndex:-1,value:i}];for(;t.length;){let{nestedArrIndex:r,value:n}=t.pop();if(E(n))if(w(n)&&!A(n)){let t={v:n,i:r,n:this.norm.get(n)};e.push(t)}else b(n)&&n.forEach((e,r)=>{t.push({nestedArrIndex:r,value:e})})}r.$[n]=e}else if(w(i)&&!A(i)){let e={v:i,n:this.norm.get(i)};r.$[n]=e}}}),this.records.push(r)}toJSON(){return{keys:this.keys,records:this.records}}}function I(e,t,{getFn:r=R.getFn,fieldNormWeight:n=R.fieldNormWeight}={}){let i=new M({getFn:r,fieldNormWeight:n});return i.setKeys(e.map(N)),i.setSources(t),i.create(),i}function B(e,{errors:t=0,currentLocation:r=0,expectedLocation:n=0,distance:i=R.distance,ignoreLocation:s=R.ignoreLocation}={}){let a=t/e.length;if(s)return a;let o=Math.abs(n-r);return i?a+o/i:o?1:a}let O=String.prototype.normalize?e=>e.normalize("NFD").replace(/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/g,""):e=>e;class ${constructor(e,{location:t=R.location,threshold:r=R.threshold,distance:n=R.distance,includeMatches:i=R.includeMatches,findAllMatches:s=R.findAllMatches,minMatchCharLength:a=R.minMatchCharLength,isCaseSensitive:o=R.isCaseSensitive,ignoreDiacritics:l=R.ignoreDiacritics,ignoreLocation:u=R.ignoreLocation}={}){if(this.options={location:t,threshold:r,distance:n,includeMatches:i,findAllMatches:s,minMatchCharLength:a,isCaseSensitive:o,ignoreDiacritics:l,ignoreLocation:u},e=o?e:e.toLowerCase(),e=l?O(e):e,this.pattern=e,this.chunks=[],!this.pattern.length)return;const c=(e,t)=>{this.chunks.push({pattern:e,alphabet:function(e){let t={};for(let r=0,n=e.length;r<n;r+=1){let i=e.charAt(r);t[i]=(t[i]||0)|1<<n-r-1}return t}(e),startIndex:t})},d=this.pattern.length;if(d>32){let e=0;const t=d%32,r=d-t;for(;e<r;)c(this.pattern.substr(e,32),e),e+=32;if(t){const e=d-32;c(this.pattern.substr(e),e)}}else c(this.pattern,0)}searchIn(e){let{isCaseSensitive:t,ignoreDiacritics:r,includeMatches:n}=this.options;if(e=t?e:e.toLowerCase(),e=r?O(e):e,this.pattern===e){let t={isMatch:!0,score:0};return n&&(t.indices=[[0,e.length-1]]),t}let{location:i,distance:s,threshold:a,findAllMatches:o,minMatchCharLength:l,ignoreLocation:u}=this.options,c=[],d=0,h=!1;this.chunks.forEach(({pattern:t,alphabet:r,startIndex:f})=>{let{isMatch:p,score:m,indices:g}=function(e,t,r,{location:n=R.location,distance:i=R.distance,threshold:s=R.threshold,findAllMatches:a=R.findAllMatches,minMatchCharLength:o=R.minMatchCharLength,includeMatches:l=R.includeMatches,ignoreLocation:u=R.ignoreLocation}={}){let c;if(t.length>32)throw Error("Pattern length exceeds max of 32.");let d=t.length,h=e.length,f=Math.max(0,Math.min(n,h)),p=s,m=f,g=o>1||l,v=g?Array(h):[];for(;(c=e.indexOf(t,m))>-1;)if(p=Math.min(B(t,{currentLocation:c,expectedLocation:f,distance:i,ignoreLocation:u}),p),m=c+d,g){let e=0;for(;e<d;)v[c+e]=1,e+=1}m=-1;let x=[],b=1,y=d+h,w=1<<d-1;for(let n=0;n<d;n+=1){let s=0,o=y;for(;s<o;)B(t,{errors:n,currentLocation:f+o,expectedLocation:f,distance:i,ignoreLocation:u})<=p?s=o:y=o,o=Math.floor((y-s)/2+s);y=o;let l=Math.max(1,f-o+1),c=a?h:Math.min(f+o,h)+d,C=Array(c+2);C[c+1]=(1<<n)-1;for(let s=c;s>=l;s-=1){let a=s-1,o=r[e.charAt(a)];if(g&&(v[a]=+!!o),C[s]=(C[s+1]<<1|1)&o,n&&(C[s]|=(x[s+1]|x[s])<<1|1|x[s+1]),C[s]&w&&(b=B(t,{errors:n,currentLocation:a,expectedLocation:f,distance:i,ignoreLocation:u}))<=p){if(p=b,(m=a)<=f)break;l=Math.max(1,2*f-m)}}if(B(t,{errors:n+1,currentLocation:f,expectedLocation:f,distance:i,ignoreLocation:u})>p)break;x=C}let C={isMatch:m>=0,score:Math.max(.001,b)};if(g){let e=function(e=[],t=R.minMatchCharLength){let r=[],n=-1,i=-1,s=0;for(let a=e.length;s<a;s+=1){let a=e[s];a&&-1===n?n=s:a||-1===n||((i=s-1)-n+1>=t&&r.push([n,i]),n=-1)}return e[s-1]&&s-n>=t&&r.push([n,s-1]),r}(v,o);e.length?l&&(C.indices=e):C.isMatch=!1}return C}(e,t,r,{location:i+f,distance:s,threshold:a,findAllMatches:o,minMatchCharLength:l,includeMatches:n,ignoreLocation:u});p&&(h=!0),d+=m,p&&g&&(c=[...c,...g])});let f={isMatch:h,score:h?d/this.chunks.length:1};return h&&n&&(f.indices=c),f}}class L{constructor(e){this.pattern=e}static isMultiMatch(e){return z(e,this.multiRegex)}static isSingleMatch(e){return z(e,this.singleRegex)}search(){}}function z(e,t){let r=e.match(t);return r?r[1]:null}class T extends L{constructor(e,{location:t=R.location,threshold:r=R.threshold,distance:n=R.distance,includeMatches:i=R.includeMatches,findAllMatches:s=R.findAllMatches,minMatchCharLength:a=R.minMatchCharLength,isCaseSensitive:o=R.isCaseSensitive,ignoreDiacritics:l=R.ignoreDiacritics,ignoreLocation:u=R.ignoreLocation}={}){super(e),this._bitapSearch=new $(e,{location:t,threshold:r,distance:n,includeMatches:i,findAllMatches:s,minMatchCharLength:a,isCaseSensitive:o,ignoreDiacritics:l,ignoreLocation:u})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(e){return this._bitapSearch.searchIn(e)}}class q extends L{constructor(e){super(e)}static get type(){return"include"}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(e){let t,r=0,n=[],i=this.pattern.length;for(;(t=e.indexOf(this.pattern,r))>-1;)r=t+i,n.push([t,r-1]);let s=!!n.length;return{isMatch:s,score:+!s,indices:n}}}let H=[class extends L{constructor(e){super(e)}static get type(){return"exact"}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(e){let t=e===this.pattern;return{isMatch:t,score:+!t,indices:[0,this.pattern.length-1]}}},q,class extends L{constructor(e){super(e)}static get type(){return"prefix-exact"}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(e){let t=e.startsWith(this.pattern);return{isMatch:t,score:+!t,indices:[0,this.pattern.length-1]}}},class extends L{constructor(e){super(e)}static get type(){return"inverse-prefix-exact"}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(e){let t=!e.startsWith(this.pattern);return{isMatch:t,score:+!t,indices:[0,e.length-1]}}},class extends L{constructor(e){super(e)}static get type(){return"inverse-suffix-exact"}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(e){let t=!e.endsWith(this.pattern);return{isMatch:t,score:+!t,indices:[0,e.length-1]}}},class extends L{constructor(e){super(e)}static get type(){return"suffix-exact"}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(e){let t=e.endsWith(this.pattern);return{isMatch:t,score:+!t,indices:[e.length-this.pattern.length,e.length-1]}}},class extends L{constructor(e){super(e)}static get type(){return"inverse-exact"}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(e){let t=-1===e.indexOf(this.pattern);return{isMatch:t,score:+!t,indices:[0,e.length-1]}}},T],G=H.length,V=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,W=new Set([T.type,q.type]),K=[];function U(e,t){for(let r=0,n=K.length;r<n;r+=1){let n=K[r];if(n.condition(e,t))return new n(e,t)}return new $(e,t)}let J="$and",X="$path",Q=e=>!!(e[J]||e.$or),Y=e=>({[J]:Object.keys(e).map(t=>({[t]:e[t]}))});function Z(e,t,{auto:r=!0}={}){let n=e=>{let i=Object.keys(e),s=!!e[X];if(!s&&i.length>1&&!Q(e))return n(Y(e));if(!b(e)&&j(e)&&!Q(e)){let n=s?e[X]:i[0],a=s?e.$val:e[n];if(!w(a))throw Error(`Invalid value for key ${n}`);let o={keyId:D(n),pattern:a};return r&&(o.searcher=U(a,t)),o}let a={children:[],operator:i[0]};return i.forEach(t=>{let r=e[t];b(r)&&r.forEach(e=>{a.children.push(n(e))})}),a};return Q(e)||(e=Y(e)),n(e)}function ee(e,t){let r=e.matches;t.matches=[],E(r)&&r.forEach(e=>{if(!E(e.indices)||!e.indices.length)return;let{indices:r,value:n}=e,i={indices:r,value:n};e.key&&(i.key=e.key.src),e.idx>-1&&(i.refIndex=e.idx),t.matches.push(i)})}function et(e,t){t.score=e.score}class er{constructor(e,t={},r){this.options={...R,...t},this.options.useExtendedSearch,this._keyStore=new _(this.options.keys),this.setCollection(e,r)}setCollection(e,t){if(this._docs=e,t&&!(t instanceof M))throw Error("Incorrect 'index' type");this._myIndex=t||I(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}add(e){E(e)&&(this._docs.push(e),this._myIndex.add(e))}remove(e=()=>!1){let t=[];for(let r=0,n=this._docs.length;r<n;r+=1){let i=this._docs[r];e(i,r)&&(this.removeAt(r),r-=1,n-=1,t.push(i))}return t}removeAt(e){this._docs.splice(e,1),this._myIndex.removeAt(e)}getIndex(){return this._myIndex}search(e,{limit:t=-1}={}){let{includeMatches:r,includeScore:n,shouldSort:i,sortFn:s,ignoreFieldNorm:a}=this.options,o=w(e)?w(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e);return!function(e,{ignoreFieldNorm:t=R.ignoreFieldNorm}){e.forEach(e=>{let r=1;e.matches.forEach(({key:e,norm:n,score:i})=>{let s=e?e.weight:null;r*=Math.pow(0===i&&s?Number.EPSILON:i,(s||1)*(t?1:n))}),e.score=r})}(o,{ignoreFieldNorm:a}),i&&o.sort(s),C(t)&&t>-1&&(o=o.slice(0,t)),function(e,t,{includeMatches:r=R.includeMatches,includeScore:n=R.includeScore}={}){let i=[];return r&&i.push(ee),n&&i.push(et),e.map(e=>{let{idx:r}=e,n={item:t[r],refIndex:r};return i.length&&i.forEach(t=>{t(e,n)}),n})}(o,this._docs,{includeMatches:r,includeScore:n})}_searchStringList(e){let t=U(e,this.options),{records:r}=this._myIndex,n=[];return r.forEach(({v:e,i:r,n:i})=>{if(!E(e))return;let{isMatch:s,score:a,indices:o}=t.searchIn(e);s&&n.push({item:e,idx:r,matches:[{score:a,value:e,norm:i,indices:o}]})}),n}_searchLogical(e){let t=Z(e,this.options),r=(e,t,n)=>{if(!e.children){let{keyId:r,searcher:i}=e,s=this._findMatches({key:this._keyStore.get(r),value:this._myIndex.getValueForItemAtKeyId(t,r),searcher:i});return s&&s.length?[{idx:n,item:t,matches:s}]:[]}let i=[];for(let s=0,a=e.children.length;s<a;s+=1){let a=r(e.children[s],t,n);if(a.length)i.push(...a);else if(e.operator===J)return[]}return i},n=this._myIndex.records,i={},s=[];return n.forEach(({$:e,i:n})=>{if(E(e)){let a=r(t,e,n);a.length&&(i[n]||(i[n]={idx:n,item:e,matches:[]},s.push(i[n])),a.forEach(({matches:e})=>{i[n].matches.push(...e)}))}}),s}_searchObjectList(e){let t=U(e,this.options),{keys:r,records:n}=this._myIndex,i=[];return n.forEach(({$:e,i:n})=>{if(!E(e))return;let s=[];r.forEach((r,n)=>{s.push(...this._findMatches({key:r,value:e[n],searcher:t}))}),s.length&&i.push({idx:n,item:e,matches:s})}),i}_findMatches({key:e,value:t,searcher:r}){if(!E(t))return[];let n=[];if(b(t))t.forEach(({v:t,i:i,n:s})=>{if(!E(t))return;let{isMatch:a,score:o,indices:l}=r.searchIn(t);a&&n.push({score:o,key:e,value:t,idx:i,norm:s,indices:l})});else{let{v:i,n:s}=t,{isMatch:a,score:o,indices:l}=r.searchIn(i);a&&n.push({score:o,key:e,value:i,norm:s,indices:l})}return n}}er.version="7.1.0",er.createIndex=I,er.parseIndex=function(e,{getFn:t=R.getFn,fieldNormWeight:r=R.fieldNormWeight}={}){let{keys:n,records:i}=e,s=new M({getFn:t,fieldNormWeight:r});return s.setKeys(n),s.setIndexRecords(i),s},er.config=R,er.parseQuery=Z,function(...e){K.push(...e)}(class{constructor(e,{isCaseSensitive:t=R.isCaseSensitive,ignoreDiacritics:r=R.ignoreDiacritics,includeMatches:n=R.includeMatches,minMatchCharLength:i=R.minMatchCharLength,ignoreLocation:s=R.ignoreLocation,findAllMatches:a=R.findAllMatches,location:o=R.location,threshold:l=R.threshold,distance:u=R.distance}={}){this.query=null,this.options={isCaseSensitive:t,ignoreDiacritics:r,includeMatches:n,minMatchCharLength:i,findAllMatches:a,ignoreLocation:s,location:o,threshold:l,distance:u},e=t?e:e.toLowerCase(),e=r?O(e):e,this.pattern=e,this.query=function(e,t={}){return e.split("|").map(e=>{let r=e.trim().split(V).filter(e=>e&&!!e.trim()),n=[];for(let e=0,i=r.length;e<i;e+=1){let i=r[e],s=!1,a=-1;for(;!s&&++a<G;){let e=H[a],r=e.isMultiMatch(i);r&&(n.push(new e(r,t)),s=!0)}if(!s)for(a=-1;++a<G;){let e=H[a],r=e.isSingleMatch(i);if(r){n.push(new e(r,t));break}}}return n})}(this.pattern,this.options)}static condition(e,t){return t.useExtendedSearch}searchIn(e){let t=this.query;if(!t)return{isMatch:!1,score:1};let{includeMatches:r,isCaseSensitive:n,ignoreDiacritics:i}=this.options;e=n?e:e.toLowerCase(),e=i?O(e):e;let s=0,a=[],o=0;for(let n=0,i=t.length;n<i;n+=1){let i=t[n];a.length=0,s=0;for(let t=0,n=i.length;t<n;t+=1){let n=i[t],{isMatch:l,indices:u,score:c}=n.search(e);if(l){if(s+=1,o+=c,r){let e=n.constructor.type;W.has(e)?a=[...a,...u]:a.push(u)}}else{o=0,s=0,a.length=0;break}}if(s){let e={isMatch:!0,score:o/s};return r&&(e.indices=a),e}}return{isMatch:!1,score:1}}});var en=e.i(694541),ei=e.i(168497),es=e.i(597705);function ea({specs:e}){let r=(0,i.useRouter)(),[n,s]=u.useState(!1),[a,o]=u.useState(""),[l,c]=u.useState([]);u.useEffect(()=>{let e=localStorage.getItem("leanspec-recent-searches");e&&c(JSON.parse(e))},[]),u.useEffect(()=>{let e=e=>{"k"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),s(e=>!e))};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[]);let d=u.useMemo(()=>new er(e,{keys:[{name:"title",weight:2},{name:"specNumber",weight:1.5},{name:"tags",weight:.5}],threshold:.4,includeScore:!0,minMatchCharLength:2}),[e]),h=u.useMemo(()=>a?d.search(a).map(e=>e.item):e.slice(0,8),[a,d,e]);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("button",{onClick:()=>s(!0),className:"inline-flex items-center gap-2 px-2 sm:px-3 py-2 text-sm text-muted-foreground hover:text-foreground transition-colors border rounded-md hover:border-foreground/20",children:[(0,t.jsx)(g.Search,{className:"h-4 w-4"}),(0,t.jsx)("span",{className:"hidden sm:inline",children:"Quick search..."}),(0,t.jsxs)("kbd",{className:"hidden md:inline-flex pointer-events-none h-5 select-none items-center gap-1 rounded border bg-muted px-1.5 font-mono text-[10px] font-medium opacity-100",children:[(0,t.jsx)("span",{className:"text-xs",children:"⌘"}),"K"]})]}),(0,t.jsxs)(en.CommandDialog,{open:n,onOpenChange:s,children:[(0,t.jsx)(en.CommandInput,{placeholder:"Search specs by title, number, or tags...",value:a,onValueChange:o}),(0,t.jsxs)(en.CommandList,{children:[(0,t.jsx)(en.CommandEmpty,{children:"No specs found."}),!a&&l.length>0&&(0,t.jsx)(en.CommandGroup,{heading:"Recent Searches",children:l.map(e=>(0,t.jsxs)(en.CommandItem,{value:e,onSelect:()=>{o(e)},children:[(0,t.jsx)(v.Clock,{className:"mr-2 h-4 w-4"}),e]},e))}),(0,t.jsx)(en.CommandGroup,{heading:"Specs",children:h.map(e=>(0,t.jsxs)(en.CommandItem,{value:`${e.specNumber} ${e.title}`,onSelect:()=>{var t,n;let i;return t=e.id,void(c(i=[n=e.title,...l.filter(e=>e!==n)].slice(0,5)),localStorage.setItem("leanspec-recent-searches",JSON.stringify(i)),r.push(`/specs/${t}`),s(!1),o(""))},children:[(0,t.jsx)(m.FileText,{className:"mr-2 h-4 w-4"}),(0,t.jsxs)("div",{className:"flex-1 flex items-center justify-between gap-2",children:[(0,t.jsx)("div",{className:"flex-1 min-w-0",children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsxs)("span",{className:"font-medium",children:["#",e.specNumber]}),(0,t.jsx)("span",{className:"truncate",children:e.title})]})}),(0,t.jsxs)("div",{className:"flex items-center gap-1 shrink-0",children:[(0,t.jsx)(ei.StatusBadge,{status:e.status}),(0,t.jsx)(es.PriorityBadge,{priority:e.priority})]})]})]},e.id))}),a&&(0,t.jsx)(en.CommandGroup,{heading:"Filter by Tag",children:Array.from(new Set(e.flatMap(e=>e.tags))).filter(e=>e.toLowerCase().includes(a.toLowerCase())).slice(0,5).map(e=>(0,t.jsxs)(en.CommandItem,{value:e,onSelect:()=>{r.push(`/?tag=${encodeURIComponent(e)}`),s(!1)},children:[(0,t.jsx)(x,{className:"mr-2 h-4 w-4"}),"Filter by: ",(0,t.jsx)("span",{className:"ml-1 font-medium",children:e})]},e))})]})]})]})}var eo=e.i(308402);function el({items:e}){return(0,t.jsx)("nav",{className:"flex items-center gap-1 text-sm text-muted-foreground",children:e.map((e,n)=>(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[n>0&&(0,t.jsx)(s.ChevronRight,{className:"h-4 w-4"}),e.href?(0,t.jsx)(r.default,{href:e.href,className:"hover:text-foreground transition-colors",children:e.label}):(0,t.jsx)("span",{className:"text-foreground",children:e.label})]},n))})}function eu({specs:e}){let s=function(e){if("/"===e)return[{label:"Home"}];if("/stats"===e)return[{label:"Home",href:"/"},{label:"Stats"}];if("/specs"===e||e.startsWith("/specs?")){let t=new URLSearchParams(e.split("?")[1]||"").get("view");return[{label:"Home",href:"/"},{label:`Specs (${"board"===t?"Board View":"List View"})`}]}return e.startsWith("/specs/")?[{label:"Home",href:"/"},{label:"Specs",href:"/specs"},{label:e.split("/")[2]}]:"/board"===e?[{label:"Home",href:"/"},{label:"Board"}]:[{label:"Home",href:"/"}]}((0,i.usePathname)());return(0,t.jsx)("header",{className:"sticky top-0 z-50 w-full h-14 border-b border-border bg-background",children:(0,t.jsxs)("div",{className:"flex items-center justify-between h-full px-2 sm:px-4",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 sm:gap-4 min-w-0 flex-1",children:[(0,t.jsxs)(f.Button,{variant:"ghost",size:"icon",onClick:()=>{window.toggleMainSidebar&&window.toggleMainSidebar()},className:"lg:hidden h-9 w-9 shrink-0",children:[(0,t.jsx)(o,{className:"h-5 w-5"}),(0,t.jsx)("span",{className:"sr-only",children:"Toggle menu"})]}),(0,t.jsxs)(r.default,{href:"/",className:"flex items-center space-x-2 shrink-0",children:[(0,t.jsx)(n.default,{src:"/logo-with-bg.svg",alt:"LeanSpec",width:32,height:32,className:"h-7 w-7 sm:h-8 sm:w-8 dark:hidden"}),(0,t.jsx)(n.default,{src:"/logo-dark-bg.svg",alt:"LeanSpec",width:32,height:32,className:"h-7 w-7 sm:h-8 sm:w-8 hidden dark:block"}),(0,t.jsx)("span",{className:"font-bold text-lg sm:text-xl hidden sm:inline",children:"LeanSpec"})]}),(0,t.jsx)("div",{className:"hidden md:block min-w-0",children:(0,t.jsx)(el,{items:s})})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1 sm:gap-2 shrink-0",children:[(0,t.jsx)(ea,{specs:e}),(0,t.jsxs)(eo.TooltipProvider,{children:[(0,t.jsxs)(eo.Tooltip,{children:[(0,t.jsx)(eo.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("div",{children:(0,t.jsx)(p,{})})}),(0,t.jsx)(eo.TooltipContent,{children:(0,t.jsx)("p",{children:"Toggle theme"})})]}),(0,t.jsxs)(eo.Tooltip,{children:[(0,t.jsx)(eo.TooltipTrigger,{asChild:!0,children:(0,t.jsx)(f.Button,{variant:"ghost",size:"icon",asChild:!0,className:"h-9 w-9 sm:h-10 sm:w-10",children:(0,t.jsx)("a",{href:"https://www.lean-spec.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"Documentation",children:(0,t.jsx)(l.BookOpen,{className:"h-5 w-5"})})})}),(0,t.jsx)(eo.TooltipContent,{children:(0,t.jsx)("p",{children:"Documentation"})})]}),(0,t.jsxs)(eo.Tooltip,{children:[(0,t.jsx)(eo.TooltipTrigger,{asChild:!0,children:(0,t.jsx)(f.Button,{variant:"ghost",size:"icon",asChild:!0,className:"h-9 w-9 sm:h-10 sm:w-10",children:(0,t.jsxs)("a",{href:"https://github.com/codervisor/lean-spec",target:"_blank",rel:"noopener noreferrer","aria-label":"GitHub repository",children:[(0,t.jsx)(n.default,{src:"/github-mark-white.svg",alt:"GitHub",width:20,height:20,className:"hidden dark:block"}),(0,t.jsx)(n.default,{src:"/github-mark.svg",alt:"GitHub",width:20,height:20,className:"dark:hidden"})]})})}),(0,t.jsx)(eo.TooltipContent,{children:(0,t.jsx)("p",{children:"GitHub repository"})})]})]})]})]})})}e.s(["Navigation",()=>eu],426160)},742634,e=>{"use strict";var t=e.i(890022),r=e.i(987985),n=e.i(230827),i=e.i(497332),s=e.i(20315),a=e.i(122436);let o=(0,a.default)("chart-column",[["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"}]]);var l=e.i(954049);let u=(0,a.default)("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"}]]);var c=e.i(158362),d=e.i(525761),h=e.i(644021),f=e.i(431231),p=e.i(686266);let m=(0,a.default)("chevrons-up-down",[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]]);var g=e.i(963781),v=e.i(723882),x=e.i(828964),b=e.i(632137),y=e.i(235893),w=e.i(694541),C=e.i(291967),j=e.i(430406),E=e.i(79014),A=e.i(255235),k=e.i(254440),S=e.i(31007),_=e.i(315599),N=e.i(306839),P=e.i(214260),D=e.i(111052),R=e.i(122925),F=e.i(665489),M=e.i(393136),I=e.i(73772),B=e.i(97496),O="Popover",[$,L]=(0,E.createContextScope)(O,[N.createPopperScope]),z=(0,N.createPopperScope)(),[T,q]=$(O),H=e=>{let{__scopePopover:r,children:n,open:i,defaultOpen:s,onOpenChange:a,modal:o=!1}=e,l=z(r),u=f.useRef(null),[c,d]=f.useState(!1),[h,p]=(0,M.useControllableState)({prop:i,defaultProp:s??!1,onChange:a,caller:O});return(0,t.jsx)(N.Root,{...l,children:(0,t.jsx)(T,{scope:r,contentId:(0,_.useId)(),triggerRef:u,open:h,onOpenChange:p,onOpenToggle:f.useCallback(()=>p(e=>!e),[p]),hasCustomAnchor:c,onCustomAnchorAdd:f.useCallback(()=>d(!0),[]),onCustomAnchorRemove:f.useCallback(()=>d(!1),[]),modal:o,children:n})})};H.displayName=O;var G="PopoverAnchor";f.forwardRef((e,r)=>{let{__scopePopover:n,...i}=e,s=q(G,n),a=z(n),{onCustomAnchorAdd:o,onCustomAnchorRemove:l}=s;return f.useEffect(()=>(o(),()=>l()),[o,l]),(0,t.jsx)(N.Anchor,{...a,...i,ref:r})}).displayName=G;var V="PopoverTrigger",W=f.forwardRef((e,r)=>{let{__scopePopover:n,...i}=e,s=q(V,n),a=z(n),o=(0,j.useComposedRefs)(r,s.triggerRef),l=(0,t.jsx)(R.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":s.open,"aria-controls":s.contentId,"data-state":ei(s.open),...i,ref:o,onClick:(0,C.composeEventHandlers)(e.onClick,s.onOpenToggle)});return s.hasCustomAnchor?l:(0,t.jsx)(N.Anchor,{asChild:!0,...a,children:l})});W.displayName=V;var K="PopoverPortal",[U,J]=$(K,{forceMount:void 0}),X=e=>{let{__scopePopover:r,forceMount:n,children:i,container:s}=e,a=q(K,r);return(0,t.jsx)(U,{scope:r,forceMount:n,children:(0,t.jsx)(D.Presence,{present:n||a.open,children:(0,t.jsx)(P.Portal,{asChild:!0,container:s,children:i})})})};X.displayName=K;var Q="PopoverContent",Y=f.forwardRef((e,r)=>{let n=J(Q,e.__scopePopover),{forceMount:i=n.forceMount,...s}=e,a=q(Q,e.__scopePopover);return(0,t.jsx)(D.Presence,{present:i||a.open,children:a.modal?(0,t.jsx)(ee,{...s,ref:r}):(0,t.jsx)(et,{...s,ref:r})})});Y.displayName=Q;var Z=(0,F.createSlot)("PopoverContent.RemoveScroll"),ee=f.forwardRef((e,r)=>{let n=q(Q,e.__scopePopover),i=f.useRef(null),s=(0,j.useComposedRefs)(r,i),a=f.useRef(!1);return f.useEffect(()=>{let e=i.current;if(e)return(0,I.hideOthers)(e)},[]),(0,t.jsx)(B.RemoveScroll,{as:Z,allowPinchZoom:!0,children:(0,t.jsx)(er,{...e,ref:s,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,C.composeEventHandlers)(e.onCloseAutoFocus,e=>{e.preventDefault(),a.current||n.triggerRef.current?.focus()}),onPointerDownOutside:(0,C.composeEventHandlers)(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,r=0===t.button&&!0===t.ctrlKey;a.current=2===t.button||r},{checkForDefaultPrevented:!1}),onFocusOutside:(0,C.composeEventHandlers)(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})}),et=f.forwardRef((e,r)=>{let n=q(Q,e.__scopePopover),i=f.useRef(!1),s=f.useRef(!1);return(0,t.jsx)(er,{...e,ref:r,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(i.current||n.triggerRef.current?.focus(),t.preventDefault()),i.current=!1,s.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(i.current=!0,"pointerdown"===t.detail.originalEvent.type&&(s.current=!0));let r=t.target;n.triggerRef.current?.contains(r)&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&s.current&&t.preventDefault()}})}),er=f.forwardRef((e,r)=>{let{__scopePopover:n,trapFocus:i,onOpenAutoFocus:s,onCloseAutoFocus:a,disableOutsidePointerEvents:o,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:c,onInteractOutside:d,...h}=e,f=q(Q,n),p=z(n);return(0,k.useFocusGuards)(),(0,t.jsx)(S.FocusScope,{asChild:!0,loop:!0,trapped:i,onMountAutoFocus:s,onUnmountAutoFocus:a,children:(0,t.jsx)(A.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:o,onInteractOutside:d,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:c,onDismiss:()=>f.onOpenChange(!1),children:(0,t.jsx)(N.Content,{"data-state":ei(f.open),role:"dialog",id:f.contentId,...p,...h,ref:r,style:{...h.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),en="PopoverClose";function ei(e){return e?"open":"closed"}f.forwardRef((e,r)=>{let{__scopePopover:n,...i}=e,s=q(en,n);return(0,t.jsx)(R.Primitive.button,{type:"button",...i,ref:r,onClick:(0,C.composeEventHandlers)(e.onClick,()=>s.onOpenChange(!1))})}).displayName=en,f.forwardRef((e,r)=>{let{__scopePopover:n,...i}=e,s=z(n);return(0,t.jsx)(N.Arrow,{...s,...i,ref:r})}).displayName="PopoverArrow";let es=f.forwardRef(({className:e,align:r="center",sideOffset:n=4,...i},s)=>(0,t.jsx)(X,{children:(0,t.jsx)(Y,{ref:s,align:r,sideOffset:n,className:(0,b.cn)("z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...i})}));es.displayName=Y.displayName;var ea=e.i(20648),eo=e.i(361877);function el({collapsed:e}){let{mode:r,currentProject:n,projects:i,switchProject:s}=(0,ea.useProject)(),[a,o]=(0,f.useState)(!1),[l,u]=(0,f.useState)(!1);if("multi-project"!==r)return null;let c=async e=>{await s(e),o(!1)},d=[...i].sort((e,t)=>e.favorite===t.favorite?0:e.favorite?-1:1);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(eo.CreateProjectDialog,{open:l,onOpenChange:u}),(0,t.jsxs)(H,{open:a,onOpenChange:o,children:[(0,t.jsx)(W,{asChild:!0,children:(0,t.jsx)(y.Button,{variant:"outline",role:"combobox","aria-expanded":a,className:(0,b.cn)("w-full justify-between",e?"h-9 w-9 p-0 justify-center":"px-3"),children:e?(0,t.jsx)(v.FolderOpen,{className:"h-4 w-4"}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 truncate",children:[(0,t.jsx)(v.FolderOpen,{className:"h-4 w-4 shrink-0 opacity-50"}),(0,t.jsx)("span",{className:"truncate",children:n?.name||"Select project..."})]}),(0,t.jsx)(m,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})})}),(0,t.jsx)(es,{className:"w-[200px] p-0",align:"start",children:(0,t.jsxs)(w.Command,{children:[(0,t.jsx)(w.CommandInput,{placeholder:"Search projects..."}),(0,t.jsxs)(w.CommandList,{children:[(0,t.jsx)(w.CommandEmpty,{children:"No project found."}),(0,t.jsx)(w.CommandGroup,{heading:"Projects",children:d.map(e=>(0,t.jsx)(w.CommandItem,{onSelect:()=>c(e.id),className:"text-sm",children:(0,t.jsxs)("div",{className:"flex items-center gap-2 w-full",children:[(0,t.jsx)(p.Check,{className:(0,b.cn)("mr-2 h-4 w-4",n?.id===e.id?"opacity-100":"opacity-0")}),(0,t.jsx)("span",{className:"truncate flex-1",children:e.name}),e.favorite&&(0,t.jsx)(x.Star,{className:"h-3 w-3 fill-yellow-500 text-yellow-500"})]})},e.id))}),(0,t.jsx)(w.CommandSeparator,{}),(0,t.jsx)(w.CommandGroup,{children:(0,t.jsxs)(w.CommandItem,{className:"cursor-pointer",onSelect:()=>{o(!1),u(!0)},children:[(0,t.jsx)(g.Plus,{className:"mr-2 h-4 w-4"}),"Create Project"]})})]})]})})]})]})}function eu({href:e,icon:n,children:i,description:s,currentPath:a,isCollapsed:o}){let l=a===e||"/"!==e&&a.startsWith(e);return(0,t.jsxs)(r.default,{href:e,className:(0,b.cn)("flex items-center gap-3 rounded-lg px-3 py-2 transition-colors","hover:bg-accent hover:text-accent-foreground",l&&"bg-accent text-accent-foreground font-medium",o&&"justify-center px-2"),children:[(0,t.jsx)(n,{className:(0,b.cn)("h-5 w-5 shrink-0",l&&"text-primary")}),!o&&(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsx)("span",{className:"text-sm",children:i}),s&&(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:s})]})]})}function ec(){let e=(0,n.usePathname)(),[r,a]=f.useState(()=>"true"===localStorage.getItem("main-sidebar-collapsed")),[p,m]=f.useState(!1),[g,v]=f.useState(!1);return f.useEffect(()=>{v(!0)},[]),f.useEffect(()=>{document.documentElement.style.setProperty("--main-sidebar-width",r?"60px":"240px"),localStorage.setItem("main-sidebar-collapsed",String(r))},[r]),f.useEffect(()=>{m(!1)},[e]),f.useEffect(()=>(window.toggleMainSidebar=()=>m(e=>!e),()=>{window.toggleMainSidebar=void 0}),[]),(0,t.jsxs)(t.Fragment,{children:[p&&(0,t.jsx)("div",{className:"fixed inset-0 bg-black/50 z-40 lg:hidden",onClick:()=>m(!1)}),(0,t.jsx)("aside",{className:(0,b.cn)("border-r border-border bg-background transition-all duration-300 flex-shrink-0","hidden lg:flex lg:sticky lg:top-14 lg:h-[calc(100vh-3.5rem)]",g&&r?"lg:w-[60px]":"lg:w-[240px]",p&&"fixed inset-y-0 left-0 z-[60] flex w-[280px]"),children:(0,t.jsxs)("div",{className:"flex flex-col h-full w-full",children:[(0,t.jsx)("div",{className:"lg:hidden flex justify-end p-2 border-b border-border",children:(0,t.jsxs)(y.Button,{variant:"ghost",size:"sm",onClick:()=>m(!1),className:"h-8 w-8 p-0",children:[(0,t.jsx)(h.X,{className:"h-4 w-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close menu"})]})}),g&&(0,t.jsxs)("nav",{className:"flex-1 px-2 py-4 space-y-1",children:[(0,t.jsx)("div",{className:"mb-4",children:(0,t.jsx)(el,{collapsed:r&&!p})}),(0,t.jsx)(eu,{href:"/",icon:i.Home,currentPath:e,description:!r||p?"Dashboard":void 0,isCollapsed:r&&!p,children:"Home"}),(0,t.jsx)(eu,{href:"/specs",icon:s.FileText,currentPath:e,description:!r||p?"All Specifications":void 0,isCollapsed:r&&!p,children:"Specs"}),(0,t.jsx)(eu,{href:"/dependencies",icon:u,currentPath:e,description:!r||p?"Dependency Graph":void 0,isCollapsed:r&&!p,children:"Dependencies"}),(0,t.jsx)(eu,{href:"/stats",icon:o,currentPath:e,description:!r||p?"Analytics":void 0,isCollapsed:r&&!p,children:"Stats"}),(0,t.jsx)(eu,{href:"/context",icon:l.BookOpen,currentPath:e,description:!r||p?"Project Context":void 0,isCollapsed:r&&!p,children:"Context"})]}),(0,t.jsx)("div",{className:"hidden lg:block p-2 border-t border-border",children:(0,t.jsx)(y.Button,{variant:"ghost",size:"sm",onClick:()=>a(!r),className:(0,b.cn)("w-full",g&&r&&"px-2"),children:g&&r?(0,t.jsx)(d.ChevronRight,{className:"h-4 w-4"}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(c.ChevronLeft,{className:"h-4 w-4 mr-2"}),(0,t.jsx)("span",{className:"text-xs",children:"Collapse"})]})})})]})})]})}e.s(["MainSidebar",()=>ec],742634)},305215,e=>{"use strict";var t=e.i(890022),r=e.i(81795);function n({children:e,...n}){return(0,t.jsx)(r.ThemeProvider,{...n,children:e})}e.s(["ThemeProvider",()=>n])},474916,e=>{"use strict";var t=e.i(178420),r=e.i(995403);e.s(["Toast",()=>t.Toast,"toast",()=>r.toast])},124636,e=>{"use strict";var t=e.i(959124),r=e.i(431231);function n(){return"undefined"!=typeof window}function i(){return"production"}function s(){return(n()?window.vam:i())||"production"}function a(){return"production"===s()}function o(){return"development"===s()}function l(e,t,r){var i,s;if(!n()){let e="[Vercel Web Analytics] Please import `track` from `@vercel/analytics/server` when using this function in a server environment";if(a())console.warn(e);else throw Error(e);return}if(!t){null==(i=window.va)||i.call(window,"event",{name:e,options:r});return}try{let n=function(e,t){if(!e)return;let r=e,n=[];for(let[i,s]of Object.entries(e))"object"==typeof s&&null!==s&&(t.strip?r=function(e,{[e]:t,...r}){return r}(i,r):n.push(i));if(n.length>0&&!t.strip)throw Error(`The following properties are not valid: ${n.join(", ")}. Only strings, numbers, booleans, and null are allowed.`);return r}(t,{strip:a()});null==(s=window.va)||s.call(window,"event",{name:e,data:n,options:r})}catch(e){e instanceof Error&&o()&&console.error(e)}}function u(e){return(0,r.useEffect)(()=>{var t;e.beforeSend&&(null==(t=window.va)||t.call(window,"beforeSend",e.beforeSend))},[e.beforeSend]),(0,r.useEffect)(()=>{!function(e={debug:!0}){var t;if(!n())return;!function(e="auto"){if("auto"===e){window.vam=i();return}window.vam=e}(e.mode),window.va||(window.va=function(...e){(window.vaq=window.vaq||[]).push(e)}),e.beforeSend&&(null==(t=window.va)||t.call(window,"beforeSend",e.beforeSend));let r=e.scriptSrc?e.scriptSrc:o()?"https://va.vercel-scripts.com/v1/script.debug.js":e.basePath?`${e.basePath}/insights/script.js`:"/_vercel/insights/script.js";if(document.head.querySelector(`script[src*="${r}"]`))return;let s=document.createElement("script");s.src=r,s.defer=!0,s.dataset.sdkn="@vercel/analytics"+(e.framework?`/${e.framework}`:""),s.dataset.sdkv="1.5.0",e.disableAutoTrack&&(s.dataset.disableAutoTrack="1"),e.endpoint?s.dataset.endpoint=e.endpoint:e.basePath&&(s.dataset.endpoint=`${e.basePath}/insights`),e.dsn&&(s.dataset.dsn=e.dsn),s.onerror=()=>{let e=o()?"Please check if any ad blockers are enabled and try again.":"Be sure to enable Web Analytics for your project and deploy again. See https://vercel.com/docs/analytics/quickstart for more information.";console.log(`[Vercel Web Analytics] Failed to load script from ${r}. ${e}`)},o()&&!1===e.debug&&(s.dataset.debug="false"),document.head.appendChild(s)}({framework:e.framework||"react",basePath:e.basePath??function(){if(void 0!==t.default&&void 0!==t.default.env)return t.default.env.REACT_APP_VERCEL_OBSERVABILITY_BASEPATH}(),...void 0!==e.route&&{disableAutoTrack:!0},...e})},[]),(0,r.useEffect)(()=>{e.route&&e.path&&function({route:e,path:t}){var r;null==(r=window.va)||r.call(window,"pageview",{route:e,path:t})}({route:e.route,path:e.path})},[e.route,e.path]),null}e.s(["Analytics",()=>u,"track",()=>l])}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,525761,e=>{"use strict";let t=(0,e.i(122436).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);e.s(["ChevronRight",()=>t],525761)},306839,e=>{"use strict";var t=e.i(431231);let n=["top","right","bottom","left"],r=Math.min,i=Math.max,o=Math.round,l=Math.floor,a=e=>({x:e,y:e}),f={left:"right",right:"left",bottom:"top",top:"bottom"},s={start:"end",end:"start"};function c(e,t){return"function"==typeof e?e(t):e}function u(e){return e.split("-")[0]}function d(e){return e.split("-")[1]}function p(e){return"x"===e?"y":"x"}function h(e){return"y"===e?"height":"width"}let m=new Set(["top","bottom"]);function g(e){return m.has(u(e))?"y":"x"}function y(e){return e.replace(/start|end/g,e=>s[e])}let w=["left","right"],x=["right","left"],v=["top","bottom"],b=["bottom","top"];function R(e){return e.replace(/left|right|bottom|top/g,e=>f[e])}function A(e){return"number"!=typeof e?{top:0,right:0,bottom:0,left:0,...e}:{top:e,right:e,bottom:e,left:e}}function S(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function C(e,t,n){let r,{reference:i,floating:o}=e,l=g(t),a=p(g(t)),f=h(a),s=u(t),c="y"===l,m=i.x+i.width/2-o.width/2,y=i.y+i.height/2-o.height/2,w=i[f]/2-o[f]/2;switch(s){case"top":r={x:m,y:i.y-o.height};break;case"bottom":r={x:m,y:i.y+i.height};break;case"right":r={x:i.x+i.width,y:y};break;case"left":r={x:i.x-o.width,y:y};break;default:r={x:i.x,y:i.y}}switch(d(t)){case"start":r[a]-=w*(n&&c?-1:1);break;case"end":r[a]+=w*(n&&c?-1:1)}return r}let L=async(e,t,n)=>{let{placement:r="bottom",strategy:i="absolute",middleware:o=[],platform:l}=n,a=o.filter(Boolean),f=await (null==l.isRTL?void 0:l.isRTL(t)),s=await l.getElementRects({reference:e,floating:t,strategy:i}),{x:c,y:u}=C(s,r,f),d=r,p={},h=0;for(let n=0;n<a.length;n++){let{name:o,fn:m}=a[n],{x:g,y:y,data:w,reset:x}=await m({x:c,y:u,initialPlacement:r,placement:d,strategy:i,middlewareData:p,rects:s,platform:l,elements:{reference:e,floating:t}});c=null!=g?g:c,u=null!=y?y:u,p={...p,[o]:{...p[o],...w}},x&&h<=50&&(h++,"object"==typeof x&&(x.placement&&(d=x.placement),x.rects&&(s=!0===x.rects?await l.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:c,y:u}=C(s,d,f)),n=-1)}return{x:c,y:u,placement:d,strategy:i,middlewareData:p}};async function T(e,t){var n;void 0===t&&(t={});let{x:r,y:i,platform:o,rects:l,elements:a,strategy:f}=e,{boundary:s="clippingAncestors",rootBoundary:u="viewport",elementContext:d="floating",altBoundary:p=!1,padding:h=0}=c(t,e),m=A(h),g=a[p?"floating"===d?"reference":"floating":d],y=S(await o.getClippingRect({element:null==(n=await (null==o.isElement?void 0:o.isElement(g)))||n?g:g.contextElement||await (null==o.getDocumentElement?void 0:o.getDocumentElement(a.floating)),boundary:s,rootBoundary:u,strategy:f})),w="floating"===d?{x:r,y:i,width:l.floating.width,height:l.floating.height}:l.reference,x=await (null==o.getOffsetParent?void 0:o.getOffsetParent(a.floating)),v=await (null==o.isElement?void 0:o.isElement(x))&&await (null==o.getScale?void 0:o.getScale(x))||{x:1,y:1},b=S(o.convertOffsetParentRelativeRectToViewportRelativeRect?await o.convertOffsetParentRelativeRectToViewportRelativeRect({elements:a,rect:w,offsetParent:x,strategy:f}):w);return{top:(y.top-b.top+m.top)/v.y,bottom:(b.bottom-y.bottom+m.bottom)/v.y,left:(y.left-b.left+m.left)/v.x,right:(b.right-y.right+m.right)/v.x}}function P(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function E(e){return n.some(t=>e[t]>=0)}let O=new Set(["left","top"]);async function H(e,t){let{placement:n,platform:r,elements:i}=e,o=await (null==r.isRTL?void 0:r.isRTL(i.floating)),l=u(n),a=d(n),f="y"===g(n),s=O.has(l)?-1:1,p=o&&f?-1:1,h=c(t,e),{mainAxis:m,crossAxis:y,alignmentAxis:w}="number"==typeof h?{mainAxis:h,crossAxis:0,alignmentAxis:null}:{mainAxis:h.mainAxis||0,crossAxis:h.crossAxis||0,alignmentAxis:h.alignmentAxis};return a&&"number"==typeof w&&(y="end"===a?-1*w:w),f?{x:y*p,y:m*s}:{x:m*s,y:y*p}}function k(){return"undefined"!=typeof window}function D(e){return j(e)?(e.nodeName||"").toLowerCase():"#document"}function F(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function W(e){var t;return null==(t=(j(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function j(e){return!!k()&&(e instanceof Node||e instanceof F(e).Node)}function M(e){return!!k()&&(e instanceof Element||e instanceof F(e).Element)}function $(e){return!!k()&&(e instanceof HTMLElement||e instanceof F(e).HTMLElement)}function B(e){return!!k()&&"undefined"!=typeof ShadowRoot&&(e instanceof ShadowRoot||e instanceof F(e).ShadowRoot)}let z=new Set(["inline","contents"]);function N(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=Q(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!z.has(i)}let V=new Set(["table","td","th"]),I=[":popover-open",":modal"];function Y(e){return I.some(t=>{try{return e.matches(t)}catch(e){return!1}})}let _=["transform","translate","scale","rotate","perspective"],X=["transform","translate","scale","rotate","perspective","filter"],q=["paint","layout","strict","content"];function K(e){let t=U(),n=M(e)?Q(e):e;return _.some(e=>!!n[e]&&"none"!==n[e])||!!n.containerType&&"normal"!==n.containerType||!t&&!!n.backdropFilter&&"none"!==n.backdropFilter||!t&&!!n.filter&&"none"!==n.filter||X.some(e=>(n.willChange||"").includes(e))||q.some(e=>(n.contain||"").includes(e))}function U(){return"undefined"!=typeof CSS&&!!CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")}let G=new Set(["html","body","#document"]);function J(e){return G.has(D(e))}function Q(e){return F(e).getComputedStyle(e)}function Z(e){return M(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function ee(e){if("html"===D(e))return e;let t=e.assignedSlot||e.parentNode||B(e)&&e.host||W(e);return B(t)?t.host:t}function et(e,t,n){var r;void 0===t&&(t=[]),void 0===n&&(n=!0);let i=function e(t){let n=ee(t);return J(n)?t.ownerDocument?t.ownerDocument.body:t.body:$(n)&&N(n)?n:e(n)}(e),o=i===(null==(r=e.ownerDocument)?void 0:r.body),l=F(i);if(o){let e=en(l);return t.concat(l,l.visualViewport||[],N(i)?i:[],e&&n?et(e):[])}return t.concat(i,et(i,[],n))}function en(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function er(e){let t=Q(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=$(e),l=i?e.offsetWidth:n,a=i?e.offsetHeight:r,f=o(n)!==l||o(r)!==a;return f&&(n=l,r=a),{width:n,height:r,$:f}}function ei(e){return M(e)?e:e.contextElement}function eo(e){let t=ei(e);if(!$(t))return a(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:l}=er(t),f=(l?o(n.width):n.width)/r,s=(l?o(n.height):n.height)/i;return f&&Number.isFinite(f)||(f=1),s&&Number.isFinite(s)||(s=1),{x:f,y:s}}let el=a(0);function ea(e){let t=F(e);return U()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:el}function ef(e,t,n,r){var i;void 0===t&&(t=!1),void 0===n&&(n=!1);let o=e.getBoundingClientRect(),l=ei(e),f=a(1);t&&(r?M(r)&&(f=eo(r)):f=eo(e));let s=(void 0===(i=n)&&(i=!1),r&&(!i||r===F(l))&&i)?ea(l):a(0),c=(o.left+s.x)/f.x,u=(o.top+s.y)/f.y,d=o.width/f.x,p=o.height/f.y;if(l){let e=F(l),t=r&&M(r)?F(r):r,n=e,i=en(n);for(;i&&r&&t!==n;){let e=eo(i),t=i.getBoundingClientRect(),r=Q(i),o=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,l=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,u*=e.y,d*=e.x,p*=e.y,c+=o,u+=l,i=en(n=F(i))}}return S({width:d,height:p,x:c,y:u})}function es(e,t){let n=Z(e).scrollLeft;return t?t.left+n:ef(W(e)).left+n}function ec(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-es(e,n),y:n.top+t.scrollTop}}let eu=new Set(["absolute","fixed"]);function ed(e,t,n){var r;let o;if("viewport"===t)o=function(e,t){let n=F(e),r=W(e),i=n.visualViewport,o=r.clientWidth,l=r.clientHeight,a=0,f=0;if(i){o=i.width,l=i.height;let e=U();(!e||e&&"fixed"===t)&&(a=i.offsetLeft,f=i.offsetTop)}let s=es(r);if(s<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i="CSS1Compat"===e.compatMode&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,l=Math.abs(r.clientWidth-t.clientWidth-i);l<=25&&(o-=l)}else s<=25&&(o+=s);return{width:o,height:l,x:a,y:f}}(e,n);else if("document"===t){let t,n,l,a,f,s,c;r=W(e),t=W(r),n=Z(r),l=r.ownerDocument.body,a=i(t.scrollWidth,t.clientWidth,l.scrollWidth,l.clientWidth),f=i(t.scrollHeight,t.clientHeight,l.scrollHeight,l.clientHeight),s=-n.scrollLeft+es(r),c=-n.scrollTop,"rtl"===Q(l).direction&&(s+=i(t.clientWidth,l.clientWidth)-a),o={width:a,height:f,x:s,y:c}}else if(M(t)){let e,r,i,l,f,s;r=(e=ef(t,!0,"fixed"===n)).top+t.clientTop,i=e.left+t.clientLeft,l=$(t)?eo(t):a(1),f=t.clientWidth*l.x,s=t.clientHeight*l.y,o={width:f,height:s,x:i*l.x,y:r*l.y}}else{let n=ea(e);o={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return S(o)}function ep(e){return"static"===Q(e).position}function eh(e,t){if(!$(e)||"fixed"===Q(e).position)return null;if(t)return t(e);let n=e.offsetParent;return W(e)===n&&(n=n.ownerDocument.body),n}function em(e,t){var n;let r=F(e);if(Y(e))return r;if(!$(e)){let t=ee(e);for(;t&&!J(t);){if(M(t)&&!ep(t))return t;t=ee(t)}return r}let i=eh(e,t);for(;i&&(n=i,V.has(D(n)))&&ep(i);)i=eh(i,t);return i&&J(i)&&ep(i)&&!K(i)?r:i||function(e){let t=ee(e);for(;$(t)&&!J(t);){if(K(t))return t;if(Y(t))break;t=ee(t)}return null}(e)||r}let eg=async function(e){let t=this.getOffsetParent||em,n=this.getDimensions,r=await n(e.floating);return{reference:function(e,t,n){let r=$(t),i=W(t),o="fixed"===n,l=ef(e,!0,o,t),f={scrollLeft:0,scrollTop:0},s=a(0);if(r||!r&&!o)if(("body"!==D(t)||N(i))&&(f=Z(t)),r){let e=ef(t,!0,o,t);s.x=e.x+t.clientLeft,s.y=e.y+t.clientTop}else i&&(s.x=es(i));o&&!r&&i&&(s.x=es(i));let c=!i||r||o?a(0):ec(i,f);return{x:l.left+f.scrollLeft-s.x-c.x,y:l.top+f.scrollTop-s.y-c.y,width:l.width,height:l.height}}(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}},ey={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,o="fixed"===i,l=W(r),f=!!t&&Y(t.floating);if(r===l||f&&o)return n;let s={scrollLeft:0,scrollTop:0},c=a(1),u=a(0),d=$(r);if((d||!d&&!o)&&(("body"!==D(r)||N(l))&&(s=Z(r)),$(r))){let e=ef(r);c=eo(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let p=!l||d||o?a(0):ec(l,s);return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-s.scrollLeft*c.x+u.x+p.x,y:n.y*c.y-s.scrollTop*c.y+u.y+p.y}},getDocumentElement:W,getClippingRect:function(e){let{element:t,boundary:n,rootBoundary:o,strategy:l}=e,a=[..."clippingAncestors"===n?Y(t)?[]:function(e,t){let n=t.get(e);if(n)return n;let r=et(e,[],!1).filter(e=>M(e)&&"body"!==D(e)),i=null,o="fixed"===Q(e).position,l=o?ee(e):e;for(;M(l)&&!J(l);){let t=Q(l),n=K(l);n||"fixed"!==t.position||(i=null),(o?!n&&!i:!n&&"static"===t.position&&!!i&&eu.has(i.position)||N(l)&&!n&&function e(t,n){let r=ee(t);return!(r===n||!M(r)||J(r))&&("fixed"===Q(r).position||e(r,n))}(e,l))?r=r.filter(e=>e!==l):i=t,l=ee(l)}return t.set(e,r),r}(t,this._c):[].concat(n),o],f=a[0],s=a.reduce((e,n)=>{let o=ed(t,n,l);return e.top=i(o.top,e.top),e.right=r(o.right,e.right),e.bottom=r(o.bottom,e.bottom),e.left=i(o.left,e.left),e},ed(t,f,l));return{width:s.right-s.left,height:s.bottom-s.top,x:s.left,y:s.top}},getOffsetParent:em,getElementRects:eg,getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){let{width:t,height:n}=er(e);return{width:t,height:n}},getScale:eo,isElement:M,isRTL:function(e){return"rtl"===Q(e).direction}};function ew(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}let ex=e=>({name:"arrow",options:e,async fn(t){let{x:n,y:o,placement:l,rects:a,platform:f,elements:s,middlewareData:u}=t,{element:m,padding:y=0}=c(e,t)||{};if(null==m)return{};let w=A(y),x={x:n,y:o},v=p(g(l)),b=h(v),R=await f.getDimensions(m),S="y"===v,C=S?"clientHeight":"clientWidth",L=a.reference[b]+a.reference[v]-x[v]-a.floating[b],T=x[v]-a.reference[v],P=await (null==f.getOffsetParent?void 0:f.getOffsetParent(m)),E=P?P[C]:0;E&&await (null==f.isElement?void 0:f.isElement(P))||(E=s.floating[C]||a.floating[b]);let O=E/2-R[b]/2-1,H=r(w[S?"top":"left"],O),k=r(w[S?"bottom":"right"],O),D=E-R[b]-k,F=E/2-R[b]/2+(L/2-T/2),W=i(H,r(F,D)),j=!u.arrow&&null!=d(l)&&F!==W&&a.reference[b]/2-(F<H?H:k)-R[b]/2<0,M=j?F<H?F-H:F-D:0;return{[v]:x[v]+M,data:{[v]:W,centerOffset:F-W-M,...j&&{alignmentOffset:M}},reset:j}}});var ev=e.i(395635),eb="undefined"!=typeof document?t.useLayoutEffect:function(){};function eR(e,t){let n,r,i;if(e===t)return!0;if(typeof e!=typeof t)return!1;if("function"==typeof e&&e.toString()===t.toString())return!0;if(e&&t&&"object"==typeof e){if(Array.isArray(e)){if((n=e.length)!==t.length)return!1;for(r=n;0!=r--;)if(!eR(e[r],t[r]))return!1;return!0}if((n=(i=Object.keys(e)).length)!==Object.keys(t).length)return!1;for(r=n;0!=r--;)if(!({}).hasOwnProperty.call(t,i[r]))return!1;for(r=n;0!=r--;){let n=i[r];if(("_owner"!==n||!e.$$typeof)&&!eR(e[n],t[n]))return!1}return!0}return e!=e&&t!=t}function eA(e){return"undefined"==typeof window?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function eS(e,t){let n=eA(e);return Math.round(t*n)/n}function eC(e){let n=t.useRef(e);return eb(()=>{n.current=e}),n}var eL=e.i(122925),eT=e.i(890022),eP=t.forwardRef((e,t)=>{let{children:n,width:r=10,height:i=5,...o}=e;return(0,eT.jsx)(eL.Primitive.svg,{...o,ref:t,width:r,height:i,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:(0,eT.jsx)("polygon",{points:"0,0 30,0 15,10"})})});eP.displayName="Arrow";var eE=e.i(430406),eO=e.i(79014),eH=e.i(938657),ek=e.i(943988),eD="Popper",[eF,eW]=(0,eO.createContextScope)(eD),[ej,eM]=eF(eD),e$=e=>{let{__scopePopper:n,children:r}=e,[i,o]=t.useState(null);return(0,eT.jsx)(ej,{scope:n,anchor:i,onAnchorChange:o,children:r})};e$.displayName=eD;var eB="PopperAnchor",ez=t.forwardRef((e,n)=>{let{__scopePopper:r,virtualRef:i,...o}=e,l=eM(eB,r),a=t.useRef(null),f=(0,eE.useComposedRefs)(n,a),s=t.useRef(null);return t.useEffect(()=>{let e=s.current;s.current=i?.current||a.current,e!==s.current&&l.onAnchorChange(s.current)}),i?null:(0,eT.jsx)(eL.Primitive.div,{...o,ref:f})});ez.displayName=eB;var eN="PopperContent",[eV,eI]=eF(eN),eY=t.forwardRef((e,n)=>{var o,a,f,s,m,A,S,C,k,D,F,j,M;let{__scopePopper:$,side:B="bottom",sideOffset:z=0,align:N="center",alignOffset:V=0,arrowPadding:I=0,avoidCollisions:Y=!0,collisionBoundary:_=[],collisionPadding:X=0,sticky:q="partial",hideWhenDetached:K=!1,updatePositionStrategy:U="optimized",onPlaced:G,...J}=e,Q=eM(eN,$),[Z,ee]=t.useState(null),en=(0,eE.useComposedRefs)(n,e=>ee(e)),[er,eo]=t.useState(null),el=function(e){let[n,r]=t.useState(void 0);return(0,ek.useLayoutEffect)(()=>{if(e){r({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{let n,i;if(!Array.isArray(t)||!t.length)return;let o=t[0];if("borderBoxSize"in o){let e=o.borderBoxSize,t=Array.isArray(e)?e[0]:e;n=t.inlineSize,i=t.blockSize}else n=e.offsetWidth,i=e.offsetHeight;r({width:n,height:i})});return t.observe(e,{box:"border-box"}),()=>t.unobserve(e)}r(void 0)},[e]),n}(er),ea=el?.width??0,es=el?.height??0,ec="number"==typeof X?X:{top:0,right:0,bottom:0,left:0,...X},eu=Array.isArray(_)?_:[_],ed=eu.length>0,ep={padding:ec,boundary:eu.filter(eK),altBoundary:ed},{refs:eh,floatingStyles:em,placement:eg,isPositioned:eP,middlewareData:eO}=function(e){void 0===e&&(e={});let{placement:n="bottom",strategy:r="absolute",middleware:i=[],platform:o,elements:{reference:l,floating:a}={},transform:f=!0,whileElementsMounted:s,open:c}=e,[u,d]=t.useState({x:0,y:0,strategy:r,placement:n,middlewareData:{},isPositioned:!1}),[p,h]=t.useState(i);eR(p,i)||h(i);let[m,g]=t.useState(null),[y,w]=t.useState(null),x=t.useCallback(e=>{e!==A.current&&(A.current=e,g(e))},[]),v=t.useCallback(e=>{e!==S.current&&(S.current=e,w(e))},[]),b=l||m,R=a||y,A=t.useRef(null),S=t.useRef(null),C=t.useRef(u),T=null!=s,P=eC(s),E=eC(o),O=eC(c),H=t.useCallback(()=>{var e,t;let i,o,l;if(!A.current||!S.current)return;let a={placement:n,strategy:r,middleware:p};E.current&&(a.platform=E.current),(e=A.current,t=S.current,i=new Map,l={...(o={platform:ey,...a}).platform,_c:i},L(e,t,{...o,platform:l})).then(e=>{let t={...e,isPositioned:!1!==O.current};k.current&&!eR(C.current,t)&&(C.current=t,ev.flushSync(()=>{d(t)}))})},[p,n,r,E,O]);eb(()=>{!1===c&&C.current.isPositioned&&(C.current.isPositioned=!1,d(e=>({...e,isPositioned:!1})))},[c]);let k=t.useRef(!1);eb(()=>(k.current=!0,()=>{k.current=!1}),[]),eb(()=>{if(b&&(A.current=b),R&&(S.current=R),b&&R){if(P.current)return P.current(b,R,H);H()}},[b,R,H,P,T]);let D=t.useMemo(()=>({reference:A,floating:S,setReference:x,setFloating:v}),[x,v]),F=t.useMemo(()=>({reference:b,floating:R}),[b,R]),W=t.useMemo(()=>{let e={position:r,left:0,top:0};if(!F.floating)return e;let t=eS(F.floating,u.x),n=eS(F.floating,u.y);return f?{...e,transform:"translate("+t+"px, "+n+"px)",...eA(F.floating)>=1.5&&{willChange:"transform"}}:{position:r,left:t,top:n}},[r,f,F.floating,u.x,u.y]);return t.useMemo(()=>({...u,update:H,refs:D,elements:F,floatingStyles:W}),[u,H,D,F,W])}({strategy:"fixed",placement:B+("center"!==N?"-"+N:""),whileElementsMounted:(...e)=>(function(e,t,n,o){let a;void 0===o&&(o={});let{ancestorScroll:f=!0,ancestorResize:s=!0,elementResize:c="function"==typeof ResizeObserver,layoutShift:u="function"==typeof IntersectionObserver,animationFrame:d=!1}=o,p=ei(e),h=f||s?[...p?et(p):[],...et(t)]:[];h.forEach(e=>{f&&e.addEventListener("scroll",n,{passive:!0}),s&&e.addEventListener("resize",n)});let m=p&&u?function(e,t){let n,o=null,a=W(e);function f(){var e;clearTimeout(n),null==(e=o)||e.disconnect(),o=null}return!function s(c,u){void 0===c&&(c=!1),void 0===u&&(u=1),f();let d=e.getBoundingClientRect(),{left:p,top:h,width:m,height:g}=d;if(c||t(),!m||!g)return;let y={rootMargin:-l(h)+"px "+-l(a.clientWidth-(p+m))+"px "+-l(a.clientHeight-(h+g))+"px "+-l(p)+"px",threshold:i(0,r(1,u))||1},w=!0;function x(t){let r=t[0].intersectionRatio;if(r!==u){if(!w)return s();r?s(!1,r):n=setTimeout(()=>{s(!1,1e-7)},1e3)}1!==r||ew(d,e.getBoundingClientRect())||s(),w=!1}try{o=new IntersectionObserver(x,{...y,root:a.ownerDocument})}catch(e){o=new IntersectionObserver(x,y)}o.observe(e)}(!0),f}(p,n):null,g=-1,y=null;c&&(y=new ResizeObserver(e=>{let[r]=e;r&&r.target===p&&y&&(y.unobserve(t),cancelAnimationFrame(g),g=requestAnimationFrame(()=>{var e;null==(e=y)||e.observe(t)})),n()}),p&&!d&&y.observe(p),y.observe(t));let w=d?ef(e):null;return d&&function t(){let r=ef(e);w&&!ew(w,r)&&n(),w=r,a=requestAnimationFrame(t)}(),n(),()=>{var e;h.forEach(e=>{f&&e.removeEventListener("scroll",n),s&&e.removeEventListener("resize",n)}),null==m||m(),null==(e=y)||e.disconnect(),y=null,d&&cancelAnimationFrame(a)}})(...e,{animationFrame:"always"===U}),elements:{reference:Q.anchor},middleware:[{...{name:"offset",options:a=o={mainAxis:z+es,alignmentAxis:V},async fn(e){var t,n;let{x:r,y:i,placement:o,middlewareData:l}=e,f=await H(e,a);return o===(null==(t=l.offset)?void 0:t.placement)&&null!=(n=l.arrow)&&n.alignmentOffset?{}:{x:r+f.x,y:i+f.y,data:{...f,placement:o}}}},options:[o,void 0]},Y&&{...{name:"shift",options:m=s={mainAxis:!0,crossAxis:!1,limiter:"partial"===q?{...(f=void 0,{options:f={},fn(e){let{x:t,y:n,placement:r,rects:i,middlewareData:o}=e,{offset:l=0,mainAxis:a=!0,crossAxis:s=!0}=c(f,e),d={x:t,y:n},h=g(r),m=p(h),y=d[m],w=d[h],x=c(l,e),v="number"==typeof x?{mainAxis:x,crossAxis:0}:{mainAxis:0,crossAxis:0,...x};if(a){let e="y"===m?"height":"width",t=i.reference[m]-i.floating[e]+v.mainAxis,n=i.reference[m]+i.reference[e]-v.mainAxis;y<t?y=t:y>n&&(y=n)}if(s){var b,R;let e="y"===m?"width":"height",t=O.has(u(r)),n=i.reference[h]-i.floating[e]+(t&&(null==(b=o.offset)?void 0:b[h])||0)+(t?0:v.crossAxis),l=i.reference[h]+i.reference[e]+(t?0:(null==(R=o.offset)?void 0:R[h])||0)-(t?v.crossAxis:0);w<n?w=n:w>l&&(w=l)}return{[m]:y,[h]:w}}}),options:[void 0,void 0]}:void 0,...ep},async fn(e){let{x:t,y:n,placement:o}=e,{mainAxis:l=!0,crossAxis:a=!1,limiter:f={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...s}=c(m,e),d={x:t,y:n},h=await T(e,s),y=g(u(o)),w=p(y),x=d[w],v=d[y];if(l){let e="y"===w?"top":"left",t="y"===w?"bottom":"right",n=x+h[e],o=x-h[t];x=i(n,r(x,o))}if(a){let e="y"===y?"top":"left",t="y"===y?"bottom":"right",n=v+h[e],o=v-h[t];v=i(n,r(v,o))}let b=f.fn({...e,[w]:x,[y]:v});return{...b,data:{x:b.x-t,y:b.y-n,enabled:{[w]:l,[y]:a}}}}},options:[s,void 0]},Y&&{...{name:"flip",options:S=A={...ep},async fn(e){var t,n,r,i,o,l,a,f;let s,m,A,{placement:C,middlewareData:L,rects:P,initialPlacement:E,platform:O,elements:H}=e,{mainAxis:k=!0,crossAxis:D=!0,fallbackPlacements:F,fallbackStrategy:W="bestFit",fallbackAxisSideDirection:j="none",flipAlignment:M=!0,...$}=c(S,e);if(null!=(t=L.arrow)&&t.alignmentOffset)return{};let B=u(C),z=g(E),N=u(E)===E,V=await (null==O.isRTL?void 0:O.isRTL(H.floating)),I=F||(N||!M?[R(E)]:(s=R(E),[y(E),s,y(s)])),Y="none"!==j;!F&&Y&&I.push(...(m=d(E),A=function(e,t,n){switch(e){case"top":case"bottom":if(n)return t?x:w;return t?w:x;case"left":case"right":return t?v:b;default:return[]}}(u(E),"start"===j,V),m&&(A=A.map(e=>e+"-"+m),M&&(A=A.concat(A.map(y)))),A));let _=[E,...I],X=await T(e,$),q=[],K=(null==(n=L.flip)?void 0:n.overflows)||[];if(k&&q.push(X[B]),D){let e,t,n,r,i=(l=C,a=P,void 0===(f=V)&&(f=!1),e=d(l),n=h(t=p(g(l))),r="x"===t?e===(f?"end":"start")?"right":"left":"start"===e?"bottom":"top",a.reference[n]>a.floating[n]&&(r=R(r)),[r,R(r)]);q.push(X[i[0]],X[i[1]])}if(K=[...K,{placement:C,overflows:q}],!q.every(e=>e<=0)){let e=((null==(r=L.flip)?void 0:r.index)||0)+1,t=_[e];if(t&&("alignment"!==D||z===g(t)||K.every(e=>g(e.placement)!==z||e.overflows[0]>0)))return{data:{index:e,overflows:K},reset:{placement:t}};let n=null==(i=K.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0])?void 0:i.placement;if(!n)switch(W){case"bestFit":{let e=null==(o=K.filter(e=>{if(Y){let t=g(e.placement);return t===z||"y"===t}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0])?void 0:o[0];e&&(n=e);break}case"initialPlacement":n=E}if(C!==n)return{reset:{placement:n}}}return{}}},options:[A,void 0]},{...{name:"size",options:k=C={...ep,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:o}=t.reference,l=e.floating.style;l.setProperty("--radix-popper-available-width",`${n}px`),l.setProperty("--radix-popper-available-height",`${r}px`),l.setProperty("--radix-popper-anchor-width",`${i}px`),l.setProperty("--radix-popper-anchor-height",`${o}px`)}},async fn(e){var t,n;let o,l,{placement:a,rects:f,platform:s,elements:p}=e,{apply:h=()=>{},...m}=c(k,e),y=await T(e,m),w=u(a),x=d(a),v="y"===g(a),{width:b,height:R}=f.floating;"top"===w||"bottom"===w?(o=w,l=x===(await (null==s.isRTL?void 0:s.isRTL(p.floating))?"start":"end")?"left":"right"):(l=w,o="end"===x?"top":"bottom");let A=R-y.top-y.bottom,S=b-y.left-y.right,C=r(R-y[o],A),L=r(b-y[l],S),P=!e.middlewareData.shift,E=C,O=L;if(null!=(t=e.middlewareData.shift)&&t.enabled.x&&(O=S),null!=(n=e.middlewareData.shift)&&n.enabled.y&&(E=A),P&&!x){let e=i(y.left,0),t=i(y.right,0),n=i(y.top,0),r=i(y.bottom,0);v?O=b-2*(0!==e||0!==t?e+t:i(y.left,y.right)):E=R-2*(0!==n||0!==r?n+r:i(y.top,y.bottom))}await h({...e,availableWidth:O,availableHeight:E});let H=await s.getDimensions(p.floating);return b!==H.width||R!==H.height?{reset:{rects:!0}}:{}}},options:[C,void 0]},er&&{...{name:"arrow",options:F=D={element:er,padding:I},fn(e){let{element:t,padding:n}="function"==typeof F?F(e):F;return t&&({}).hasOwnProperty.call(t,"current")?null!=t.current?ex({element:t.current,padding:n}).fn(e):{}:t?ex({element:t,padding:n}).fn(e):{}}},options:[D,void 0]},eU({arrowWidth:ea,arrowHeight:es}),K&&{...{name:"hide",options:M=j={strategy:"referenceHidden",...ep},async fn(e){let{rects:t}=e,{strategy:n="referenceHidden",...r}=c(M,e);switch(n){case"referenceHidden":{let n=P(await T(e,{...r,elementContext:"reference"}),t.reference);return{data:{referenceHiddenOffsets:n,referenceHidden:E(n)}}}case"escaped":{let n=P(await T(e,{...r,altBoundary:!0}),t.floating);return{data:{escapedOffsets:n,escaped:E(n)}}}default:return{}}}},options:[j,void 0]}]}),[eD,eF]=eG(eg),eW=(0,eH.useCallbackRef)(G);(0,ek.useLayoutEffect)(()=>{eP&&eW?.()},[eP,eW]);let ej=eO.arrow?.x,e$=eO.arrow?.y,eB=eO.arrow?.centerOffset!==0,[ez,eI]=t.useState();return(0,ek.useLayoutEffect)(()=>{Z&&eI(window.getComputedStyle(Z).zIndex)},[Z]),(0,eT.jsx)("div",{ref:eh.setFloating,"data-radix-popper-content-wrapper":"",style:{...em,transform:eP?em.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:ez,"--radix-popper-transform-origin":[eO.transformOrigin?.x,eO.transformOrigin?.y].join(" "),...eO.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:(0,eT.jsx)(eV,{scope:$,placedSide:eD,onArrowChange:eo,arrowX:ej,arrowY:e$,shouldHideArrow:eB,children:(0,eT.jsx)(eL.Primitive.div,{"data-side":eD,"data-align":eF,...J,ref:en,style:{...J.style,animation:eP?void 0:"none"}})})})});eY.displayName=eN;var e_="PopperArrow",eX={top:"bottom",right:"left",bottom:"top",left:"right"},eq=t.forwardRef(function(e,t){let{__scopePopper:n,...r}=e,i=eI(e_,n),o=eX[i.placedSide];return(0,eT.jsx)("span",{ref:i.onArrowChange,style:{position:"absolute",left:i.arrowX,top:i.arrowY,[o]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[i.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[i.placedSide],visibility:i.shouldHideArrow?"hidden":void 0},children:(0,eT.jsx)(eP,{...r,ref:t,style:{...r.style,display:"block"}})})});function eK(e){return null!==e}eq.displayName=e_;var eU=e=>({name:"transformOrigin",options:e,fn(t){let{placement:n,rects:r,middlewareData:i}=t,o=i.arrow?.centerOffset!==0,l=o?0:e.arrowWidth,a=o?0:e.arrowHeight,[f,s]=eG(n),c={start:"0%",center:"50%",end:"100%"}[s],u=(i.arrow?.x??0)+l/2,d=(i.arrow?.y??0)+a/2,p="",h="";return"bottom"===f?(p=o?c:`${u}px`,h=`${-a}px`):"top"===f?(p=o?c:`${u}px`,h=`${r.floating.height+a}px`):"right"===f?(p=`${-a}px`,h=o?c:`${d}px`):"left"===f&&(p=`${r.floating.width+a}px`,h=o?c:`${d}px`),{data:{x:p,y:h}}}});function eG(e){let[t,n="center"]=e.split("-");return[t,n]}e.s(["Anchor",()=>ez,"Arrow",()=>eq,"Content",()=>eY,"Root",()=>e$,"createPopperScope",()=>eW],306839)}]);
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,842541,e=>{"use strict";e.s(["default",0,function(e,t){return e*=1,t*=1,function(r){return e*(1-r)+t*r}}])},161610,189517,321137,e=>{"use strict";function t(e,t,r){e.prototype=t.prototype=r,r.constructor=e}function r(e,t){var r=Object.create(e.prototype);for(var n in t)r[n]=t[n];return r}function n(){}e.s(["default",0,t,"extend",()=>r],189517);var s="\\s*([+-]?\\d+)\\s*",a="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",o="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",i=/^#([0-9a-f]{3,8})$/,l=RegExp(`^rgb\\(${s},${s},${s}\\)$`),d=RegExp(`^rgb\\(${o},${o},${o}\\)$`),c=RegExp(`^rgba\\(${s},${s},${s},${a}\\)$`),u=RegExp(`^rgba\\(${o},${o},${o},${a}\\)$`),f=RegExp(`^hsl\\(${a},${o},${o}\\)$`),h=RegExp(`^hsla\\(${a},${o},${o},${a}\\)$`),m={aliceblue:0xf0f8ff,antiquewhite:0xfaebd7,aqua:65535,aquamarine:8388564,azure:0xf0ffff,beige:0xf5f5dc,bisque:0xffe4c4,black:0,blanchedalmond:0xffebcd,blue:255,blueviolet:9055202,brown:0xa52a2a,burlywood:0xdeb887,cadetblue:6266528,chartreuse:8388352,chocolate:0xd2691e,coral:0xff7f50,cornflowerblue:6591981,cornsilk:0xfff8dc,crimson:0xdc143c,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:0xb8860b,darkgray:0xa9a9a9,darkgreen:25600,darkgrey:0xa9a9a9,darkkhaki:0xbdb76b,darkmagenta:9109643,darkolivegreen:5597999,darkorange:0xff8c00,darkorchid:0x9932cc,darkred:9109504,darksalmon:0xe9967a,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:0xff1493,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:0xb22222,floralwhite:0xfffaf0,forestgreen:2263842,fuchsia:0xff00ff,gainsboro:0xdcdcdc,ghostwhite:0xf8f8ff,gold:0xffd700,goldenrod:0xdaa520,gray:8421504,green:32768,greenyellow:0xadff2f,grey:8421504,honeydew:0xf0fff0,hotpink:0xff69b4,indianred:0xcd5c5c,indigo:4915330,ivory:0xfffff0,khaki:0xf0e68c,lavender:0xe6e6fa,lavenderblush:0xfff0f5,lawngreen:8190976,lemonchiffon:0xfffacd,lightblue:0xadd8e6,lightcoral:0xf08080,lightcyan:0xe0ffff,lightgoldenrodyellow:0xfafad2,lightgray:0xd3d3d3,lightgreen:9498256,lightgrey:0xd3d3d3,lightpink:0xffb6c1,lightsalmon:0xffa07a,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:0xb0c4de,lightyellow:0xffffe0,lime:65280,limegreen:3329330,linen:0xfaf0e6,magenta:0xff00ff,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:0xba55d3,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:0xc71585,midnightblue:1644912,mintcream:0xf5fffa,mistyrose:0xffe4e1,moccasin:0xffe4b5,navajowhite:0xffdead,navy:128,oldlace:0xfdf5e6,olive:8421376,olivedrab:7048739,orange:0xffa500,orangered:0xff4500,orchid:0xda70d6,palegoldenrod:0xeee8aa,palegreen:0x98fb98,paleturquoise:0xafeeee,palevioletred:0xdb7093,papayawhip:0xffefd5,peachpuff:0xffdab9,peru:0xcd853f,pink:0xffc0cb,plum:0xdda0dd,powderblue:0xb0e0e6,purple:8388736,rebeccapurple:6697881,red:0xff0000,rosybrown:0xbc8f8f,royalblue:4286945,saddlebrown:9127187,salmon:0xfa8072,sandybrown:0xf4a460,seagreen:3050327,seashell:0xfff5ee,sienna:0xa0522d,silver:0xc0c0c0,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:0xfffafa,springgreen:65407,steelblue:4620980,tan:0xd2b48c,teal:32896,thistle:0xd8bfd8,tomato:0xff6347,turquoise:4251856,violet:0xee82ee,wheat:0xf5deb3,white:0xffffff,whitesmoke:0xf5f5f5,yellow:0xffff00,yellowgreen:0x9acd32};function g(){return this.rgb().formatHex()}function x(){return this.rgb().formatRgb()}function p(e){var t,r;return e=(e+"").trim().toLowerCase(),(t=i.exec(e))?(r=t[1].length,t=parseInt(t[1],16),6===r?b(t):3===r?new N(t>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===r?y(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===r?y(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=l.exec(e))?new N(t[1],t[2],t[3],1):(t=d.exec(e))?new N(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=c.exec(e))?y(t[1],t[2],t[3],t[4]):(t=u.exec(e))?y(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=f.exec(e))?M(t[1],t[2]/100,t[3]/100,1):(t=h.exec(e))?M(t[1],t[2]/100,t[3]/100,t[4]):m.hasOwnProperty(e)?b(m[e]):"transparent"===e?new N(NaN,NaN,NaN,0):null}function b(e){return new N(e>>16&255,e>>8&255,255&e,1)}function y(e,t,r,n){return n<=0&&(e=t=r=NaN),new N(e,t,r,n)}function w(e){return(e instanceof n||(e=p(e)),e)?new N((e=e.rgb()).r,e.g,e.b,e.opacity):new N}function v(e,t,r,n){return 1==arguments.length?w(e):new N(e,t,r,null==n?1:n)}function N(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}function j(){return`#${E(this.r)}${E(this.g)}${E(this.b)}`}function k(){let e=S(this.opacity);return`${1===e?"rgb(":"rgba("}${$(this.r)}, ${$(this.g)}, ${$(this.b)}${1===e?")":`, ${e})`}`}function S(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function $(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function E(e){return((e=$(e))<16?"0":"")+e.toString(16)}function M(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new R(e,t,r,n)}function C(e){if(e instanceof R)return new R(e.h,e.s,e.l,e.opacity);if(e instanceof n||(e=p(e)),!e)return new R;if(e instanceof R)return e;var t=(e=e.rgb()).r/255,r=e.g/255,s=e.b/255,a=Math.min(t,r,s),o=Math.max(t,r,s),i=NaN,l=o-a,d=(o+a)/2;return l?(i=t===o?(r-s)/l+(r<s)*6:r===o?(s-t)/l+2:(t-r)/l+4,l/=d<.5?o+a:2-o-a,i*=60):l=d>0&&d<1?0:i,new R(i,l,d,e.opacity)}function R(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}function O(e){return(e=(e||0)%360)<0?e+360:e}function z(e){return Math.max(0,Math.min(1,e||0))}function L(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}t(n,p,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:g,formatHex:g,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return C(this).formatHsl()},formatRgb:x,toString:x}),t(N,v,r(n,{brighter(e){return e=null==e?1.4285714285714286:Math.pow(1.4285714285714286,e),new N(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=null==e?.7:Math.pow(.7,e),new N(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new N($(this.r),$(this.g),$(this.b),S(this.opacity))},displayable(){return -.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:j,formatHex:j,formatHex8:function(){return`#${E(this.r)}${E(this.g)}${E(this.b)}${E((isNaN(this.opacity)?1:this.opacity)*255)}`},formatRgb:k,toString:k})),t(R,function(e,t,r,n){return 1==arguments.length?C(e):new R(e,t,r,null==n?1:n)},r(n,{brighter(e){return e=null==e?1.4285714285714286:Math.pow(1.4285714285714286,e),new R(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?.7:Math.pow(.7,e),new R(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*t,s=2*r-n;return new N(L(e>=240?e-240:e+120,s,n),L(e,s,n),L(e<120?e+240:e-120,s,n),this.opacity)},clamp(){return new R(O(this.h),z(this.s),z(this.l),S(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=S(this.opacity);return`${1===e?"hsl(":"hsla("}${O(this.h)}, ${100*z(this.s)}%, ${100*z(this.l)}%${1===e?")":`, ${e})`}`}})),e.s(["Color",()=>n,"Rgb",()=>N,"default",()=>p,"rgb",()=>v,"rgbConvert",()=>w],321137),e.s(["color",()=>p],161610)},77075,e=>{"use strict";var t=e.i(842541);e.s(["interpolateNumber",()=>t.default])},145665,181503,425902,e=>{"use strict";var t=e.i(321137);function r(e,t,r,n,s){var a=e*e,o=a*e;return((1-3*e+3*a-o)*t+(4-6*a+3*o)*r+(1+3*e+3*a-3*o)*n+o*s)/6}let n=e=>()=>e;function s(e,t){return function(r){return e+r*t}}function a(e,t){var r=t-e;return r?s(e,r>180||r<-180?r-360*Math.round(r/360):r):n(isNaN(e)?t:e)}function o(e){return 1==(e*=1)?i:function(t,r){var s,a,o;return r-t?(s=t,a=r,s=Math.pow(s,o=e),a=Math.pow(a,o)-s,o=1/o,function(e){return Math.pow(s+e*a,o)}):n(isNaN(t)?r:t)}}function i(e,t){var r=t-e;return r?s(e,r):n(isNaN(e)?t:e)}e.s(["default",0,n],181503),e.s(["default",()=>i,"gamma",()=>o,"hue",()=>a],425902);let l=function e(r){var n=o(r);function s(e,r){var s=n((e=(0,t.rgb)(e)).r,(r=(0,t.rgb)(r)).r),a=n(e.g,r.g),o=n(e.b,r.b),l=i(e.opacity,r.opacity);return function(t){return e.r=s(t),e.g=a(t),e.b=o(t),e.opacity=l(t),e+""}}return s.gamma=e,s}(1);function d(e){return function(r){var n,s,a=r.length,o=Array(a),i=Array(a),l=Array(a);for(n=0;n<a;++n)s=(0,t.rgb)(r[n]),o[n]=s.r||0,i[n]=s.g||0,l[n]=s.b||0;return o=e(o),i=e(i),l=e(l),s.opacity=1,function(e){return s.r=o(e),s.g=i(e),s.b=l(e),s+""}}}d(function(e){var t=e.length-1;return function(n){var s=n<=0?n=0:n>=1?(n=1,t-1):Math.floor(n*t),a=e[s],o=e[s+1],i=s>0?e[s-1]:2*a-o,l=s<t-1?e[s+2]:2*o-a;return r((n-s/t)*t,i,a,o,l)}}),d(function(e){var t=e.length;return function(n){var s=Math.floor(((n%=1)<0?++n:n)*t),a=e[(s+t-1)%t],o=e[s%t],i=e[(s+1)%t],l=e[(s+2)%t];return r((n-s/t)*t,a,o,i,l)}}),e.s(["default",0,l],145665)},647483,e=>{"use strict";var t=e.i(842541),r=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,n=RegExp(r.source,"g");e.s(["default",0,function(e,s){var a,o,i,l,d,c=r.lastIndex=n.lastIndex=0,u=-1,f=[],h=[];for(e+="",s+="";(i=r.exec(e))&&(l=n.exec(s));)(d=l.index)>c&&(d=s.slice(c,d),f[u]?f[u]+=d:f[++u]=d),(i=i[0])===(l=l[0])?f[u]?f[u]+=l:f[++u]=l:(f[++u]=null,h.push({i:u,x:(0,t.default)(i,l)})),c=n.lastIndex;return c<s.length&&(d=s.slice(c),f[u]?f[u]+=d:f[++u]=d),f.length<2?h[0]?(a=h[0].x,function(e){return a(e)+""}):(o=s,function(){return o}):(s=h.length,function(e){for(var t,r=0;r<s;++r)f[(t=h[r]).i]=t.x(e);return f.join("")})}])},170305,(e,t,r)=>{"use strict";var n=e.r(431231),s="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},a=n.useState,o=n.useEffect,i=n.useLayoutEffect,l=n.useDebugValue;function d(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!s(e,r)}catch(e){return!0}}var c="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var r=t(),n=a({inst:{value:r,getSnapshot:t}}),s=n[0].inst,c=n[1];return i(function(){s.value=r,s.getSnapshot=t,d(s)&&c({inst:s})},[e,r,t]),o(function(){return d(s)&&c({inst:s}),e(function(){d(s)&&c({inst:s})})},[e]),l(r),r};r.useSyncExternalStore=void 0!==n.useSyncExternalStore?n.useSyncExternalStore:c},334960,(e,t,r)=>{"use strict";t.exports=e.r(170305)},721665,(e,t,r)=>{"use strict";var n=e.r(431231),s=e.r(334960),a="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},o=s.useSyncExternalStore,i=n.useRef,l=n.useEffect,d=n.useMemo,c=n.useDebugValue;r.useSyncExternalStoreWithSelector=function(e,t,r,n,s){var u=i(null);if(null===u.current){var f={hasValue:!1,value:null};u.current=f}else f=u.current;var h=o(e,(u=d(function(){function e(e){if(!l){if(l=!0,o=e,e=n(e),void 0!==s&&f.hasValue){var t=f.value;if(s(t,e))return i=t}return i=e}if(t=i,a(o,e))return t;var r=n(e);return void 0!==s&&s(t,r)?(o=e,t):(o=e,i=r)}var o,i,l=!1,d=void 0===r?null:r;return[function(){return e(t())},null===d?void 0:function(){return e(d())}]},[t,r,n,s]))[0],u[1]);return l(function(){f.hasValue=!0,f.value=h},[h]),c(h),h}},596177,(e,t,r)=>{"use strict";t.exports=e.r(721665)},506361,e=>{"use strict";var t=e.i(890022),r=e.i(431231),n=e.i(230827),s=e.i(910338),a=e.i(555141),o=e.i(252294),i=e.i(796007),l=e.i(799388);e.i(250149);var d=e.i(402481),c=e.i(158687),u=e.i(692423),f=e.i(954542),h=e.i(771864);let m=({id:e,x:t,y:n,width:s,height:a,style:o,color:l,strokeColor:d,strokeWidth:c,className:u,borderRadius:f,shapeRendering:h,onClick:m,selected:g})=>{let{background:x,backgroundColor:p}=o||{};return r.default.createElement("rect",{className:(0,i.default)(["react-flow__minimap-node",{selected:g},u]),x:t,y:n,rx:f,ry:f,width:s,height:a,fill:l||x||p,stroke:d,strokeWidth:c,shapeRendering:h,onClick:m?t=>m(t,e):void 0})};m.displayName="MiniMapNode";var g=(0,r.memo)(m);let x=e=>e.nodeOrigin,p=e=>e.getNodes().filter(e=>!e.hidden&&e.width&&e.height),b=e=>e instanceof Function?e:()=>e;var y=(0,r.memo)(function({nodeStrokeColor:e="transparent",nodeColor:t="#e2e2e2",nodeClassName:n="",nodeBorderRadius:s=5,nodeStrokeWidth:a=2,nodeComponent:o=g,onClick:i}){let d=(0,h.useStore)(p,l.shallow),c=(0,h.useStore)(x),u=b(t),f=b(e),m=b(n),y="undefined"==typeof window||window.chrome?"crispEdges":"geometricPrecision";return r.default.createElement(r.default.Fragment,null,d.map(e=>{let{x:t,y:n}=(0,h.getNodePositionWithOrigin)(e,c).positionAbsolute;return r.default.createElement(o,{key:e.id,x:t,y:n,width:e.width,height:e.height,style:e.style,selected:e.selected,className:m(e),color:u(e),borderRadius:s,strokeColor:f(e),strokeWidth:a,shapeRendering:y,onClick:i,id:e.id})}))});let w=e=>{let t=e.getNodes(),r={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:r,boundingRect:t.length>0?(0,h.getBoundsOfRects)((0,h.getNodesBounds)(t,e.nodeOrigin),r):r,rfId:e.rfId}};function v({style:e,className:t,nodeStrokeColor:n="transparent",nodeColor:s="#e2e2e2",nodeClassName:a="",nodeBorderRadius:o=5,nodeStrokeWidth:m=2,nodeComponent:g,maskColor:x="rgb(240, 240, 240, 0.6)",maskStrokeColor:p="none",maskStrokeWidth:b=1,position:v="bottom-right",onClick:N,onNodeClick:j,pannable:k=!1,zoomable:S=!1,ariaLabel:$="React Flow mini map",inversePan:E=!1,zoomStep:M=10,offsetScale:C=5}){let R=(0,h.useStoreApi)(),O=(0,r.useRef)(null),{boundingRect:z,viewBB:L,rfId:D}=(0,h.useStore)(w,l.shallow),P=e?.width??200,I=e?.height??150,q=Math.max(z.width/P,z.height/I),W=q*P,A=q*I,H=C*q,B=z.x-(W-z.width)/2-H,F=z.y-(A-z.height)/2-H,T=W+2*H,_=A+2*H,V=`react-flow__minimap-desc-${D}`,U=(0,r.useRef)(0);U.current=q,(0,r.useEffect)(()=>{if(O.current){let e=(0,u.select)(O.current),t=(0,d.zoom)().on("zoom",k?e=>{let{transform:t,d3Selection:r,d3Zoom:n,translateExtent:s,width:a,height:o}=R.getState();if("mousemove"!==e.sourceEvent.type||!r||!n)return;let i=U.current*Math.max(1,t[2])*(E?-1:1),l={x:t[0]-e.sourceEvent.movementX*i,y:t[1]-e.sourceEvent.movementY*i},d=c.zoomIdentity.translate(l.x,l.y).scale(t[2]),u=n.constrain()(d,[[0,0],[a,o]],s);n.transform(r,u)}:null).on("zoom.wheel",S?e=>{let{transform:t,d3Selection:r,d3Zoom:n}=R.getState();if("wheel"!==e.sourceEvent.type||!r||!n)return;let s=-e.sourceEvent.deltaY*(1===e.sourceEvent.deltaMode?.05:e.sourceEvent.deltaMode?1:.002)*M,a=t[2]*Math.pow(2,s);n.scaleTo(r,a)}:null);return e.call(t),()=>{e.on("zoom",null)}}},[k,S,E,M]);let G=N?e=>{let t=(0,f.pointer)(e);N(e,{x:t[0],y:t[1]})}:void 0,K=j?(e,t)=>{j(e,R.getState().nodeInternals.get(t))}:void 0;return r.default.createElement(h.Panel,{position:v,style:e,className:(0,i.default)(["react-flow__minimap",t]),"data-testid":"rf__minimap"},r.default.createElement("svg",{width:P,height:I,viewBox:`${B} ${F} ${T} ${_}`,role:"img","aria-labelledby":V,ref:O,onClick:G},$&&r.default.createElement("title",{id:V},$),r.default.createElement(y,{onClick:K,nodeColor:s,nodeStrokeColor:n,nodeBorderRadius:o,nodeClassName:a,nodeStrokeWidth:m,nodeComponent:g}),r.default.createElement("path",{className:"react-flow__minimap-mask",d:`M${B-H},${F-H}h${T+2*H}v${_+2*H}h${-T-2*H}z
|
|
2
|
+
M${L.x},${L.y}h${L.width}v${L.height}h${-L.width}z`,fill:x,fillRule:"evenodd",stroke:p,strokeWidth:b,pointerEvents:"none"})))}v.displayName="MiniMap";var N=(0,r.memo)(v),j=e.i(632137);let k="#f59e0b",S={planned:"border-blue-500/80 bg-blue-950/60 text-blue-200","in-progress":"border-orange-500/80 bg-orange-950/60 text-orange-200",complete:"border-green-500/80 bg-green-950/60 text-green-200",archived:"border-gray-500/80 bg-gray-900/60 text-gray-400"},$={planned:"#1e3a8a","in-progress":"#7c2d12",complete:"#14532d",archived:"#1f2937"},E=r.memo(function({data:e}){let r=e.isCompact,n=e.isSecondary,s=0===e.connectionDepth?1:1===e.connectionDepth?.95:2===e.connectionDepth?.7:e.isDimmed?.15:1;return(0,t.jsxs)("div",{className:(0,j.cn)("flex flex-col rounded-lg shadow-lg transition-all duration-200",S[e.tone],e.interactive&&"cursor-pointer hover:scale-105 hover:shadow-xl hover:border-white/50",e.isFocused&&"ring-2 ring-white ring-offset-2 ring-offset-background scale-110 z-50",1===e.connectionDepth&&"ring-1 ring-white/40",r?"px-2 py-1 gap-0.5":"px-2.5 py-1.5 gap-0.5",n?"border border-dashed":"border-2"),style:{width:r?120:180,opacity:s*(n?.65:1),transform:e.isDimmed?"scale(0.9)":void 0},children:[(0,t.jsx)(h.Handle,{type:"target",position:h.Position.Left,className:"opacity-0"}),(0,t.jsxs)("div",{className:"flex items-center justify-between gap-1",children:[(0,t.jsxs)("span",{className:(0,j.cn)("font-bold text-white/90",r?"text-[9px]":"text-[10px]"),children:["#",e.number.toString().padStart(3,"0")]}),(0,t.jsx)("span",{className:(0,j.cn)("font-medium uppercase tracking-wide rounded",r?"text-[7px] px-0.5 py-0.5":"text-[8px] px-1 py-0.5","planned"===e.tone&&"bg-blue-500/30 text-blue-300","in-progress"===e.tone&&"bg-orange-500/30 text-orange-300","complete"===e.tone&&"bg-green-500/30 text-green-300","archived"===e.tone&&"bg-gray-500/30 text-gray-400"),children:e.badge})]}),(0,t.jsx)("span",{className:(0,j.cn)("font-medium leading-tight truncate",r?"text-[8px]":"text-[10px]"),title:e.label,children:r?e.shortLabel:e.label}),(0,t.jsx)(h.Handle,{type:"source",position:h.Position.Right,className:"opacity-0"})]})});E.displayName="SpecNode";let M={specNode:E};function C({spec:e,type:r,onClick:n}){return(0,t.jsxs)("button",{onClick:n,className:(0,j.cn)("w-full text-left px-2 py-1.5 rounded border-l-2 bg-muted/30 hover:bg-muted/50 transition-colors",{upstream:"border-l-amber-500",downstream:"border-l-emerald-500"}[r]),children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsxs)("span",{className:"text-[10px] font-bold text-muted-foreground",children:["#",e.number.toString().padStart(3,"0")]}),(0,t.jsx)("span",{className:(0,j.cn)("text-[8px] px-1 py-0.5 rounded font-medium uppercase","planned"===e.status&&"bg-amber-500/20 text-amber-400","in-progress"===e.status&&"bg-sky-500/20 text-sky-400","complete"===e.status&&"bg-emerald-500/20 text-emerald-400"),children:"in-progress"===e.status?"WIP":e.status.slice(0,3)})]}),(0,t.jsx)("p",{className:"text-[11px] text-foreground truncate leading-tight mt-0.5",children:e.name})]})}function R({group:e,type:n,onSelectSpec:s}){let[a,o]=r.useState(1===e.depth),i=1===e.depth?"Direct":`Level ${e.depth}`;return(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsxs)("button",{onClick:()=>o(!a),className:"flex items-center gap-1.5 w-full text-left text-[10px] text-muted-foreground hover:text-foreground transition-colors",children:[(0,t.jsx)("span",{className:(0,j.cn)("transition-transform text-[8px]",a?"rotate-90":"rotate-0"),children:"▶"}),(0,t.jsx)("span",{className:"font-medium",children:i}),(0,t.jsxs)("span",{className:"opacity-60",children:["(",e.specs.length,")"]})]}),a&&(0,t.jsx)("div",{className:"space-y-1 ml-2",children:e.specs.map(e=>(0,t.jsx)(C,{spec:e,type:n,onClick:()=>s(e.id)},e.id))})]})}function O({focusedDetails:e,onSelectSpec:r,onOpenSpec:n}){if(!e)return(0,t.jsx)("div",{className:"w-64 shrink-0 rounded-lg border border-border bg-background/95 overflow-hidden flex flex-col",children:(0,t.jsx)("div",{className:"flex-1 flex items-center justify-center p-4",children:(0,t.jsxs)("div",{className:"text-center text-muted-foreground",children:[(0,t.jsx)("div",{className:"w-12 h-12 mx-auto mb-3 rounded-full bg-muted/50 flex items-center justify-center",children:(0,t.jsx)("svg",{className:"w-6 h-6",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M15 15l-2 5L9 9l11 4-5 2zm0 0l5 5M7.188 2.239l.777 2.897M5.136 7.965l-2.898-.777M13.95 4.05l-2.122 2.122m-5.657 5.656l-2.12 2.122"})})}),(0,t.jsx)("p",{className:"text-sm font-medium",children:"Select a spec"}),(0,t.jsx)("p",{className:"text-xs mt-1",children:"Click on a spec to see its dependencies"})]})})});let{node:s,upstream:a,downstream:o}=e;return(0,t.jsxs)("div",{className:"w-64 shrink-0 rounded-lg border border-border bg-background/95 overflow-hidden flex flex-col",children:[(0,t.jsxs)("div",{className:"p-3 border-b border-border bg-muted/30",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[(0,t.jsxs)("span",{className:"font-bold text-sm",children:["#",s.number.toString().padStart(3,"0")]}),(0,t.jsx)("span",{className:(0,j.cn)("px-1.5 py-0.5 rounded text-[10px] font-medium uppercase","planned"===s.status&&"bg-amber-500/20 text-amber-300","in-progress"===s.status&&"bg-sky-500/20 text-sky-300","complete"===s.status&&"bg-emerald-500/20 text-emerald-300"),children:s.status})]}),(0,t.jsx)("p",{className:"text-sm font-medium text-foreground leading-snug",children:s.name}),(0,t.jsx)("button",{onClick:()=>n(s.number),className:"mt-2 w-full rounded bg-primary/20 border border-primary/40 px-2 py-1.5 text-xs text-primary hover:bg-primary/30 font-medium",children:"Open Spec →"})]}),(0,t.jsxs)("div",{className:"flex-1 overflow-auto p-3 space-y-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,t.jsx)("span",{className:"inline-block w-2 h-2 rounded-full bg-amber-500"}),(0,t.jsxs)("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:["Depends On (",a.reduce((e,t)=>e+t.specs.length,0),")"]})]}),a.length>0?(0,t.jsx)("div",{className:"space-y-2",children:a.map(e=>(0,t.jsx)(R,{group:e,type:"upstream",onSelectSpec:r},e.depth))}):(0,t.jsx)("p",{className:"text-xs text-muted-foreground/60 italic",children:"No upstream dependencies"})]}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,t.jsx)("span",{className:"inline-block w-2 h-2 rounded-full bg-emerald-500"}),(0,t.jsxs)("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:["Required By (",o.reduce((e,t)=>e+t.specs.length,0),")"]})]}),o.length>0?(0,t.jsx)("div",{className:"space-y-2",children:o.map(e=>(0,t.jsx)(R,{group:e,type:"downstream",onSelectSpec:r},e.depth))}):(0,t.jsx)("p",{className:"text-xs text-muted-foreground/60 italic",children:"No specs depend on this"})]})]})]})}var z=e.i(35380);function L({data:e}){let i=(0,n.useRouter)(),[l,d]=r.useState(null),[c,u]=r.useState(!1),[f,m]=r.useState([]),[g,x]=r.useState(null),[p,b]=r.useState(e.nodes.length>30),[y,w]=r.useState(!1),[v,S]=r.useState(""),E=r.useRef(null),C=r.useMemo(()=>e.edges.filter(e=>"dependsOn"===e.type),[e.edges]),R=r.useMemo(()=>g?function(e,t,r=2){let n=new Map;n.set(e,0);let s=new Map,a=new Map;t.forEach(e=>{s.has(e.source)||s.set(e.source,new Set),s.get(e.source).add(e.target),a.has(e.target)||a.set(e.target,new Set),a.get(e.target).add(e.source)});let o=new Set([e]),i=1;for(;o.size>0&&i<=r;){let e=new Set;o.forEach(t=>{let r=s.get(t);r&&r.forEach(t=>{n.has(t)||(n.set(t,i),e.add(t))})}),o=e,i++}for(o=new Set([e]),i=1;o.size>0&&i<=r;){let e=new Set;o.forEach(t=>{let r=a.get(t);r&&r.forEach(t=>{n.has(t)||(n.set(t,i),e.add(t))})}),o=e,i++}return n}(g,C,1/0):null,[g,C]),L=r.useMemo(()=>{if(!g)return null;let t=e.nodes.find(e=>e.id===g);if(!t)return null;let r=new Map(e.nodes.map(e=>[e.id,e])),n=new Map,s=new Map;C.forEach(e=>{n.has(e.source)||n.set(e.source,new Set),n.get(e.source).add(e.target),s.has(e.target)||s.set(e.target,new Set),s.get(e.target).add(e.source)});let a=(e,t)=>{let n=new Set([e]),s=[],a=new Set([e]),o=1;for(;a.size>0;){let e=new Set,i=[];a.forEach(s=>{let a=t.get(s);a&&a.forEach(t=>{if(!n.has(t)){n.add(t),e.add(t);let s=r.get(t);s&&i.push(s)}})}),i.length>0&&s.push({depth:o,specs:i}),a=e,o++}return s};return{node:t,upstream:a(g,n),downstream:a(g,s)}},[g,e.nodes,C]),D=r.useMemo(()=>{let t=new Set(e.nodes.filter(e=>0===f.length||f.includes(e.status)).map(e=>e.id)),r=new Set(t),n=[...t];for(;n.length>0;){let e=n.shift();C.forEach(t=>{t.source!==e||r.has(t.target)||(r.add(t.target),n.push(t.target)),t.target!==e||r.has(t.source)||(r.add(t.source),n.push(t.source))})}let s=e.nodes.filter(e=>r.has(e.id)),a=C.filter(e=>r.has(e.source)&&r.has(e.target)),o=s;if(!c){let e=new Set;a.forEach(t=>{e.add(t.source),e.add(t.target)}),o=s.filter(t=>e.has(t.id))}let i=new Set(o.map(e=>e.id)),l=new Set([...i].filter(e=>!t.has(e)));return function(e,t,r,n){if(0===e.length)return{nodes:[],edges:[]};let s=r?120:180,a=r?40:60,o=r?30:50,i=new Set;t.forEach(e=>{i.add(e.source),i.add(e.target)});let l=e.filter(e=>i.has(e.id)),d=n?e.filter(e=>!i.has(e.id)):[],c=[];if(l.length>0){let e=new z.default.graphlib.Graph;e.setGraph({rankdir:"LR",align:"UL",nodesep:r?30:50,ranksep:r?80:120,marginx:40,marginy:40}),e.setDefaultEdgeLabel(()=>({})),l.forEach(t=>{e.setNode(t.id,{width:s,height:a})}),t.forEach(t=>{i.has(t.source)&&i.has(t.target)&&e.setEdge(t.source,t.target)}),z.default.layout(e);let n=1/0,u=1/0,f=0,h=0;if(l.forEach(t=>{let r=e.node(t.id);n=Math.min(n,r.x-s/2),u=Math.min(u,r.y-a/2),f=Math.max(f,r.x+s/2),h=Math.max(h,r.y+a/2)}),l.forEach(t=>{let r=e.node(t.id);c.push({...t,position:{x:r.x-n,y:r.y-u}})}),d.length>0){let e=f-n,t=h-u+2*o,r=Math.ceil(Math.sqrt(1.5*d.length)),i=r*(s+o),l=e>i?Math.floor((e-i)/2):0;d.forEach((e,n)=>{let i=Math.floor(n/r);c.push({...e,position:{x:l+n%r*(s+o),y:t+i*(a+o)}})})}}else{let e=Math.ceil(Math.sqrt(1.5*d.length));d.forEach((t,r)=>{let n=Math.floor(r/e);c.push({...t,position:{x:r%e*(s+o),y:n*(a+o)}})})}return{nodes:c,edges:t}}(o.map(e=>{let t,r=g===e.id,n=l.has(e.id),s=!1;return g&&(s=void 0===(t=R?.get(e.id))),{id:e.id,type:"specNode",data:{label:e.name,shortLabel:e.name.length>14?e.name.slice(0,12)+"…":e.name,badge:"in-progress"===e.status?"WIP":e.status.slice(0,3).toUpperCase(),number:e.number,tone:e.status,href:`/specs/${e.number}`,interactive:!0,isFocused:r,connectionDepth:t,isDimmed:s,isCompact:p,isSecondary:n},position:{x:0,y:0},draggable:!0,selectable:!0,sourcePosition:h.Position.Right,targetPosition:h.Position.Left}}),a.filter(e=>i.has(e.source)&&i.has(e.target)).map(e=>{let t=!0,r=.7;if(g){let n=R?.get(e.source),s=R?.get(e.target);r=(t=void 0!==n&&void 0!==s&&(0===n||0===s))?1:void 0!==n&&void 0!==s?.4:.1}return{id:`${e.source}-${e.target}-dependsOn`,source:e.source,target:e.target,type:"smoothstep",animated:t&&null!==g,markerEnd:{type:h.MarkerType.ArrowClosed,color:k,width:18,height:18},style:{stroke:k,strokeWidth:t?2.5:1.5,opacity:r}}}),p,c)},[e,C,f,g,R,p,c]),P=r.useMemo(()=>{let t=new Set;return C.forEach(e=>{t.add(e.source),t.add(e.target)}),{connected:t.size,standalone:e.nodes.length-t.size}},[C,e.nodes.length]),I=r.useMemo(()=>{let t={};return e.nodes.forEach(e=>{t[e.status]=(t[e.status]||0)+1}),t},[e.nodes]),q=r.useCallback(e=>{d(e),requestAnimationFrame(()=>{e.fitView({padding:.15,duration:300})})},[]);r.useEffect(()=>{if(!l)return;let e=setTimeout(()=>{l.fitView({padding:.15,duration:300})},50);return()=>clearTimeout(e)},[l,D.nodes.length,f,c]),r.useEffect(()=>{let e=e=>{E.current&&!E.current.contains(e.target)&&w(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]);let W=r.useMemo(()=>{if(!v.trim())return e.nodes.slice(0,15);let t=v.toLowerCase();return e.nodes.filter(e=>e.name.toLowerCase().includes(t)||e.number.toString().includes(t)||e.tags.some(e=>e.toLowerCase().includes(t))).slice(0,15)},[e.nodes,v]),A=r.useMemo(()=>g?e.nodes.find(e=>e.id===g):null,[g,e.nodes]),H=r.useCallback((e,t)=>{if(t?.data){if(2===e.detail&&t.data.href)return void i.push(t.data.href);x(e=>e===t.id?null:t.id)}},[i]),B=r.useCallback(()=>{x(null)},[]),F=f.length>0||g;return(0,t.jsxs)("div",{className:"flex h-full flex-col gap-2",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,t.jsx)("div",{className:"flex items-center gap-4",children:(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Dependency Graph"}),(0,t.jsx)("p",{className:"text-sm text-foreground",children:P.connected>0?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("span",{className:"text-emerald-400",children:[P.connected," specs with dependencies"]}),P.standalone>0&&(0,t.jsxs)(t.Fragment,{children:[" • ",(0,t.jsxs)("span",{className:"text-muted-foreground",children:[P.standalone," standalone"]})]})]}):(0,t.jsx)("span",{className:"text-muted-foreground",children:"No dependencies defined"})})]})}),(0,t.jsxs)("div",{className:"relative",ref:E,children:[(0,t.jsxs)("button",{onClick:()=>w(!y),className:(0,j.cn)("h-7 w-52 rounded-md border bg-background px-2.5 text-xs text-left flex items-center gap-2 transition-colors",g?"border-primary/60 bg-primary/10":"border-border hover:border-primary/40"),children:[A?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("span",{className:"text-muted-foreground",children:["#",A.number.toString().padStart(3,"0")]}),(0,t.jsx)("span",{className:"truncate flex-1 text-foreground",children:A.name})]}):(0,t.jsx)("span",{className:"text-muted-foreground",children:"Select spec to highlight..."}),(0,t.jsx)("svg",{className:"w-3 h-3 text-muted-foreground shrink-0",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]}),y&&(0,t.jsxs)("div",{className:"absolute right-0 top-8 z-50 w-64 rounded-md border border-border bg-background shadow-lg overflow-hidden",children:[(0,t.jsx)("div",{className:"p-2 border-b border-border",children:(0,t.jsx)("input",{type:"text",placeholder:"Type to filter...",value:v,onChange:e=>S(e.target.value),className:"w-full h-7 rounded border border-border bg-muted/30 px-2 text-xs placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-primary",autoFocus:!0})}),(0,t.jsxs)("div",{className:"max-h-64 overflow-auto",children:[g&&(0,t.jsxs)("button",{onClick:()=>{x(null),w(!1),S("")},className:"w-full px-3 py-2 text-xs text-left hover:bg-muted/50 border-b border-border text-muted-foreground flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-red-400",children:"×"})," Clear selection"]}),W.length>0?W.map(e=>(0,t.jsxs)("button",{onClick:()=>(e=>{if(x(e),w(!1),S(""),l){let t=D.nodes.find(t=>t.id===e);t&&l.setCenter(t.position.x+80,t.position.y+30,{duration:400,zoom:1})}})(e.id),className:(0,j.cn)("w-full px-3 py-2 text-xs text-left hover:bg-muted/50 flex items-center gap-2",g===e.id&&"bg-primary/20"),children:[(0,t.jsxs)("span",{className:"text-muted-foreground font-mono",children:["#",e.number.toString().padStart(3,"0")]}),(0,t.jsx)("span",{className:"truncate flex-1",children:e.name}),(0,t.jsx)("span",{className:(0,j.cn)("text-[9px] px-1 py-0.5 rounded uppercase font-medium","planned"===e.status&&"bg-blue-500/20 text-blue-400","in-progress"===e.status&&"bg-orange-500/20 text-orange-400","complete"===e.status&&"bg-green-500/20 text-green-400","archived"===e.status&&"bg-gray-500/20 text-gray-400"),children:"in-progress"===e.status?"WIP":e.status.slice(0,3)})]},e.id)):(0,t.jsx)("div",{className:"px-3 py-4 text-xs text-muted-foreground text-center",children:"No specs found"})]})]})]})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5 text-xs",children:[["planned","in-progress","complete","archived"].map(e=>{let r=0===f.length||f.includes(e);return(0,t.jsxs)("button",{onClick:()=>{m(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e]),x(null)},className:(0,j.cn)("rounded border px-2 py-1 font-medium transition-colors",r&&"planned"===e&&"border-blue-500/60 bg-blue-500/20 text-blue-300",r&&"in-progress"===e&&"border-orange-500/60 bg-orange-500/20 text-orange-300",r&&"complete"===e&&"border-green-500/60 bg-green-500/20 text-green-300",r&&"archived"===e&&"border-gray-500/60 bg-gray-500/20 text-gray-300",!r&&"border-border bg-background text-muted-foreground/40"),children:["in-progress"===e?"WIP":e.charAt(0).toUpperCase()+e.slice(1),(0,t.jsxs)("span",{className:"ml-1 opacity-60",children:["(",I[e]||0,")"]})]},e)}),(0,t.jsx)("span",{className:"h-3 w-px bg-border"}),(0,t.jsxs)("button",{onClick:()=>u(!c),className:(0,j.cn)("rounded border px-2 py-1 font-medium transition-colors",c?"border-violet-500/60 bg-violet-500/20 text-violet-300":"border-border bg-background hover:bg-accent text-muted-foreground"),children:["Show Standalone",(0,t.jsxs)("span",{className:"ml-1 opacity-60",children:["(",P.standalone,")"]})]}),(0,t.jsx)("span",{className:"h-3 w-px bg-border"}),(0,t.jsx)("button",{onClick:()=>b(!p),className:(0,j.cn)("rounded border px-2 py-1 font-medium transition-colors",p?"border-primary/60 bg-primary/20 text-primary":"border-border bg-background hover:bg-accent text-muted-foreground"),children:"Compact"}),F&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"h-3 w-px bg-border"}),(0,t.jsx)("button",{onClick:()=>{m([]),x(null),S("")},className:"rounded border border-red-500/40 bg-red-500/10 px-2 py-1 font-medium text-red-400 hover:bg-red-500/20",children:"Clear"})]})]}),(0,t.jsxs)("div",{className:"flex flex-1 gap-3 min-h-0",children:[(0,t.jsx)("div",{className:"flex-1 overflow-hidden rounded-lg border border-border bg-[#080c14]",children:D.nodes.length>0?(0,t.jsxs)(s.default,{nodes:D.nodes,edges:D.edges,nodeTypes:M,onInit:q,className:"h-full w-full",fitView:!0,proOptions:{hideAttribution:!0},nodesDraggable:!0,nodesConnectable:!1,elementsSelectable:!0,panOnScroll:!0,panOnDrag:!0,zoomOnScroll:!0,zoomOnPinch:!0,minZoom:.05,maxZoom:2,onNodeClick:H,onPaneClick:B,children:[(0,t.jsx)(a.Background,{gap:20,size:1,color:"rgba(100, 116, 139, 0.06)"}),(0,t.jsx)(o.Controls,{showInteractive:!1,className:"!bg-background/90 !border-border !rounded-md"}),(0,t.jsx)(N,{nodeColor:e=>$[e.data.tone]||"#1f2937",maskColor:"rgba(0, 0, 0, 0.85)",className:"!bg-background/95 !border-border !rounded-md",style:{width:120,height:80},pannable:!0,zoomable:!0})]}):(0,t.jsx)("div",{className:"flex h-full items-center justify-center text-muted-foreground",children:(0,t.jsxs)("div",{className:"text-center",children:[(0,t.jsx)("p",{className:"text-sm font-medium",children:"No dependencies to display"}),(0,t.jsx)("p",{className:"text-xs mt-1",children:c?"No specs match the current filters":'Enable "Show Standalone" to see specs without dependencies'})]})})}),(0,t.jsx)(O,{focusedDetails:L,onSelectSpec:x,onOpenSpec:e=>i.push(`/specs/${e}`)})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-4 text-[10px] text-muted-foreground",children:[(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,t.jsx)("span",{className:"inline-block h-0.5 w-6 bg-amber-400 rounded"}),"Depends On (arrow shows direction)"]}),(0,t.jsx)("span",{className:"text-muted-foreground/50 ml-auto",children:"Click: select • Double-click: open • Drag to rearrange"})]})]})}e.s(["ProjectDependencyGraphClient",()=>L],506361)}]);
|