@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 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,585458,(e,t,r)=>{e.e,t.exports=function(){"use strict";var e="millisecond",t="second",r="minute",n="hour",i="week",s="month",a="quarter",l="year",o="date",c="Invalid Date",u=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,d=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,f=function(e,t,r){var n=String(e);return!n||n.length>=t?e:""+Array(t+1-n.length).join(r)+e},h="en",m={};m[h]={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(e){var t=["th","st","nd","rd"],r=e%100;return"["+e+(t[(r-20)%10]||t[r]||t[0])+"]"}};var x="$isDayjsObject",g=function(e){return e instanceof y||!(!e||!e[x])},p=function e(t,r,n){var i;if(!t)return h;if("string"==typeof t){var s=t.toLowerCase();m[s]&&(i=s),r&&(m[s]=r,i=s);var a=t.split("-");if(!i&&a.length>1)return e(a[0])}else{var l=t.name;m[l]=t,i=l}return!n&&i&&(h=i),i||!n&&h},v=function(e,t){if(g(e))return e.clone();var r="object"==typeof t?t:{};return r.date=e,r.args=arguments,new y(r)},b={s:f,z:function(e){var t=-e.utcOffset(),r=Math.abs(t);return(t<=0?"+":"-")+f(Math.floor(r/60),2,"0")+":"+f(r%60,2,"0")},m:function e(t,r){if(t.date()<r.date())return-e(r,t);var n=12*(r.year()-t.year())+(r.month()-t.month()),i=t.clone().add(n,s),a=r-i<0,l=t.clone().add(n+(a?-1:1),s);return+(-(n+(r-i)/(a?i-l:l-i))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(c){return({M:s,y:l,w:i,d:"day",D:o,h:n,m:r,s:t,ms:e,Q:a})[c]||String(c||"").toLowerCase().replace(/s$/,"")},u:function(e){return void 0===e}};b.l=p,b.i=g,b.w=function(e,t){return v(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var y=function(){function f(e){this.$L=p(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[x]=!0}var h=f.prototype;return h.parse=function(e){this.$d=function(e){var t=e.date,r=e.utc;if(null===t)return new Date(NaN);if(b.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var n=t.match(u);if(n){var i=n[2]-1||0,s=(n[7]||"0").substring(0,3);return r?new Date(Date.UTC(n[1],i,n[3]||1,n[4]||0,n[5]||0,n[6]||0,s)):new Date(n[1],i,n[3]||1,n[4]||0,n[5]||0,n[6]||0,s)}}return new Date(t)}(e),this.init()},h.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},h.$utils=function(){return b},h.isValid=function(){return this.$d.toString()!==c},h.isSame=function(e,t){var r=v(e);return this.startOf(t)<=r&&r<=this.endOf(t)},h.isAfter=function(e,t){return v(e)<this.startOf(t)},h.isBefore=function(e,t){return this.endOf(t)<v(e)},h.$g=function(e,t,r){return b.u(e)?this[t]:this.set(r,e)},h.unix=function(){return Math.floor(this.valueOf()/1e3)},h.valueOf=function(){return this.$d.getTime()},h.startOf=function(e,a){var c=this,u=!!b.u(a)||a,d=b.p(e),f=function(e,t){var r=b.w(c.$u?Date.UTC(c.$y,t,e):new Date(c.$y,t,e),c);return u?r:r.endOf("day")},h=function(e,t){return b.w(c.toDate()[e].apply(c.toDate("s"),(u?[0,0,0,0]:[23,59,59,999]).slice(t)),c)},m=this.$W,x=this.$M,g=this.$D,p="set"+(this.$u?"UTC":"");switch(d){case l:return u?f(1,0):f(31,11);case s:return u?f(1,x):f(0,x+1);case i:var v=this.$locale().weekStart||0,y=(m<v?m+7:m)-v;return f(u?g-y:g+(6-y),x);case"day":case o:return h(p+"Hours",0);case n:return h(p+"Minutes",1);case r:return h(p+"Seconds",2);case t:return h(p+"Milliseconds",3);default:return this.clone()}},h.endOf=function(e){return this.startOf(e,!1)},h.$set=function(i,a){var c,u=b.p(i),d="set"+(this.$u?"UTC":""),f=((c={}).day=d+"Date",c[o]=d+"Date",c[s]=d+"Month",c[l]=d+"FullYear",c[n]=d+"Hours",c[r]=d+"Minutes",c[t]=d+"Seconds",c[e]=d+"Milliseconds",c)[u],h="day"===u?this.$D+(a-this.$W):a;if(u===s||u===l){var m=this.clone().set(o,1);m.$d[f](h),m.init(),this.$d=m.set(o,Math.min(this.$D,m.daysInMonth())).$d}else f&&this.$d[f](h);return this.init(),this},h.set=function(e,t){return this.clone().$set(e,t)},h.get=function(e){return this[b.p(e)]()},h.add=function(e,a){var o,c=this;e=Number(e);var u=b.p(a),d=function(t){var r=v(c);return b.w(r.date(r.date()+Math.round(t*e)),c)};if(u===s)return this.set(s,this.$M+e);if(u===l)return this.set(l,this.$y+e);if("day"===u)return d(1);if(u===i)return d(7);var f=((o={})[r]=6e4,o[n]=36e5,o[t]=1e3,o)[u]||1,h=this.$d.getTime()+e*f;return b.w(h,this)},h.subtract=function(e,t){return this.add(-1*e,t)},h.format=function(e){var t=this,r=this.$locale();if(!this.isValid())return r.invalidDate||c;var n=e||"YYYY-MM-DDTHH:mm:ssZ",i=b.z(this),s=this.$H,a=this.$m,l=this.$M,o=r.weekdays,u=r.months,f=r.meridiem,h=function(e,r,i,s){return e&&(e[r]||e(t,n))||i[r].slice(0,s)},m=function(e){return b.s(s%12||12,e,"0")},x=f||function(e,t,r){var n=e<12?"AM":"PM";return r?n.toLowerCase():n};return n.replace(d,function(e,n){return n||function(e){switch(e){case"YY":return String(t.$y).slice(-2);case"YYYY":return b.s(t.$y,4,"0");case"M":return l+1;case"MM":return b.s(l+1,2,"0");case"MMM":return h(r.monthsShort,l,u,3);case"MMMM":return h(u,l);case"D":return t.$D;case"DD":return b.s(t.$D,2,"0");case"d":return String(t.$W);case"dd":return h(r.weekdaysMin,t.$W,o,2);case"ddd":return h(r.weekdaysShort,t.$W,o,3);case"dddd":return o[t.$W];case"H":return String(s);case"HH":return b.s(s,2,"0");case"h":return m(1);case"hh":return m(2);case"a":return x(s,a,!0);case"A":return x(s,a,!1);case"m":return String(a);case"mm":return b.s(a,2,"0");case"s":return String(t.$s);case"ss":return b.s(t.$s,2,"0");case"SSS":return b.s(t.$ms,3,"0");case"Z":return i}return null}(e)||i.replace(":","")})},h.utcOffset=function(){return-(15*Math.round(this.$d.getTimezoneOffset()/15))},h.diff=function(e,o,c){var u,d=this,f=b.p(o),h=v(e),m=(h.utcOffset()-this.utcOffset())*6e4,x=this-h,g=function(){return b.m(d,h)};switch(f){case l:u=g()/12;break;case s:u=g();break;case a:u=g()/3;break;case i:u=(x-m)/6048e5;break;case"day":u=(x-m)/864e5;break;case n:u=x/36e5;break;case r:u=x/6e4;break;case t:u=x/1e3;break;default:u=x}return c?u:b.a(u)},h.daysInMonth=function(){return this.endOf(s).$D},h.$locale=function(){return m[this.$L]},h.locale=function(e,t){if(!e)return this.$L;var r=this.clone(),n=p(e,t,!0);return n&&(r.$L=n),r},h.clone=function(){return b.w(this.$d,this)},h.toDate=function(){return new Date(this.valueOf())},h.toJSON=function(){return this.isValid()?this.toISOString():null},h.toISOString=function(){return this.$d.toISOString()},h.toString=function(){return this.$d.toUTCString()},f}(),w=y.prototype;return v.prototype=w,[["$ms",e],["$s",t],["$m",r],["$H",n],["$W","day"],["$M",s],["$y",l],["$D",o]].forEach(function(e){w[e[1]]=function(t){return this.$g(t,e[0],e[1])}}),v.extend=function(e,t){return e.$i||(e(t,y,v),e.$i=!0),v},v.locale=p,v.isDayjs=g,v.unix=function(e){return v(1e3*e)},v.en=m[h],v.Ls=m,v.p={},v}()},842541,e=>{"use strict";e.s(["default",0,function(e,t){return e*=1,t*=1,function(r){return e*(1-r)+t*r}}])},161610,189517,321137,e=>{"use strict";function t(e,t,r){e.prototype=t.prototype=r,r.constructor=e}function r(e,t){var r=Object.create(e.prototype);for(var n in t)r[n]=t[n];return r}function n(){}e.s(["default",0,t,"extend",()=>r],189517);var i="\\s*([+-]?\\d+)\\s*",s="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",a="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",l=/^#([0-9a-f]{3,8})$/,o=RegExp(`^rgb\\(${i},${i},${i}\\)$`),c=RegExp(`^rgb\\(${a},${a},${a}\\)$`),u=RegExp(`^rgba\\(${i},${i},${i},${s}\\)$`),d=RegExp(`^rgba\\(${a},${a},${a},${s}\\)$`),f=RegExp(`^hsl\\(${s},${a},${a}\\)$`),h=RegExp(`^hsla\\(${s},${a},${a},${s}\\)$`),m={aliceblue:0xf0f8ff,antiquewhite:0xfaebd7,aqua:65535,aquamarine:8388564,azure:0xf0ffff,beige:0xf5f5dc,bisque:0xffe4c4,black:0,blanchedalmond:0xffebcd,blue:255,blueviolet:9055202,brown:0xa52a2a,burlywood:0xdeb887,cadetblue:6266528,chartreuse:8388352,chocolate:0xd2691e,coral:0xff7f50,cornflowerblue:6591981,cornsilk:0xfff8dc,crimson:0xdc143c,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:0xb8860b,darkgray:0xa9a9a9,darkgreen:25600,darkgrey:0xa9a9a9,darkkhaki:0xbdb76b,darkmagenta:9109643,darkolivegreen:5597999,darkorange:0xff8c00,darkorchid:0x9932cc,darkred:9109504,darksalmon:0xe9967a,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:0xff1493,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:0xb22222,floralwhite:0xfffaf0,forestgreen:2263842,fuchsia:0xff00ff,gainsboro:0xdcdcdc,ghostwhite:0xf8f8ff,gold:0xffd700,goldenrod:0xdaa520,gray:8421504,green:32768,greenyellow:0xadff2f,grey:8421504,honeydew:0xf0fff0,hotpink:0xff69b4,indianred:0xcd5c5c,indigo:4915330,ivory:0xfffff0,khaki:0xf0e68c,lavender:0xe6e6fa,lavenderblush:0xfff0f5,lawngreen:8190976,lemonchiffon:0xfffacd,lightblue:0xadd8e6,lightcoral:0xf08080,lightcyan:0xe0ffff,lightgoldenrodyellow:0xfafad2,lightgray:0xd3d3d3,lightgreen:9498256,lightgrey:0xd3d3d3,lightpink:0xffb6c1,lightsalmon:0xffa07a,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:0xb0c4de,lightyellow:0xffffe0,lime:65280,limegreen:3329330,linen:0xfaf0e6,magenta:0xff00ff,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:0xba55d3,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:0xc71585,midnightblue:1644912,mintcream:0xf5fffa,mistyrose:0xffe4e1,moccasin:0xffe4b5,navajowhite:0xffdead,navy:128,oldlace:0xfdf5e6,olive:8421376,olivedrab:7048739,orange:0xffa500,orangered:0xff4500,orchid:0xda70d6,palegoldenrod:0xeee8aa,palegreen:0x98fb98,paleturquoise:0xafeeee,palevioletred:0xdb7093,papayawhip:0xffefd5,peachpuff:0xffdab9,peru:0xcd853f,pink:0xffc0cb,plum:0xdda0dd,powderblue:0xb0e0e6,purple:8388736,rebeccapurple:6697881,red:0xff0000,rosybrown:0xbc8f8f,royalblue:4286945,saddlebrown:9127187,salmon:0xfa8072,sandybrown:0xf4a460,seagreen:3050327,seashell:0xfff5ee,sienna:0xa0522d,silver:0xc0c0c0,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:0xfffafa,springgreen:65407,steelblue:4620980,tan:0xd2b48c,teal:32896,thistle:0xd8bfd8,tomato:0xff6347,turquoise:4251856,violet:0xee82ee,wheat:0xf5deb3,white:0xffffff,whitesmoke:0xf5f5f5,yellow:0xffff00,yellowgreen:0x9acd32};function x(){return this.rgb().formatHex()}function g(){return this.rgb().formatRgb()}function p(e){var t,r;return e=(e+"").trim().toLowerCase(),(t=l.exec(e))?(r=t[1].length,t=parseInt(t[1],16),6===r?v(t):3===r?new S(t>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===r?b(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===r?b(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=o.exec(e))?new S(t[1],t[2],t[3],1):(t=c.exec(e))?new S(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=u.exec(e))?b(t[1],t[2],t[3],t[4]):(t=d.exec(e))?b(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=f.exec(e))?C(t[1],t[2]/100,t[3]/100,1):(t=h.exec(e))?C(t[1],t[2]/100,t[3]/100,t[4]):m.hasOwnProperty(e)?v(m[e]):"transparent"===e?new S(NaN,NaN,NaN,0):null}function v(e){return new S(e>>16&255,e>>8&255,255&e,1)}function b(e,t,r,n){return n<=0&&(e=t=r=NaN),new S(e,t,r,n)}function y(e){return(e instanceof n||(e=p(e)),e)?new S((e=e.rgb()).r,e.g,e.b,e.opacity):new S}function w(e,t,r,n){return 1==arguments.length?y(e):new S(e,t,r,null==n?1:n)}function S(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}function $(){return`#${N(this.r)}${N(this.g)}${N(this.b)}`}function j(){let e=k(this.opacity);return`${1===e?"rgb(":"rgba("}${M(this.r)}, ${M(this.g)}, ${M(this.b)}${1===e?")":`, ${e})`}`}function k(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function M(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function N(e){return((e=M(e))<16?"0":"")+e.toString(16)}function C(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new z(e,t,r,n)}function O(e){if(e instanceof z)return new z(e.h,e.s,e.l,e.opacity);if(e instanceof n||(e=p(e)),!e)return new z;if(e instanceof z)return e;var t=(e=e.rgb()).r/255,r=e.g/255,i=e.b/255,s=Math.min(t,r,i),a=Math.max(t,r,i),l=NaN,o=a-s,c=(a+s)/2;return o?(l=t===a?(r-i)/o+(r<i)*6:r===a?(i-t)/o+2:(t-r)/o+4,o/=c<.5?a+s:2-a-s,l*=60):o=c>0&&c<1?0:l,new z(l,o,c,e.opacity)}function z(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}function I(e){return(e=(e||0)%360)<0?e+360:e}function T(e){return Math.max(0,Math.min(1,e||0))}function E(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}t(n,p,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:x,formatHex:x,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return O(this).formatHsl()},formatRgb:g,toString:g}),t(S,w,r(n,{brighter(e){return e=null==e?1.4285714285714286:Math.pow(1.4285714285714286,e),new S(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=null==e?.7:Math.pow(.7,e),new S(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new S(M(this.r),M(this.g),M(this.b),k(this.opacity))},displayable(){return -.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:$,formatHex:$,formatHex8:function(){return`#${N(this.r)}${N(this.g)}${N(this.b)}${N((isNaN(this.opacity)?1:this.opacity)*255)}`},formatRgb:j,toString:j})),t(z,function(e,t,r,n){return 1==arguments.length?O(e):new z(e,t,r,null==n?1:n)},r(n,{brighter(e){return e=null==e?1.4285714285714286:Math.pow(1.4285714285714286,e),new z(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?.7:Math.pow(.7,e),new z(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*t,i=2*r-n;return new S(E(e>=240?e-240:e+120,i,n),E(e,i,n),E(e<120?e+240:e-120,i,n),this.opacity)},clamp(){return new z(I(this.h),T(this.s),T(this.l),k(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=k(this.opacity);return`${1===e?"hsl(":"hsla("}${I(this.h)}, ${100*T(this.s)}%, ${100*T(this.l)}%${1===e?")":`, ${e})`}`}})),e.s(["Color",()=>n,"Rgb",()=>S,"default",()=>p,"rgb",()=>w,"rgbConvert",()=>y],321137),e.s(["color",()=>p],161610)},77075,e=>{"use strict";var t=e.i(842541);e.s(["interpolateNumber",()=>t.default])},145665,181503,425902,e=>{"use strict";var t=e.i(321137);function r(e,t,r,n,i){var s=e*e,a=s*e;return((1-3*e+3*s-a)*t+(4-6*s+3*a)*r+(1+3*e+3*s-3*a)*n+a*i)/6}let n=e=>()=>e;function i(e,t){return function(r){return e+r*t}}function s(e,t){var r=t-e;return r?i(e,r>180||r<-180?r-360*Math.round(r/360):r):n(isNaN(e)?t:e)}function a(e){return 1==(e*=1)?l:function(t,r){var i,s,a;return r-t?(i=t,s=r,i=Math.pow(i,a=e),s=Math.pow(s,a)-i,a=1/a,function(e){return Math.pow(i+e*s,a)}):n(isNaN(t)?r:t)}}function l(e,t){var r=t-e;return r?i(e,r):n(isNaN(e)?t:e)}e.s(["default",0,n],181503),e.s(["default",()=>l,"gamma",()=>a,"hue",()=>s],425902);let o=function e(r){var n=a(r);function i(e,r){var i=n((e=(0,t.rgb)(e)).r,(r=(0,t.rgb)(r)).r),s=n(e.g,r.g),a=n(e.b,r.b),o=l(e.opacity,r.opacity);return function(t){return e.r=i(t),e.g=s(t),e.b=a(t),e.opacity=o(t),e+""}}return i.gamma=e,i}(1);function c(e){return function(r){var n,i,s=r.length,a=Array(s),l=Array(s),o=Array(s);for(n=0;n<s;++n)i=(0,t.rgb)(r[n]),a[n]=i.r||0,l[n]=i.g||0,o[n]=i.b||0;return a=e(a),l=e(l),o=e(o),i.opacity=1,function(e){return i.r=a(e),i.g=l(e),i.b=o(e),i+""}}}c(function(e){var t=e.length-1;return function(n){var i=n<=0?n=0:n>=1?(n=1,t-1):Math.floor(n*t),s=e[i],a=e[i+1],l=i>0?e[i-1]:2*s-a,o=i<t-1?e[i+2]:2*a-s;return r((n-i/t)*t,l,s,a,o)}}),c(function(e){var t=e.length;return function(n){var i=Math.floor(((n%=1)<0?++n:n)*t),s=e[(i+t-1)%t],a=e[i%t],l=e[(i+1)%t],o=e[(i+2)%t];return r((n-i/t)*t,s,a,l,o)}}),e.s(["default",0,o],145665)},647483,e=>{"use strict";var t=e.i(842541),r=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,n=RegExp(r.source,"g");e.s(["default",0,function(e,i){var s,a,l,o,c,u=r.lastIndex=n.lastIndex=0,d=-1,f=[],h=[];for(e+="",i+="";(l=r.exec(e))&&(o=n.exec(i));)(c=o.index)>u&&(c=i.slice(u,c),f[d]?f[d]+=c:f[++d]=c),(l=l[0])===(o=o[0])?f[d]?f[d]+=o:f[++d]=o:(f[++d]=null,h.push({i:d,x:(0,t.default)(l,o)})),u=n.lastIndex;return u<i.length&&(c=i.slice(u),f[d]?f[d]+=c:f[++d]=c),f.length<2?h[0]?(s=h[0].x,function(e){return s(e)+""}):(a=i,function(){return a}):(i=h.length,function(e){for(var t,r=0;r<i;++r)f[(t=h[r]).i]=t.x(e);return f.join("")})}])},522764,e=>{"use strict";let t=(0,e.i(122436).default)("list",[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]]);e.s(["List",()=>t],522764)},635389,e=>{"use strict";let t=(0,e.i(122436).default)("maximize-2",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"m21 3-7 7",key:"1l2asr"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M9 21H3v-6",key:"wtvkvv"}]]);e.s(["Maximize2",()=>t],635389)},730885,340982,e=>{"use strict";var t=e.i(122436);let r=(0,t.default)("git-branch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);e.s(["GitBranch",()=>r],730885);let n=(0,t.default)("minimize-2",[["path",{d:"m14 10 7-7",key:"oa77jy"}],["path",{d:"M20 10h-6V4",key:"mjg0md"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M4 14h6v6",key:"rmj7iw"}]]);e.s(["Minimize2",()=>n],340982)},170305,(e,t,r)=>{"use strict";var n=e.r(431231),i="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},s=n.useState,a=n.useEffect,l=n.useLayoutEffect,o=n.useDebugValue;function c(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!i(e,r)}catch(e){return!0}}var u="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var r=t(),n=s({inst:{value:r,getSnapshot:t}}),i=n[0].inst,u=n[1];return l(function(){i.value=r,i.getSnapshot=t,c(i)&&u({inst:i})},[e,r,t]),a(function(){return c(i)&&u({inst:i}),e(function(){c(i)&&u({inst:i})})},[e]),o(r),r};r.useSyncExternalStore=void 0!==n.useSyncExternalStore?n.useSyncExternalStore:u},334960,(e,t,r)=>{"use strict";t.exports=e.r(170305)},721665,(e,t,r)=>{"use strict";var n=e.r(431231),i=e.r(334960),s="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},a=i.useSyncExternalStore,l=n.useRef,o=n.useEffect,c=n.useMemo,u=n.useDebugValue;r.useSyncExternalStoreWithSelector=function(e,t,r,n,i){var d=l(null);if(null===d.current){var f={hasValue:!1,value:null};d.current=f}else f=d.current;var h=a(e,(d=c(function(){function e(e){if(!o){if(o=!0,a=e,e=n(e),void 0!==i&&f.hasValue){var t=f.value;if(i(t,e))return l=t}return l=e}if(t=l,s(a,e))return t;var r=n(e);return void 0!==i&&i(t,r)?(a=e,t):(a=e,l=r)}var a,l,o=!1,c=void 0===r?null:r;return[function(){return e(t())},null===c?void 0:function(){return e(c())}]},[t,r,n,i]))[0],d[1]);return o(function(){f.hasValue=!0,f.value=h},[h]),u(h),h}},596177,(e,t,r)=>{"use strict";t.exports=e.r(721665)},443991,e=>{"use strict";let t=(0,e.i(122436).default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);e.s(["Circle",()=>t],443991)},296026,e=>{"use strict";let t=(0,e.i(122436).default)("trending-up",[["path",{d:"M16 7h6v6",key:"box55l"}],["path",{d:"m22 7-8.5 8.5-5-5L2 17",key:"1t1m79"}]]);e.s(["TrendingUp",()=>t],296026)},222850,e=>{"use strict";var t=e.i(890022),r=e.i(632137);function n({className:e,...n}){return(0,t.jsx)("div",{className:(0,r.cn)("animate-pulse rounded-md bg-muted",e),...n})}e.s(["Skeleton",()=>n])},417612,293821,e=>{"use strict";var t=e.i(890022),r=e.i(431231),n=e.i(987985);let i="u">typeof window?r.useLayoutEffect:r.useEffect;function s(e){if(void 0!==e)switch(typeof e){case"number":return e;case"string":if(e.endsWith("px"))return parseFloat(e)}}let a=null;function l({containerElement:e,direction:t,isRtl:r,scrollOffset:n}){if("horizontal"===t&&r)switch(function(e=!1){if(null===a||e){let e=document.createElement("div"),t=e.style;t.width="50px",t.height="50px",t.overflow="scroll",t.direction="rtl";let r=document.createElement("div"),n=r.style;return n.width="100px",n.height="100px",e.appendChild(r),document.body.appendChild(e),e.scrollLeft>0?a="positive-descending":(e.scrollLeft=1,a=0===e.scrollLeft?"negative":"positive-ascending"),document.body.removeChild(e),a}return a}()){case"negative":return-n;case"positive-descending":if(e){let{clientWidth:t,scrollLeft:r,scrollWidth:n}=e;return n-t-r}}return n}function o(e,t="Assertion error"){if(!e)throw console.error(t),Error(t)}function c(e,t){if(e===t)return!0;if(!!e!=!!t||(o(void 0!==e),o(void 0!==t),Object.keys(e).length!==Object.keys(t).length))return!1;for(let r in e)if(!Object.is(t[r],e[r]))return!1;return!0}function u({cachedBounds:e,itemCount:t,itemSize:r}){if(0===t)return 0;if("number"==typeof r)return t*r;{let r=e.get(0===e.size?0:e.size-1);return o(void 0!==r,"Unexpected bounds cache miss"),t*((r.scrollOffset+r.size)/e.size)}}function d({cachedBounds:e,containerScrollOffset:t,containerSize:r,itemCount:n,overscanCount:i}){let s=n-1,a=0,l=-1,o=0,c=-1,u=0;for(;u<s;){let r=e.get(u);if(r.scrollOffset+r.size>t)break;u++}for(o=Math.max(0,(a=u)-i);u<s;){let n=e.get(u);if(n.scrollOffset+n.size>=t+r)break;u++}return c=Math.min(n-1,(l=Math.min(s,u))+i),a<0&&(a=0,l=-1,o=0,c=-1),{startIndexVisible:a,stopIndexVisible:l,startIndexOverscan:o,stopIndexOverscan:c}}function f(e,t){let{ariaAttributes:r,style:n,...i}=e,{ariaAttributes:s,style:a,...l}=t;return c(r,s)&&c(n,a)&&c(i,l)}function h({children:e,className:n,defaultHeight:a=0,listRef:h,onResize:m,onRowsRendered:x,overscanCount:g=3,rowComponent:p,rowCount:v,rowHeight:b,rowProps:y,tagName:w="div",style:S,...$}){let j=(0,r.useMemo)(()=>y,Object.values(y)),k=(0,r.useMemo)(()=>(0,r.memo)(p,f),[p]),[M,N]=(0,r.useState)(null),C=null!=b&&"object"==typeof b&&"getAverageRowHeight"in b&&"function"==typeof b.getAverageRowHeight,{getCellBounds:O,getEstimatedSize:z,scrollToIndex:I,startIndexOverscan:T,startIndexVisible:E,stopIndexOverscan:R,stopIndexVisible:A}=function({containerElement:e,containerStyle:t,defaultContainerSize:n=0,direction:a,isRtl:f=!1,itemCount:h,itemProps:m,itemSize:x,onResize:g,overscanCount:p}){var v;let b,[y,w]=(0,r.useState)({startIndexVisible:0,startIndexOverscan:0,stopIndexVisible:-1,stopIndexOverscan:-1}),{startIndexVisible:S,startIndexOverscan:$,stopIndexVisible:j,stopIndexOverscan:k}={startIndexVisible:Math.min(h-1,y.startIndexVisible),startIndexOverscan:Math.min(h-1,y.startIndexOverscan),stopIndexVisible:Math.min(h-1,y.stopIndexVisible),stopIndexOverscan:Math.min(h-1,y.stopIndexOverscan)},{height:M=n,width:N=n}=function({box:e,defaultHeight:t,defaultWidth:n,disabled:a,element:l,mode:o,style:c}){let{styleHeight:u,styleWidth:d}=(0,r.useMemo)(()=>({styleHeight:s(c?.height),styleWidth:s(c?.width)}),[c?.height,c?.width]),[f,h]=(0,r.useState)({height:t,width:n}),m=a||"only-height"===o&&void 0!==u||"only-width"===o&&void 0!==d||void 0!==u&&void 0!==d;return i(()=>{if(null===l||m)return;let t=new ResizeObserver(e=>{for(let t of e){let{contentRect:e,target:r}=t;l===r&&h(t=>t.height===e.height&&t.width===e.width?t:{height:e.height,width:e.width})}});return t.observe(l,{box:e}),()=>{t?.unobserve(l)}},[e,m,l,u,d]),(0,r.useMemo)(()=>({height:u??f.height,width:d??f.width}),[f,u,d])}({defaultHeight:"vertical"===a?n:void 0,defaultWidth:"horizontal"===a?n:void 0,element:e,mode:"vertical"===a?"only-height":"only-width",style:t}),C=(0,r.useRef)({height:0,width:0}),O="vertical"===a?M:N,z=function({containerSize:e,itemSize:t}){let r;return"string"==typeof t?(o(t.endsWith("%"),`Invalid item size: "${t}"; string values must be percentages (e.g. "100%")`),o(void 0!==e,"Container size must be defined if a percentage item size is specified"),r=e*parseInt(t)/100):r=t,r}({containerSize:O,itemSize:x});(0,r.useLayoutEffect)(()=>{if("function"==typeof g){let e=C.current;(e.height!==M||e.width!==N)&&(g({height:M,width:N},{...e}),e.height=M,e.width=N)}},[M,g,N]);let I=function({itemCount:e,itemProps:t,itemSize:n}){return(0,r.useMemo)(()=>(function({itemCount:e,itemProps:t,itemSize:r}){let n=new Map;return{get(i){for(o(i<e,`Invalid index ${i}`);n.size-1<i;){let e,s=n.size;switch(typeof r){case"function":e=r(s,t);break;case"number":e=r}if(0===s)n.set(s,{size:e,scrollOffset:0});else{let t=n.get(s-1);o(void 0!==t,`Unexpected bounds cache miss for index ${i}`),n.set(s,{scrollOffset:t.scrollOffset+t.size,size:e})}}let s=n.get(i);return o(void 0!==s,`Unexpected bounds cache miss for index ${i}`),s},set(e,t){n.set(e,t)},get size(){return n.size}}})({itemCount:e,itemProps:t,itemSize:n}),[e,t,n])}({itemCount:h,itemProps:m,itemSize:z}),T=(0,r.useCallback)(e=>I.get(e),[I]),E=(0,r.useCallback)(()=>u({cachedBounds:I,itemCount:h,itemSize:z}),[I,h,z]),R=(0,r.useCallback)(t=>d({cachedBounds:I,containerScrollOffset:l({containerElement:e,direction:a,isRtl:f,scrollOffset:t}),containerSize:O,itemCount:h,overscanCount:p}),[I,e,O,a,f,h,p]);return i(()=>{w(R(("vertical"===a?e?.scrollTop:e?.scrollLeft)??0))},[e,a,R]),i(()=>{if(!e)return;let t=()=>{w(t=>{let{scrollLeft:r,scrollTop:n}=e,i=d({cachedBounds:I,containerScrollOffset:l({containerElement:e,direction:a,isRtl:f,scrollOffset:"vertical"===a?n:r}),containerSize:O,itemCount:h,overscanCount:p});return c(i,t)?t:i})};return e.addEventListener("scroll",t),()=>{e.removeEventListener("scroll",t)}},[I,e,O,a,h,p]),{getCellBounds:T,getEstimatedSize:E,scrollToIndex:(v=({align:t="auto",containerScrollOffset:r,index:n})=>{let i=function({align:e,cachedBounds:t,index:r,itemCount:n,itemSize:i,containerScrollOffset:s,containerSize:a}){if(r<0||r>=n)throw RangeError(`Invalid index specified: ${r}`,{cause:`Index ${r} is not within the range of 0 - ${n-1}`});let l=u({cachedBounds:t,itemCount:n,itemSize:i}),o=t.get(r),c=Math.max(0,Math.min(l-a,o.scrollOffset)),d=Math.max(0,o.scrollOffset-a+o.size);switch("smart"===e&&(e=s>=d&&s<=c?"auto":"center"),e){case"start":return c;case"end":return d;case"center":return o.scrollOffset<=a/2?0:o.scrollOffset+o.size/2>=l-a/2?l-a:o.scrollOffset+o.size/2-a/2;default:return s>=d&&s<=c?s:s<d?d:c}}({align:t,cachedBounds:I,containerScrollOffset:r,containerSize:O,index:n,itemCount:h,itemSize:z});if(e){if(i=l({containerElement:e,direction:a,isRtl:f,scrollOffset:i}),"function"!=typeof e.scrollTo){let e=R(i);c(y,e)||w(e)}return i}},b=(0,r.useRef)(()=>{throw Error("Cannot call during render.")}),i(()=>{b.current=v},[v]),(0,r.useCallback)(e=>b.current?.(e),[b])),startIndexOverscan:$,startIndexVisible:S,stopIndexOverscan:k,stopIndexVisible:j}}({containerElement:M,containerStyle:S,defaultContainerSize:a,direction:"vertical",itemCount:v,itemProps:j,itemSize:(0,r.useMemo)(()=>C?e=>b.getRowHeight(e)??b.getAverageRowHeight():b,[C,b]),onResize:m,overscanCount:g});(0,r.useImperativeHandle)(h,()=>({get element(){return M},scrollToRow({align:e="auto",behavior:t="auto",index:r}){let n=I({align:e,containerScrollOffset:M?.scrollTop??0,index:r});"function"==typeof M?.scrollTo&&M.scrollTo({behavior:t,top:n})}}),[M,I]),i(()=>{if(!M)return;let e=Array.from(M.children).filter((e,t)=>{if(e.hasAttribute("aria-hidden"))return!1;let r=`${T+t}`;return e.setAttribute("data-react-window-index",r),!0});if(C)return b.observeRowElements(e)},[M,C,b,T,R]),(0,r.useEffect)(()=>{T>=0&&R>=0&&x&&x({startIndex:E,stopIndex:A},{startIndex:T,stopIndex:R})},[x,T,E,R,A]);let D=(0,r.useMemo)(()=>{let e=[];if(v>0)for(let t=T;t<=R;t++){let n=O(t);e.push((0,r.createElement)(k,{...j,ariaAttributes:{"aria-posinset":t+1,"aria-setsize":v,role:"listitem"},key:t,index:t,style:{position:"absolute",left:0,transform:`translateY(${n.scrollOffset}px)`,height:C?void 0:n.size,width:"100%"}}))}return e},[k,O,C,v,j,T,R]),H=(0,t.jsx)("div",{"aria-hidden":!0,style:{height:z(),width:"100%",zIndex:-1}});return(0,r.createElement)(w,{role:"list",...$,className:n,ref:N,style:{position:"relative",maxHeight:"100%",flexGrow:1,overflowY:"auto",...S}},D,e,H)}r.useState,r.useRef,r.useState,r.useRef;var m=e.i(300329),x=e.i(158362),g=e.i(525761),p=e.i(644021);let v=(0,e.i(122436).default)("funnel",[["path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",key:"sc7q7i"}]]);var b=e.i(21079),y=e.i(235893),w=e.i(168497),S=e.i(308402),$=e.i(708737),j=e.i(632137),k=e.i(597705),M=e.i(145878);let N={specs:[],signature:null,scrollTop:0,activeSpecId:null},C=[],O=new Set,z=new Set,I=new Set;function T(){for(let e of O)e()}function E(e){return O.add(e),()=>{O.delete(e)}}function R(){return N}function A(){return(0,r.useSyncExternalStore)(E,R,()=>N)}function D(){let e=r.useCallback(e=>(z.add(e),()=>{z.delete(e)}),[]);return(0,r.useSyncExternalStore)(e,()=>R().specs,()=>C)}function H(){let e=r.useCallback(e=>(I.add(e),()=>{I.delete(e)}),[]);return(0,r.useSyncExternalStore)(e,()=>R().activeSpecId,()=>null)}function L(e){if(0===e.length)return;let t=e.map(e=>[e.id,e.specNumber??"",e.title??"",e.status??"",e.priority??"",e.updatedAt?new Date(e.updatedAt).getTime():0].join(":")).join("|");if(t!==N.signature)for(let r of(N={...N,specs:e,signature:t},T(),z))r()}function V(e){if(N.activeSpecId!==e)for(let t of(N={...N,activeSpecId:e},T(),I))t()}function B(e){1>Math.abs(e-N.scrollTop)||(N={...N,scrollTop:e})}function P(){return N.scrollTop}e.s(["getSidebarScrollTop",()=>P,"primeSpecsSidebar",()=>L,"setActiveSidebarSpec",()=>V,"updateSidebarScrollTop",()=>B,"useSpecsSidebarActiveSpec",()=>H,"useSpecsSidebarSpecs",()=>D,"useSpecsSidebarState",()=>A],293821);let _=r.useLayoutEffect;function q({initialSpecs:e=[],currentSpecId:i,currentSubSpec:s,onSpecHover:a,className:l}){let[o,c]=r.useState(""),[u,d]=r.useState("all"),[f,N]=r.useState("all"),[C,O]=r.useState("all"),[z,I]=r.useState(!1),[T,E]=r.useState(()=>"true"===localStorage.getItem("specs-nav-sidebar-collapsed")),[R,A]=r.useState(!1),[L,V]=r.useState(!1),q=r.useRef(null),W=r.useRef(null),Y=r.useRef(!1),F=r.useRef(null),U=r.useRef(0),J=r.useRef(!1),Z=r.useRef(!0),G=D(),K=H(),Q=r.useMemo(()=>G.length>0?G:e,[G,e]),X=i||K||"";r.useEffect(()=>{V(!0)},[]),r.useEffect(()=>{document.documentElement.style.setProperty("--specs-nav-sidebar-width",T?"0px":"280px"),localStorage.setItem("specs-nav-sidebar-collapsed",String(T))},[T]),r.useEffect(()=>{A(!1)},[X,s]);let ee=r.useMemo(()=>{let e=Q;if(o){let t=o.toLowerCase();e=e.filter(e=>e.title?.toLowerCase().includes(t)||e.specName.toLowerCase().includes(t)||e.specNumber?.toString().includes(t))}return"all"!==u&&(e=e.filter(e=>e.status===u)),"all"!==f&&(e=e.filter(e=>e.priority===f)),"all"!==C&&(e=e.filter(e=>e.tags?.includes(C))),console.debug(e),e},[Q,o,u,f,C]),et=r.useMemo(()=>{let e=new Set;return Q.forEach(t=>{t.tags?.forEach(t=>e.add(t))}),Array.from(e).sort()},[Q]),er="all"!==u||"all"!==f||"all"!==C,en=r.useMemo(()=>[...ee].sort((e,t)=>(t.specNumber||0)-(e.specNumber||0)),[ee]);_(()=>{let e=null,t=null;U.current=P(),J.current=U.current>0;let r=()=>{let n=F.current?.element;if(!n){e=window.requestAnimationFrame(r);return}Y.current||(U.current>0&&(n.scrollTop=U.current),Y.current=!0);let i=()=>{null===W.current&&(W.current=window.requestAnimationFrame(()=>{W.current=null,U.current=n.scrollTop,B(n.scrollTop)}))};n.addEventListener("scroll",i,{passive:!0}),t=()=>{n.removeEventListener("scroll",i)}};return r(),()=>{t&&t(),null!==e&&window.cancelAnimationFrame(e),null!==W.current&&(window.cancelAnimationFrame(W.current),W.current=null)}},[]),_(()=>{if(!Z.current||(Z.current=!1,J.current||!X))return;let e=null,t=()=>{if(J.current)return;if(!Y.current||!F.current){e=window.requestAnimationFrame(t);return}let r=en.findIndex(e=>e.id===X);-1!==r&&(J.current=!0,F.current.scrollToRow({index:r,align:"center"}))};return t(),()=>{null!==e&&window.cancelAnimationFrame(e)}},[en,X]),r.useEffect(()=>(window.toggleSpecsSidebar=()=>A(e=>!e),()=>{window.toggleSpecsSidebar=void 0}),[]);let ei=r.useCallback(e=>{let{index:r,style:i}=e,l=en[r],o=l.id===X,c=(l.contentMd?(0,j.extractH1Title)(l.contentMd):null)||l.title||l.specName;return(0,t.jsx)("div",{style:i,className:"px-1",children:(0,t.jsx)("div",{className:"mb-0.5",children:(0,t.jsx)("div",{className:"flex items-center gap-0.5",children:(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)(n.default,{ref:o&&!s?q:null,href:`/specs/${l.specNumber||l.id}`,onMouseEnter:()=>a?.(l.specNumber?.toString()||l.id),className:(0,j.cn)("w-full flex flex-col gap-1 p-1.5 rounded-md text-sm transition-colors",o?"bg-accent text-accent-foreground font-medium":"hover:bg-accent/50"),children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[l.specNumber&&(0,t.jsxs)("span",{className:"text-xs font-mono text-muted-foreground shrink-0",children:["#",l.specNumber.toString().padStart(3,"0")]}),(0,t.jsx)("span",{className:"truncate text-xs leading-relaxed",children:c})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1.5 flex-wrap",children:[l.status&&(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("div",{children:(0,t.jsx)(w.StatusBadge,{status:l.status,iconOnly:!0,className:"text-[10px] scale-90"})})}),(0,t.jsx)(S.TooltipContent,{side:"right",children:(0,w.getStatusLabel)(l.status)})]}),l.priority&&(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("div",{children:(0,t.jsx)(k.PriorityBadge,{priority:l.priority,iconOnly:!0,className:"text-[10px] scale-90"})})}),(0,t.jsx)(S.TooltipContent,{side:"right",children:(0,k.getPriorityLabel)(l.priority)})]}),"number"==typeof l.subSpecsCount&&l.subSpecsCount>0&&(0,t.jsxs)("span",{className:"text-[10px] text-muted-foreground",children:["+",l.subSpecsCount," files"]}),l.updatedAt&&(0,t.jsx)("span",{className:"text-[10px] text-muted-foreground",children:(0,M.formatRelativeTime)(l.updatedAt)})]})]})}),(0,t.jsx)(S.TooltipContent,{side:"right",className:"max-w-[300px]",children:(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("div",{className:"font-semibold",children:c}),(0,t.jsx)("div",{className:"text-xs text-muted-foreground",children:l.specName})]})})]})})})})},[en,X,s,a]),es=r.useMemo(()=>window.innerHeight-56-180,[]),ea=r.useMemo(()=>r.memo(h),[]);return(0,t.jsxs)(S.TooltipProvider,{delayDuration:700,children:[R&&(0,t.jsx)("div",{className:"fixed inset-0 bg-black/50 z-40 lg:hidden",onClick:()=>A(!1)}),(0,t.jsxs)("div",{className:(0,j.cn)("relative flex-shrink-0",l),children:[(0,t.jsxs)("aside",{className:(0,j.cn)("border-r border-border bg-background flex flex-col overflow-hidden transition-all duration-300","hidden lg:flex lg:sticky lg:top-14 lg:h-[calc(100vh-3.5rem)]",L&&T?"lg:w-0 lg:border-r-0":"lg:w-[280px]",R&&"fixed inset-y-0 left-0 z-[60] flex w-[280px]"),children:[(0,t.jsxs)("div",{className:"p-4 border-b border-border",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,t.jsx)("h2",{className:"font-semibold text-sm",children:"Specifications"}),(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsx)(y.Button,{variant:z||er?"default":"ghost",size:"sm",onClick:()=>I(!z),className:"h-6 w-6 p-0",children:(0,t.jsx)(v,{className:"h-4 w-4"})})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:z?"Hide filters":"Show filters"})]}),(0,t.jsx)(y.Button,{variant:"ghost",size:"sm",onClick:()=>A(!1),className:"h-6 w-6 p-0 lg:hidden",children:(0,t.jsx)(p.X,{className:"h-4 w-4"})}),(0,t.jsx)(y.Button,{variant:"ghost",size:"sm",onClick:()=>E(!0),className:"h-6 w-6 p-0 hidden lg:flex lg:items-center lg:justify-center",children:(0,t.jsx)(x.ChevronLeft,{className:"h-4 w-4"})})]})]}),z&&(0,t.jsxs)("div",{className:"space-y-2 mb-3 pb-3 border-b border-border",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)("span",{className:"text-xs font-medium text-muted-foreground",children:"Filters"}),er&&(0,t.jsx)(y.Button,{variant:"ghost",size:"sm",onClick:()=>{d("all"),N("all"),O("all")},className:"h-5 text-xs px-2 py-0",children:"Clear"})]}),(0,t.jsxs)($.Select,{value:u,onValueChange:d,children:[(0,t.jsx)($.SelectTrigger,{className:"h-8 text-xs",children:(0,t.jsx)($.SelectValue,{placeholder:"Status"})}),(0,t.jsxs)($.SelectContent,{children:[(0,t.jsx)($.SelectItem,{value:"all",children:"All Status"}),(0,t.jsx)($.SelectItem,{value:"planned",children:"Planned"}),(0,t.jsx)($.SelectItem,{value:"in-progress",children:"In Progress"}),(0,t.jsx)($.SelectItem,{value:"complete",children:"Complete"}),(0,t.jsx)($.SelectItem,{value:"archived",children:"Archived"})]})]}),(0,t.jsxs)($.Select,{value:f,onValueChange:N,children:[(0,t.jsx)($.SelectTrigger,{className:"h-8 text-xs",children:(0,t.jsx)($.SelectValue,{placeholder:"Priority"})}),(0,t.jsxs)($.SelectContent,{children:[(0,t.jsx)($.SelectItem,{value:"all",children:"All Priority"}),(0,t.jsx)($.SelectItem,{value:"low",children:"Low"}),(0,t.jsx)($.SelectItem,{value:"medium",children:"Medium"}),(0,t.jsx)($.SelectItem,{value:"high",children:"High"}),(0,t.jsx)($.SelectItem,{value:"critical",children:"Critical"})]})]}),et.length>0&&(0,t.jsxs)($.Select,{value:C,onValueChange:O,children:[(0,t.jsx)($.SelectTrigger,{className:"h-8 text-xs",children:(0,t.jsx)($.SelectValue,{placeholder:"Tag"})}),(0,t.jsxs)($.SelectContent,{children:[(0,t.jsx)($.SelectItem,{value:"all",children:"All Tags"}),et.map(e=>(0,t.jsx)($.SelectItem,{value:e,children:e},e))]})]})]}),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(m.Search,{className:"absolute left-2 top-2.5 h-4 w-4 text-muted-foreground"}),(0,t.jsx)(b.Input,{placeholder:"Search specs...",value:o,onChange:e=>c(e.target.value),className:"pl-8 h-9 border-border"})]})]}),(0,t.jsx)("div",{className:"flex-1 overflow-hidden",children:0===en.length?(0,t.jsx)("div",{className:"text-center py-8 text-sm text-muted-foreground",children:"No specs found"}):(0,t.jsx)(ea,{listRef:F,defaultHeight:es,rowCount:en.length,rowHeight:72,overscanCount:5,rowComponent:ei,rowProps:{}})})]}),L&&T&&(0,t.jsx)(y.Button,{variant:"ghost",size:"sm",onClick:()=>E(!1),className:"hidden lg:items-center lg:justify-center lg:flex h-6 w-6 p-0 fixed z-50 top-20 -translate-y-1 -translate-x-1/2 left-[calc(var(--main-sidebar-width,240px))] bg-background border",children:(0,t.jsx)(g.ChevronRight,{className:"h-4 w-4"})})]})]})}e.s(["SpecsNavSidebar",()=>q],417612)},172381,e=>{e.v(t=>Promise.all(["static/chunks/e5aab2c562822175.js","static/chunks/192b2f6118d057e2.js","static/chunks/038fb2d565c88582.js","static/chunks/2136b3131f74188f.js","static/chunks/414a78f7b9b58d11.js","static/chunks/97c8160044aea609.js","static/chunks/3276ca6fd9005903.js"].map(t=>e.l(t))).then(()=>t(396758)))}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,585458,(e,t,s)=>{e.e,t.exports=function(){"use strict";var e="millisecond",t="second",s="minute",r="hour",a="week",n="month",i="quarter",l="year",c="date",d="Invalid Date",o=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,m=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,u=function(e,t,s){var r=String(e);return!r||r.length>=t?e:""+Array(t+1-r.length).join(s)+e},h="en",p={};p[h]={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(e){var t=["th","st","nd","rd"],s=e%100;return"["+e+(t[(s-20)%10]||t[s]||t[0])+"]"}};var x="$isDayjsObject",f=function(e){return e instanceof y||!(!e||!e[x])},g=function e(t,s,r){var a;if(!t)return h;if("string"==typeof t){var n=t.toLowerCase();p[n]&&(a=n),s&&(p[n]=s,a=n);var i=t.split("-");if(!a&&i.length>1)return e(i[0])}else{var l=t.name;p[l]=t,a=l}return!r&&a&&(h=a),a||!r&&h},v=function(e,t){if(f(e))return e.clone();var s="object"==typeof t?t:{};return s.date=e,s.args=arguments,new y(s)},b={s:u,z:function(e){var t=-e.utcOffset(),s=Math.abs(t);return(t<=0?"+":"-")+u(Math.floor(s/60),2,"0")+":"+u(s%60,2,"0")},m:function e(t,s){if(t.date()<s.date())return-e(s,t);var r=12*(s.year()-t.year())+(s.month()-t.month()),a=t.clone().add(r,n),i=s-a<0,l=t.clone().add(r+(i?-1:1),n);return+(-(r+(s-a)/(i?a-l:l-a))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(d){return({M:n,y:l,w:a,d:"day",D:c,h:r,m:s,s:t,ms:e,Q:i})[d]||String(d||"").toLowerCase().replace(/s$/,"")},u:function(e){return void 0===e}};b.l=g,b.i=f,b.w=function(e,t){return v(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var y=function(){function u(e){this.$L=g(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[x]=!0}var h=u.prototype;return h.parse=function(e){this.$d=function(e){var t=e.date,s=e.utc;if(null===t)return new Date(NaN);if(b.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var r=t.match(o);if(r){var a=r[2]-1||0,n=(r[7]||"0").substring(0,3);return s?new Date(Date.UTC(r[1],a,r[3]||1,r[4]||0,r[5]||0,r[6]||0,n)):new Date(r[1],a,r[3]||1,r[4]||0,r[5]||0,r[6]||0,n)}}return new Date(t)}(e),this.init()},h.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},h.$utils=function(){return b},h.isValid=function(){return this.$d.toString()!==d},h.isSame=function(e,t){var s=v(e);return this.startOf(t)<=s&&s<=this.endOf(t)},h.isAfter=function(e,t){return v(e)<this.startOf(t)},h.isBefore=function(e,t){return this.endOf(t)<v(e)},h.$g=function(e,t,s){return b.u(e)?this[t]:this.set(s,e)},h.unix=function(){return Math.floor(this.valueOf()/1e3)},h.valueOf=function(){return this.$d.getTime()},h.startOf=function(e,i){var d=this,o=!!b.u(i)||i,m=b.p(e),u=function(e,t){var s=b.w(d.$u?Date.UTC(d.$y,t,e):new Date(d.$y,t,e),d);return o?s:s.endOf("day")},h=function(e,t){return b.w(d.toDate()[e].apply(d.toDate("s"),(o?[0,0,0,0]:[23,59,59,999]).slice(t)),d)},p=this.$W,x=this.$M,f=this.$D,g="set"+(this.$u?"UTC":"");switch(m){case l:return o?u(1,0):u(31,11);case n:return o?u(1,x):u(0,x+1);case a:var v=this.$locale().weekStart||0,y=(p<v?p+7:p)-v;return u(o?f-y:f+(6-y),x);case"day":case c:return h(g+"Hours",0);case r:return h(g+"Minutes",1);case s:return h(g+"Seconds",2);case t:return h(g+"Milliseconds",3);default:return this.clone()}},h.endOf=function(e){return this.startOf(e,!1)},h.$set=function(a,i){var d,o=b.p(a),m="set"+(this.$u?"UTC":""),u=((d={}).day=m+"Date",d[c]=m+"Date",d[n]=m+"Month",d[l]=m+"FullYear",d[r]=m+"Hours",d[s]=m+"Minutes",d[t]=m+"Seconds",d[e]=m+"Milliseconds",d)[o],h="day"===o?this.$D+(i-this.$W):i;if(o===n||o===l){var p=this.clone().set(c,1);p.$d[u](h),p.init(),this.$d=p.set(c,Math.min(this.$D,p.daysInMonth())).$d}else u&&this.$d[u](h);return this.init(),this},h.set=function(e,t){return this.clone().$set(e,t)},h.get=function(e){return this[b.p(e)]()},h.add=function(e,i){var c,d=this;e=Number(e);var o=b.p(i),m=function(t){var s=v(d);return b.w(s.date(s.date()+Math.round(t*e)),d)};if(o===n)return this.set(n,this.$M+e);if(o===l)return this.set(l,this.$y+e);if("day"===o)return m(1);if(o===a)return m(7);var u=((c={})[s]=6e4,c[r]=36e5,c[t]=1e3,c)[o]||1,h=this.$d.getTime()+e*u;return b.w(h,this)},h.subtract=function(e,t){return this.add(-1*e,t)},h.format=function(e){var t=this,s=this.$locale();if(!this.isValid())return s.invalidDate||d;var r=e||"YYYY-MM-DDTHH:mm:ssZ",a=b.z(this),n=this.$H,i=this.$m,l=this.$M,c=s.weekdays,o=s.months,u=s.meridiem,h=function(e,s,a,n){return e&&(e[s]||e(t,r))||a[s].slice(0,n)},p=function(e){return b.s(n%12||12,e,"0")},x=u||function(e,t,s){var r=e<12?"AM":"PM";return s?r.toLowerCase():r};return r.replace(m,function(e,r){return r||function(e){switch(e){case"YY":return String(t.$y).slice(-2);case"YYYY":return b.s(t.$y,4,"0");case"M":return l+1;case"MM":return b.s(l+1,2,"0");case"MMM":return h(s.monthsShort,l,o,3);case"MMMM":return h(o,l);case"D":return t.$D;case"DD":return b.s(t.$D,2,"0");case"d":return String(t.$W);case"dd":return h(s.weekdaysMin,t.$W,c,2);case"ddd":return h(s.weekdaysShort,t.$W,c,3);case"dddd":return c[t.$W];case"H":return String(n);case"HH":return b.s(n,2,"0");case"h":return p(1);case"hh":return p(2);case"a":return x(n,i,!0);case"A":return x(n,i,!1);case"m":return String(i);case"mm":return b.s(i,2,"0");case"s":return String(t.$s);case"ss":return b.s(t.$s,2,"0");case"SSS":return b.s(t.$ms,3,"0");case"Z":return a}return null}(e)||a.replace(":","")})},h.utcOffset=function(){return-(15*Math.round(this.$d.getTimezoneOffset()/15))},h.diff=function(e,c,d){var o,m=this,u=b.p(c),h=v(e),p=(h.utcOffset()-this.utcOffset())*6e4,x=this-h,f=function(){return b.m(m,h)};switch(u){case l:o=f()/12;break;case n:o=f();break;case i:o=f()/3;break;case a:o=(x-p)/6048e5;break;case"day":o=(x-p)/864e5;break;case r:o=x/36e5;break;case s:o=x/6e4;break;case t:o=x/1e3;break;default:o=x}return d?o:b.a(o)},h.daysInMonth=function(){return this.endOf(n).$D},h.$locale=function(){return p[this.$L]},h.locale=function(e,t){if(!e)return this.$L;var s=this.clone(),r=g(e,t,!0);return r&&(s.$L=r),s},h.clone=function(){return b.w(this.$d,this)},h.toDate=function(){return new Date(this.valueOf())},h.toJSON=function(){return this.isValid()?this.toISOString():null},h.toISOString=function(){return this.$d.toISOString()},h.toString=function(){return this.$d.toUTCString()},u}(),w=y.prototype;return v.prototype=w,[["$ms",e],["$s",t],["$m",s],["$H",r],["$W","day"],["$M",n],["$y",l],["$D",c]].forEach(function(e){w[e[1]]=function(t){return this.$g(t,e[0],e[1])}}),v.extend=function(e,t){return e.$i||(e(t,y,v),e.$i=!0),v},v.locale=g,v.isDayjs=f,v.unix=function(e){return v(1e3*e)},v.en=p[h],v.Ls=p,v.p={},v}()},522764,e=>{"use strict";let t=(0,e.i(122436).default)("list",[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]]);e.s(["List",()=>t],522764)},635389,e=>{"use strict";let t=(0,e.i(122436).default)("maximize-2",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"m21 3-7 7",key:"1l2asr"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M9 21H3v-6",key:"wtvkvv"}]]);e.s(["Maximize2",()=>t],635389)},730885,340982,e=>{"use strict";var t=e.i(122436);let s=(0,t.default)("git-branch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);e.s(["GitBranch",()=>s],730885);let r=(0,t.default)("minimize-2",[["path",{d:"m14 10 7-7",key:"oa77jy"}],["path",{d:"M20 10h-6V4",key:"mjg0md"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M4 14h6v6",key:"rmj7iw"}]]);e.s(["Minimize2",()=>r],340982)},76075,e=>{"use strict";var t=e.i(890022),s=e.i(431231),r=e.i(632137);let a=s.forwardRef(({className:e,...s},a)=>(0,t.jsx)("div",{ref:a,className:(0,r.cn)("rounded-xl border border-gray-200 dark:border-gray-800 bg-card text-card-foreground shadow",e),...s}));a.displayName="Card";let n=s.forwardRef(({className:e,...s},a)=>(0,t.jsx)("div",{ref:a,className:(0,r.cn)("flex flex-col space-y-1.5 p-6",e),...s}));n.displayName="CardHeader";let i=s.forwardRef(({className:e,...s},a)=>(0,t.jsx)("div",{ref:a,className:(0,r.cn)("font-semibold leading-none tracking-tight",e),...s}));i.displayName="CardTitle";let l=s.forwardRef(({className:e,...s},a)=>(0,t.jsx)("div",{ref:a,className:(0,r.cn)("text-sm text-muted-foreground",e),...s}));l.displayName="CardDescription";let c=s.forwardRef(({className:e,...s},a)=>(0,t.jsx)("div",{ref:a,className:(0,r.cn)("p-6 pt-0",e),...s}));c.displayName="CardContent",s.forwardRef(({className:e,...s},a)=>(0,t.jsx)("div",{ref:a,className:(0,r.cn)("flex items-center p-6 pt-0",e),...s})).displayName="CardFooter",e.s(["Card",()=>a,"CardContent",()=>c,"CardDescription",()=>l,"CardHeader",()=>n,"CardTitle",()=>i])},416992,e=>{"use strict";let t=(0,e.i(122436).default)("layout-grid",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]]);e.s(["LayoutGrid",()=>t],416992)},310009,e=>{"use strict";var t=e.i(890022),s=e.i(431231),r=e.i(987985),a=e.i(230827),n=e.i(76075),i=e.i(323490),l=e.i(21079),c=e.i(235893),d=e.i(708737),o=e.i(300329),m=e.i(196812),u=e.i(75364),h=e.i(40843),p=e.i(490225),x=e.i(416992),f=e.i(522764),g=e.i(20315),v=e.i(730885),b=e.i(635389),y=e.i(340982),w=e.i(826712),j=e.i(525761),N=e.i(168497),C=e.i(597705),$=e.i(632137),S=e.i(145878);e.i(178420);var k=e.i(995403);let M={planned:{icon:h.Clock,title:"Planned",colorClass:"text-blue-600 dark:text-blue-400",bgClass:"bg-blue-50 dark:bg-blue-900/20",borderClass:"border-blue-200 dark:border-blue-800"},"in-progress":{icon:u.PlayCircle,title:"In Progress",colorClass:"text-orange-600 dark:text-orange-400",bgClass:"bg-orange-50 dark:bg-orange-900/20",borderClass:"border-orange-200 dark:border-orange-800"},complete:{icon:m.CheckCircle2,title:"Complete",colorClass:"text-green-600 dark:text-green-400",bgClass:"bg-green-50 dark:bg-green-900/20",borderClass:"border-green-200 dark:border-green-800"},archived:{icon:p.Archive,title:"Archived",colorClass:"text-gray-600 dark:text-gray-400",bgClass:"bg-gray-50 dark:bg-gray-900/20",borderClass:"border-gray-200 dark:border-gray-800"}},D=["planned","in-progress","complete","archived"];function T({initialSpecs:e,projectId:r}){let n=(0,a.useSearchParams)(),i=(0,a.useRouter)(),[m,u]=(0,s.useState)(e),[h,p]=(0,s.useState)({}),[g,v]=(0,s.useState)(""),[w,j]=(0,s.useState)("all"),[N,C]=(0,s.useState)("all"),[S,D]=(0,s.useState)("id-desc"),[T,A]=(0,s.useState)(!1),[L,H]=(0,s.useState)(!1),[_,B]=(0,s.useState)(()=>{let e=n.get("view");if("board"===e||"list"===e)return e;{let e=localStorage.getItem("specs-view-mode");if("board"===e||"list"===e)return e}return"list"}),z=(0,s.useRef)(!0);(0,s.useEffect)(()=>{u(e)},[e]);let P=(0,s.useCallback)(async(e,t)=>{if(e.status===t)return;let s=e.status;p(t=>({...t,[e.id]:!0})),u(s=>s.map(s=>s.id===e.id?{...s,status:t}:s));try{let s=r?`/api/projects/${r}/specs/${encodeURIComponent(e.specName)}/status`:`/api/specs/${encodeURIComponent(e.specName)}/status`,a=await fetch(s,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:t})});if(!a.ok){let e=await a.text();throw Error(e||"Failed to update spec status")}let n=e.specNumber?`#${e.specNumber}`:e.specName;k.toast.success(`Moved ${n} to ${M[t].title}`)}catch(t){console.error("Failed to update spec status",t),u(t=>t.map(t=>t.id===e.id?{...t,status:s}:t)),k.toast.error("Unable to update status. Please try again.")}finally{p(t=>{let s={...t};return delete s[e.id],s})}},[]);(0,s.useEffect)(()=>{"archived"===w&&"board"===_&&A(!0)},[w,_]),(0,s.useEffect)(()=>{if(z.current){z.current=!1;return}let e=new URLSearchParams(window.location.search);"board"===_?e.set("view","board"):e.delete("view");let t=e.toString(),s=t?`?${t}`:"";i.replace(`/specs${s}`,{scroll:!1}),localStorage.setItem("specs-view-mode",_)},[_,i]);let R=(0,s.useMemo)(()=>{let e=[...m.filter(e=>{let t=!g||e.title?.toLowerCase().includes(g.toLowerCase())||e.specName.toLowerCase().includes(g.toLowerCase())||e.tags?.some(e=>e.toLowerCase().includes(g.toLowerCase())),s="all"===w?"list"!==_||"archived"!==e.status:e.status===w,r="all"===N||e.priority===N;return t&&s&&r})];switch(S){case"id-desc":e.sort((e,t)=>(t.specNumber||0)-(e.specNumber||0));break;case"id-asc":e.sort((e,t)=>(e.specNumber||0)-(t.specNumber||0));break;case"updated-desc":e.sort((e,t)=>e.updatedAt?t.updatedAt?t.updatedAt.getTime()-e.updatedAt.getTime():-1:1);break;case"title-asc":e.sort((e,t)=>{let s=(e.title||e.specName).toLowerCase(),r=(t.title||t.specName).toLowerCase();return s.localeCompare(r)})}return e},[m,g,w,N,S,_]);return(0,t.jsx)("div",{className:"h-[calc(100vh-3.5rem)] flex flex-col overflow-hidden bg-background p-2 sm:p-4",children:(0,t.jsxs)("div",{className:(0,$.cn)("flex flex-col h-full mx-auto transition-all duration-300",L?"w-full":"max-w-7xl w-full"),children:[(0,t.jsx)("div",{className:"flex-none mb-3 sm:mb-4",children:(0,t.jsxs)("div",{className:"flex flex-col gap-2 sm:gap-3 md:gap-4",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("h1",{className:"text-lg sm:text-xl md:text-2xl font-bold tracking-tight truncate",children:"Specifications"}),(0,t.jsxs)("p",{className:"text-xs sm:text-sm text-muted-foreground",children:[R.length," specs"]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1.5 sm:gap-2 flex-shrink-0",children:[(0,t.jsxs)("div",{className:"flex items-center gap-0.5 sm:gap-1 bg-muted/50 p-0.5 sm:p-1 rounded-lg",children:[(0,t.jsxs)(c.Button,{variant:"list"===_?"secondary":"ghost",size:"sm",onClick:()=>B("list"),className:"h-7 sm:h-8 px-2 sm:px-3",title:"List view",children:[(0,t.jsx)(f.List,{className:"h-3.5 w-3.5 sm:h-4 sm:w-4"}),(0,t.jsx)("span",{className:"hidden lg:inline ml-2",children:"List"})]}),(0,t.jsxs)(c.Button,{variant:"board"===_?"secondary":"ghost",size:"sm",onClick:()=>B("board"),className:"h-7 sm:h-8 px-2 sm:px-3",title:"Board view",children:[(0,t.jsx)(x.LayoutGrid,{className:"h-3.5 w-3.5 sm:h-4 sm:w-4"}),(0,t.jsx)("span",{className:"hidden lg:inline ml-2",children:"Board"})]})]}),(0,t.jsx)(c.Button,{variant:"ghost",size:"icon",onClick:()=>H(!L),className:"hidden md:flex h-8 w-8 sm:h-10 sm:w-10 text-muted-foreground hover:text-foreground",title:L?"Exit wide mode":"Enter wide mode",children:L?(0,t.jsx)(y.Minimize2,{className:"h-3.5 w-3.5 sm:h-4 sm:w-4"}):(0,t.jsx)(b.Maximize2,{className:"h-3.5 w-3.5 sm:h-4 sm:w-4"})})]})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsxs)("div",{className:"relative w-full",children:[(0,t.jsx)(o.Search,{className:"absolute left-2.5 top-1/2 -translate-y-1/2 h-3.5 w-3.5 sm:h-4 sm:w-4 text-muted-foreground pointer-events-none"}),(0,t.jsx)(l.Input,{placeholder:"Search specs...",value:g,onChange:e=>v(e.target.value),className:"pl-8 sm:pl-9 h-9 sm:h-10 w-full text-sm"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2 overflow-x-auto snap-x snap-mandatory pb-1 -mx-2 px-2 sm:mx-0 sm:px-0 sm:pb-0 scrollbar-thin",children:[(0,t.jsxs)(d.Select,{value:w,onValueChange:e=>j(e),children:[(0,t.jsx)(d.SelectTrigger,{className:"w-[110px] sm:w-[130px] h-9 sm:h-10 flex-shrink-0 snap-start text-xs sm:text-sm",children:(0,t.jsx)(d.SelectValue,{placeholder:"Status"})}),(0,t.jsxs)(d.SelectContent,{children:[(0,t.jsx)(d.SelectItem,{value:"all",children:"All Status"}),(0,t.jsx)(d.SelectItem,{value:"planned",children:"Planned"}),(0,t.jsx)(d.SelectItem,{value:"in-progress",children:"In Progress"}),(0,t.jsx)(d.SelectItem,{value:"complete",children:"Complete"}),(0,t.jsx)(d.SelectItem,{value:"archived",children:"Archived"})]})]}),(0,t.jsxs)(d.Select,{value:N,onValueChange:C,children:[(0,t.jsx)(d.SelectTrigger,{className:"w-[110px] sm:w-[130px] h-9 sm:h-10 flex-shrink-0 snap-start text-xs sm:text-sm",children:(0,t.jsx)(d.SelectValue,{placeholder:"Priority"})}),(0,t.jsxs)(d.SelectContent,{children:[(0,t.jsx)(d.SelectItem,{value:"all",children:"All Priority"}),(0,t.jsx)(d.SelectItem,{value:"critical",children:"Critical"}),(0,t.jsx)(d.SelectItem,{value:"high",children:"High"}),(0,t.jsx)(d.SelectItem,{value:"medium",children:"Medium"}),(0,t.jsx)(d.SelectItem,{value:"low",children:"Low"})]})]}),(0,t.jsxs)(d.Select,{value:S,onValueChange:e=>D(e),children:[(0,t.jsx)(d.SelectTrigger,{className:"w-[130px] sm:w-[170px] h-9 sm:h-10 flex-shrink-0 snap-start text-xs sm:text-sm",children:(0,t.jsx)(d.SelectValue,{placeholder:"Sort by"})}),(0,t.jsxs)(d.SelectContent,{children:[(0,t.jsx)(d.SelectItem,{value:"id-desc",children:"Newest First"}),(0,t.jsx)(d.SelectItem,{value:"id-asc",children:"Oldest First"}),(0,t.jsx)(d.SelectItem,{value:"updated-desc",children:"Recently Updated"}),(0,t.jsx)(d.SelectItem,{value:"title-asc",children:"Title (A-Z)"})]})]})]})]})]})}),(0,t.jsx)("div",{className:(0,$.cn)("flex-1 min-h-0","board"===_?"overflow-x-auto overflow-y-hidden":"overflow-y-auto"),children:"list"===_?(0,t.jsx)("div",{className:"w-full",children:(0,t.jsx)(O,{specs:R})}):(0,t.jsx)(I,{specs:R,onStatusChange:P,pendingSpecIds:h,showArchived:T,onToggleArchived:()=>A(!T)})})]})})}function O({specs:e}){return(0,t.jsx)("div",{className:"grid grid-cols-1 gap-2 sm:gap-3 md:gap-4 pb-2 sm:pb-4 md:pb-8",children:e.map(e=>{let s={critical:"border-l-red-500",high:"border-l-orange-500",medium:"border-l-blue-500",low:"border-l-gray-400"}[e.priority]||"border-l-gray-300",a=e.relationships&&(e.relationships.dependsOn.length>0||e.relationships.related.length>0),l=!!(e.subSpecsCount&&e.subSpecsCount>0);return(0,t.jsxs)(n.Card,{className:(0,$.cn)("hover:shadow-lg active:shadow-xl transition-all duration-150 hover:scale-[1.01] active:scale-[0.99] border-l-4 cursor-pointer touch-manipulation",s),onClick:()=>window.location.href=`/specs/${e.specNumber||e.id}`,children:[(0,t.jsx)(n.CardHeader,{className:"pb-2 sm:pb-2.5 md:pb-3 px-3 sm:px-4 md:px-6 pt-3 sm:pt-4 md:pt-6",children:(0,t.jsxs)("div",{className:"flex flex-col gap-2 md:flex-row md:items-start md:justify-between md:gap-4",children:[(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsx)(r.default,{href:`/specs/${e.specNumber||e.id}`,children:(0,t.jsxs)(n.CardTitle,{className:"text-sm sm:text-base md:text-lg font-semibold hover:text-primary transition-colors flex items-start flex-wrap gap-1.5 sm:gap-2 leading-snug sm:leading-normal",children:[e.specNumber?(0,t.jsxs)("span",{className:"font-mono text-xs sm:text-sm md:text-base font-normal text-muted-foreground flex-shrink-0",children:["#",e.specNumber.toString().padStart(3,"0")]}):null,(0,t.jsx)("span",{className:"flex-1 break-words",children:e.title||e.specName})]})}),e.title&&e.title!==e.specName&&(0,t.jsx)("p",{className:"text-[11px] sm:text-xs font-mono text-muted-foreground mt-1 sm:mt-1.5 truncate",children:e.specName})]}),(0,t.jsxs)("div",{className:"flex gap-1.5 sm:gap-2 flex-wrap md:shrink-0",children:[e.status&&(0,t.jsx)(N.StatusBadge,{status:e.status}),e.priority&&(0,t.jsx)(C.PriorityBadge,{priority:e.priority})]})]})}),(0,t.jsx)(n.CardContent,{className:"px-3 sm:px-4 md:px-6 pb-2.5 sm:pb-3 md:pb-6 pt-0",children:(0,t.jsxs)("div",{className:"flex flex-col gap-2 md:flex-row md:items-center md:justify-between md:gap-4",children:[(0,t.jsx)("div",{className:"flex items-center gap-2 sm:gap-3 md:gap-4 text-[11px] sm:text-xs md:text-sm text-muted-foreground flex-wrap",children:e.updatedAt||l||a?(0,t.jsxs)(t.Fragment,{children:[e.updatedAt&&(0,t.jsxs)("div",{className:"flex items-center gap-1 sm:gap-1.5",children:[(0,t.jsx)(h.Clock,{className:"h-3 w-3 sm:h-3.5 sm:w-3.5 flex-shrink-0"}),(0,t.jsxs)("span",{className:"whitespace-nowrap",children:["Updated ",(0,S.formatRelativeTime)(e.updatedAt)]})]}),l&&(0,t.jsxs)("div",{className:"flex items-center gap-1 sm:gap-1.5",children:[(0,t.jsx)(g.FileText,{className:"h-3 w-3 sm:h-3.5 sm:w-3.5 flex-shrink-0"}),(0,t.jsxs)("span",{className:"whitespace-nowrap",children:["+",e.subSpecsCount," files"]})]}),a&&(0,t.jsxs)("div",{className:"flex items-center gap-1 sm:gap-1.5",children:[(0,t.jsx)(v.GitBranch,{className:"h-3 w-3 sm:h-3.5 sm:w-3.5 flex-shrink-0"}),(0,t.jsxs)("span",{className:"whitespace-nowrap",children:[e.relationships.dependsOn.length>0&&`${e.relationships.dependsOn.length} deps`,e.relationships.dependsOn.length>0&&e.relationships.related.length>0&&", ",e.relationships.related.length>0&&`${e.relationships.related.length} related`]})]})]}):(0,t.jsx)("span",{className:"invisible hidden md:inline",children:"No metadata"})}),e.tags&&e.tags.length>0&&(0,t.jsx)("div",{className:"flex flex-wrap gap-1 sm:gap-1.5 md:gap-2 md:justify-end md:shrink-0",children:e.tags.map(e=>(0,t.jsx)(i.Badge,{variant:"outline",className:"text-[10px] sm:text-xs font-mono text-muted-foreground hover:text-foreground transition-colors h-5 sm:h-auto px-1.5 sm:px-2",children:e},e))})]})})]},e.id)})})}function I({specs:e,onStatusChange:a,pendingSpecIds:l,showArchived:c,onToggleArchived:d}){let[o,m]=(0,s.useState)(null),[u,h]=(0,s.useState)(null),[p,x]=(0,s.useState)({}),f=(0,s.useMemo)(()=>D.map(t=>({status:t,config:M[t],specs:e.filter(e=>e.status===t)})),[e]),g=(0,s.useMemo)(()=>{let t=new Map;return e.forEach(e=>t.set(e.id,e)),t},[e]),v=(0,s.useCallback)((e,t)=>{t.dataTransfer.setData("text/plain",e),t.dataTransfer.effectAllowed="move",m(e)},[]),b=(0,s.useCallback)(()=>{m(null),h(null)},[]),y=(0,s.useCallback)((e,t)=>{o&&(t.preventDefault(),t.dataTransfer.dropEffect="move",h(e))},[o]),N=(0,s.useCallback)((e,t)=>{if(!o)return;let s=t.relatedTarget;s&&t.currentTarget.contains(s)||h(t=>t===e?null:t)},[o]),S=(0,s.useCallback)((e,t)=>{t.preventDefault();let s=t.dataTransfer.getData("text/plain")||o;if(!s)return void b();let r=g.get(s);r&&r.status!==e&&a(r,e),b()},[o,b,a,g]);return(0,t.jsx)("div",{className:"flex flex-col md:flex-row gap-3 sm:gap-4 md:gap-6 h-full pb-2 md:snap-x md:snap-mandatory overflow-y-auto md:overflow-y-hidden md:overflow-x-auto",children:f.map(e=>{let s=e.config.icon,a="archived"===e.status,m=p[e.status];return(0,t.jsxs)("div",{className:(0,$.cn)("flex flex-col flex-1 snap-start","h-auto md:h-full w-full md:w-auto flex-shrink-0",a&&!c?"md:w-12 md:sm:w-14 md:min-w-[3rem] md:sm:min-w-[3.5rem] flex-none":"md:min-w-[260px] md:sm:min-w-[280px] md:md:min-w-[300px]"),children:[(0,t.jsx)("div",{className:(0,$.cn)("flex-none mb-3 sm:mb-4 rounded-lg border-2 bg-background transition-all touch-manipulation",e.config.bgClass,e.config.borderClass,a?"cursor-pointer hover:opacity-80 active:opacity-70":"",a&&!c?"py-4 sm:py-6 px-1.5 sm:px-2":"p-2.5 sm:p-3","md:cursor-default cursor-pointer"),onClick:()=>{if(a)d();else{var t;window.innerWidth<768&&(t=e.status,x(e=>({...e,[t]:!e[t]})))}},children:(0,t.jsxs)("h2",{className:(0,$.cn)("text-base sm:text-lg font-semibold flex items-center gap-1.5 sm:gap-2",e.config.colorClass,a&&!c&&"flex-col text-xs sm:text-sm gap-2 sm:gap-3"),children:[(0,t.jsx)(s,{className:"h-4 w-4 sm:h-5 sm:w-5 flex-shrink-0"}),a&&!c?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"vertical-text text-xs sm:text-sm whitespace-nowrap",children:e.config.title}),(0,t.jsx)(i.Badge,{variant:"outline",className:"text-[10px] sm:text-xs px-1 sm:px-2 h-4 sm:h-5",children:e.specs.length})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"truncate flex-1",children:e.config.title}),(0,t.jsx)(i.Badge,{variant:"outline",className:"text-[10px] sm:text-xs px-1.5 sm:px-2 h-4 sm:h-5 flex-shrink-0",children:e.specs.length}),(0,t.jsx)("div",{className:"md:hidden ml-2 text-muted-foreground/50",children:m?(0,t.jsx)(j.ChevronRight,{className:"h-4 w-4"}):(0,t.jsx)(w.ChevronDown,{className:"h-4 w-4"})})]})]})}),(!a||c)&&!m&&(0,t.jsxs)("div",{className:(0,$.cn)("space-y-2 sm:space-y-2.5 md:space-y-3 flex-1 rounded-xl border border-transparent p-1 transition-colors overflow-y-auto min-h-0 scrollbar-thin",o&&"border-dashed border-muted-foreground/40",o&&u===e.status&&"bg-muted/40 border-primary/50"),onDragOver:t=>y(e.status,t),onDragLeave:t=>N(e.status,t),onDrop:t=>S(e.status,t),children:[e.specs.map(e=>{let s={critical:"border-l-red-500",high:"border-l-orange-500",medium:"border-l-blue-500",low:"border-l-gray-400"}[e.priority]||"border-l-gray-300",a=!!l[e.id];return(0,t.jsxs)(n.Card,{draggable:!a,onDragStart:t=>{a?t.preventDefault():v(e.id,t)},onDragEnd:b,"aria-disabled":a,className:(0,$.cn)("relative hover:shadow-lg active:shadow-xl transition-all duration-150 hover:scale-[1.02] active:scale-[0.99] border-l-4 cursor-pointer group flex flex-col touch-manipulation",s,a&&"opacity-60 cursor-wait"),onClick:()=>window.location.href=`/specs/${e.specNumber||e.id}`,children:[a&&(0,t.jsx)("div",{className:"absolute inset-0 rounded-lg bg-background/80 flex items-center justify-center text-xs sm:text-sm font-medium z-10",children:"Updating..."}),(0,t.jsxs)(n.CardHeader,{className:"p-3 sm:p-4 pb-1.5 sm:pb-2 space-y-1 sm:space-y-1.5",children:[(0,t.jsx)("div",{className:"flex items-center justify-between",children:(0,t.jsx)("span",{className:"font-mono text-[10px] sm:text-xs text-muted-foreground/70 group-hover:text-primary/60 transition-colors",children:e.specNumber?`#${e.specNumber}`:""})}),(0,t.jsx)(r.default,{href:`/specs/${e.specNumber||e.id}`,className:"block",children:(0,t.jsx)(n.CardTitle,{className:"text-xs sm:text-sm font-semibold leading-snug hover:text-primary transition-colors line-clamp-3",children:e.title||e.specName})})]}),(0,t.jsx)(n.CardContent,{className:"p-3 sm:p-4 pt-1.5 sm:pt-2 flex-1 flex flex-col justify-end",children:(0,t.jsxs)("div",{className:"flex flex-col gap-2 sm:gap-3",children:[e.title&&e.title!==e.specName&&(0,t.jsx)("p",{className:"text-[10px] sm:text-xs font-mono text-muted-foreground truncate opacity-70",children:e.specName}),(0,t.jsxs)("div",{className:"flex items-center justify-between gap-1.5 sm:gap-2 pt-0.5 sm:pt-1",children:[e.priority?(0,t.jsx)(C.PriorityBadge,{priority:e.priority}):(0,t.jsx)("div",{}),e.tags&&e.tags.length>0&&(0,t.jsxs)("div",{className:"flex flex-wrap gap-0.5 sm:gap-1 justify-end",children:[e.tags.slice(0,2).map(e=>(0,t.jsx)(i.Badge,{variant:"outline",className:"text-[9px] sm:text-[10px] px-1 sm:px-1.5 h-4 sm:h-5 font-mono text-muted-foreground/80",children:e},e)),e.tags.length>2&&(0,t.jsxs)(i.Badge,{variant:"outline",className:"text-[9px] sm:text-[10px] px-1 sm:px-1.5 h-4 sm:h-5 font-mono text-muted-foreground/80",children:["+",e.tags.length-2]})]})]})]})})]},e.id)}),0===e.specs.length&&(0,t.jsx)(n.Card,{className:"border-dashed border-gray-300 dark:border-gray-700 bg-transparent",children:(0,t.jsxs)(n.CardContent,{className:"py-6 sm:py-8 text-center px-2",children:[(0,t.jsx)(s,{className:(0,$.cn)("mx-auto h-6 w-6 sm:h-8 sm:w-8 mb-1.5 sm:mb-2",e.config.colorClass,"opacity-50")}),(0,t.jsx)("p",{className:"text-xs sm:text-sm text-muted-foreground",children:"Drop here to move specs"})]})})]})]},e.status)})})}e.s(["SpecsClient",()=>T])}]);
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,6454,(e,t,r)=>{"use strict";function n({widthInt:e,heightInt:t,blurWidth:r,blurHeight:n,blurDataURL:i,objectFit:s}){let a=r?40*r:e,o=n?40*n:t,l=a&&o?`viewBox='0 0 ${a} ${o}'`:"";return`%3Csvg xmlns='http://www.w3.org/2000/svg' ${l}%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='${l?"none":"contain"===s?"xMidYMid":"cover"===s?"xMidYMid slice":"none"}' style='filter: url(%23b);' href='${i}'/%3E%3C/svg%3E`}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImageBlurSvg",{enumerable:!0,get:function(){return n}})},594547,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={VALID_LOADERS:function(){return s},imageConfigDefault:function(){return a}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let s=["default","imgix","cloudinary","akamai","custom"],a={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:14400,formats:["image/webp"],maximumRedirects:3,dangerouslyAllowLocalIP:!1,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:[75],unoptimized:!1}},550696,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImgProps",{enumerable:!0,get:function(){return l}}),e.r(56863);let n=e.r(6454),i=e.r(594547),s=["-moz-initial","fill","none","scale-down",void 0];function a(e){return void 0!==e.default}function o(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function l({src:e,sizes:t,unoptimized:r=!1,priority:l=!1,preload:u=!1,loading:c,className:d,quality:h,width:f,height:p,fill:m=!1,style:g,overrideSrc:v,onLoad:x,onLoadingComplete:b,placeholder:y="empty",blurDataURL:w,fetchPriority:C,decoding:j="async",layout:E,objectFit:A,objectPosition:k,lazyBoundary:S,lazyRoot:_,...N},P){var D;let R,F,M,{imgConf:I,showAltText:B,blurComplete:O,defaultLoader:$}=P,L=I||i.imageConfigDefault;if("allSizes"in L)R=L;else{let e=[...L.deviceSizes,...L.imageSizes].sort((e,t)=>e-t),t=L.deviceSizes.sort((e,t)=>e-t),r=L.qualities?.sort((e,t)=>e-t);R={...L,allSizes:e,deviceSizes:t,qualities:r}}if(void 0===$)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let z=N.loader||$;delete N.loader,delete N.srcSet;let T="__next_img_default"in z;if(T){if("custom"===R.loader)throw Object.defineProperty(Error(`Image with src "${e}" is missing "loader" prop.
|
|
2
|
-
Read more: https://nextjs.org/docs/messages/next-image-missing-loader`),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let e=z;z=t=>{let{config:r,...n}=t;return e(n)}}if(E){"fill"===E&&(m=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[E];e&&(g={...g,...e});let r={responsive:"100vw",fill:"100vw"}[E];r&&!t&&(t=r)}let q="",H=o(f),G=o(p);if((D=e)&&"object"==typeof D&&(a(D)||void 0!==D.src)){let t=a(e)?e.default:e;if(!t.src)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!t.height||!t.width)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(F=t.blurWidth,M=t.blurHeight,w=w||t.blurDataURL,q=t.src,!m)if(H||G){if(H&&!G){let e=H/t.width;G=Math.round(t.height*e)}else if(!H&&G){let e=G/t.height;H=Math.round(t.width*e)}}else H=t.width,G=t.height}let V=!l&&!u&&("lazy"===c||void 0===c);(!(e="string"==typeof e?e:q)||e.startsWith("data:")||e.startsWith("blob:"))&&(r=!0,V=!1),R.unoptimized&&(r=!0),T&&!R.dangerouslyAllowSVG&&e.split("?",1)[0].endsWith(".svg")&&(r=!0);let W=o(h),K=Object.assign(m?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:A,objectPosition:k}:{},B?{}:{color:"transparent"},g),U=O||"empty"===y?null:"blur"===y?`url("data:image/svg+xml;charset=utf-8,${(0,n.getImageBlurSvg)({widthInt:H,heightInt:G,blurWidth:F,blurHeight:M,blurDataURL:w||"",objectFit:K.objectFit})}")`:`url("${y}")`,J=s.includes(K.objectFit)?"fill"===K.objectFit?"100% 100%":"cover":K.objectFit,X=U?{backgroundSize:J,backgroundPosition:K.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:U}:{},Q=function({config:e,src:t,unoptimized:r,width:n,quality:i,sizes:s,loader:a}){if(r)return{src:t,srcSet:void 0,sizes:void 0};let{widths:o,kind:l}=function({deviceSizes:e,allSizes:t},r,n){if(n){let r=/(^|\s)(1?\d?\d)vw/g,i=[];for(let e;e=r.exec(n);)i.push(parseInt(e[2]));if(i.length){let r=.01*Math.min(...i);return{widths:t.filter(t=>t>=e[0]*r),kind:"w"}}return{widths:t,kind:"w"}}return"number"!=typeof r?{widths:e,kind:"w"}:{widths:[...new Set([r,2*r].map(e=>t.find(t=>t>=e)||t[t.length-1]))],kind:"x"}}(e,n,s),u=o.length-1;return{sizes:s||"w"!==l?s:"100vw",srcSet:o.map((r,n)=>`${a({config:e,src:t,quality:i,width:r})} ${"w"===l?r:n+1}${l}`).join(", "),src:a({config:e,src:t,quality:i,width:o[u]})}}({config:R,src:e,unoptimized:r,width:H,quality:W,sizes:t,loader:z}),Y=V?"lazy":c;return{props:{...N,loading:Y,fetchPriority:C,width:H,height:G,decoding:j,className:d,style:{...K,...X},sizes:Q.sizes,srcSet:Q.srcSet,src:v||Q.src},meta:{unoptimized:r,preload:u||l,placeholder:y,fill:m}}}},29549,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return o}});let n=e.r(431231),i="undefined"==typeof window,s=i?()=>{}:n.useLayoutEffect,a=i?()=>{}:n.useEffect;function o(e){let{headManager:t,reduceComponentsToState:r}=e;function o(){if(t&&t.mountedInstances){let e=n.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(r(e))}}return i&&(t?.mountedInstances?.add(e.children),o()),s(()=>(t?.mountedInstances?.add(e.children),()=>{t?.mountedInstances?.delete(e.children)})),s(()=>(t&&(t._pendingUpdate=o),()=>{t&&(t._pendingUpdate=o)})),a(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},582032,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return m},defaultHead:function(){return d}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let s=e.r(481258),a=e.r(744066),o=e.r(890022),l=a._(e.r(431231)),u=s._(e.r(29549)),c=e.r(392600);function d(){return[(0,o.jsx)("meta",{charSet:"utf-8"},"charset"),(0,o.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")]}function h(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===l.default.Fragment?e.concat(l.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}e.r(56863);let f=["name","httpEquiv","charSet","itemProp"];function p(e){let t,r,n,i;return e.reduce(h,[]).reverse().concat(d().reverse()).filter((t=new Set,r=new Set,n=new Set,i={},e=>{let s=!0,a=!1;if(e.key&&"number"!=typeof e.key&&e.key.indexOf("$")>0){a=!0;let r=e.key.slice(e.key.indexOf("$")+1);t.has(r)?s=!1:t.add(r)}switch(e.type){case"title":case"base":r.has(e.type)?s=!1:r.add(e.type);break;case"meta":for(let t=0,r=f.length;t<r;t++){let r=f[t];if(e.props.hasOwnProperty(r))if("charSet"===r)n.has(r)?s=!1:n.add(r);else{let t=e.props[r],n=i[r]||new Set;("name"!==r||!a)&&n.has(t)?s=!1:(n.add(t),i[r]=n)}}}return s})).reverse().map((e,t)=>{let r=e.key||t;return l.default.cloneElement(e,{key:r})})}let m=function({children:e}){let t=(0,l.useContext)(c.HeadManagerContext);return(0,o.jsx)(u.default,{reduceComponentsToState:p,headManager:t,children:e})};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},111258,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ImageConfigContext",{enumerable:!0,get:function(){return s}});let n=e.r(481258)._(e.r(431231)),i=e.r(594547),s=n.default.createContext(i.imageConfigDefault)},394453,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"RouterContext",{enumerable:!0,get:function(){return n}});let n=e.r(481258)._(e.r(431231)).default.createContext(null)},781035,(e,t,r)=>{"use strict";function n(e,t){let r=e||75;return t?.qualities?.length?t.qualities.reduce((e,t)=>Math.abs(t-r)<Math.abs(e-r)?t:e,0):r}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"findClosestQuality",{enumerable:!0,get:function(){return n}})},765774,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return s}});let n=e.r(781035);function i({config:e,src:t,width:r,quality:i}){if(t.startsWith("/")&&t.includes("?")&&e.localPatterns?.length===1&&"**"===e.localPatterns[0].pathname&&""===e.localPatterns[0].search)throw Object.defineProperty(Error(`Image with src "${t}" is using a query string which is not configured in images.localPatterns.
|
|
3
|
-
Read more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`),"__NEXT_ERROR_CODE",{value:"E871",enumerable:!1,configurable:!0});let s=(0,n.findClosestQuality)(i,e);return`${e.path}?url=${encodeURIComponent(t)}&w=${r}&q=${s}${t.startsWith("/_next/static/media/"),""}`}i.__next_img_default=!0;let s=i},881988,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"Image",{enumerable:!0,get:function(){return y}});let n=e.r(481258),i=e.r(744066),s=e.r(890022),a=i._(e.r(431231)),o=n._(e.r(395635)),l=n._(e.r(582032)),u=e.r(550696),c=e.r(594547),d=e.r(111258);e.r(56863);let h=e.r(394453),f=n._(e.r(765774)),p=e.r(266500),m={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1};function g(e,t,r,n,i,s,a){let o=e?.src;e&&e["data-loaded-src"]!==o&&(e["data-loaded-src"]=o,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&i(!0),r?.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let n=!1,i=!1;r.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>n,isPropagationStopped:()=>i,persist:()=>{},preventDefault:()=>{n=!0,t.preventDefault()},stopPropagation:()=>{i=!0,t.stopPropagation()}})}n?.current&&n.current(e)}}))}function v(e){return a.use?{fetchPriority:e}:{fetchpriority:e}}"undefined"==typeof window&&(globalThis.__NEXT_IMAGE_IMPORTED=!0);let x=(0,a.forwardRef)(({src:e,srcSet:t,sizes:r,height:n,width:i,decoding:o,className:l,style:u,fetchPriority:c,placeholder:d,loading:h,unoptimized:f,fill:m,onLoadRef:x,onLoadingCompleteRef:b,setBlurComplete:y,setShowAltText:w,sizesInput:C,onLoad:j,onError:E,...A},k)=>{let S=(0,a.useCallback)(e=>{e&&(E&&(e.src=e.src),e.complete&&g(e,d,x,b,y,f,C))},[e,d,x,b,y,E,f,C]),_=(0,p.useMergedRef)(k,S);return(0,s.jsx)("img",{...A,...v(c),loading:h,width:i,height:n,decoding:o,"data-nimg":m?"fill":"1",className:l,style:u,sizes:r,srcSet:t,src:e,ref:_,onLoad:e=>{g(e.currentTarget,d,x,b,y,f,C)},onError:e=>{w(!0),"empty"!==d&&y(!0),E&&E(e)}})});function b({isAppRouter:e,imgAttributes:t}){let r={as:"image",imageSrcSet:t.srcSet,imageSizes:t.sizes,crossOrigin:t.crossOrigin,referrerPolicy:t.referrerPolicy,...v(t.fetchPriority)};return e&&o.default.preload?(o.default.preload(t.src,r),null):(0,s.jsx)(l.default,{children:(0,s.jsx)("link",{rel:"preload",href:t.srcSet?void 0:t.src,...r},"__nimg-"+t.src+t.srcSet+t.sizes)})}let y=(0,a.forwardRef)((e,t)=>{let r=(0,a.useContext)(h.RouterContext),n=(0,a.useContext)(d.ImageConfigContext),i=(0,a.useMemo)(()=>{let e=m||n||c.imageConfigDefault,t=[...e.deviceSizes,...e.imageSizes].sort((e,t)=>e-t),r=e.deviceSizes.sort((e,t)=>e-t),i=e.qualities?.sort((e,t)=>e-t);return{...e,allSizes:t,deviceSizes:r,qualities:i,localPatterns:"undefined"==typeof window?n?.localPatterns:e.localPatterns}},[n]),{onLoad:o,onLoadingComplete:l}=e,p=(0,a.useRef)(o);(0,a.useEffect)(()=>{p.current=o},[o]);let g=(0,a.useRef)(l);(0,a.useEffect)(()=>{g.current=l},[l]);let[v,y]=(0,a.useState)(!1),[w,C]=(0,a.useState)(!1),{props:j,meta:E}=(0,u.getImgProps)(e,{defaultLoader:f.default,imgConf:i,blurComplete:v,showAltText:w});return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(x,{...j,unoptimized:E.unoptimized,placeholder:E.placeholder,fill:E.fill,onLoadRef:p,onLoadingCompleteRef:g,setBlurComplete:y,setShowAltText:C,sizesInput:e.sizes,ref:t}),E.preload?(0,s.jsx)(b,{isAppRouter:!r,imgAttributes:j}):null]})});("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},322867,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return c},getImageProps:function(){return u}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let s=e.r(481258),a=e.r(550696),o=e.r(881988),l=s._(e.r(765774));function u(e){let{props:t}=(0,a.getImgProps)(e,{defaultLoader:l.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[e,r]of Object.entries(t))void 0===r&&delete t[e];return{props:t}}let c=o.Image},805970,(e,t,r)=>{t.exports=e.r(322867)},694541,e=>{"use strict";var t=e.i(890022),r=e.i(431231),n=/[\\\/_+.#"@\[\(\{&]/,i=/[\\\/_+.#"@\[\(\{&]/g,s=/[\s-]/,a=/[\s-]/g;function o(e){return e.toLowerCase().replace(a," ")}var l=e.i(739065);e.i(395635);var u=e.i(614433),c=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,n)=>{let i=(0,u.createSlot)(`Primitive.${n}`),s=r.forwardRef((e,r)=>{let{asChild:s,...a}=e;return"undefined"!=typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,t.jsx)(s?i:n,{...a,ref:r})});return s.displayName=`Primitive.${n}`,{...e,[n]:s}},{}),d=e.i(315599),h=e.i(430406),f='[cmdk-group=""]',p='[cmdk-group-items=""]',m='[cmdk-item=""]',g=`${m}:not([aria-disabled="true"])`,v="cmdk-item-select",x="data-value",b=(e,t,r)=>{var l;return l=e,function e(t,r,o,l,u,c,d){if(c===r.length)return u===t.length?1:.99;var h=`${u},${c}`;if(void 0!==d[h])return d[h];for(var f,p,m,g,v=l.charAt(c),x=o.indexOf(v,u),b=0;x>=0;)(f=e(t,r,o,l,x+1,c+1,d))>b&&(x===u?f*=1:n.test(t.charAt(x-1))?(f*=.8,(m=t.slice(u,x-1).match(i))&&u>0&&(f*=Math.pow(.999,m.length))):s.test(t.charAt(x-1))?(f*=.9,(g=t.slice(u,x-1).match(a))&&u>0&&(f*=Math.pow(.999,g.length))):(f*=.17,u>0&&(f*=Math.pow(.999,x-u))),t.charAt(x)!==r.charAt(c)&&(f*=.9999)),(f<.1&&o.charAt(x-1)===l.charAt(c+1)||l.charAt(c+1)===l.charAt(c)&&o.charAt(x-1)!==l.charAt(c))&&.1*(p=e(t,r,o,l,x+1,c+2,d))>f&&(f=.1*p),f>b&&(b=f),x=o.indexOf(v,x+1);return d[h]=b,b}(l=r&&r.length>0?`${l+" "+r.join(" ")}`:l,t,o(l),o(t),0,0,{})},y=r.createContext(void 0),w=r.createContext(void 0),C=r.createContext(void 0),j=r.forwardRef((e,t)=>{let n=F(()=>{var t,r;return{search:"",value:null!=(r=null!=(t=e.value)?t:e.defaultValue)?r:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),i=F(()=>new Set),s=F(()=>new Map),a=F(()=>new Map),o=F(()=>new Set),l=D(e),{label:u,children:h,value:C,onValueChange:j,filter:E,shouldFilter:A,loop:k,disablePointerSelection:S=!1,vimBindings:_=!0,...N}=e,P=(0,d.useId)(),M=(0,d.useId)(),I=(0,d.useId)(),L=r.useRef(null),z=B();R(()=>{if(void 0!==C){let e=C.trim();n.current.value=e,T.emit()}},[C]),R(()=>{z(6,K)},[]);let T=r.useMemo(()=>({subscribe:e=>(o.current.add(e),()=>o.current.delete(e)),snapshot:()=>n.current,setState:(e,t,r)=>{var i,s,a,o;if(!Object.is(n.current[e],t)){if(n.current[e]=t,"search"===e)W(),G(),z(1,V);else if("value"===e){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let e=document.getElementById(I);e?e.focus():null==(i=document.getElementById(P))||i.focus()}if(z(7,()=>{var e;n.current.selectedItemId=null==(e=U())?void 0:e.id,T.emit()}),r||z(5,K),(null==(s=l.current)?void 0:s.value)!==void 0){null==(o=(a=l.current).onValueChange)||o.call(a,null!=t?t:"");return}}T.emit()}},emit:()=>{o.current.forEach(e=>e())}}),[]),q=r.useMemo(()=>({value:(e,t,r)=>{var i;t!==(null==(i=a.current.get(e))?void 0:i.value)&&(a.current.set(e,{value:t,keywords:r}),n.current.filtered.items.set(e,H(t,r)),z(2,()=>{G(),T.emit()}))},item:(e,t)=>(i.current.add(e),t&&(s.current.has(t)?s.current.get(t).add(e):s.current.set(t,new Set([e]))),z(3,()=>{W(),G(),n.current.value||V(),T.emit()}),()=>{a.current.delete(e),i.current.delete(e),n.current.filtered.items.delete(e);let t=U();z(4,()=>{W(),(null==t?void 0:t.getAttribute("id"))===e&&V(),T.emit()})}),group:e=>(s.current.has(e)||s.current.set(e,new Set),()=>{a.current.delete(e),s.current.delete(e)}),filter:()=>l.current.shouldFilter,label:u||e["aria-label"],getDisablePointerSelection:()=>l.current.disablePointerSelection,listId:P,inputId:I,labelId:M,listInnerRef:L}),[]);function H(e,t){var r,i;let s=null!=(i=null==(r=l.current)?void 0:r.filter)?i:b;return e?s(e,n.current.search,t):0}function G(){if(!n.current.search||!1===l.current.shouldFilter)return;let e=n.current.filtered.items,t=[];n.current.filtered.groups.forEach(r=>{let n=s.current.get(r),i=0;n.forEach(t=>{i=Math.max(e.get(t),i)}),t.push([r,i])});let r=L.current;J().sort((t,r)=>{var n,i;let s=t.getAttribute("id"),a=r.getAttribute("id");return(null!=(n=e.get(a))?n:0)-(null!=(i=e.get(s))?i:0)}).forEach(e=>{let t=e.closest(p);t?t.appendChild(e.parentElement===t?e:e.closest(`${p} > *`)):r.appendChild(e.parentElement===r?e:e.closest(`${p} > *`))}),t.sort((e,t)=>t[1]-e[1]).forEach(e=>{var t;let r=null==(t=L.current)?void 0:t.querySelector(`${f}[${x}="${encodeURIComponent(e[0])}"]`);null==r||r.parentElement.appendChild(r)})}function V(){let e=J().find(e=>"true"!==e.getAttribute("aria-disabled")),t=null==e?void 0:e.getAttribute(x);T.setState("value",t||void 0)}function W(){var e,t,r,o;if(!n.current.search||!1===l.current.shouldFilter){n.current.filtered.count=i.current.size;return}n.current.filtered.groups=new Set;let u=0;for(let s of i.current){let i=H(null!=(t=null==(e=a.current.get(s))?void 0:e.value)?t:"",null!=(o=null==(r=a.current.get(s))?void 0:r.keywords)?o:[]);n.current.filtered.items.set(s,i),i>0&&u++}for(let[e,t]of s.current)for(let r of t)if(n.current.filtered.items.get(r)>0){n.current.filtered.groups.add(e);break}n.current.filtered.count=u}function K(){var e,t,r;let n=U();n&&((null==(e=n.parentElement)?void 0:e.firstChild)===n&&(null==(r=null==(t=n.closest(f))?void 0:t.querySelector('[cmdk-group-heading=""]'))||r.scrollIntoView({block:"nearest"})),n.scrollIntoView({block:"nearest"}))}function U(){var e;return null==(e=L.current)?void 0:e.querySelector(`${m}[aria-selected="true"]`)}function J(){var e;return Array.from((null==(e=L.current)?void 0:e.querySelectorAll(g))||[])}function X(e){let t=J()[e];t&&T.setState("value",t.getAttribute(x))}function Q(e){var t;let r=U(),n=J(),i=n.findIndex(e=>e===r),s=n[i+e];null!=(t=l.current)&&t.loop&&(s=i+e<0?n[n.length-1]:i+e===n.length?n[0]:n[i+e]),s&&T.setState("value",s.getAttribute(x))}function Y(e){let t=U(),r=null==t?void 0:t.closest(f),n;for(;r&&!n;)n=null==(r=e>0?function(e,t){let r=e.nextElementSibling;for(;r;){if(r.matches(t))return r;r=r.nextElementSibling}}(r,f):function(e,t){let r=e.previousElementSibling;for(;r;){if(r.matches(t))return r;r=r.previousElementSibling}}(r,f))?void 0:r.querySelector(g);n?T.setState("value",n.getAttribute(x)):Q(e)}let Z=()=>X(J().length-1),ee=e=>{e.preventDefault(),e.metaKey?Z():e.altKey?Y(1):Q(1)},et=e=>{e.preventDefault(),e.metaKey?X(0):e.altKey?Y(-1):Q(-1)};return r.createElement(c.div,{ref:t,tabIndex:-1,...N,"cmdk-root":"",onKeyDown:e=>{var t;null==(t=N.onKeyDown)||t.call(N,e);let r=e.nativeEvent.isComposing||229===e.keyCode;if(!(e.defaultPrevented||r))switch(e.key){case"n":case"j":_&&e.ctrlKey&&ee(e);break;case"ArrowDown":ee(e);break;case"p":case"k":_&&e.ctrlKey&&et(e);break;case"ArrowUp":et(e);break;case"Home":e.preventDefault(),X(0);break;case"End":e.preventDefault(),Z();break;case"Enter":{e.preventDefault();let t=U();if(t){let e=new Event(v);t.dispatchEvent(e)}}}}},r.createElement("label",{"cmdk-label":"",htmlFor:q.inputId,id:q.labelId,style:$},u),O(e,e=>r.createElement(w.Provider,{value:T},r.createElement(y.Provider,{value:q},e))))}),E=r.forwardRef((e,t)=>{var n,i;let s=(0,d.useId)(),a=r.useRef(null),o=r.useContext(C),l=r.useContext(y),u=D(e),f=null!=(i=null==(n=u.current)?void 0:n.forceMount)?i:null==o?void 0:o.forceMount;R(()=>{if(!f)return l.item(s,null==o?void 0:o.id)},[f]);let p=I(s,a,[e.value,e.children,a],e.keywords),m=r.useContext(w),g=M(e=>e.value&&e.value===p.current),x=M(e=>!!f||!1===l.filter()||!e.search||e.filtered.items.get(s)>0);function b(){var e,t;j(),null==(t=(e=u.current).onSelect)||t.call(e,p.current)}function j(){m.setState("value",p.current,!0)}if(r.useEffect(()=>{let t=a.current;if(!(!t||e.disabled))return t.addEventListener(v,b),()=>t.removeEventListener(v,b)},[x,e.onSelect,e.disabled]),!x)return null;let{disabled:E,value:A,onSelect:k,forceMount:S,keywords:_,...N}=e;return r.createElement(c.div,{ref:(0,h.composeRefs)(a,t),...N,id:s,"cmdk-item":"",role:"option","aria-disabled":!!E,"aria-selected":!!g,"data-disabled":!!E,"data-selected":!!g,onPointerMove:E||l.getDisablePointerSelection()?void 0:j,onClick:E?void 0:b},e.children)}),A=r.forwardRef((e,t)=>{let{heading:n,children:i,forceMount:s,...a}=e,o=(0,d.useId)(),l=r.useRef(null),u=r.useRef(null),f=(0,d.useId)(),p=r.useContext(y),m=M(e=>!!s||!1===p.filter()||!e.search||e.filtered.groups.has(o));R(()=>p.group(o),[]),I(o,l,[e.value,e.heading,u]);let g=r.useMemo(()=>({id:o,forceMount:s}),[s]);return r.createElement(c.div,{ref:(0,h.composeRefs)(l,t),...a,"cmdk-group":"",role:"presentation",hidden:!m||void 0},n&&r.createElement("div",{ref:u,"cmdk-group-heading":"","aria-hidden":!0,id:f},n),O(e,e=>r.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":n?f:void 0},r.createElement(C.Provider,{value:g},e))))}),k=r.forwardRef((e,t)=>{let{alwaysRender:n,...i}=e,s=r.useRef(null),a=M(e=>!e.search);return n||a?r.createElement(c.div,{ref:(0,h.composeRefs)(s,t),...i,"cmdk-separator":"",role:"separator"}):null}),S=r.forwardRef((e,t)=>{let{onValueChange:n,...i}=e,s=null!=e.value,a=r.useContext(w),o=M(e=>e.search),l=M(e=>e.selectedItemId),u=r.useContext(y);return r.useEffect(()=>{null!=e.value&&a.setState("search",e.value)},[e.value]),r.createElement(c.input,{ref:t,...i,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":u.listId,"aria-labelledby":u.labelId,"aria-activedescendant":l,id:u.inputId,type:"text",value:s?e.value:o,onChange:e=>{s||a.setState("search",e.target.value),null==n||n(e.target.value)}})}),_=r.forwardRef((e,t)=>{let{children:n,label:i="Suggestions",...s}=e,a=r.useRef(null),o=r.useRef(null),l=M(e=>e.selectedItemId),u=r.useContext(y);return r.useEffect(()=>{if(o.current&&a.current){let e=o.current,t=a.current,r,n=new ResizeObserver(()=>{r=requestAnimationFrame(()=>{let r=e.offsetHeight;t.style.setProperty("--cmdk-list-height",r.toFixed(1)+"px")})});return n.observe(e),()=>{cancelAnimationFrame(r),n.unobserve(e)}}},[]),r.createElement(c.div,{ref:(0,h.composeRefs)(a,t),...s,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":l,"aria-label":i,id:u.listId},O(e,e=>r.createElement("div",{ref:(0,h.composeRefs)(o,u.listInnerRef),"cmdk-list-sizer":""},e)))}),N=r.forwardRef((e,t)=>{let{open:n,onOpenChange:i,overlayClassName:s,contentClassName:a,container:o,...u}=e;return r.createElement(l.Root,{open:n,onOpenChange:i},r.createElement(l.Portal,{container:o},r.createElement(l.Overlay,{"cmdk-overlay":"",className:s}),r.createElement(l.Content,{"aria-label":e.label,"cmdk-dialog":"",className:a},r.createElement(j,{ref:t,...u}))))}),P=Object.assign(j,{List:_,Item:E,Input:S,Group:A,Separator:k,Dialog:N,Empty:r.forwardRef((e,t)=>M(e=>0===e.filtered.count)?r.createElement(c.div,{ref:t,...e,"cmdk-empty":"",role:"presentation"}):null),Loading:r.forwardRef((e,t)=>{let{progress:n,children:i,label:s="Loading...",...a}=e;return r.createElement(c.div,{ref:t,...a,"cmdk-loading":"",role:"progressbar","aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":s},O(e,e=>r.createElement("div",{"aria-hidden":!0},e)))})});function D(e){let t=r.useRef(e);return R(()=>{t.current=e}),t}var R="undefined"==typeof window?r.useEffect:r.useLayoutEffect;function F(e){let t=r.useRef();return void 0===t.current&&(t.current=e()),t}function M(e){let t=r.useContext(w),n=()=>e(t.snapshot());return r.useSyncExternalStore(t.subscribe,n,n)}function I(e,t,n,i=[]){let s=r.useRef(),a=r.useContext(y);return R(()=>{var r;let o=(()=>{var e;for(let t of n){if("string"==typeof t)return t.trim();if("object"==typeof t&&"current"in t)return t.current?null==(e=t.current.textContent)?void 0:e.trim():s.current}})(),l=i.map(e=>e.trim());a.value(e,o,l),null==(r=t.current)||r.setAttribute(x,o),s.current=o}),s}var B=()=>{let[e,t]=r.useState(),n=F(()=>new Map);return R(()=>{n.current.forEach(e=>e()),n.current=new Map},[e]),(e,r)=>{n.current.set(e,r),t({})}};function O({asChild:e,children:t},n){let i;return e&&r.isValidElement(t)?r.cloneElement("function"==typeof(i=t.type)?i(t.props):"render"in i?i.render(t.props):t,{ref:t.ref},n(t.props.children)):n(t)}var $={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"},L=e.i(300329),z=e.i(632137),T=e.i(439779);let q=r.forwardRef(({className:e,...r},n)=>(0,t.jsx)(P,{ref:n,className:(0,z.cn)("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",e),...r}));q.displayName=P.displayName;let H=({children:e,...r})=>(0,t.jsx)(T.Dialog,{...r,children:(0,t.jsx)(T.DialogContent,{className:"overflow-hidden p-0 shadow-lg",children:(0,t.jsx)(q,{className:"[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5",children:e})})}),G=r.forwardRef(({className:e,...r},n)=>(0,t.jsxs)("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:[(0,t.jsx)(L.Search,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),(0,t.jsx)(P.Input,{ref:n,className:(0,z.cn)("flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",e),...r})]}));G.displayName=P.Input.displayName;let V=r.forwardRef(({className:e,...r},n)=>(0,t.jsx)(P.List,{ref:n,className:(0,z.cn)("max-h-[300px] overflow-y-auto overflow-x-hidden",e),...r}));V.displayName=P.List.displayName;let W=r.forwardRef((e,r)=>(0,t.jsx)(P.Empty,{ref:r,className:"py-6 text-center text-sm",...e}));W.displayName=P.Empty.displayName;let K=r.forwardRef(({className:e,...r},n)=>(0,t.jsx)(P.Group,{ref:n,className:(0,z.cn)("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",e),...r}));K.displayName=P.Group.displayName;let U=r.forwardRef(({className:e,...r},n)=>(0,t.jsx)(P.Separator,{ref:n,className:(0,z.cn)("-mx-1 h-px bg-border",e),...r}));U.displayName=P.Separator.displayName;let J=r.forwardRef(({className:e,...r},n)=>(0,t.jsx)(P.Item,{ref:n,className:(0,z.cn)("relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",e),...r}));J.displayName=P.Item.displayName,e.s(["Command",()=>q,"CommandDialog",()=>H,"CommandEmpty",()=>W,"CommandGroup",()=>K,"CommandInput",()=>G,"CommandItem",()=>J,"CommandList",()=>V,"CommandSeparator",()=>U],694541)},426160,e=>{"use strict";var t=e.i(890022),r=e.i(987985),n=e.i(805970),i=e.i(230827),s=e.i(525761),a=e.i(122436);let o=(0,a.default)("menu",[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]]);var l=e.i(954049),u=e.i(431231);let c=(0,a.default)("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]),d=(0,a.default)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);var h=e.i(81795),f=e.i(235893);function p(){let{theme:e,setTheme:r}=(0,h.useTheme)(),[n,i]=u.useState(!1);return(u.useEffect(()=>{i(!0)},[]),n)?(0,t.jsxs)(f.Button,{variant:"ghost",size:"icon",onClick:()=>r("light"===e?"dark":"light"),"aria-label":"Toggle theme",children:[(0,t.jsx)(d,{className:"h-5 w-5 rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0"}),(0,t.jsx)(c,{className:"absolute h-5 w-5 rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100"})]}):(0,t.jsx)(f.Button,{variant:"ghost",size:"icon",disabled:!0,"aria-label":"Toggle theme",children:(0,t.jsx)(d,{className:"h-5 w-5"})})}var m=e.i(20315),g=e.i(300329),v=e.i(40843);let x=(0,a.default)("tag",[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]]);function b(e){return Array.isArray?Array.isArray(e):"[object Array]"===k(e)}let y=1/0;function w(e){return"string"==typeof e}function C(e){return"number"==typeof e}function j(e){return"object"==typeof e}function E(e){return null!=e}function A(e){return!e.trim().length}function k(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}let S=Object.prototype.hasOwnProperty;class _{constructor(e){this._keys=[],this._keyMap={};let t=0;e.forEach(e=>{let r=N(e);this._keys.push(r),this._keyMap[r.id]=r,t+=r.weight}),this._keys.forEach(e=>{e.weight/=t})}get(e){return this._keyMap[e]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function N(e){let t=null,r=null,n=null,i=1,s=null;if(w(e)||b(e))n=e,t=P(e),r=D(e);else{if(!S.call(e,"name"))throw Error("Missing name property in key");let a=e.name;if(n=a,S.call(e,"weight")&&(i=e.weight)<=0)throw Error(`Property 'weight' in key '${a}' must be a positive integer`);t=P(a),r=D(a),s=e.getFn}return{path:t,id:r,weight:i,src:n,getFn:s}}function P(e){return b(e)?e:e.split(".")}function D(e){return b(e)?e.join("."):e}var R={isCaseSensitive:!1,ignoreDiacritics:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(e,t)=>e.score===t.score?e.idx<t.idx?-1:1:e.score<t.score?-1:1,includeMatches:!1,findAllMatches:!1,minMatchCharLength:1,location:0,threshold:.6,distance:100,useExtendedSearch:!1,getFn:function(e,t){let r=[],n=!1,i=(e,t,s)=>{if(E(e))if(t[s]){var a,o;let l=e[t[s]];if(!E(l))return;if(s===t.length-1&&(w(l)||C(l)||!0===(a=l)||!1===a||j(o=a)&&null!==o&&"[object Boolean]"==k(a)))r.push(null==l?"":function(e){if("string"==typeof e)return e;let t=e+"";return"0"==t&&1/e==-y?"-0":t}(l));else if(b(l)){n=!0;for(let e=0,r=l.length;e<r;e+=1)i(l[e],t,s+1)}else t.length&&i(l,t,s+1)}else r.push(e)};return i(e,w(t)?t.split("."):t,0),n?r:r[0]},ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1};let F=/[^ ]+/g;class M{constructor({getFn:e=R.getFn,fieldNormWeight:t=R.fieldNormWeight}={}){this.norm=function(e=1,t=3){let r=new Map,n=Math.pow(10,t);return{get(t){let i=t.match(F).length;if(r.has(i))return r.get(i);let s=parseFloat(Math.round(1/Math.pow(i,.5*e)*n)/n);return r.set(i,s),s},clear(){r.clear()}}}(t,3),this.getFn=e,this.isCreated=!1,this.setIndexRecords()}setSources(e=[]){this.docs=e}setIndexRecords(e=[]){this.records=e}setKeys(e=[]){this.keys=e,this._keysMap={},e.forEach((e,t)=>{this._keysMap[e.id]=t})}create(){!this.isCreated&&this.docs.length&&(this.isCreated=!0,w(this.docs[0])?this.docs.forEach((e,t)=>{this._addString(e,t)}):this.docs.forEach((e,t)=>{this._addObject(e,t)}),this.norm.clear())}add(e){let t=this.size();w(e)?this._addString(e,t):this._addObject(e,t)}removeAt(e){this.records.splice(e,1);for(let t=e,r=this.size();t<r;t+=1)this.records[t].i-=1}getValueForItemAtKeyId(e,t){return e[this._keysMap[t]]}size(){return this.records.length}_addString(e,t){if(!E(e)||A(e))return;let r={v:e,i:t,n:this.norm.get(e)};this.records.push(r)}_addObject(e,t){let r={i:t,$:{}};this.keys.forEach((t,n)=>{let i=t.getFn?t.getFn(e):this.getFn(e,t.path);if(E(i)){if(b(i)){let e=[],t=[{nestedArrIndex:-1,value:i}];for(;t.length;){let{nestedArrIndex:r,value:n}=t.pop();if(E(n))if(w(n)&&!A(n)){let t={v:n,i:r,n:this.norm.get(n)};e.push(t)}else b(n)&&n.forEach((e,r)=>{t.push({nestedArrIndex:r,value:e})})}r.$[n]=e}else if(w(i)&&!A(i)){let e={v:i,n:this.norm.get(i)};r.$[n]=e}}}),this.records.push(r)}toJSON(){return{keys:this.keys,records:this.records}}}function I(e,t,{getFn:r=R.getFn,fieldNormWeight:n=R.fieldNormWeight}={}){let i=new M({getFn:r,fieldNormWeight:n});return i.setKeys(e.map(N)),i.setSources(t),i.create(),i}function B(e,{errors:t=0,currentLocation:r=0,expectedLocation:n=0,distance:i=R.distance,ignoreLocation:s=R.ignoreLocation}={}){let a=t/e.length;if(s)return a;let o=Math.abs(n-r);return i?a+o/i:o?1:a}let O=String.prototype.normalize?e=>e.normalize("NFD").replace(/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/g,""):e=>e;class ${constructor(e,{location:t=R.location,threshold:r=R.threshold,distance:n=R.distance,includeMatches:i=R.includeMatches,findAllMatches:s=R.findAllMatches,minMatchCharLength:a=R.minMatchCharLength,isCaseSensitive:o=R.isCaseSensitive,ignoreDiacritics:l=R.ignoreDiacritics,ignoreLocation:u=R.ignoreLocation}={}){if(this.options={location:t,threshold:r,distance:n,includeMatches:i,findAllMatches:s,minMatchCharLength:a,isCaseSensitive:o,ignoreDiacritics:l,ignoreLocation:u},e=o?e:e.toLowerCase(),e=l?O(e):e,this.pattern=e,this.chunks=[],!this.pattern.length)return;const c=(e,t)=>{this.chunks.push({pattern:e,alphabet:function(e){let t={};for(let r=0,n=e.length;r<n;r+=1){let i=e.charAt(r);t[i]=(t[i]||0)|1<<n-r-1}return t}(e),startIndex:t})},d=this.pattern.length;if(d>32){let e=0;const t=d%32,r=d-t;for(;e<r;)c(this.pattern.substr(e,32),e),e+=32;if(t){const e=d-32;c(this.pattern.substr(e),e)}}else c(this.pattern,0)}searchIn(e){let{isCaseSensitive:t,ignoreDiacritics:r,includeMatches:n}=this.options;if(e=t?e:e.toLowerCase(),e=r?O(e):e,this.pattern===e){let t={isMatch:!0,score:0};return n&&(t.indices=[[0,e.length-1]]),t}let{location:i,distance:s,threshold:a,findAllMatches:o,minMatchCharLength:l,ignoreLocation:u}=this.options,c=[],d=0,h=!1;this.chunks.forEach(({pattern:t,alphabet:r,startIndex:f})=>{let{isMatch:p,score:m,indices:g}=function(e,t,r,{location:n=R.location,distance:i=R.distance,threshold:s=R.threshold,findAllMatches:a=R.findAllMatches,minMatchCharLength:o=R.minMatchCharLength,includeMatches:l=R.includeMatches,ignoreLocation:u=R.ignoreLocation}={}){let c;if(t.length>32)throw Error("Pattern length exceeds max of 32.");let d=t.length,h=e.length,f=Math.max(0,Math.min(n,h)),p=s,m=f,g=o>1||l,v=g?Array(h):[];for(;(c=e.indexOf(t,m))>-1;)if(p=Math.min(B(t,{currentLocation:c,expectedLocation:f,distance:i,ignoreLocation:u}),p),m=c+d,g){let e=0;for(;e<d;)v[c+e]=1,e+=1}m=-1;let x=[],b=1,y=d+h,w=1<<d-1;for(let n=0;n<d;n+=1){let s=0,o=y;for(;s<o;)B(t,{errors:n,currentLocation:f+o,expectedLocation:f,distance:i,ignoreLocation:u})<=p?s=o:y=o,o=Math.floor((y-s)/2+s);y=o;let l=Math.max(1,f-o+1),c=a?h:Math.min(f+o,h)+d,C=Array(c+2);C[c+1]=(1<<n)-1;for(let s=c;s>=l;s-=1){let a=s-1,o=r[e.charAt(a)];if(g&&(v[a]=+!!o),C[s]=(C[s+1]<<1|1)&o,n&&(C[s]|=(x[s+1]|x[s])<<1|1|x[s+1]),C[s]&w&&(b=B(t,{errors:n,currentLocation:a,expectedLocation:f,distance:i,ignoreLocation:u}))<=p){if(p=b,(m=a)<=f)break;l=Math.max(1,2*f-m)}}if(B(t,{errors:n+1,currentLocation:f,expectedLocation:f,distance:i,ignoreLocation:u})>p)break;x=C}let C={isMatch:m>=0,score:Math.max(.001,b)};if(g){let e=function(e=[],t=R.minMatchCharLength){let r=[],n=-1,i=-1,s=0;for(let a=e.length;s<a;s+=1){let a=e[s];a&&-1===n?n=s:a||-1===n||((i=s-1)-n+1>=t&&r.push([n,i]),n=-1)}return e[s-1]&&s-n>=t&&r.push([n,s-1]),r}(v,o);e.length?l&&(C.indices=e):C.isMatch=!1}return C}(e,t,r,{location:i+f,distance:s,threshold:a,findAllMatches:o,minMatchCharLength:l,includeMatches:n,ignoreLocation:u});p&&(h=!0),d+=m,p&&g&&(c=[...c,...g])});let f={isMatch:h,score:h?d/this.chunks.length:1};return h&&n&&(f.indices=c),f}}class L{constructor(e){this.pattern=e}static isMultiMatch(e){return z(e,this.multiRegex)}static isSingleMatch(e){return z(e,this.singleRegex)}search(){}}function z(e,t){let r=e.match(t);return r?r[1]:null}class T extends L{constructor(e,{location:t=R.location,threshold:r=R.threshold,distance:n=R.distance,includeMatches:i=R.includeMatches,findAllMatches:s=R.findAllMatches,minMatchCharLength:a=R.minMatchCharLength,isCaseSensitive:o=R.isCaseSensitive,ignoreDiacritics:l=R.ignoreDiacritics,ignoreLocation:u=R.ignoreLocation}={}){super(e),this._bitapSearch=new $(e,{location:t,threshold:r,distance:n,includeMatches:i,findAllMatches:s,minMatchCharLength:a,isCaseSensitive:o,ignoreDiacritics:l,ignoreLocation:u})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(e){return this._bitapSearch.searchIn(e)}}class q extends L{constructor(e){super(e)}static get type(){return"include"}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(e){let t,r=0,n=[],i=this.pattern.length;for(;(t=e.indexOf(this.pattern,r))>-1;)r=t+i,n.push([t,r-1]);let s=!!n.length;return{isMatch:s,score:+!s,indices:n}}}let H=[class extends L{constructor(e){super(e)}static get type(){return"exact"}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(e){let t=e===this.pattern;return{isMatch:t,score:+!t,indices:[0,this.pattern.length-1]}}},q,class extends L{constructor(e){super(e)}static get type(){return"prefix-exact"}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(e){let t=e.startsWith(this.pattern);return{isMatch:t,score:+!t,indices:[0,this.pattern.length-1]}}},class extends L{constructor(e){super(e)}static get type(){return"inverse-prefix-exact"}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(e){let t=!e.startsWith(this.pattern);return{isMatch:t,score:+!t,indices:[0,e.length-1]}}},class extends L{constructor(e){super(e)}static get type(){return"inverse-suffix-exact"}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(e){let t=!e.endsWith(this.pattern);return{isMatch:t,score:+!t,indices:[0,e.length-1]}}},class extends L{constructor(e){super(e)}static get type(){return"suffix-exact"}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(e){let t=e.endsWith(this.pattern);return{isMatch:t,score:+!t,indices:[e.length-this.pattern.length,e.length-1]}}},class extends L{constructor(e){super(e)}static get type(){return"inverse-exact"}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(e){let t=-1===e.indexOf(this.pattern);return{isMatch:t,score:+!t,indices:[0,e.length-1]}}},T],G=H.length,V=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,W=new Set([T.type,q.type]),K=[];function U(e,t){for(let r=0,n=K.length;r<n;r+=1){let n=K[r];if(n.condition(e,t))return new n(e,t)}return new $(e,t)}let J="$and",X="$path",Q=e=>!!(e[J]||e.$or),Y=e=>({[J]:Object.keys(e).map(t=>({[t]:e[t]}))});function Z(e,t,{auto:r=!0}={}){let n=e=>{let i=Object.keys(e),s=!!e[X];if(!s&&i.length>1&&!Q(e))return n(Y(e));if(!b(e)&&j(e)&&!Q(e)){let n=s?e[X]:i[0],a=s?e.$val:e[n];if(!w(a))throw Error(`Invalid value for key ${n}`);let o={keyId:D(n),pattern:a};return r&&(o.searcher=U(a,t)),o}let a={children:[],operator:i[0]};return i.forEach(t=>{let r=e[t];b(r)&&r.forEach(e=>{a.children.push(n(e))})}),a};return Q(e)||(e=Y(e)),n(e)}function ee(e,t){let r=e.matches;t.matches=[],E(r)&&r.forEach(e=>{if(!E(e.indices)||!e.indices.length)return;let{indices:r,value:n}=e,i={indices:r,value:n};e.key&&(i.key=e.key.src),e.idx>-1&&(i.refIndex=e.idx),t.matches.push(i)})}function et(e,t){t.score=e.score}class er{constructor(e,t={},r){this.options={...R,...t},this.options.useExtendedSearch,this._keyStore=new _(this.options.keys),this.setCollection(e,r)}setCollection(e,t){if(this._docs=e,t&&!(t instanceof M))throw Error("Incorrect 'index' type");this._myIndex=t||I(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}add(e){E(e)&&(this._docs.push(e),this._myIndex.add(e))}remove(e=()=>!1){let t=[];for(let r=0,n=this._docs.length;r<n;r+=1){let i=this._docs[r];e(i,r)&&(this.removeAt(r),r-=1,n-=1,t.push(i))}return t}removeAt(e){this._docs.splice(e,1),this._myIndex.removeAt(e)}getIndex(){return this._myIndex}search(e,{limit:t=-1}={}){let{includeMatches:r,includeScore:n,shouldSort:i,sortFn:s,ignoreFieldNorm:a}=this.options,o=w(e)?w(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e);return!function(e,{ignoreFieldNorm:t=R.ignoreFieldNorm}){e.forEach(e=>{let r=1;e.matches.forEach(({key:e,norm:n,score:i})=>{let s=e?e.weight:null;r*=Math.pow(0===i&&s?Number.EPSILON:i,(s||1)*(t?1:n))}),e.score=r})}(o,{ignoreFieldNorm:a}),i&&o.sort(s),C(t)&&t>-1&&(o=o.slice(0,t)),function(e,t,{includeMatches:r=R.includeMatches,includeScore:n=R.includeScore}={}){let i=[];return r&&i.push(ee),n&&i.push(et),e.map(e=>{let{idx:r}=e,n={item:t[r],refIndex:r};return i.length&&i.forEach(t=>{t(e,n)}),n})}(o,this._docs,{includeMatches:r,includeScore:n})}_searchStringList(e){let t=U(e,this.options),{records:r}=this._myIndex,n=[];return r.forEach(({v:e,i:r,n:i})=>{if(!E(e))return;let{isMatch:s,score:a,indices:o}=t.searchIn(e);s&&n.push({item:e,idx:r,matches:[{score:a,value:e,norm:i,indices:o}]})}),n}_searchLogical(e){let t=Z(e,this.options),r=(e,t,n)=>{if(!e.children){let{keyId:r,searcher:i}=e,s=this._findMatches({key:this._keyStore.get(r),value:this._myIndex.getValueForItemAtKeyId(t,r),searcher:i});return s&&s.length?[{idx:n,item:t,matches:s}]:[]}let i=[];for(let s=0,a=e.children.length;s<a;s+=1){let a=r(e.children[s],t,n);if(a.length)i.push(...a);else if(e.operator===J)return[]}return i},n=this._myIndex.records,i={},s=[];return n.forEach(({$:e,i:n})=>{if(E(e)){let a=r(t,e,n);a.length&&(i[n]||(i[n]={idx:n,item:e,matches:[]},s.push(i[n])),a.forEach(({matches:e})=>{i[n].matches.push(...e)}))}}),s}_searchObjectList(e){let t=U(e,this.options),{keys:r,records:n}=this._myIndex,i=[];return n.forEach(({$:e,i:n})=>{if(!E(e))return;let s=[];r.forEach((r,n)=>{s.push(...this._findMatches({key:r,value:e[n],searcher:t}))}),s.length&&i.push({idx:n,item:e,matches:s})}),i}_findMatches({key:e,value:t,searcher:r}){if(!E(t))return[];let n=[];if(b(t))t.forEach(({v:t,i:i,n:s})=>{if(!E(t))return;let{isMatch:a,score:o,indices:l}=r.searchIn(t);a&&n.push({score:o,key:e,value:t,idx:i,norm:s,indices:l})});else{let{v:i,n:s}=t,{isMatch:a,score:o,indices:l}=r.searchIn(i);a&&n.push({score:o,key:e,value:i,norm:s,indices:l})}return n}}er.version="7.1.0",er.createIndex=I,er.parseIndex=function(e,{getFn:t=R.getFn,fieldNormWeight:r=R.fieldNormWeight}={}){let{keys:n,records:i}=e,s=new M({getFn:t,fieldNormWeight:r});return s.setKeys(n),s.setIndexRecords(i),s},er.config=R,er.parseQuery=Z,function(...e){K.push(...e)}(class{constructor(e,{isCaseSensitive:t=R.isCaseSensitive,ignoreDiacritics:r=R.ignoreDiacritics,includeMatches:n=R.includeMatches,minMatchCharLength:i=R.minMatchCharLength,ignoreLocation:s=R.ignoreLocation,findAllMatches:a=R.findAllMatches,location:o=R.location,threshold:l=R.threshold,distance:u=R.distance}={}){this.query=null,this.options={isCaseSensitive:t,ignoreDiacritics:r,includeMatches:n,minMatchCharLength:i,findAllMatches:a,ignoreLocation:s,location:o,threshold:l,distance:u},e=t?e:e.toLowerCase(),e=r?O(e):e,this.pattern=e,this.query=function(e,t={}){return e.split("|").map(e=>{let r=e.trim().split(V).filter(e=>e&&!!e.trim()),n=[];for(let e=0,i=r.length;e<i;e+=1){let i=r[e],s=!1,a=-1;for(;!s&&++a<G;){let e=H[a],r=e.isMultiMatch(i);r&&(n.push(new e(r,t)),s=!0)}if(!s)for(a=-1;++a<G;){let e=H[a],r=e.isSingleMatch(i);if(r){n.push(new e(r,t));break}}}return n})}(this.pattern,this.options)}static condition(e,t){return t.useExtendedSearch}searchIn(e){let t=this.query;if(!t)return{isMatch:!1,score:1};let{includeMatches:r,isCaseSensitive:n,ignoreDiacritics:i}=this.options;e=n?e:e.toLowerCase(),e=i?O(e):e;let s=0,a=[],o=0;for(let n=0,i=t.length;n<i;n+=1){let i=t[n];a.length=0,s=0;for(let t=0,n=i.length;t<n;t+=1){let n=i[t],{isMatch:l,indices:u,score:c}=n.search(e);if(l){if(s+=1,o+=c,r){let e=n.constructor.type;W.has(e)?a=[...a,...u]:a.push(u)}}else{o=0,s=0,a.length=0;break}}if(s){let e={isMatch:!0,score:o/s};return r&&(e.indices=a),e}}return{isMatch:!1,score:1}}});var en=e.i(694541),ei=e.i(168497),es=e.i(597705);function ea({specs:e}){let r=(0,i.useRouter)(),[n,s]=u.useState(!1),[a,o]=u.useState(""),[l,c]=u.useState([]);u.useEffect(()=>{let e=localStorage.getItem("leanspec-recent-searches");e&&c(JSON.parse(e))},[]),u.useEffect(()=>{let e=e=>{"k"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),s(e=>!e))};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[]);let d=u.useMemo(()=>new er(e,{keys:[{name:"title",weight:2},{name:"specNumber",weight:1.5},{name:"tags",weight:.5}],threshold:.4,includeScore:!0,minMatchCharLength:2}),[e]),h=u.useMemo(()=>a?d.search(a).map(e=>e.item):e.slice(0,8),[a,d,e]);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("button",{onClick:()=>s(!0),className:"inline-flex items-center gap-2 px-2 sm:px-3 py-2 text-sm text-muted-foreground hover:text-foreground transition-colors border rounded-md hover:border-foreground/20",children:[(0,t.jsx)(g.Search,{className:"h-4 w-4"}),(0,t.jsx)("span",{className:"hidden sm:inline",children:"Quick search..."}),(0,t.jsxs)("kbd",{className:"hidden md:inline-flex pointer-events-none h-5 select-none items-center gap-1 rounded border bg-muted px-1.5 font-mono text-[10px] font-medium opacity-100",children:[(0,t.jsx)("span",{className:"text-xs",children:"⌘"}),"K"]})]}),(0,t.jsxs)(en.CommandDialog,{open:n,onOpenChange:s,children:[(0,t.jsx)(en.CommandInput,{placeholder:"Search specs by title, number, or tags...",value:a,onValueChange:o}),(0,t.jsxs)(en.CommandList,{children:[(0,t.jsx)(en.CommandEmpty,{children:"No specs found."}),!a&&l.length>0&&(0,t.jsx)(en.CommandGroup,{heading:"Recent Searches",children:l.map(e=>(0,t.jsxs)(en.CommandItem,{value:e,onSelect:()=>{o(e)},children:[(0,t.jsx)(v.Clock,{className:"mr-2 h-4 w-4"}),e]},e))}),(0,t.jsx)(en.CommandGroup,{heading:"Specs",children:h.map(e=>(0,t.jsxs)(en.CommandItem,{value:`${e.specNumber} ${e.title}`,onSelect:()=>{var t,n;let i;return t=e.id,void(c(i=[n=e.title,...l.filter(e=>e!==n)].slice(0,5)),localStorage.setItem("leanspec-recent-searches",JSON.stringify(i)),r.push(`/specs/${t}`),s(!1),o(""))},children:[(0,t.jsx)(m.FileText,{className:"mr-2 h-4 w-4"}),(0,t.jsxs)("div",{className:"flex-1 flex items-center justify-between gap-2",children:[(0,t.jsx)("div",{className:"flex-1 min-w-0",children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsxs)("span",{className:"font-medium",children:["#",e.specNumber]}),(0,t.jsx)("span",{className:"truncate",children:e.title})]})}),(0,t.jsxs)("div",{className:"flex items-center gap-1 shrink-0",children:[(0,t.jsx)(ei.StatusBadge,{status:e.status}),(0,t.jsx)(es.PriorityBadge,{priority:e.priority})]})]})]},e.id))}),a&&(0,t.jsx)(en.CommandGroup,{heading:"Filter by Tag",children:Array.from(new Set(e.flatMap(e=>e.tags))).filter(e=>e.toLowerCase().includes(a.toLowerCase())).slice(0,5).map(e=>(0,t.jsxs)(en.CommandItem,{value:e,onSelect:()=>{r.push(`/?tag=${encodeURIComponent(e)}`),s(!1)},children:[(0,t.jsx)(x,{className:"mr-2 h-4 w-4"}),"Filter by: ",(0,t.jsx)("span",{className:"ml-1 font-medium",children:e})]},e))})]})]})]})}var eo=e.i(308402);function el({items:e}){return(0,t.jsx)("nav",{className:"flex items-center gap-1 text-sm text-muted-foreground",children:e.map((e,n)=>(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[n>0&&(0,t.jsx)(s.ChevronRight,{className:"h-4 w-4"}),e.href?(0,t.jsx)(r.default,{href:e.href,className:"hover:text-foreground transition-colors",children:e.label}):(0,t.jsx)("span",{className:"text-foreground",children:e.label})]},n))})}function eu({specs:e}){let s=function(e){if("/"===e)return[{label:"Home"}];if("/stats"===e)return[{label:"Home",href:"/"},{label:"Stats"}];if("/specs"===e||e.startsWith("/specs?")){let t=new URLSearchParams(e.split("?")[1]||"").get("view");return[{label:"Home",href:"/"},{label:`Specs (${"board"===t?"Board View":"List View"})`}]}return e.startsWith("/specs/")?[{label:"Home",href:"/"},{label:"Specs",href:"/specs"},{label:e.split("/")[2]}]:"/board"===e?[{label:"Home",href:"/"},{label:"Board"}]:[{label:"Home",href:"/"}]}((0,i.usePathname)());return(0,t.jsx)("header",{className:"sticky top-0 z-50 w-full h-14 border-b border-border bg-background",children:(0,t.jsxs)("div",{className:"flex items-center justify-between h-full px-2 sm:px-4",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 sm:gap-4 min-w-0 flex-1",children:[(0,t.jsxs)(f.Button,{variant:"ghost",size:"icon",onClick:()=>{window.toggleMainSidebar&&window.toggleMainSidebar()},className:"lg:hidden h-9 w-9 shrink-0",children:[(0,t.jsx)(o,{className:"h-5 w-5"}),(0,t.jsx)("span",{className:"sr-only",children:"Toggle menu"})]}),(0,t.jsxs)(r.default,{href:"/",className:"flex items-center space-x-2 shrink-0",children:[(0,t.jsx)(n.default,{src:"/logo-with-bg.svg",alt:"LeanSpec",width:32,height:32,className:"h-7 w-7 sm:h-8 sm:w-8 dark:hidden"}),(0,t.jsx)(n.default,{src:"/logo-dark-bg.svg",alt:"LeanSpec",width:32,height:32,className:"h-7 w-7 sm:h-8 sm:w-8 hidden dark:block"}),(0,t.jsx)("span",{className:"font-bold text-lg sm:text-xl hidden sm:inline",children:"LeanSpec"})]}),(0,t.jsx)("div",{className:"hidden md:block min-w-0",children:(0,t.jsx)(el,{items:s})})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1 sm:gap-2 shrink-0",children:[(0,t.jsx)(ea,{specs:e}),(0,t.jsxs)(eo.TooltipProvider,{children:[(0,t.jsxs)(eo.Tooltip,{children:[(0,t.jsx)(eo.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("div",{children:(0,t.jsx)(p,{})})}),(0,t.jsx)(eo.TooltipContent,{children:(0,t.jsx)("p",{children:"Toggle theme"})})]}),(0,t.jsxs)(eo.Tooltip,{children:[(0,t.jsx)(eo.TooltipTrigger,{asChild:!0,children:(0,t.jsx)(f.Button,{variant:"ghost",size:"icon",asChild:!0,className:"h-9 w-9 sm:h-10 sm:w-10",children:(0,t.jsx)("a",{href:"https://www.lean-spec.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"Documentation",children:(0,t.jsx)(l.BookOpen,{className:"h-5 w-5"})})})}),(0,t.jsx)(eo.TooltipContent,{children:(0,t.jsx)("p",{children:"Documentation"})})]}),(0,t.jsxs)(eo.Tooltip,{children:[(0,t.jsx)(eo.TooltipTrigger,{asChild:!0,children:(0,t.jsx)(f.Button,{variant:"ghost",size:"icon",asChild:!0,className:"h-9 w-9 sm:h-10 sm:w-10",children:(0,t.jsxs)("a",{href:"https://github.com/codervisor/lean-spec",target:"_blank",rel:"noopener noreferrer","aria-label":"GitHub repository",children:[(0,t.jsx)(n.default,{src:"/github-mark-white.svg",alt:"GitHub",width:20,height:20,className:"hidden dark:block"}),(0,t.jsx)(n.default,{src:"/github-mark.svg",alt:"GitHub",width:20,height:20,className:"dark:hidden"})]})})}),(0,t.jsx)(eo.TooltipContent,{children:(0,t.jsx)("p",{children:"GitHub repository"})})]})]})]})]})})}e.s(["Navigation",()=>eu],426160)},742634,e=>{"use strict";var t=e.i(890022),r=e.i(987985),n=e.i(230827),i=e.i(497332),s=e.i(20315),a=e.i(122436);let o=(0,a.default)("chart-column",[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]]);var l=e.i(954049);let u=(0,a.default)("network",[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]]);var c=e.i(158362),d=e.i(525761),h=e.i(644021),f=e.i(431231),p=e.i(686266);let m=(0,a.default)("chevrons-up-down",[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]]);var g=e.i(963781),v=e.i(723882),x=e.i(828964),b=e.i(632137),y=e.i(235893),w=e.i(694541),C=e.i(291967),j=e.i(430406),E=e.i(79014),A=e.i(255235),k=e.i(254440),S=e.i(31007),_=e.i(315599),N=e.i(306839),P=e.i(214260),D=e.i(111052),R=e.i(122925),F=e.i(665489),M=e.i(393136),I=e.i(73772),B=e.i(97496),O="Popover",[$,L]=(0,E.createContextScope)(O,[N.createPopperScope]),z=(0,N.createPopperScope)(),[T,q]=$(O),H=e=>{let{__scopePopover:r,children:n,open:i,defaultOpen:s,onOpenChange:a,modal:o=!1}=e,l=z(r),u=f.useRef(null),[c,d]=f.useState(!1),[h,p]=(0,M.useControllableState)({prop:i,defaultProp:s??!1,onChange:a,caller:O});return(0,t.jsx)(N.Root,{...l,children:(0,t.jsx)(T,{scope:r,contentId:(0,_.useId)(),triggerRef:u,open:h,onOpenChange:p,onOpenToggle:f.useCallback(()=>p(e=>!e),[p]),hasCustomAnchor:c,onCustomAnchorAdd:f.useCallback(()=>d(!0),[]),onCustomAnchorRemove:f.useCallback(()=>d(!1),[]),modal:o,children:n})})};H.displayName=O;var G="PopoverAnchor";f.forwardRef((e,r)=>{let{__scopePopover:n,...i}=e,s=q(G,n),a=z(n),{onCustomAnchorAdd:o,onCustomAnchorRemove:l}=s;return f.useEffect(()=>(o(),()=>l()),[o,l]),(0,t.jsx)(N.Anchor,{...a,...i,ref:r})}).displayName=G;var V="PopoverTrigger",W=f.forwardRef((e,r)=>{let{__scopePopover:n,...i}=e,s=q(V,n),a=z(n),o=(0,j.useComposedRefs)(r,s.triggerRef),l=(0,t.jsx)(R.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":s.open,"aria-controls":s.contentId,"data-state":ei(s.open),...i,ref:o,onClick:(0,C.composeEventHandlers)(e.onClick,s.onOpenToggle)});return s.hasCustomAnchor?l:(0,t.jsx)(N.Anchor,{asChild:!0,...a,children:l})});W.displayName=V;var K="PopoverPortal",[U,J]=$(K,{forceMount:void 0}),X=e=>{let{__scopePopover:r,forceMount:n,children:i,container:s}=e,a=q(K,r);return(0,t.jsx)(U,{scope:r,forceMount:n,children:(0,t.jsx)(D.Presence,{present:n||a.open,children:(0,t.jsx)(P.Portal,{asChild:!0,container:s,children:i})})})};X.displayName=K;var Q="PopoverContent",Y=f.forwardRef((e,r)=>{let n=J(Q,e.__scopePopover),{forceMount:i=n.forceMount,...s}=e,a=q(Q,e.__scopePopover);return(0,t.jsx)(D.Presence,{present:i||a.open,children:a.modal?(0,t.jsx)(ee,{...s,ref:r}):(0,t.jsx)(et,{...s,ref:r})})});Y.displayName=Q;var Z=(0,F.createSlot)("PopoverContent.RemoveScroll"),ee=f.forwardRef((e,r)=>{let n=q(Q,e.__scopePopover),i=f.useRef(null),s=(0,j.useComposedRefs)(r,i),a=f.useRef(!1);return f.useEffect(()=>{let e=i.current;if(e)return(0,I.hideOthers)(e)},[]),(0,t.jsx)(B.RemoveScroll,{as:Z,allowPinchZoom:!0,children:(0,t.jsx)(er,{...e,ref:s,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,C.composeEventHandlers)(e.onCloseAutoFocus,e=>{e.preventDefault(),a.current||n.triggerRef.current?.focus()}),onPointerDownOutside:(0,C.composeEventHandlers)(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,r=0===t.button&&!0===t.ctrlKey;a.current=2===t.button||r},{checkForDefaultPrevented:!1}),onFocusOutside:(0,C.composeEventHandlers)(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})}),et=f.forwardRef((e,r)=>{let n=q(Q,e.__scopePopover),i=f.useRef(!1),s=f.useRef(!1);return(0,t.jsx)(er,{...e,ref:r,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(i.current||n.triggerRef.current?.focus(),t.preventDefault()),i.current=!1,s.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(i.current=!0,"pointerdown"===t.detail.originalEvent.type&&(s.current=!0));let r=t.target;n.triggerRef.current?.contains(r)&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&s.current&&t.preventDefault()}})}),er=f.forwardRef((e,r)=>{let{__scopePopover:n,trapFocus:i,onOpenAutoFocus:s,onCloseAutoFocus:a,disableOutsidePointerEvents:o,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:c,onInteractOutside:d,...h}=e,f=q(Q,n),p=z(n);return(0,k.useFocusGuards)(),(0,t.jsx)(S.FocusScope,{asChild:!0,loop:!0,trapped:i,onMountAutoFocus:s,onUnmountAutoFocus:a,children:(0,t.jsx)(A.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:o,onInteractOutside:d,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:c,onDismiss:()=>f.onOpenChange(!1),children:(0,t.jsx)(N.Content,{"data-state":ei(f.open),role:"dialog",id:f.contentId,...p,...h,ref:r,style:{...h.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),en="PopoverClose";function ei(e){return e?"open":"closed"}f.forwardRef((e,r)=>{let{__scopePopover:n,...i}=e,s=q(en,n);return(0,t.jsx)(R.Primitive.button,{type:"button",...i,ref:r,onClick:(0,C.composeEventHandlers)(e.onClick,()=>s.onOpenChange(!1))})}).displayName=en,f.forwardRef((e,r)=>{let{__scopePopover:n,...i}=e,s=z(n);return(0,t.jsx)(N.Arrow,{...s,...i,ref:r})}).displayName="PopoverArrow";let es=f.forwardRef(({className:e,align:r="center",sideOffset:n=4,...i},s)=>(0,t.jsx)(X,{children:(0,t.jsx)(Y,{ref:s,align:r,sideOffset:n,className:(0,b.cn)("z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...i})}));es.displayName=Y.displayName;var ea=e.i(20648),eo=e.i(361877);function el({collapsed:e}){let{mode:r,currentProject:n,projects:i,switchProject:s}=(0,ea.useProject)(),[a,o]=(0,f.useState)(!1),[l,u]=(0,f.useState)(!1);if("multi-project"!==r)return null;let c=async e=>{await s(e),o(!1)},d=[...i].sort((e,t)=>e.favorite===t.favorite?0:e.favorite?-1:1);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(eo.CreateProjectDialog,{open:l,onOpenChange:u}),(0,t.jsxs)(H,{open:a,onOpenChange:o,children:[(0,t.jsx)(W,{asChild:!0,children:(0,t.jsx)(y.Button,{variant:"outline",role:"combobox","aria-expanded":a,className:(0,b.cn)("w-full justify-between",e?"h-9 w-9 p-0 justify-center":"px-3"),children:e?(0,t.jsx)(v.FolderOpen,{className:"h-4 w-4"}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 truncate",children:[(0,t.jsx)(v.FolderOpen,{className:"h-4 w-4 shrink-0 opacity-50"}),(0,t.jsx)("span",{className:"truncate",children:n?.name||"Select project..."})]}),(0,t.jsx)(m,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})})}),(0,t.jsx)(es,{className:"w-[200px] p-0",align:"start",children:(0,t.jsxs)(w.Command,{children:[(0,t.jsx)(w.CommandInput,{placeholder:"Search projects..."}),(0,t.jsxs)(w.CommandList,{children:[(0,t.jsx)(w.CommandEmpty,{children:"No project found."}),(0,t.jsx)(w.CommandGroup,{heading:"Projects",children:d.map(e=>(0,t.jsx)(w.CommandItem,{onSelect:()=>c(e.id),className:"text-sm",children:(0,t.jsxs)("div",{className:"flex items-center gap-2 w-full",children:[(0,t.jsx)(p.Check,{className:(0,b.cn)("mr-2 h-4 w-4",n?.id===e.id?"opacity-100":"opacity-0")}),(0,t.jsx)("span",{className:"truncate flex-1",children:e.name}),e.favorite&&(0,t.jsx)(x.Star,{className:"h-3 w-3 fill-yellow-500 text-yellow-500"})]})},e.id))}),(0,t.jsx)(w.CommandSeparator,{}),(0,t.jsx)(w.CommandGroup,{children:(0,t.jsxs)(w.CommandItem,{className:"cursor-pointer",onSelect:()=>{o(!1),u(!0)},children:[(0,t.jsx)(g.Plus,{className:"mr-2 h-4 w-4"}),"Create Project"]})})]})]})})]})]})}function eu({href:e,icon:n,children:i,description:s,currentPath:a,isCollapsed:o}){let l=a===e||"/"!==e&&a.startsWith(e);return(0,t.jsxs)(r.default,{href:e,className:(0,b.cn)("flex items-center gap-3 rounded-lg px-3 py-2 transition-colors","hover:bg-accent hover:text-accent-foreground",l&&"bg-accent text-accent-foreground font-medium",o&&"justify-center px-2"),children:[(0,t.jsx)(n,{className:(0,b.cn)("h-5 w-5 shrink-0",l&&"text-primary")}),!o&&(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsx)("span",{className:"text-sm",children:i}),s&&(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:s})]})]})}function ec(){let e=(0,n.usePathname)(),[r,a]=f.useState(()=>"true"===localStorage.getItem("main-sidebar-collapsed")),[p,m]=f.useState(!1),[g,v]=f.useState(!1);return f.useEffect(()=>{v(!0)},[]),f.useEffect(()=>{document.documentElement.style.setProperty("--main-sidebar-width",r?"60px":"240px"),localStorage.setItem("main-sidebar-collapsed",String(r))},[r]),f.useEffect(()=>{m(!1)},[e]),f.useEffect(()=>(window.toggleMainSidebar=()=>m(e=>!e),()=>{window.toggleMainSidebar=void 0}),[]),(0,t.jsxs)(t.Fragment,{children:[p&&(0,t.jsx)("div",{className:"fixed inset-0 bg-black/50 z-40 lg:hidden",onClick:()=>m(!1)}),(0,t.jsx)("aside",{className:(0,b.cn)("border-r border-border bg-background transition-all duration-300 flex-shrink-0","hidden lg:flex lg:sticky lg:top-14 lg:h-[calc(100vh-3.5rem)]",g&&r?"lg:w-[60px]":"lg:w-[240px]",p&&"fixed inset-y-0 left-0 z-[60] flex w-[280px]"),children:(0,t.jsxs)("div",{className:"flex flex-col h-full w-full",children:[(0,t.jsx)("div",{className:"lg:hidden flex justify-end p-2 border-b border-border",children:(0,t.jsxs)(y.Button,{variant:"ghost",size:"sm",onClick:()=>m(!1),className:"h-8 w-8 p-0",children:[(0,t.jsx)(h.X,{className:"h-4 w-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close menu"})]})}),g&&(0,t.jsxs)("nav",{className:"flex-1 px-2 py-4 space-y-1",children:[(0,t.jsx)("div",{className:"mb-4",children:(0,t.jsx)(el,{collapsed:r&&!p})}),(0,t.jsx)(eu,{href:"/",icon:i.Home,currentPath:e,description:!r||p?"Dashboard":void 0,isCollapsed:r&&!p,children:"Home"}),(0,t.jsx)(eu,{href:"/specs",icon:s.FileText,currentPath:e,description:!r||p?"All Specifications":void 0,isCollapsed:r&&!p,children:"Specs"}),(0,t.jsx)(eu,{href:"/dependencies",icon:u,currentPath:e,description:!r||p?"Dependency Graph":void 0,isCollapsed:r&&!p,children:"Dependencies"}),(0,t.jsx)(eu,{href:"/stats",icon:o,currentPath:e,description:!r||p?"Analytics":void 0,isCollapsed:r&&!p,children:"Stats"}),(0,t.jsx)(eu,{href:"/context",icon:l.BookOpen,currentPath:e,description:!r||p?"Project Context":void 0,isCollapsed:r&&!p,children:"Context"})]}),(0,t.jsx)("div",{className:"hidden lg:block p-2 border-t border-border",children:(0,t.jsx)(y.Button,{variant:"ghost",size:"sm",onClick:()=>a(!r),className:(0,b.cn)("w-full",g&&r&&"px-2"),children:g&&r?(0,t.jsx)(d.ChevronRight,{className:"h-4 w-4"}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(c.ChevronLeft,{className:"h-4 w-4 mr-2"}),(0,t.jsx)("span",{className:"text-xs",children:"Collapse"})]})})})]})})]})}e.s(["MainSidebar",()=>ec],742634)},305215,e=>{"use strict";var t=e.i(890022),r=e.i(81795);function n({children:e,...n}){return(0,t.jsx)(r.ThemeProvider,{...n,children:e})}e.s(["ThemeProvider",()=>n])},474916,e=>{"use strict";var t=e.i(178420),r=e.i(995403);e.s(["Toast",()=>t.Toast,"toast",()=>r.toast])},124636,e=>{"use strict";var t=e.i(959124),r=e.i(431231);function n(){return"undefined"!=typeof window}function i(){return"production"}function s(){return(n()?window.vam:i())||"production"}function a(){return"production"===s()}function o(){return"development"===s()}function l(e,t,r){var i,s;if(!n()){let e="[Vercel Web Analytics] Please import `track` from `@vercel/analytics/server` when using this function in a server environment";if(a())console.warn(e);else throw Error(e);return}if(!t){null==(i=window.va)||i.call(window,"event",{name:e,options:r});return}try{let n=function(e,t){if(!e)return;let r=e,n=[];for(let[i,s]of Object.entries(e))"object"==typeof s&&null!==s&&(t.strip?r=function(e,{[e]:t,...r}){return r}(i,r):n.push(i));if(n.length>0&&!t.strip)throw Error(`The following properties are not valid: ${n.join(", ")}. Only strings, numbers, booleans, and null are allowed.`);return r}(t,{strip:a()});null==(s=window.va)||s.call(window,"event",{name:e,data:n,options:r})}catch(e){e instanceof Error&&o()&&console.error(e)}}function u(e){return(0,r.useEffect)(()=>{var t;e.beforeSend&&(null==(t=window.va)||t.call(window,"beforeSend",e.beforeSend))},[e.beforeSend]),(0,r.useEffect)(()=>{!function(e={debug:!0}){var t;if(!n())return;!function(e="auto"){if("auto"===e){window.vam=i();return}window.vam=e}(e.mode),window.va||(window.va=function(...e){(window.vaq=window.vaq||[]).push(e)}),e.beforeSend&&(null==(t=window.va)||t.call(window,"beforeSend",e.beforeSend));let r=e.scriptSrc?e.scriptSrc:o()?"https://va.vercel-scripts.com/v1/script.debug.js":e.basePath?`${e.basePath}/insights/script.js`:"/_vercel/insights/script.js";if(document.head.querySelector(`script[src*="${r}"]`))return;let s=document.createElement("script");s.src=r,s.defer=!0,s.dataset.sdkn="@vercel/analytics"+(e.framework?`/${e.framework}`:""),s.dataset.sdkv="1.5.0",e.disableAutoTrack&&(s.dataset.disableAutoTrack="1"),e.endpoint?s.dataset.endpoint=e.endpoint:e.basePath&&(s.dataset.endpoint=`${e.basePath}/insights`),e.dsn&&(s.dataset.dsn=e.dsn),s.onerror=()=>{let e=o()?"Please check if any ad blockers are enabled and try again.":"Be sure to enable Web Analytics for your project and deploy again. See https://vercel.com/docs/analytics/quickstart for more information.";console.log(`[Vercel Web Analytics] Failed to load script from ${r}. ${e}`)},o()&&!1===e.debug&&(s.dataset.debug="false"),document.head.appendChild(s)}({framework:e.framework||"react",basePath:e.basePath??function(){if(void 0!==t.default&&void 0!==t.default.env)return t.default.env.REACT_APP_VERCEL_OBSERVABILITY_BASEPATH}(),...void 0!==e.route&&{disableAutoTrack:!0},...e})},[]),(0,r.useEffect)(()=>{e.route&&e.path&&function({route:e,path:t}){var r;null==(r=window.va)||r.call(window,"pageview",{route:e,path:t})}({route:e.route,path:e.path})},[e.route,e.path]),null}e.s(["Analytics",()=>u,"track",()=>l])}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,522764,e=>{"use strict";let t=(0,e.i(122436).default)("list",[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]]);e.s(["List",()=>t],522764)},296026,e=>{"use strict";let t=(0,e.i(122436).default)("trending-up",[["path",{d:"M16 7h6v6",key:"box55l"}],["path",{d:"m22 7-8.5 8.5-5-5L2 17",key:"1t1m79"}]]);e.s(["TrendingUp",()=>t],296026)},76075,e=>{"use strict";var t=e.i(890022),s=e.i(431231),a=e.i(632137);let r=s.forwardRef(({className:e,...s},r)=>(0,t.jsx)("div",{ref:r,className:(0,a.cn)("rounded-xl border border-gray-200 dark:border-gray-800 bg-card text-card-foreground shadow",e),...s}));r.displayName="Card";let l=s.forwardRef(({className:e,...s},r)=>(0,t.jsx)("div",{ref:r,className:(0,a.cn)("flex flex-col space-y-1.5 p-6",e),...s}));l.displayName="CardHeader";let d=s.forwardRef(({className:e,...s},r)=>(0,t.jsx)("div",{ref:r,className:(0,a.cn)("font-semibold leading-none tracking-tight",e),...s}));d.displayName="CardTitle";let i=s.forwardRef(({className:e,...s},r)=>(0,t.jsx)("div",{ref:r,className:(0,a.cn)("text-sm text-muted-foreground",e),...s}));i.displayName="CardDescription";let c=s.forwardRef(({className:e,...s},r)=>(0,t.jsx)("div",{ref:r,className:(0,a.cn)("p-6 pt-0",e),...s}));c.displayName="CardContent",s.forwardRef(({className:e,...s},r)=>(0,t.jsx)("div",{ref:r,className:(0,a.cn)("flex items-center p-6 pt-0",e),...s})).displayName="CardFooter",e.s(["Card",()=>r,"CardContent",()=>c,"CardDescription",()=>i,"CardHeader",()=>l,"CardTitle",()=>d])},416992,e=>{"use strict";let t=(0,e.i(122436).default)("layout-grid",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]]);e.s(["LayoutGrid",()=>t],416992)},506116,e=>{"use strict";var t=e.i(890022),s=e.i(431231),a=e.i(987985),r=e.i(20648),l=e.i(76075),d=e.i(235893),i=e.i(20315),c=e.i(196812),n=e.i(75364),o=e.i(40843),m=e.i(416992),x=e.i(522764),h=e.i(296026);let p=(0,e.i(122436).default)("calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]);var u=e.i(787949),j=e.i(168497),f=e.i(597705),N=e.i(323490),g=e.i(632137);function y({spec:e}){let s=(e.contentMd?(0,g.extractH1Title)(e.contentMd):null)||e.title||e.specName;return(0,t.jsx)(a.default,{href:`/specs/${e.specNumber}`,className:"block p-3 rounded-lg hover:bg-accent transition-colors",title:e.specName,children:(0,t.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[e.specNumber&&(0,t.jsxs)("span",{className:"text-sm font-mono text-muted-foreground shrink-0",children:["#",e.specNumber.toString().padStart(3,"0")]}),(0,t.jsx)("h4",{className:"text-sm font-medium truncate",children:s})]}),s!==e.specName&&(0,t.jsx)("div",{className:"text-xs text-muted-foreground mb-1",children:e.specName}),e.tags&&e.tags.length>0&&(0,t.jsx)("div",{className:"flex flex-wrap gap-1",children:e.tags.slice(0,3).map(e=>(0,t.jsx)(N.Badge,{variant:"secondary",className:"text-xs",children:e},e))})]}),(0,t.jsxs)("div",{className:"flex flex-col items-end gap-1 shrink-0",children:[e.status&&(0,t.jsx)(j.StatusBadge,{status:e.status,className:"text-xs scale-90"}),e.priority&&(0,t.jsx)(f.PriorityBadge,{priority:e.priority,className:"text-xs scale-90"})]})]})})}function v({spec:e,action:s,time:r}){let l=(e.contentMd?(0,g.extractH1Title)(e.contentMd):null)||e.title||e.specName;return(0,t.jsxs)("div",{className:"flex items-start gap-3 py-2",children:[(0,t.jsx)("div",{className:"w-2 h-2 rounded-full bg-primary mt-2 shrink-0"}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsxs)("p",{className:"text-sm",children:[(0,t.jsxs)(a.default,{href:`/specs/${e.specNumber}`,className:"font-medium hover:underline",title:e.specName,children:["#",e.specNumber?.toString().padStart(3,"0")," ",l]})," ",(0,t.jsx)("span",{className:"text-muted-foreground",children:s})]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5",children:function(e){if(!e)return"Unknown";let t=Math.floor((new Date().getTime()-e.getTime())/36e5),s=Math.floor(t/24);return t<1?"Just now":t<24?`${t} hour${t>1?"s":""} ago`:s<7?`${s} day${s>1?"s":""} ago`:s<30?`${Math.floor(s/7)} week${Math.floor(s/7)>1?"s":""} ago`:e.toLocaleDateString()}(r)})]})]})}function C({initialSpecs:e,initialStats:j}){let{mode:f,currentProject:N,isLoading:g}=(0,r.useProject)(),[C,b]=(0,s.useState)(e),[w,k]=(0,s.useState)(j),[T,A]=(0,s.useState)(!1);(0,s.useEffect)(()=>{"multi-project"===f&&(N?S(N.id):(b([]),k({totalSpecs:0,completionRate:0,specsByStatus:[]})))},[f,N]);let S=async e=>{A(!0);try{let[t,s]=await Promise.all([fetch(`/api/projects/${e}/specs`),fetch(`/api/projects/${e}/stats`)]);if(t.ok&&s.ok){let e=await t.json(),a=await s.json(),r=e.specs.map(e=>({...e,createdAt:e.createdAt?new Date(e.createdAt):null,updatedAt:e.updatedAt?new Date(e.updatedAt):null}));b(r),k(a.stats)}}catch(e){console.error(e)}finally{A(!1)}};if("multi-project"===f&&!N)return g?(0,t.jsx)("div",{className:"flex items-center justify-center h-screen",children:(0,t.jsx)(u.Loader2,{className:"animate-spin"})}):(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center h-[calc(100vh-4rem)] text-center p-8",children:[(0,t.jsx)("h2",{className:"text-2xl font-bold mb-2",children:"Welcome to LeanSpec"}),(0,t.jsx)("p",{className:"text-muted-foreground mb-4",children:"Select a project from the sidebar or create a new one to get started."})]});if(T)return(0,t.jsx)("div",{className:"flex items-center justify-center h-screen",children:(0,t.jsx)(u.Loader2,{className:"animate-spin"})});let M=C.filter(e=>"in-progress"===e.status).sort((e,t)=>(t.specNumber||0)-(e.specNumber||0)).slice(0,5),B=C.filter(e=>"planned"===e.status).sort((e,t)=>(t.specNumber||0)-(e.specNumber||0)).slice(0,5),H=C.sort((e,t)=>e.createdAt?t.createdAt?t.createdAt.getTime()-e.createdAt.getTime():-1:1).slice(0,5),P=C.filter(e=>e.updatedAt).sort((e,t)=>e.updatedAt?t.updatedAt?t.updatedAt.getTime()-e.updatedAt.getTime():-1:1).slice(0,10),R=w.specsByStatus.find(e=>"complete"===e.status)?.count||0;return(0,t.jsx)("div",{className:"min-h-screen bg-background p-4 sm:p-8",children:(0,t.jsxs)("div",{className:"max-w-7xl mx-auto space-y-6 sm:space-y-8",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h1",{className:"text-3xl sm:text-4xl font-bold tracking-tight",children:"Dashboard"}),(0,t.jsx)("p",{className:"text-muted-foreground mt-2",children:"Project overview and recent activity"})]}),(0,t.jsxs)("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-3 sm:gap-4",children:[(0,t.jsxs)(l.Card,{className:"relative overflow-hidden",children:[(0,t.jsx)("div",{className:"absolute inset-0 bg-gradient-to-br from-blue-500/10 to-transparent"}),(0,t.jsx)(l.CardHeader,{className:"relative pb-3",children:(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)(l.CardTitle,{className:"text-sm font-medium text-muted-foreground",children:"Total Specs"}),(0,t.jsx)(i.FileText,{className:"h-5 w-5 text-blue-600"})]})}),(0,t.jsx)(l.CardContent,{className:"relative",children:(0,t.jsx)("div",{className:"text-3xl font-bold",children:w.totalSpecs})})]}),(0,t.jsxs)(l.Card,{className:"relative overflow-hidden",children:[(0,t.jsx)("div",{className:"absolute inset-0 bg-gradient-to-br from-orange-500/10 to-transparent"}),(0,t.jsx)(l.CardHeader,{className:"relative pb-3",children:(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)(l.CardTitle,{className:"text-sm font-medium text-muted-foreground",children:"In Progress"}),(0,t.jsx)(n.PlayCircle,{className:"h-5 w-5 text-orange-600"})]})}),(0,t.jsx)(l.CardContent,{className:"relative",children:(0,t.jsx)("div",{className:"text-3xl font-bold",children:w.specsByStatus.find(e=>"in-progress"===e.status)?.count||0})})]}),(0,t.jsxs)(l.Card,{className:"relative overflow-hidden",children:[(0,t.jsx)("div",{className:"absolute inset-0 bg-gradient-to-br from-green-500/10 to-transparent"}),(0,t.jsx)(l.CardHeader,{className:"relative pb-3",children:(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)(l.CardTitle,{className:"text-sm font-medium text-muted-foreground",children:"Completed"}),(0,t.jsx)(c.CheckCircle2,{className:"h-5 w-5 text-green-600"})]})}),(0,t.jsxs)(l.CardContent,{className:"relative",children:[(0,t.jsx)("div",{className:"text-3xl font-bold",children:R}),(0,t.jsxs)("p",{className:"text-xs text-muted-foreground mt-1 flex items-center gap-1",children:[(0,t.jsx)(h.TrendingUp,{className:"h-3 w-3"}),w.completionRate.toFixed(1),"% completion rate"]})]})]}),(0,t.jsxs)(l.Card,{className:"relative overflow-hidden",children:[(0,t.jsx)("div",{className:"absolute inset-0 bg-gradient-to-br from-purple-500/10 to-transparent"}),(0,t.jsx)(l.CardHeader,{className:"relative pb-3",children:(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)(l.CardTitle,{className:"text-sm font-medium text-muted-foreground",children:"Planned"}),(0,t.jsx)(o.Clock,{className:"h-5 w-5 text-purple-600"})]})}),(0,t.jsx)(l.CardContent,{className:"relative",children:(0,t.jsx)("div",{className:"text-3xl font-bold",children:w.specsByStatus.find(e=>"planned"===e.status)?.count||0})})]})]}),(0,t.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-4 sm:gap-6",children:[(0,t.jsxs)(l.Card,{children:[(0,t.jsx)(l.CardHeader,{children:(0,t.jsxs)(l.CardTitle,{className:"text-lg flex items-center gap-2",children:[(0,t.jsx)(p,{className:"h-5 w-5 text-blue-600"}),"Recently Added"]})}),(0,t.jsx)(l.CardContent,{className:"space-y-1",children:H.slice(0,5).map(e=>(0,t.jsx)(y,{spec:e},e.id))})]}),(0,t.jsxs)(l.Card,{children:[(0,t.jsx)(l.CardHeader,{children:(0,t.jsxs)(l.CardTitle,{className:"text-lg flex items-center gap-2",children:[(0,t.jsx)(o.Clock,{className:"h-5 w-5 text-purple-600"}),"Planned (",B.length,")"]})}),(0,t.jsx)(l.CardContent,{className:"space-y-1",children:B.length>0?B.map(e=>(0,t.jsx)(y,{spec:e},e.id)):(0,t.jsx)("p",{className:"text-sm text-muted-foreground py-4 text-center",children:"No planned specs"})})]}),(0,t.jsxs)(l.Card,{children:[(0,t.jsx)(l.CardHeader,{children:(0,t.jsxs)(l.CardTitle,{className:"text-lg flex items-center gap-2",children:[(0,t.jsx)(n.PlayCircle,{className:"h-5 w-5 text-orange-600"}),"In Progress (",M.length,")"]})}),(0,t.jsx)(l.CardContent,{className:"space-y-1",children:M.length>0?M.map(e=>(0,t.jsx)(y,{spec:e},e.id)):(0,t.jsx)("p",{className:"text-sm text-muted-foreground py-4 text-center",children:"No specs in progress"})})]})]}),(0,t.jsxs)(l.Card,{children:[(0,t.jsx)(l.CardHeader,{children:(0,t.jsx)(l.CardTitle,{className:"text-lg",children:"Recent Activity"})}),(0,t.jsx)(l.CardContent,{children:(0,t.jsx)("div",{className:"border-l-2 border-muted pl-4 space-y-1",children:P.map(e=>(0,t.jsx)(v,{spec:e,action:"updated",time:e.updatedAt},e.id))})})]}),(0,t.jsxs)(l.Card,{children:[(0,t.jsx)(l.CardHeader,{children:(0,t.jsx)(l.CardTitle,{className:"text-lg",children:"Quick Actions"})}),(0,t.jsx)(l.CardContent,{children:(0,t.jsxs)("div",{className:"flex flex-wrap gap-3",children:[(0,t.jsx)(d.Button,{asChild:!0,children:(0,t.jsxs)(a.default,{href:"/specs",children:[(0,t.jsx)(x.List,{className:"h-4 w-4 mr-2"}),"View All Specs"]})}),(0,t.jsx)(d.Button,{variant:"outline",asChild:!0,children:(0,t.jsxs)(a.default,{href:"/specs?view=board",children:[(0,t.jsx)(m.LayoutGrid,{className:"h-4 w-4 mr-2"}),"Board View"]})}),(0,t.jsx)(d.Button,{variant:"outline",asChild:!0,children:(0,t.jsxs)(a.default,{href:"/stats",children:[(0,t.jsx)(h.TrendingUp,{className:"h-4 w-4 mr-2"}),"View Stats"]})})]})})]})]})})}e.s(["DashboardClient",()=>C],506116)}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,340898,e=>{"use strict";var t=e.i(890022),r=e.i(431231),n=e.i(963781),o=e.i(300329),a=e.i(723882),s=e.i(828964),l=e.i(122436);let i=(0,l.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"}]]),c=(0,l.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 d=e.i(20648),u=e.i(235893),p=e.i(21079),f=e.i(76075),m=e.i(291967),v=e.i(430406),h=e.i(79014),x=e.i(393136),g=e.i(122925),w=e.i(670465),y=e.i(695587),j=e.i(255235),b=e.i(254440),C=e.i(31007),N=e.i(315599),R=e.i(306839),M=e.i(214260),E=e.i(111052),D=e.i(938657),k="rovingFocusGroup.onEntryFocus",P={bubbles:!1,cancelable:!0},S="RovingFocusGroup",[_,I,T]=(0,w.createCollection)(S),[F,A]=(0,h.createContextScope)(S,[T]),[O,H]=F(S),L=r.forwardRef((e,r)=>(0,t.jsx)(_.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,t.jsx)(_.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,t.jsx)(K,{...e,ref:r})})}));L.displayName=S;var K=r.forwardRef((e,n)=>{let{__scopeRovingFocusGroup:o,orientation:a,loop:s=!1,dir:l,currentTabStopId:i,defaultCurrentTabStopId:c,onCurrentTabStopIdChange:d,onEntryFocus:u,preventScrollOnEntryFocus:p=!1,...f}=e,h=r.useRef(null),w=(0,v.useComposedRefs)(n,h),j=(0,y.useDirection)(l),[b,C]=(0,x.useControllableState)({prop:i,defaultProp:c??null,onChange:d,caller:S}),[N,R]=r.useState(!1),M=(0,D.useCallbackRef)(u),E=I(o),_=r.useRef(!1),[T,F]=r.useState(0);return r.useEffect(()=>{let e=h.current;if(e)return e.addEventListener(k,M),()=>e.removeEventListener(k,M)},[M]),(0,t.jsx)(O,{scope:o,orientation:a,dir:j,loop:s,currentTabStopId:b,onItemFocus:r.useCallback(e=>C(e),[C]),onItemShiftTab:r.useCallback(()=>R(!0),[]),onFocusableItemAdd:r.useCallback(()=>F(e=>e+1),[]),onFocusableItemRemove:r.useCallback(()=>F(e=>e-1),[]),children:(0,t.jsx)(g.Primitive.div,{tabIndex:N||0===T?-1:0,"data-orientation":a,...f,ref:w,style:{outline:"none",...e.style},onMouseDown:(0,m.composeEventHandlers)(e.onMouseDown,()=>{_.current=!0}),onFocus:(0,m.composeEventHandlers)(e.onFocus,e=>{let t=!_.current;if(e.target===e.currentTarget&&t&&!N){let t=new CustomEvent(k,P);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=E().filter(e=>e.focusable);z([e.find(e=>e.active),e.find(e=>e.id===b),...e].filter(Boolean).map(e=>e.ref.current),p)}}_.current=!1}),onBlur:(0,m.composeEventHandlers)(e.onBlur,()=>R(!1))})})}),G="RovingFocusGroupItem",U=r.forwardRef((e,n)=>{let{__scopeRovingFocusGroup:o,focusable:a=!0,active:s=!1,tabStopId:l,children:i,...c}=e,d=(0,N.useId)(),u=l||d,p=H(G,o),f=p.currentTabStopId===u,v=I(o),{onFocusableItemAdd:h,onFocusableItemRemove:x,currentTabStopId:w}=p;return r.useEffect(()=>{if(a)return h(),()=>x()},[a,h,x]),(0,t.jsx)(_.ItemSlot,{scope:o,id:u,focusable:a,active:s,children:(0,t.jsx)(g.Primitive.span,{tabIndex:f?0:-1,"data-orientation":p.orientation,...c,ref:n,onMouseDown:(0,m.composeEventHandlers)(e.onMouseDown,e=>{a?p.onItemFocus(u):e.preventDefault()}),onFocus:(0,m.composeEventHandlers)(e.onFocus,()=>p.onItemFocus(u)),onKeyDown:(0,m.composeEventHandlers)(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void p.onItemShiftTab();if(e.target!==e.currentTarget)return;let t=function(e,t,r){var n;let o=(n=e.key,"rtl"!==r?n:"ArrowLeft"===n?"ArrowRight":"ArrowRight"===n?"ArrowLeft":n);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(o))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(o)))return B[o]}(e,p.orientation,p.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let o=v().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)o.reverse();else if("prev"===t||"next"===t){var r,n;"prev"===t&&o.reverse();let a=o.indexOf(e.currentTarget);o=p.loop?(r=o,n=a+1,r.map((e,t)=>r[(n+t)%r.length])):o.slice(a+1)}setTimeout(()=>z(o))}}),children:"function"==typeof i?i({isCurrentTabStop:f,hasTabStop:null!=w}):i})})});U.displayName=G;var B={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function z(e,t=!1){let r=document.activeElement;for(let n of e)if(n===r||(n.focus({preventScroll:t}),document.activeElement!==r))return}var V=e.i(665489),X=e.i(73772),Y=e.i(97496),q=["Enter"," "],W=["ArrowUp","PageDown","End"],Z=["ArrowDown","PageUp","Home",...W],J={ltr:[...q,"ArrowRight"],rtl:[...q,"ArrowLeft"]},Q={ltr:["ArrowLeft"],rtl:["ArrowRight"]},$="Menu",[ee,et,er]=(0,w.createCollection)($),[en,eo]=(0,h.createContextScope)($,[er,R.createPopperScope,A]),ea=(0,R.createPopperScope)(),es=A(),[el,ei]=en($),[ec,ed]=en($),eu=e=>{let{__scopeMenu:n,open:o=!1,children:a,dir:s,onOpenChange:l,modal:i=!0}=e,c=ea(n),[d,u]=r.useState(null),p=r.useRef(!1),f=(0,D.useCallbackRef)(l),m=(0,y.useDirection)(s);return r.useEffect(()=>{let e=()=>{p.current=!0,document.addEventListener("pointerdown",t,{capture:!0,once:!0}),document.addEventListener("pointermove",t,{capture:!0,once:!0})},t=()=>p.current=!1;return document.addEventListener("keydown",e,{capture:!0}),()=>{document.removeEventListener("keydown",e,{capture:!0}),document.removeEventListener("pointerdown",t,{capture:!0}),document.removeEventListener("pointermove",t,{capture:!0})}},[]),(0,t.jsx)(R.Root,{...c,children:(0,t.jsx)(el,{scope:n,open:o,onOpenChange:f,content:d,onContentChange:u,children:(0,t.jsx)(ec,{scope:n,onClose:r.useCallback(()=>f(!1),[f]),isUsingKeyboardRef:p,dir:m,modal:i,children:a})})})};eu.displayName=$;var ep=r.forwardRef((e,r)=>{let{__scopeMenu:n,...o}=e,a=ea(n);return(0,t.jsx)(R.Anchor,{...a,...o,ref:r})});ep.displayName="MenuAnchor";var ef="MenuPortal",[em,ev]=en(ef,{forceMount:void 0}),eh=e=>{let{__scopeMenu:r,forceMount:n,children:o,container:a}=e,s=ei(ef,r);return(0,t.jsx)(em,{scope:r,forceMount:n,children:(0,t.jsx)(E.Presence,{present:n||s.open,children:(0,t.jsx)(M.Portal,{asChild:!0,container:a,children:o})})})};eh.displayName=ef;var ex="MenuContent",[eg,ew]=en(ex),ey=r.forwardRef((e,r)=>{let n=ev(ex,e.__scopeMenu),{forceMount:o=n.forceMount,...a}=e,s=ei(ex,e.__scopeMenu),l=ed(ex,e.__scopeMenu);return(0,t.jsx)(ee.Provider,{scope:e.__scopeMenu,children:(0,t.jsx)(E.Presence,{present:o||s.open,children:(0,t.jsx)(ee.Slot,{scope:e.__scopeMenu,children:l.modal?(0,t.jsx)(ej,{...a,ref:r}):(0,t.jsx)(eb,{...a,ref:r})})})})}),ej=r.forwardRef((e,n)=>{let o=ei(ex,e.__scopeMenu),a=r.useRef(null),s=(0,v.useComposedRefs)(n,a);return r.useEffect(()=>{let e=a.current;if(e)return(0,X.hideOthers)(e)},[]),(0,t.jsx)(eN,{...e,ref:s,trapFocus:o.open,disableOutsidePointerEvents:o.open,disableOutsideScroll:!0,onFocusOutside:(0,m.composeEventHandlers)(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>o.onOpenChange(!1)})}),eb=r.forwardRef((e,r)=>{let n=ei(ex,e.__scopeMenu);return(0,t.jsx)(eN,{...e,ref:r,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),eC=(0,V.createSlot)("MenuContent.ScrollLock"),eN=r.forwardRef((e,n)=>{let{__scopeMenu:o,loop:a=!1,trapFocus:s,onOpenAutoFocus:l,onCloseAutoFocus:i,disableOutsidePointerEvents:c,onEntryFocus:d,onEscapeKeyDown:u,onPointerDownOutside:p,onFocusOutside:f,onInteractOutside:h,onDismiss:x,disableOutsideScroll:g,...w}=e,y=ei(ex,o),N=ed(ex,o),M=ea(o),E=es(o),D=et(o),[k,P]=r.useState(null),S=r.useRef(null),_=(0,v.useComposedRefs)(n,S,y.onContentChange),I=r.useRef(0),T=r.useRef(""),F=r.useRef(0),A=r.useRef(null),O=r.useRef("right"),H=r.useRef(0),K=g?Y.RemoveScroll:r.Fragment;r.useEffect(()=>()=>window.clearTimeout(I.current),[]),(0,b.useFocusGuards)();let G=r.useCallback(e=>{var t,r;return O.current===A.current?.side&&(t=e,!!(r=A.current?.area)&&function(e,t){let{x:r,y:n}=e,o=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let s=t[e],l=t[a],i=s.x,c=s.y,d=l.x,u=l.y;c>n!=u>n&&r<(d-i)*(n-c)/(u-c)+i&&(o=!o)}return o}({x:t.clientX,y:t.clientY},r))},[]);return(0,t.jsx)(eg,{scope:o,searchRef:T,onItemEnter:r.useCallback(e=>{G(e)&&e.preventDefault()},[G]),onItemLeave:r.useCallback(e=>{G(e)||(S.current?.focus(),P(null))},[G]),onTriggerLeave:r.useCallback(e=>{G(e)&&e.preventDefault()},[G]),pointerGraceTimerRef:F,onPointerGraceIntentChange:r.useCallback(e=>{A.current=e},[]),children:(0,t.jsx)(K,{...g?{as:eC,allowPinchZoom:!0}:void 0,children:(0,t.jsx)(C.FocusScope,{asChild:!0,trapped:s,onMountAutoFocus:(0,m.composeEventHandlers)(l,e=>{e.preventDefault(),S.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:i,children:(0,t.jsx)(j.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:c,onEscapeKeyDown:u,onPointerDownOutside:p,onFocusOutside:f,onInteractOutside:h,onDismiss:x,children:(0,t.jsx)(L,{asChild:!0,...E,dir:N.dir,orientation:"vertical",loop:a,currentTabStopId:k,onCurrentTabStopIdChange:P,onEntryFocus:(0,m.composeEventHandlers)(d,e=>{N.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,t.jsx)(R.Content,{role:"menu","aria-orientation":"vertical","data-state":eZ(y.open),"data-radix-menu-content":"",dir:N.dir,...M,...w,ref:_,style:{outline:"none",...w.style},onKeyDown:(0,m.composeEventHandlers)(w.onKeyDown,e=>{let t=e.target.closest("[data-radix-menu-content]")===e.currentTarget,r=e.ctrlKey||e.altKey||e.metaKey,n=1===e.key.length;if(t){var o;let t,a,s,l,i,c;"Tab"===e.key&&e.preventDefault(),!r&&n&&(o=e.key,t=T.current+o,a=D().filter(e=>!e.disabled),s=document.activeElement,l=a.find(e=>e.ref.current===s)?.textValue,i=function(e,t,r){var n;let o=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,a=r?e.indexOf(r):-1,s=(n=Math.max(a,0),e.map((t,r)=>e[(n+r)%e.length]));1===o.length&&(s=s.filter(e=>e!==r));let l=s.find(e=>e.toLowerCase().startsWith(o.toLowerCase()));return l!==r?l:void 0}(a.map(e=>e.textValue),t,l),c=a.find(e=>e.textValue===i)?.ref.current,function e(t){T.current=t,window.clearTimeout(I.current),""!==t&&(I.current=window.setTimeout(()=>e(""),1e3))}(t),c&&setTimeout(()=>c.focus()))}let a=S.current;if(e.target!==a||!Z.includes(e.key))return;e.preventDefault();let s=D().filter(e=>!e.disabled).map(e=>e.ref.current);W.includes(e.key)&&s.reverse(),function(e){let t=document.activeElement;for(let r of e)if(r===t||(r.focus(),document.activeElement!==t))return}(s)}),onBlur:(0,m.composeEventHandlers)(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(I.current),T.current="")}),onPointerMove:(0,m.composeEventHandlers)(e.onPointerMove,e$(e=>{let t=e.target,r=H.current!==e.clientX;e.currentTarget.contains(t)&&r&&(O.current=e.clientX>H.current?"right":"left",H.current=e.clientX)}))})})})})})})});ey.displayName=ex;var eR=r.forwardRef((e,r)=>{let{__scopeMenu:n,...o}=e;return(0,t.jsx)(g.Primitive.div,{role:"group",...o,ref:r})});eR.displayName="MenuGroup";var eM=r.forwardRef((e,r)=>{let{__scopeMenu:n,...o}=e;return(0,t.jsx)(g.Primitive.div,{...o,ref:r})});eM.displayName="MenuLabel";var eE="MenuItem",eD="menu.itemSelect",ek=r.forwardRef((e,n)=>{let{disabled:o=!1,onSelect:a,...s}=e,l=r.useRef(null),i=ed(eE,e.__scopeMenu),c=ew(eE,e.__scopeMenu),d=(0,v.useComposedRefs)(n,l),u=r.useRef(!1);return(0,t.jsx)(eP,{...s,ref:d,disabled:o,onClick:(0,m.composeEventHandlers)(e.onClick,()=>{let e=l.current;if(!o&&e){let t=new CustomEvent(eD,{bubbles:!0,cancelable:!0});e.addEventListener(eD,e=>a?.(e),{once:!0}),(0,g.dispatchDiscreteCustomEvent)(e,t),t.defaultPrevented?u.current=!1:i.onClose()}}),onPointerDown:t=>{e.onPointerDown?.(t),u.current=!0},onPointerUp:(0,m.composeEventHandlers)(e.onPointerUp,e=>{u.current||e.currentTarget?.click()}),onKeyDown:(0,m.composeEventHandlers)(e.onKeyDown,e=>{let t=""!==c.searchRef.current;o||t&&" "===e.key||q.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})});ek.displayName=eE;var eP=r.forwardRef((e,n)=>{let{__scopeMenu:o,disabled:a=!1,textValue:s,...l}=e,i=ew(eE,o),c=es(o),d=r.useRef(null),u=(0,v.useComposedRefs)(n,d),[p,f]=r.useState(!1),[h,x]=r.useState("");return r.useEffect(()=>{let e=d.current;e&&x((e.textContent??"").trim())},[l.children]),(0,t.jsx)(ee.ItemSlot,{scope:o,disabled:a,textValue:s??h,children:(0,t.jsx)(U,{asChild:!0,...c,focusable:!a,children:(0,t.jsx)(g.Primitive.div,{role:"menuitem","data-highlighted":p?"":void 0,"aria-disabled":a||void 0,"data-disabled":a?"":void 0,...l,ref:u,onPointerMove:(0,m.composeEventHandlers)(e.onPointerMove,e$(e=>{a?i.onItemLeave(e):(i.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:(0,m.composeEventHandlers)(e.onPointerLeave,e$(e=>i.onItemLeave(e))),onFocus:(0,m.composeEventHandlers)(e.onFocus,()=>f(!0)),onBlur:(0,m.composeEventHandlers)(e.onBlur,()=>f(!1))})})})}),eS=r.forwardRef((e,r)=>{let{checked:n=!1,onCheckedChange:o,...a}=e;return(0,t.jsx)(eL,{scope:e.__scopeMenu,checked:n,children:(0,t.jsx)(ek,{role:"menuitemcheckbox","aria-checked":eJ(n)?"mixed":n,...a,ref:r,"data-state":eQ(n),onSelect:(0,m.composeEventHandlers)(a.onSelect,()=>o?.(!!eJ(n)||!n),{checkForDefaultPrevented:!1})})})});eS.displayName="MenuCheckboxItem";var e_="MenuRadioGroup",[eI,eT]=en(e_,{value:void 0,onValueChange:()=>{}}),eF=r.forwardRef((e,r)=>{let{value:n,onValueChange:o,...a}=e,s=(0,D.useCallbackRef)(o);return(0,t.jsx)(eI,{scope:e.__scopeMenu,value:n,onValueChange:s,children:(0,t.jsx)(eR,{...a,ref:r})})});eF.displayName=e_;var eA="MenuRadioItem",eO=r.forwardRef((e,r)=>{let{value:n,...o}=e,a=eT(eA,e.__scopeMenu),s=n===a.value;return(0,t.jsx)(eL,{scope:e.__scopeMenu,checked:s,children:(0,t.jsx)(ek,{role:"menuitemradio","aria-checked":s,...o,ref:r,"data-state":eQ(s),onSelect:(0,m.composeEventHandlers)(o.onSelect,()=>a.onValueChange?.(n),{checkForDefaultPrevented:!1})})})});eO.displayName=eA;var eH="MenuItemIndicator",[eL,eK]=en(eH,{checked:!1}),eG=r.forwardRef((e,r)=>{let{__scopeMenu:n,forceMount:o,...a}=e,s=eK(eH,n);return(0,t.jsx)(E.Presence,{present:o||eJ(s.checked)||!0===s.checked,children:(0,t.jsx)(g.Primitive.span,{...a,ref:r,"data-state":eQ(s.checked)})})});eG.displayName=eH;var eU=r.forwardRef((e,r)=>{let{__scopeMenu:n,...o}=e;return(0,t.jsx)(g.Primitive.div,{role:"separator","aria-orientation":"horizontal",...o,ref:r})});eU.displayName="MenuSeparator";var eB=r.forwardRef((e,r)=>{let{__scopeMenu:n,...o}=e,a=ea(n);return(0,t.jsx)(R.Arrow,{...a,...o,ref:r})});eB.displayName="MenuArrow";var[ez,eV]=en("MenuSub"),eX="MenuSubTrigger",eY=r.forwardRef((e,n)=>{let o=ei(eX,e.__scopeMenu),a=ed(eX,e.__scopeMenu),s=eV(eX,e.__scopeMenu),l=ew(eX,e.__scopeMenu),i=r.useRef(null),{pointerGraceTimerRef:c,onPointerGraceIntentChange:d}=l,u={__scopeMenu:e.__scopeMenu},p=r.useCallback(()=>{i.current&&window.clearTimeout(i.current),i.current=null},[]);return r.useEffect(()=>p,[p]),r.useEffect(()=>{let e=c.current;return()=>{window.clearTimeout(e),d(null)}},[c,d]),(0,t.jsx)(ep,{asChild:!0,...u,children:(0,t.jsx)(eP,{id:s.triggerId,"aria-haspopup":"menu","aria-expanded":o.open,"aria-controls":s.contentId,"data-state":eZ(o.open),...e,ref:(0,v.composeRefs)(n,s.onTriggerChange),onClick:t=>{e.onClick?.(t),e.disabled||t.defaultPrevented||(t.currentTarget.focus(),o.open||o.onOpenChange(!0))},onPointerMove:(0,m.composeEventHandlers)(e.onPointerMove,e$(t=>{l.onItemEnter(t),!t.defaultPrevented&&(e.disabled||o.open||i.current||(l.onPointerGraceIntentChange(null),i.current=window.setTimeout(()=>{o.onOpenChange(!0),p()},100)))})),onPointerLeave:(0,m.composeEventHandlers)(e.onPointerLeave,e$(e=>{p();let t=o.content?.getBoundingClientRect();if(t){let r=o.content?.dataset.side,n="right"===r,a=t[n?"left":"right"],s=t[n?"right":"left"];l.onPointerGraceIntentChange({area:[{x:e.clientX+(n?-5:5),y:e.clientY},{x:a,y:t.top},{x:s,y:t.top},{x:s,y:t.bottom},{x:a,y:t.bottom}],side:r}),window.clearTimeout(c.current),c.current=window.setTimeout(()=>l.onPointerGraceIntentChange(null),300)}else{if(l.onTriggerLeave(e),e.defaultPrevented)return;l.onPointerGraceIntentChange(null)}})),onKeyDown:(0,m.composeEventHandlers)(e.onKeyDown,t=>{let r=""!==l.searchRef.current;e.disabled||r&&" "===t.key||J[a.dir].includes(t.key)&&(o.onOpenChange(!0),o.content?.focus(),t.preventDefault())})})})});eY.displayName=eX;var eq="MenuSubContent",eW=r.forwardRef((e,n)=>{let o=ev(ex,e.__scopeMenu),{forceMount:a=o.forceMount,...s}=e,l=ei(ex,e.__scopeMenu),i=ed(ex,e.__scopeMenu),c=eV(eq,e.__scopeMenu),d=r.useRef(null),u=(0,v.useComposedRefs)(n,d);return(0,t.jsx)(ee.Provider,{scope:e.__scopeMenu,children:(0,t.jsx)(E.Presence,{present:a||l.open,children:(0,t.jsx)(ee.Slot,{scope:e.__scopeMenu,children:(0,t.jsx)(eN,{id:c.contentId,"aria-labelledby":c.triggerId,...s,ref:u,align:"start",side:"rtl"===i.dir?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{i.isUsingKeyboardRef.current&&d.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:(0,m.composeEventHandlers)(e.onFocusOutside,e=>{e.target!==c.trigger&&l.onOpenChange(!1)}),onEscapeKeyDown:(0,m.composeEventHandlers)(e.onEscapeKeyDown,e=>{i.onClose(),e.preventDefault()}),onKeyDown:(0,m.composeEventHandlers)(e.onKeyDown,e=>{let t=e.currentTarget.contains(e.target),r=Q[i.dir].includes(e.key);t&&r&&(l.onOpenChange(!1),c.trigger?.focus(),e.preventDefault())})})})})})});function eZ(e){return e?"open":"closed"}function eJ(e){return"indeterminate"===e}function eQ(e){return eJ(e)?"indeterminate":e?"checked":"unchecked"}function e$(e){return t=>"mouse"===t.pointerType?e(t):void 0}eW.displayName=eq;var e0="DropdownMenu",[e1,e2]=(0,h.createContextScope)(e0,[eo]),e4=eo(),[e5,e3]=e1(e0),e8=e=>{let{__scopeDropdownMenu:n,children:o,dir:a,open:s,defaultOpen:l,onOpenChange:i,modal:c=!0}=e,d=e4(n),u=r.useRef(null),[p,f]=(0,x.useControllableState)({prop:s,defaultProp:l??!1,onChange:i,caller:e0});return(0,t.jsx)(e5,{scope:n,triggerId:(0,N.useId)(),triggerRef:u,contentId:(0,N.useId)(),open:p,onOpenChange:f,onOpenToggle:r.useCallback(()=>f(e=>!e),[f]),modal:c,children:(0,t.jsx)(eu,{...d,open:p,onOpenChange:f,dir:a,modal:c,children:o})})};e8.displayName=e0;var e6="DropdownMenuTrigger",e9=r.forwardRef((e,r)=>{let{__scopeDropdownMenu:n,disabled:o=!1,...a}=e,s=e3(e6,n),l=e4(n);return(0,t.jsx)(ep,{asChild:!0,...l,children:(0,t.jsx)(g.Primitive.button,{type:"button",id:s.triggerId,"aria-haspopup":"menu","aria-expanded":s.open,"aria-controls":s.open?s.contentId:void 0,"data-state":s.open?"open":"closed","data-disabled":o?"":void 0,disabled:o,...a,ref:(0,v.composeRefs)(r,s.triggerRef),onPointerDown:(0,m.composeEventHandlers)(e.onPointerDown,e=>{!o&&0===e.button&&!1===e.ctrlKey&&(s.onOpenToggle(),s.open||e.preventDefault())}),onKeyDown:(0,m.composeEventHandlers)(e.onKeyDown,e=>{!o&&(["Enter"," "].includes(e.key)&&s.onOpenToggle(),"ArrowDown"===e.key&&s.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(e.key)&&e.preventDefault())})})})});e9.displayName=e6;var e7=e=>{let{__scopeDropdownMenu:r,...n}=e,o=e4(r);return(0,t.jsx)(eh,{...o,...n})};e7.displayName="DropdownMenuPortal";var te="DropdownMenuContent",tt=r.forwardRef((e,n)=>{let{__scopeDropdownMenu:o,...a}=e,s=e3(te,o),l=e4(o),i=r.useRef(!1);return(0,t.jsx)(ey,{id:s.contentId,"aria-labelledby":s.triggerId,...l,...a,ref:n,onCloseAutoFocus:(0,m.composeEventHandlers)(e.onCloseAutoFocus,e=>{i.current||s.triggerRef.current?.focus(),i.current=!1,e.preventDefault()}),onInteractOutside:(0,m.composeEventHandlers)(e.onInteractOutside,e=>{let t=e.detail.originalEvent,r=0===t.button&&!0===t.ctrlKey,n=2===t.button||r;(!s.modal||n)&&(i.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});tt.displayName=te,r.forwardRef((e,r)=>{let{__scopeDropdownMenu:n,...o}=e,a=e4(n);return(0,t.jsx)(eR,{...a,...o,ref:r})}).displayName="DropdownMenuGroup";var tr=r.forwardRef((e,r)=>{let{__scopeDropdownMenu:n,...o}=e,a=e4(n);return(0,t.jsx)(eM,{...a,...o,ref:r})});tr.displayName="DropdownMenuLabel";var tn=r.forwardRef((e,r)=>{let{__scopeDropdownMenu:n,...o}=e,a=e4(n);return(0,t.jsx)(ek,{...a,...o,ref:r})});tn.displayName="DropdownMenuItem";var to=r.forwardRef((e,r)=>{let{__scopeDropdownMenu:n,...o}=e,a=e4(n);return(0,t.jsx)(eS,{...a,...o,ref:r})});to.displayName="DropdownMenuCheckboxItem",r.forwardRef((e,r)=>{let{__scopeDropdownMenu:n,...o}=e,a=e4(n);return(0,t.jsx)(eF,{...a,...o,ref:r})}).displayName="DropdownMenuRadioGroup";var ta=r.forwardRef((e,r)=>{let{__scopeDropdownMenu:n,...o}=e,a=e4(n);return(0,t.jsx)(eO,{...a,...o,ref:r})});ta.displayName="DropdownMenuRadioItem";var ts=r.forwardRef((e,r)=>{let{__scopeDropdownMenu:n,...o}=e,a=e4(n);return(0,t.jsx)(eG,{...a,...o,ref:r})});ts.displayName="DropdownMenuItemIndicator";var tl=r.forwardRef((e,r)=>{let{__scopeDropdownMenu:n,...o}=e,a=e4(n);return(0,t.jsx)(eU,{...a,...o,ref:r})});tl.displayName="DropdownMenuSeparator",r.forwardRef((e,r)=>{let{__scopeDropdownMenu:n,...o}=e,a=e4(n);return(0,t.jsx)(eB,{...a,...o,ref:r})}).displayName="DropdownMenuArrow";var ti=r.forwardRef((e,r)=>{let{__scopeDropdownMenu:n,...o}=e,a=e4(n);return(0,t.jsx)(eY,{...a,...o,ref:r})});ti.displayName="DropdownMenuSubTrigger";var tc=r.forwardRef((e,r)=>{let{__scopeDropdownMenu:n,...o}=e,a=e4(n);return(0,t.jsx)(eW,{...a,...o,ref:r,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});tc.displayName="DropdownMenuSubContent";var td=e.i(686266),tu=e.i(525761),tp=e.i(443991),tf=e.i(632137);r.forwardRef(({className:e,inset:r,children:n,...o},a)=>(0,t.jsxs)(ti,{ref:a,className:(0,tf.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",r&&"pl-8",e),...o,children:[n,(0,t.jsx)(tu.ChevronRight,{className:"ml-auto h-4 w-4"})]})).displayName=ti.displayName,r.forwardRef(({className:e,...r},n)=>(0,t.jsx)(tc,{ref:n,className:(0,tf.cn)("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...r})).displayName=tc.displayName;let tm=r.forwardRef(({className:e,sideOffset:r=4,...n},o)=>(0,t.jsx)(e7,{children:(0,t.jsx)(tt,{ref:o,sideOffset:r,className:(0,tf.cn)("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...n})}));tm.displayName=tt.displayName;let tv=r.forwardRef(({className:e,inset:r,...n},o)=>(0,t.jsx)(tn,{ref:o,className:(0,tf.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",r&&"pl-8",e),...n}));tv.displayName=tn.displayName,r.forwardRef(({className:e,children:r,checked:n,...o},a)=>(0,t.jsxs)(to,{ref:a,className:(0,tf.cn)("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),checked:n,...o,children:[(0,t.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,t.jsx)(ts,{children:(0,t.jsx)(td.Check,{className:"h-4 w-4"})})}),r]})).displayName=to.displayName,r.forwardRef(({className:e,children:r,...n},o)=>(0,t.jsxs)(ta,{ref:o,className:(0,tf.cn)("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...n,children:[(0,t.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,t.jsx)(ts,{children:(0,t.jsx)(tp.Circle,{className:"h-2 w-2 fill-current"})})}),r]})).displayName=ta.displayName,r.forwardRef(({className:e,inset:r,...n},o)=>(0,t.jsx)(tr,{ref:o,className:(0,tf.cn)("px-2 py-1.5 text-sm font-semibold",r&&"pl-8",e),...n})).displayName=tr.displayName,r.forwardRef(({className:e,...r},n)=>(0,t.jsx)(tl,{ref:n,className:(0,tf.cn)("-mx-1 my-1 h-px bg-muted",e),...r})).displayName=tl.displayName;var th=e.i(361877),tx=e.i(585458),tg=e.i(612437);function tw(){let{projects:e,switchProject:l,toggleFavorite:m,removeProject:v}=(0,d.useProject)(),[h,x]=(0,r.useState)(""),[g,w]=(0,r.useState)(!1),y=e.filter(e=>e.name.toLowerCase().includes(h.toLowerCase())),j=async e=>{await l(e)};return(0,t.jsxs)("div",{className:"container max-w-5xl py-8 space-y-8",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h1",{className:"text-3xl font-bold tracking-tight",children:"Projects"}),(0,t.jsx)("p",{className:"text-muted-foreground mt-2",children:"Manage your LeanSpec projects and workspaces."})]}),(0,t.jsxs)(u.Button,{onClick:()=>w(!0),children:[(0,t.jsx)(n.Plus,{className:"mr-2 h-4 w-4"}),"Add Project"]})]}),(0,t.jsx)("div",{className:"flex items-center space-x-2",children:(0,t.jsxs)("div",{className:"relative flex-1 max-w-sm",children:[(0,t.jsx)(o.Search,{className:"absolute left-2 top-2.5 h-4 w-4 text-muted-foreground"}),(0,t.jsx)(p.Input,{placeholder:"Search projects...",value:h,onChange:e=>x(e.target.value),className:"pl-8"})]})}),(0,t.jsxs)("div",{className:"grid gap-6 md:grid-cols-2 lg:grid-cols-3",children:[y.map(e=>(0,t.jsxs)(f.Card,{className:"group relative hover:border-primary/50 transition-colors",children:[(0,t.jsx)(f.CardHeader,{className:"pb-4",children:(0,t.jsxs)("div",{className:"flex items-start justify-between",children:[(0,t.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,t.jsx)("div",{className:"h-8 w-8 rounded-full flex items-center justify-center text-white text-xs font-bold",style:{backgroundColor:e.color||"#666"},children:e.name.substring(0,2).toUpperCase()}),(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)(f.CardTitle,{className:"text-base leading-none",children:(0,t.jsx)("button",{onClick:()=>j(e.id),className:"hover:underline focus:outline-none",children:e.name})}),(0,t.jsx)(f.CardDescription,{className:"text-xs truncate max-w-[150px]",children:e.path})]})]}),(0,t.jsxs)(e8,{children:[(0,t.jsx)(e9,{asChild:!0,children:(0,t.jsxs)(u.Button,{variant:"ghost",size:"icon",className:"h-8 w-8",children:[(0,t.jsx)(i,{className:"h-4 w-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Open menu"})]})}),(0,t.jsxs)(tm,{align:"end",children:[(0,t.jsxs)(tv,{onClick:()=>m(e.id),children:[(0,t.jsx)(s.Star,{className:"mr-2 h-4 w-4"}),e.favorite?"Unfavorite":"Favorite"]}),(0,t.jsxs)(tv,{className:"text-destructive",onClick:()=>v(e.id),children:[(0,t.jsx)(c,{className:"mr-2 h-4 w-4"}),"Remove"]})]})]})]})}),(0,t.jsx)(f.CardContent,{className:"pb-4",children:(0,t.jsxs)("div",{className:"flex items-center justify-between text-sm text-muted-foreground",children:[(0,t.jsxs)("div",{className:"flex items-center",children:[(0,t.jsx)(a.FolderOpen,{className:"mr-1 h-3 w-3"}),(0,t.jsx)("span",{className:"text-xs",children:"Local"})]}),e.lastAccessed&&(0,t.jsxs)("span",{className:"text-xs",children:["Opened ",(0,tx.default)(e.lastAccessed).fromNow()]})]})}),e.favorite&&(0,t.jsx)("div",{className:"absolute top-2 right-10 text-yellow-500",children:(0,t.jsx)(s.Star,{className:"h-4 w-4 fill-current"})})]},e.id)),0===y.length&&(0,t.jsxs)("div",{className:"col-span-full flex flex-col items-center justify-center py-12 text-center border rounded-lg border-dashed",children:[(0,t.jsx)(a.FolderOpen,{className:"h-10 w-10 text-muted-foreground mb-4"}),(0,t.jsx)("h3",{className:"text-lg font-medium",children:"No projects found"}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground mt-1 mb-4",children:h?"Try adjusting your search query.":"Get started by adding your first project."}),(0,t.jsxs)(u.Button,{onClick:()=>w(!0),children:[(0,t.jsx)(n.Plus,{className:"mr-2 h-4 w-4"}),"Add Project"]})]})]}),(0,t.jsx)(th.CreateProjectDialog,{open:g,onOpenChange:w})]})}tx.default.extend(tg.default),e.s(["default",()=>tw],340898)}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,696340,t=>{"use strict";function n(t,n){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(n).domain(t)}return this}function r(t,n){switch(arguments.length){case 0:break;case 1:"function"==typeof t?this.interpolator(t):this.range(t);break;default:this.domain(t),"function"==typeof n?this.interpolator(n):this.range(n)}return this}t.s(["initInterpolator",()=>r,"initRange",()=>n])},727994,t=>{"use strict";class n extends Map{constructor(t,n=e){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),null!=t)for(const[n,r]of t)this.set(n,r)}get(t){return super.get(r(this,t))}has(t){return super.has(r(this,t))}set(t,n){return super.set(function({_intern:t,_key:n},r){let e=n(r);return t.has(e)?t.get(e):(t.set(e,r),r)}(this,t),n)}delete(t){return super.delete(function({_intern:t,_key:n},r){let e=n(r);return t.has(e)&&(r=t.get(e),t.delete(e)),r}(this,t))}}function r({_intern:t,_key:n},r){let e=n(r);return t.has(e)?t.get(e):r}function e(t){return null!==t&&"object"==typeof t?t.valueOf():t}var i=t.i(696340);let a=Symbol("implicit");t.s(["default",()=>function t(){var r=new n,e=[],u=[],o=a;function l(t){let n=r.get(t);if(void 0===n){if(o!==a)return o;r.set(t,n=e.push(t)-1)}return u[n%u.length]}return l.domain=function(t){if(!arguments.length)return e.slice();for(let i of(e=[],r=new n,t))r.has(i)||r.set(i,e.push(i)-1);return l},l.range=function(t){return arguments.length?(u=Array.from(t),l):u.slice()},l.unknown=function(t){return arguments.length?(o=t,l):o},l.copy=function(){return t(e,u).unknown(o)},i.initRange.apply(l,arguments),l},"implicit",0,a],727994)},120297,62644,116778,t=>{"use strict";function n(t,n){if((r=(t=n?t.toExponential(n-1):t.toExponential()).indexOf("e"))<0)return null;var r,e=t.slice(0,r);return[e.length>1?e[0]+e.slice(2):e,+t.slice(r+1)]}function r(t){return(t=n(Math.abs(t)))?t[1]:NaN}t.s(["default",0,r],62644);var e,i,a,u,o=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function l(t){var n;if(!(n=o.exec(t)))throw Error("invalid format: "+t);return new s({fill:n[1],align:n[2],sign:n[3],symbol:n[4],zero:n[5],width:n[6],comma:n[7],precision:n[8]&&n[8].slice(1),trim:n[9],type:n[10]})}function s(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}function c(t,r){var e=n(t,r);if(!e)return t+"";var i=e[0],a=e[1];return a<0?"0."+Array(-a).join("0")+i:i.length>a+1?i.slice(0,a+1)+"."+i.slice(a+1):i+Array(a-i.length+2).join("0")}l.prototype=s.prototype,s.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type},t.s(["default",()=>l],116778);let f={"%":(t,n)=>(100*t).toFixed(n),b:t=>Math.round(t).toString(2),c:t=>t+"",d:function(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)},e:(t,n)=>t.toExponential(n),f:(t,n)=>t.toFixed(n),g:(t,n)=>t.toPrecision(n),o:t=>Math.round(t).toString(8),p:(t,n)=>c(100*t,n),r:c,s:function(t,r){var i=n(t,r);if(!i)return t+"";var a=i[0],u=i[1],o=u-(e=3*Math.max(-8,Math.min(8,Math.floor(u/3))))+1,l=a.length;return o===l?a:o>l?a+Array(o-l+1).join("0"):o>0?a.slice(0,o)+"."+a.slice(o):"0."+Array(1-o).join("0")+n(t,Math.max(0,r+o-1))[0]},X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function h(t){return t}var d=Array.prototype.map,g=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];a=(i=function(t){var n,i,a,u=void 0===t.grouping||void 0===t.thousands?h:(n=d.call(t.grouping,Number),i=t.thousands+"",function(t,r){for(var e=t.length,a=[],u=0,o=n[0],l=0;e>0&&o>0&&(l+o+1>r&&(o=Math.max(1,r-l)),a.push(t.substring(e-=o,e+o)),!((l+=o+1)>r));)o=n[u=(u+1)%n.length];return a.reverse().join(i)}),o=void 0===t.currency?"":t.currency[0]+"",s=void 0===t.currency?"":t.currency[1]+"",c=void 0===t.decimal?".":t.decimal+"",p=void 0===t.numerals?h:(a=d.call(t.numerals,String),function(t){return t.replace(/[0-9]/g,function(t){return a[+t]})}),m=void 0===t.percent?"%":t.percent+"",v=void 0===t.minus?"−":t.minus+"",M=void 0===t.nan?"NaN":t.nan+"";function y(t){var n=(t=l(t)).fill,r=t.align,i=t.sign,a=t.symbol,h=t.zero,d=t.width,y=t.comma,b=t.precision,x=t.trim,w=t.type;"n"===w?(y=!0,w="g"):f[w]||(void 0===b&&(b=12),x=!0,w="g"),(h||"0"===n&&"="===r)&&(h=!0,n="0",r="=");var k="$"===a?o:"#"===a&&/[boxX]/.test(w)?"0"+w.toLowerCase():"",N="$"===a?s:/[%p]/.test(w)?m:"",A=f[w],S=/[defgprs%]/.test(w);function j(t){var a,o,l,s=k,f=N;if("c"===w)f=A(t)+f,t="";else{var m=(t*=1)<0||1/t<0;if(t=isNaN(t)?M:A(Math.abs(t),b),x&&(t=function(t){t:for(var n,r=t.length,e=1,i=-1;e<r;++e)switch(t[e]){case".":i=n=e;break;case"0":0===i&&(i=e),n=e;break;default:if(!+t[e])break t;i>0&&(i=0)}return i>0?t.slice(0,i)+t.slice(n+1):t}(t)),m&&0==+t&&"+"!==i&&(m=!1),s=(m?"("===i?i:v:"-"===i||"("===i?"":i)+s,f=("s"===w?g[8+e/3]:"")+f+(m&&"("===i?")":""),S){for(a=-1,o=t.length;++a<o;)if(48>(l=t.charCodeAt(a))||l>57){f=(46===l?c+t.slice(a+1):t.slice(a))+f,t=t.slice(0,a);break}}}y&&!h&&(t=u(t,1/0));var j=s.length+t.length+f.length,O=j<d?Array(d-j+1).join(n):"";switch(y&&h&&(t=u(O+t,O.length?d-f.length:1/0),O=""),r){case"<":t=s+t+f+O;break;case"=":t=s+O+t+f;break;case"^":t=O.slice(0,j=O.length>>1)+s+t+f+O.slice(j);break;default:t=O+s+t+f}return p(t)}return b=void 0===b?6:/[gprs]/.test(w)?Math.max(1,Math.min(21,b)):Math.max(0,Math.min(20,b)),j.toString=function(){return t+""},j}return{format:y,formatPrefix:function(t,n){var e=y(((t=l(t)).type="f",t)),i=3*Math.max(-8,Math.min(8,Math.floor(r(n)/3))),a=Math.pow(10,-i),u=g[8+i/3];return function(t){return e(a*t)+u}}}}({thousands:",",grouping:[3],currency:["$",""]})).format,u=i.formatPrefix,t.s(["format",()=>a,"formatPrefix",()=>u],120297)},254360,t=>{"use strict";let n=Math.sqrt(50),r=Math.sqrt(10),e=Math.sqrt(2);function i(t,a,u){let o,l,s,c=(a-t)/Math.max(0,u),f=Math.floor(Math.log10(c)),h=c/Math.pow(10,f),d=h>=n?10:h>=r?5:h>=e?2:1;return(f<0?(o=Math.round(t*(s=Math.pow(10,-f)/d)),l=Math.round(a*s),o/s<t&&++o,l/s>a&&--l,s=-s):(o=Math.round(t/(s=Math.pow(10,f)*d)),l=Math.round(a/s),o*s<t&&++o,l*s>a&&--l),l<o&&.5<=u&&u<2)?i(t,a,2*u):[o,l,s]}function a(t,n,r){if(n*=1,t*=1,!((r*=1)>0))return[];if(t===n)return[t];let e=n<t,[a,u,o]=e?i(n,t,r):i(t,n,r);if(!(u>=a))return[];let l=u-a+1,s=Array(l);if(e)if(o<0)for(let t=0;t<l;++t)s[t]=-((u-t)/o);else for(let t=0;t<l;++t)s[t]=(u-t)*o;else if(o<0)for(let t=0;t<l;++t)s[t]=-((a+t)/o);else for(let t=0;t<l;++t)s[t]=(a+t)*o;return s}function u(t,n,r){return i(t*=1,n*=1,r*=1)[2]}function o(t,n,r){n*=1,t*=1,r*=1;let e=n<t,i=e?u(n,t,r):u(t,n,r);return(e?-1:1)*(i<0?-(1/i):i)}t.s(["default",()=>a,"tickIncrement",()=>u,"tickStep",()=>o])},258857,t=>{"use strict";var n=t.i(254360);t.s(["ticks",()=>n.default])},1388,337046,t=>{"use strict";function n(t,n){return null==t||null==n?NaN:t<n?-1:t>n?1:t>=n?0:NaN}function r(t,n){return null==t||null==n?NaN:n<t?-1:n>t?1:n>=t?0:NaN}function e(t){let e,a,u;function o(t,n,r=0,i=t.length){if(r<i){if(0!==e(n,n))return i;do{let e=r+i>>>1;0>a(t[e],n)?r=e+1:i=e}while(r<i)}return r}return 2!==t.length?(e=n,a=(r,e)=>n(t(r),e),u=(n,r)=>t(n)-r):(e=t===n||t===r?t:i,a=t,u=t),{left:o,center:function(t,n,r=0,e=t.length){let i=o(t,n,r,e-1);return i>r&&u(t[i-1],n)>-u(t[i],n)?i-1:i},right:function(t,n,r=0,i=t.length){if(r<i){if(0!==e(n,n))return i;do{let e=r+i>>>1;0>=a(t[e],n)?r=e+1:i=e}while(r<i)}return r}}}function i(){return 0}t.s(["default",()=>n],337046),t.s(["default",()=>e],1388)},482705,152810,116364,433046,227957,t=>{"use strict";var n=t.i(337046),r=t.i(1388);function e(t){return null===t?NaN:+t}function*i(t,n){if(void 0===n)for(let n of t)null!=n&&(n*=1)>=n&&(yield n);else{let r=-1;for(let e of t)null!=(e=n(e,++r,t))&&(e*=1)>=e&&(yield e)}}t.s(["default",()=>e,"numbers",()=>i],152810);let a=(0,r.default)(n.default),u=a.right;a.left,(0,r.default)(e).center,t.s(["bisect",0,u],116364);var o=t.i(678152),l=t.i(77075);function s(t,n){return t*=1,n*=1,function(r){return Math.round(t*(1-r)+n*r)}}function c(t){return+t}t.s(["interpolateRound",0,s],433046),t.s(["default",()=>c],227957);var f=[0,1];function h(t){return t}function d(t,n){var r;return(n-=t*=1)?function(r){return(r-t)/n}:(r=isNaN(n)?NaN:.5,function(){return r})}function g(t,n,r){var e=t[0],i=t[1],a=n[0],u=n[1];return i<e?(e=d(i,e),a=r(u,a)):(e=d(e,i),a=r(a,u)),function(t){return a(e(t))}}function p(t,n,r){var e=Math.min(t.length,n.length)-1,i=Array(e),a=Array(e),o=-1;for(t[e]<t[0]&&(t=t.slice().reverse(),n=n.slice().reverse());++o<e;)i[o]=d(t[o],t[o+1]),a[o]=r(n[o],n[o+1]);return function(n){var r=u(t,n,1,e)-1;return a[r](i[r](n))}}function m(t,n){return n.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function v(){var t,n,r,e,i,a,u=f,d=f,m=o.interpolate,v=h;function M(){var t,n,r,o=Math.min(u.length,d.length);return v!==h&&(t=u[0],n=u[o-1],t>n&&(r=t,t=n,n=r),v=function(r){return Math.max(t,Math.min(n,r))}),e=o>2?p:g,i=a=null,y}function y(n){return null==n||isNaN(n*=1)?r:(i||(i=e(u.map(t),d,m)))(t(v(n)))}return y.invert=function(r){return v(n((a||(a=e(d,u.map(t),l.interpolateNumber)))(r)))},y.domain=function(t){return arguments.length?(u=Array.from(t,c),M()):u.slice()},y.range=function(t){return arguments.length?(d=Array.from(t),M()):d.slice()},y.rangeRound=function(t){return d=Array.from(t),m=s,M()},y.clamp=function(t){return arguments.length?(v=!!t||h,M()):v!==h},y.interpolate=function(t){return arguments.length?(m=t,M()):m},y.unknown=function(t){return arguments.length?(r=t,y):r},function(r,e){return t=r,n=e,M()}}function M(){return v()(h,h)}t.s(["copy",()=>m,"default",()=>M,"identity",()=>h,"transformer",()=>v],482705)},979958,436068,170904,t=>{"use strict";var n=t.i(258857),r=t.i(254360),e=t.i(482705),i=t.i(696340),a=t.i(120297),u=t.i(116778);t.s(["formatSpecifier",()=>u.default],436068);var u=u,o=t.i(62644);function l(t,n,e,i){var l,s,c,f=(0,r.tickStep)(t,n,e);switch((i=(0,u.default)(null==i?",f":i)).type){case"s":var h=Math.max(Math.abs(t),Math.abs(n));return null!=i.precision||isNaN(c=Math.max(0,3*Math.max(-8,Math.min(8,Math.floor((0,o.default)(h)/3)))-(0,o.default)(Math.abs(f))))||(i.precision=c),(0,a.formatPrefix)(i,h);case"":case"e":case"g":case"p":case"r":null!=i.precision||isNaN((l=f,s=Math.abs(s=Math.max(Math.abs(t),Math.abs(n)))-(l=Math.abs(l)),c=Math.max(0,(0,o.default)(s)-(0,o.default)(l))+1))||(i.precision=c-("e"===i.type));break;case"f":case"%":null!=i.precision||isNaN(c=Math.max(0,-(0,o.default)(Math.abs(f))))||(i.precision=c-("%"===i.type)*2)}return(0,a.format)(i)}function s(t){var e=t.domain;return t.ticks=function(t){var r=e();return(0,n.ticks)(r[0],r[r.length-1],null==t?10:t)},t.tickFormat=function(t,n){var r=e();return l(r[0],r[r.length-1],null==t?10:t,n)},t.nice=function(n){null==n&&(n=10);var i,a,u=e(),o=0,l=u.length-1,s=u[o],c=u[l],f=10;for(c<s&&(a=s,s=c,c=a,a=o,o=l,l=a);f-- >0;){if((a=(0,r.tickIncrement)(s,c,n))===i)return u[o]=s,u[l]=c,e(u);if(a>0)s=Math.floor(s/a)*a,c=Math.ceil(c/a)*a;else if(a<0)s=Math.ceil(s*a)/a,c=Math.floor(c*a)/a;else break;i=a}return t},t}t.s(["default",()=>l],170904),t.s(["default",()=>function t(){var n=(0,e.default)();return n.copy=function(){return(0,e.copy)(n,t())},i.initRange.apply(n,arguments),s(n)},"linearish",()=>s],979958)},197609,t=>{"use strict";var n=t.i(979958);t.s(["scaleLinear",()=>n.default])},530136,t=>{"use strict";var n=t.i(696340),r=t.i(727994);function e(){var t,i,a=(0,r.default)().unknown(void 0),u=a.domain,o=a.range,l=0,s=1,c=!1,f=0,h=0,d=.5;function g(){var n=u().length,r=s<l,e=r?s:l,a=r?l:s;t=(a-e)/Math.max(1,n-f+2*h),c&&(t=Math.floor(t)),e+=(a-e-t*(n-f))*d,i=t*(1-f),c&&(e=Math.round(e),i=Math.round(i));var g=(function(t,n,r){t*=1,n*=1,r=(i=arguments.length)<2?(n=t,t=0,1):i<3?1:+r;for(var e=-1,i=0|Math.max(0,Math.ceil((n-t)/r)),a=Array(i);++e<i;)a[e]=t+e*r;return a})(n).map(function(n){return e+t*n});return o(r?g.reverse():g)}return delete a.unknown,a.domain=function(t){return arguments.length?(u(t),g()):u()},a.range=function(t){return arguments.length?([l,s]=t,l*=1,s*=1,g()):[l,s]},a.rangeRound=function(t){return[l,s]=t,l*=1,s*=1,c=!0,g()},a.bandwidth=function(){return i},a.step=function(){return t},a.round=function(t){return arguments.length?(c=!!t,g()):c},a.padding=function(t){return arguments.length?(f=Math.min(1,h=+t),g()):f},a.paddingInner=function(t){return arguments.length?(f=Math.min(1,t),g()):f},a.paddingOuter=function(t){return arguments.length?(h=+t,g()):h},a.align=function(t){return arguments.length?(d=Math.max(0,Math.min(1,t)),g()):d},a.copy=function(){return e(u(),[l,s]).round(c).paddingInner(f).paddingOuter(h).align(d)},n.initRange.apply(g(),arguments)}function i(){return function t(n){var r=n.copy;return n.padding=n.paddingOuter,delete n.paddingInner,delete n.paddingOuter,n.copy=function(){return t(r())},n}(e.apply(null,arguments).paddingInner(1))}t.s(["default",()=>e,"point",()=>i],530136)}]);
|