@leanspec/ui 0.2.9 → 0.2.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64 → @img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64}/README.md +2 -2
- package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64 → @img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64}/lib/glib-2.0/include/glibconfig.h +9 -8
- package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64/lib/libvips-cpp.8.17.3.dylib → @img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64/lib/libvips-cpp.so.8.17.3} +0 -0
- package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64 → @img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64}/package.json +11 -5
- package/.next/standalone/node_modules/.pnpm/@img+sharp-libvips-linuxmusl-x64@1.2.4/node_modules/@img/sharp-libvips-linuxmusl-x64/README.md +46 -0
- 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 +221 -0
- package/.next/standalone/node_modules/.pnpm/@img+sharp-libvips-linuxmusl-x64@1.2.4/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/index.js +1 -0
- 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 +42 -0
- package/.next/standalone/node_modules/.pnpm/@img+sharp-libvips-linuxmusl-x64@1.2.4/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json +30 -0
- 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-darwin-arm64@0.34.5/node_modules/@img/sharp-darwin-arm64 → @img+sharp-linux-x64@0.34.5/node_modules/@img/sharp-linux-x64}/package.json +13 -7
- 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 +46 -0
- 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 +11 -0
- package/.next/standalone/packages/ui/.next/build-manifest.json +2 -2
- 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 +88 -0
- 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.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 -20
- package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_full.segment.rsc +18 -20
- package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_index.segment.rsc +23 -26
- 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 +1 -1
- 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.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/dependencies/route.js.nft.json +1 -1
- 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]/context/route/app-paths-manifest.json +3 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/context/route/build-manifest.json +11 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/context/route/server-reference-manifest.json +4 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/context/route.js +8 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/context/route.js.map +5 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/context/route.js.nft.json +1 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/context/route_client-reference-manifest.js +2 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route/app-paths-manifest.json +3 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route/build-manifest.json +11 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route/server-reference-manifest.json +4 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route.js +8 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route.js.map +5 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route.js.nft.json +1 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route_client-reference-manifest.js +2 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/route.js +1 -3
- 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]/dependency-graph/route/app-paths-manifest.json +3 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/dependency-graph/route/build-manifest.json +11 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/dependency-graph/route/server-reference-manifest.json +4 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/dependency-graph/route.js +8 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/dependency-graph/route.js.map +5 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/dependency-graph/route.js.nft.json +1 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/dependency-graph/route_client-reference-manifest.js +2 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/metadata/route/app-paths-manifest.json +3 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/metadata/route/build-manifest.json +11 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/metadata/route/server-reference-manifest.json +4 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/metadata/route.js +8 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/metadata/route.js.map +5 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/metadata/route.js.nft.json +1 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/metadata/route_client-reference-manifest.js +2 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/route.js +1 -2
- 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 +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 +1 -2
- 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 +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/[id]/tags/route/app-paths-manifest.json +3 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/tags/route/build-manifest.json +11 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/tags/route/server-reference-manifest.json +4 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/tags/route.js +8 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/tags/route.js.map +5 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/tags/route.js.nft.json +1 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/tags/route_client-reference-manifest.js +2 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/validate/route/app-paths-manifest.json +3 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/validate/route/build-manifest.json +11 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/validate/route/server-reference-manifest.json +4 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/validate/route.js +6 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/validate/route.js.map +5 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/validate/route.js.nft.json +1 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/validate/route_client-reference-manifest.js +2 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/route.js +1 -3
- 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 +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 +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]/metadata/route/app-paths-manifest.json +3 -0
- package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/metadata/route/build-manifest.json +11 -0
- package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/metadata/route/server-reference-manifest.json +4 -0
- package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/metadata/route.js +8 -0
- package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/metadata/route.js.map +5 -0
- package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/metadata/route.js.nft.json +1 -0
- package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/metadata/route_client-reference-manifest.js +2 -0
- package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/route.js +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 +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 +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/api/tags/route/app-paths-manifest.json +3 -0
- package/.next/standalone/packages/ui/.next/server/app/api/tags/route/build-manifest.json +11 -0
- package/.next/standalone/packages/ui/.next/server/app/api/tags/route/server-reference-manifest.json +4 -0
- package/.next/standalone/packages/ui/.next/server/app/api/tags/route.js +8 -0
- package/.next/standalone/packages/ui/.next/server/app/api/tags/route.js.map +5 -0
- package/.next/standalone/packages/ui/.next/server/app/api/tags/route.js.nft.json +1 -0
- package/.next/standalone/packages/ui/.next/server/app/api/tags/route_client-reference-manifest.js +2 -0
- package/.next/standalone/packages/ui/.next/server/app/context/page.js +2 -1
- 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.js +2 -1
- package/.next/standalone/packages/ui/.next/server/app/dependencies/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/dependencies/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/page.js +2 -1
- 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]/context/page/app-paths-manifest.json +3 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page/build-manifest.json +18 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page/next-font-manifest.json +6 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page/react-loadable-manifest.json +1 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page/server-reference-manifest.json +4 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page.js +21 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page.js.map +5 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page.js.nft.json +1 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page_client-reference-manifest.js +2 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page/app-paths-manifest.json +3 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page/build-manifest.json +18 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page/next-font-manifest.json +6 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page/react-loadable-manifest.json +1 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page/server-reference-manifest.json +4 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page.js +21 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page.js.map +5 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page.js.nft.json +1 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page_client-reference-manifest.js +2 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page.js +5 -5
- 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.js +6 -5
- 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.js +5 -4
- 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/[projectId]/stats/page/app-paths-manifest.json +3 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page/build-manifest.json +18 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page/next-font-manifest.json +6 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page/react-loadable-manifest.json +1 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page/server-reference-manifest.json +4 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page.js +21 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page.js.map +5 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page.js.nft.json +1 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page_client-reference-manifest.js +2 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/page.js +5 -4
- 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 -25
- package/.next/standalone/packages/ui/.next/server/app/projects.segments/_full.segment.rsc +24 -25
- package/.next/standalone/packages/ui/.next/server/app/projects.segments/_index.segment.rsc +20 -24
- 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.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.js +2 -1
- 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.js +2 -1
- 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 +11 -0
- package/.next/standalone/packages/ui/.next/server/chunks/284a8_app_api_projects_[id]_specs_[spec]_dependency-graph_route_actions_f18476ed.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/6681a__next-internal_server_app_api_projects_[id]_dependencies_route_actions_7ac49581.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_projects_[id]_context_route_actions_96adca70.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_projects_[id]_tags_route_actions_40899744.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_projects_[id]_validate_route_actions_b60372c9.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_specs_[id]_metadata_route_actions_139bb09f.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[externals]_better-sqlite3_a1cc22cb._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__0afcada7._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__0e63a440._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__0ec6f9b0._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__0edb782a._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__0fbfea15._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__1706515f._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__1f037512._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__38780e00._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__3a535244._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__41f43652._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__5081ac6f._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__526764b2._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__548e27d4._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__5f1e0195._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__71d98924._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__74af400b._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__8075fe29._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__9ce722b4._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__9cf3bf21._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__a2d7cbed._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__b1ad8b69._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__c7a4906b._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__de15d2aa._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__e16f7651._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__e2fcb5c6._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__e8d9903e._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__f6936b89._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/f825c_server_app_api_projects_[id]_specs_[spec]_metadata_route_actions_35af9a8c.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/packages_ui__next-internal_server_app_api_tags_route_actions_64625b2c.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_specs_sources_database-source_ts_b8c1af87._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_specs_sources_database-source_ts_baa0160d._.js +72 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/730ea_ui__next-internal_server_app_projects_[projectId]_context_page_actions_e4940a48.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/730ea_ui__next-internal_server_app_projects_[projectId]_stats_page_actions_82a85203.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__0f0dade1._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__174e1ca1._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__212c8580._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__2b66bcca._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/{[root-of-the-server]__a965a67b._.js → [root-of-the-server]__2d9202e8._.js} +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__312221a2._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__338c65fe._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__366688dd._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__44b603f9._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__46b71f61._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__665ae766._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__69a0d63a._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__7f55abaa._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__a34731d8._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/{[root-of-the-server]__12b4eb41._.js → [root-of-the-server]__b0d6e2ad._.js} +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__c158c9a9._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__c7735439._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__dcee62dd._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__e2c760eb._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__ead1539c._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__ec5b96a5._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_000dd317._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/{_39562b2a._.js → _170362f4._.js} +3 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_1a642e67._.js +4 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/{_adb9d7cb._.js → _22274047._.js} +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/{_85effc18._.js → _2bc76f88._.js} +3 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/{_fdd7780b._.js → _3f059230._.js} +3 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_58b98a8f._.js +4 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_59616aa6._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_5e1484f9._.js +7 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_8ab6f9ca._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_b303aeea._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/{_bae6d2b8._.js → _b421ba4a._.js} +3 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_be836d6a._.js +5 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_d840ffc6._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_ec637d7c._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_f05260d6._.js +4 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/f825c_server_app_projects_[projectId]_dependencies_page_actions_ba2321b8.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_0056f1f2._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_30b0b05a._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_478d57e5._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/{node_modules__pnpm_151891de._.js → node_modules__pnpm_4e3e790c._.js} +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/{node_modules__pnpm_f5b29533._.js → node_modules__pnpm_8680dc29._.js} +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/{node_modules__pnpm_e175b92a._.js → node_modules__pnpm_94a0b1f5._.js} +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/{node_modules__pnpm_1120b57c._.js → node_modules__pnpm_b4ff5c78._.js} +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/{node_modules__pnpm_7791e3b8._.js → node_modules__pnpm_d3262b3d._.js} +2 -2
- 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 +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_projects_layout_tsx_86c2ce0f._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_projects_page_tsx_6e166c8e._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_specs_specs-client_tsx_0bb8f8f8._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_components_spec-detail-wrapper_tsx_fd35401c._.js +1 -1
- 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/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/0c7bbb59865774a1.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/0fe978002ba489fb.js +3 -0
- package/.next/standalone/packages/ui/.next/static/chunks/1169d4ac8f9df687.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/1e0689744f87e958.js +2 -0
- package/.next/standalone/packages/ui/.next/static/chunks/241b6b1c83610ebf.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/39931c5cecf4c4b7.js +1 -0
- package/.next/{static/chunks/6d938a49daa10208.js → standalone/packages/ui/.next/static/chunks/4610aea3ca2e69eb.js} +1 -1
- package/.next/standalone/packages/ui/.next/static/chunks/6d7922838a3513a4.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/781328ee279ffc41.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/{942cf63b4032c808.js → 7df6308e6cfcf902.js} +1 -1
- package/.next/standalone/packages/ui/.next/static/chunks/840c6743a491a398.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/937cb3894a606899.js +5 -0
- package/.next/standalone/packages/ui/.next/static/chunks/9cf644b700f37825.css +1 -0
- package/.next/{static/chunks/a3d7e1be47de010b.js → standalone/packages/ui/.next/static/chunks/bbd498aa5689c057.js} +1 -1
- package/.next/standalone/packages/ui/.next/static/chunks/bc0f8f7f8dc0a352.js +1 -0
- package/.next/{static/chunks/979625373d5474b6.js → standalone/packages/ui/.next/static/chunks/c26909a25ca9fc9b.js} +1 -1
- package/.next/{static/chunks/e3bc96a996e2a314.js → standalone/packages/ui/.next/static/chunks/d26f4109b44eb240.js} +1 -1
- package/.next/standalone/packages/ui/.next/static/chunks/{3276ca6fd9005903.js → d52a048b511c32bd.js} +1 -1
- package/.next/standalone/packages/ui/.next/static/chunks/dbce73f7087f2470.js +10 -0
- package/.next/standalone/packages/ui/.next/static/chunks/e399b4afc7936907.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/f0a083ac29b4b6c2.js +1 -0
- package/.next/standalone/packages/ui/dist/BUILD_ID +1 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/package.json +1 -9
- package/.next/standalone/packages/ui/dist/standalone/packages/web/server.js +1 -1
- package/.next/standalone/packages/ui/dist/standalone/specs/035-live-specs-showcase/README.md +3 -7
- package/.next/standalone/packages/ui/dist/standalone/specs/072-ai-agent-first-use-workflow/README.md +3 -5
- package/.next/standalone/packages/ui/dist/standalone/specs/081-web-app-ux-redesign/README.md +1 -2
- package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/README.md +3 -8
- package/.next/standalone/packages/ui/dist/standalone/specs/087-cli-ui-command/README.md +259 -73
- package/.next/standalone/packages/ui/dist/standalone/specs/088-core-concepts-terminology-only/README.md +3 -5
- package/.next/standalone/packages/ui/dist/standalone/specs/089-sdd-practical-tutorials/README.md +3 -5
- package/.next/standalone/packages/ui/dist/standalone/specs/090-leanspec-sdd-case-studies/README.md +3 -5
- package/.next/standalone/packages/ui/dist/standalone/specs/091-chinese-localization-strategy/README.md +23 -33
- package/.next/standalone/packages/ui/dist/standalone/specs/092-docs-site-submodule-migration/README.md +3 -7
- package/.next/standalone/packages/ui/dist/standalone/specs/093-spec-detail-ui-improvements/README.md +14 -25
- package/.next/standalone/packages/ui/dist/static/chunks/0c19c69aa7625475.js +1 -0
- package/.next/standalone/packages/ui/dist/static/chunks/116800b03245a1e5.js +1 -0
- package/.next/standalone/packages/ui/dist/static/chunks/15843a3d7584e314.js +1 -0
- package/.next/standalone/packages/ui/dist/static/chunks/19e80edf527aef5c.js +1 -0
- package/.next/standalone/packages/ui/dist/static/chunks/465954d5af3284a9.js +1 -0
- package/.next/standalone/packages/ui/dist/static/chunks/5abeeb89f1412a80.js +3 -0
- package/.next/standalone/packages/ui/dist/static/chunks/5c2072ad938de8ed.js +1 -0
- package/.next/standalone/packages/ui/dist/static/chunks/6a05a93ec8fa7b83.js +1 -0
- package/.next/standalone/packages/ui/dist/static/chunks/778e42188e450b39.css +1 -0
- package/.next/standalone/packages/ui/dist/static/chunks/a02c1f50ff00204f.js +1 -0
- package/.next/standalone/packages/ui/dist/static/chunks/a45464b9776dd88e.js +1 -0
- package/.next/standalone/packages/ui/dist/static/chunks/a6dad97d9634a72d.js +1 -0
- package/.next/standalone/packages/ui/dist/static/chunks/b0ea0ac61604f843.js +1 -0
- package/.next/standalone/packages/ui/dist/static/chunks/c06e85b449720194.js +1 -0
- package/.next/standalone/packages/ui/dist/static/chunks/c557ac675be79771.js +1 -0
- package/.next/standalone/packages/ui/dist/static/chunks/cad005a57ffbb2d3.js +1 -0
- package/.next/standalone/packages/ui/dist/static/chunks/cdf6fe33bc65efbc.js +1 -0
- package/.next/standalone/packages/ui/dist/static/chunks/d12ed5dbe44caed7.js +1 -0
- package/.next/standalone/packages/ui/dist/static/chunks/d1ebe5c1a344f4ca.js +5 -0
- package/.next/standalone/packages/ui/dist/static/chunks/d42cf1682bc46652.js +1 -0
- package/.next/standalone/packages/ui/dist/static/chunks/dde5d8bddd7fbfcf.js +1 -0
- package/.next/standalone/packages/ui/dist/static/chunks/ebd89051637b9a47.js +4 -0
- package/.next/standalone/packages/ui/dist/static/chunks/ec82875d18b29f47.js +2 -0
- package/.next/standalone/packages/ui/dist/static/chunks/f0b701df9769bcc5.js +19 -0
- package/.next/standalone/packages/ui/dist/static/chunks/turbopack-1c09a99f4c9e28d3.js +3 -0
- package/.next/standalone/packages/ui/package.json +1 -1
- package/.next/standalone/packages/ui/server.js +1 -1
- package/.next/standalone/packages/ui/src/app/api/dependencies/route.ts +4 -67
- package/.next/standalone/packages/ui/src/app/api/projects/[id]/context/route.ts +39 -0
- package/.next/standalone/packages/ui/src/app/api/projects/[id]/dependencies/route.ts +20 -0
- package/.next/standalone/packages/ui/src/app/api/projects/[id]/route.ts +25 -9
- package/.next/standalone/packages/ui/src/app/api/projects/[id]/specs/[spec]/dependency-graph/route.ts +129 -0
- package/.next/standalone/packages/ui/src/app/api/projects/[id]/specs/[spec]/metadata/route.ts +170 -0
- package/.next/standalone/packages/ui/src/app/api/projects/[id]/specs/[spec]/route.ts +14 -14
- package/.next/standalone/packages/ui/src/app/api/projects/[id]/specs/[spec]/status/route.ts +9 -2
- package/.next/standalone/packages/ui/src/app/api/projects/[id]/specs/route.ts +9 -8
- package/.next/standalone/packages/ui/src/app/api/projects/[id]/tags/route.ts +25 -0
- package/.next/standalone/packages/ui/src/app/api/projects/[id]/validate/route.ts +49 -0
- package/.next/standalone/packages/ui/src/app/api/projects/route.ts +18 -5
- package/.next/standalone/packages/ui/src/app/api/specs/[id]/dependency-graph/route.test.ts +0 -2
- package/.next/standalone/packages/ui/src/app/api/specs/[id]/dependency-graph/route.ts +0 -15
- package/.next/standalone/packages/ui/src/app/api/specs/[id]/metadata/route.ts +184 -0
- package/.next/standalone/packages/ui/src/app/api/tags/route.ts +16 -0
- package/.next/standalone/packages/ui/src/app/context/page.tsx +22 -0
- package/.next/standalone/packages/ui/src/app/dashboard-client.tsx +43 -62
- package/.next/standalone/packages/ui/src/app/dependencies/constants.ts +9 -8
- package/.next/standalone/packages/ui/src/app/dependencies/dependencies-client.tsx +95 -20
- package/.next/standalone/packages/ui/src/app/dependencies/page.tsx +25 -13
- package/.next/standalone/packages/ui/src/app/dependencies/spec-node.tsx +8 -8
- package/.next/standalone/packages/ui/src/app/dependencies/spec-sidebar.tsx +40 -67
- package/.next/standalone/packages/ui/src/app/page.tsx +24 -0
- package/.next/standalone/packages/ui/src/app/projects/[projectId]/context/page.tsx +41 -0
- package/.next/standalone/packages/ui/src/app/projects/[projectId]/dependencies/page.tsx +30 -0
- package/.next/standalone/packages/ui/src/app/projects/[projectId]/page.tsx +18 -2
- package/.next/standalone/packages/ui/src/app/projects/[projectId]/stats/page.tsx +24 -0
- package/.next/standalone/packages/ui/src/app/projects/layout.tsx +7 -0
- package/.next/standalone/packages/ui/src/app/projects/page.tsx +375 -107
- package/.next/standalone/packages/ui/src/app/specs/[id]/page.tsx +24 -1
- package/.next/standalone/packages/ui/src/app/specs/page.tsx +22 -0
- package/.next/standalone/packages/ui/src/app/specs/specs-client.tsx +28 -18
- package/.next/standalone/packages/ui/src/app/stats/page.tsx +22 -0
- package/.next/standalone/packages/ui/src/components/color-picker.tsx +73 -0
- package/.next/standalone/packages/ui/src/components/create-project-dialog.tsx +3 -5
- package/.next/standalone/packages/ui/src/components/directory-picker.tsx +1 -0
- package/.next/standalone/packages/ui/{dist/standalone/packages/web/src/components/spec-metadata.tsx → src/components/editable-spec-metadata.tsx} +46 -30
- package/.next/standalone/packages/ui/src/components/main-sidebar.tsx +28 -6
- package/.next/standalone/packages/ui/src/components/markdown-link.tsx +15 -8
- package/.next/standalone/packages/ui/src/components/priority-editor.tsx +153 -0
- package/.next/standalone/packages/ui/src/components/project-switcher.tsx +74 -10
- package/.next/standalone/packages/ui/src/components/quick-search.tsx +3 -1
- package/.next/standalone/packages/ui/src/components/spec-dependency-graph.tsx +13 -52
- package/.next/standalone/packages/ui/src/components/spec-detail-client.tsx +58 -30
- package/.next/standalone/packages/ui/src/components/spec-detail-wrapper.tsx +3 -4
- package/.next/standalone/packages/ui/src/components/specs-nav-sidebar.tsx +8 -6
- package/.next/standalone/packages/ui/src/components/status-editor.tsx +153 -0
- package/.next/standalone/packages/ui/src/components/tags-editor.tsx +238 -0
- package/.next/standalone/packages/ui/src/components/ui/command.tsx +1 -1
- package/.next/standalone/packages/ui/src/contexts/project-context.tsx +24 -0
- package/.next/standalone/packages/ui/src/lib/db/service-queries.ts +230 -40
- package/.next/standalone/packages/ui/src/lib/dependency-graph.ts +0 -13
- package/.next/standalone/packages/ui/src/lib/projects/registry.ts +1 -1
- package/.next/standalone/packages/ui/src/lib/specs/sources/multi-project-source.ts +21 -5
- package/.next/standalone/packages/ui/src/types/specs.ts +6 -4
- package/.next/standalone/packages/ui/tsconfig.tsbuildinfo +1 -1
- package/.next/static/chunks/0c7bbb59865774a1.js +1 -0
- package/.next/static/chunks/0fe978002ba489fb.js +3 -0
- package/.next/static/chunks/1169d4ac8f9df687.js +1 -0
- package/.next/static/chunks/1e0689744f87e958.js +2 -0
- package/.next/static/chunks/241b6b1c83610ebf.js +1 -0
- package/.next/static/chunks/39931c5cecf4c4b7.js +1 -0
- package/.next/{standalone/packages/ui/.next/static/chunks/6d938a49daa10208.js → static/chunks/4610aea3ca2e69eb.js} +1 -1
- package/.next/static/chunks/6d7922838a3513a4.js +1 -0
- package/.next/static/chunks/781328ee279ffc41.js +1 -0
- package/.next/static/chunks/{942cf63b4032c808.js → 7df6308e6cfcf902.js} +1 -1
- package/.next/static/chunks/840c6743a491a398.js +1 -0
- package/.next/static/chunks/937cb3894a606899.js +5 -0
- package/.next/static/chunks/9cf644b700f37825.css +1 -0
- package/.next/{standalone/packages/ui/.next/static/chunks/a3d7e1be47de010b.js → static/chunks/bbd498aa5689c057.js} +1 -1
- package/.next/static/chunks/bc0f8f7f8dc0a352.js +1 -0
- package/.next/{standalone/packages/ui/.next/static/chunks/979625373d5474b6.js → static/chunks/c26909a25ca9fc9b.js} +1 -1
- package/.next/{standalone/packages/ui/.next/static/chunks/e3bc96a996e2a314.js → static/chunks/d26f4109b44eb240.js} +1 -1
- package/.next/static/chunks/{3276ca6fd9005903.js → d52a048b511c32bd.js} +1 -1
- package/.next/static/chunks/dbce73f7087f2470.js +10 -0
- package/.next/static/chunks/e399b4afc7936907.js +1 -0
- package/.next/static/chunks/f0a083ac29b4b6c2.js +1 -0
- package/.next/static/s9uUE9DnvJD2xIz-iBGMe/_buildManifest.js +11 -0
- package/.next/static/s9uUE9DnvJD2xIz-iBGMe/_clientMiddlewareManifest.json +1 -0
- package/.next/static/s9uUE9DnvJD2xIz-iBGMe/_ssgManifest.js +1 -0
- package/package.json +2 -2
- 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/packages/ui/.next/server/chunks/[root-of-the-server]__126dea7b._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__65667b70._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__675a763e._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__803d07f0._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__8233e09b._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__84cdc14a._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__8a9ab1a3._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__aa677b0d._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__ae726e9c._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__b0969111._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__bdc3963a._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__f06435b0._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__f5c6d6b8._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__fb91986f._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_db_index_ts_556307fa._.js +0 -74
- package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_specs_sources_database-source_ts_0bd881ee._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__3c77d95b._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__50122e7e._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__8608a6fa._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__88a691ee._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__bdbbba01._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__cc589a54._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__daedd80e._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__dc176c61._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_03aa8d19._.js +0 -7
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_28fe1532._.js +0 -5
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_3b617676._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_8cec504f._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_ea899b87._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_fe120f8a._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_1c916fe3._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_3ba1438c._.js +0 -3
- package/.next/standalone/packages/ui/.next/static/chunks/094cf9f4e3553261.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/1c015eb9eaaf9f9c.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/1d36660b2877d213.js +0 -3
- package/.next/standalone/packages/ui/.next/static/chunks/20f4141ccb5d4eb4.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/2c85b8059e42248a.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/3b6b058ebd14dbed.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/4d29ca0fa6843070.js +0 -2
- package/.next/standalone/packages/ui/.next/static/chunks/59854b15bf046467.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/5fd8101e32b076b1.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/a33f10af6abef4df.js +0 -10
- package/.next/standalone/packages/ui/.next/static/chunks/b7f19087afe1d2c9.css +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/ddd87cd0d26bc2f5.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/eeec245955b3b600.js +0 -5
- package/.next/standalone/packages/ui/dist/standalone/packages/web/components.json +0 -20
- package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle/0000_reflective_thena.sql +0 -59
- package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle/0001_fresh_carmella_unuscione.sql +0 -1
- package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle/meta/0000_snapshot.json +0 -427
- package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle/meta/0001_snapshot.json +0 -436
- package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle/meta/_journal.json +0 -20
- package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle.config.ts +0 -10
- package/.next/standalone/packages/ui/dist/standalone/packages/web/eslint.config.mjs +0 -18
- package/.next/standalone/packages/ui/dist/standalone/packages/web/next.config.ts +0 -7
- package/.next/standalone/packages/ui/dist/standalone/packages/web/postcss.config.mjs +0 -8
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/projects/[id]/specs/route.ts +0 -23
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/projects/route.ts +0 -19
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/revalidate/route.ts +0 -63
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/specs/[id]/dependency-graph/route.test.ts +0 -51
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/specs/[id]/dependency-graph/route.ts +0 -171
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/specs/[id]/route.ts +0 -36
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/specs/[id]/subspecs/[file]/route.ts +0 -46
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/stats/route.ts +0 -19
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/board/board-client.tsx +0 -162
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/board/loading.tsx +0 -43
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/board/page.tsx +0 -18
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/dashboard-client.tsx +0 -364
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/error.tsx +0 -43
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/globals.css +0 -531
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/home-client.tsx +0 -277
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/layout.tsx +0 -70
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/loading.tsx +0 -87
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/not-found.tsx +0 -27
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/page.tsx +0 -18
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/specs/[id]/loading.tsx +0 -5
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/specs/[id]/page.tsx +0 -43
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/specs/page.tsx +0 -18
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/specs/specs-client.tsx +0 -425
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/stats/page.tsx +0 -18
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/stats/stats-client.tsx +0 -283
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/back-to-top.tsx +0 -46
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/empty-state.tsx +0 -52
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/main-sidebar.tsx +0 -175
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/markdown-link.test.ts +0 -96
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/markdown-link.tsx +0 -95
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/navigation.tsx +0 -210
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/priority-badge.tsx +0 -53
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/quick-search.tsx +0 -180
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/skeletons.tsx +0 -119
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-dependency-graph.tsx +0 -369
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-detail-client.tsx +0 -372
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-detail-loading-shell.tsx +0 -42
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-detail-wrapper.tsx +0 -70
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-sidebar.tsx +0 -127
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-timeline.tsx +0 -186
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/specs-nav-sidebar.tsx +0 -561
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/status-badge.tsx +0 -53
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/sub-spec-tabs.tsx +0 -143
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/table-of-contents.tsx +0 -130
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/theme-provider.tsx +0 -11
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/theme-toggle.tsx +0 -37
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/avatar.tsx +0 -50
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/badge.tsx +0 -36
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/breadcrumb.tsx +0 -110
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/button.tsx +0 -57
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/card.tsx +0 -76
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/command.tsx +0 -153
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/dialog.tsx +0 -122
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/input.tsx +0 -24
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/select.tsx +0 -159
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/separator.tsx +0 -31
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/skeleton.tsx +0 -15
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/tabs.tsx +0 -55
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/toast.tsx +0 -30
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/tooltip.tsx +0 -32
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/date-utils.ts +0 -76
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/index.ts +0 -42
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/migrate.ts +0 -18
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/queries.ts +0 -114
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/schema.ts +0 -123
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/seed.ts +0 -156
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/service-queries.ts +0 -216
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/dependency-graph.ts +0 -105
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/specs/service.ts +0 -120
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/specs/sources/database-source.ts +0 -94
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/specs/sources/filesystem-source.ts +0 -249
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/specs/types.ts +0 -55
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/stores/specs-sidebar-store.ts +0 -152
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/sub-specs.ts +0 -171
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/utils.ts +0 -17
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/types/specs.ts +0 -18
- package/.next/standalone/packages/ui/dist/standalone/packages/web/tailwind.config.ts +0 -58
- package/.next/standalone/packages/ui/dist/standalone/packages/web/tsconfig.json +0 -34
- package/.next/standalone/packages/ui/dist/standalone/packages/web/tsconfig.tsbuildinfo +0 -1
- package/.next/standalone/packages/ui/dist/standalone/packages/web/vitest.config.ts +0 -14
- package/.next/standalone/packages/ui/dist/standalone/specs/094-ai-chatbot-web-integration/README.md +0 -332
- package/.next/standalone/packages/ui/dist/standalone/specs/095-pr-migration-verification/README.md +0 -339
- package/.next/standalone/packages/ui/dist/standalone/specs/096-docs-beginner-first-reorg/README.md +0 -399
- package/.next/standalone/packages/ui/dist/standalone/specs/097-dag-visualization-library/README.md +0 -525
- package/.next/standalone/packages/ui/dist/standalone/specs/098-github-multi-project-integration/README.md +0 -387
- package/.next/standalone/packages/ui/dist/standalone/specs/099-enhanced-dependency-commands-cli-mcp/README.md +0 -613
- package/.next/standalone/packages/ui/dist/standalone/specs/100-release-process-typecheck-failure/README.md +0 -266
- package/.next/standalone/packages/ui/dist/standalone/specs/101-sidebar-scroll-position-drift/README.md +0 -100
- package/.next/standalone/packages/ui/dist/standalone/specs/102-mcp-wrapper-package/README.md +0 -172
- package/.next/static/chunks/094cf9f4e3553261.js +0 -1
- package/.next/static/chunks/1c015eb9eaaf9f9c.js +0 -1
- package/.next/static/chunks/1d36660b2877d213.js +0 -3
- package/.next/static/chunks/20f4141ccb5d4eb4.js +0 -1
- package/.next/static/chunks/2c85b8059e42248a.js +0 -1
- package/.next/static/chunks/3b6b058ebd14dbed.js +0 -1
- package/.next/static/chunks/4d29ca0fa6843070.js +0 -2
- package/.next/static/chunks/59854b15bf046467.js +0 -1
- package/.next/static/chunks/5fd8101e32b076b1.js +0 -1
- package/.next/static/chunks/a33f10af6abef4df.js +0 -10
- package/.next/static/chunks/b7f19087afe1d2c9.css +0 -1
- package/.next/static/chunks/ddd87cd0d26bc2f5.js +0 -1
- package/.next/static/chunks/eeec245955b3b600.js +0 -5
- /package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64 → @img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64}/lib/index.js +0 -0
- /package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64 → @img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64}/versions.json +0 -0
- /package/.next/standalone/packages/ui/.next/static/{8PwFWS-09QjFSbDbfp15t → s9uUE9DnvJD2xIz-iBGMe}/_buildManifest.js +0 -0
- /package/.next/standalone/packages/ui/.next/static/{8PwFWS-09QjFSbDbfp15t → s9uUE9DnvJD2xIz-iBGMe}/_clientMiddlewareManifest.json +0 -0
- /package/.next/standalone/packages/ui/.next/static/{8PwFWS-09QjFSbDbfp15t → s9uUE9DnvJD2xIz-iBGMe}/_ssgManifest.js +0 -0
- /package/.next/standalone/packages/ui/dist/{standalone/packages/web/public → public}/f864aa7e7061c0600e35cf3d879b27cf.txt +0 -0
- /package/.next/standalone/packages/ui/dist/{standalone/packages/web/public → public}/favicon.ico +0 -0
- /package/.next/standalone/packages/ui/dist/{standalone/packages/web/public → public}/file.svg +0 -0
- /package/.next/standalone/packages/ui/dist/{standalone/packages/web/public → public}/github-mark-white.svg +0 -0
- /package/.next/standalone/packages/ui/dist/{standalone/packages/web/public → public}/github-mark.svg +0 -0
- /package/.next/standalone/packages/ui/dist/{standalone/packages/web/public → public}/globe.svg +0 -0
- /package/.next/standalone/packages/ui/dist/{standalone/packages/web/public → public}/icon.svg +0 -0
- /package/.next/standalone/packages/ui/dist/{standalone/packages/web/public → public}/logo-dark-bg.svg +0 -0
- /package/.next/standalone/packages/ui/dist/{standalone/packages/web/public → public}/logo-with-bg.svg +0 -0
- /package/.next/standalone/packages/ui/dist/{standalone/packages/web/public → public}/logo.svg +0 -0
- /package/.next/standalone/packages/ui/dist/{standalone/packages/web/public → public}/next.svg +0 -0
- /package/.next/standalone/packages/ui/dist/{standalone/packages/web/public → public}/vercel.svg +0 -0
- /package/.next/standalone/packages/ui/dist/{standalone/packages/web/public → public}/window.svg +0 -0
- /package/.next/{static/8PwFWS-09QjFSbDbfp15t → standalone/packages/ui/dist/static/4ZnYN1WbN4LGJQOwP6FkT}/_buildManifest.js +0 -0
- /package/.next/{static/8PwFWS-09QjFSbDbfp15t → standalone/packages/ui/dist/static/4ZnYN1WbN4LGJQOwP6FkT}/_clientMiddlewareManifest.json +0 -0
- /package/.next/{static/8PwFWS-09QjFSbDbfp15t → standalone/packages/ui/dist/static/4ZnYN1WbN4LGJQOwP6FkT}/_ssgManifest.js +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[73472,989131,398895,681900,a=>{"use strict";var b=a.i(966048),c=(0,a.i(289122).default)(Object.keys,Object),d=Object.prototype.hasOwnProperty;let e=function(a){if(!(0,b.default)(a))return c(a);var e=[];for(var f in Object(a))d.call(a,f)&&"constructor"!=f&&e.push(f);return e};a.s(["default",0,e],989131);var f=a.i(444525),g=a.i(171955),h=(0,f.default)(g.default,"DataView"),i=a.i(62429),j=(0,f.default)(g.default,"Promise"),k=(0,f.default)(g.default,"Set");a.s(["default",0,k],398895);var l=(0,f.default)(g.default,"WeakMap"),m=a.i(907611),n=a.i(947788),o="[object Map]",p="[object Promise]",q="[object Set]",r="[object WeakMap]",s="[object DataView]",t=(0,n.default)(h),u=(0,n.default)(i.default),v=(0,n.default)(j),w=(0,n.default)(k),x=(0,n.default)(l),y=m.default;(h&&y(new h(new ArrayBuffer(1)))!=s||i.default&&y(new i.default)!=o||j&&y(j.resolve())!=p||k&&y(new k)!=q||l&&y(new l)!=r)&&(y=function(a){var b=(0,m.default)(a),c="[object Object]"==b?a.constructor:void 0,d=c?(0,n.default)(c):"";if(d)switch(d){case t:return s;case u:return o;case v:return p;case w:return q;case x:return r}return b});let z=y;a.s(["default",0,z],681900);var A=a.i(29437),B=a.i(947891),C=a.i(501897),D=a.i(100612),E=a.i(519181),F=Object.prototype.hasOwnProperty;a.s(["default",0,function(a){if(null==a)return!0;if((0,C.default)(a)&&((0,B.default)(a)||"string"==typeof a||"function"==typeof a.splice||(0,D.default)(a)||(0,E.default)(a)||(0,A.default)(a)))return!a.length;var c=z(a);if("[object Map]"==c||"[object Set]"==c)return!a.size;if((0,b.default)(a))return!e(a).length;for(var d in a)if(F.call(a,d))return!1;return!0}],73472)},856003,a=>{"use strict";var b=a.i(518891),c=a.i(696948);a.i(43066);var d=a.i(455784),e=(0,c.__name)(a=>{let{securityLevel:c}=(0,b.getConfig2)(),e=(0,d.select)("body");if("sandbox"===c){let b=(0,d.select)(`#i${a}`),c=b.node()?.contentDocument??document;e=(0,d.select)(c.body)}return e.select(`#${a}`)},"selectSvgElement");a.s(["selectSvgElement",()=>e])},670416,a=>{"use strict";var b=(0,a.i(696948).__name)(({flowchart:a})=>{let b=a?.subGraphTitleMargin?.top??0,c=a?.subGraphTitleMargin?.bottom??0;return{subGraphTitleTopMargin:b,subGraphTitleBottomMargin:c,subGraphTitleTotalMargin:b+c}},"getSubGraphTitleMargins");a.s(["getSubGraphTitleMargins",()=>b])},25910,a=>{"use strict";var b=a.i(518891),c=a.i(696948),d=(0,c.__name)(a=>{let{handDrawnSeed:c}=(0,b.getConfig2)();return{fill:a,hachureAngle:120,hachureGap:4,fillWeight:2,roughness:.7,stroke:a,seed:c}},"solidStateFill"),e=(0,c.__name)(a=>{let b=f([...a.cssCompiledStyles||[],...a.cssStyles||[],...a.labelStyle||[]]);return{stylesMap:b,stylesArray:[...b]}},"compileStyles"),f=(0,c.__name)(a=>{let b=new Map;return a.forEach(a=>{let[c,d]=a.split(":");b.set(c.trim(),d?.trim())}),b},"styles2Map"),g=(0,c.__name)(a=>"color"===a||"font-size"===a||"font-family"===a||"font-weight"===a||"font-style"===a||"text-decoration"===a||"text-align"===a||"text-transform"===a||"line-height"===a||"letter-spacing"===a||"word-spacing"===a||"text-shadow"===a||"text-overflow"===a||"white-space"===a||"word-wrap"===a||"word-break"===a||"overflow-wrap"===a||"hyphens"===a,"isLabelStyle"),h=(0,c.__name)(a=>{let{stylesArray:b}=e(a),c=[],d=[],f=[],h=[];return b.forEach(a=>{let b=a[0];g(b)?c.push(a.join(":")+" !important"):(d.push(a.join(":")+" !important"),b.includes("stroke")&&f.push(a.join(":")+" !important"),"fill"===b&&h.push(a.join(":")+" !important"))}),{labelStyles:c.join(";"),nodeStyles:d.join(";"),stylesArray:b,borderStyles:f,backgroundStyles:h}},"styles2String"),i=(0,c.__name)((a,c)=>{let{themeVariables:d,handDrawnSeed:f}=(0,b.getConfig2)(),{nodeBorder:g,mainBkg:h}=d,{stylesMap:i}=e(a);return Object.assign({roughness:.7,fill:i.get("fill")||h,fillStyle:"hachure",fillWeight:4,hachureGap:5.2,stroke:i.get("stroke")||g,seed:f,strokeWidth:i.get("stroke-width")?.replace("px","")||1.3,fillLineDash:[0,0],strokeLineDash:j(i.get("stroke-dasharray"))},c)},"userNodeOverrides"),j=(0,c.__name)(a=>{if(!a)return[0,0];let b=a.trim().split(/\s+/).map(Number);if(1===b.length){let a=isNaN(b[0])?0:b[0];return[a,a]}return[isNaN(b[0])?0:b[0],isNaN(b[1])?0:b[1]]},"getStrokeDashArray");a.s(["compileStyles",()=>e,"isLabelStyle",()=>g,"solidStateFill",()=>d,"styles2String",()=>h,"userNodeOverrides",()=>i])},24041,a=>{"use strict";var b=a.i(745071),c=a.i(330268),d=a.i(710456),e=a.i(518891),f=a.i(696948),g={common:e.common_default,getConfig:e.getConfig,insertCluster:c.insertCluster,insertEdge:b.insertEdge,insertEdgeLabel:b.insertEdgeLabel,insertMarkers:b.markers_default,insertNode:c.insertNode,interpolateToCurve:d.interpolateToCurve,labelHelper:c.labelHelper,log:f.log,positionEdgeLabel:b.positionEdgeLabel},h={},i=(0,f.__name)(a=>{for(let b of a)h[b.name]=b},"registerLayoutLoaders");(0,f.__name)(()=>{i([{name:"dagre",loader:(0,f.__name)(async()=>await a.A(554266),"loader")},{name:"cose-bilkent",loader:(0,f.__name)(async()=>await a.A(131690),"loader")}])},"registerDefaultLayoutLoaders")();var j=(0,f.__name)(async(a,b)=>{if(!(a.layoutAlgorithm in h))throw Error(`Unknown layout algorithm: ${a.layoutAlgorithm}`);let c=h[a.layoutAlgorithm];return(await c.loader()).render(a,b,g,{algorithm:c.algorithm})},"render"),k=(0,f.__name)((a="",{fallback:b="dagre"}={})=>{if(a in h)return a;if(b in h)return f.log.warn(`Layout algorithm ${a} is not registered. Using ${b} as fallback.`),b;throw Error(`Both layout algorithms ${a} and ${b} are not registered.`)},"getRegisteredLayoutAlgorithm");a.s(["getRegisteredLayoutAlgorithm",()=>k,"registerLayoutLoaders",()=>i,"render",()=>j])},482783,a=>{"use strict";var b={name:"mermaid",version:"11.12.1",description:"Markdown-ish syntax for generating flowcharts, mindmaps, sequence diagrams, class diagrams, gantt charts, git graphs and more.",type:"module",module:"./dist/mermaid.core.mjs",types:"./dist/mermaid.d.ts",exports:{".":{types:"./dist/mermaid.d.ts",import:"./dist/mermaid.core.mjs",default:"./dist/mermaid.core.mjs"},"./*":"./*"},keywords:["diagram","markdown","flowchart","sequence diagram","gantt","class diagram","git graph","mindmap","packet diagram","c4 diagram","er diagram","pie chart","pie diagram","quadrant chart","requirement diagram","graph"],scripts:{clean:"rimraf dist",dev:"pnpm -w dev","docs:code":"typedoc src/defaultConfig.ts src/config.ts src/mermaid.ts && prettier --write ./src/docs/config/setup","docs:build":"rimraf ../../docs && pnpm docs:code && pnpm docs:spellcheck && tsx scripts/docs.cli.mts","docs:verify":"pnpm docs:code && pnpm docs:spellcheck && tsx scripts/docs.cli.mts --verify","docs:pre:vitepress":"pnpm --filter ./src/docs prefetch && rimraf src/vitepress && pnpm docs:code && tsx scripts/docs.cli.mts --vitepress && pnpm --filter ./src/vitepress install --no-frozen-lockfile --ignore-scripts","docs:build:vitepress":"pnpm docs:pre:vitepress && (cd src/vitepress && pnpm run build) && cpy --flat src/docs/landing/ ./src/vitepress/.vitepress/dist/landing","docs:dev":'pnpm docs:pre:vitepress && concurrently "pnpm --filter ./src/vitepress dev" "tsx scripts/docs.cli.mts --watch --vitepress"',"docs:dev:docker":'pnpm docs:pre:vitepress && concurrently "pnpm --filter ./src/vitepress dev:docker" "tsx scripts/docs.cli.mts --watch --vitepress"',"docs:serve":"pnpm docs:build:vitepress && vitepress serve src/vitepress","docs:spellcheck":'cspell "src/docs/**/*.md"',"docs:release-version":"tsx scripts/update-release-version.mts","docs:verify-version":"tsx scripts/update-release-version.mts --verify","types:build-config":"tsx scripts/create-types-from-json-schema.mts","types:verify-config":"tsx scripts/create-types-from-json-schema.mts --verify",checkCircle:"npx madge --circular ./src",prepublishOnly:"pnpm docs:verify-version"},repository:{type:"git",url:"https://github.com/mermaid-js/mermaid"},author:"Knut Sveidqvist",license:"MIT",standard:{ignore:["**/parser/*.js","dist/**/*.js","cypress/**/*.js"],globals:["page"]},dependencies:{"@braintree/sanitize-url":"^7.1.1","@iconify/utils":"^3.0.1","@mermaid-js/parser":"workspace:^","@types/d3":"^7.4.3",cytoscape:"^3.29.3","cytoscape-cose-bilkent":"^4.1.0","cytoscape-fcose":"^2.2.0",d3:"^7.9.0","d3-sankey":"^0.12.3","dagre-d3-es":"7.0.13",dayjs:"^1.11.18",dompurify:"^3.2.5",katex:"^0.16.22",khroma:"^2.1.0","lodash-es":"^4.17.21",marked:"^16.2.1",roughjs:"^4.6.6",stylis:"^4.3.6","ts-dedent":"^2.2.0",uuid:"^11.1.0"},devDependencies:{"@adobe/jsonschema2md":"^8.0.5","@iconify/types":"^2.0.0","@types/cytoscape":"^3.21.9","@types/cytoscape-fcose":"^2.2.4","@types/d3-sankey":"^0.12.4","@types/d3-scale":"^4.0.9","@types/d3-scale-chromatic":"^3.1.0","@types/d3-selection":"^3.0.11","@types/d3-shape":"^3.1.7","@types/jsdom":"^21.1.7","@types/katex":"^0.16.7","@types/lodash-es":"^4.17.12","@types/micromatch":"^4.0.9","@types/stylis":"^4.2.7","@types/uuid":"^10.0.0",ajv:"^8.17.1",canvas:"^3.1.2",chokidar:"3.6.0",concurrently:"^9.1.2","csstree-validator":"^4.0.1",globby:"^14.1.0",jison:"^0.4.18","js-base64":"^3.7.8",jsdom:"^26.1.0","json-schema-to-typescript":"^15.0.4",micromatch:"^4.0.8","path-browserify":"^1.0.1",prettier:"^3.5.3",remark:"^15.0.1","remark-frontmatter":"^5.0.0","remark-gfm":"^4.0.1",rimraf:"^6.0.1","start-server-and-test":"^2.0.13","type-fest":"^4.35.0",typedoc:"^0.28.12","typedoc-plugin-markdown":"^4.8.1",typescript:"~5.7.3","unist-util-flatmap":"^1.0.0","unist-util-visit":"^5.0.0",vitepress:"^1.6.4","vitepress-plugin-search":"1.0.4-alpha.22"},files:["dist/","README.md"],publishConfig:{access:"public"}};a.s(["package_default",()=>b])},104492,a=>{a.v(b=>Promise.all(["server/chunks/ssr/f0bdc_katex_dist_katex_mjs_27a6c950._.js"].map(b=>a.l(b))).then(()=>b(499972)))},554266,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules__pnpm_2a29db83._.js","server/chunks/ssr/641df_lodash-es_f2ef1919._.js","server/chunks/ssr/641df_lodash-es_4d3de843._.js","server/chunks/ssr/1ce3b_dagre-d3-es_src_dagre_index_f9cad90b.js","server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_dagre-6UL2VRFP_mjs_2a0e551c._.js"].map(b=>a.l(b))).then(()=>b(242198)))},131690,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules__pnpm_a3f2a370._.js","server/chunks/ssr/4e76f_cytoscape_dist_cytoscape_esm_mjs_56d6d0a1._.js"].map(b=>a.l(b))).then(()=>b(679109)))},99646,a=>{a.v(b=>Promise.all(["server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-TZMSLE5B_mjs_72a0311f._.js","server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_c4Diagram-YG6GDRKO_mjs_0683be9f._.js"].map(b=>a.l(b))).then(()=>b(790339)))},558033,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules__pnpm_c22df304._.js","server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_flowDiagram-NV44I4VS_mjs_c11db931._.js"].map(b=>a.l(b))).then(()=>b(607093)))},5050,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules__pnpm_c766836f._.js","server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_erDiagram-Q2GNP2WA_mjs_2956542e._.js"].map(b=>a.l(b))).then(()=>b(657455)))},679844,a=>{a.v(b=>Promise.all(["server/chunks/ssr/641df_lodash-es_5f3103e1._.js","server/chunks/ssr/node_modules__pnpm_88c8b88b._.js","server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_gitGraphDiagram-NY62KEGX_mjs_fe41f076._.js","server/chunks/ssr/node_modules__pnpm_03d68913._.js","server/chunks/ssr/641df_lodash-es_057c0674._.js"].map(b=>a.l(b))).then(()=>b(718146)))},382304,a=>{a.v(b=>Promise.all(["server/chunks/ssr/54964_d3-scale_src_linear_5b8914dd.js","server/chunks/ssr/node_modules__pnpm_ab5a8afc._.js","server/chunks/ssr/node_modules__pnpm_cb5a045f._.js","server/chunks/ssr/node_modules__pnpm_b247a526._.js"].map(b=>a.l(b))).then(()=>b(881915)))},27433,a=>{a.v(b=>Promise.all(["server/chunks/ssr/641df_lodash-es_5f3103e1._.js","server/chunks/ssr/node_modules__pnpm_69372f5b._.js","server/chunks/ssr/node_modules__pnpm_03d68913._.js","server/chunks/ssr/641df_lodash-es_057c0674._.js"].map(b=>a.l(b))).then(()=>b(69483)))},785667,a=>{a.v(b=>Promise.all(["server/chunks/ssr/641df_lodash-es_5f3103e1._.js","server/chunks/ssr/node_modules__pnpm_e175b92a._.js","server/chunks/ssr/node_modules__pnpm_03d68913._.js","server/chunks/ssr/641df_lodash-es_057c0674._.js"].map(b=>a.l(b))).then(()=>b(535342)))},184549,a=>{a.v(b=>Promise.all(["server/chunks/ssr/54964_d3-scale_src_linear_5b8914dd.js","server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_quadrantDiagram-AYHSOK5B_mjs_50c2110d._.js","server/chunks/ssr/node_modules__pnpm_d8037b10._.js"].map(b=>a.l(b))).then(()=>b(59304)))},350634,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules__pnpm_f5b29533._.js","server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_xychartDiagram-PRI3JC2R_mjs_7eec04e0._.js"].map(b=>a.l(b))).then(()=>b(159065)))},204722,a=>{a.v(b=>Promise.all(["server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_0b254b71._.js","server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_requirementDiagram-UZGBJVZJ_mjs_8f86dea7._.js"].map(b=>a.l(b))).then(()=>b(399012)))},585134,a=>{a.v(b=>Promise.all(["server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_ffd8fbee._.js","server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_sequenceDiagram-WL72ISMW_mjs_4d5ee2b1._.js"].map(b=>a.l(b))).then(()=>b(283992)))},386539,a=>{a.v(b=>Promise.all(["server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_c5b1d4f9._.js","server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-B4BG7PRW_mjs_3190ac39._.js"].map(b=>a.l(b))).then(()=>b(891924)))},463394,a=>{a.v(b=>Promise.all(["server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_8167bfdd._.js","server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-B4BG7PRW_mjs_3190ac39._.js"].map(b=>a.l(b))).then(()=>b(243592)))},309613,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules__pnpm_ea1bddc7._.js","server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_stateDiagram-FKZM4ZOC_mjs_2bd67ce9._.js","server/chunks/ssr/641df_lodash-es_f2ef1919._.js","server/chunks/ssr/1ce3b_dagre-d3-es_src_dagre_index_f9cad90b.js","server/chunks/ssr/641df_lodash-es_4d3de843._.js","server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-DI55MBZ5_mjs_2e49cdd9._.js"].map(b=>a.l(b))).then(()=>b(320365)))},318343,a=>{a.v(b=>Promise.all(["server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_f71564d9._.js","server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-DI55MBZ5_mjs_2e49cdd9._.js"].map(b=>a.l(b))).then(()=>b(697250)))},973397,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules__pnpm_76d4233c._.js","server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_journeyDiagram-XKPGCS4Q_mjs_8b9c3e68._.js"].map(b=>a.l(b))).then(()=>b(431270)))},670501,a=>{a.v(b=>Promise.all(["server/chunks/ssr/c7b92_d3-shape_src_arc_9341f572.js","server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_timeline-definition-IT6M3QCI_mjs_96b04d43._.js"].map(b=>a.l(b))).then(()=>b(682103)))},396270,a=>{a.v(b=>Promise.all(["server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_0b254b71._.js","server/chunks/ssr/[root-of-the-server]__e4a2bcdd._.js"].map(b=>a.l(b))).then(()=>b(414770)))},983137,a=>{a.v(b=>Promise.all(["server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-FMBD7UC4_mjs_69c9238e._.js","server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_kanban-definition-3W4ZIXB7_mjs_d8e6de34._.js"].map(b=>a.l(b))).then(()=>b(672701)))},501107,a=>{a.v(b=>Promise.all(["server/chunks/ssr/54964_d3-scale_src_c504aad0._.js","server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_sankeyDiagram-TZEHDZUN_mjs_9fa014df._.js"].map(b=>a.l(b))).then(()=>b(629325)))},681064,a=>{a.v(b=>Promise.all(["server/chunks/ssr/641df_lodash-es_5f3103e1._.js","server/chunks/ssr/node_modules__pnpm_f732d0bb._.js","server/chunks/ssr/641df_lodash-es_057c0674._.js","server/chunks/ssr/node_modules__pnpm_03d68913._.js"].map(b=>a.l(b))).then(()=>b(5361)))},817419,a=>{a.v(b=>Promise.all(["server/chunks/ssr/641df_lodash-es_5f3103e1._.js","server/chunks/ssr/node_modules__pnpm_c17f27b1._.js","server/chunks/ssr/641df_lodash-es_057c0674._.js","server/chunks/ssr/node_modules__pnpm_03d68913._.js"].map(b=>a.l(b))).then(()=>b(403879)))},203963,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules__pnpm_1aec4342._.js","server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_blockDiagram-VD42YOAC_mjs_99bfbaf9._.js","server/chunks/ssr/641df_lodash-es_4b57a3a3._.js"].map(b=>a.l(b))).then(()=>b(363789)))},733643,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules__pnpm_e440897f._.js","server/chunks/ssr/641df_lodash-es_057c0674._.js","server/chunks/ssr/641df_lodash-es_5f3103e1._.js","server/chunks/ssr/4e76f_cytoscape_dist_cytoscape_esm_mjs_56d6d0a1._.js","server/chunks/ssr/node_modules__pnpm_03d68913._.js","server/chunks/ssr/node_modules__pnpm_b23175bb._.js"].map(b=>a.l(b))).then(()=>b(763978)))},143400,a=>{a.v(b=>Promise.all(["server/chunks/ssr/641df_lodash-es_5f3103e1._.js","server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_diagram-PSM6KHXK_mjs_f109b802._.js","server/chunks/ssr/node_modules__pnpm_03d68913._.js","server/chunks/ssr/641df_lodash-es_057c0674._.js","server/chunks/ssr/node_modules__pnpm_3ba1438c._.js"].map(b=>a.l(b))).then(()=>b(380264)))}];
|
|
1
|
+
module.exports=[73472,989131,398895,681900,a=>{"use strict";var b=a.i(966048),c=(0,a.i(289122).default)(Object.keys,Object),d=Object.prototype.hasOwnProperty;let e=function(a){if(!(0,b.default)(a))return c(a);var e=[];for(var f in Object(a))d.call(a,f)&&"constructor"!=f&&e.push(f);return e};a.s(["default",0,e],989131);var f=a.i(444525),g=a.i(171955),h=(0,f.default)(g.default,"DataView"),i=a.i(62429),j=(0,f.default)(g.default,"Promise"),k=(0,f.default)(g.default,"Set");a.s(["default",0,k],398895);var l=(0,f.default)(g.default,"WeakMap"),m=a.i(907611),n=a.i(947788),o="[object Map]",p="[object Promise]",q="[object Set]",r="[object WeakMap]",s="[object DataView]",t=(0,n.default)(h),u=(0,n.default)(i.default),v=(0,n.default)(j),w=(0,n.default)(k),x=(0,n.default)(l),y=m.default;(h&&y(new h(new ArrayBuffer(1)))!=s||i.default&&y(new i.default)!=o||j&&y(j.resolve())!=p||k&&y(new k)!=q||l&&y(new l)!=r)&&(y=function(a){var b=(0,m.default)(a),c="[object Object]"==b?a.constructor:void 0,d=c?(0,n.default)(c):"";if(d)switch(d){case t:return s;case u:return o;case v:return p;case w:return q;case x:return r}return b});let z=y;a.s(["default",0,z],681900);var A=a.i(29437),B=a.i(947891),C=a.i(501897),D=a.i(100612),E=a.i(519181),F=Object.prototype.hasOwnProperty;a.s(["default",0,function(a){if(null==a)return!0;if((0,C.default)(a)&&((0,B.default)(a)||"string"==typeof a||"function"==typeof a.splice||(0,D.default)(a)||(0,E.default)(a)||(0,A.default)(a)))return!a.length;var c=z(a);if("[object Map]"==c||"[object Set]"==c)return!a.size;if((0,b.default)(a))return!e(a).length;for(var d in a)if(F.call(a,d))return!1;return!0}],73472)},856003,a=>{"use strict";var b=a.i(518891),c=a.i(696948);a.i(43066);var d=a.i(455784),e=(0,c.__name)(a=>{let{securityLevel:c}=(0,b.getConfig2)(),e=(0,d.select)("body");if("sandbox"===c){let b=(0,d.select)(`#i${a}`),c=b.node()?.contentDocument??document;e=(0,d.select)(c.body)}return e.select(`#${a}`)},"selectSvgElement");a.s(["selectSvgElement",()=>e])},670416,a=>{"use strict";var b=(0,a.i(696948).__name)(({flowchart:a})=>{let b=a?.subGraphTitleMargin?.top??0,c=a?.subGraphTitleMargin?.bottom??0;return{subGraphTitleTopMargin:b,subGraphTitleBottomMargin:c,subGraphTitleTotalMargin:b+c}},"getSubGraphTitleMargins");a.s(["getSubGraphTitleMargins",()=>b])},25910,a=>{"use strict";var b=a.i(518891),c=a.i(696948),d=(0,c.__name)(a=>{let{handDrawnSeed:c}=(0,b.getConfig2)();return{fill:a,hachureAngle:120,hachureGap:4,fillWeight:2,roughness:.7,stroke:a,seed:c}},"solidStateFill"),e=(0,c.__name)(a=>{let b=f([...a.cssCompiledStyles||[],...a.cssStyles||[],...a.labelStyle||[]]);return{stylesMap:b,stylesArray:[...b]}},"compileStyles"),f=(0,c.__name)(a=>{let b=new Map;return a.forEach(a=>{let[c,d]=a.split(":");b.set(c.trim(),d?.trim())}),b},"styles2Map"),g=(0,c.__name)(a=>"color"===a||"font-size"===a||"font-family"===a||"font-weight"===a||"font-style"===a||"text-decoration"===a||"text-align"===a||"text-transform"===a||"line-height"===a||"letter-spacing"===a||"word-spacing"===a||"text-shadow"===a||"text-overflow"===a||"white-space"===a||"word-wrap"===a||"word-break"===a||"overflow-wrap"===a||"hyphens"===a,"isLabelStyle"),h=(0,c.__name)(a=>{let{stylesArray:b}=e(a),c=[],d=[],f=[],h=[];return b.forEach(a=>{let b=a[0];g(b)?c.push(a.join(":")+" !important"):(d.push(a.join(":")+" !important"),b.includes("stroke")&&f.push(a.join(":")+" !important"),"fill"===b&&h.push(a.join(":")+" !important"))}),{labelStyles:c.join(";"),nodeStyles:d.join(";"),stylesArray:b,borderStyles:f,backgroundStyles:h}},"styles2String"),i=(0,c.__name)((a,c)=>{let{themeVariables:d,handDrawnSeed:f}=(0,b.getConfig2)(),{nodeBorder:g,mainBkg:h}=d,{stylesMap:i}=e(a);return Object.assign({roughness:.7,fill:i.get("fill")||h,fillStyle:"hachure",fillWeight:4,hachureGap:5.2,stroke:i.get("stroke")||g,seed:f,strokeWidth:i.get("stroke-width")?.replace("px","")||1.3,fillLineDash:[0,0],strokeLineDash:j(i.get("stroke-dasharray"))},c)},"userNodeOverrides"),j=(0,c.__name)(a=>{if(!a)return[0,0];let b=a.trim().split(/\s+/).map(Number);if(1===b.length){let a=isNaN(b[0])?0:b[0];return[a,a]}return[isNaN(b[0])?0:b[0],isNaN(b[1])?0:b[1]]},"getStrokeDashArray");a.s(["compileStyles",()=>e,"isLabelStyle",()=>g,"solidStateFill",()=>d,"styles2String",()=>h,"userNodeOverrides",()=>i])},24041,a=>{"use strict";var b=a.i(745071),c=a.i(330268),d=a.i(710456),e=a.i(518891),f=a.i(696948),g={common:e.common_default,getConfig:e.getConfig,insertCluster:c.insertCluster,insertEdge:b.insertEdge,insertEdgeLabel:b.insertEdgeLabel,insertMarkers:b.markers_default,insertNode:c.insertNode,interpolateToCurve:d.interpolateToCurve,labelHelper:c.labelHelper,log:f.log,positionEdgeLabel:b.positionEdgeLabel},h={},i=(0,f.__name)(a=>{for(let b of a)h[b.name]=b},"registerLayoutLoaders");(0,f.__name)(()=>{i([{name:"dagre",loader:(0,f.__name)(async()=>await a.A(554266),"loader")},{name:"cose-bilkent",loader:(0,f.__name)(async()=>await a.A(131690),"loader")}])},"registerDefaultLayoutLoaders")();var j=(0,f.__name)(async(a,b)=>{if(!(a.layoutAlgorithm in h))throw Error(`Unknown layout algorithm: ${a.layoutAlgorithm}`);let c=h[a.layoutAlgorithm];return(await c.loader()).render(a,b,g,{algorithm:c.algorithm})},"render"),k=(0,f.__name)((a="",{fallback:b="dagre"}={})=>{if(a in h)return a;if(b in h)return f.log.warn(`Layout algorithm ${a} is not registered. Using ${b} as fallback.`),b;throw Error(`Both layout algorithms ${a} and ${b} are not registered.`)},"getRegisteredLayoutAlgorithm");a.s(["getRegisteredLayoutAlgorithm",()=>k,"registerLayoutLoaders",()=>i,"render",()=>j])},482783,a=>{"use strict";var b={name:"mermaid",version:"11.12.1",description:"Markdown-ish syntax for generating flowcharts, mindmaps, sequence diagrams, class diagrams, gantt charts, git graphs and more.",type:"module",module:"./dist/mermaid.core.mjs",types:"./dist/mermaid.d.ts",exports:{".":{types:"./dist/mermaid.d.ts",import:"./dist/mermaid.core.mjs",default:"./dist/mermaid.core.mjs"},"./*":"./*"},keywords:["diagram","markdown","flowchart","sequence diagram","gantt","class diagram","git graph","mindmap","packet diagram","c4 diagram","er diagram","pie chart","pie diagram","quadrant chart","requirement diagram","graph"],scripts:{clean:"rimraf dist",dev:"pnpm -w dev","docs:code":"typedoc src/defaultConfig.ts src/config.ts src/mermaid.ts && prettier --write ./src/docs/config/setup","docs:build":"rimraf ../../docs && pnpm docs:code && pnpm docs:spellcheck && tsx scripts/docs.cli.mts","docs:verify":"pnpm docs:code && pnpm docs:spellcheck && tsx scripts/docs.cli.mts --verify","docs:pre:vitepress":"pnpm --filter ./src/docs prefetch && rimraf src/vitepress && pnpm docs:code && tsx scripts/docs.cli.mts --vitepress && pnpm --filter ./src/vitepress install --no-frozen-lockfile --ignore-scripts","docs:build:vitepress":"pnpm docs:pre:vitepress && (cd src/vitepress && pnpm run build) && cpy --flat src/docs/landing/ ./src/vitepress/.vitepress/dist/landing","docs:dev":'pnpm docs:pre:vitepress && concurrently "pnpm --filter ./src/vitepress dev" "tsx scripts/docs.cli.mts --watch --vitepress"',"docs:dev:docker":'pnpm docs:pre:vitepress && concurrently "pnpm --filter ./src/vitepress dev:docker" "tsx scripts/docs.cli.mts --watch --vitepress"',"docs:serve":"pnpm docs:build:vitepress && vitepress serve src/vitepress","docs:spellcheck":'cspell "src/docs/**/*.md"',"docs:release-version":"tsx scripts/update-release-version.mts","docs:verify-version":"tsx scripts/update-release-version.mts --verify","types:build-config":"tsx scripts/create-types-from-json-schema.mts","types:verify-config":"tsx scripts/create-types-from-json-schema.mts --verify",checkCircle:"npx madge --circular ./src",prepublishOnly:"pnpm docs:verify-version"},repository:{type:"git",url:"https://github.com/mermaid-js/mermaid"},author:"Knut Sveidqvist",license:"MIT",standard:{ignore:["**/parser/*.js","dist/**/*.js","cypress/**/*.js"],globals:["page"]},dependencies:{"@braintree/sanitize-url":"^7.1.1","@iconify/utils":"^3.0.1","@mermaid-js/parser":"workspace:^","@types/d3":"^7.4.3",cytoscape:"^3.29.3","cytoscape-cose-bilkent":"^4.1.0","cytoscape-fcose":"^2.2.0",d3:"^7.9.0","d3-sankey":"^0.12.3","dagre-d3-es":"7.0.13",dayjs:"^1.11.18",dompurify:"^3.2.5",katex:"^0.16.22",khroma:"^2.1.0","lodash-es":"^4.17.21",marked:"^16.2.1",roughjs:"^4.6.6",stylis:"^4.3.6","ts-dedent":"^2.2.0",uuid:"^11.1.0"},devDependencies:{"@adobe/jsonschema2md":"^8.0.5","@iconify/types":"^2.0.0","@types/cytoscape":"^3.21.9","@types/cytoscape-fcose":"^2.2.4","@types/d3-sankey":"^0.12.4","@types/d3-scale":"^4.0.9","@types/d3-scale-chromatic":"^3.1.0","@types/d3-selection":"^3.0.11","@types/d3-shape":"^3.1.7","@types/jsdom":"^21.1.7","@types/katex":"^0.16.7","@types/lodash-es":"^4.17.12","@types/micromatch":"^4.0.9","@types/stylis":"^4.2.7","@types/uuid":"^10.0.0",ajv:"^8.17.1",canvas:"^3.1.2",chokidar:"3.6.0",concurrently:"^9.1.2","csstree-validator":"^4.0.1",globby:"^14.1.0",jison:"^0.4.18","js-base64":"^3.7.8",jsdom:"^26.1.0","json-schema-to-typescript":"^15.0.4",micromatch:"^4.0.8","path-browserify":"^1.0.1",prettier:"^3.5.3",remark:"^15.0.1","remark-frontmatter":"^5.0.0","remark-gfm":"^4.0.1",rimraf:"^6.0.1","start-server-and-test":"^2.0.13","type-fest":"^4.35.0",typedoc:"^0.28.12","typedoc-plugin-markdown":"^4.8.1",typescript:"~5.7.3","unist-util-flatmap":"^1.0.0","unist-util-visit":"^5.0.0",vitepress:"^1.6.4","vitepress-plugin-search":"1.0.4-alpha.22"},files:["dist/","README.md"],publishConfig:{access:"public"}};a.s(["package_default",()=>b])},104492,a=>{a.v(b=>Promise.all(["server/chunks/ssr/f0bdc_katex_dist_katex_mjs_27a6c950._.js"].map(b=>a.l(b))).then(()=>b(499972)))},554266,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules__pnpm_2a29db83._.js","server/chunks/ssr/641df_lodash-es_f2ef1919._.js","server/chunks/ssr/641df_lodash-es_4d3de843._.js","server/chunks/ssr/1ce3b_dagre-d3-es_src_dagre_index_f9cad90b.js","server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_dagre-6UL2VRFP_mjs_2a0e551c._.js"].map(b=>a.l(b))).then(()=>b(242198)))},131690,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules__pnpm_a3f2a370._.js","server/chunks/ssr/4e76f_cytoscape_dist_cytoscape_esm_mjs_56d6d0a1._.js"].map(b=>a.l(b))).then(()=>b(679109)))},99646,a=>{a.v(b=>Promise.all(["server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-TZMSLE5B_mjs_72a0311f._.js","server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_c4Diagram-YG6GDRKO_mjs_0683be9f._.js"].map(b=>a.l(b))).then(()=>b(790339)))},558033,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules__pnpm_c22df304._.js","server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_flowDiagram-NV44I4VS_mjs_c11db931._.js"].map(b=>a.l(b))).then(()=>b(607093)))},5050,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules__pnpm_c766836f._.js","server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_erDiagram-Q2GNP2WA_mjs_2956542e._.js"].map(b=>a.l(b))).then(()=>b(657455)))},679844,a=>{a.v(b=>Promise.all(["server/chunks/ssr/641df_lodash-es_5f3103e1._.js","server/chunks/ssr/node_modules__pnpm_88c8b88b._.js","server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_gitGraphDiagram-NY62KEGX_mjs_fe41f076._.js","server/chunks/ssr/node_modules__pnpm_03d68913._.js","server/chunks/ssr/641df_lodash-es_057c0674._.js"].map(b=>a.l(b))).then(()=>b(718146)))},382304,a=>{a.v(b=>Promise.all(["server/chunks/ssr/54964_d3-scale_src_linear_5b8914dd.js","server/chunks/ssr/node_modules__pnpm_ab5a8afc._.js","server/chunks/ssr/node_modules__pnpm_cb5a045f._.js","server/chunks/ssr/node_modules__pnpm_b247a526._.js"].map(b=>a.l(b))).then(()=>b(881915)))},27433,a=>{a.v(b=>Promise.all(["server/chunks/ssr/641df_lodash-es_5f3103e1._.js","server/chunks/ssr/node_modules__pnpm_69372f5b._.js","server/chunks/ssr/node_modules__pnpm_03d68913._.js","server/chunks/ssr/641df_lodash-es_057c0674._.js"].map(b=>a.l(b))).then(()=>b(69483)))},785667,a=>{a.v(b=>Promise.all(["server/chunks/ssr/641df_lodash-es_5f3103e1._.js","server/chunks/ssr/node_modules__pnpm_94a0b1f5._.js","server/chunks/ssr/node_modules__pnpm_03d68913._.js","server/chunks/ssr/641df_lodash-es_057c0674._.js"].map(b=>a.l(b))).then(()=>b(535342)))},184549,a=>{a.v(b=>Promise.all(["server/chunks/ssr/54964_d3-scale_src_linear_5b8914dd.js","server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_quadrantDiagram-AYHSOK5B_mjs_50c2110d._.js","server/chunks/ssr/node_modules__pnpm_d8037b10._.js"].map(b=>a.l(b))).then(()=>b(59304)))},350634,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules__pnpm_0056f1f2._.js","server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_xychartDiagram-PRI3JC2R_mjs_7eec04e0._.js"].map(b=>a.l(b))).then(()=>b(159065)))},204722,a=>{a.v(b=>Promise.all(["server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_0b254b71._.js","server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_requirementDiagram-UZGBJVZJ_mjs_8f86dea7._.js"].map(b=>a.l(b))).then(()=>b(399012)))},585134,a=>{a.v(b=>Promise.all(["server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_ffd8fbee._.js","server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_sequenceDiagram-WL72ISMW_mjs_4d5ee2b1._.js"].map(b=>a.l(b))).then(()=>b(283992)))},386539,a=>{a.v(b=>Promise.all(["server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_c5b1d4f9._.js","server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-B4BG7PRW_mjs_3190ac39._.js"].map(b=>a.l(b))).then(()=>b(891924)))},463394,a=>{a.v(b=>Promise.all(["server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_8167bfdd._.js","server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-B4BG7PRW_mjs_3190ac39._.js"].map(b=>a.l(b))).then(()=>b(243592)))},309613,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules__pnpm_ea1bddc7._.js","server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_stateDiagram-FKZM4ZOC_mjs_2bd67ce9._.js","server/chunks/ssr/641df_lodash-es_f2ef1919._.js","server/chunks/ssr/1ce3b_dagre-d3-es_src_dagre_index_f9cad90b.js","server/chunks/ssr/641df_lodash-es_4d3de843._.js","server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-DI55MBZ5_mjs_2e49cdd9._.js"].map(b=>a.l(b))).then(()=>b(320365)))},318343,a=>{a.v(b=>Promise.all(["server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_f71564d9._.js","server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-DI55MBZ5_mjs_2e49cdd9._.js"].map(b=>a.l(b))).then(()=>b(697250)))},973397,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules__pnpm_76d4233c._.js","server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_journeyDiagram-XKPGCS4Q_mjs_8b9c3e68._.js"].map(b=>a.l(b))).then(()=>b(431270)))},670501,a=>{a.v(b=>Promise.all(["server/chunks/ssr/c7b92_d3-shape_src_arc_9341f572.js","server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_timeline-definition-IT6M3QCI_mjs_96b04d43._.js"].map(b=>a.l(b))).then(()=>b(682103)))},396270,a=>{a.v(b=>Promise.all(["server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_0b254b71._.js","server/chunks/ssr/[root-of-the-server]__e4a2bcdd._.js"].map(b=>a.l(b))).then(()=>b(414770)))},983137,a=>{a.v(b=>Promise.all(["server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-FMBD7UC4_mjs_69c9238e._.js","server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_kanban-definition-3W4ZIXB7_mjs_d8e6de34._.js"].map(b=>a.l(b))).then(()=>b(672701)))},501107,a=>{a.v(b=>Promise.all(["server/chunks/ssr/54964_d3-scale_src_c504aad0._.js","server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_sankeyDiagram-TZEHDZUN_mjs_9fa014df._.js"].map(b=>a.l(b))).then(()=>b(629325)))},681064,a=>{a.v(b=>Promise.all(["server/chunks/ssr/641df_lodash-es_5f3103e1._.js","server/chunks/ssr/node_modules__pnpm_f732d0bb._.js","server/chunks/ssr/641df_lodash-es_057c0674._.js","server/chunks/ssr/node_modules__pnpm_03d68913._.js"].map(b=>a.l(b))).then(()=>b(5361)))},817419,a=>{a.v(b=>Promise.all(["server/chunks/ssr/641df_lodash-es_5f3103e1._.js","server/chunks/ssr/node_modules__pnpm_c17f27b1._.js","server/chunks/ssr/641df_lodash-es_057c0674._.js","server/chunks/ssr/node_modules__pnpm_03d68913._.js"].map(b=>a.l(b))).then(()=>b(403879)))},203963,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules__pnpm_1aec4342._.js","server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_blockDiagram-VD42YOAC_mjs_99bfbaf9._.js","server/chunks/ssr/641df_lodash-es_4b57a3a3._.js"].map(b=>a.l(b))).then(()=>b(363789)))},733643,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules__pnpm_e440897f._.js","server/chunks/ssr/641df_lodash-es_057c0674._.js","server/chunks/ssr/641df_lodash-es_5f3103e1._.js","server/chunks/ssr/4e76f_cytoscape_dist_cytoscape_esm_mjs_56d6d0a1._.js","server/chunks/ssr/node_modules__pnpm_03d68913._.js","server/chunks/ssr/node_modules__pnpm_b23175bb._.js"].map(b=>a.l(b))).then(()=>b(763978)))},143400,a=>{a.v(b=>Promise.all(["server/chunks/ssr/641df_lodash-es_5f3103e1._.js","server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_diagram-PSM6KHXK_mjs_f109b802._.js","server/chunks/ssr/node_modules__pnpm_03d68913._.js","server/chunks/ssr/641df_lodash-es_057c0674._.js","server/chunks/ssr/node_modules__pnpm_478d57e5._.js"].map(b=>a.l(b))).then(()=>b(380264)))}];
|
|
2
2
|
|
|
3
|
-
//# sourceMappingURL=
|
|
3
|
+
//# sourceMappingURL=node_modules__pnpm_d3262b3d._.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
module.exports=[709476,a=>{"use strict";var b=a.i(40352),c=a.i(936883),d=a.i(796228),e=a.i(863535);let f=(0,e.default)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);var g=a.i(615268);let h=(0,e.default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);var i=a.i(470485),j=a.i(853206);let k=(0,e.default)("coins",[["circle",{cx:"8",cy:"8",r:"6",key:"3yglwk"}],["path",{d:"M18.09 10.37A6 6 0 1 1 10.34 18",key:"t5s6rm"}],["path",{d:"M7 6h1v4",key:"1obek4"}],["path",{d:"m16.71 13.88.7.71-2.82 2.82",key:"1rbuyh"}]]),l=(0,e.default)("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);var m=a.i(793090),n=a.i(914174),o=a.i(980096),p=a.i(227725),q=a.i(837717),r=a.i(406334),s=a.i(297557);let t=(0,e.default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);var u=a.i(404620);let v=(0,e.default)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]),w=(0,e.default)("scroll-text",[["path",{d:"M15 12h-5",key:"r7krc0"}],["path",{d:"M15 8h-5",key:"1khuty"}],["path",{d:"M19 17V5a2 2 0 0 0-2-2H4",key:"zz82l3"}],["path",{d:"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",key:"1ph1d7"}]]),x=(0,e.default)("file-code",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}]]),y=(0,e.default)("history",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]]),z=(0,e.default)("users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]]),A=(0,e.default)("shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]]),B=(0,e.default)("scale",[["path",{d:"m16 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z",key:"7g6ntu"}],["path",{d:"m2 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z",key:"ijws7r"}],["path",{d:"M7 21h10",key:"1b0cd5"}],["path",{d:"M12 3v18",key:"108xh3"}],["path",{d:"M3 7h2c2 0 5-1 7-2 2 1 5 2 7 2h2",key:"3gwbw2"}]]),C=(0,e.default)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]]);var D=a.i(687052),E=a.i(459500),F=a.i(316828),G=a.i(312750);function H(a,b){if(!b||b.length<2)return 0;let c=b.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),d=a.match(RegExp(c,"gi"));return d?d.length:0}function I({name:a,path:e,content:g,tokenCount:j,lastModified:l,isExpanded:m=!1,onToggle:n,className:r,searchQuery:I,projectRoot:J,onViewDetail:K}){let L,M,[N,O]=c.useState(!1),P=I?H(g,I):0,Q=async a=>{a.stopPropagation();try{await navigator.clipboard.writeText(g),O(!0),setTimeout(()=>O(!1),2e3)}catch(a){console.error("Failed to copy content:",a)}},R=a.endsWith(".json"),S=a.endsWith(".md"),T="agents.md"===(L=a.toLowerCase())||L.includes("agent")?v:"gemini.md"===L?C:"claude.md"===L||"copilot.md"===L||"copilot-instructions.md"===L?v:"readme.md"===L?d.BookOpen:"contributing.md"===L?z:"changelog.md"===L?y:"license.md"===L||"license"===L?B:"security.md"===L?A:L.endsWith(".json")||"config.json"===L?f:L.includes("api")||L.includes("spec")?x:w,U="agents.md"===(M=a.toLowerCase())||M.includes("agent")?"text-purple-500":"gemini.md"===M?"text-blue-500":"claude.md"===M?"text-orange-500":"copilot.md"===M||"copilot-instructions.md"===M?"text-sky-500":"readme.md"===M?"text-green-500":"contributing.md"===M?"text-pink-500":"changelog.md"===M?"text-amber-500":"license.md"===M||"license"===M?"text-slate-500":"security.md"===M?"text-red-500":M.endsWith(".json")?"text-yellow-500":"text-muted-foreground",V=a=>{if(I&&I.length>=2){if(!I||I.length<2)return a;let c=I.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),d=RegExp(`(${c})`,"gi");return a.split(d).map((a,c)=>d.test(a)?(0,b.jsx)("mark",{className:"bg-yellow-200 dark:bg-yellow-800 rounded px-0.5",children:a},c):a)}return a};return(0,b.jsxs)(o.Card,{className:(0,D.cn)("overflow-hidden",r),children:[(0,b.jsx)(o.CardHeader,{className:(0,D.cn)("cursor-pointer hover:bg-muted/50 transition-colors py-3 px-4",m&&"border-b"),onClick:n,children:(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3 min-w-0",children:[(0,b.jsx)(T,{className:(0,D.cn)("h-4 w-4 shrink-0",U)}),(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)(o.CardTitle,{className:"text-sm font-medium truncate",children:a}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground truncate",children:e})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 shrink-0",children:[I&&P>0&&(0,b.jsxs)(q.Badge,{variant:"secondary",className:"text-xs bg-yellow-100 dark:bg-yellow-900 text-yellow-800 dark:text-yellow-200",children:[P," match",1!==P?"es":""]}),(0,b.jsxs)(q.Badge,{variant:"outline",className:(0,D.cn)("text-xs",j<2e3?"text-green-600 dark:text-green-400":j<3500?"text-blue-600 dark:text-blue-400":j<5e3?"text-yellow-600 dark:text-yellow-400":"text-red-600 dark:text-red-400"),children:[(0,b.jsx)(k,{className:"h-3 w-3 mr-1"}),j.toLocaleString()," tokens"]}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground hidden sm:inline",children:j<2e3?"Optimal":j<3500?"Good":j<5e3?"Large":"Very Large"}),K&&(0,b.jsx)(p.Button,{variant:"ghost",size:"sm",className:"h-7 w-7 p-0",onClick:a=>{a.stopPropagation(),K?.()},title:"View full page",children:(0,b.jsx)(u.Maximize2,{className:"h-3.5 w-3.5"})}),J&&(0,b.jsx)(p.Button,{variant:"ghost",size:"sm",className:"h-7 w-7 p-0",onClick:a=>{let b;a.stopPropagation(),J&&window.open((b=e.startsWith("/")?e:`${J}/${e}`,`vscode://file${b}`),"_blank")},title:"Open in VS Code",children:(0,b.jsx)(t,{className:"h-3.5 w-3.5"})}),(0,b.jsx)(p.Button,{variant:"ghost",size:"sm",className:"h-7 w-7 p-0",onClick:Q,title:"Copy content",children:N?(0,b.jsx)(i.Check,{className:"h-3.5 w-3.5 text-green-600"}):(0,b.jsx)(h,{className:"h-3.5 w-3.5"})})]})]})}),m&&(0,b.jsxs)(o.CardContent,{className:"p-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-4 px-4 py-2 bg-muted/30 text-xs text-muted-foreground border-b",children:[(0,b.jsxs)("span",{className:"flex items-center gap-1",children:[(0,b.jsx)(s.Clock,{className:"h-3 w-3"}),"Modified ",("string"==typeof l?new Date(l):l).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})]}),(0,b.jsxs)("span",{children:[g.split("\n").length," lines"]})]}),(0,b.jsx)("div",{className:"max-h-[500px] overflow-auto",children:R?(0,b.jsx)("pre",{className:"p-4 text-sm overflow-x-auto bg-muted/20 whitespace-pre-wrap",children:V(JSON.stringify(JSON.parse(g),null,2))}):S?I&&I.length>=2?(0,b.jsx)("pre",{className:"p-4 text-sm overflow-x-auto bg-muted/20 whitespace-pre-wrap font-mono",children:V(g)}):(0,b.jsx)("article",{className:"prose prose-slate dark:prose-invert max-w-none prose-sm p-4",children:(0,b.jsx)(E.default,{remarkPlugins:[F.default],rehypePlugins:[G.default],children:g})}):(0,b.jsx)("pre",{className:"p-4 text-sm overflow-x-auto bg-muted/20 whitespace-pre-wrap",children:V(g)})})]})]})}function J({name:a,path:d,content:e,tokenCount:f,lastModified:g,className:h,searchQuery:i,projectRoot:j,onViewDetail:k}){let[l,m]=c.useState(!1);return c.useEffect(()=>{i&&i.length>=2&&H(e,i)>0&&m(!0)},[i,e]),(0,b.jsx)(I,{name:a,path:d,content:e,tokenCount:f,lastModified:g,isExpanded:l,onToggle:()=>m(!l),className:h,searchQuery:i,projectRoot:j,onViewDetail:k})}var K=a.i(524172),L=a.i(517601),M=a.i(87140),N=a.i(731751),O=a.i(228e3);function P({file:a,projectRoot:e,onBack:g}){var j,l,m;let n,o,[r,u]=c.useState(!1),H="agents.md"===(n=a.name.toLowerCase())||n.includes("agent")?v:"gemini.md"===n?C:"claude.md"===n||"copilot.md"===n||"copilot-instructions.md"===n?v:"readme.md"===n?d.BookOpen:"contributing.md"===n?z:"changelog.md"===n?y:"license.md"===n||"license"===n?B:"security.md"===n?A:n.endsWith(".json")||"config.json"===n?f:n.includes("api")||n.includes("spec")?x:w,I="agents.md"===(o=a.name.toLowerCase())||o.includes("agent")?"text-purple-500":"gemini.md"===o?"text-blue-500":"claude.md"===o?"text-orange-500":"copilot.md"===o||"copilot-instructions.md"===o?"text-sky-500":"readme.md"===o?"text-green-500":"contributing.md"===o?"text-pink-500":"changelog.md"===o?"text-amber-500":"license.md"===o||"license"===o?"text-slate-500":"security.md"===o?"text-red-500":o.endsWith(".json")?"text-yellow-500":"text-muted-foreground",J=async()=>{try{await navigator.clipboard.writeText(a.content),u(!0),setTimeout(()=>u(!1),2e3)}catch(a){console.error("Failed to copy content:",a)}},P=a.name.endsWith(".md"),Q=a.name.endsWith(".json");return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("header",{className:"lg:sticky lg:top-14 lg:z-20 border-b bg-card",children:(0,b.jsxs)("div",{className:"px-3 sm:px-6 py-2 sm:py-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3 mb-1.5 sm:mb-2",children:[(0,b.jsxs)(p.Button,{variant:"ghost",size:"sm",onClick:g,className:"h-8 px-2 -ml-2",children:[(0,b.jsx)(L.ArrowLeft,{className:"h-4 w-4 mr-1"}),"Back"]}),(0,b.jsx)(H,{className:(0,D.cn)("h-5 w-5 shrink-0",I)}),(0,b.jsx)("h1",{className:"text-lg sm:text-xl font-bold tracking-tight truncate",children:a.name})]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsxs)(q.Badge,{variant:"outline",className:(0,D.cn)("text-xs",(j=a.tokenCount)<2e3?"text-green-600 dark:text-green-400":j<3500?"text-blue-600 dark:text-blue-400":j<5e3?"text-yellow-600 dark:text-yellow-400":"text-red-600 dark:text-red-400"),children:[(0,b.jsx)(k,{className:"h-3 w-3 mr-1"}),a.tokenCount.toLocaleString()," tokens"]}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:(l=a.tokenCount)<2e3?"Optimal":l<3500?"Good":l<5e3?"Large":"Very Large"}),(0,b.jsx)("div",{className:"h-4 w-px bg-border mx-1 hidden sm:block"}),(0,b.jsxs)("span",{className:"text-xs text-muted-foreground flex items-center gap-1",children:[(0,b.jsx)(s.Clock,{className:"h-3 w-3"}),"Modified ",("string"==typeof(m=a.lastModified)?new Date(m):m).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"})]}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:"•"}),(0,b.jsxs)("span",{className:"text-xs text-muted-foreground",children:[a.content.split("\n").length," lines"]})]}),(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2 mt-1.5 sm:mt-2",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:a.path}),(0,b.jsxs)("div",{className:"flex items-center gap-1 shrink-0",children:[e&&(0,b.jsxs)(p.Button,{variant:"ghost",size:"sm",className:"h-7 px-2 text-xs",onClick:()=>{var b;let c;e&&window.open((c=(b=a.path).startsWith("/")?b:`${e}/${b}`,`vscode://file${c}`),"_blank")},title:"Open in VS Code",children:[(0,b.jsx)(t,{className:"h-3.5 w-3.5 mr-1"}),"Open in Editor"]}),(0,b.jsx)(p.Button,{variant:"ghost",size:"sm",className:"h-7 px-2 text-xs",onClick:J,title:"Copy content",children:r?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(i.Check,{className:"h-3.5 w-3.5 mr-1 text-green-600"}),"Copied!"]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(h,{className:"h-3.5 w-3.5 mr-1"}),"Copy"]})})]})]})]})}),(0,b.jsxs)("div",{className:"flex flex-col xl:flex-row xl:items-start",children:[(0,b.jsx)("main",{className:"flex-1 px-3 sm:px-6 py-3 sm:py-6 min-w-0",children:(0,b.jsx)("div",{className:"space-y-4",children:Q?(0,b.jsx)("pre",{className:"p-4 text-sm overflow-x-auto bg-muted/20 rounded-lg border whitespace-pre-wrap",children:JSON.stringify(JSON.parse(a.content),null,2)}):P?(0,b.jsx)("article",{className:"prose prose-slate dark:prose-invert max-w-none prose-sm sm:prose-base",children:(0,b.jsx)(E.default,{remarkPlugins:[F.default],rehypePlugins:[G.default,K.default],components:{pre:({children:a,...d})=>{let e=c.Children.toArray(a)[0];if(c.isValidElement(e)&&"code"===e.type&&"string"==typeof e.props.className&&e.props.className?.includes("language-mermaid")){let a=e.props,c="string"==typeof a.children?a.children:"";return(0,b.jsx)(O.MermaidDiagram,{code:c})}return(0,b.jsx)("pre",{...d,children:a})}},children:a.content})}):(0,b.jsx)("pre",{className:"p-4 text-sm overflow-x-auto bg-muted/20 rounded-lg border whitespace-pre-wrap",children:a.content})})}),P&&(0,b.jsx)("aside",{className:"hidden xl:block w-72 shrink-0 px-6 py-6 sticky top-32 h-[calc(100vh-8rem)] overflow-y-auto scrollbar-auto-hide",children:(0,b.jsx)(M.TableOfContentsSidebar,{content:a.content})})]}),P&&(0,b.jsx)("div",{className:"xl:hidden",children:(0,b.jsx)(M.TableOfContents,{content:a.content})}),(0,b.jsx)(N.BackToTop,{})]})}function Q(a){return a<5e3?"text-green-600 dark:text-green-400":a<1e4?"text-blue-600 dark:text-blue-400":a<2e4?"text-yellow-600 dark:text-yellow-400":"text-red-600 dark:text-red-400"}function R({icon:a,title:c,description:d,suggestion:e}){return(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center py-8 text-center",children:[(0,b.jsx)(a,{className:"h-12 w-12 text-muted-foreground/50 mb-4"}),(0,b.jsx)("h3",{className:"text-sm font-medium text-muted-foreground",children:c}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground/70 mt-1 max-w-xs",children:d}),e&&(0,b.jsx)("p",{className:"text-xs text-primary mt-2",children:e})]})}function S({title:a,description:d,icon:e,files:f,emptyMessage:g,emptySuggestion:h,defaultExpanded:i=!0,searchQuery:l,projectRoot:m,onFileSelect:n}){let p=f.reduce((a,b)=>a+b.tokenCount,0),r=c.useMemo(()=>!l||l.length<2?f:f.filter(a=>{let b=H(a.content,l),c=a.name.toLowerCase().includes(l.toLowerCase());return b>0||c}),[f,l]),s=c.useMemo(()=>!l||l.length<2?0:r.reduce((a,b)=>a+H(b.content,l),0),[r,l]);return(0,b.jsxs)(o.Card,{children:[(0,b.jsx)(o.CardHeader,{className:"pb-3",children:(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("div",{className:"p-2 rounded-lg bg-primary/10",children:(0,b.jsx)(e,{className:"h-5 w-5 text-primary"})}),(0,b.jsxs)("div",{children:[(0,b.jsx)(o.CardTitle,{className:"text-lg",children:a}),(0,b.jsx)(o.CardDescription,{children:d})]})]}),f.length>0&&(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[l&&s>0&&(0,b.jsxs)(q.Badge,{variant:"secondary",className:"text-xs bg-yellow-100 dark:bg-yellow-900 text-yellow-800 dark:text-yellow-200",children:[s," match",1!==s?"es":""]}),(0,b.jsxs)(q.Badge,{variant:"secondary",className:"text-xs",children:[r.length,r.length!==f.length?`/${f.length}`:""," file",1!==f.length?"s":""]}),(0,b.jsxs)(q.Badge,{variant:"outline",className:(0,D.cn)("text-xs",Q(p)),children:[(0,b.jsx)(k,{className:"h-3 w-3 mr-1"}),p.toLocaleString()," tokens"]})]})]})}),(0,b.jsx)(o.CardContent,{children:0===r.length?(0,b.jsx)(R,{icon:j.AlertCircle,title:l?"No matches found":g,description:l?"Try a different search term":"No files found in this category",suggestion:l?void 0:h}):(0,b.jsx)("div",{className:"space-y-3",children:r.map(a=>(0,b.jsx)(J,{name:a.name,path:a.path,content:a.content,tokenCount:a.tokenCount,lastModified:a.lastModified,searchQuery:l,projectRoot:m,onViewDetail:n?()=>n(a):void 0},a.path))})})]})}function T({context:a}){let[e,j]=c.useState(!1),[s,t]=c.useState(""),[u,v]=c.useState(null),w=async()=>{let b=[];for(let c of a.agentInstructions)b.push(`# ${c.path}
|
|
1
|
+
module.exports=[709476,a=>{"use strict";var b=a.i(40352),c=a.i(936883),d=a.i(796228),e=a.i(591633),f=a.i(615268),g=a.i(863535);let h=(0,g.default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);var i=a.i(470485),j=a.i(853206);let k=(0,g.default)("coins",[["circle",{cx:"8",cy:"8",r:"6",key:"3yglwk"}],["path",{d:"M18.09 10.37A6 6 0 1 1 10.34 18",key:"t5s6rm"}],["path",{d:"M7 6h1v4",key:"1obek4"}],["path",{d:"m16.71 13.88.7.71-2.82 2.82",key:"1rbuyh"}]]),l=(0,g.default)("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);var m=a.i(793090),n=a.i(914174),o=a.i(980096),p=a.i(227725),q=a.i(837717),r=a.i(406334),s=a.i(297557),t=a.i(475661),u=a.i(404620);let v=(0,g.default)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]),w=(0,g.default)("scroll-text",[["path",{d:"M15 12h-5",key:"r7krc0"}],["path",{d:"M15 8h-5",key:"1khuty"}],["path",{d:"M19 17V5a2 2 0 0 0-2-2H4",key:"zz82l3"}],["path",{d:"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",key:"1ph1d7"}]]),x=(0,g.default)("file-code",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}]]),y=(0,g.default)("history",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]]),z=(0,g.default)("users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]]),A=(0,g.default)("shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]]),B=(0,g.default)("scale",[["path",{d:"m16 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z",key:"7g6ntu"}],["path",{d:"m2 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z",key:"ijws7r"}],["path",{d:"M7 21h10",key:"1b0cd5"}],["path",{d:"M12 3v18",key:"108xh3"}],["path",{d:"M3 7h2c2 0 5-1 7-2 2 1 5 2 7 2h2",key:"3gwbw2"}]]),C=(0,g.default)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]]);var D=a.i(687052),E=a.i(459500),F=a.i(316828),G=a.i(312750);function H(a,b){if(!b||b.length<2)return 0;let c=b.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),d=a.match(RegExp(c,"gi"));return d?d.length:0}function I({name:a,path:f,content:g,tokenCount:j,lastModified:l,isExpanded:m=!1,onToggle:n,className:r,searchQuery:I,projectRoot:J,onViewDetail:K}){let L,M,[N,O]=c.useState(!1),P=I?H(g,I):0,Q=async a=>{a.stopPropagation();try{await navigator.clipboard.writeText(g),O(!0),setTimeout(()=>O(!1),2e3)}catch(a){console.error("Failed to copy content:",a)}},R=a.endsWith(".json"),S=a.endsWith(".md"),T="agents.md"===(L=a.toLowerCase())||L.includes("agent")?v:"gemini.md"===L?C:"claude.md"===L||"copilot.md"===L||"copilot-instructions.md"===L?v:"readme.md"===L?d.BookOpen:"contributing.md"===L?z:"changelog.md"===L?y:"license.md"===L||"license"===L?B:"security.md"===L?A:L.endsWith(".json")||"config.json"===L?e.Settings:L.includes("api")||L.includes("spec")?x:w,U="agents.md"===(M=a.toLowerCase())||M.includes("agent")?"text-purple-500":"gemini.md"===M?"text-blue-500":"claude.md"===M?"text-orange-500":"copilot.md"===M||"copilot-instructions.md"===M?"text-sky-500":"readme.md"===M?"text-green-500":"contributing.md"===M?"text-pink-500":"changelog.md"===M?"text-amber-500":"license.md"===M||"license"===M?"text-slate-500":"security.md"===M?"text-red-500":M.endsWith(".json")?"text-yellow-500":"text-muted-foreground",V=a=>{if(I&&I.length>=2){if(!I||I.length<2)return a;let c=I.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),d=RegExp(`(${c})`,"gi");return a.split(d).map((a,c)=>d.test(a)?(0,b.jsx)("mark",{className:"bg-yellow-200 dark:bg-yellow-800 rounded px-0.5",children:a},c):a)}return a};return(0,b.jsxs)(o.Card,{className:(0,D.cn)("overflow-hidden",r),children:[(0,b.jsx)(o.CardHeader,{className:(0,D.cn)("cursor-pointer hover:bg-muted/50 transition-colors py-3 px-4",m&&"border-b"),onClick:n,children:(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3 min-w-0",children:[(0,b.jsx)(T,{className:(0,D.cn)("h-4 w-4 shrink-0",U)}),(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)(o.CardTitle,{className:"text-sm font-medium truncate",children:a}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground truncate",children:f})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 shrink-0",children:[I&&P>0&&(0,b.jsxs)(q.Badge,{variant:"secondary",className:"text-xs bg-yellow-100 dark:bg-yellow-900 text-yellow-800 dark:text-yellow-200",children:[P," match",1!==P?"es":""]}),(0,b.jsxs)(q.Badge,{variant:"outline",className:(0,D.cn)("text-xs",j<2e3?"text-green-600 dark:text-green-400":j<3500?"text-blue-600 dark:text-blue-400":j<5e3?"text-yellow-600 dark:text-yellow-400":"text-red-600 dark:text-red-400"),children:[(0,b.jsx)(k,{className:"h-3 w-3 mr-1"}),j.toLocaleString()," tokens"]}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground hidden sm:inline",children:j<2e3?"Optimal":j<3500?"Good":j<5e3?"Large":"Very Large"}),K&&(0,b.jsx)(p.Button,{variant:"ghost",size:"sm",className:"h-7 w-7 p-0",onClick:a=>{a.stopPropagation(),K?.()},title:"View full page",children:(0,b.jsx)(u.Maximize2,{className:"h-3.5 w-3.5"})}),J&&(0,b.jsx)(p.Button,{variant:"ghost",size:"sm",className:"h-7 w-7 p-0",onClick:a=>{let b;a.stopPropagation(),J&&window.open((b=f.startsWith("/")?f:`${J}/${f}`,`vscode://file${b}`),"_blank")},title:"Open in VS Code",children:(0,b.jsx)(t.ExternalLink,{className:"h-3.5 w-3.5"})}),(0,b.jsx)(p.Button,{variant:"ghost",size:"sm",className:"h-7 w-7 p-0",onClick:Q,title:"Copy content",children:N?(0,b.jsx)(i.Check,{className:"h-3.5 w-3.5 text-green-600"}):(0,b.jsx)(h,{className:"h-3.5 w-3.5"})})]})]})}),m&&(0,b.jsxs)(o.CardContent,{className:"p-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-4 px-4 py-2 bg-muted/30 text-xs text-muted-foreground border-b",children:[(0,b.jsxs)("span",{className:"flex items-center gap-1",children:[(0,b.jsx)(s.Clock,{className:"h-3 w-3"}),"Modified ",("string"==typeof l?new Date(l):l).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})]}),(0,b.jsxs)("span",{children:[g.split("\n").length," lines"]})]}),(0,b.jsx)("div",{className:"max-h-[500px] overflow-auto",children:R?(0,b.jsx)("pre",{className:"p-4 text-sm overflow-x-auto bg-muted/20 whitespace-pre-wrap",children:V(JSON.stringify(JSON.parse(g),null,2))}):S?I&&I.length>=2?(0,b.jsx)("pre",{className:"p-4 text-sm overflow-x-auto bg-muted/20 whitespace-pre-wrap font-mono",children:V(g)}):(0,b.jsx)("article",{className:"prose prose-slate dark:prose-invert max-w-none prose-sm p-4",children:(0,b.jsx)(E.default,{remarkPlugins:[F.default],rehypePlugins:[G.default],children:g})}):(0,b.jsx)("pre",{className:"p-4 text-sm overflow-x-auto bg-muted/20 whitespace-pre-wrap",children:V(g)})})]})]})}function J({name:a,path:d,content:e,tokenCount:f,lastModified:g,className:h,searchQuery:i,projectRoot:j,onViewDetail:k}){let[l,m]=c.useState(!1);return c.useEffect(()=>{i&&i.length>=2&&H(e,i)>0&&m(!0)},[i,e]),(0,b.jsx)(I,{name:a,path:d,content:e,tokenCount:f,lastModified:g,isExpanded:l,onToggle:()=>m(!l),className:h,searchQuery:i,projectRoot:j,onViewDetail:k})}var K=a.i(524172),L=a.i(517601),M=a.i(87140),N=a.i(731751),O=a.i(228e3);function P({file:a,projectRoot:f,onBack:g}){var j,l,m;let n,o,[r,u]=c.useState(!1),H="agents.md"===(n=a.name.toLowerCase())||n.includes("agent")?v:"gemini.md"===n?C:"claude.md"===n||"copilot.md"===n||"copilot-instructions.md"===n?v:"readme.md"===n?d.BookOpen:"contributing.md"===n?z:"changelog.md"===n?y:"license.md"===n||"license"===n?B:"security.md"===n?A:n.endsWith(".json")||"config.json"===n?e.Settings:n.includes("api")||n.includes("spec")?x:w,I="agents.md"===(o=a.name.toLowerCase())||o.includes("agent")?"text-purple-500":"gemini.md"===o?"text-blue-500":"claude.md"===o?"text-orange-500":"copilot.md"===o||"copilot-instructions.md"===o?"text-sky-500":"readme.md"===o?"text-green-500":"contributing.md"===o?"text-pink-500":"changelog.md"===o?"text-amber-500":"license.md"===o||"license"===o?"text-slate-500":"security.md"===o?"text-red-500":o.endsWith(".json")?"text-yellow-500":"text-muted-foreground",J=async()=>{try{await navigator.clipboard.writeText(a.content),u(!0),setTimeout(()=>u(!1),2e3)}catch(a){console.error("Failed to copy content:",a)}},P=a.name.endsWith(".md"),Q=a.name.endsWith(".json");return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("header",{className:"lg:sticky lg:top-14 lg:z-20 border-b bg-card",children:(0,b.jsxs)("div",{className:"px-3 sm:px-6 py-2 sm:py-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3 mb-1.5 sm:mb-2",children:[(0,b.jsxs)(p.Button,{variant:"ghost",size:"sm",onClick:g,className:"h-8 px-2 -ml-2",children:[(0,b.jsx)(L.ArrowLeft,{className:"h-4 w-4 mr-1"}),"Back"]}),(0,b.jsx)(H,{className:(0,D.cn)("h-5 w-5 shrink-0",I)}),(0,b.jsx)("h1",{className:"text-lg sm:text-xl font-bold tracking-tight truncate",children:a.name})]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsxs)(q.Badge,{variant:"outline",className:(0,D.cn)("text-xs",(j=a.tokenCount)<2e3?"text-green-600 dark:text-green-400":j<3500?"text-blue-600 dark:text-blue-400":j<5e3?"text-yellow-600 dark:text-yellow-400":"text-red-600 dark:text-red-400"),children:[(0,b.jsx)(k,{className:"h-3 w-3 mr-1"}),a.tokenCount.toLocaleString()," tokens"]}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:(l=a.tokenCount)<2e3?"Optimal":l<3500?"Good":l<5e3?"Large":"Very Large"}),(0,b.jsx)("div",{className:"h-4 w-px bg-border mx-1 hidden sm:block"}),(0,b.jsxs)("span",{className:"text-xs text-muted-foreground flex items-center gap-1",children:[(0,b.jsx)(s.Clock,{className:"h-3 w-3"}),"Modified ",("string"==typeof(m=a.lastModified)?new Date(m):m).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"})]}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:"•"}),(0,b.jsxs)("span",{className:"text-xs text-muted-foreground",children:[a.content.split("\n").length," lines"]})]}),(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2 mt-1.5 sm:mt-2",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:a.path}),(0,b.jsxs)("div",{className:"flex items-center gap-1 shrink-0",children:[f&&(0,b.jsxs)(p.Button,{variant:"ghost",size:"sm",className:"h-7 px-2 text-xs",onClick:()=>{var b;let c;f&&window.open((c=(b=a.path).startsWith("/")?b:`${f}/${b}`,`vscode://file${c}`),"_blank")},title:"Open in VS Code",children:[(0,b.jsx)(t.ExternalLink,{className:"h-3.5 w-3.5 mr-1"}),"Open in Editor"]}),(0,b.jsx)(p.Button,{variant:"ghost",size:"sm",className:"h-7 px-2 text-xs",onClick:J,title:"Copy content",children:r?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(i.Check,{className:"h-3.5 w-3.5 mr-1 text-green-600"}),"Copied!"]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(h,{className:"h-3.5 w-3.5 mr-1"}),"Copy"]})})]})]})]})}),(0,b.jsxs)("div",{className:"flex flex-col xl:flex-row xl:items-start",children:[(0,b.jsx)("main",{className:"flex-1 px-3 sm:px-6 py-3 sm:py-6 min-w-0",children:(0,b.jsx)("div",{className:"space-y-4",children:Q?(0,b.jsx)("pre",{className:"p-4 text-sm overflow-x-auto bg-muted/20 rounded-lg border whitespace-pre-wrap",children:JSON.stringify(JSON.parse(a.content),null,2)}):P?(0,b.jsx)("article",{className:"prose prose-slate dark:prose-invert max-w-none prose-sm sm:prose-base",children:(0,b.jsx)(E.default,{remarkPlugins:[F.default],rehypePlugins:[G.default,K.default],components:{pre:({children:a,...d})=>{let e=c.Children.toArray(a)[0];if(c.isValidElement(e)&&"code"===e.type&&"string"==typeof e.props.className&&e.props.className?.includes("language-mermaid")){let a=e.props,c="string"==typeof a.children?a.children:"";return(0,b.jsx)(O.MermaidDiagram,{code:c})}return(0,b.jsx)("pre",{...d,children:a})}},children:a.content})}):(0,b.jsx)("pre",{className:"p-4 text-sm overflow-x-auto bg-muted/20 rounded-lg border whitespace-pre-wrap",children:a.content})})}),P&&(0,b.jsx)("aside",{className:"hidden xl:block w-72 shrink-0 px-6 py-6 sticky top-32 h-[calc(100vh-8rem)] overflow-y-auto scrollbar-auto-hide",children:(0,b.jsx)(M.TableOfContentsSidebar,{content:a.content})})]}),P&&(0,b.jsx)("div",{className:"xl:hidden",children:(0,b.jsx)(M.TableOfContents,{content:a.content})}),(0,b.jsx)(N.BackToTop,{})]})}function Q(a){return a<5e3?"text-green-600 dark:text-green-400":a<1e4?"text-blue-600 dark:text-blue-400":a<2e4?"text-yellow-600 dark:text-yellow-400":"text-red-600 dark:text-red-400"}function R({icon:a,title:c,description:d,suggestion:e}){return(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center py-8 text-center",children:[(0,b.jsx)(a,{className:"h-12 w-12 text-muted-foreground/50 mb-4"}),(0,b.jsx)("h3",{className:"text-sm font-medium text-muted-foreground",children:c}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground/70 mt-1 max-w-xs",children:d}),e&&(0,b.jsx)("p",{className:"text-xs text-primary mt-2",children:e})]})}function S({title:a,description:d,icon:e,files:f,emptyMessage:g,emptySuggestion:h,defaultExpanded:i=!0,searchQuery:l,projectRoot:m,onFileSelect:n}){let p=f.reduce((a,b)=>a+b.tokenCount,0),r=c.useMemo(()=>!l||l.length<2?f:f.filter(a=>{let b=H(a.content,l),c=a.name.toLowerCase().includes(l.toLowerCase());return b>0||c}),[f,l]),s=c.useMemo(()=>!l||l.length<2?0:r.reduce((a,b)=>a+H(b.content,l),0),[r,l]);return(0,b.jsxs)(o.Card,{children:[(0,b.jsx)(o.CardHeader,{className:"pb-3",children:(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("div",{className:"p-2 rounded-lg bg-primary/10",children:(0,b.jsx)(e,{className:"h-5 w-5 text-primary"})}),(0,b.jsxs)("div",{children:[(0,b.jsx)(o.CardTitle,{className:"text-lg",children:a}),(0,b.jsx)(o.CardDescription,{children:d})]})]}),f.length>0&&(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[l&&s>0&&(0,b.jsxs)(q.Badge,{variant:"secondary",className:"text-xs bg-yellow-100 dark:bg-yellow-900 text-yellow-800 dark:text-yellow-200",children:[s," match",1!==s?"es":""]}),(0,b.jsxs)(q.Badge,{variant:"secondary",className:"text-xs",children:[r.length,r.length!==f.length?`/${f.length}`:""," file",1!==f.length?"s":""]}),(0,b.jsxs)(q.Badge,{variant:"outline",className:(0,D.cn)("text-xs",Q(p)),children:[(0,b.jsx)(k,{className:"h-3 w-3 mr-1"}),p.toLocaleString()," tokens"]})]})]})}),(0,b.jsx)(o.CardContent,{children:0===r.length?(0,b.jsx)(R,{icon:j.AlertCircle,title:l?"No matches found":g,description:l?"Try a different search term":"No files found in this category",suggestion:l?void 0:h}):(0,b.jsx)("div",{className:"space-y-3",children:r.map(a=>(0,b.jsx)(J,{name:a.name,path:a.path,content:a.content,tokenCount:a.tokenCount,lastModified:a.lastModified,searchQuery:l,projectRoot:m,onViewDetail:n?()=>n(a):void 0},a.path))})})]})}function T({context:a}){let[g,j]=c.useState(!1),[s,t]=c.useState(""),[u,v]=c.useState(null),w=async()=>{let b=[];for(let c of a.agentInstructions)b.push(`# ${c.path}
|
|
2
2
|
|
|
3
3
|
${c.content}
|
|
4
4
|
`);for(let c of(a.config.file&&b.push(`# ${a.config.file.path}
|
|
@@ -7,6 +7,6 @@ ${a.config.file.content}
|
|
|
7
7
|
`),a.projectDocs))b.push(`# ${c.path}
|
|
8
8
|
|
|
9
9
|
${c.content}
|
|
10
|
-
`);try{await navigator.clipboard.writeText(b.join("\n---\n\n")),j(!0),setTimeout(()=>j(!1),2e3)}catch(a){console.error("Failed to copy all content:",a)}},x=a.agentInstructions.length>0||null!==a.config.file||a.projectDocs.length>0,y=c.useMemo(()=>{if(!s||s.length<2)return 0;let b=0;for(let c of a.agentInstructions)b+=H(c.content,s);for(let c of(a.config.file&&(b+=H(a.config.file.content,s)),a.projectDocs))b+=H(c.content,s);return b},[a,s]);return u?(0,b.jsx)("div",{className:"min-h-screen bg-background",children:(0,b.jsx)(P,{file:u,projectRoot:a.projectRoot,onBack:()=>v(null)})}):(0,b.jsx)("div",{className:"min-h-screen bg-background",children:(0,b.jsxs)("div",{className:"container mx-auto px-4 py-8 max-w-5xl",children:[(0,b.jsxs)("div",{className:"mb-8",children:[(0,b.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsxs)("h1",{className:"text-3xl sm:text-4xl font-bold tracking-tight flex items-center gap-3",children:[(0,b.jsx)(d.BookOpen,{className:"h-8 w-8 text-primary"}),"Project Context"]}),(0,b.jsx)("p",{className:"text-muted-foreground mt-2",children:"View project-level context files that inform AI agents and development workflows"})]}),x&&(0,b.jsx)(p.Button,{variant:"outline",size:"sm",onClick:w,className:"shrink-0",children:
|
|
10
|
+
`);try{await navigator.clipboard.writeText(b.join("\n---\n\n")),j(!0),setTimeout(()=>j(!1),2e3)}catch(a){console.error("Failed to copy all content:",a)}},x=a.agentInstructions.length>0||null!==a.config.file||a.projectDocs.length>0,y=c.useMemo(()=>{if(!s||s.length<2)return 0;let b=0;for(let c of a.agentInstructions)b+=H(c.content,s);for(let c of(a.config.file&&(b+=H(a.config.file.content,s)),a.projectDocs))b+=H(c.content,s);return b},[a,s]);return u?(0,b.jsx)("div",{className:"min-h-screen bg-background",children:(0,b.jsx)(P,{file:u,projectRoot:a.projectRoot,onBack:()=>v(null)})}):(0,b.jsx)("div",{className:"min-h-screen bg-background",children:(0,b.jsxs)("div",{className:"container mx-auto px-4 py-8 max-w-5xl",children:[(0,b.jsxs)("div",{className:"mb-8",children:[(0,b.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsxs)("h1",{className:"text-3xl sm:text-4xl font-bold tracking-tight flex items-center gap-3",children:[(0,b.jsx)(d.BookOpen,{className:"h-8 w-8 text-primary"}),"Project Context"]}),(0,b.jsx)("p",{className:"text-muted-foreground mt-2",children:"View project-level context files that inform AI agents and development workflows"})]}),x&&(0,b.jsx)(p.Button,{variant:"outline",size:"sm",onClick:w,className:"shrink-0",children:g?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(i.Check,{className:"h-4 w-4 mr-2 text-green-600"}),"Copied!"]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(h,{className:"h-4 w-4 mr-2"}),"Copy All"]})})]}),x&&(0,b.jsxs)("div",{className:"mt-6 space-y-4",children:[(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)(m.Search,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),(0,b.jsx)(r.Input,{type:"text",placeholder:"Search within context files...",value:s,onChange:a=>t(a.target.value),className:"pl-10 pr-10"}),s&&(0,b.jsx)(p.Button,{variant:"ghost",size:"sm",className:"absolute right-1 top-1/2 -translate-y-1/2 h-7 w-7 p-0",onClick:()=>t(""),children:(0,b.jsx)(n.X,{className:"h-4 w-4"})})]}),s&&s.length>=2&&(0,b.jsx)("div",{className:"flex items-center gap-2 text-sm",children:y>0?(0,b.jsxs)(q.Badge,{variant:"secondary",className:"bg-yellow-100 dark:bg-yellow-900 text-yellow-800 dark:text-yellow-200",children:[y," match",1!==y?"es":""," found"]}):(0,b.jsxs)("span",{className:"text-muted-foreground",children:['No matches found for "',s,'"']})}),(0,b.jsx)(o.Card,{className:"bg-muted/30",children:(0,b.jsx)(o.CardContent,{className:"py-4",children:(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-4 sm:gap-8",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(k,{className:(0,D.cn)("h-5 w-5",Q(a.totalTokens))}),(0,b.jsxs)("span",{className:"text-sm",children:[(0,b.jsx)("strong",{className:Q(a.totalTokens),children:a.totalTokens.toLocaleString()})," ","total tokens"]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,b.jsx)(l,{className:"h-4 w-4"}),"Context budget for AI agents"]})]})})})]})]}),(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsx)(S,{title:"Agent Instructions",description:"System prompts and guidelines for AI agents",icon:d.BookOpen,files:a.agentInstructions,emptyMessage:"No agent instructions found",emptySuggestion:"Create an AGENTS.md file in your project root",defaultExpanded:a.agentInstructions.length<=2,searchQuery:s,projectRoot:a.projectRoot,onFileSelect:v}),(0,b.jsx)(S,{title:"Configuration",description:"LeanSpec project configuration and settings",icon:e.Settings,files:a.config.file?[a.config.file]:[],emptyMessage:"No configuration found",emptySuggestion:"Run 'lean-spec init' to create a config file",defaultExpanded:!0,searchQuery:s,projectRoot:a.projectRoot,onFileSelect:v}),(0,b.jsx)(S,{title:"Project Documentation",description:"README, contributing guidelines, and changelog",icon:f.FileText,files:a.projectDocs,emptyMessage:"No project docs found",emptySuggestion:"Create a README.md file in your project root",defaultExpanded:!1,searchQuery:s,projectRoot:a.projectRoot,onFileSelect:v})]}),!x&&(0,b.jsx)(o.Card,{className:"mt-8",children:(0,b.jsx)(o.CardContent,{className:"py-12",children:(0,b.jsx)(R,{icon:d.BookOpen,title:"No project context found",description:"This project doesn't have any context files yet. Context files help AI agents understand your project better.",suggestion:"Start by creating AGENTS.md or running 'lean-spec init'"})})})]})})}a.s(["ContextClient",()=>T],709476)}];
|
|
11
11
|
|
|
12
12
|
//# sourceMappingURL=packages_ui_src_app_context_context-client_tsx_4ba99a62._.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
module.exports=[693247,a=>{"use strict";var b=a.i(40352),c=a.i(936883),d=a.i(681612),e=a.i(398293),f=a.i(231008),g=a.i(53897),h=a.i(517817),i=a.i(258800);a.i(633534);var j=a.i(87297),k=a.i(539704),l=a.i(455784),m=a.i(34669),n=a.i(669153);let o=({id:a,x:b,y:d,width:e,height:f,style:g,color:i,strokeColor:j,strokeWidth:k,className:l,borderRadius:m,shapeRendering:n,onClick:o,selected:p})=>{let{background:q,backgroundColor:r}=g||{};return c.default.createElement("rect",{className:(0,h.default)(["react-flow__minimap-node",{selected:p},l]),x:b,y:d,rx:m,ry:m,width:e,height:f,fill:i||q||r,stroke:j,strokeWidth:k,shapeRendering:n,onClick:o?b=>o(b,a):void 0})};o.displayName="MiniMapNode";var p=(0,c.memo)(o);let q=a=>a.nodeOrigin,r=a=>a.getNodes().filter(a=>!a.hidden&&a.width&&a.height),s=a=>a instanceof Function?a:()=>a;var t=(0,c.memo)(function({nodeStrokeColor:a="transparent",nodeColor:b="#e2e2e2",nodeClassName:d="",nodeBorderRadius:e=5,nodeStrokeWidth:f=2,nodeComponent:g=p,onClick:h}){let j=(0,n.useStore)(r,i.shallow),k=(0,n.useStore)(q),l=s(b),m=s(a),o=s(d);return c.default.createElement(c.default.Fragment,null,j.map(a=>{let{x:b,y:d}=(0,n.getNodePositionWithOrigin)(a,k).positionAbsolute;return c.default.createElement(g,{key:a.id,x:b,y:d,width:a.width,height:a.height,style:a.style,selected:a.selected,className:o(a),color:l(a),borderRadius:e,strokeColor:m(a),strokeWidth:f,shapeRendering:"crispEdges",onClick:h,id:a.id})}))});let u=a=>{let b=a.getNodes(),c={x:-a.transform[0]/a.transform[2],y:-a.transform[1]/a.transform[2],width:a.width/a.transform[2],height:a.height/a.transform[2]};return{viewBB:c,boundingRect:b.length>0?(0,n.getBoundsOfRects)((0,n.getNodesBounds)(b,a.nodeOrigin),c):c,rfId:a.rfId}};function v({style:a,className:b,nodeStrokeColor:d="transparent",nodeColor:e="#e2e2e2",nodeClassName:f="",nodeBorderRadius:g=5,nodeStrokeWidth:o=2,nodeComponent:p,maskColor:q="rgb(240, 240, 240, 0.6)",maskStrokeColor:r="none",maskStrokeWidth:s=1,position:v="bottom-right",onClick:w,onNodeClick:x,pannable:y=!1,zoomable:z=!1,ariaLabel:A="React Flow mini map",inversePan:B=!1,zoomStep:C=10,offsetScale:D=5}){let E=(0,n.useStoreApi)(),F=(0,c.useRef)(null),{boundingRect:G,viewBB:H,rfId:I}=(0,n.useStore)(u,i.shallow),J=a?.width??200,K=a?.height??150,L=Math.max(G.width/J,G.height/K),M=L*J,N=L*K,O=D*L,P=G.x-(M-G.width)/2-O,Q=G.y-(N-G.height)/2-O,R=M+2*O,S=N+2*O,T=`react-flow__minimap-desc-${I}`,U=(0,c.useRef)(0);U.current=L,(0,c.useEffect)(()=>{if(F.current){let a=(0,l.select)(F.current),b=(0,j.zoom)().on("zoom",y?a=>{let{transform:b,d3Selection:c,d3Zoom:d,translateExtent:e,width:f,height:g}=E.getState();if("mousemove"!==a.sourceEvent.type||!c||!d)return;let h=U.current*Math.max(1,b[2])*(B?-1:1),i={x:b[0]-a.sourceEvent.movementX*h,y:b[1]-a.sourceEvent.movementY*h},j=k.zoomIdentity.translate(i.x,i.y).scale(b[2]),l=d.constrain()(j,[[0,0],[f,g]],e);d.transform(c,l)}:null).on("zoom.wheel",z?a=>{let{transform:b,d3Selection:c,d3Zoom:d}=E.getState();if("wheel"!==a.sourceEvent.type||!c||!d)return;let e=-a.sourceEvent.deltaY*(1===a.sourceEvent.deltaMode?.05:a.sourceEvent.deltaMode?1:.002)*C,f=b[2]*Math.pow(2,e);d.scaleTo(c,f)}:null);return a.call(b),()=>{a.on("zoom",null)}}},[y,z,B,C]);let V=w?a=>{let b=(0,m.pointer)(a);w(a,{x:b[0],y:b[1]})}:void 0,W=x?(a,b)=>{x(a,E.getState().nodeInternals.get(b))}:void 0;return c.default.createElement(n.Panel,{position:v,style:a,className:(0,h.default)(["react-flow__minimap",b]),"data-testid":"rf__minimap"},c.default.createElement("svg",{width:J,height:K,viewBox:`${P} ${Q} ${R} ${S}`,role:"img","aria-labelledby":T,ref:F,onClick:V},A&&c.default.createElement("title",{id:T},A),c.default.createElement(t,{onClick:W,nodeColor:e,nodeStrokeColor:d,nodeBorderRadius:g,nodeClassName:f,nodeStrokeWidth:o,nodeComponent:p}),c.default.createElement("path",{className:"react-flow__minimap-mask",d:`M${P-O},${Q-O}h${R+2*O}v${S+2*O}h${-R-2*O}z
|
|
2
|
-
M${H.x},${H.y}h${H.width}v${H.height}h${-H.width}z`,fill:q,fillRule:"evenodd",stroke:r,strokeWidth:s,pointerEvents:"none"})))}v.displayName="MiniMap";var w=(0,c.memo)(v),x=a.i(687052);let y="#f59e0b",z={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"},A={planned:"#1e3a8a","in-progress":"#7c2d12",complete:"#14532d",archived:"#1f2937"},B=c.memo(function({data:a}){let c=a.isCompact,d=a.isSecondary,e=0===a.connectionDepth?1:1===a.connectionDepth?.95:2===a.connectionDepth?.7:a.isDimmed?.15:1;return(0,b.jsxs)("div",{className:(0,x.cn)("flex flex-col rounded-lg shadow-lg transition-all duration-200",z[a.tone],a.interactive&&"cursor-pointer hover:scale-105 hover:shadow-xl hover:border-white/50",a.isFocused&&"ring-2 ring-white ring-offset-2 ring-offset-background scale-110 z-50",1===a.connectionDepth&&"ring-1 ring-white/40",c?"px-2 py-1 gap-0.5":"px-2.5 py-1.5 gap-0.5",d?"border border-dashed":"border-2"),style:{width:c?120:180,opacity:e*(d?.65:1),transform:a.isDimmed?"scale(0.9)":void 0},children:[(0,b.jsx)(n.Handle,{type:"target",position:n.Position.Left,className:"opacity-0"}),(0,b.jsxs)("div",{className:"flex items-center justify-between gap-1",children:[(0,b.jsxs)("span",{className:(0,x.cn)("font-bold text-white/90",c?"text-[9px]":"text-[10px]"),children:["#",a.number.toString().padStart(3,"0")]}),(0,b.jsx)("span",{className:(0,x.cn)("font-medium uppercase tracking-wide rounded",c?"text-[7px] px-0.5 py-0.5":"text-[8px] px-1 py-0.5","planned"===a.tone&&"bg-blue-500/30 text-blue-300","in-progress"===a.tone&&"bg-orange-500/30 text-orange-300","complete"===a.tone&&"bg-green-500/30 text-green-300","archived"===a.tone&&"bg-gray-500/30 text-gray-400"),children:a.badge})]}),(0,b.jsx)("span",{className:(0,x.cn)("font-medium leading-tight truncate",c?"text-[8px]":"text-[10px]"),title:a.label,children:c?a.shortLabel:a.label}),(0,b.jsx)(n.Handle,{type:"source",position:n.Position.Right,className:"opacity-0"})]})});B.displayName="SpecNode";let C={specNode:B};function D({spec:a,type:c,onClick:d}){return(0,b.jsxs)("button",{onClick:d,className:(0,x.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"}[c]),children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsxs)("span",{className:"text-[10px] font-bold text-muted-foreground",children:["#",a.number.toString().padStart(3,"0")]}),(0,b.jsx)("span",{className:(0,x.cn)("text-[8px] px-1 py-0.5 rounded font-medium uppercase","planned"===a.status&&"bg-amber-500/20 text-amber-400","in-progress"===a.status&&"bg-sky-500/20 text-sky-400","complete"===a.status&&"bg-emerald-500/20 text-emerald-400"),children:"in-progress"===a.status?"WIP":a.status.slice(0,3)})]}),(0,b.jsx)("p",{className:"text-[11px] text-foreground truncate leading-tight mt-0.5",children:a.name})]})}function E({group:a,type:d,onSelectSpec:e}){let[f,g]=c.useState(1===a.depth),h=1===a.depth?"Direct":`Level ${a.depth}`;return(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsxs)("button",{onClick:()=>g(!f),className:"flex items-center gap-1.5 w-full text-left text-[10px] text-muted-foreground hover:text-foreground transition-colors",children:[(0,b.jsx)("span",{className:(0,x.cn)("transition-transform text-[8px]",f?"rotate-90":"rotate-0"),children:"▶"}),(0,b.jsx)("span",{className:"font-medium",children:h}),(0,b.jsxs)("span",{className:"opacity-60",children:["(",a.specs.length,")"]})]}),f&&(0,b.jsx)("div",{className:"space-y-1 ml-2",children:a.specs.map(a=>(0,b.jsx)(D,{spec:a,type:d,onClick:()=>e(a.id)},a.id))})]})}function F({focusedDetails:a,onSelectSpec:c,onOpenSpec:d}){if(!a)return(0,b.jsx)("div",{className:"w-64 shrink-0 rounded-lg border border-border bg-background/95 overflow-hidden flex flex-col",children:(0,b.jsx)("div",{className:"flex-1 flex items-center justify-center p-4",children:(0,b.jsxs)("div",{className:"text-center text-muted-foreground",children:[(0,b.jsx)("div",{className:"w-12 h-12 mx-auto mb-3 rounded-full bg-muted/50 flex items-center justify-center",children:(0,b.jsx)("svg",{className:"w-6 h-6",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,b.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,b.jsx)("p",{className:"text-sm font-medium",children:"Select a spec"}),(0,b.jsx)("p",{className:"text-xs mt-1",children:"Click on a spec to see its dependencies"})]})})});let{node:e,upstream:f,downstream:g}=a;return(0,b.jsxs)("div",{className:"w-64 shrink-0 rounded-lg border border-border bg-background/95 overflow-hidden flex flex-col",children:[(0,b.jsxs)("div",{className:"p-3 border-b border-border bg-muted/30",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[(0,b.jsxs)("span",{className:"font-bold text-sm",children:["#",e.number.toString().padStart(3,"0")]}),(0,b.jsx)("span",{className:(0,x.cn)("px-1.5 py-0.5 rounded text-[10px] font-medium uppercase","planned"===e.status&&"bg-amber-500/20 text-amber-300","in-progress"===e.status&&"bg-sky-500/20 text-sky-300","complete"===e.status&&"bg-emerald-500/20 text-emerald-300"),children:e.status})]}),(0,b.jsx)("p",{className:"text-sm font-medium text-foreground leading-snug",children:e.name}),(0,b.jsx)("button",{onClick:()=>d(e.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,b.jsxs)("div",{className:"flex-1 overflow-auto p-3 space-y-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,b.jsx)("span",{className:"inline-block w-2 h-2 rounded-full bg-amber-500"}),(0,b.jsxs)("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:["Depends On (",f.reduce((a,b)=>a+b.specs.length,0),")"]})]}),f.length>0?(0,b.jsx)("div",{className:"space-y-2",children:f.map(a=>(0,b.jsx)(E,{group:a,type:"upstream",onSelectSpec:c},a.depth))}):(0,b.jsx)("p",{className:"text-xs text-muted-foreground/60 italic",children:"No upstream dependencies"})]}),(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,b.jsx)("span",{className:"inline-block w-2 h-2 rounded-full bg-emerald-500"}),(0,b.jsxs)("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:["Required By (",g.reduce((a,b)=>a+b.specs.length,0),")"]})]}),g.length>0?(0,b.jsx)("div",{className:"space-y-2",children:g.map(a=>(0,b.jsx)(E,{group:a,type:"downstream",onSelectSpec:c},a.depth))}):(0,b.jsx)("p",{className:"text-xs text-muted-foreground/60 italic",children:"No specs depend on this"})]})]})]})}var G=a.i(183214);function H({data:a}){let h=(0,d.useRouter)(),[i,j]=c.useState(null),[k,l]=c.useState(!1),[m,o]=c.useState([]),[p,q]=c.useState(null),[r,s]=c.useState(a.nodes.length>30),[t,u]=c.useState(!1),[v,z]=c.useState(""),B=c.useRef(null),D=c.useMemo(()=>a.edges.filter(a=>"dependsOn"===a.type),[a.edges]),E=c.useMemo(()=>p?function(a,b,c=2){let d=new Map;d.set(a,0);let e=new Map,f=new Map;b.forEach(a=>{e.has(a.source)||e.set(a.source,new Set),e.get(a.source).add(a.target),f.has(a.target)||f.set(a.target,new Set),f.get(a.target).add(a.source)});let g=new Set([a]),h=1;for(;g.size>0&&h<=c;){let a=new Set;g.forEach(b=>{let c=e.get(b);c&&c.forEach(b=>{d.has(b)||(d.set(b,h),a.add(b))})}),g=a,h++}for(g=new Set([a]),h=1;g.size>0&&h<=c;){let a=new Set;g.forEach(b=>{let c=f.get(b);c&&c.forEach(b=>{d.has(b)||(d.set(b,h),a.add(b))})}),g=a,h++}return d}(p,D,1/0):null,[p,D]),H=c.useMemo(()=>{if(!p)return null;let b=a.nodes.find(a=>a.id===p);if(!b)return null;let c=new Map(a.nodes.map(a=>[a.id,a])),d=new Map,e=new Map;D.forEach(a=>{d.has(a.source)||d.set(a.source,new Set),d.get(a.source).add(a.target),e.has(a.target)||e.set(a.target,new Set),e.get(a.target).add(a.source)});let f=(a,b)=>{let d=new Set([a]),e=[],f=new Set([a]),g=1;for(;f.size>0;){let a=new Set,h=[];f.forEach(e=>{let f=b.get(e);f&&f.forEach(b=>{if(!d.has(b)){d.add(b),a.add(b);let e=c.get(b);e&&h.push(e)}})}),h.length>0&&e.push({depth:g,specs:h}),f=a,g++}return e};return{node:b,upstream:f(p,d),downstream:f(p,e)}},[p,a.nodes,D]),I=c.useMemo(()=>{let b=new Set(a.nodes.filter(a=>0===m.length||m.includes(a.status)).map(a=>a.id)),c=new Set(b),d=[...b];for(;d.length>0;){let a=d.shift();D.forEach(b=>{b.source!==a||c.has(b.target)||(c.add(b.target),d.push(b.target)),b.target!==a||c.has(b.source)||(c.add(b.source),d.push(b.source))})}let e=a.nodes.filter(a=>c.has(a.id)),f=D.filter(a=>c.has(a.source)&&c.has(a.target)),g=e;if(!k){let a=new Set;f.forEach(b=>{a.add(b.source),a.add(b.target)}),g=e.filter(b=>a.has(b.id))}let h=new Set(g.map(a=>a.id)),i=new Set([...h].filter(a=>!b.has(a)));return function(a,b,c,d){if(0===a.length)return{nodes:[],edges:[]};let e=c?120:180,f=c?40:60,g=c?30:50,h=new Set;b.forEach(a=>{h.add(a.source),h.add(a.target)});let i=a.filter(a=>h.has(a.id)),j=d?a.filter(a=>!h.has(a.id)):[],k=[];if(i.length>0){let a=new G.default.graphlib.Graph;a.setGraph({rankdir:"LR",align:"UL",nodesep:c?30:50,ranksep:c?80:120,marginx:40,marginy:40}),a.setDefaultEdgeLabel(()=>({})),i.forEach(b=>{a.setNode(b.id,{width:e,height:f})}),b.forEach(b=>{h.has(b.source)&&h.has(b.target)&&a.setEdge(b.source,b.target)}),G.default.layout(a);let d=1/0,l=1/0,m=0,n=0;if(i.forEach(b=>{let c=a.node(b.id);d=Math.min(d,c.x-e/2),l=Math.min(l,c.y-f/2),m=Math.max(m,c.x+e/2),n=Math.max(n,c.y+f/2)}),i.forEach(b=>{let c=a.node(b.id);k.push({...b,position:{x:c.x-d,y:c.y-l}})}),j.length>0){let a=m-d,b=n-l+2*g,c=Math.ceil(Math.sqrt(1.5*j.length)),h=c*(e+g),i=a>h?Math.floor((a-h)/2):0;j.forEach((a,d)=>{let h=Math.floor(d/c);k.push({...a,position:{x:i+d%c*(e+g),y:b+h*(f+g)}})})}}else{let a=Math.ceil(Math.sqrt(1.5*j.length));j.forEach((b,c)=>{let d=Math.floor(c/a);k.push({...b,position:{x:c%a*(e+g),y:d*(f+g)}})})}return{nodes:k,edges:b}}(g.map(a=>{let b,c=p===a.id,d=i.has(a.id),e=!1;return p&&(e=void 0===(b=E?.get(a.id))),{id:a.id,type:"specNode",data:{label:a.name,shortLabel:a.name.length>14?a.name.slice(0,12)+"…":a.name,badge:"in-progress"===a.status?"WIP":a.status.slice(0,3).toUpperCase(),number:a.number,tone:a.status,href:`/specs/${a.number}`,interactive:!0,isFocused:c,connectionDepth:b,isDimmed:e,isCompact:r,isSecondary:d},position:{x:0,y:0},draggable:!0,selectable:!0,sourcePosition:n.Position.Right,targetPosition:n.Position.Left}}),f.filter(a=>h.has(a.source)&&h.has(a.target)).map(a=>{let b=!0,c=.7;if(p){let d=E?.get(a.source),e=E?.get(a.target);c=(b=void 0!==d&&void 0!==e&&(0===d||0===e))?1:void 0!==d&&void 0!==e?.4:.1}return{id:`${a.source}-${a.target}-dependsOn`,source:a.source,target:a.target,type:"smoothstep",animated:b&&null!==p,markerEnd:{type:n.MarkerType.ArrowClosed,color:y,width:18,height:18},style:{stroke:y,strokeWidth:b?2.5:1.5,opacity:c}}}),r,k)},[a,D,m,p,E,r,k]),J=c.useMemo(()=>{let b=new Set;return D.forEach(a=>{b.add(a.source),b.add(a.target)}),{connected:b.size,standalone:a.nodes.length-b.size}},[D,a.nodes.length]),K=c.useMemo(()=>{let b={};return a.nodes.forEach(a=>{b[a.status]=(b[a.status]||0)+1}),b},[a.nodes]),L=c.useCallback(a=>{j(a),requestAnimationFrame(()=>{a.fitView({padding:.15,duration:300})})},[]);c.useEffect(()=>{if(!i)return;let a=setTimeout(()=>{i.fitView({padding:.15,duration:300})},50);return()=>clearTimeout(a)},[i,I.nodes.length,m,k]),c.useEffect(()=>{let a=a=>{B.current&&!B.current.contains(a.target)&&u(!1)};return document.addEventListener("mousedown",a),()=>document.removeEventListener("mousedown",a)},[]);let M=c.useMemo(()=>{if(!v.trim())return a.nodes.slice(0,15);let b=v.toLowerCase();return a.nodes.filter(a=>a.name.toLowerCase().includes(b)||a.number.toString().includes(b)||a.tags.some(a=>a.toLowerCase().includes(b))).slice(0,15)},[a.nodes,v]),N=c.useMemo(()=>p?a.nodes.find(a=>a.id===p):null,[p,a.nodes]),O=c.useCallback((a,b)=>{if(b?.data){if(2===a.detail&&b.data.href)return void h.push(b.data.href);q(a=>a===b.id?null:b.id)}},[h]),P=c.useCallback(()=>{q(null)},[]),Q=m.length>0||p;return(0,b.jsxs)("div",{className:"flex h-full flex-col gap-2",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,b.jsx)("div",{className:"flex items-center gap-4",children:(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Dependency Graph"}),(0,b.jsx)("p",{className:"text-sm text-foreground",children:J.connected>0?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("span",{className:"text-emerald-400",children:[J.connected," specs with dependencies"]}),J.standalone>0&&(0,b.jsxs)(b.Fragment,{children:[" • ",(0,b.jsxs)("span",{className:"text-muted-foreground",children:[J.standalone," standalone"]})]})]}):(0,b.jsx)("span",{className:"text-muted-foreground",children:"No dependencies defined"})})]})}),(0,b.jsxs)("div",{className:"relative",ref:B,children:[(0,b.jsxs)("button",{onClick:()=>u(!t),className:(0,x.cn)("h-7 w-52 rounded-md border bg-background px-2.5 text-xs text-left flex items-center gap-2 transition-colors",p?"border-primary/60 bg-primary/10":"border-border hover:border-primary/40"),children:[N?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("span",{className:"text-muted-foreground",children:["#",N.number.toString().padStart(3,"0")]}),(0,b.jsx)("span",{className:"truncate flex-1 text-foreground",children:N.name})]}):(0,b.jsx)("span",{className:"text-muted-foreground",children:"Select spec to highlight..."}),(0,b.jsx)("svg",{className:"w-3 h-3 text-muted-foreground shrink-0",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,b.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]}),t&&(0,b.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,b.jsx)("div",{className:"p-2 border-b border-border",children:(0,b.jsx)("input",{type:"text",placeholder:"Type to filter...",value:v,onChange:a=>z(a.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,b.jsxs)("div",{className:"max-h-64 overflow-auto",children:[p&&(0,b.jsxs)("button",{onClick:()=>{q(null),u(!1),z("")},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,b.jsx)("span",{className:"text-red-400",children:"×"})," Clear selection"]}),M.length>0?M.map(a=>(0,b.jsxs)("button",{onClick:()=>(a=>{if(q(a),u(!1),z(""),i){let b=I.nodes.find(b=>b.id===a);b&&i.setCenter(b.position.x+80,b.position.y+30,{duration:400,zoom:1})}})(a.id),className:(0,x.cn)("w-full px-3 py-2 text-xs text-left hover:bg-muted/50 flex items-center gap-2",p===a.id&&"bg-primary/20"),children:[(0,b.jsxs)("span",{className:"text-muted-foreground font-mono",children:["#",a.number.toString().padStart(3,"0")]}),(0,b.jsx)("span",{className:"truncate flex-1",children:a.name}),(0,b.jsx)("span",{className:(0,x.cn)("text-[9px] px-1 py-0.5 rounded uppercase font-medium","planned"===a.status&&"bg-blue-500/20 text-blue-400","in-progress"===a.status&&"bg-orange-500/20 text-orange-400","complete"===a.status&&"bg-green-500/20 text-green-400","archived"===a.status&&"bg-gray-500/20 text-gray-400"),children:"in-progress"===a.status?"WIP":a.status.slice(0,3)})]},a.id)):(0,b.jsx)("div",{className:"px-3 py-4 text-xs text-muted-foreground text-center",children:"No specs found"})]})]})]})]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5 text-xs",children:[["planned","in-progress","complete","archived"].map(a=>{let c=0===m.length||m.includes(a);return(0,b.jsxs)("button",{onClick:()=>{o(b=>b.includes(a)?b.filter(b=>b!==a):[...b,a]),q(null)},className:(0,x.cn)("rounded border px-2 py-1 font-medium transition-colors",c&&"planned"===a&&"border-blue-500/60 bg-blue-500/20 text-blue-300",c&&"in-progress"===a&&"border-orange-500/60 bg-orange-500/20 text-orange-300",c&&"complete"===a&&"border-green-500/60 bg-green-500/20 text-green-300",c&&"archived"===a&&"border-gray-500/60 bg-gray-500/20 text-gray-300",!c&&"border-border bg-background text-muted-foreground/40"),children:["in-progress"===a?"WIP":a.charAt(0).toUpperCase()+a.slice(1),(0,b.jsxs)("span",{className:"ml-1 opacity-60",children:["(",K[a]||0,")"]})]},a)}),(0,b.jsx)("span",{className:"h-3 w-px bg-border"}),(0,b.jsxs)("button",{onClick:()=>l(!k),className:(0,x.cn)("rounded border px-2 py-1 font-medium transition-colors",k?"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,b.jsxs)("span",{className:"ml-1 opacity-60",children:["(",J.standalone,")"]})]}),(0,b.jsx)("span",{className:"h-3 w-px bg-border"}),(0,b.jsx)("button",{onClick:()=>s(!r),className:(0,x.cn)("rounded border px-2 py-1 font-medium transition-colors",r?"border-primary/60 bg-primary/20 text-primary":"border-border bg-background hover:bg-accent text-muted-foreground"),children:"Compact"}),Q&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"h-3 w-px bg-border"}),(0,b.jsx)("button",{onClick:()=>{o([]),q(null),z("")},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,b.jsxs)("div",{className:"flex flex-1 gap-3 min-h-0",children:[(0,b.jsx)("div",{className:"flex-1 overflow-hidden rounded-lg border border-border bg-[#080c14]",children:I.nodes.length>0?(0,b.jsxs)(e.default,{nodes:I.nodes,edges:I.edges,nodeTypes:C,onInit:L,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:O,onPaneClick:P,children:[(0,b.jsx)(f.Background,{gap:20,size:1,color:"rgba(100, 116, 139, 0.06)"}),(0,b.jsx)(g.Controls,{showInteractive:!1,className:"!bg-background/90 !border-border !rounded-md"}),(0,b.jsx)(w,{nodeColor:a=>A[a.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,b.jsx)("div",{className:"flex h-full items-center justify-center text-muted-foreground",children:(0,b.jsxs)("div",{className:"text-center",children:[(0,b.jsx)("p",{className:"text-sm font-medium",children:"No dependencies to display"}),(0,b.jsx)("p",{className:"text-xs mt-1",children:k?"No specs match the current filters":'Enable "Show Standalone" to see specs without dependencies'})]})})}),(0,b.jsx)(F,{focusedDetails:H,onSelectSpec:q,onOpenSpec:a=>h.push(`/specs/${a}`)})]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-4 text-[10px] text-muted-foreground",children:[(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,b.jsx)("span",{className:"inline-block h-0.5 w-6 bg-amber-400 rounded"}),"Depends On (arrow shows direction)"]}),(0,b.jsx)("span",{className:"text-muted-foreground/50 ml-auto",children:"Click: select • Double-click: open • Drag to rearrange"})]})]})}a.s(["ProjectDependencyGraphClient",()=>H],693247)}];
|
|
2
|
+
M${H.x},${H.y}h${H.width}v${H.height}h${-H.width}z`,fill:q,fillRule:"evenodd",stroke:r,strokeWidth:s,pointerEvents:"none"})))}v.displayName="MiniMap";var w=(0,c.memo)(v),x=a.i(687052);let y="#f59e0b",z={planned:"border-blue-500 bg-blue-100 text-blue-800 dark:bg-blue-950/60 dark:text-blue-200","in-progress":"border-orange-500 bg-orange-100 text-orange-800 dark:bg-orange-950/60 dark:text-orange-200",complete:"border-green-500 bg-green-100 text-green-800 dark:bg-green-950/60 dark:text-green-200",archived:"border-gray-400 bg-gray-100 text-gray-600 dark:border-gray-500/80 dark:bg-gray-900/60 dark:text-gray-400"},A={planned:"#3b82f6","in-progress":"#f97316",complete:"#22c55e",archived:"#6b7280"},B=c.memo(function({data:a}){let c=a.isCompact,d=a.isSecondary,e=0===a.connectionDepth?1:1===a.connectionDepth?.95:2===a.connectionDepth?.7:a.isDimmed?.15:1;return(0,b.jsxs)("div",{className:(0,x.cn)("flex flex-col rounded-lg shadow-lg transition-all duration-200",z[a.tone],a.interactive&&"cursor-pointer hover:scale-105 hover:shadow-xl hover:border-gray-400 dark:hover:border-white/50",a.isFocused&&"ring-2 ring-gray-800 dark:ring-white ring-offset-2 ring-offset-background scale-110 z-50",1===a.connectionDepth&&"ring-1 ring-gray-400 dark:ring-white/40",c?"px-2 py-1 gap-0.5":"px-2.5 py-1.5 gap-0.5",d?"border border-dashed":"border-2"),style:{width:c?120:180,opacity:e*(d?.65:1),transform:a.isDimmed?"scale(0.9)":void 0},children:[(0,b.jsx)(n.Handle,{type:"target",position:n.Position.Left,className:"opacity-0"}),(0,b.jsxs)("div",{className:"flex items-center justify-between gap-1",children:[(0,b.jsxs)("span",{className:(0,x.cn)("font-bold",c?"text-[9px]":"text-[10px]"),children:["#",a.number.toString().padStart(3,"0")]}),(0,b.jsx)("span",{className:(0,x.cn)("font-medium uppercase tracking-wide rounded",c?"text-[7px] px-0.5 py-0.5":"text-[8px] px-1 py-0.5","planned"===a.tone&&"bg-blue-500/30 text-blue-700 dark:text-blue-300","in-progress"===a.tone&&"bg-orange-500/30 text-orange-700 dark:text-orange-300","complete"===a.tone&&"bg-green-500/30 text-green-700 dark:text-green-300","archived"===a.tone&&"bg-gray-500/30 text-gray-600 dark:text-gray-400"),children:a.badge})]}),(0,b.jsx)("span",{className:(0,x.cn)("font-medium leading-tight truncate",c?"text-[8px]":"text-[10px]"),title:a.label,children:c?a.shortLabel:a.label}),(0,b.jsx)(n.Handle,{type:"source",position:n.Position.Right,className:"opacity-0"})]})});B.displayName="SpecNode";let C={specNode:B};function D({spec:a,type:c,depth:d,onClick:e}){let f=1===d?"Direct":`L${d}`;return(0,b.jsxs)("button",{onClick:e,className:(0,x.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"}[c]),children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsxs)("span",{className:"text-[10px] font-bold text-muted-foreground",children:["#",a.number.toString().padStart(3,"0")]}),(0,b.jsx)("span",{className:(0,x.cn)("text-[8px] px-1 py-0.5 rounded font-medium uppercase","planned"===a.status&&"bg-blue-500/20 text-blue-600 dark:text-blue-400","in-progress"===a.status&&"bg-orange-500/20 text-orange-600 dark:text-orange-400","complete"===a.status&&"bg-green-500/20 text-green-600 dark:text-green-400","archived"===a.status&&"bg-gray-500/20 text-gray-500 dark:text-gray-400"),children:"in-progress"===a.status?"WIP":a.status.slice(0,3)}),(0,b.jsx)("span",{className:"text-[8px] px-1 py-0.5 rounded bg-muted text-muted-foreground font-medium ml-auto",children:f})]}),(0,b.jsx)("p",{className:"text-[11px] text-foreground truncate leading-tight mt-0.5",children:a.name})]})}function E({focusedDetails:a,onSelectSpec:c,onOpenSpec:d}){if(!a)return(0,b.jsx)("div",{className:"w-64 shrink-0 rounded-lg border border-border bg-background/95 overflow-hidden flex flex-col",children:(0,b.jsx)("div",{className:"flex-1 flex items-center justify-center p-4",children:(0,b.jsxs)("div",{className:"text-center text-muted-foreground",children:[(0,b.jsx)("div",{className:"w-12 h-12 mx-auto mb-3 rounded-full bg-muted/50 flex items-center justify-center",children:(0,b.jsx)("svg",{className:"w-6 h-6",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,b.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,b.jsx)("p",{className:"text-sm font-medium",children:"Select a spec"}),(0,b.jsx)("p",{className:"text-xs mt-1",children:"Click on a spec to see its dependencies"})]})})});let{node:e,upstream:f,downstream:g}=a;return(0,b.jsxs)("div",{className:"w-64 shrink-0 rounded-lg border border-border bg-background/95 overflow-hidden flex flex-col",children:[(0,b.jsxs)("div",{className:"p-3 border-b border-border bg-muted/30",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[(0,b.jsxs)("span",{className:"font-bold text-sm",children:["#",e.number.toString().padStart(3,"0")]}),(0,b.jsx)("span",{className:(0,x.cn)("px-1.5 py-0.5 rounded text-[10px] font-medium uppercase","planned"===e.status&&"bg-blue-500/20 text-blue-600 dark:text-blue-300","in-progress"===e.status&&"bg-orange-500/20 text-orange-600 dark:text-orange-300","complete"===e.status&&"bg-green-500/20 text-green-600 dark:text-green-300","archived"===e.status&&"bg-gray-500/20 text-gray-500 dark:text-gray-300"),children:e.status})]}),(0,b.jsx)("p",{className:"text-sm font-medium text-foreground leading-snug",children:e.name}),(0,b.jsx)("button",{onClick:()=>d(e.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,b.jsxs)("div",{className:"flex-1 overflow-auto p-3 space-y-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,b.jsx)("span",{className:"inline-block w-2 h-2 rounded-full bg-amber-500"}),(0,b.jsxs)("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:["Depends On (",f.reduce((a,b)=>a+b.specs.length,0),")"]})]}),f.length>0?(0,b.jsx)("div",{className:"space-y-1.5",children:f.flatMap(a=>a.specs.map(d=>(0,b.jsx)(D,{spec:d,type:"upstream",depth:a.depth,onClick:()=>c(d.id)},d.id)))}):(0,b.jsx)("p",{className:"text-xs text-muted-foreground/60 italic",children:"No upstream dependencies"})]}),(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,b.jsx)("span",{className:"inline-block w-2 h-2 rounded-full bg-emerald-500"}),(0,b.jsxs)("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:["Required By (",g.reduce((a,b)=>a+b.specs.length,0),")"]})]}),g.length>0?(0,b.jsx)("div",{className:"space-y-1.5",children:g.flatMap(a=>a.specs.map(d=>(0,b.jsx)(D,{spec:d,type:"downstream",depth:a.depth,onClick:()=>c(d.id)},d.id)))}):(0,b.jsx)("p",{className:"text-xs text-muted-foreground/60 italic",children:"No specs depend on this"})]})]})]})}var F=a.i(183214);function G({data:a,projectId:h}){let i=(0,d.useRouter)(),j=(0,d.usePathname)(),k=(0,d.useSearchParams)(),l=k.get("spec"),m=c.useCallback(a=>h?`/projects/${h}/specs/${a}`:`/specs/${a}`,[h]),[o,p]=c.useState(null),[q,r]=c.useState(!1),[s,t]=c.useState([]),[u,v]=c.useState(null),[z,B]=c.useState(a.nodes.length>30),[D,G]=c.useState(!1),[H,I]=c.useState(""),J=c.useRef(null),K=c.useRef(!1),L=c.useRef(null);c.useEffect(()=>{if(!K.current){if(l){let b=a.nodes.find(a=>a.number.toString()===l);b&&(L.current=b.id,v(b.id))}K.current=!0}},[l,a.nodes]),c.useEffect(()=>{if(!K.current)return;if(null!==L.current){if(u===L.current){L.current=null;return}L.current=null}let b=u?a.nodes.find(a=>a.id===u):null,c=b?b.number.toString():null;if(c!==l){let a=new URLSearchParams(k.toString());c?a.set("spec",c):a.delete("spec");let b=a.toString()?`${j}?${a.toString()}`:j;i.replace(b,{scroll:!1})}},[u,a.nodes,l,j,i,k]);let M=c.useMemo(()=>a.edges.filter(a=>"dependsOn"===a.type),[a.edges]),N=c.useMemo(()=>u?function(a,b,c=2){let d=new Map;d.set(a,0);let e=new Map,f=new Map;b.forEach(a=>{e.has(a.source)||e.set(a.source,new Set),e.get(a.source).add(a.target),f.has(a.target)||f.set(a.target,new Set),f.get(a.target).add(a.source)});let g=new Set([a]),h=1;for(;g.size>0&&h<=c;){let a=new Set;g.forEach(b=>{let c=e.get(b);c&&c.forEach(b=>{d.has(b)||(d.set(b,h),a.add(b))})}),g=a,h++}for(g=new Set([a]),h=1;g.size>0&&h<=c;){let a=new Set;g.forEach(b=>{let c=f.get(b);c&&c.forEach(b=>{d.has(b)||(d.set(b,h),a.add(b))})}),g=a,h++}return d}(u,M,1/0):null,[u,M]),O=c.useMemo(()=>{if(!u)return null;let b=a.nodes.find(a=>a.id===u);if(!b)return null;let c=new Map(a.nodes.map(a=>[a.id,a])),d=new Map,e=new Map;M.forEach(a=>{d.has(a.source)||d.set(a.source,new Set),d.get(a.source).add(a.target),e.has(a.target)||e.set(a.target,new Set),e.get(a.target).add(a.source)});let f=(a,b)=>{let d=new Set([a]),e=[],f=new Set([a]),g=1;for(;f.size>0;){let a=new Set,h=[];f.forEach(e=>{let f=b.get(e);f&&f.forEach(b=>{if(!d.has(b)){d.add(b),a.add(b);let e=c.get(b);e&&h.push(e)}})}),h.length>0&&e.push({depth:g,specs:h}),f=a,g++}return e};return{node:b,upstream:f(u,d),downstream:f(u,e)}},[u,a.nodes,M]),P=c.useMemo(()=>{let b=new Set(a.nodes.filter(a=>0===s.length||s.includes(a.status)).map(a=>a.id)),c=new Set(b),d=[...b];for(;d.length>0;){let a=d.shift();M.forEach(b=>{b.source!==a||c.has(b.target)||(c.add(b.target),d.push(b.target)),b.target!==a||c.has(b.source)||(c.add(b.source),d.push(b.source))})}let e=a.nodes.filter(a=>c.has(a.id)),f=M.filter(a=>c.has(a.source)&&c.has(a.target)),g=e;if(!q){let a=new Set;f.forEach(b=>{a.add(b.source),a.add(b.target)}),g=e.filter(b=>a.has(b.id))}let h=new Set(g.map(a=>a.id)),i=new Set([...h].filter(a=>!b.has(a)));return function(a,b,c,d){if(0===a.length)return{nodes:[],edges:[]};let e=c?120:180,f=c?40:60,g=c?30:50,h=new Set;b.forEach(a=>{h.add(a.source),h.add(a.target)});let i=a.filter(a=>h.has(a.id)),j=d?a.filter(a=>!h.has(a.id)):[],k=[];if(i.length>0){let a=new F.default.graphlib.Graph;a.setGraph({rankdir:"LR",align:"UL",nodesep:c?30:50,ranksep:c?80:120,marginx:40,marginy:40}),a.setDefaultEdgeLabel(()=>({})),i.forEach(b=>{a.setNode(b.id,{width:e,height:f})}),b.forEach(b=>{h.has(b.source)&&h.has(b.target)&&a.setEdge(b.source,b.target)}),F.default.layout(a);let d=1/0,l=1/0,m=0,n=0;if(i.forEach(b=>{let c=a.node(b.id);d=Math.min(d,c.x-e/2),l=Math.min(l,c.y-f/2),m=Math.max(m,c.x+e/2),n=Math.max(n,c.y+f/2)}),i.forEach(b=>{let c=a.node(b.id);k.push({...b,position:{x:c.x-d,y:c.y-l}})}),j.length>0){let a=m-d,b=n-l+2*g,c=Math.ceil(Math.sqrt(1.5*j.length)),h=c*(e+g),i=a>h?Math.floor((a-h)/2):0;j.forEach((a,d)=>{let h=Math.floor(d/c);k.push({...a,position:{x:i+d%c*(e+g),y:b+h*(f+g)}})})}}else{let a=Math.ceil(Math.sqrt(1.5*j.length));j.forEach((b,c)=>{let d=Math.floor(c/a);k.push({...b,position:{x:c%a*(e+g),y:d*(f+g)}})})}return{nodes:k,edges:b}}(g.map(a=>{let b,c=u===a.id,d=i.has(a.id),e=!1;return u&&(e=void 0===(b=N?.get(a.id))),{id:a.id,type:"specNode",data:{label:a.name,shortLabel:a.name.length>14?a.name.slice(0,12)+"…":a.name,badge:"in-progress"===a.status?"WIP":a.status.slice(0,3).toUpperCase(),number:a.number,tone:a.status,href:m(a.number),interactive:!0,isFocused:c,connectionDepth:b,isDimmed:e,isCompact:z,isSecondary:d},position:{x:0,y:0},draggable:!0,selectable:!0,sourcePosition:n.Position.Right,targetPosition:n.Position.Left}}),f.filter(a=>h.has(a.source)&&h.has(a.target)).map(a=>{let b=!0,c=.7;if(u){let d=N?.get(a.source),e=N?.get(a.target);c=(b=void 0!==d&&void 0!==e&&(0===d||0===e))?1:void 0!==d&&void 0!==e?.4:.1}return{id:`${a.source}-${a.target}-dependsOn`,source:a.source,target:a.target,type:"smoothstep",animated:b&&null!==u,markerEnd:{type:n.MarkerType.ArrowClosed,color:y,width:18,height:18},style:{stroke:y,strokeWidth:b?2.5:1.5,opacity:c}}}),z,q)},[a,M,s,u,N,z,q]),Q=c.useMemo(()=>{let b=new Set;return M.forEach(a=>{b.add(a.source),b.add(a.target)}),{connected:b.size,standalone:a.nodes.length-b.size}},[M,a.nodes.length]),R=c.useMemo(()=>{let b={};return a.nodes.forEach(a=>{b[a.status]=(b[a.status]||0)+1}),b},[a.nodes]),S=c.useCallback(a=>{p(a),requestAnimationFrame(()=>{a.fitView({padding:.15,duration:300})})},[]);c.useEffect(()=>{if(!o)return;let a=setTimeout(()=>{o.fitView({padding:.15,duration:300})},50);return()=>clearTimeout(a)},[o,P.nodes.length,s,q]),c.useEffect(()=>{if(!o||!u||!l)return;let a=P.nodes.find(a=>a.id===u);if(a){let b=setTimeout(()=>{o.setCenter(a.position.x+80,a.position.y+30,{duration:400,zoom:1})},400);return()=>clearTimeout(b)}},[o,u,l,P.nodes]),c.useEffect(()=>{let a=a=>{J.current&&!J.current.contains(a.target)&&G(!1)};return document.addEventListener("mousedown",a),()=>document.removeEventListener("mousedown",a)},[]);let T=c.useMemo(()=>{if(!H.trim())return a.nodes.slice(0,15);let b=H.toLowerCase();return a.nodes.filter(a=>a.name.toLowerCase().includes(b)||a.number.toString().includes(b)||a.tags.some(a=>a.toLowerCase().includes(b))).slice(0,15)},[a.nodes,H]),U=c.useMemo(()=>u?a.nodes.find(a=>a.id===u):null,[u,a.nodes]),V=c.useCallback((a,b)=>{if(b?.data){if(2===a.detail&&b.data.href)return void i.push(b.data.href);v(a=>a===b.id?null:b.id)}},[i]),W=c.useCallback(()=>{v(null)},[]),X=s.length>0||u;return(0,b.jsxs)("div",{className:"flex h-full flex-col gap-2",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,b.jsx)("div",{className:"flex items-center gap-4",children:(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Dependency Graph"}),(0,b.jsx)("p",{className:"text-sm text-foreground",children:Q.connected>0?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("span",{className:"text-emerald-600 dark:text-emerald-400",children:[Q.connected," specs with dependencies"]}),Q.standalone>0&&(0,b.jsxs)(b.Fragment,{children:[" • ",(0,b.jsxs)("span",{className:"text-muted-foreground",children:[Q.standalone," standalone"]})]})]}):(0,b.jsx)("span",{className:"text-muted-foreground",children:"No dependencies defined"})})]})}),(0,b.jsxs)("div",{className:"relative",ref:J,children:[(0,b.jsxs)("button",{onClick:()=>G(!D),className:(0,x.cn)("h-7 w-52 rounded-md border bg-background px-2.5 text-xs text-left flex items-center gap-2 transition-colors",u?"border-primary/60 bg-primary/10":"border-border hover:border-primary/40"),children:[U?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("span",{className:"text-muted-foreground",children:["#",U.number.toString().padStart(3,"0")]}),(0,b.jsx)("span",{className:"truncate flex-1 text-foreground",children:U.name})]}):(0,b.jsx)("span",{className:"text-muted-foreground",children:"Select spec to highlight..."}),(0,b.jsx)("svg",{className:"w-3 h-3 text-muted-foreground shrink-0",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,b.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]}),D&&(0,b.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,b.jsx)("div",{className:"p-2 border-b border-border",children:(0,b.jsx)("input",{type:"text",placeholder:"Type to filter...",value:H,onChange:a=>I(a.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,b.jsxs)("div",{className:"max-h-64 overflow-auto",children:[u&&(0,b.jsxs)("button",{onClick:()=>{v(null),G(!1),I("")},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,b.jsx)("span",{className:"text-red-400",children:"×"})," Clear selection"]}),T.length>0?T.map(a=>(0,b.jsxs)("button",{onClick:()=>(a=>{if(v(a),G(!1),I(""),o){let b=P.nodes.find(b=>b.id===a);b&&o.setCenter(b.position.x+80,b.position.y+30,{duration:400,zoom:1})}})(a.id),className:(0,x.cn)("w-full px-3 py-2 text-xs text-left hover:bg-muted/50 flex items-center gap-2",u===a.id&&"bg-primary/20"),children:[(0,b.jsxs)("span",{className:"text-muted-foreground font-mono",children:["#",a.number.toString().padStart(3,"0")]}),(0,b.jsx)("span",{className:"truncate flex-1",children:a.name}),(0,b.jsx)("span",{className:(0,x.cn)("text-[9px] px-1 py-0.5 rounded uppercase font-medium","planned"===a.status&&"bg-blue-500/20 text-blue-600 dark:text-blue-400","in-progress"===a.status&&"bg-orange-500/20 text-orange-600 dark:text-orange-400","complete"===a.status&&"bg-green-500/20 text-green-600 dark:text-green-400","archived"===a.status&&"bg-gray-500/20 text-gray-500 dark:text-gray-400"),children:"in-progress"===a.status?"WIP":a.status.slice(0,3)})]},a.id)):(0,b.jsx)("div",{className:"px-3 py-4 text-xs text-muted-foreground text-center",children:"No specs found"})]})]})]})]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5 text-xs",children:[["planned","in-progress","complete","archived"].map(a=>{let c=0===s.length||s.includes(a);return(0,b.jsxs)("button",{onClick:()=>{t(b=>b.includes(a)?b.filter(b=>b!==a):[...b,a]),v(null)},className:(0,x.cn)("rounded border px-2 py-1 font-medium transition-colors",c&&"planned"===a&&"border-blue-500/60 bg-blue-500/20 text-blue-700 dark:text-blue-300",c&&"in-progress"===a&&"border-orange-500/60 bg-orange-500/20 text-orange-700 dark:text-orange-300",c&&"complete"===a&&"border-green-500/60 bg-green-500/20 text-green-700 dark:text-green-300",c&&"archived"===a&&"border-gray-500/60 bg-gray-500/20 text-gray-600 dark:text-gray-300",!c&&"border-border bg-background text-muted-foreground/40"),children:["in-progress"===a?"WIP":a.charAt(0).toUpperCase()+a.slice(1),(0,b.jsxs)("span",{className:"ml-1 opacity-60",children:["(",R[a]||0,")"]})]},a)}),(0,b.jsx)("span",{className:"h-3 w-px bg-border"}),(0,b.jsxs)("button",{onClick:()=>r(!q),className:(0,x.cn)("rounded border px-2 py-1 font-medium transition-colors",q?"border-violet-500/60 bg-violet-500/20 text-violet-700 dark:text-violet-300":"border-border bg-background hover:bg-accent text-muted-foreground"),children:["Show Standalone",(0,b.jsxs)("span",{className:"ml-1 opacity-60",children:["(",Q.standalone,")"]})]}),(0,b.jsx)("span",{className:"h-3 w-px bg-border"}),(0,b.jsx)("button",{onClick:()=>B(!z),className:(0,x.cn)("rounded border px-2 py-1 font-medium transition-colors",z?"border-primary/60 bg-primary/20 text-primary":"border-border bg-background hover:bg-accent text-muted-foreground"),children:"Compact"}),X&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"h-3 w-px bg-border"}),(0,b.jsx)("button",{onClick:()=>{t([]),v(null),I("")},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,b.jsxs)("div",{className:"flex flex-1 gap-3 min-h-0",children:[(0,b.jsx)("div",{className:"flex-1 overflow-hidden rounded-lg border border-border bg-gray-50 dark:bg-[#080c14]",children:P.nodes.length>0?(0,b.jsxs)(e.default,{nodes:P.nodes,edges:P.edges,nodeTypes:C,onInit:S,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:V,onPaneClick:W,children:[(0,b.jsx)(f.Background,{gap:20,size:1,color:"rgba(100, 116, 139, 0.06)"}),(0,b.jsx)(g.Controls,{showInteractive:!1,className:"!bg-background/90 !border-border !rounded-md"}),(0,b.jsx)(w,{nodeColor:a=>A[a.data.tone]||"#6b7280",maskColor:"rgba(128, 128, 128, 0.6)",className:"!bg-white/95 dark:!bg-background/95 !border-border !rounded-md",style:{width:120,height:80},pannable:!0,zoomable:!0})]}):(0,b.jsx)("div",{className:"flex h-full items-center justify-center text-muted-foreground",children:(0,b.jsxs)("div",{className:"text-center",children:[(0,b.jsx)("p",{className:"text-sm font-medium",children:"No dependencies to display"}),(0,b.jsx)("p",{className:"text-xs mt-1",children:q?"No specs match the current filters":'Enable "Show Standalone" to see specs without dependencies'})]})})}),(0,b.jsx)(E,{focusedDetails:O,onSelectSpec:v,onOpenSpec:a=>i.push(m(a))})]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-4 text-[10px] text-muted-foreground",children:[(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,b.jsx)("span",{className:"inline-block h-0.5 w-6 bg-amber-400 rounded"}),"Depends On (arrow shows direction)"]}),(0,b.jsx)("span",{className:"text-muted-foreground/50 ml-auto",children:"Click: select • Double-click: open • Drag to rearrange"})]})]})}a.s(["ProjectDependencyGraphClient",()=>G],693247)}];
|
|
3
3
|
|
|
4
4
|
//# sourceMappingURL=packages_ui_src_app_dependencies_dependencies-client_tsx_0e82443a._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[531428,a=>{"use strict";var b=a.i(40352),c=a.i(936883),d=a.i(479220),e=a.i(793090),f=a.i(66497),g=a.i(108920),h=a.i(863535);let i=(0,h.default)("ellipsis-vertical",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"12",cy:"5",r:"1",key:"gxeob9"}],["circle",{cx:"12",cy:"19",r:"1",key:"lyex9k"}]]),j=(0,h.default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);var k=a.i(72245),l=a.i(227725),m=a.i(406334),n=a.i(980096),o=a.i(559653),p=a.i(517988),q=a.i(763375),r=a.i(317449),s=a.i(675655),t=a.i(466965),u=a.i(553484),v=a.i(983644),w=a.i(241857),x=a.i(84228),y=a.i(699700),z=a.i(272311),A=a.i(407547),B=a.i(544329),C=a.i(244293),D="rovingFocusGroup.onEntryFocus",E={bubbles:!1,cancelable:!0},F="RovingFocusGroup",[G,H,I]=(0,t.createCollection)(F),[J,K]=(0,q.createContextScope)(F,[I]),[L,M]=J(F),N=c.forwardRef((a,c)=>(0,b.jsx)(G.Provider,{scope:a.__scopeRovingFocusGroup,children:(0,b.jsx)(G.Slot,{scope:a.__scopeRovingFocusGroup,children:(0,b.jsx)(O,{...a,ref:c})})}));N.displayName=F;var O=c.forwardRef((a,d)=>{let{__scopeRovingFocusGroup:e,orientation:f,loop:g=!1,dir:h,currentTabStopId:i,defaultCurrentTabStopId:j,onCurrentTabStopIdChange:k,onEntryFocus:l,preventScrollOnEntryFocus:m=!1,...n}=a,q=c.useRef(null),t=(0,p.useComposedRefs)(d,q),v=(0,u.useDirection)(h),[w,x]=(0,r.useControllableState)({prop:i,defaultProp:j??null,onChange:k,caller:F}),[y,z]=c.useState(!1),A=(0,C.useCallbackRef)(l),B=H(e),G=c.useRef(!1),[I,J]=c.useState(0);return c.useEffect(()=>{let a=q.current;if(a)return a.addEventListener(D,A),()=>a.removeEventListener(D,A)},[A]),(0,b.jsx)(L,{scope:e,orientation:f,dir:v,loop:g,currentTabStopId:w,onItemFocus:c.useCallback(a=>x(a),[x]),onItemShiftTab:c.useCallback(()=>z(!0),[]),onFocusableItemAdd:c.useCallback(()=>J(a=>a+1),[]),onFocusableItemRemove:c.useCallback(()=>J(a=>a-1),[]),children:(0,b.jsx)(s.Primitive.div,{tabIndex:y||0===I?-1:0,"data-orientation":f,...n,ref:t,style:{outline:"none",...a.style},onMouseDown:(0,o.composeEventHandlers)(a.onMouseDown,()=>{G.current=!0}),onFocus:(0,o.composeEventHandlers)(a.onFocus,a=>{let b=!G.current;if(a.target===a.currentTarget&&b&&!y){let b=new CustomEvent(D,E);if(a.currentTarget.dispatchEvent(b),!b.defaultPrevented){let a=B().filter(a=>a.focusable);S([a.find(a=>a.active),a.find(a=>a.id===w),...a].filter(Boolean).map(a=>a.ref.current),m)}}G.current=!1}),onBlur:(0,o.composeEventHandlers)(a.onBlur,()=>z(!1))})})}),P="RovingFocusGroupItem",Q=c.forwardRef((a,d)=>{let{__scopeRovingFocusGroup:e,focusable:f=!0,active:g=!1,tabStopId:h,children:i,...j}=a,k=(0,y.useId)(),l=h||k,m=M(P,e),n=m.currentTabStopId===l,p=H(e),{onFocusableItemAdd:q,onFocusableItemRemove:r,currentTabStopId:t}=m;return c.useEffect(()=>{if(f)return q(),()=>r()},[f,q,r]),(0,b.jsx)(G.ItemSlot,{scope:e,id:l,focusable:f,active:g,children:(0,b.jsx)(s.Primitive.span,{tabIndex:n?0:-1,"data-orientation":m.orientation,...j,ref:d,onMouseDown:(0,o.composeEventHandlers)(a.onMouseDown,a=>{f?m.onItemFocus(l):a.preventDefault()}),onFocus:(0,o.composeEventHandlers)(a.onFocus,()=>m.onItemFocus(l)),onKeyDown:(0,o.composeEventHandlers)(a.onKeyDown,a=>{if("Tab"===a.key&&a.shiftKey)return void m.onItemShiftTab();if(a.target!==a.currentTarget)return;let b=function(a,b,c){var d;let e=(d=a.key,"rtl"!==c?d:"ArrowLeft"===d?"ArrowRight":"ArrowRight"===d?"ArrowLeft":d);if(!("vertical"===b&&["ArrowLeft","ArrowRight"].includes(e))&&!("horizontal"===b&&["ArrowUp","ArrowDown"].includes(e)))return R[e]}(a,m.orientation,m.dir);if(void 0!==b){if(a.metaKey||a.ctrlKey||a.altKey||a.shiftKey)return;a.preventDefault();let e=p().filter(a=>a.focusable).map(a=>a.ref.current);if("last"===b)e.reverse();else if("prev"===b||"next"===b){var c,d;"prev"===b&&e.reverse();let f=e.indexOf(a.currentTarget);e=m.loop?(c=e,d=f+1,c.map((a,b)=>c[(d+b)%c.length])):e.slice(f+1)}setTimeout(()=>S(e))}}),children:"function"==typeof i?i({isCurrentTabStop:n,hasTabStop:null!=t}):i})})});Q.displayName=P;var R={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function S(a,b=!1){let c=document.activeElement;for(let d of a)if(d===c||(d.focus({preventScroll:b}),document.activeElement!==c))return}var T=a.i(878357),U=a.i(516164),V=a.i(151867),W=["Enter"," "],X=["ArrowUp","PageDown","End"],Y=["ArrowDown","PageUp","Home",...X],Z={ltr:[...W,"ArrowRight"],rtl:[...W,"ArrowLeft"]},$={ltr:["ArrowLeft"],rtl:["ArrowRight"]},_="Menu",[aa,ab,ac]=(0,t.createCollection)(_),[ad,ae]=(0,q.createContextScope)(_,[ac,z.createPopperScope,K]),af=(0,z.createPopperScope)(),ag=K(),[ah,ai]=ad(_),[aj,ak]=ad(_),al=a=>{let{__scopeMenu:d,open:e=!1,children:f,dir:g,onOpenChange:h,modal:i=!0}=a,j=af(d),[k,l]=c.useState(null),m=c.useRef(!1),n=(0,C.useCallbackRef)(h),o=(0,u.useDirection)(g);return c.useEffect(()=>{let a=()=>{m.current=!0,document.addEventListener("pointerdown",b,{capture:!0,once:!0}),document.addEventListener("pointermove",b,{capture:!0,once:!0})},b=()=>m.current=!1;return document.addEventListener("keydown",a,{capture:!0}),()=>{document.removeEventListener("keydown",a,{capture:!0}),document.removeEventListener("pointerdown",b,{capture:!0}),document.removeEventListener("pointermove",b,{capture:!0})}},[]),(0,b.jsx)(z.Root,{...j,children:(0,b.jsx)(ah,{scope:d,open:e,onOpenChange:n,content:k,onContentChange:l,children:(0,b.jsx)(aj,{scope:d,onClose:c.useCallback(()=>n(!1),[n]),isUsingKeyboardRef:m,dir:o,modal:i,children:f})})})};al.displayName=_;var am=c.forwardRef((a,c)=>{let{__scopeMenu:d,...e}=a,f=af(d);return(0,b.jsx)(z.Anchor,{...f,...e,ref:c})});am.displayName="MenuAnchor";var an="MenuPortal",[ao,ap]=ad(an,{forceMount:void 0}),aq=a=>{let{__scopeMenu:c,forceMount:d,children:e,container:f}=a,g=ai(an,c);return(0,b.jsx)(ao,{scope:c,forceMount:d,children:(0,b.jsx)(B.Presence,{present:d||g.open,children:(0,b.jsx)(A.Portal,{asChild:!0,container:f,children:e})})})};aq.displayName=an;var ar="MenuContent",[as,at]=ad(ar),au=c.forwardRef((a,c)=>{let d=ap(ar,a.__scopeMenu),{forceMount:e=d.forceMount,...f}=a,g=ai(ar,a.__scopeMenu),h=ak(ar,a.__scopeMenu);return(0,b.jsx)(aa.Provider,{scope:a.__scopeMenu,children:(0,b.jsx)(B.Presence,{present:e||g.open,children:(0,b.jsx)(aa.Slot,{scope:a.__scopeMenu,children:h.modal?(0,b.jsx)(av,{...f,ref:c}):(0,b.jsx)(aw,{...f,ref:c})})})})}),av=c.forwardRef((a,d)=>{let e=ai(ar,a.__scopeMenu),f=c.useRef(null),g=(0,p.useComposedRefs)(d,f);return c.useEffect(()=>{let a=f.current;if(a)return(0,U.hideOthers)(a)},[]),(0,b.jsx)(ay,{...a,ref:g,trapFocus:e.open,disableOutsidePointerEvents:e.open,disableOutsideScroll:!0,onFocusOutside:(0,o.composeEventHandlers)(a.onFocusOutside,a=>a.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>e.onOpenChange(!1)})}),aw=c.forwardRef((a,c)=>{let d=ai(ar,a.__scopeMenu);return(0,b.jsx)(ay,{...a,ref:c,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>d.onOpenChange(!1)})}),ax=(0,T.createSlot)("MenuContent.ScrollLock"),ay=c.forwardRef((a,d)=>{let{__scopeMenu:e,loop:f=!1,trapFocus:g,onOpenAutoFocus:h,onCloseAutoFocus:i,disableOutsidePointerEvents:j,onEntryFocus:k,onEscapeKeyDown:l,onPointerDownOutside:m,onFocusOutside:n,onInteractOutside:q,onDismiss:r,disableOutsideScroll:s,...t}=a,u=ai(ar,e),y=ak(ar,e),A=af(e),B=ag(e),C=ab(e),[D,E]=c.useState(null),F=c.useRef(null),G=(0,p.useComposedRefs)(d,F,u.onContentChange),H=c.useRef(0),I=c.useRef(""),J=c.useRef(0),K=c.useRef(null),L=c.useRef("right"),M=c.useRef(0),O=s?V.RemoveScroll:c.Fragment;c.useEffect(()=>()=>window.clearTimeout(H.current),[]),(0,w.useFocusGuards)();let P=c.useCallback(a=>{var b,c;return L.current===K.current?.side&&(b=a,!!(c=K.current?.area)&&function(a,b){let{x:c,y:d}=a,e=!1;for(let a=0,f=b.length-1;a<b.length;f=a++){let g=b[a],h=b[f],i=g.x,j=g.y,k=h.x,l=h.y;j>d!=l>d&&c<(k-i)*(d-j)/(l-j)+i&&(e=!e)}return e}({x:b.clientX,y:b.clientY},c))},[]);return(0,b.jsx)(as,{scope:e,searchRef:I,onItemEnter:c.useCallback(a=>{P(a)&&a.preventDefault()},[P]),onItemLeave:c.useCallback(a=>{P(a)||(F.current?.focus(),E(null))},[P]),onTriggerLeave:c.useCallback(a=>{P(a)&&a.preventDefault()},[P]),pointerGraceTimerRef:J,onPointerGraceIntentChange:c.useCallback(a=>{K.current=a},[]),children:(0,b.jsx)(O,{...s?{as:ax,allowPinchZoom:!0}:void 0,children:(0,b.jsx)(x.FocusScope,{asChild:!0,trapped:g,onMountAutoFocus:(0,o.composeEventHandlers)(h,a=>{a.preventDefault(),F.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:i,children:(0,b.jsx)(v.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:j,onEscapeKeyDown:l,onPointerDownOutside:m,onFocusOutside:n,onInteractOutside:q,onDismiss:r,children:(0,b.jsx)(N,{asChild:!0,...B,dir:y.dir,orientation:"vertical",loop:f,currentTabStopId:D,onCurrentTabStopIdChange:E,onEntryFocus:(0,o.composeEventHandlers)(k,a=>{y.isUsingKeyboardRef.current||a.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,b.jsx)(z.Content,{role:"menu","aria-orientation":"vertical","data-state":aY(u.open),"data-radix-menu-content":"",dir:y.dir,...A,...t,ref:G,style:{outline:"none",...t.style},onKeyDown:(0,o.composeEventHandlers)(t.onKeyDown,a=>{let b=a.target.closest("[data-radix-menu-content]")===a.currentTarget,c=a.ctrlKey||a.altKey||a.metaKey,d=1===a.key.length;if(b){var e;let b,f,g,h,i,j;"Tab"===a.key&&a.preventDefault(),!c&&d&&(e=a.key,b=I.current+e,f=C().filter(a=>!a.disabled),g=document.activeElement,h=f.find(a=>a.ref.current===g)?.textValue,i=function(a,b,c){var d;let e=b.length>1&&Array.from(b).every(a=>a===b[0])?b[0]:b,f=c?a.indexOf(c):-1,g=(d=Math.max(f,0),a.map((b,c)=>a[(d+c)%a.length]));1===e.length&&(g=g.filter(a=>a!==c));let h=g.find(a=>a.toLowerCase().startsWith(e.toLowerCase()));return h!==c?h:void 0}(f.map(a=>a.textValue),b,h),j=f.find(a=>a.textValue===i)?.ref.current,function a(b){I.current=b,window.clearTimeout(H.current),""!==b&&(H.current=window.setTimeout(()=>a(""),1e3))}(b),j&&setTimeout(()=>j.focus()))}let f=F.current;if(a.target!==f||!Y.includes(a.key))return;a.preventDefault();let g=C().filter(a=>!a.disabled).map(a=>a.ref.current);X.includes(a.key)&&g.reverse(),function(a){let b=document.activeElement;for(let c of a)if(c===b||(c.focus(),document.activeElement!==b))return}(g)}),onBlur:(0,o.composeEventHandlers)(a.onBlur,a=>{a.currentTarget.contains(a.target)||(window.clearTimeout(H.current),I.current="")}),onPointerMove:(0,o.composeEventHandlers)(a.onPointerMove,a_(a=>{let b=a.target,c=M.current!==a.clientX;a.currentTarget.contains(b)&&c&&(L.current=a.clientX>M.current?"right":"left",M.current=a.clientX)}))})})})})})})});au.displayName=ar;var az=c.forwardRef((a,c)=>{let{__scopeMenu:d,...e}=a;return(0,b.jsx)(s.Primitive.div,{role:"group",...e,ref:c})});az.displayName="MenuGroup";var aA=c.forwardRef((a,c)=>{let{__scopeMenu:d,...e}=a;return(0,b.jsx)(s.Primitive.div,{...e,ref:c})});aA.displayName="MenuLabel";var aB="MenuItem",aC="menu.itemSelect",aD=c.forwardRef((a,d)=>{let{disabled:e=!1,onSelect:f,...g}=a,h=c.useRef(null),i=ak(aB,a.__scopeMenu),j=at(aB,a.__scopeMenu),k=(0,p.useComposedRefs)(d,h),l=c.useRef(!1);return(0,b.jsx)(aE,{...g,ref:k,disabled:e,onClick:(0,o.composeEventHandlers)(a.onClick,()=>{let a=h.current;if(!e&&a){let b=new CustomEvent(aC,{bubbles:!0,cancelable:!0});a.addEventListener(aC,a=>f?.(a),{once:!0}),(0,s.dispatchDiscreteCustomEvent)(a,b),b.defaultPrevented?l.current=!1:i.onClose()}}),onPointerDown:b=>{a.onPointerDown?.(b),l.current=!0},onPointerUp:(0,o.composeEventHandlers)(a.onPointerUp,a=>{l.current||a.currentTarget?.click()}),onKeyDown:(0,o.composeEventHandlers)(a.onKeyDown,a=>{let b=""!==j.searchRef.current;e||b&&" "===a.key||W.includes(a.key)&&(a.currentTarget.click(),a.preventDefault())})})});aD.displayName=aB;var aE=c.forwardRef((a,d)=>{let{__scopeMenu:e,disabled:f=!1,textValue:g,...h}=a,i=at(aB,e),j=ag(e),k=c.useRef(null),l=(0,p.useComposedRefs)(d,k),[m,n]=c.useState(!1),[q,r]=c.useState("");return c.useEffect(()=>{let a=k.current;a&&r((a.textContent??"").trim())},[h.children]),(0,b.jsx)(aa.ItemSlot,{scope:e,disabled:f,textValue:g??q,children:(0,b.jsx)(Q,{asChild:!0,...j,focusable:!f,children:(0,b.jsx)(s.Primitive.div,{role:"menuitem","data-highlighted":m?"":void 0,"aria-disabled":f||void 0,"data-disabled":f?"":void 0,...h,ref:l,onPointerMove:(0,o.composeEventHandlers)(a.onPointerMove,a_(a=>{f?i.onItemLeave(a):(i.onItemEnter(a),a.defaultPrevented||a.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:(0,o.composeEventHandlers)(a.onPointerLeave,a_(a=>i.onItemLeave(a))),onFocus:(0,o.composeEventHandlers)(a.onFocus,()=>n(!0)),onBlur:(0,o.composeEventHandlers)(a.onBlur,()=>n(!1))})})})}),aF=c.forwardRef((a,c)=>{let{checked:d=!1,onCheckedChange:e,...f}=a;return(0,b.jsx)(aN,{scope:a.__scopeMenu,checked:d,children:(0,b.jsx)(aD,{role:"menuitemcheckbox","aria-checked":aZ(d)?"mixed":d,...f,ref:c,"data-state":a$(d),onSelect:(0,o.composeEventHandlers)(f.onSelect,()=>e?.(!!aZ(d)||!d),{checkForDefaultPrevented:!1})})})});aF.displayName="MenuCheckboxItem";var aG="MenuRadioGroup",[aH,aI]=ad(aG,{value:void 0,onValueChange:()=>{}}),aJ=c.forwardRef((a,c)=>{let{value:d,onValueChange:e,...f}=a,g=(0,C.useCallbackRef)(e);return(0,b.jsx)(aH,{scope:a.__scopeMenu,value:d,onValueChange:g,children:(0,b.jsx)(az,{...f,ref:c})})});aJ.displayName=aG;var aK="MenuRadioItem",aL=c.forwardRef((a,c)=>{let{value:d,...e}=a,f=aI(aK,a.__scopeMenu),g=d===f.value;return(0,b.jsx)(aN,{scope:a.__scopeMenu,checked:g,children:(0,b.jsx)(aD,{role:"menuitemradio","aria-checked":g,...e,ref:c,"data-state":a$(g),onSelect:(0,o.composeEventHandlers)(e.onSelect,()=>f.onValueChange?.(d),{checkForDefaultPrevented:!1})})})});aL.displayName=aK;var aM="MenuItemIndicator",[aN,aO]=ad(aM,{checked:!1}),aP=c.forwardRef((a,c)=>{let{__scopeMenu:d,forceMount:e,...f}=a,g=aO(aM,d);return(0,b.jsx)(B.Presence,{present:e||aZ(g.checked)||!0===g.checked,children:(0,b.jsx)(s.Primitive.span,{...f,ref:c,"data-state":a$(g.checked)})})});aP.displayName=aM;var aQ=c.forwardRef((a,c)=>{let{__scopeMenu:d,...e}=a;return(0,b.jsx)(s.Primitive.div,{role:"separator","aria-orientation":"horizontal",...e,ref:c})});aQ.displayName="MenuSeparator";var aR=c.forwardRef((a,c)=>{let{__scopeMenu:d,...e}=a,f=af(d);return(0,b.jsx)(z.Arrow,{...f,...e,ref:c})});aR.displayName="MenuArrow";var[aS,aT]=ad("MenuSub"),aU="MenuSubTrigger",aV=c.forwardRef((a,d)=>{let e=ai(aU,a.__scopeMenu),f=ak(aU,a.__scopeMenu),g=aT(aU,a.__scopeMenu),h=at(aU,a.__scopeMenu),i=c.useRef(null),{pointerGraceTimerRef:j,onPointerGraceIntentChange:k}=h,l={__scopeMenu:a.__scopeMenu},m=c.useCallback(()=>{i.current&&window.clearTimeout(i.current),i.current=null},[]);return c.useEffect(()=>m,[m]),c.useEffect(()=>{let a=j.current;return()=>{window.clearTimeout(a),k(null)}},[j,k]),(0,b.jsx)(am,{asChild:!0,...l,children:(0,b.jsx)(aE,{id:g.triggerId,"aria-haspopup":"menu","aria-expanded":e.open,"aria-controls":g.contentId,"data-state":aY(e.open),...a,ref:(0,p.composeRefs)(d,g.onTriggerChange),onClick:b=>{a.onClick?.(b),a.disabled||b.defaultPrevented||(b.currentTarget.focus(),e.open||e.onOpenChange(!0))},onPointerMove:(0,o.composeEventHandlers)(a.onPointerMove,a_(b=>{h.onItemEnter(b),!b.defaultPrevented&&(a.disabled||e.open||i.current||(h.onPointerGraceIntentChange(null),i.current=window.setTimeout(()=>{e.onOpenChange(!0),m()},100)))})),onPointerLeave:(0,o.composeEventHandlers)(a.onPointerLeave,a_(a=>{m();let b=e.content?.getBoundingClientRect();if(b){let c=e.content?.dataset.side,d="right"===c,f=b[d?"left":"right"],g=b[d?"right":"left"];h.onPointerGraceIntentChange({area:[{x:a.clientX+(d?-5:5),y:a.clientY},{x:f,y:b.top},{x:g,y:b.top},{x:g,y:b.bottom},{x:f,y:b.bottom}],side:c}),window.clearTimeout(j.current),j.current=window.setTimeout(()=>h.onPointerGraceIntentChange(null),300)}else{if(h.onTriggerLeave(a),a.defaultPrevented)return;h.onPointerGraceIntentChange(null)}})),onKeyDown:(0,o.composeEventHandlers)(a.onKeyDown,b=>{let c=""!==h.searchRef.current;a.disabled||c&&" "===b.key||Z[f.dir].includes(b.key)&&(e.onOpenChange(!0),e.content?.focus(),b.preventDefault())})})})});aV.displayName=aU;var aW="MenuSubContent",aX=c.forwardRef((a,d)=>{let e=ap(ar,a.__scopeMenu),{forceMount:f=e.forceMount,...g}=a,h=ai(ar,a.__scopeMenu),i=ak(ar,a.__scopeMenu),j=aT(aW,a.__scopeMenu),k=c.useRef(null),l=(0,p.useComposedRefs)(d,k);return(0,b.jsx)(aa.Provider,{scope:a.__scopeMenu,children:(0,b.jsx)(B.Presence,{present:f||h.open,children:(0,b.jsx)(aa.Slot,{scope:a.__scopeMenu,children:(0,b.jsx)(ay,{id:j.contentId,"aria-labelledby":j.triggerId,...g,ref:l,align:"start",side:"rtl"===i.dir?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:a=>{i.isUsingKeyboardRef.current&&k.current?.focus(),a.preventDefault()},onCloseAutoFocus:a=>a.preventDefault(),onFocusOutside:(0,o.composeEventHandlers)(a.onFocusOutside,a=>{a.target!==j.trigger&&h.onOpenChange(!1)}),onEscapeKeyDown:(0,o.composeEventHandlers)(a.onEscapeKeyDown,a=>{i.onClose(),a.preventDefault()}),onKeyDown:(0,o.composeEventHandlers)(a.onKeyDown,a=>{let b=a.currentTarget.contains(a.target),c=$[i.dir].includes(a.key);b&&c&&(h.onOpenChange(!1),j.trigger?.focus(),a.preventDefault())})})})})})});function aY(a){return a?"open":"closed"}function aZ(a){return"indeterminate"===a}function a$(a){return aZ(a)?"indeterminate":a?"checked":"unchecked"}function a_(a){return b=>"mouse"===b.pointerType?a(b):void 0}aX.displayName=aW;var a0="DropdownMenu",[a1,a2]=(0,q.createContextScope)(a0,[ae]),a3=ae(),[a4,a5]=a1(a0),a6=a=>{let{__scopeDropdownMenu:d,children:e,dir:f,open:g,defaultOpen:h,onOpenChange:i,modal:j=!0}=a,k=a3(d),l=c.useRef(null),[m,n]=(0,r.useControllableState)({prop:g,defaultProp:h??!1,onChange:i,caller:a0});return(0,b.jsx)(a4,{scope:d,triggerId:(0,y.useId)(),triggerRef:l,contentId:(0,y.useId)(),open:m,onOpenChange:n,onOpenToggle:c.useCallback(()=>n(a=>!a),[n]),modal:j,children:(0,b.jsx)(al,{...k,open:m,onOpenChange:n,dir:f,modal:j,children:e})})};a6.displayName=a0;var a7="DropdownMenuTrigger",a8=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,disabled:e=!1,...f}=a,g=a5(a7,d),h=a3(d);return(0,b.jsx)(am,{asChild:!0,...h,children:(0,b.jsx)(s.Primitive.button,{type:"button",id:g.triggerId,"aria-haspopup":"menu","aria-expanded":g.open,"aria-controls":g.open?g.contentId:void 0,"data-state":g.open?"open":"closed","data-disabled":e?"":void 0,disabled:e,...f,ref:(0,p.composeRefs)(c,g.triggerRef),onPointerDown:(0,o.composeEventHandlers)(a.onPointerDown,a=>{!e&&0===a.button&&!1===a.ctrlKey&&(g.onOpenToggle(),g.open||a.preventDefault())}),onKeyDown:(0,o.composeEventHandlers)(a.onKeyDown,a=>{!e&&(["Enter"," "].includes(a.key)&&g.onOpenToggle(),"ArrowDown"===a.key&&g.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(a.key)&&a.preventDefault())})})})});a8.displayName=a7;var a9=a=>{let{__scopeDropdownMenu:c,...d}=a,e=a3(c);return(0,b.jsx)(aq,{...e,...d})};a9.displayName="DropdownMenuPortal";var ba="DropdownMenuContent",bb=c.forwardRef((a,d)=>{let{__scopeDropdownMenu:e,...f}=a,g=a5(ba,e),h=a3(e),i=c.useRef(!1);return(0,b.jsx)(au,{id:g.contentId,"aria-labelledby":g.triggerId,...h,...f,ref:d,onCloseAutoFocus:(0,o.composeEventHandlers)(a.onCloseAutoFocus,a=>{i.current||g.triggerRef.current?.focus(),i.current=!1,a.preventDefault()}),onInteractOutside:(0,o.composeEventHandlers)(a.onInteractOutside,a=>{let b=a.detail.originalEvent,c=0===b.button&&!0===b.ctrlKey,d=2===b.button||c;(!g.modal||d)&&(i.current=!0)}),style:{...a.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});bb.displayName=ba,c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=a3(d);return(0,b.jsx)(az,{...f,...e,ref:c})}).displayName="DropdownMenuGroup";var bc=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=a3(d);return(0,b.jsx)(aA,{...f,...e,ref:c})});bc.displayName="DropdownMenuLabel";var bd=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=a3(d);return(0,b.jsx)(aD,{...f,...e,ref:c})});bd.displayName="DropdownMenuItem";var be=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=a3(d);return(0,b.jsx)(aF,{...f,...e,ref:c})});be.displayName="DropdownMenuCheckboxItem",c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=a3(d);return(0,b.jsx)(aJ,{...f,...e,ref:c})}).displayName="DropdownMenuRadioGroup";var bf=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=a3(d);return(0,b.jsx)(aL,{...f,...e,ref:c})});bf.displayName="DropdownMenuRadioItem";var bg=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=a3(d);return(0,b.jsx)(aP,{...f,...e,ref:c})});bg.displayName="DropdownMenuItemIndicator";var bh=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=a3(d);return(0,b.jsx)(aQ,{...f,...e,ref:c})});bh.displayName="DropdownMenuSeparator",c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=a3(d);return(0,b.jsx)(aR,{...f,...e,ref:c})}).displayName="DropdownMenuArrow";var bi=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=a3(d);return(0,b.jsx)(aV,{...f,...e,ref:c})});bi.displayName="DropdownMenuSubTrigger";var bj=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=a3(d);return(0,b.jsx)(aX,{...f,...e,ref:c,style:{...a.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});bj.displayName="DropdownMenuSubContent";var bk=a.i(470485),bl=a.i(141270),bm=a.i(532418),bn=a.i(687052);c.forwardRef(({className:a,inset:c,children:d,...e},f)=>(0,b.jsxs)(bi,{ref:f,className:(0,bn.cn)("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent",c&&"pl-8",a),...e,children:[d,(0,b.jsx)(bl.ChevronRight,{className:"ml-auto h-4 w-4"})]})).displayName=bi.displayName,c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(bj,{ref:d,className:(0,bn.cn)("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a),...c})).displayName=bj.displayName;let bo=c.forwardRef(({className:a,sideOffset:c=4,...d},e)=>(0,b.jsx)(a9,{children:(0,b.jsx)(bb,{ref:e,sideOffset:c,className:(0,bn.cn)("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a),...d})}));bo.displayName=bb.displayName;let bp=c.forwardRef(({className:a,inset:c,...d},e)=>(0,b.jsx)(bd,{ref:e,className:(0,bn.cn)("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",c&&"pl-8",a),...d}));bp.displayName=bd.displayName,c.forwardRef(({className:a,children:c,checked:d,...e},f)=>(0,b.jsxs)(be,{ref:f,className:(0,bn.cn)("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),checked:d,...e,children:[(0,b.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,b.jsx)(bg,{children:(0,b.jsx)(bk.Check,{className:"h-4 w-4"})})}),c]})).displayName=be.displayName,c.forwardRef(({className:a,children:c,...d},e)=>(0,b.jsxs)(bf,{ref:e,className:(0,bn.cn)("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),...d,children:[(0,b.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,b.jsx)(bg,{children:(0,b.jsx)(bm.Circle,{className:"h-2 w-2 fill-current"})})}),c]})).displayName=bf.displayName,c.forwardRef(({className:a,inset:c,...d},e)=>(0,b.jsx)(bc,{ref:e,className:(0,bn.cn)("px-2 py-1.5 text-sm font-semibold",c&&"pl-8",a),...d})).displayName=bc.displayName,c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(bh,{ref:d,className:(0,bn.cn)("-mx-1 my-1 h-px bg-muted",a),...c})).displayName=bh.displayName;var bq=a.i(365791),br=a.i(435133),bs=a.i(779121);function bt(){let{projects:a,switchProject:h,toggleFavorite:o,removeProject:p}=(0,k.useProject)(),[q,r]=(0,c.useState)(""),[s,t]=(0,c.useState)(!1),u=a.filter(a=>a.name.toLowerCase().includes(q.toLowerCase())),v=async a=>{await h(a)};return(0,b.jsxs)("div",{className:"container max-w-5xl py-8 space-y-8",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-3xl font-bold tracking-tight",children:"Projects"}),(0,b.jsx)("p",{className:"text-muted-foreground mt-2",children:"Manage your LeanSpec projects and workspaces."})]}),(0,b.jsxs)(l.Button,{onClick:()=>t(!0),children:[(0,b.jsx)(d.Plus,{className:"mr-2 h-4 w-4"}),"Add Project"]})]}),(0,b.jsx)("div",{className:"flex items-center space-x-2",children:(0,b.jsxs)("div",{className:"relative flex-1 max-w-sm",children:[(0,b.jsx)(e.Search,{className:"absolute left-2 top-2.5 h-4 w-4 text-muted-foreground"}),(0,b.jsx)(m.Input,{placeholder:"Search projects...",value:q,onChange:a=>r(a.target.value),className:"pl-8"})]})}),(0,b.jsxs)("div",{className:"grid gap-6 md:grid-cols-2 lg:grid-cols-3",children:[u.map(a=>(0,b.jsxs)(n.Card,{className:"group relative hover:border-primary/50 transition-colors",children:[(0,b.jsx)(n.CardHeader,{className:"pb-4",children:(0,b.jsxs)("div",{className:"flex items-start justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,b.jsx)("div",{className:"h-8 w-8 rounded-full flex items-center justify-center text-white text-xs font-bold",style:{backgroundColor:a.color||"#666"},children:a.name.substring(0,2).toUpperCase()}),(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)(n.CardTitle,{className:"text-base leading-none",children:(0,b.jsx)("button",{onClick:()=>v(a.id),className:"hover:underline focus:outline-none",children:a.name})}),(0,b.jsx)(n.CardDescription,{className:"text-xs truncate max-w-[150px]",children:a.path})]})]}),(0,b.jsxs)(a6,{children:[(0,b.jsx)(a8,{asChild:!0,children:(0,b.jsxs)(l.Button,{variant:"ghost",size:"icon",className:"h-8 w-8",children:[(0,b.jsx)(i,{className:"h-4 w-4"}),(0,b.jsx)("span",{className:"sr-only",children:"Open menu"})]})}),(0,b.jsxs)(bo,{align:"end",children:[(0,b.jsxs)(bp,{onClick:()=>o(a.id),children:[(0,b.jsx)(g.Star,{className:"mr-2 h-4 w-4"}),a.favorite?"Unfavorite":"Favorite"]}),(0,b.jsxs)(bp,{className:"text-destructive",onClick:()=>p(a.id),children:[(0,b.jsx)(j,{className:"mr-2 h-4 w-4"}),"Remove"]})]})]})]})}),(0,b.jsx)(n.CardContent,{className:"pb-4",children:(0,b.jsxs)("div",{className:"flex items-center justify-between text-sm text-muted-foreground",children:[(0,b.jsxs)("div",{className:"flex items-center",children:[(0,b.jsx)(f.FolderOpen,{className:"mr-1 h-3 w-3"}),(0,b.jsx)("span",{className:"text-xs",children:"Local"})]}),a.lastAccessed&&(0,b.jsxs)("span",{className:"text-xs",children:["Opened ",(0,br.default)(a.lastAccessed).fromNow()]})]})}),a.favorite&&(0,b.jsx)("div",{className:"absolute top-2 right-10 text-yellow-500",children:(0,b.jsx)(g.Star,{className:"h-4 w-4 fill-current"})})]},a.id)),0===u.length&&(0,b.jsxs)("div",{className:"col-span-full flex flex-col items-center justify-center py-12 text-center border rounded-lg border-dashed",children:[(0,b.jsx)(f.FolderOpen,{className:"h-10 w-10 text-muted-foreground mb-4"}),(0,b.jsx)("h3",{className:"text-lg font-medium",children:"No projects found"}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground mt-1 mb-4",children:q?"Try adjusting your search query.":"Get started by adding your first project."}),(0,b.jsxs)(l.Button,{onClick:()=>t(!0),children:[(0,b.jsx)(d.Plus,{className:"mr-2 h-4 w-4"}),"Add Project"]})]})]}),(0,b.jsx)(bq.CreateProjectDialog,{open:s,onOpenChange:t})]})}br.default.extend(bs.default),a.s(["default",()=>bt],531428)}];
|
|
1
|
+
module.exports=[531428,a=>{"use strict";var b=a.i(40352),c=a.i(936883),d=a.i(681612),e=a.i(479220),f=a.i(793090),g=a.i(66497),h=a.i(108920),i=a.i(863535);let j=(0,i.default)("ellipsis-vertical",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"12",cy:"5",r:"1",key:"gxeob9"}],["circle",{cx:"12",cy:"19",r:"1",key:"lyex9k"}]]),k=(0,i.default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]),l=(0,i.default)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]),m=(0,i.default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);var n=a.i(470485),o=a.i(914174);let p=(0,i.default)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);var q=a.i(800966),r=a.i(517601),s=a.i(920378),t=a.i(72245),u=a.i(227725),v=a.i(406334),w=a.i(980096),x=a.i(559653),y=a.i(517988),z=a.i(763375),A=a.i(317449),B=a.i(675655),C=a.i(466965),D=a.i(553484),E=a.i(983644),F=a.i(241857),G=a.i(84228),H=a.i(699700),I=a.i(272311),J=a.i(407547),K=a.i(544329),L=a.i(244293),M="rovingFocusGroup.onEntryFocus",N={bubbles:!1,cancelable:!0},O="RovingFocusGroup",[P,Q,R]=(0,C.createCollection)(O),[S,T]=(0,z.createContextScope)(O,[R]),[U,V]=S(O),W=c.forwardRef((a,c)=>(0,b.jsx)(P.Provider,{scope:a.__scopeRovingFocusGroup,children:(0,b.jsx)(P.Slot,{scope:a.__scopeRovingFocusGroup,children:(0,b.jsx)(X,{...a,ref:c})})}));W.displayName=O;var X=c.forwardRef((a,d)=>{let{__scopeRovingFocusGroup:e,orientation:f,loop:g=!1,dir:h,currentTabStopId:i,defaultCurrentTabStopId:j,onCurrentTabStopIdChange:k,onEntryFocus:l,preventScrollOnEntryFocus:m=!1,...n}=a,o=c.useRef(null),p=(0,y.useComposedRefs)(d,o),q=(0,D.useDirection)(h),[r,s]=(0,A.useControllableState)({prop:i,defaultProp:j??null,onChange:k,caller:O}),[t,u]=c.useState(!1),v=(0,L.useCallbackRef)(l),w=Q(e),z=c.useRef(!1),[C,E]=c.useState(0);return c.useEffect(()=>{let a=o.current;if(a)return a.addEventListener(M,v),()=>a.removeEventListener(M,v)},[v]),(0,b.jsx)(U,{scope:e,orientation:f,dir:q,loop:g,currentTabStopId:r,onItemFocus:c.useCallback(a=>s(a),[s]),onItemShiftTab:c.useCallback(()=>u(!0),[]),onFocusableItemAdd:c.useCallback(()=>E(a=>a+1),[]),onFocusableItemRemove:c.useCallback(()=>E(a=>a-1),[]),children:(0,b.jsx)(B.Primitive.div,{tabIndex:t||0===C?-1:0,"data-orientation":f,...n,ref:p,style:{outline:"none",...a.style},onMouseDown:(0,x.composeEventHandlers)(a.onMouseDown,()=>{z.current=!0}),onFocus:(0,x.composeEventHandlers)(a.onFocus,a=>{let b=!z.current;if(a.target===a.currentTarget&&b&&!t){let b=new CustomEvent(M,N);if(a.currentTarget.dispatchEvent(b),!b.defaultPrevented){let a=w().filter(a=>a.focusable);_([a.find(a=>a.active),a.find(a=>a.id===r),...a].filter(Boolean).map(a=>a.ref.current),m)}}z.current=!1}),onBlur:(0,x.composeEventHandlers)(a.onBlur,()=>u(!1))})})}),Y="RovingFocusGroupItem",Z=c.forwardRef((a,d)=>{let{__scopeRovingFocusGroup:e,focusable:f=!0,active:g=!1,tabStopId:h,children:i,...j}=a,k=(0,H.useId)(),l=h||k,m=V(Y,e),n=m.currentTabStopId===l,o=Q(e),{onFocusableItemAdd:p,onFocusableItemRemove:q,currentTabStopId:r}=m;return c.useEffect(()=>{if(f)return p(),()=>q()},[f,p,q]),(0,b.jsx)(P.ItemSlot,{scope:e,id:l,focusable:f,active:g,children:(0,b.jsx)(B.Primitive.span,{tabIndex:n?0:-1,"data-orientation":m.orientation,...j,ref:d,onMouseDown:(0,x.composeEventHandlers)(a.onMouseDown,a=>{f?m.onItemFocus(l):a.preventDefault()}),onFocus:(0,x.composeEventHandlers)(a.onFocus,()=>m.onItemFocus(l)),onKeyDown:(0,x.composeEventHandlers)(a.onKeyDown,a=>{if("Tab"===a.key&&a.shiftKey)return void m.onItemShiftTab();if(a.target!==a.currentTarget)return;let b=function(a,b,c){var d;let e=(d=a.key,"rtl"!==c?d:"ArrowLeft"===d?"ArrowRight":"ArrowRight"===d?"ArrowLeft":d);if(!("vertical"===b&&["ArrowLeft","ArrowRight"].includes(e))&&!("horizontal"===b&&["ArrowUp","ArrowDown"].includes(e)))return $[e]}(a,m.orientation,m.dir);if(void 0!==b){if(a.metaKey||a.ctrlKey||a.altKey||a.shiftKey)return;a.preventDefault();let e=o().filter(a=>a.focusable).map(a=>a.ref.current);if("last"===b)e.reverse();else if("prev"===b||"next"===b){var c,d;"prev"===b&&e.reverse();let f=e.indexOf(a.currentTarget);e=m.loop?(c=e,d=f+1,c.map((a,b)=>c[(d+b)%c.length])):e.slice(f+1)}setTimeout(()=>_(e))}}),children:"function"==typeof i?i({isCurrentTabStop:n,hasTabStop:null!=r}):i})})});Z.displayName=Y;var $={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function _(a,b=!1){let c=document.activeElement;for(let d of a)if(d===c||(d.focus({preventScroll:b}),document.activeElement!==c))return}var aa=a.i(878357),ab=a.i(516164),ac=a.i(151867),ad=["Enter"," "],ae=["ArrowUp","PageDown","End"],af=["ArrowDown","PageUp","Home",...ae],ag={ltr:[...ad,"ArrowRight"],rtl:[...ad,"ArrowLeft"]},ah={ltr:["ArrowLeft"],rtl:["ArrowRight"]},ai="Menu",[aj,ak,al]=(0,C.createCollection)(ai),[am,an]=(0,z.createContextScope)(ai,[al,I.createPopperScope,T]),ao=(0,I.createPopperScope)(),ap=T(),[aq,ar]=am(ai),[as,at]=am(ai),au=a=>{let{__scopeMenu:d,open:e=!1,children:f,dir:g,onOpenChange:h,modal:i=!0}=a,j=ao(d),[k,l]=c.useState(null),m=c.useRef(!1),n=(0,L.useCallbackRef)(h),o=(0,D.useDirection)(g);return c.useEffect(()=>{let a=()=>{m.current=!0,document.addEventListener("pointerdown",b,{capture:!0,once:!0}),document.addEventListener("pointermove",b,{capture:!0,once:!0})},b=()=>m.current=!1;return document.addEventListener("keydown",a,{capture:!0}),()=>{document.removeEventListener("keydown",a,{capture:!0}),document.removeEventListener("pointerdown",b,{capture:!0}),document.removeEventListener("pointermove",b,{capture:!0})}},[]),(0,b.jsx)(I.Root,{...j,children:(0,b.jsx)(aq,{scope:d,open:e,onOpenChange:n,content:k,onContentChange:l,children:(0,b.jsx)(as,{scope:d,onClose:c.useCallback(()=>n(!1),[n]),isUsingKeyboardRef:m,dir:o,modal:i,children:f})})})};au.displayName=ai;var av=c.forwardRef((a,c)=>{let{__scopeMenu:d,...e}=a,f=ao(d);return(0,b.jsx)(I.Anchor,{...f,...e,ref:c})});av.displayName="MenuAnchor";var aw="MenuPortal",[ax,ay]=am(aw,{forceMount:void 0}),az=a=>{let{__scopeMenu:c,forceMount:d,children:e,container:f}=a,g=ar(aw,c);return(0,b.jsx)(ax,{scope:c,forceMount:d,children:(0,b.jsx)(K.Presence,{present:d||g.open,children:(0,b.jsx)(J.Portal,{asChild:!0,container:f,children:e})})})};az.displayName=aw;var aA="MenuContent",[aB,aC]=am(aA),aD=c.forwardRef((a,c)=>{let d=ay(aA,a.__scopeMenu),{forceMount:e=d.forceMount,...f}=a,g=ar(aA,a.__scopeMenu),h=at(aA,a.__scopeMenu);return(0,b.jsx)(aj.Provider,{scope:a.__scopeMenu,children:(0,b.jsx)(K.Presence,{present:e||g.open,children:(0,b.jsx)(aj.Slot,{scope:a.__scopeMenu,children:h.modal?(0,b.jsx)(aE,{...f,ref:c}):(0,b.jsx)(aF,{...f,ref:c})})})})}),aE=c.forwardRef((a,d)=>{let e=ar(aA,a.__scopeMenu),f=c.useRef(null),g=(0,y.useComposedRefs)(d,f);return c.useEffect(()=>{let a=f.current;if(a)return(0,ab.hideOthers)(a)},[]),(0,b.jsx)(aH,{...a,ref:g,trapFocus:e.open,disableOutsidePointerEvents:e.open,disableOutsideScroll:!0,onFocusOutside:(0,x.composeEventHandlers)(a.onFocusOutside,a=>a.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>e.onOpenChange(!1)})}),aF=c.forwardRef((a,c)=>{let d=ar(aA,a.__scopeMenu);return(0,b.jsx)(aH,{...a,ref:c,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>d.onOpenChange(!1)})}),aG=(0,aa.createSlot)("MenuContent.ScrollLock"),aH=c.forwardRef((a,d)=>{let{__scopeMenu:e,loop:f=!1,trapFocus:g,onOpenAutoFocus:h,onCloseAutoFocus:i,disableOutsidePointerEvents:j,onEntryFocus:k,onEscapeKeyDown:l,onPointerDownOutside:m,onFocusOutside:n,onInteractOutside:o,onDismiss:p,disableOutsideScroll:q,...r}=a,s=ar(aA,e),t=at(aA,e),u=ao(e),v=ap(e),w=ak(e),[z,A]=c.useState(null),B=c.useRef(null),C=(0,y.useComposedRefs)(d,B,s.onContentChange),D=c.useRef(0),H=c.useRef(""),J=c.useRef(0),K=c.useRef(null),L=c.useRef("right"),M=c.useRef(0),N=q?ac.RemoveScroll:c.Fragment;c.useEffect(()=>()=>window.clearTimeout(D.current),[]),(0,F.useFocusGuards)();let O=c.useCallback(a=>{var b,c;return L.current===K.current?.side&&(b=a,!!(c=K.current?.area)&&function(a,b){let{x:c,y:d}=a,e=!1;for(let a=0,f=b.length-1;a<b.length;f=a++){let g=b[a],h=b[f],i=g.x,j=g.y,k=h.x,l=h.y;j>d!=l>d&&c<(k-i)*(d-j)/(l-j)+i&&(e=!e)}return e}({x:b.clientX,y:b.clientY},c))},[]);return(0,b.jsx)(aB,{scope:e,searchRef:H,onItemEnter:c.useCallback(a=>{O(a)&&a.preventDefault()},[O]),onItemLeave:c.useCallback(a=>{O(a)||(B.current?.focus(),A(null))},[O]),onTriggerLeave:c.useCallback(a=>{O(a)&&a.preventDefault()},[O]),pointerGraceTimerRef:J,onPointerGraceIntentChange:c.useCallback(a=>{K.current=a},[]),children:(0,b.jsx)(N,{...q?{as:aG,allowPinchZoom:!0}:void 0,children:(0,b.jsx)(G.FocusScope,{asChild:!0,trapped:g,onMountAutoFocus:(0,x.composeEventHandlers)(h,a=>{a.preventDefault(),B.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:i,children:(0,b.jsx)(E.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:j,onEscapeKeyDown:l,onPointerDownOutside:m,onFocusOutside:n,onInteractOutside:o,onDismiss:p,children:(0,b.jsx)(W,{asChild:!0,...v,dir:t.dir,orientation:"vertical",loop:f,currentTabStopId:z,onCurrentTabStopIdChange:A,onEntryFocus:(0,x.composeEventHandlers)(k,a=>{t.isUsingKeyboardRef.current||a.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,b.jsx)(I.Content,{role:"menu","aria-orientation":"vertical","data-state":a5(s.open),"data-radix-menu-content":"",dir:t.dir,...u,...r,ref:C,style:{outline:"none",...r.style},onKeyDown:(0,x.composeEventHandlers)(r.onKeyDown,a=>{let b=a.target.closest("[data-radix-menu-content]")===a.currentTarget,c=a.ctrlKey||a.altKey||a.metaKey,d=1===a.key.length;if(b){var e;let b,f,g,h,i,j;"Tab"===a.key&&a.preventDefault(),!c&&d&&(e=a.key,b=H.current+e,f=w().filter(a=>!a.disabled),g=document.activeElement,h=f.find(a=>a.ref.current===g)?.textValue,i=function(a,b,c){var d;let e=b.length>1&&Array.from(b).every(a=>a===b[0])?b[0]:b,f=c?a.indexOf(c):-1,g=(d=Math.max(f,0),a.map((b,c)=>a[(d+c)%a.length]));1===e.length&&(g=g.filter(a=>a!==c));let h=g.find(a=>a.toLowerCase().startsWith(e.toLowerCase()));return h!==c?h:void 0}(f.map(a=>a.textValue),b,h),j=f.find(a=>a.textValue===i)?.ref.current,function a(b){H.current=b,window.clearTimeout(D.current),""!==b&&(D.current=window.setTimeout(()=>a(""),1e3))}(b),j&&setTimeout(()=>j.focus()))}let f=B.current;if(a.target!==f||!af.includes(a.key))return;a.preventDefault();let g=w().filter(a=>!a.disabled).map(a=>a.ref.current);ae.includes(a.key)&&g.reverse(),function(a){let b=document.activeElement;for(let c of a)if(c===b||(c.focus(),document.activeElement!==b))return}(g)}),onBlur:(0,x.composeEventHandlers)(a.onBlur,a=>{a.currentTarget.contains(a.target)||(window.clearTimeout(D.current),H.current="")}),onPointerMove:(0,x.composeEventHandlers)(a.onPointerMove,a8(a=>{let b=a.target,c=M.current!==a.clientX;a.currentTarget.contains(b)&&c&&(L.current=a.clientX>M.current?"right":"left",M.current=a.clientX)}))})})})})})})});aD.displayName=aA;var aI=c.forwardRef((a,c)=>{let{__scopeMenu:d,...e}=a;return(0,b.jsx)(B.Primitive.div,{role:"group",...e,ref:c})});aI.displayName="MenuGroup";var aJ=c.forwardRef((a,c)=>{let{__scopeMenu:d,...e}=a;return(0,b.jsx)(B.Primitive.div,{...e,ref:c})});aJ.displayName="MenuLabel";var aK="MenuItem",aL="menu.itemSelect",aM=c.forwardRef((a,d)=>{let{disabled:e=!1,onSelect:f,...g}=a,h=c.useRef(null),i=at(aK,a.__scopeMenu),j=aC(aK,a.__scopeMenu),k=(0,y.useComposedRefs)(d,h),l=c.useRef(!1);return(0,b.jsx)(aN,{...g,ref:k,disabled:e,onClick:(0,x.composeEventHandlers)(a.onClick,()=>{let a=h.current;if(!e&&a){let b=new CustomEvent(aL,{bubbles:!0,cancelable:!0});a.addEventListener(aL,a=>f?.(a),{once:!0}),(0,B.dispatchDiscreteCustomEvent)(a,b),b.defaultPrevented?l.current=!1:i.onClose()}}),onPointerDown:b=>{a.onPointerDown?.(b),l.current=!0},onPointerUp:(0,x.composeEventHandlers)(a.onPointerUp,a=>{l.current||a.currentTarget?.click()}),onKeyDown:(0,x.composeEventHandlers)(a.onKeyDown,a=>{let b=""!==j.searchRef.current;e||b&&" "===a.key||ad.includes(a.key)&&(a.currentTarget.click(),a.preventDefault())})})});aM.displayName=aK;var aN=c.forwardRef((a,d)=>{let{__scopeMenu:e,disabled:f=!1,textValue:g,...h}=a,i=aC(aK,e),j=ap(e),k=c.useRef(null),l=(0,y.useComposedRefs)(d,k),[m,n]=c.useState(!1),[o,p]=c.useState("");return c.useEffect(()=>{let a=k.current;a&&p((a.textContent??"").trim())},[h.children]),(0,b.jsx)(aj.ItemSlot,{scope:e,disabled:f,textValue:g??o,children:(0,b.jsx)(Z,{asChild:!0,...j,focusable:!f,children:(0,b.jsx)(B.Primitive.div,{role:"menuitem","data-highlighted":m?"":void 0,"aria-disabled":f||void 0,"data-disabled":f?"":void 0,...h,ref:l,onPointerMove:(0,x.composeEventHandlers)(a.onPointerMove,a8(a=>{f?i.onItemLeave(a):(i.onItemEnter(a),a.defaultPrevented||a.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:(0,x.composeEventHandlers)(a.onPointerLeave,a8(a=>i.onItemLeave(a))),onFocus:(0,x.composeEventHandlers)(a.onFocus,()=>n(!0)),onBlur:(0,x.composeEventHandlers)(a.onBlur,()=>n(!1))})})})}),aO=c.forwardRef((a,c)=>{let{checked:d=!1,onCheckedChange:e,...f}=a;return(0,b.jsx)(aW,{scope:a.__scopeMenu,checked:d,children:(0,b.jsx)(aM,{role:"menuitemcheckbox","aria-checked":a6(d)?"mixed":d,...f,ref:c,"data-state":a7(d),onSelect:(0,x.composeEventHandlers)(f.onSelect,()=>e?.(!!a6(d)||!d),{checkForDefaultPrevented:!1})})})});aO.displayName="MenuCheckboxItem";var aP="MenuRadioGroup",[aQ,aR]=am(aP,{value:void 0,onValueChange:()=>{}}),aS=c.forwardRef((a,c)=>{let{value:d,onValueChange:e,...f}=a,g=(0,L.useCallbackRef)(e);return(0,b.jsx)(aQ,{scope:a.__scopeMenu,value:d,onValueChange:g,children:(0,b.jsx)(aI,{...f,ref:c})})});aS.displayName=aP;var aT="MenuRadioItem",aU=c.forwardRef((a,c)=>{let{value:d,...e}=a,f=aR(aT,a.__scopeMenu),g=d===f.value;return(0,b.jsx)(aW,{scope:a.__scopeMenu,checked:g,children:(0,b.jsx)(aM,{role:"menuitemradio","aria-checked":g,...e,ref:c,"data-state":a7(g),onSelect:(0,x.composeEventHandlers)(e.onSelect,()=>f.onValueChange?.(d),{checkForDefaultPrevented:!1})})})});aU.displayName=aT;var aV="MenuItemIndicator",[aW,aX]=am(aV,{checked:!1}),aY=c.forwardRef((a,c)=>{let{__scopeMenu:d,forceMount:e,...f}=a,g=aX(aV,d);return(0,b.jsx)(K.Presence,{present:e||a6(g.checked)||!0===g.checked,children:(0,b.jsx)(B.Primitive.span,{...f,ref:c,"data-state":a7(g.checked)})})});aY.displayName=aV;var aZ=c.forwardRef((a,c)=>{let{__scopeMenu:d,...e}=a;return(0,b.jsx)(B.Primitive.div,{role:"separator","aria-orientation":"horizontal",...e,ref:c})});aZ.displayName="MenuSeparator";var a$=c.forwardRef((a,c)=>{let{__scopeMenu:d,...e}=a,f=ao(d);return(0,b.jsx)(I.Arrow,{...f,...e,ref:c})});a$.displayName="MenuArrow";var[a_,a0]=am("MenuSub"),a1="MenuSubTrigger",a2=c.forwardRef((a,d)=>{let e=ar(a1,a.__scopeMenu),f=at(a1,a.__scopeMenu),g=a0(a1,a.__scopeMenu),h=aC(a1,a.__scopeMenu),i=c.useRef(null),{pointerGraceTimerRef:j,onPointerGraceIntentChange:k}=h,l={__scopeMenu:a.__scopeMenu},m=c.useCallback(()=>{i.current&&window.clearTimeout(i.current),i.current=null},[]);return c.useEffect(()=>m,[m]),c.useEffect(()=>{let a=j.current;return()=>{window.clearTimeout(a),k(null)}},[j,k]),(0,b.jsx)(av,{asChild:!0,...l,children:(0,b.jsx)(aN,{id:g.triggerId,"aria-haspopup":"menu","aria-expanded":e.open,"aria-controls":g.contentId,"data-state":a5(e.open),...a,ref:(0,y.composeRefs)(d,g.onTriggerChange),onClick:b=>{a.onClick?.(b),a.disabled||b.defaultPrevented||(b.currentTarget.focus(),e.open||e.onOpenChange(!0))},onPointerMove:(0,x.composeEventHandlers)(a.onPointerMove,a8(b=>{h.onItemEnter(b),!b.defaultPrevented&&(a.disabled||e.open||i.current||(h.onPointerGraceIntentChange(null),i.current=window.setTimeout(()=>{e.onOpenChange(!0),m()},100)))})),onPointerLeave:(0,x.composeEventHandlers)(a.onPointerLeave,a8(a=>{m();let b=e.content?.getBoundingClientRect();if(b){let c=e.content?.dataset.side,d="right"===c,f=b[d?"left":"right"],g=b[d?"right":"left"];h.onPointerGraceIntentChange({area:[{x:a.clientX+(d?-5:5),y:a.clientY},{x:f,y:b.top},{x:g,y:b.top},{x:g,y:b.bottom},{x:f,y:b.bottom}],side:c}),window.clearTimeout(j.current),j.current=window.setTimeout(()=>h.onPointerGraceIntentChange(null),300)}else{if(h.onTriggerLeave(a),a.defaultPrevented)return;h.onPointerGraceIntentChange(null)}})),onKeyDown:(0,x.composeEventHandlers)(a.onKeyDown,b=>{let c=""!==h.searchRef.current;a.disabled||c&&" "===b.key||ag[f.dir].includes(b.key)&&(e.onOpenChange(!0),e.content?.focus(),b.preventDefault())})})})});a2.displayName=a1;var a3="MenuSubContent",a4=c.forwardRef((a,d)=>{let e=ay(aA,a.__scopeMenu),{forceMount:f=e.forceMount,...g}=a,h=ar(aA,a.__scopeMenu),i=at(aA,a.__scopeMenu),j=a0(a3,a.__scopeMenu),k=c.useRef(null),l=(0,y.useComposedRefs)(d,k);return(0,b.jsx)(aj.Provider,{scope:a.__scopeMenu,children:(0,b.jsx)(K.Presence,{present:f||h.open,children:(0,b.jsx)(aj.Slot,{scope:a.__scopeMenu,children:(0,b.jsx)(aH,{id:j.contentId,"aria-labelledby":j.triggerId,...g,ref:l,align:"start",side:"rtl"===i.dir?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:a=>{i.isUsingKeyboardRef.current&&k.current?.focus(),a.preventDefault()},onCloseAutoFocus:a=>a.preventDefault(),onFocusOutside:(0,x.composeEventHandlers)(a.onFocusOutside,a=>{a.target!==j.trigger&&h.onOpenChange(!1)}),onEscapeKeyDown:(0,x.composeEventHandlers)(a.onEscapeKeyDown,a=>{i.onClose(),a.preventDefault()}),onKeyDown:(0,x.composeEventHandlers)(a.onKeyDown,a=>{let b=a.currentTarget.contains(a.target),c=ah[i.dir].includes(a.key);b&&c&&(h.onOpenChange(!1),j.trigger?.focus(),a.preventDefault())})})})})})});function a5(a){return a?"open":"closed"}function a6(a){return"indeterminate"===a}function a7(a){return a6(a)?"indeterminate":a?"checked":"unchecked"}function a8(a){return b=>"mouse"===b.pointerType?a(b):void 0}a4.displayName=a3;var a9="DropdownMenu",[ba,bb]=(0,z.createContextScope)(a9,[an]),bc=an(),[bd,be]=ba(a9),bf=a=>{let{__scopeDropdownMenu:d,children:e,dir:f,open:g,defaultOpen:h,onOpenChange:i,modal:j=!0}=a,k=bc(d),l=c.useRef(null),[m,n]=(0,A.useControllableState)({prop:g,defaultProp:h??!1,onChange:i,caller:a9});return(0,b.jsx)(bd,{scope:d,triggerId:(0,H.useId)(),triggerRef:l,contentId:(0,H.useId)(),open:m,onOpenChange:n,onOpenToggle:c.useCallback(()=>n(a=>!a),[n]),modal:j,children:(0,b.jsx)(au,{...k,open:m,onOpenChange:n,dir:f,modal:j,children:e})})};bf.displayName=a9;var bg="DropdownMenuTrigger",bh=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,disabled:e=!1,...f}=a,g=be(bg,d),h=bc(d);return(0,b.jsx)(av,{asChild:!0,...h,children:(0,b.jsx)(B.Primitive.button,{type:"button",id:g.triggerId,"aria-haspopup":"menu","aria-expanded":g.open,"aria-controls":g.open?g.contentId:void 0,"data-state":g.open?"open":"closed","data-disabled":e?"":void 0,disabled:e,...f,ref:(0,y.composeRefs)(c,g.triggerRef),onPointerDown:(0,x.composeEventHandlers)(a.onPointerDown,a=>{!e&&0===a.button&&!1===a.ctrlKey&&(g.onOpenToggle(),g.open||a.preventDefault())}),onKeyDown:(0,x.composeEventHandlers)(a.onKeyDown,a=>{!e&&(["Enter"," "].includes(a.key)&&g.onOpenToggle(),"ArrowDown"===a.key&&g.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(a.key)&&a.preventDefault())})})})});bh.displayName=bg;var bi=a=>{let{__scopeDropdownMenu:c,...d}=a,e=bc(c);return(0,b.jsx)(az,{...e,...d})};bi.displayName="DropdownMenuPortal";var bj="DropdownMenuContent",bk=c.forwardRef((a,d)=>{let{__scopeDropdownMenu:e,...f}=a,g=be(bj,e),h=bc(e),i=c.useRef(!1);return(0,b.jsx)(aD,{id:g.contentId,"aria-labelledby":g.triggerId,...h,...f,ref:d,onCloseAutoFocus:(0,x.composeEventHandlers)(a.onCloseAutoFocus,a=>{i.current||g.triggerRef.current?.focus(),i.current=!1,a.preventDefault()}),onInteractOutside:(0,x.composeEventHandlers)(a.onInteractOutside,a=>{let b=a.detail.originalEvent,c=0===b.button&&!0===b.ctrlKey,d=2===b.button||c;(!g.modal||d)&&(i.current=!0)}),style:{...a.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});bk.displayName=bj,c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=bc(d);return(0,b.jsx)(aI,{...f,...e,ref:c})}).displayName="DropdownMenuGroup";var bl=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=bc(d);return(0,b.jsx)(aJ,{...f,...e,ref:c})});bl.displayName="DropdownMenuLabel";var bm=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=bc(d);return(0,b.jsx)(aM,{...f,...e,ref:c})});bm.displayName="DropdownMenuItem";var bn=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=bc(d);return(0,b.jsx)(aO,{...f,...e,ref:c})});bn.displayName="DropdownMenuCheckboxItem",c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=bc(d);return(0,b.jsx)(aS,{...f,...e,ref:c})}).displayName="DropdownMenuRadioGroup";var bo=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=bc(d);return(0,b.jsx)(aU,{...f,...e,ref:c})});bo.displayName="DropdownMenuRadioItem";var bp=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=bc(d);return(0,b.jsx)(aY,{...f,...e,ref:c})});bp.displayName="DropdownMenuItemIndicator";var bq=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=bc(d);return(0,b.jsx)(aZ,{...f,...e,ref:c})});bq.displayName="DropdownMenuSeparator",c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=bc(d);return(0,b.jsx)(a$,{...f,...e,ref:c})}).displayName="DropdownMenuArrow";var br=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=bc(d);return(0,b.jsx)(a2,{...f,...e,ref:c})});br.displayName="DropdownMenuSubTrigger";var bs=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=bc(d);return(0,b.jsx)(a4,{...f,...e,ref:c,style:{...a.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});bs.displayName="DropdownMenuSubContent";var bt=a.i(141270),bu=a.i(532418),bv=a.i(687052);c.forwardRef(({className:a,inset:c,children:d,...e},f)=>(0,b.jsxs)(br,{ref:f,className:(0,bv.cn)("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent",c&&"pl-8",a),...e,children:[d,(0,b.jsx)(bt.ChevronRight,{className:"ml-auto h-4 w-4"})]})).displayName=br.displayName,c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(bs,{ref:d,className:(0,bv.cn)("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a),...c})).displayName=bs.displayName;let bw=c.forwardRef(({className:a,sideOffset:c=4,...d},e)=>(0,b.jsx)(bi,{children:(0,b.jsx)(bk,{ref:e,sideOffset:c,className:(0,bv.cn)("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a),...d})}));bw.displayName=bk.displayName;let bx=c.forwardRef(({className:a,inset:c,...d},e)=>(0,b.jsx)(bm,{ref:e,className:(0,bv.cn)("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",c&&"pl-8",a),...d}));bx.displayName=bm.displayName,c.forwardRef(({className:a,children:c,checked:d,...e},f)=>(0,b.jsxs)(bn,{ref:f,className:(0,bv.cn)("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),checked:d,...e,children:[(0,b.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,b.jsx)(bp,{children:(0,b.jsx)(n.Check,{className:"h-4 w-4"})})}),c]})).displayName=bn.displayName,c.forwardRef(({className:a,children:c,...d},e)=>(0,b.jsxs)(bo,{ref:e,className:(0,bv.cn)("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),...d,children:[(0,b.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,b.jsx)(bp,{children:(0,b.jsx)(bu.Circle,{className:"h-2 w-2 fill-current"})})}),c]})).displayName=bo.displayName,c.forwardRef(({className:a,inset:c,...d},e)=>(0,b.jsx)(bl,{ref:e,className:(0,bv.cn)("px-2 py-1.5 text-sm font-semibold",c&&"pl-8",a),...d})).displayName=bl.displayName;let by=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(bq,{ref:d,className:(0,bv.cn)("-mx-1 my-1 h-px bg-muted",a),...c}));by.displayName=bq.displayName;var bz=a.i(365791),bA=a.i(285232);let bB=["#ef4444","#f97316","#eab308","#22c55e","#14b8a6","#3b82f6","#6366f1","#8b5cf6","#d946ef","#ec4899","#6b7280","#78716c"];function bC({value:a,onChange:d,disabled:e}){let[f,g]=(0,c.useState)(!1);return(0,b.jsxs)(bA.Popover,{open:f,onOpenChange:g,children:[(0,b.jsx)(bA.PopoverTrigger,{asChild:!0,children:(0,b.jsx)(u.Button,{variant:"outline",size:"sm",className:"h-8 w-8 p-0",disabled:e,"aria-label":"Pick color",children:(0,b.jsx)("div",{className:"h-4 w-4 rounded-full border",style:{backgroundColor:a||"#666"}})})}),(0,b.jsx)(bA.PopoverContent,{className:"w-[200px] p-3",align:"start",children:(0,b.jsx)("div",{className:"grid grid-cols-6 gap-2",children:bB.map(c=>(0,b.jsx)("button",{className:(0,bv.cn)("h-6 w-6 rounded-full border-2 transition-transform hover:scale-110",a===c?"border-primary":"border-transparent"),style:{backgroundColor:c},onClick:()=>{d(c),g(!1)},"aria-label":`Select color ${c}`},c))})})]})}var bD=a.i(156916),bE=a.i(435133),bF=a.i(779121);function bG(){let a=(0,d.useRouter)(),{projects:i,currentProject:x,switchProject:y,toggleFavorite:z,removeProject:A,updateProject:B,isLoading:C}=(0,t.useProject)(),[D,E]=(0,c.useState)(""),[F,G]=(0,c.useState)(!1),[H,I]=(0,c.useState)(null),[J,K]=(0,c.useState)(""),[L,M]=(0,c.useState)({}),[N,O]=(0,c.useState)({}),P=i.filter(a=>a.name.toLowerCase().includes(D.toLowerCase()));(0,c.useEffect)(()=>{let a=async()=>{for(let a of i)if(L[a.id]?.status!=="valid"&&L[a.id]?.status!=="invalid")try{M(b=>({...b,[a.id]:{status:"validating"}}));let b=await fetch(`/api/projects/${a.id}/validate`,{method:"POST"});if(b.ok){let c=await b.json();M(b=>({...b,[a.id]:{status:c.validation.isValid?"valid":"invalid",error:c.validation.error}}))}}catch{M(b=>({...b,[a.id]:{status:"invalid",error:"Validation failed"}}))}};i.length>0&&a()},[i]),(0,c.useEffect)(()=>{let a=async()=>{for(let a of i)if(!N[a.id])try{let b=await fetch(`/api/projects/${a.id}/stats`);if(b.ok){let c=await b.json();O(b=>({...b,[a.id]:c.stats}))}}catch{}};i.length>0&&a()},[i]);let Q=async b=>{await y(b),a.push(`/projects/${b}/specs`)},R=()=>{I(null),K("")},S=async a=>{if(!J.trim())return void bD.toast.error("Project name cannot be empty");try{await B(a,{name:J.trim()}),bD.toast.success("Project name updated"),I(null),K("")}catch{bD.toast.error("Failed to update project name")}},T=async(a,b)=>{try{await B(a,{color:b}),bD.toast.success("Project color updated")}catch{bD.toast.error("Failed to update project color")}},U=(0,c.useCallback)(async a=>{M(b=>({...b,[a]:{status:"validating"}}));try{let b=await fetch(`/api/projects/${a}/validate`,{method:"POST"});if(!b.ok)throw Error("Validation request failed");let c=await b.json();M(b=>({...b,[a]:{status:c.validation.isValid?"valid":"invalid",error:c.validation.error}})),c.validation.isValid?bD.toast.success("Project path is valid"):bD.toast.error(`Project path invalid: ${c.validation.error||"Unknown error"}`)}catch{M(b=>({...b,[a]:{status:"invalid",error:"Failed to validate"}})),bD.toast.error("Failed to validate project")}},[]);return(0,b.jsxs)("div",{className:"min-h-screen bg-background",children:[(0,b.jsx)("div",{className:"border-b bg-card/50 backdrop-blur-sm sticky top-0 z-10",children:(0,b.jsxs)("div",{className:"container max-w-7xl mx-auto py-6 space-y-6",children:[x&&(0,b.jsxs)(s.default,{href:`/projects/${x.id}/specs`,className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors",children:[(0,b.jsx)(r.ArrowLeft,{className:"h-4 w-4"}),"Back to ",x.name]}),(0,b.jsxs)("div",{className:"flex flex-col md:flex-row md:items-center justify-between gap-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-3xl font-bold tracking-tight text-foreground",children:"Projects"}),(0,b.jsx)("p",{className:"text-muted-foreground mt-1 text-lg",children:"Manage your LeanSpec projects and workspaces."})]}),(0,b.jsxs)(u.Button,{onClick:()=>G(!0),size:"lg",className:"shadow-sm",children:[(0,b.jsx)(e.Plus,{className:"mr-2 h-4 w-4"}),"New Project"]})]}),(0,b.jsx)("div",{className:"flex items-center space-x-2 max-w-md",children:(0,b.jsxs)("div",{className:"relative flex-1",children:[(0,b.jsx)(f.Search,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),(0,b.jsx)(v.Input,{placeholder:"Search projects...",value:D,onChange:a=>E(a.target.value),className:"pl-9 bg-background/50"})]})})]})}),(0,b.jsxs)("div",{className:"container max-w-7xl mx-auto py-8",children:[(0,b.jsxs)("div",{className:"grid gap-6 grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4",children:[P.map(a=>{let c,d=N[a.id];return(0,b.jsxs)(w.Card,{className:"group relative flex flex-col transition-all duration-200 hover:shadow-md hover:border-primary/20 overflow-hidden cursor-pointer bg-card",onClick:()=>Q(a.id),children:[(0,b.jsx)("div",{className:"h-1 w-full",style:{backgroundColor:a.color||"hsl(var(--primary))"}}),(0,b.jsx)(w.CardHeader,{className:"px-4 pt-4 pb-2 space-y-1",children:(0,b.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[H===a.id?(0,b.jsxs)("div",{className:"flex items-center gap-1",onClick:a=>a.stopPropagation(),children:[(0,b.jsx)(v.Input,{value:J,onChange:a=>K(a.target.value),className:"h-7 text-sm",autoFocus:!0,onKeyDown:b=>{"Enter"===b.key&&S(a.id),"Escape"===b.key&&R()}}),(0,b.jsx)(u.Button,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>S(a.id),children:(0,b.jsx)(n.Check,{className:"h-3 w-3"})}),(0,b.jsx)(u.Button,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:R,children:(0,b.jsx)(o.X,{className:"h-3 w-3"})})]}):(0,b.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[(0,b.jsx)("h3",{className:"font-semibold text-base leading-none truncate",title:a.name,children:a.name}),(c=L[a.id])&&"unknown"!==c.status?"validating"===c.status?(0,b.jsx)(m,{className:"h-4 w-4 animate-spin text-muted-foreground"}):"valid"===c.status?(0,b.jsx)(q.CheckCircle2,{className:"h-4 w-4 text-green-500"}):"invalid"===c.status?(0,b.jsx)("span",{title:c.error||"Invalid project",children:(0,b.jsx)(p,{className:"h-4 w-4 text-destructive"})}):null:null]}),(0,b.jsx)("p",{className:"text-[10px] font-mono text-muted-foreground truncate",title:a.path,children:a.path})]}),(0,b.jsxs)(bf,{children:[(0,b.jsx)(bh,{asChild:!0,onClick:a=>a.stopPropagation(),children:(0,b.jsxs)(u.Button,{variant:"ghost",size:"icon",className:"h-8 w-8 -mr-2 text-muted-foreground hover:text-foreground opacity-0 group-hover:opacity-100 transition-opacity",children:[(0,b.jsx)(j,{className:"h-4 w-4"}),(0,b.jsx)("span",{className:"sr-only",children:"Open menu"})]})}),(0,b.jsxs)(bw,{align:"end",children:[(0,b.jsxs)(bx,{onClick:b=>{var c,d;b.stopPropagation(),c=a.id,d=a.name,I(c),K(d)},children:[(0,b.jsx)(l,{className:"mr-2 h-4 w-4"}),"Rename"]}),(0,b.jsxs)("div",{className:"p-2",onClick:a=>a.stopPropagation(),children:[(0,b.jsx)("p",{className:"text-xs text-muted-foreground mb-2 px-2",children:"Project Color"}),(0,b.jsx)("div",{className:"flex flex-wrap gap-1 px-2",children:(0,b.jsx)(bC,{value:a.color,onChange:b=>T(a.id,b)})})]}),(0,b.jsx)(by,{}),(0,b.jsxs)(bx,{onClick:b=>{b.stopPropagation(),z(a.id)},children:[(0,b.jsx)(h.Star,{className:"mr-2 h-4 w-4"}),a.favorite?"Unfavorite":"Favorite"]}),(0,b.jsxs)(bx,{onClick:b=>{b.stopPropagation(),U(a.id)},children:[(0,b.jsx)(m,{className:"mr-2 h-4 w-4"}),"Validate Path"]}),(0,b.jsx)(by,{}),(0,b.jsxs)(bx,{className:"text-destructive",onClick:b=>{b.stopPropagation(),A(a.id)},children:[(0,b.jsx)(k,{className:"mr-2 h-4 w-4"}),"Remove"]})]})]})]})}),(0,b.jsx)(w.CardContent,{className:"px-4 pb-4 flex-1",children:(0,b.jsxs)("div",{className:"flex items-center gap-4 py-1",children:[(0,b.jsxs)("div",{className:"flex flex-col",children:[(0,b.jsx)("span",{className:"text-[10px] text-muted-foreground font-medium uppercase tracking-wider",children:"Specs"}),(0,b.jsx)("span",{className:"text-lg font-bold tracking-tight",children:d?.totalSpecs||0})]}),(0,b.jsx)("div",{className:"w-px h-8 bg-border"}),(0,b.jsxs)("div",{className:"flex flex-col",children:[(0,b.jsx)("span",{className:"text-[10px] text-muted-foreground font-medium uppercase tracking-wider",children:"Completion"}),(0,b.jsxs)("span",{className:"text-lg font-bold tracking-tight",children:[d?.completionRate||0,"%"]})]})]})}),(0,b.jsxs)("div",{className:"px-4 py-2 bg-muted/20 border-t flex items-center justify-between text-[10px] text-muted-foreground mt-auto",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("div",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:a.color||"#666"}}),(0,b.jsx)("span",{children:"Local"})]}),a.lastAccessed&&(0,b.jsx)("span",{children:(0,bE.default)(a.lastAccessed).fromNow()})]}),a.favorite&&(0,b.jsx)("div",{className:"absolute top-0 right-0 p-2 pointer-events-none",children:(0,b.jsx)("div",{className:"bg-background/80 backdrop-blur-sm p-1.5 rounded-bl-lg border-b border-l shadow-sm",children:(0,b.jsx)(h.Star,{className:"h-3.5 w-3.5 fill-yellow-500 text-yellow-500"})})})]},a.id)}),0===P.length&&!C&&(0,b.jsxs)("div",{className:"col-span-full flex flex-col items-center justify-center py-16 text-center border-2 border-dashed rounded-xl bg-muted/10",children:[(0,b.jsx)("div",{className:"bg-muted/30 p-4 rounded-full mb-4",children:(0,b.jsx)(g.FolderOpen,{className:"h-8 w-8 text-muted-foreground"})}),(0,b.jsx)("h3",{className:"text-xl font-semibold",children:"No projects found"}),(0,b.jsx)("p",{className:"text-muted-foreground mt-2 mb-6 max-w-sm",children:D?"We couldn't find any projects matching your search.":"Get started by creating your first LeanSpec project."}),(0,b.jsxs)(u.Button,{onClick:()=>G(!0),size:"lg",children:[(0,b.jsx)(e.Plus,{className:"mr-2 h-4 w-4"}),"Create Project"]})]})]}),(0,b.jsx)(bz.CreateProjectDialog,{open:F,onOpenChange:G})]})]})}bE.default.extend(bF.default),a.s(["default",()=>bG],531428)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=packages_ui_src_app_projects_page_tsx_6e166c8e._.js.map
|