@leanspec/ui 0.2.6 → 0.2.7-dev.20251126090633
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/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/build-manifest.json +8 -8
- package/.next/standalone/packages/ui/.next/prerender-manifest.json +3 -3
- package/.next/standalone/packages/ui/.next/required-server-files.json +10 -4
- package/.next/standalone/packages/ui/.next/server/app/_global-error/page/build-manifest.json +6 -6
- package/.next/standalone/packages/ui/.next/server/app/_global-error/page.js +2 -2
- package/.next/standalone/packages/ui/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/_global-error.html +2 -2
- package/.next/standalone/packages/ui/.next/server/app/_global-error.rsc +7 -7
- package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
- package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
- package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_tree.segment.rsc +3 -3
- package/.next/standalone/packages/ui/.next/server/app/_not-found/page/build-manifest.json +6 -6
- package/.next/standalone/packages/ui/.next/server/app/_not-found/page.js +2 -2
- package/.next/standalone/packages/ui/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/_not-found.html +2 -2
- package/.next/standalone/packages/ui/.next/server/app/_not-found.rsc +19 -19
- package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_full.segment.rsc +19 -19
- package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_index.segment.rsc +12 -12
- 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/local-projects/[id]/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/local-projects/discover/route.js +2 -2
- 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 +2 -2
- 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 +2 -2
- package/.next/standalone/packages/ui/.next/server/app/api/local-projects/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/route.js +2 -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.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/route.js +2 -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.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/projects/route.js +2 -2
- 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 +2 -2
- 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 +2 -2
- package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/dependency-graph/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/route.js +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- package/.next/standalone/packages/ui/.next/server/app/api/stats/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/page/build-manifest.json +6 -6
- package/.next/standalone/packages/ui/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page/build-manifest.json +6 -6
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page.js +2 -2
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page/build-manifest.json +6 -6
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page.js +2 -2
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page/build-manifest.json +6 -6
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page.js +2 -2
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects/page/build-manifest.json +6 -6
- package/.next/standalone/packages/ui/.next/server/app/projects/page.js +2 -2
- package/.next/standalone/packages/ui/.next/server/app/projects/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects.html +2 -2
- package/.next/standalone/packages/ui/.next/server/app/projects.rsc +28 -29
- package/.next/standalone/packages/ui/.next/server/app/projects.segments/_full.segment.rsc +28 -29
- package/.next/standalone/packages/ui/.next/server/app/projects.segments/_index.segment.rsc +12 -12
- package/.next/standalone/packages/ui/.next/server/app/projects.segments/_tree.segment.rsc +5 -5
- package/.next/standalone/packages/ui/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +4 -4
- package/.next/standalone/packages/ui/.next/server/app/projects.segments/projects.segment.rsc +3 -3
- package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page/build-manifest.json +6 -6
- package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page.js +2 -2
- package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/specs/page/build-manifest.json +6 -6
- package/.next/standalone/packages/ui/.next/server/app/specs/page.js +2 -2
- package/.next/standalone/packages/ui/.next/server/app/specs/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/specs/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/stats/page/build-manifest.json +6 -6
- package/.next/standalone/packages/ui/.next/server/app/stats/page.js +2 -2
- package/.next/standalone/packages/ui/.next/server/app/stats/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/stats/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/6681a__next-internal_server_app_api_specs_[id]_subspecs_[file]_route_actions_556a9993.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/6e9bd_next_952b10e2._.js +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_local-projects_[id]_route_actions_664abe9c.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_local-projects_discover_route_actions_e6ec3fa7.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_projects_[id]_specs_route_actions_6d03fd1f.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_projects_[id]_stats_route_actions_a0bb04a8.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_specs_[id]_status_route_actions_5d700407.js +1 -1
- 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]__126dea7b._.js +1 -1
- 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]__3559376c._.js +4 -4
- 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]__65667b70._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__675a763e._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__803d07f0._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__8075fe29._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__8233e09b._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__84cdc14a._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__9ce722b4._.js +1 -1
- 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]__aa677b0d._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__ac744182._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__ae726e9c._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__bb9fca84._.js +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__bdc3963a._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__f06435b0._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__f5c6d6b8._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__fb91986f._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/e0876_tiktoken_3efea2dc._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/f825c_server_app_api_local-projects_list-directory_route_actions_d620ec1a.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/f825c_server_app_api_projects_[id]_specs_[spec]_status_route_actions_e9f1bdc5.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/node_modules__pnpm_731b55aa._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/packages_ui__next-internal_server_app_api_local-projects_route_actions_9142d5ad.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/packages_ui__next-internal_server_app_api_projects_route_actions_73e4c2a1.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/packages_ui__next-internal_server_app_api_revalidate_route_actions_a8bf21b5.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/packages_ui__next-internal_server_app_api_specs_[id]_route_actions_0793bd75.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/packages_ui__next-internal_server_app_api_stats_route_actions_8e042245.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_db_index_ts_556307fa._.js +4 -4
- package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_specs_sources_database-source_ts_0bd881ee._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_specs_sources_database-source_ts_baa0160d._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/1ce3b_dagre-d3-es_src_dagre_index_f9cad90b.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/38a22_sonner_dist_index_mjs_207730fe._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/4e76f_cytoscape_dist_cytoscape_esm_mjs_56d6d0a1._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/54964_d3-scale_src_c504aad0._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/54964_d3-scale_src_linear_5b8914dd.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/641df_lodash-es_057c0674._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/641df_lodash-es_4b57a3a3._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/641df_lodash-es_4d3de843._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/641df_lodash-es_5f3103e1._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/641df_lodash-es_bcc35893._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/641df_lodash-es_f2ef1919._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/676f9_@mermaid-js_parser_dist_chunks_mermaid-parser_core_info-NVLQJR56_mjs_cc500a11._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/676f9_@mermaid-js_parser_dist_chunks_mermaid-parser_core_packet-BFZMPI3H_mjs_06a9c7d7._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/676f9_@mermaid-js_parser_dist_chunks_mermaid-parser_core_pie-7BOR55EZ_mjs_1167f1a1._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/676f9_@mermaid-js_parser_dist_chunks_mermaid-parser_core_radar-NHE76QYJ_mjs_962e6256._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/676f9_@mermaid-js_parser_dist_chunks_mermaid-parser_core_treemap-KMMF4GRG_mjs_a12f0fad._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_40720940._.js +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_1decfd3f._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_69a12422._.js +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_7af75658._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_client_components_0f429de8._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_client_components_builtin_global-error_3666c25c.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_client_components_builtin_unauthorized_78af867c.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_df5dcbe9._.js +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_esm_25672c28._.js +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_esm_build_templates_app-page_4f278283.js +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/730ea_ui__next-internal_server_app_projects_[projectId]_specs_page_actions_82e32fe4.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/8b009_parser_dist_chunks_mermaid-parser_core_architecture-U656AL7Q_mjs_64f0e692._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/8b009_parser_dist_chunks_mermaid-parser_core_gitGraph-F6HP7TQM_mjs_6383c425._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_0b254b71._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_8167bfdd._.js +17 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_blockDiagram-VD42YOAC_mjs_99bfbaf9._.js +119 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_c4Diagram-YG6GDRKO_mjs_0683be9f._.js +7 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_c5b1d4f9._.js +17 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-ABZYJK2D_mjs_4034a85b._.js +79 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-B4BG7PRW_mjs_3190ac39._.js +162 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-DI55MBZ5_mjs_2e49cdd9._.js +217 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-FMBD7UC4_mjs_69c9238e._.js +17 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-JA3XYJ7Z_mjs_4c9b0254._.js +62 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-JZLCHNYA_mjs_e1210981._.js +55 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-MI3HLSF2_mjs_4494daf0._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-QXUST7PY_mjs_3e69582d._.js +9 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-S3R3BYOJ_mjs_0c8df0bf._.js +4 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-TZMSLE5B_mjs_72a0311f._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_dagre-6UL2VRFP_mjs_2a0e551c._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_diagram-PSM6KHXK_mjs_f109b802._.js +26 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_erDiagram-Q2GNP2WA_mjs_2956542e._.js +57 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_f71564d9._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_ffd8fbee._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_flowDiagram-NV44I4VS_mjs_c11db931._.js +154 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_gitGraphDiagram-NY62KEGX_mjs_fe41f076._.js +65 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_journeyDiagram-XKPGCS4Q_mjs_8b9c3e68._.js +136 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_kanban-definition-3W4ZIXB7_mjs_d8e6de34._.js +81 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_quadrantDiagram-AYHSOK5B_mjs_50c2110d._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_requirementDiagram-UZGBJVZJ_mjs_8f86dea7._.js +61 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_sankeyDiagram-TZEHDZUN_mjs_9fa014df._.js +6 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_sequenceDiagram-WL72ISMW_mjs_4d5ee2b1._.js +138 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_stateDiagram-FKZM4ZOC_mjs_2bd67ce9._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_timeline-definition-IT6M3QCI_mjs_96b04d43._.js +58 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_xychartDiagram-PRI3JC2R_mjs_7eec04e0._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_mermaid_core_mjs_1c407865._.js +9 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[externals]_better-sqlite3_a1cc22cb._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__015fceb2._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__01bfc8ff._.js +1 -1
- 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]__1d0c2012._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__2977636f._.js +3 -3
- 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]__4ec37765._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__50122e7e._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__5382b397._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__73f60f12._.js +2 -2
- 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]__88a691ee._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__8b019a26._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__a7ae8552._.js +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__bdbbba01._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__cc589a54._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__daee3355._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__e4a2bcdd._.js +64 -0
- 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/[root-of-the-server]__fd80e4dd._.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/_0f9ffe32._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_14118969._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_22274047._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_39562b2a._.js +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_3b617676._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_3fac7eca._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_4129cc0f._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/{_196b5a83._.js → _497c8b73._.js} +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_85effc18._.js +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_8f9656c4._.js +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_911f204b._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_ac867463._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_ad8c1e99._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_b6ac86b4._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_b9dc2415._.js +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_bae6d2b8._.js +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_c2f54661._.js +3 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_f7344ef6._.js +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_fdd7780b._.js +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/c7b92_d3-shape_src_arc_9341f572.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/f0bdc_katex_dist_katex_mjs_27a6c950._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/f825c_server_app_projects_[projectId]_specs_[specId]_page_actions_22d9c35e.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_03d68913._.js +62 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_1aec4342._.js +17 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_2a29db83._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_3ba1438c._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_472d6274._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_50944832._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_5237fdd7._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_69372f5b._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_76d4233c._.js +17 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_7791e3b8._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_79befbed._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_88c8b88b._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_a01fbd8e._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_a3f2a370._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_ab5a8afc._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_b23175bb._.js +38 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_b247a526._.js +264 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_b5a3d3a5._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_c17f27b1._.js +45 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_c22df304._.js +17 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_c766836f._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_cb5a045f._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_d8037b10._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_e175b92a._.js +31 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_e440897f._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_ea1bddc7._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_f5b29533._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_f732d0bb._.js +26 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app__global-error_page_actions_e9e4a8e1.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app__not-found_page_actions_428c805d.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app_page_actions_f4c42a31.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app_projects_[projectId]_page_actions_f2986585.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app_projects_page_actions_715940ea.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app_specs_[id]_page_actions_555bb544.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app_specs_page_actions_b92ceb22.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app_stats_page_actions_35d53654.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_19541980._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_error_tsx_7bf5aa01._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_error_tsx_d8203bfe._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_loading_tsx_9304a706._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_projects_[projectId]_be242d6c._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_projects_[projectId]_project-context-syncer_tsx_7954ea3b._.js +1 -1
- 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_specs-nav-sidebar_tsx_8237ed13._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_components_ui_select_tsx_7e21d40f._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_lib_specs_sources_database-source_ts_f7186c2a._.js +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_lib_utils_ts_259f88e4._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_lib_utils_ts_c47f8e19._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/middleware-build-manifest.js +6 -6
- 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/038fb2d565c88582.js +2 -0
- package/.next/standalone/packages/ui/.next/static/chunks/0f108f65249f8820.js +19 -0
- package/.next/standalone/packages/ui/.next/static/chunks/1104de0c16e0b792.js +59 -0
- package/.next/standalone/packages/ui/.next/static/chunks/1490995adc7829e2.js +136 -0
- package/.next/standalone/packages/ui/.next/static/chunks/16b742746668b9d6.js +56 -0
- package/.next/standalone/packages/ui/.next/static/chunks/16ff9833ae1bb3ae.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/192b2f6118d057e2.js +60 -0
- package/.next/standalone/packages/ui/.next/static/chunks/1a910f137d27fff0.js +63 -0
- package/.next/standalone/packages/ui/.next/static/chunks/1f052e076ca9a3ff.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/20f4141ccb5d4eb4.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/2136b3131f74188f.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/2204c0f16b23ec4c.js +3 -0
- package/.next/standalone/packages/ui/.next/static/chunks/294dea6dbec43ca6.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/2a33b9246ea4be03.js +2 -0
- package/.next/standalone/packages/ui/.next/static/chunks/2c85b8059e42248a.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/305b74f3c20cb4ef.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/3276ca6fd9005903.js +13 -0
- package/.next/standalone/packages/ui/.next/static/chunks/37f2e45cf97245d9.js +117 -0
- package/.next/standalone/packages/ui/.next/static/chunks/39691fae9a3463fe.js +262 -0
- package/.next/standalone/packages/ui/.next/static/chunks/3b6b058ebd14dbed.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/3ed1465109fecc2d.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/3f94c1ef6e27c8bd.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/414a78f7b9b58d11.js +53 -0
- package/.next/standalone/packages/ui/.next/static/chunks/4e85dea329906168.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/525d6cb99a13c44a.js +215 -0
- package/.next/standalone/packages/ui/.next/static/chunks/5295f0e82fd2a6d3.js +24 -0
- package/.next/standalone/packages/ui/.next/static/chunks/567bc31005c31006.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/56894ea818ee2a54.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/569b4347ce55d973.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/5fffdea0623d8a25.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/642374ace530e2bd.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/64543dbd7a7a99b7.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/6483096c16d96f2c.js +15 -0
- package/.next/standalone/packages/ui/.next/static/chunks/66d3fa1af3ff1fbf.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/67a1d37727697340.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/6f3c460ef90843d6.js +215 -0
- package/.next/standalone/packages/ui/.next/static/chunks/6ff7b0a8653036b2.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/72dde43947381f78.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/7590e65bcaa41e8b.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/762fe8c3999a1965.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/794f3931f1ca12d2.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/7b70989270600907.js +148 -0
- package/.next/standalone/packages/ui/.next/static/chunks/8287406f2fe1c1c3.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/839e44eec90aa73d.js +60 -0
- package/.next/standalone/packages/ui/.next/static/chunks/85b2b8ec762b7c79.js +62 -0
- package/.next/standalone/packages/ui/.next/static/chunks/89a8f922ce491ce9.js +93 -0
- package/.next/standalone/packages/ui/.next/static/chunks/8ff23db3e3143bc7.js +5 -0
- package/.next/standalone/packages/ui/.next/static/chunks/942cf63b4032c808.js +29 -0
- package/.next/standalone/packages/ui/.next/static/chunks/95bd0faa6092d8ba.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/97bd44afaee5f129.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/97c8160044aea609.js +77 -0
- package/.next/standalone/packages/ui/.next/static/chunks/9d06bd5d701ace73.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/a0b34f852bfa3d1b.js +36 -0
- package/.next/standalone/packages/ui/.next/static/chunks/a1ca5af350378f72.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/af643629ba393b18.js +15 -0
- package/.next/standalone/packages/ui/.next/static/chunks/b6976cf6c48996e5.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/b6ffd44cbe740f15.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/b8353eb8c6fb895e.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/b845813463167db0.js +5 -0
- package/.next/standalone/packages/ui/.next/static/chunks/b900efab2eee69a0.js +15 -0
- package/.next/standalone/packages/ui/.next/static/chunks/bd9893e28f8f6a9a.css +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/c762baa705e11b30.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/cbfb9d957f708c08.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/cca4441cde342ae3.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/cf53882a2c15630f.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/d43971093c91d3b2.js +160 -0
- package/.next/standalone/packages/ui/.next/static/chunks/d784d84d5b880e48.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/db44023a744297d1.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/dbe7840308be36b8.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/dc0a4df8f7080b29.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/dd8e053aa48c6398.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/ddc7726e19e5e25c.js +43 -0
- package/.next/standalone/packages/ui/.next/static/chunks/df7e61b074dee049.js +152 -0
- package/.next/standalone/packages/ui/.next/static/chunks/e20849e3abe63aa5.js +55 -0
- package/.next/standalone/packages/ui/.next/static/chunks/e2792c100b4041a1.js +15 -0
- package/.next/standalone/packages/ui/.next/static/chunks/e2dce648399ad4d4.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/e3bc96a996e2a314.js +24 -0
- package/.next/standalone/packages/ui/.next/static/chunks/e5aab2c562822175.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/efbbc4dc4b32a270.js +4 -0
- package/.next/standalone/packages/ui/.next/static/chunks/f0376ba3b56dbf10.js +4 -0
- package/.next/standalone/packages/ui/.next/static/chunks/f88536b96f1df686.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/turbopack-5fa55215af0efb15.js +3 -0
- package/.next/standalone/packages/ui/next.config.ts +5 -0
- package/.next/standalone/packages/ui/package.json +2 -1
- package/.next/standalone/packages/ui/scripts/post-build.mjs +15 -1
- package/.next/standalone/packages/ui/server.js +1 -1
- package/.next/standalone/packages/ui/src/app/globals.css +25 -0
- package/.next/standalone/packages/ui/src/app/specs/specs-client.tsx +180 -140
- package/.next/standalone/packages/ui/src/components/main-sidebar.tsx +3 -3
- package/.next/standalone/packages/ui/src/components/mermaid-diagram.test.ts +92 -0
- package/.next/standalone/packages/ui/src/components/mermaid-diagram.tsx +139 -0
- package/.next/standalone/packages/ui/src/components/spec-detail-client.tsx +47 -7
- package/.next/standalone/packages/ui/src/components/specs-nav-sidebar.tsx +3 -13
- package/.next/standalone/packages/ui/src/contexts/project-context.tsx +14 -14
- package/.next/standalone/packages/ui/tsconfig.tsbuildinfo +1 -1
- package/.next/static/chunks/038fb2d565c88582.js +2 -0
- package/.next/static/chunks/0f108f65249f8820.js +19 -0
- package/.next/static/chunks/1104de0c16e0b792.js +59 -0
- package/.next/static/chunks/1490995adc7829e2.js +136 -0
- package/.next/static/chunks/16b742746668b9d6.js +56 -0
- package/.next/static/chunks/16ff9833ae1bb3ae.js +1 -0
- package/.next/static/chunks/192b2f6118d057e2.js +60 -0
- package/.next/static/chunks/1a910f137d27fff0.js +63 -0
- package/.next/static/chunks/1f052e076ca9a3ff.js +1 -0
- package/.next/static/chunks/20f4141ccb5d4eb4.js +1 -0
- package/.next/static/chunks/2136b3131f74188f.js +1 -0
- package/.next/static/chunks/2204c0f16b23ec4c.js +3 -0
- package/.next/static/chunks/294dea6dbec43ca6.js +1 -0
- package/.next/static/chunks/2a33b9246ea4be03.js +2 -0
- package/.next/static/chunks/2c85b8059e42248a.js +1 -0
- package/.next/static/chunks/305b74f3c20cb4ef.js +1 -0
- package/.next/static/chunks/3276ca6fd9005903.js +13 -0
- package/.next/static/chunks/37f2e45cf97245d9.js +117 -0
- package/.next/static/chunks/39691fae9a3463fe.js +262 -0
- package/.next/static/chunks/3b6b058ebd14dbed.js +1 -0
- package/.next/static/chunks/3ed1465109fecc2d.js +1 -0
- package/.next/static/chunks/3f94c1ef6e27c8bd.js +1 -0
- package/.next/static/chunks/414a78f7b9b58d11.js +53 -0
- package/.next/static/chunks/4e85dea329906168.js +1 -0
- package/.next/static/chunks/525d6cb99a13c44a.js +215 -0
- package/.next/static/chunks/5295f0e82fd2a6d3.js +24 -0
- package/.next/static/chunks/567bc31005c31006.js +1 -0
- package/.next/static/chunks/56894ea818ee2a54.js +1 -0
- package/.next/static/chunks/569b4347ce55d973.js +1 -0
- package/.next/static/chunks/5fffdea0623d8a25.js +1 -0
- package/.next/static/chunks/642374ace530e2bd.js +1 -0
- package/.next/static/chunks/64543dbd7a7a99b7.js +1 -0
- package/.next/static/chunks/6483096c16d96f2c.js +15 -0
- package/.next/static/chunks/66d3fa1af3ff1fbf.js +1 -0
- package/.next/static/chunks/67a1d37727697340.js +1 -0
- package/.next/static/chunks/6f3c460ef90843d6.js +215 -0
- package/.next/static/chunks/6ff7b0a8653036b2.js +1 -0
- package/.next/static/chunks/72dde43947381f78.js +1 -0
- package/.next/static/chunks/7590e65bcaa41e8b.js +1 -0
- package/.next/static/chunks/762fe8c3999a1965.js +1 -0
- package/.next/static/chunks/794f3931f1ca12d2.js +1 -0
- package/.next/static/chunks/7b70989270600907.js +148 -0
- package/.next/static/chunks/8287406f2fe1c1c3.js +1 -0
- package/.next/static/chunks/839e44eec90aa73d.js +60 -0
- package/.next/static/chunks/85b2b8ec762b7c79.js +62 -0
- package/.next/static/chunks/89a8f922ce491ce9.js +93 -0
- package/.next/static/chunks/8ff23db3e3143bc7.js +5 -0
- package/.next/static/chunks/942cf63b4032c808.js +29 -0
- package/.next/static/chunks/95bd0faa6092d8ba.js +1 -0
- package/.next/static/chunks/97bd44afaee5f129.js +1 -0
- package/.next/static/chunks/97c8160044aea609.js +77 -0
- package/.next/static/chunks/9d06bd5d701ace73.js +1 -0
- package/.next/static/chunks/a0b34f852bfa3d1b.js +36 -0
- package/.next/static/chunks/a1ca5af350378f72.js +1 -0
- package/.next/static/chunks/af643629ba393b18.js +15 -0
- package/.next/static/chunks/b6976cf6c48996e5.js +1 -0
- package/.next/static/chunks/b6ffd44cbe740f15.js +1 -0
- package/.next/static/chunks/b8353eb8c6fb895e.js +1 -0
- package/.next/static/chunks/b845813463167db0.js +5 -0
- package/.next/static/chunks/b900efab2eee69a0.js +15 -0
- package/.next/static/chunks/bd9893e28f8f6a9a.css +1 -0
- package/.next/static/chunks/c762baa705e11b30.js +1 -0
- package/.next/static/chunks/cbfb9d957f708c08.js +1 -0
- package/.next/static/chunks/cca4441cde342ae3.js +1 -0
- package/.next/static/chunks/cf53882a2c15630f.js +1 -0
- package/.next/static/chunks/d43971093c91d3b2.js +160 -0
- package/.next/static/chunks/d784d84d5b880e48.js +1 -0
- package/.next/static/chunks/db44023a744297d1.js +1 -0
- package/.next/static/chunks/dbe7840308be36b8.js +1 -0
- package/.next/static/chunks/dc0a4df8f7080b29.js +1 -0
- package/.next/static/chunks/dd8e053aa48c6398.js +1 -0
- package/.next/static/chunks/ddc7726e19e5e25c.js +43 -0
- package/.next/static/chunks/df7e61b074dee049.js +152 -0
- package/.next/static/chunks/e20849e3abe63aa5.js +55 -0
- package/.next/static/chunks/e2792c100b4041a1.js +15 -0
- package/.next/static/chunks/e2dce648399ad4d4.js +1 -0
- package/.next/static/chunks/e3bc96a996e2a314.js +24 -0
- package/.next/static/chunks/e5aab2c562822175.js +1 -0
- package/.next/static/chunks/efbbc4dc4b32a270.js +4 -0
- package/.next/static/chunks/f0376ba3b56dbf10.js +4 -0
- package/.next/static/chunks/f88536b96f1df686.js +1 -0
- package/.next/static/chunks/turbopack-5fa55215af0efb15.js +3 -0
- package/package.json +3 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__c592f5d1._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_6174313a._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_6e4dd8b6._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_7fa1d4b1._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_e1889307._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_f1e82b43._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_af9d3830._.js +0 -3
- package/.next/standalone/packages/ui/.next/static/chunks/07f48b316e895080.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/0a7be410b438418a.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/1089ca88f6bef846.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/17471c87082c392c.js +0 -5
- package/.next/standalone/packages/ui/.next/static/chunks/220ba5cb8fe4dd69.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/35ccd3286e538bd2.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/4a7396c9a77e64d5.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/50aead33b660f05c.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/571033caca823138.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/5a6fc30cd64085b4.css +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/5c2072ad938de8ed.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/7f732ea69e643219.js +0 -2
- package/.next/standalone/packages/ui/.next/static/chunks/843e1dfdc28e1385.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/9dad7fd31627df80.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/a02c1f50ff00204f.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/a055d4b2866ff8d4.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/afb7c5a4255f4081.js +0 -3
- package/.next/standalone/packages/ui/.next/static/chunks/b760a3a9c2c8be28.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/b9b9d7565bc2c2ad.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/db281fdc89c063c5.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/dcdd95180149fa10.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/ebd89051637b9a47.js +0 -4
- package/.next/standalone/packages/ui/.next/static/chunks/f3ec9fd77a8618b1.js +0 -19
- package/.next/standalone/packages/ui/.next/static/chunks/f9db24028d8c058e.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/fb640f50455ba34f.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/turbopack-b9690cacbf9fe48c.js +0 -3
- package/.next/standalone/packages/ui/dist/BUILD_ID +0 -1
- package/.next/standalone/packages/ui/dist/public/f864aa7e7061c0600e35cf3d879b27cf.txt +0 -1
- package/.next/standalone/packages/ui/dist/public/favicon.ico +0 -0
- package/.next/standalone/packages/ui/dist/public/file.svg +0 -1
- package/.next/standalone/packages/ui/dist/public/github-mark-white.svg +0 -1
- package/.next/standalone/packages/ui/dist/public/github-mark.svg +0 -1
- package/.next/standalone/packages/ui/dist/public/globe.svg +0 -1
- package/.next/standalone/packages/ui/dist/public/icon.svg +0 -7
- package/.next/standalone/packages/ui/dist/public/logo-dark-bg.svg +0 -17
- package/.next/standalone/packages/ui/dist/public/logo-with-bg.svg +0 -17
- package/.next/standalone/packages/ui/dist/public/logo.svg +0 -17
- package/.next/standalone/packages/ui/dist/public/next.svg +0 -1
- package/.next/standalone/packages/ui/dist/public/vercel.svg +0 -1
- package/.next/standalone/packages/ui/dist/public/window.svg +0 -1
- package/.next/standalone/packages/ui/dist/standalone/packages/web/README.md +0 -196
- package/.next/standalone/packages/ui/dist/standalone/packages/web/leanspec.db +0 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/package.json +0 -75
- package/.next/standalone/packages/ui/dist/standalone/packages/web/server.js +0 -44
- package/.next/standalone/packages/ui/dist/standalone/specs/014-complete-custom-frontmatter/README.md +0 -175
- package/.next/standalone/packages/ui/dist/standalone/specs/016-github-action/README.md +0 -317
- package/.next/standalone/packages/ui/dist/standalone/specs/017-vscode-extension/README.md +0 -261
- package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/CLI-DESIGN.md +0 -380
- package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/CONFIGURATION-EXAMPLES.md +0 -230
- package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/CONFIGURATION.md +0 -285
- package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/IMPLEMENTATION.md +0 -358
- package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/README.md +0 -303
- package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/TESTING.md +0 -368
- package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/VALIDATION-RULES.md +0 -327
- package/.next/standalone/packages/ui/dist/standalone/specs/024-pattern-aware-list-grouping/README.md +0 -117
- package/.next/standalone/packages/ui/dist/standalone/specs/025-template-config-updates/README.md +0 -73
- package/.next/standalone/packages/ui/dist/standalone/specs/026-init-pattern-selection/README.md +0 -109
- package/.next/standalone/packages/ui/dist/standalone/specs/034-copilot-slash-commands/README.md +0 -107
- package/.next/standalone/packages/ui/dist/standalone/specs/035-live-specs-showcase/ARCHITECTURE.md +0 -244
- package/.next/standalone/packages/ui/dist/standalone/specs/035-live-specs-showcase/IMPLEMENTATION.md +0 -429
- package/.next/standalone/packages/ui/dist/standalone/specs/035-live-specs-showcase/README.md +0 -302
- package/.next/standalone/packages/ui/dist/standalone/specs/036-pm-integrations/README.md +0 -158
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-AI-ASSISTED.md +0 -359
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-FULL-LIFECYCLE.md +0 -86
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-REAL-FEATURE.md +0 -437
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-SCRIPT.md +0 -365
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DOGFOODING-FINAL.md +0 -203
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DOGFOODING-SESSION-2025-11-06.md +0 -174
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DOGFOODING-SUMMARY.md +0 -156
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/IMPLEMENTATION.md +0 -183
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/MARKETING.md +0 -229
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/NEXT-STEPS-DEMO.md +0 -243
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/README.md +0 -217
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/SESSION-2025-11-06.md +0 -166
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/TESTING.md +0 -126
- package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/ACTUAL-IMPLEMENTATION.md +0 -108
- package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/DESIGN.md +0 -382
- package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/IMPLEMENTATION.md +0 -144
- package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/RATIONALE.md +0 -146
- package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/README.md +0 -208
- package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/TESTING.md +0 -182
- package/.next/standalone/packages/ui/dist/standalone/specs/047-git-backfill-timestamps/README.md +0 -314
- package/.next/standalone/packages/ui/dist/standalone/specs/048-spec-complexity-analysis/FINDINGS.md +0 -113
- package/.next/standalone/packages/ui/dist/standalone/specs/048-spec-complexity-analysis/GUIDELINES.md +0 -237
- package/.next/standalone/packages/ui/dist/standalone/specs/048-spec-complexity-analysis/README.md +0 -149
- package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/ANALYSIS-COMPARISONS.md +0 -175
- package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/ANALYSIS-CONSTRAINTS.md +0 -254
- package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/FIRST-PRINCIPLES.md +0 -376
- package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/OPERATIONALIZATION-ROADMAP.md +0 -240
- package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/OPERATIONALIZATION-TOOLS.md +0 -175
- package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/README.md +0 -374
- package/.next/standalone/packages/ui/dist/standalone/specs/051-docs-system-prompt-principles/README.md +0 -339
- package/.next/standalone/packages/ui/dist/standalone/specs/052-branding-assets/README.md +0 -128
- package/.next/standalone/packages/ui/dist/standalone/specs/053-spec-assets-philosophy/README.md +0 -97
- package/.next/standalone/packages/ui/dist/standalone/specs/054-validate-output-lint-style/DESIGN-DECISIONS.md +0 -93
- package/.next/standalone/packages/ui/dist/standalone/specs/054-validate-output-lint-style/OUTPUT-FORMAT-SPEC.md +0 -146
- package/.next/standalone/packages/ui/dist/standalone/specs/054-validate-output-lint-style/README.md +0 -175
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/ANALYSIS-PART1.md +0 -397
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/ANALYSIS-PART2.md +0 -342
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/ANALYSIS.md +0 -44
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/CHANGES.md +0 -150
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/CONCERNS-ANALYSIS.md +0 -351
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/DOCS-ALIGNMENT-ANALYSIS.md +0 -238
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/README.md +0 -280
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/REDESIGN-DRAFT.md +0 -372
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/REDESIGN-REFINED.md +0 -466
- package/.next/standalone/packages/ui/dist/standalone/specs/056-docs-site-accuracy-audit/AUDIT-RESULTS.md +0 -178
- package/.next/standalone/packages/ui/dist/standalone/specs/056-docs-site-accuracy-audit/README.md +0 -174
- package/.next/standalone/packages/ui/dist/standalone/specs/057-docs-validation-comprehensive/README.md +0 -295
- package/.next/standalone/packages/ui/dist/standalone/specs/057-docs-validation-comprehensive/VALIDATION-RESULTS.md +0 -487
- package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/ANALYSIS.md +0 -241
- package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/DESIGN.md +0 -279
- package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/IMPLEMENTATION.md +0 -642
- package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/NOTES.md +0 -125
- package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/README.md +0 -286
- package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/ARCHITECTURE.md +0 -392
- package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/COMMANDS.md +0 -1002
- package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/CONTEXT-ENGINEERING.md +0 -411
- package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/IMPLEMENTATION.md +0 -812
- package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/README.md +0 -504
- package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/TESTING.md +0 -724
- package/.next/standalone/packages/ui/dist/standalone/specs/060-core-concepts-coherence/README.md +0 -125
- package/.next/standalone/packages/ui/dist/standalone/specs/061-ai-assisted-spec-writing/README.md +0 -299
- package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/IMPLEMENTATION-PLAN.md +0 -174
- package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/PAGE-SPECIFICATIONS.md +0 -265
- package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/PROBLEM-ANALYSIS.md +0 -36
- package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/README.md +0 -243
- package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/SOLUTION-DESIGN.md +0 -82
- package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/DESIGN.md +0 -338
- package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/EXAMPLES.md +0 -354
- package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/IMPLEMENTATION.md +0 -189
- package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/README.md +0 -119
- package/.next/standalone/packages/ui/dist/standalone/specs/064-docs-site-zh-translation/README.md +0 -170
- package/.next/standalone/packages/ui/dist/standalone/specs/065-v03-planning/README.md +0 -158
- package/.next/standalone/packages/ui/dist/standalone/specs/066-context-economy-thresholds-refinement/README.md +0 -842
- package/.next/standalone/packages/ui/dist/standalone/specs/067-monorepo-core-extraction/README.md +0 -358
- package/.next/standalone/packages/ui/dist/standalone/specs/068-live-specs-ux-enhancements/DESIGN.md +0 -444
- package/.next/standalone/packages/ui/dist/standalone/specs/068-live-specs-ux-enhancements/README.md +0 -357
- package/.next/standalone/packages/ui/dist/standalone/specs/069-token-counting-utils/README.md +0 -551
- package/.next/standalone/packages/ui/dist/standalone/specs/070-mcp-token-counting-tool/README.md +0 -372
- package/.next/standalone/packages/ui/dist/standalone/specs/071-simplified-token-validation/README.md +0 -489
- package/.next/standalone/packages/ui/dist/standalone/specs/072-ai-agent-first-use-workflow/README.md +0 -285
- package/.next/standalone/packages/ui/dist/standalone/specs/073-template-engine-agents-md/README.md +0 -323
- package/.next/standalone/packages/ui/dist/standalone/specs/074-content-at-creation/README.md +0 -136
- package/.next/standalone/packages/ui/dist/standalone/specs/075-intelligent-search-engine/README.md +0 -399
- package/.next/standalone/packages/ui/dist/standalone/specs/076-programmatic-spec-relationships/README.md +0 -301
- package/.next/standalone/packages/ui/dist/standalone/specs/077-archiving-strategy/README.md +0 -235
- package/.next/standalone/packages/ui/dist/standalone/specs/078-sub-spec-template-system/README.md +0 -303
- package/.next/standalone/packages/ui/dist/standalone/specs/079-cli-alphabetical-organization/README.md +0 -196
- package/.next/standalone/packages/ui/dist/standalone/specs/080-mcp-server-modular-architecture/README.md +0 -388
- package/.next/standalone/packages/ui/dist/standalone/specs/081-web-app-ux-redesign/README.md +0 -824
- package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/DATABASE.md +0 -111
- package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/DEPLOYMENT.md +0 -69
- package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/FILESYSTEM.md +0 -77
- package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/IMPLEMENTATION.md +0 -184
- package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/README.md +0 -496
- package/.next/standalone/packages/ui/dist/standalone/specs/083-web-navigation-performance/README.md +0 -490
- package/.next/standalone/packages/ui/dist/standalone/specs/084-sub-spec-visibility-in-tools/README.md +0 -389
- package/.next/standalone/packages/ui/dist/standalone/specs/085-cli-relationship-commands/README.md +0 -920
- package/.next/standalone/packages/ui/dist/standalone/specs/086-template-component-deduplication/README.md +0 -146
- package/.next/standalone/packages/ui/dist/standalone/specs/087-cli-ui-command/README.md +0 -607
- package/.next/standalone/packages/ui/dist/standalone/specs/088-core-concepts-terminology-only/README.md +0 -104
- package/.next/standalone/packages/ui/dist/standalone/specs/089-sdd-practical-tutorials/README.md +0 -124
- package/.next/standalone/packages/ui/dist/standalone/specs/090-leanspec-sdd-case-studies/README.md +0 -129
- package/.next/standalone/packages/ui/dist/standalone/specs/091-chinese-localization-strategy/README.md +0 -244
- package/.next/standalone/packages/ui/dist/standalone/specs/092-docs-site-submodule-migration/README.md +0 -148
- package/.next/standalone/packages/ui/dist/standalone/specs/093-spec-detail-ui-improvements/README.md +0 -54
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/001-typescript-cli-migration/README.md +0 -37
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/002-template-system-redesign/README.md +0 -60
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/003-init-system-redesign/README.md +0 -113
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/004-existing-project-integration/README.md +0 -69
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/004-existing-project-integration/SUMMARY.md +0 -112
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/005-structured-frontmatter/README.md +0 -229
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/006-pm-visualization-tools/README.md +0 -406
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/007-system-prompt-updates/README.md +0 -168
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/008-commander-migration/README.md +0 -174
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/009-cli-ux-enhancement/README.md +0 -212
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/010-commands-refactor/README.md +0 -249
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/011-test-results/README.md +0 -60
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/011-test-results/TEST_SUMMARY.md +0 -139
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/012-sub-spec-files/README.md +0 -722
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/013-custom-spec-templates/README.md +0 -413
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/015-npm-publishing/README.md +0 -255
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/019-readme-improvement/README.md +0 -252
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/020-documentation-website/README.md +0 -253
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/021-docusaurus-vercel-migration/README.md +0 -612
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/022-flexible-folder-structure/README.md +0 -794
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/023-folder-structure-improvements/DESIGN.md +0 -834
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/023-folder-structure-improvements/README.md +0 -255
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/027-cli-ui-ux-optimization/README.md +0 -454
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/028-cli-ui-modernization/README.md +0 -172
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/029-visualization-improvements/IMPLEMENTATION.md +0 -152
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/029-visualization-improvements/README.md +0 -95
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/030-created-date-format-bug/README.md +0 -87
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/031-gantt-ux-improvements/README.md +0 -230
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/032-console-log-chalk-security/README.md +0 -89
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/033-mcp-server/README.md +0 -89
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/037-docs-overhaul/README.md +0 -166
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/038-flat-structure-migration/README.md +0 -276
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/038-mcp-frontmatter-bug-fix/README.md +0 -122
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/039-simplify-viewer-commands/README.md +0 -198
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/039-template-variable-sync/README.md +0 -192
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/040-spec-viewer-commands/README.md +0 -171
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/042-mcp-error-handling/README.md +0 -200
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/044-spec-relationships-clarity/README.md +0 -317
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/DESIGN.md +0 -276
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/IMPLEMENTATION.md +0 -241
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/README.md +0 -139
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/TESTING.md +0 -328
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/050-tool-redesign-first-principles/README.md +0 -400
- package/.next/standalone/packages/ui/dist/static/chunks/0c19c69aa7625475.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/116800b03245a1e5.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/15843a3d7584e314.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/19e80edf527aef5c.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/465954d5af3284a9.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/5abeeb89f1412a80.js +0 -3
- package/.next/standalone/packages/ui/dist/static/chunks/5c2072ad938de8ed.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/6a05a93ec8fa7b83.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/778e42188e450b39.css +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/a02c1f50ff00204f.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/a45464b9776dd88e.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/a6dad97d9634a72d.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/b0ea0ac61604f843.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/c06e85b449720194.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/c557ac675be79771.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/cad005a57ffbb2d3.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/cdf6fe33bc65efbc.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/d12ed5dbe44caed7.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/d1ebe5c1a344f4ca.js +0 -5
- package/.next/standalone/packages/ui/dist/static/chunks/d42cf1682bc46652.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/dde5d8bddd7fbfcf.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/ebd89051637b9a47.js +0 -4
- package/.next/standalone/packages/ui/dist/static/chunks/ec82875d18b29f47.js +0 -2
- package/.next/standalone/packages/ui/dist/static/chunks/f0b701df9769bcc5.js +0 -19
- package/.next/standalone/packages/ui/dist/static/chunks/turbopack-1c09a99f4c9e28d3.js +0 -3
- package/.next/standalone/packages/ui/leanspec.db +0 -0
- package/.next/static/T_KGFP0pHt_xSaaYUJa3L/_buildManifest.js +0 -11
- package/.next/static/T_KGFP0pHt_xSaaYUJa3L/_clientMiddlewareManifest.json +0 -1
- package/.next/static/T_KGFP0pHt_xSaaYUJa3L/_ssgManifest.js +0 -1
- package/.next/static/chunks/07f48b316e895080.js +0 -1
- package/.next/static/chunks/0a7be410b438418a.js +0 -1
- package/.next/static/chunks/1089ca88f6bef846.js +0 -1
- package/.next/static/chunks/17471c87082c392c.js +0 -5
- package/.next/static/chunks/220ba5cb8fe4dd69.js +0 -1
- package/.next/static/chunks/35ccd3286e538bd2.js +0 -1
- package/.next/static/chunks/4a7396c9a77e64d5.js +0 -1
- package/.next/static/chunks/50aead33b660f05c.js +0 -1
- package/.next/static/chunks/571033caca823138.js +0 -1
- package/.next/static/chunks/5a6fc30cd64085b4.css +0 -1
- package/.next/static/chunks/5c2072ad938de8ed.js +0 -1
- package/.next/static/chunks/7f732ea69e643219.js +0 -2
- package/.next/static/chunks/843e1dfdc28e1385.js +0 -1
- package/.next/static/chunks/9dad7fd31627df80.js +0 -1
- package/.next/static/chunks/a02c1f50ff00204f.js +0 -1
- package/.next/static/chunks/a055d4b2866ff8d4.js +0 -1
- package/.next/static/chunks/afb7c5a4255f4081.js +0 -3
- package/.next/static/chunks/b760a3a9c2c8be28.js +0 -1
- package/.next/static/chunks/b9b9d7565bc2c2ad.js +0 -1
- package/.next/static/chunks/db281fdc89c063c5.js +0 -1
- package/.next/static/chunks/dcdd95180149fa10.js +0 -1
- package/.next/static/chunks/ebd89051637b9a47.js +0 -4
- package/.next/static/chunks/f3ec9fd77a8618b1.js +0 -19
- package/.next/static/chunks/f9db24028d8c058e.js +0 -1
- package/.next/static/chunks/fb640f50455ba34f.js +0 -1
- package/.next/static/chunks/turbopack-b9690cacbf9fe48c.js +0 -3
- /package/.next/standalone/packages/ui/.next/static/{T_KGFP0pHt_xSaaYUJa3L → gmEkSwWc7AIWzMK9b0WXr}/_buildManifest.js +0 -0
- /package/.next/standalone/packages/ui/.next/static/{T_KGFP0pHt_xSaaYUJa3L → gmEkSwWc7AIWzMK9b0WXr}/_clientMiddlewareManifest.json +0 -0
- /package/.next/standalone/packages/ui/.next/static/{T_KGFP0pHt_xSaaYUJa3L → gmEkSwWc7AIWzMK9b0WXr}/_ssgManifest.js +0 -0
- /package/.next/{standalone/packages/ui/dist/static/4ZnYN1WbN4LGJQOwP6FkT → static/gmEkSwWc7AIWzMK9b0WXr}/_buildManifest.js +0 -0
- /package/.next/{standalone/packages/ui/dist/static/4ZnYN1WbN4LGJQOwP6FkT → static/gmEkSwWc7AIWzMK9b0WXr}/_clientMiddlewareManifest.json +0 -0
- /package/.next/{standalone/packages/ui/dist/static/4ZnYN1WbN4LGJQOwP6FkT → static/gmEkSwWc7AIWzMK9b0WXr}/_ssgManifest.js +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[13142,a=>{"use strict";var b=a.i(40352),c=a.i(36883),d=a.i(1926),e=a.i(81612),f=a.i(80096),g=a.i(37717),h=a.i(6334),i=a.i(27725),j=a.i(15929),k=a.i(93090),l=a.i(966),m=a.i(59358),n=a.i(97557),o=a.i(62936),p=a.i(7840),q=a.i(30702),r=a.i(15268),s=a.i(15970),t=a.i(4620);let u=(0,a.i(63535).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"}]]);var v=a.i(82479),w=a.i(22570),x=a.i(87052),y=a.i(90075);a.i(94783);var z=a.i(56916);let A={planned:{icon:n.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:m.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:l.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:o.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"}},B=["planned","in-progress","complete","archived"];function C({initialSpecs:a,projectId:d}){let f=(0,e.useSearchParams)(),g=(0,e.useRouter)(),[l,m]=(0,c.useState)(a),[n,o]=(0,c.useState)({}),[r,s]=(0,c.useState)(""),[v,w]=(0,c.useState)("all"),[y,B]=(0,c.useState)("all"),[C,F]=(0,c.useState)("id-desc"),[G,H]=(0,c.useState)(!1),[I,J]=(0,c.useState)(!1),[K,L]=(0,c.useState)(()=>{let a=f.get("view");return"board"===a||"list"===a?a:"list"}),M=(0,c.useRef)(!0);(0,c.useEffect)(()=>{m(a)},[a]);let N=(0,c.useCallback)(async(a,b)=>{if(a.status===b)return;let c=a.status;o(b=>({...b,[a.id]:!0})),m(c=>c.map(c=>c.id===a.id?{...c,status:b}:c));try{let c=d?`/api/projects/${d}/specs/${encodeURIComponent(a.specName)}/status`:`/api/specs/${encodeURIComponent(a.specName)}/status`,e=await fetch(c,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:b})});if(!e.ok){let a=await e.text();throw Error(a||"Failed to update spec status")}let f=a.specNumber?`#${a.specNumber}`:a.specName;z.toast.success(`Moved ${f} to ${A[b].title}`)}catch(b){console.error("Failed to update spec status",b),m(b=>b.map(b=>b.id===a.id?{...b,status:c}:b)),z.toast.error("Unable to update status. Please try again.")}finally{o(b=>{let c={...b};return delete c[a.id],c})}},[]);(0,c.useEffect)(()=>{"archived"===v&&"board"===K&&H(!0)},[v,K]),(0,c.useEffect)(()=>{if(M.current){M.current=!1;return}let a=new URLSearchParams(window.location.search);"board"===K?a.set("view","board"):a.delete("view");let b=a.toString(),c=b?`?${b}`:"";g.replace(`/specs${c}`,{scroll:!1})},[K,g]);let O=(0,c.useMemo)(()=>{let a=[...l.filter(a=>{let b=!r||a.title?.toLowerCase().includes(r.toLowerCase())||a.specName.toLowerCase().includes(r.toLowerCase())||a.tags?.some(a=>a.toLowerCase().includes(r.toLowerCase())),c="all"===v?"list"!==K||"archived"!==a.status:a.status===v,d="all"===y||a.priority===y;return b&&c&&d})];switch(C){case"id-desc":a.sort((a,b)=>(b.specNumber||0)-(a.specNumber||0));break;case"id-asc":a.sort((a,b)=>(a.specNumber||0)-(b.specNumber||0));break;case"updated-desc":a.sort((a,b)=>a.updatedAt?b.updatedAt?b.updatedAt.getTime()-a.updatedAt.getTime():-1:1);break;case"title-asc":a.sort((a,b)=>{let c=(a.title||a.specName).toLowerCase(),d=(b.title||b.specName).toLowerCase();return c.localeCompare(d)})}return a},[l,r,v,y,C,K]);return(0,b.jsx)("div",{className:"h-[calc(100vh-3.5rem)] flex flex-col overflow-hidden bg-background p-4",children:(0,b.jsxs)("div",{className:(0,x.cn)("flex flex-col h-full mx-auto transition-all duration-300",I?"w-full":"max-w-7xl w-full"),children:[(0,b.jsx)("div",{className:"flex-none mb-4",children:(0,b.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-2xl font-bold tracking-tight",children:"Specifications"}),(0,b.jsxs)("p",{className:"text-sm text-muted-foreground",children:[O.length," specs"]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 bg-muted/50 p-1 rounded-lg",children:[(0,b.jsxs)(i.Button,{variant:"list"===K?"secondary":"ghost",size:"sm",onClick:()=>L("list"),className:"h-8 px-2 lg:px-3",children:[(0,b.jsx)(q.List,{className:"h-4 w-4 lg:mr-2"}),(0,b.jsx)("span",{className:"hidden lg:inline",children:"List"})]}),(0,b.jsxs)(i.Button,{variant:"board"===K?"secondary":"ghost",size:"sm",onClick:()=>L("board"),className:"h-8 px-2 lg:px-3",children:[(0,b.jsx)(p.LayoutGrid,{className:"h-4 w-4 lg:mr-2"}),(0,b.jsx)("span",{className:"hidden lg:inline",children:"Board"})]})]}),(0,b.jsx)(i.Button,{variant:"ghost",size:"icon",onClick:()=>J(!I),className:"h-10 w-10 text-muted-foreground hover:text-foreground",title:I?"Exit wide mode":"Enter wide mode",children:I?(0,b.jsx)(u,{className:"h-4 w-4"}):(0,b.jsx)(t.Maximize2,{className:"h-4 w-4"})})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 overflow-x-auto pb-2",children:[(0,b.jsxs)("div",{className:"relative flex-1 min-w-[200px] max-w-md",children:[(0,b.jsx)(k.Search,{className:"absolute left-2.5 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),(0,b.jsx)(h.Input,{placeholder:"Search specs...",value:r,onChange:a=>s(a.target.value),className:"pl-9 h-9"})]}),(0,b.jsxs)(j.Select,{value:v,onValueChange:a=>w(a),children:[(0,b.jsx)(j.SelectTrigger,{className:"w-[140px] h-9",children:(0,b.jsx)(j.SelectValue,{placeholder:"Status"})}),(0,b.jsxs)(j.SelectContent,{children:[(0,b.jsx)(j.SelectItem,{value:"all",children:"All Status"}),(0,b.jsx)(j.SelectItem,{value:"planned",children:"Planned"}),(0,b.jsx)(j.SelectItem,{value:"in-progress",children:"In Progress"}),(0,b.jsx)(j.SelectItem,{value:"complete",children:"Complete"}),(0,b.jsx)(j.SelectItem,{value:"archived",children:"Archived"})]})]}),(0,b.jsxs)(j.Select,{value:y,onValueChange:B,children:[(0,b.jsx)(j.SelectTrigger,{className:"w-[140px] h-9",children:(0,b.jsx)(j.SelectValue,{placeholder:"Priority"})}),(0,b.jsxs)(j.SelectContent,{children:[(0,b.jsx)(j.SelectItem,{value:"all",children:"All Priority"}),(0,b.jsx)(j.SelectItem,{value:"critical",children:"Critical"}),(0,b.jsx)(j.SelectItem,{value:"high",children:"High"}),(0,b.jsx)(j.SelectItem,{value:"medium",children:"Medium"}),(0,b.jsx)(j.SelectItem,{value:"low",children:"Low"})]})]}),(0,b.jsxs)(j.Select,{value:C,onValueChange:a=>F(a),children:[(0,b.jsx)(j.SelectTrigger,{className:"w-[180px] h-9",children:(0,b.jsx)(j.SelectValue,{placeholder:"Sort by"})}),(0,b.jsxs)(j.SelectContent,{children:[(0,b.jsx)(j.SelectItem,{value:"id-desc",children:"Newest First"}),(0,b.jsx)(j.SelectItem,{value:"id-asc",children:"Oldest First"}),(0,b.jsx)(j.SelectItem,{value:"updated-desc",children:"Recently Updated"}),(0,b.jsx)(j.SelectItem,{value:"title-asc",children:"Title (A-Z)"})]})]})]})]})}),(0,b.jsx)("div",{className:(0,x.cn)("flex-1 min-h-0","board"===K?"overflow-x-auto overflow-y-hidden":"overflow-y-auto"),children:"list"===K?(0,b.jsx)("div",{className:"w-full",children:(0,b.jsx)(D,{specs:O})}):(0,b.jsx)(E,{specs:O,onStatusChange:N,pendingSpecIds:n,showArchived:G,onToggleArchived:()=>H(!G)})})]})})}function D({specs:a}){return(0,b.jsx)("div",{className:"grid grid-cols-1 gap-4 pb-8",children:a.map(a=>{let c={critical:"border-l-red-500",high:"border-l-orange-500",medium:"border-l-blue-500",low:"border-l-gray-400"}[a.priority]||"border-l-gray-300",e=a.relationships&&(a.relationships.dependsOn.length>0||a.relationships.related.length>0),h=!!(a.subSpecsCount&&a.subSpecsCount>0);return(0,b.jsxs)(f.Card,{className:(0,x.cn)("hover:shadow-lg transition-all duration-150 hover:scale-[1.01] border-l-4 cursor-pointer",c),onClick:()=>window.location.href=`/specs/${a.specNumber||a.id}`,children:[(0,b.jsx)(f.CardHeader,{className:"pb-3",children:(0,b.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsx)(d.default,{href:`/specs/${a.specNumber||a.id}`,children:(0,b.jsxs)(f.CardTitle,{className:"text-lg font-semibold hover:text-primary transition-colors flex items-center",children:[a.specNumber?(0,b.jsxs)("span",{className:"font-mono text-base font-normal text-muted-foreground mr-3",children:["#",a.specNumber.toString().padStart(3,"0")]}):null,a.title||a.specName]})}),a.title&&a.title!==a.specName&&(0,b.jsx)("p",{className:"text-xs font-mono text-muted-foreground mt-1.5 truncate",children:a.specName})]}),(0,b.jsxs)("div",{className:"flex gap-2 shrink-0",children:[a.status&&(0,b.jsx)(v.StatusBadge,{status:a.status}),a.priority&&(0,b.jsx)(w.PriorityBadge,{priority:a.priority})]})]})}),(0,b.jsxs)(f.CardContent,{className:"flex items-center justify-between gap-4 pt-0",children:[(0,b.jsx)("div",{className:"flex items-center gap-4 text-sm text-muted-foreground flex-wrap",children:a.updatedAt||h||e?(0,b.jsxs)(b.Fragment,{children:[a.updatedAt&&(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)(n.Clock,{className:"h-3.5 w-3.5"}),(0,b.jsxs)("span",{children:["Updated ",(0,y.formatRelativeTime)(a.updatedAt)]})]}),h&&(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)(r.FileText,{className:"h-3.5 w-3.5"}),(0,b.jsxs)("span",{children:["+",a.subSpecsCount," files"]})]}),e&&(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)(s.GitBranch,{className:"h-3.5 w-3.5"}),(0,b.jsxs)("span",{children:[a.relationships.dependsOn.length>0&&`${a.relationships.dependsOn.length} deps`,a.relationships.dependsOn.length>0&&a.relationships.related.length>0&&", ",a.relationships.related.length>0&&`${a.relationships.related.length} related`]})]})]}):(0,b.jsx)("span",{className:"invisible",children:"No metadata"})}),a.tags&&a.tags.length>0&&(0,b.jsx)("div",{className:"flex flex-wrap gap-2 justify-end shrink-0",children:a.tags.map(a=>(0,b.jsx)(g.Badge,{variant:"outline",className:"text-xs font-mono text-muted-foreground hover:text-foreground transition-colors",children:a},a))})]})]},a.id)})})}function E({specs:a,onStatusChange:e,pendingSpecIds:h,showArchived:i,onToggleArchived:j}){let[k,l]=(0,c.useState)(null),[m,n]=(0,c.useState)(null),o=(0,c.useMemo)(()=>B.map(b=>({status:b,config:A[b],specs:a.filter(a=>a.status===b)})),[a]),p=(0,c.useMemo)(()=>{let b=new Map;return a.forEach(a=>b.set(a.id,a)),b},[a]),q=(0,c.useCallback)((a,b)=>{b.dataTransfer.setData("text/plain",a),b.dataTransfer.effectAllowed="move",l(a)},[]),r=(0,c.useCallback)(()=>{l(null),n(null)},[]),s=(0,c.useCallback)((a,b)=>{k&&(b.preventDefault(),b.dataTransfer.dropEffect="move",n(a))},[k]),t=(0,c.useCallback)((a,b)=>{if(!k)return;let c=b.relatedTarget;c&&b.currentTarget.contains(c)||n(b=>b===a?null:b)},[k]),u=(0,c.useCallback)((a,b)=>{b.preventDefault();let c=b.dataTransfer.getData("text/plain")||k;if(!c)return void r();let d=p.get(c);d&&d.status!==a&&e(d,a),r()},[k,r,e,p]);return(0,b.jsx)("div",{className:"flex gap-6 h-full pb-2",children:o.map(a=>{let c=a.config.icon,e="archived"===a.status;return(0,b.jsxs)("div",{className:(0,x.cn)("flex flex-col h-full flex-1 min-w-[280px]",e&&!i&&"w-14 min-w-[3.5rem] flex-none flex-shrink-0"),children:[(0,b.jsx)("div",{className:(0,x.cn)("flex-none mb-4 rounded-lg border-2 bg-background transition-all",a.config.bgClass,a.config.borderClass,e?"cursor-pointer hover:opacity-80":"",e&&!i?"py-6 px-2":"p-3"),onClick:e?j:void 0,children:(0,b.jsxs)("h2",{className:(0,x.cn)("text-lg font-semibold flex items-center gap-2",a.config.colorClass,e&&!i&&"flex-col text-sm gap-3"),children:[(0,b.jsx)(c,{className:"h-5 w-5"}),e&&!i?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"vertical-text text-sm whitespace-nowrap",children:a.config.title}),(0,b.jsx)(g.Badge,{variant:"outline",className:"text-xs",children:a.specs.length})]}):(0,b.jsxs)(b.Fragment,{children:[a.config.title,(0,b.jsx)(g.Badge,{variant:"outline",className:"ml-auto",children:a.specs.length})]})]})}),(!e||i)&&(0,b.jsxs)("div",{className:(0,x.cn)("space-y-3 flex-1 rounded-xl border border-transparent p-1 transition-colors overflow-y-auto min-h-0",k&&"border-dashed border-muted-foreground/40",k&&m===a.status&&"bg-muted/40 border-primary/50"),onDragOver:b=>s(a.status,b),onDragLeave:b=>t(a.status,b),onDrop:b=>u(a.status,b),children:[a.specs.map(a=>{let c={critical:"border-l-red-500",high:"border-l-orange-500",medium:"border-l-blue-500",low:"border-l-gray-400"}[a.priority]||"border-l-gray-300",e=!!h[a.id];return(0,b.jsxs)(f.Card,{draggable:!e,onDragStart:b=>{e?b.preventDefault():q(a.id,b)},onDragEnd:r,"aria-disabled":e,className:(0,x.cn)("relative hover:shadow-lg transition-all duration-150 hover:scale-[1.02] border-l-4 cursor-pointer group flex flex-col",c,e&&"opacity-60 cursor-wait"),onClick:()=>window.location.href=`/specs/${a.specNumber||a.id}`,children:[e&&(0,b.jsx)("div",{className:"absolute inset-0 rounded-lg bg-background/80 flex items-center justify-center text-xs font-medium z-10",children:"Updating..."}),(0,b.jsxs)(f.CardHeader,{className:"p-4 pb-2 space-y-1.5",children:[(0,b.jsx)("div",{className:"flex items-center justify-between",children:(0,b.jsx)("span",{className:"font-mono text-xs text-muted-foreground/70 group-hover:text-primary/60 transition-colors",children:a.specNumber?`#${a.specNumber}`:""})}),(0,b.jsx)(d.default,{href:`/specs/${a.specNumber||a.id}`,className:"block",children:(0,b.jsx)(f.CardTitle,{className:"text-sm font-semibold leading-snug hover:text-primary transition-colors line-clamp-3",children:a.title||a.specName})})]}),(0,b.jsx)(f.CardContent,{className:"p-4 pt-2 flex-1 flex flex-col justify-end",children:(0,b.jsxs)("div",{className:"flex flex-col gap-3",children:[a.title&&a.title!==a.specName&&(0,b.jsx)("p",{className:"text-xs font-mono text-muted-foreground truncate opacity-70",children:a.specName}),(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2 pt-1",children:[a.priority?(0,b.jsx)(w.PriorityBadge,{priority:a.priority}):(0,b.jsx)("div",{}),a.tags&&a.tags.length>0&&(0,b.jsxs)("div",{className:"flex flex-wrap gap-1 justify-end",children:[a.tags.slice(0,2).map(a=>(0,b.jsx)(g.Badge,{variant:"outline",className:"text-[10px] px-1.5 h-5 font-mono text-muted-foreground/80",children:a},a)),a.tags.length>2&&(0,b.jsxs)(g.Badge,{variant:"outline",className:"text-[10px] px-1.5 h-5 font-mono text-muted-foreground/80",children:["+",a.tags.length-2]})]})]})]})})]},a.id)}),0===a.specs.length&&(0,b.jsx)(f.Card,{className:"border-dashed border-gray-300 dark:border-gray-700 bg-transparent",children:(0,b.jsxs)(f.CardContent,{className:"py-8 text-center",children:[(0,b.jsx)(c,{className:(0,x.cn)("mx-auto h-8 w-8 mb-2",a.config.colorClass,"opacity-50")}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"Drop here to move specs"})]})})]})]},a.status)})})}a.s(["SpecsClient",()=>C],13142)}];
|
|
1
|
+
module.exports=[113142,a=>{"use strict";var b=a.i(40352),c=a.i(936883),d=a.i(920378),e=a.i(681612),f=a.i(980096),g=a.i(837717),h=a.i(406334),i=a.i(227725),j=a.i(915929),k=a.i(793090),l=a.i(800966),m=a.i(659358),n=a.i(297557),o=a.i(262936),p=a.i(307840),q=a.i(730702),r=a.i(615268),s=a.i(915970),t=a.i(404620);let u=(0,a.i(863535).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"}]]);var v=a.i(633093),w=a.i(141270),x=a.i(882479),y=a.i(322570),z=a.i(687052),A=a.i(890075);a.i(294783);var B=a.i(156916);let C={planned:{icon:n.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:m.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:l.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:o.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 E({initialSpecs:a,projectId:d}){let f=(0,e.useSearchParams)(),g=(0,e.useRouter)(),[l,m]=(0,c.useState)(a),[n,o]=(0,c.useState)({}),[r,s]=(0,c.useState)(""),[v,w]=(0,c.useState)("all"),[x,y]=(0,c.useState)("all"),[A,D]=(0,c.useState)("id-desc"),[E,H]=(0,c.useState)(!1),[I,J]=(0,c.useState)(!1),[K,L]=(0,c.useState)(()=>{let a=f.get("view");return"board"===a||"list"===a?a:"list"}),M=(0,c.useRef)(!0);(0,c.useEffect)(()=>{m(a)},[a]);let N=(0,c.useCallback)(async(a,b)=>{if(a.status===b)return;let c=a.status;o(b=>({...b,[a.id]:!0})),m(c=>c.map(c=>c.id===a.id?{...c,status:b}:c));try{let c=d?`/api/projects/${d}/specs/${encodeURIComponent(a.specName)}/status`:`/api/specs/${encodeURIComponent(a.specName)}/status`,e=await fetch(c,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:b})});if(!e.ok){let a=await e.text();throw Error(a||"Failed to update spec status")}let f=a.specNumber?`#${a.specNumber}`:a.specName;B.toast.success(`Moved ${f} to ${C[b].title}`)}catch(b){console.error("Failed to update spec status",b),m(b=>b.map(b=>b.id===a.id?{...b,status:c}:b)),B.toast.error("Unable to update status. Please try again.")}finally{o(b=>{let c={...b};return delete c[a.id],c})}},[]);(0,c.useEffect)(()=>{"archived"===v&&"board"===K&&H(!0)},[v,K]),(0,c.useEffect)(()=>{if(M.current){M.current=!1;return}let a=new URLSearchParams(window.location.search);"board"===K?a.set("view","board"):a.delete("view");let b=a.toString(),c=b?`?${b}`:"";g.replace(`/specs${c}`,{scroll:!1})},[K,g]);let O=(0,c.useMemo)(()=>{let a=[...l.filter(a=>{let b=!r||a.title?.toLowerCase().includes(r.toLowerCase())||a.specName.toLowerCase().includes(r.toLowerCase())||a.tags?.some(a=>a.toLowerCase().includes(r.toLowerCase())),c="all"===v?"list"!==K||"archived"!==a.status:a.status===v,d="all"===x||a.priority===x;return b&&c&&d})];switch(A){case"id-desc":a.sort((a,b)=>(b.specNumber||0)-(a.specNumber||0));break;case"id-asc":a.sort((a,b)=>(a.specNumber||0)-(b.specNumber||0));break;case"updated-desc":a.sort((a,b)=>a.updatedAt?b.updatedAt?b.updatedAt.getTime()-a.updatedAt.getTime():-1:1);break;case"title-asc":a.sort((a,b)=>{let c=(a.title||a.specName).toLowerCase(),d=(b.title||b.specName).toLowerCase();return c.localeCompare(d)})}return a},[l,r,v,x,A,K]);return(0,b.jsx)("div",{className:"h-[calc(100vh-3.5rem)] flex flex-col overflow-hidden bg-background p-2 sm:p-4",children:(0,b.jsxs)("div",{className:(0,z.cn)("flex flex-col h-full mx-auto transition-all duration-300",I?"w-full":"max-w-7xl w-full"),children:[(0,b.jsx)("div",{className:"flex-none mb-3 sm:mb-4",children:(0,b.jsxs)("div",{className:"flex flex-col gap-2 sm:gap-3 md:gap-4",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("h1",{className:"text-lg sm:text-xl md:text-2xl font-bold tracking-tight truncate",children:"Specifications"}),(0,b.jsxs)("p",{className:"text-xs sm:text-sm text-muted-foreground",children:[O.length," specs"]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5 sm:gap-2 flex-shrink-0",children:[(0,b.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,b.jsxs)(i.Button,{variant:"list"===K?"secondary":"ghost",size:"sm",onClick:()=>L("list"),className:"h-7 sm:h-8 px-2 sm:px-3",title:"List view",children:[(0,b.jsx)(q.List,{className:"h-3.5 w-3.5 sm:h-4 sm:w-4"}),(0,b.jsx)("span",{className:"hidden lg:inline ml-2",children:"List"})]}),(0,b.jsxs)(i.Button,{variant:"board"===K?"secondary":"ghost",size:"sm",onClick:()=>L("board"),className:"h-7 sm:h-8 px-2 sm:px-3",title:"Board view",children:[(0,b.jsx)(p.LayoutGrid,{className:"h-3.5 w-3.5 sm:h-4 sm:w-4"}),(0,b.jsx)("span",{className:"hidden lg:inline ml-2",children:"Board"})]})]}),(0,b.jsx)(i.Button,{variant:"ghost",size:"icon",onClick:()=>J(!I),className:"hidden md:flex h-8 w-8 sm:h-10 sm:w-10 text-muted-foreground hover:text-foreground",title:I?"Exit wide mode":"Enter wide mode",children:I?(0,b.jsx)(u,{className:"h-3.5 w-3.5 sm:h-4 sm:w-4"}):(0,b.jsx)(t.Maximize2,{className:"h-3.5 w-3.5 sm:h-4 sm:w-4"})})]})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsxs)("div",{className:"relative w-full",children:[(0,b.jsx)(k.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,b.jsx)(h.Input,{placeholder:"Search specs...",value:r,onChange:a=>s(a.target.value),className:"pl-8 sm:pl-9 h-9 sm:h-10 w-full text-sm"})]}),(0,b.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,b.jsxs)(j.Select,{value:v,onValueChange:a=>w(a),children:[(0,b.jsx)(j.SelectTrigger,{className:"w-[110px] sm:w-[130px] h-9 sm:h-10 flex-shrink-0 snap-start text-xs sm:text-sm",children:(0,b.jsx)(j.SelectValue,{placeholder:"Status"})}),(0,b.jsxs)(j.SelectContent,{children:[(0,b.jsx)(j.SelectItem,{value:"all",children:"All Status"}),(0,b.jsx)(j.SelectItem,{value:"planned",children:"Planned"}),(0,b.jsx)(j.SelectItem,{value:"in-progress",children:"In Progress"}),(0,b.jsx)(j.SelectItem,{value:"complete",children:"Complete"}),(0,b.jsx)(j.SelectItem,{value:"archived",children:"Archived"})]})]}),(0,b.jsxs)(j.Select,{value:x,onValueChange:y,children:[(0,b.jsx)(j.SelectTrigger,{className:"w-[110px] sm:w-[130px] h-9 sm:h-10 flex-shrink-0 snap-start text-xs sm:text-sm",children:(0,b.jsx)(j.SelectValue,{placeholder:"Priority"})}),(0,b.jsxs)(j.SelectContent,{children:[(0,b.jsx)(j.SelectItem,{value:"all",children:"All Priority"}),(0,b.jsx)(j.SelectItem,{value:"critical",children:"Critical"}),(0,b.jsx)(j.SelectItem,{value:"high",children:"High"}),(0,b.jsx)(j.SelectItem,{value:"medium",children:"Medium"}),(0,b.jsx)(j.SelectItem,{value:"low",children:"Low"})]})]}),(0,b.jsxs)(j.Select,{value:A,onValueChange:a=>D(a),children:[(0,b.jsx)(j.SelectTrigger,{className:"w-[130px] sm:w-[170px] h-9 sm:h-10 flex-shrink-0 snap-start text-xs sm:text-sm",children:(0,b.jsx)(j.SelectValue,{placeholder:"Sort by"})}),(0,b.jsxs)(j.SelectContent,{children:[(0,b.jsx)(j.SelectItem,{value:"id-desc",children:"Newest First"}),(0,b.jsx)(j.SelectItem,{value:"id-asc",children:"Oldest First"}),(0,b.jsx)(j.SelectItem,{value:"updated-desc",children:"Recently Updated"}),(0,b.jsx)(j.SelectItem,{value:"title-asc",children:"Title (A-Z)"})]})]})]})]})]})}),(0,b.jsx)("div",{className:(0,z.cn)("flex-1 min-h-0","board"===K?"overflow-x-auto overflow-y-hidden":"overflow-y-auto"),children:"list"===K?(0,b.jsx)("div",{className:"w-full",children:(0,b.jsx)(F,{specs:O})}):(0,b.jsx)(G,{specs:O,onStatusChange:N,pendingSpecIds:n,showArchived:E,onToggleArchived:()=>H(!E)})})]})})}function F({specs:a}){return(0,b.jsx)("div",{className:"grid grid-cols-1 gap-2 sm:gap-3 md:gap-4 pb-2 sm:pb-4 md:pb-8",children:a.map(a=>{let c={critical:"border-l-red-500",high:"border-l-orange-500",medium:"border-l-blue-500",low:"border-l-gray-400"}[a.priority]||"border-l-gray-300",e=a.relationships&&(a.relationships.dependsOn.length>0||a.relationships.related.length>0),h=!!(a.subSpecsCount&&a.subSpecsCount>0);return(0,b.jsxs)(f.Card,{className:(0,z.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",c),onClick:()=>window.location.href=`/specs/${a.specNumber||a.id}`,children:[(0,b.jsx)(f.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,b.jsxs)("div",{className:"flex flex-col gap-2 md:flex-row md:items-start md:justify-between md:gap-4",children:[(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsx)(d.default,{href:`/specs/${a.specNumber||a.id}`,children:(0,b.jsxs)(f.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:[a.specNumber?(0,b.jsxs)("span",{className:"font-mono text-xs sm:text-sm md:text-base font-normal text-muted-foreground flex-shrink-0",children:["#",a.specNumber.toString().padStart(3,"0")]}):null,(0,b.jsx)("span",{className:"flex-1 break-words",children:a.title||a.specName})]})}),a.title&&a.title!==a.specName&&(0,b.jsx)("p",{className:"text-[11px] sm:text-xs font-mono text-muted-foreground mt-1 sm:mt-1.5 truncate",children:a.specName})]}),(0,b.jsxs)("div",{className:"flex gap-1.5 sm:gap-2 flex-wrap md:shrink-0",children:[a.status&&(0,b.jsx)(x.StatusBadge,{status:a.status}),a.priority&&(0,b.jsx)(y.PriorityBadge,{priority:a.priority})]})]})}),(0,b.jsx)(f.CardContent,{className:"px-3 sm:px-4 md:px-6 pb-2.5 sm:pb-3 md:pb-6 pt-0",children:(0,b.jsxs)("div",{className:"flex flex-col gap-2 md:flex-row md:items-center md:justify-between md:gap-4",children:[(0,b.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:a.updatedAt||h||e?(0,b.jsxs)(b.Fragment,{children:[a.updatedAt&&(0,b.jsxs)("div",{className:"flex items-center gap-1 sm:gap-1.5",children:[(0,b.jsx)(n.Clock,{className:"h-3 w-3 sm:h-3.5 sm:w-3.5 flex-shrink-0"}),(0,b.jsxs)("span",{className:"whitespace-nowrap",children:["Updated ",(0,A.formatRelativeTime)(a.updatedAt)]})]}),h&&(0,b.jsxs)("div",{className:"flex items-center gap-1 sm:gap-1.5",children:[(0,b.jsx)(r.FileText,{className:"h-3 w-3 sm:h-3.5 sm:w-3.5 flex-shrink-0"}),(0,b.jsxs)("span",{className:"whitespace-nowrap",children:["+",a.subSpecsCount," files"]})]}),e&&(0,b.jsxs)("div",{className:"flex items-center gap-1 sm:gap-1.5",children:[(0,b.jsx)(s.GitBranch,{className:"h-3 w-3 sm:h-3.5 sm:w-3.5 flex-shrink-0"}),(0,b.jsxs)("span",{className:"whitespace-nowrap",children:[a.relationships.dependsOn.length>0&&`${a.relationships.dependsOn.length} deps`,a.relationships.dependsOn.length>0&&a.relationships.related.length>0&&", ",a.relationships.related.length>0&&`${a.relationships.related.length} related`]})]})]}):(0,b.jsx)("span",{className:"invisible hidden md:inline",children:"No metadata"})}),a.tags&&a.tags.length>0&&(0,b.jsx)("div",{className:"flex flex-wrap gap-1 sm:gap-1.5 md:gap-2 md:justify-end md:shrink-0",children:a.tags.map(a=>(0,b.jsx)(g.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:a},a))})]})})]},a.id)})})}function G({specs:a,onStatusChange:e,pendingSpecIds:h,showArchived:i,onToggleArchived:j}){let[k,l]=(0,c.useState)(null),[m,n]=(0,c.useState)(null),[o,p]=(0,c.useState)({}),q=(0,c.useMemo)(()=>D.map(b=>({status:b,config:C[b],specs:a.filter(a=>a.status===b)})),[a]),r=(0,c.useMemo)(()=>{let b=new Map;return a.forEach(a=>b.set(a.id,a)),b},[a]),s=(0,c.useCallback)((a,b)=>{b.dataTransfer.setData("text/plain",a),b.dataTransfer.effectAllowed="move",l(a)},[]),t=(0,c.useCallback)(()=>{l(null),n(null)},[]),u=(0,c.useCallback)((a,b)=>{k&&(b.preventDefault(),b.dataTransfer.dropEffect="move",n(a))},[k]),x=(0,c.useCallback)((a,b)=>{if(!k)return;let c=b.relatedTarget;c&&b.currentTarget.contains(c)||n(b=>b===a?null:b)},[k]),A=(0,c.useCallback)((a,b)=>{b.preventDefault();let c=b.dataTransfer.getData("text/plain")||k;if(!c)return void t();let d=r.get(c);d&&d.status!==a&&e(d,a),t()},[k,t,e,r]);return(0,b.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:q.map(a=>{let c=a.config.icon,e="archived"===a.status,l=o[a.status];return(0,b.jsxs)("div",{className:(0,z.cn)("flex flex-col flex-1 snap-start","h-auto md:h-full w-full md:w-auto flex-shrink-0",e&&!i?"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,b.jsx)("div",{className:(0,z.cn)("flex-none mb-3 sm:mb-4 rounded-lg border-2 bg-background transition-all touch-manipulation",a.config.bgClass,a.config.borderClass,e?"cursor-pointer hover:opacity-80 active:opacity-70":"",e&&!i?"py-4 sm:py-6 px-1.5 sm:px-2":"p-2.5 sm:p-3","md:cursor-default cursor-pointer"),onClick:()=>{if(e)j();else{var b;window.innerWidth<768&&(b=a.status,p(a=>({...a,[b]:!a[b]})))}},children:(0,b.jsxs)("h2",{className:(0,z.cn)("text-base sm:text-lg font-semibold flex items-center gap-1.5 sm:gap-2",a.config.colorClass,e&&!i&&"flex-col text-xs sm:text-sm gap-2 sm:gap-3"),children:[(0,b.jsx)(c,{className:"h-4 w-4 sm:h-5 sm:w-5 flex-shrink-0"}),e&&!i?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"vertical-text text-xs sm:text-sm whitespace-nowrap",children:a.config.title}),(0,b.jsx)(g.Badge,{variant:"outline",className:"text-[10px] sm:text-xs px-1 sm:px-2 h-4 sm:h-5",children:a.specs.length})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"truncate flex-1",children:a.config.title}),(0,b.jsx)(g.Badge,{variant:"outline",className:"text-[10px] sm:text-xs px-1.5 sm:px-2 h-4 sm:h-5 flex-shrink-0",children:a.specs.length}),(0,b.jsx)("div",{className:"md:hidden ml-2 text-muted-foreground/50",children:l?(0,b.jsx)(w.ChevronRight,{className:"h-4 w-4"}):(0,b.jsx)(v.ChevronDown,{className:"h-4 w-4"})})]})]})}),(!e||i)&&!l&&(0,b.jsxs)("div",{className:(0,z.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",k&&"border-dashed border-muted-foreground/40",k&&m===a.status&&"bg-muted/40 border-primary/50"),onDragOver:b=>u(a.status,b),onDragLeave:b=>x(a.status,b),onDrop:b=>A(a.status,b),children:[a.specs.map(a=>{let c={critical:"border-l-red-500",high:"border-l-orange-500",medium:"border-l-blue-500",low:"border-l-gray-400"}[a.priority]||"border-l-gray-300",e=!!h[a.id];return(0,b.jsxs)(f.Card,{draggable:!e,onDragStart:b=>{e?b.preventDefault():s(a.id,b)},onDragEnd:t,"aria-disabled":e,className:(0,z.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",c,e&&"opacity-60 cursor-wait"),onClick:()=>window.location.href=`/specs/${a.specNumber||a.id}`,children:[e&&(0,b.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,b.jsxs)(f.CardHeader,{className:"p-3 sm:p-4 pb-1.5 sm:pb-2 space-y-1 sm:space-y-1.5",children:[(0,b.jsx)("div",{className:"flex items-center justify-between",children:(0,b.jsx)("span",{className:"font-mono text-[10px] sm:text-xs text-muted-foreground/70 group-hover:text-primary/60 transition-colors",children:a.specNumber?`#${a.specNumber}`:""})}),(0,b.jsx)(d.default,{href:`/specs/${a.specNumber||a.id}`,className:"block",children:(0,b.jsx)(f.CardTitle,{className:"text-xs sm:text-sm font-semibold leading-snug hover:text-primary transition-colors line-clamp-3",children:a.title||a.specName})})]}),(0,b.jsx)(f.CardContent,{className:"p-3 sm:p-4 pt-1.5 sm:pt-2 flex-1 flex flex-col justify-end",children:(0,b.jsxs)("div",{className:"flex flex-col gap-2 sm:gap-3",children:[a.title&&a.title!==a.specName&&(0,b.jsx)("p",{className:"text-[10px] sm:text-xs font-mono text-muted-foreground truncate opacity-70",children:a.specName}),(0,b.jsxs)("div",{className:"flex items-center justify-between gap-1.5 sm:gap-2 pt-0.5 sm:pt-1",children:[a.priority?(0,b.jsx)(y.PriorityBadge,{priority:a.priority}):(0,b.jsx)("div",{}),a.tags&&a.tags.length>0&&(0,b.jsxs)("div",{className:"flex flex-wrap gap-0.5 sm:gap-1 justify-end",children:[a.tags.slice(0,2).map(a=>(0,b.jsx)(g.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:a},a)),a.tags.length>2&&(0,b.jsxs)(g.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:["+",a.tags.length-2]})]})]})]})})]},a.id)}),0===a.specs.length&&(0,b.jsx)(f.Card,{className:"border-dashed border-gray-300 dark:border-gray-700 bg-transparent",children:(0,b.jsxs)(f.CardContent,{className:"py-6 sm:py-8 text-center px-2",children:[(0,b.jsx)(c,{className:(0,z.cn)("mx-auto h-6 w-6 sm:h-8 sm:w-8 mb-1.5 sm:mb-2",a.config.colorClass,"opacity-50")}),(0,b.jsx)("p",{className:"text-xs sm:text-sm text-muted-foreground",children:"Drop here to move specs"})]})})]})]},a.status)})})}a.s(["SpecsClient",()=>E],113142)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=packages_ui_src_app_specs_specs-client_tsx_0bb8f8f8._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[58285,90555,a=>{"use strict";var b=a.i(40352),c=a.i(36883),d=a.i(1926);let e=c.useEffect;function f(a){if(void 0!==a)switch(typeof a){case"number":return a;case"string":if(a.endsWith("px"))return parseFloat(a)}}let g=null;function h({containerElement:a,direction:b,isRtl:c,scrollOffset:d}){if("horizontal"===b&&c)switch(function(a=!1){if(null===g||a){let a=document.createElement("div"),b=a.style;b.width="50px",b.height="50px",b.overflow="scroll",b.direction="rtl";let c=document.createElement("div"),d=c.style;return d.width="100px",d.height="100px",a.appendChild(c),document.body.appendChild(a),a.scrollLeft>0?g="positive-descending":(a.scrollLeft=1,g=0===a.scrollLeft?"negative":"positive-ascending"),document.body.removeChild(a),g}return g}()){case"negative":return-d;case"positive-descending":if(a){let{clientWidth:b,scrollLeft:c,scrollWidth:d}=a;return d-b-c}}return d}function i(a,b="Assertion error"){if(!a)throw console.error(b),Error(b)}function j(a,b){if(a===b)return!0;if(!!a!=!!b||(i(void 0!==a),i(void 0!==b),Object.keys(a).length!==Object.keys(b).length))return!1;for(let c in a)if(!Object.is(b[c],a[c]))return!1;return!0}function k({cachedBounds:a,itemCount:b,itemSize:c}){if(0===b)return 0;if("number"==typeof c)return b*c;{let c=a.get(0===a.size?0:a.size-1);return i(void 0!==c,"Unexpected bounds cache miss"),b*((c.scrollOffset+c.size)/a.size)}}function l({cachedBounds:a,containerScrollOffset:b,containerSize:c,itemCount:d,overscanCount:e}){let f=d-1,g=0,h=-1,i=0,j=-1,k=0;for(;k<f;){let c=a.get(k);if(c.scrollOffset+c.size>b)break;k++}for(i=Math.max(0,(g=k)-e);k<f;){let d=a.get(k);if(d.scrollOffset+d.size>=b+c)break;k++}return j=Math.min(d-1,(h=Math.min(f,k))+e),g<0&&(g=0,h=-1,i=0,j=-1),{startIndexVisible:g,stopIndexVisible:h,startIndexOverscan:i,stopIndexOverscan:j}}function m(a,b){let{ariaAttributes:c,style:d,...e}=a,{ariaAttributes:f,style:g,...h}=b;return j(c,f)&&j(d,g)&&j(e,h)}function n({children:a,className:d,defaultHeight:g=0,listRef:n,onResize:o,onRowsRendered:p,overscanCount:q=3,rowComponent:r,rowCount:s,rowHeight:t,rowProps:u,tagName:v="div",style:w,...x}){let y=(0,c.useMemo)(()=>u,Object.values(u)),z=(0,c.useMemo)(()=>(0,c.memo)(r,m),[r]),[A,B]=(0,c.useState)(null),C=null!=t&&"object"==typeof t&&"getAverageRowHeight"in t&&"function"==typeof t.getAverageRowHeight,{getCellBounds:D,getEstimatedSize:E,scrollToIndex:F,startIndexOverscan:G,startIndexVisible:H,stopIndexOverscan:I,stopIndexVisible:J}=function({containerElement:a,containerStyle:b,defaultContainerSize:d=0,direction:g,isRtl:m=!1,itemCount:n,itemProps:o,itemSize:p,onResize:q,overscanCount:r}){var s;let t,[u,v]=(0,c.useState)({startIndexVisible:0,startIndexOverscan:0,stopIndexVisible:-1,stopIndexOverscan:-1}),{startIndexVisible:w,startIndexOverscan:x,stopIndexVisible:y,stopIndexOverscan:z}={startIndexVisible:Math.min(n-1,u.startIndexVisible),startIndexOverscan:Math.min(n-1,u.startIndexOverscan),stopIndexVisible:Math.min(n-1,u.stopIndexVisible),stopIndexOverscan:Math.min(n-1,u.stopIndexOverscan)},{height:A=d,width:B=d}=function({box:a,defaultHeight:b,defaultWidth:d,disabled:g,element:h,mode:i,style:j}){let{styleHeight:k,styleWidth:l}=(0,c.useMemo)(()=>({styleHeight:f(j?.height),styleWidth:f(j?.width)}),[j?.height,j?.width]),[m,n]=(0,c.useState)({height:b,width:d}),o=g||"only-height"===i&&void 0!==k||"only-width"===i&&void 0!==l||void 0!==k&&void 0!==l;return e(()=>{if(null===h||o)return;let b=new ResizeObserver(a=>{for(let b of a){let{contentRect:a,target:c}=b;h===c&&n(b=>b.height===a.height&&b.width===a.width?b:{height:a.height,width:a.width})}});return b.observe(h,{box:a}),()=>{b?.unobserve(h)}},[a,o,h,k,l]),(0,c.useMemo)(()=>({height:k??m.height,width:l??m.width}),[m,k,l])}({defaultHeight:"vertical"===g?d:void 0,defaultWidth:"horizontal"===g?d:void 0,element:a,mode:"vertical"===g?"only-height":"only-width",style:b}),C=(0,c.useRef)({height:0,width:0}),D="vertical"===g?A:B,E=function({containerSize:a,itemSize:b}){let c;return"string"==typeof b?(i(b.endsWith("%"),`Invalid item size: "${b}"; string values must be percentages (e.g. "100%")`),i(void 0!==a,"Container size must be defined if a percentage item size is specified"),c=a*parseInt(b)/100):c=b,c}({containerSize:D,itemSize:p});(0,c.useLayoutEffect)(()=>{if("function"==typeof q){let a=C.current;(a.height!==A||a.width!==B)&&(q({height:A,width:B},{...a}),a.height=A,a.width=B)}},[A,q,B]);let F=function({itemCount:a,itemProps:b,itemSize:d}){return(0,c.useMemo)(()=>(function({itemCount:a,itemProps:b,itemSize:c}){let d=new Map;return{get(e){for(i(e<a,`Invalid index ${e}`);d.size-1<e;){let a,f=d.size;switch(typeof c){case"function":a=c(f,b);break;case"number":a=c}if(0===f)d.set(f,{size:a,scrollOffset:0});else{let b=d.get(f-1);i(void 0!==b,`Unexpected bounds cache miss for index ${e}`),d.set(f,{scrollOffset:b.scrollOffset+b.size,size:a})}}let f=d.get(e);return i(void 0!==f,`Unexpected bounds cache miss for index ${e}`),f},set(a,b){d.set(a,b)},get size(){return d.size}}})({itemCount:a,itemProps:b,itemSize:d}),[a,b,d])}({itemCount:n,itemProps:o,itemSize:E}),G=(0,c.useCallback)(a=>F.get(a),[F]),H=(0,c.useCallback)(()=>k({cachedBounds:F,itemCount:n,itemSize:E}),[F,n,E]),I=(0,c.useCallback)(b=>l({cachedBounds:F,containerScrollOffset:h({containerElement:a,direction:g,isRtl:m,scrollOffset:b}),containerSize:D,itemCount:n,overscanCount:r}),[F,a,D,g,m,n,r]);return e(()=>{v(I(("vertical"===g?a?.scrollTop:a?.scrollLeft)??0))},[a,g,I]),e(()=>{if(!a)return;let b=()=>{v(b=>{let{scrollLeft:c,scrollTop:d}=a,e=l({cachedBounds:F,containerScrollOffset:h({containerElement:a,direction:g,isRtl:m,scrollOffset:"vertical"===g?d:c}),containerSize:D,itemCount:n,overscanCount:r});return j(e,b)?b:e})};return a.addEventListener("scroll",b),()=>{a.removeEventListener("scroll",b)}},[F,a,D,g,n,r]),{getCellBounds:G,getEstimatedSize:H,scrollToIndex:(s=({align:b="auto",containerScrollOffset:c,index:d})=>{let e=function({align:a,cachedBounds:b,index:c,itemCount:d,itemSize:e,containerScrollOffset:f,containerSize:g}){if(c<0||c>=d)throw RangeError(`Invalid index specified: ${c}`,{cause:`Index ${c} is not within the range of 0 - ${d-1}`});let h=k({cachedBounds:b,itemCount:d,itemSize:e}),i=b.get(c),j=Math.max(0,Math.min(h-g,i.scrollOffset)),l=Math.max(0,i.scrollOffset-g+i.size);switch("smart"===a&&(a=f>=l&&f<=j?"auto":"center"),a){case"start":return j;case"end":return l;case"center":return i.scrollOffset<=g/2?0:i.scrollOffset+i.size/2>=h-g/2?h-g:i.scrollOffset+i.size/2-g/2;default:return f>=l&&f<=j?f:f<l?l:j}}({align:b,cachedBounds:F,containerScrollOffset:c,containerSize:D,index:d,itemCount:n,itemSize:E});if(a){if(e=h({containerElement:a,direction:g,isRtl:m,scrollOffset:e}),"function"!=typeof a.scrollTo){let a=I(e);j(u,a)||v(a)}return e}},t=(0,c.useRef)(()=>{throw Error("Cannot call during render.")}),e(()=>{t.current=s},[s]),(0,c.useCallback)(a=>t.current?.(a),[t])),startIndexOverscan:x,startIndexVisible:w,stopIndexOverscan:z,stopIndexVisible:y}}({containerElement:A,containerStyle:w,defaultContainerSize:g,direction:"vertical",itemCount:s,itemProps:y,itemSize:(0,c.useMemo)(()=>C?a=>t.getRowHeight(a)??t.getAverageRowHeight():t,[C,t]),onResize:o,overscanCount:q});(0,c.useImperativeHandle)(n,()=>({get element(){return A},scrollToRow({align:a="auto",behavior:b="auto",index:c}){let d=F({align:a,containerScrollOffset:A?.scrollTop??0,index:c});"function"==typeof A?.scrollTo&&A.scrollTo({behavior:b,top:d})}}),[A,F]),e(()=>{if(!A)return;let a=Array.from(A.children).filter((a,b)=>{if(a.hasAttribute("aria-hidden"))return!1;let c=`${G+b}`;return a.setAttribute("data-react-window-index",c),!0});if(C)return t.observeRowElements(a)},[A,C,t,G,I]),(0,c.useEffect)(()=>{G>=0&&I>=0&&p&&p({startIndex:H,stopIndex:J},{startIndex:G,stopIndex:I})},[p,G,H,I,J]);let K=(0,c.useMemo)(()=>{let a=[];if(s>0)for(let b=G;b<=I;b++){let d=D(b);a.push((0,c.createElement)(z,{...y,ariaAttributes:{"aria-posinset":b+1,"aria-setsize":s,role:"listitem"},key:b,index:b,style:{position:"absolute",left:0,transform:`translateY(${d.scrollOffset}px)`,height:C?void 0:d.size,width:"100%"}}))}return a},[z,D,C,s,y,G,I]),L=(0,b.jsx)("div",{"aria-hidden":!0,style:{height:E(),width:"100%",zIndex:-1}});return(0,c.createElement)(v,{role:"list",...x,className:d,ref:B,style:{position:"relative",maxHeight:"100%",flexGrow:1,overflowY:"auto",...w}},K,a,L)}c.useState,c.useRef,c.useState,c.useRef;var o=a.i(93090),p=a.i(29620),q=a.i(41270),r=a.i(14174),s=a.i(30702);let t=(0,a.i(63535).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 u=a.i(6334),v=a.i(27725),w=a.i(82479),x=a.i(96151),y=a.i(15929),z=a.i(87052),A=a.i(22570),B=a.i(90075);let C={specs:[],signature:null,scrollTop:0,activeSpecId:null},D=[],E=new Set,F=new Set,G=new Set;function H(){for(let a of E)a()}function I(a){return E.add(a),()=>{E.delete(a)}}function J(){return C}function K(){return(0,c.useSyncExternalStore)(I,J,()=>C)}function L(){let a=c.useCallback(a=>(F.add(a),()=>{F.delete(a)}),[]);return(0,c.useSyncExternalStore)(a,()=>J().specs,()=>D)}function M(){let a=c.useCallback(a=>(G.add(a),()=>{G.delete(a)}),[]);return(0,c.useSyncExternalStore)(a,()=>J().activeSpecId,()=>null)}function N(a){if(0===a.length)return;let b=a.map(a=>[a.id,a.specNumber??"",a.title??"",a.status??"",a.priority??"",a.updatedAt?new Date(a.updatedAt).getTime():0].join(":")).join("|");if(b!==C.signature)for(let c of(C={...C,specs:a,signature:b},H(),F))c()}function O(a){if(C.activeSpecId!==a)for(let b of(C={...C,activeSpecId:a},H(),G))b()}a.s(["primeSpecsSidebar",()=>N,"setActiveSidebarSpec",()=>O,"useSpecsSidebarActiveSpec",()=>M,"useSpecsSidebarSpecs",()=>L,"useSpecsSidebarState",()=>K],90555);let P=c.useEffect;function Q({initialSpecs:a=[],currentSpecId:e,currentSubSpec:f,onSpecHover:g}){let[h,i]=c.useState(""),[j,k]=c.useState("all"),[l,m]=c.useState("all"),[C,D]=c.useState("all"),[E,F]=c.useState(!1),[G,H]=c.useState(()=>!1),[I,J]=c.useState(!1),[K,N]=c.useState(!1),O=c.useRef(null);c.useRef(null),c.useRef(!1);let Q=c.useRef(null);c.useRef(0),c.useRef(!1),c.useRef(!0);let R=L(),S=M(),T=c.useMemo(()=>R.length>0?R:a,[R,a]),U=e||S||"";c.useEffect(()=>{N(!0)},[]),c.useEffect(()=>{document.documentElement.style.setProperty("--specs-nav-sidebar-width",G?"0px":"280px"),localStorage.setItem("specs-nav-sidebar-collapsed",String(G))},[G]),c.useEffect(()=>{J(!1)},[U,f]);let V=c.useMemo(()=>{let a=T;if(h){let b=h.toLowerCase();a=a.filter(a=>a.title?.toLowerCase().includes(b)||a.specName.toLowerCase().includes(b)||a.specNumber?.toString().includes(b))}return"all"!==j&&(a=a.filter(a=>a.status===j)),"all"!==l&&(a=a.filter(a=>a.priority===l)),"all"!==C&&(a=a.filter(a=>a.tags?.includes(C))),console.debug(a),a},[T,h,j,l,C]),W=c.useMemo(()=>{let a=new Set;return T.forEach(b=>{b.tags?.forEach(b=>a.add(b))}),Array.from(a).sort()},[T]),X="all"!==j||"all"!==l||"all"!==C,Y=c.useMemo(()=>[...V].sort((a,b)=>(b.specNumber||0)-(a.specNumber||0)),[V]);P(()=>{},[]),P(()=>{},[Y,U]),c.useEffect(()=>{},[]);let Z=c.useCallback(a=>{let{index:c,style:e}=a,h=Y[c],i=h.id===U,j=(h.contentMd?(0,z.extractH1Title)(h.contentMd):null)||h.title||h.specName;return(0,b.jsx)("div",{style:e,className:"px-1",children:(0,b.jsx)("div",{className:"mb-0.5",children:(0,b.jsx)("div",{className:"flex items-center gap-0.5",children:(0,b.jsxs)(x.Tooltip,{children:[(0,b.jsx)(x.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)(d.default,{ref:i&&!f?O:null,href:`/specs/${h.specNumber||h.id}`,onMouseEnter:()=>g?.(h.specNumber?.toString()||h.id),className:(0,z.cn)("w-full flex flex-col gap-1 p-1.5 rounded-md text-sm transition-colors",i?"bg-accent text-accent-foreground font-medium":"hover:bg-accent/50"),children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[h.specNumber&&(0,b.jsxs)("span",{className:"text-xs font-mono text-muted-foreground shrink-0",children:["#",h.specNumber.toString().padStart(3,"0")]}),(0,b.jsx)("span",{className:"truncate text-xs leading-relaxed",children:j})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5 flex-wrap",children:[h.status&&(0,b.jsxs)(x.Tooltip,{children:[(0,b.jsx)(x.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("div",{children:(0,b.jsx)(w.StatusBadge,{status:h.status,iconOnly:!0,className:"text-[10px] scale-90"})})}),(0,b.jsx)(x.TooltipContent,{side:"right",children:(0,w.getStatusLabel)(h.status)})]}),h.priority&&(0,b.jsxs)(x.Tooltip,{children:[(0,b.jsx)(x.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("div",{children:(0,b.jsx)(A.PriorityBadge,{priority:h.priority,iconOnly:!0,className:"text-[10px] scale-90"})})}),(0,b.jsx)(x.TooltipContent,{side:"right",children:(0,A.getPriorityLabel)(h.priority)})]}),"number"==typeof h.subSpecsCount&&h.subSpecsCount>0&&(0,b.jsxs)("span",{className:"text-[10px] text-muted-foreground",children:["+",h.subSpecsCount," files"]}),h.updatedAt&&(0,b.jsx)("span",{className:"text-[10px] text-muted-foreground",children:(0,B.formatRelativeTime)(h.updatedAt)})]})]})}),(0,b.jsx)(x.TooltipContent,{side:"right",className:"max-w-[300px]",children:(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("div",{className:"font-semibold",children:j}),(0,b.jsx)("div",{className:"text-xs text-muted-foreground",children:h.specName})]})})]})})})})},[Y,U,f,g]),$=c.useMemo(()=>600,[]),_=c.useMemo(()=>c.memo(n),[]);return(0,b.jsxs)(x.TooltipProvider,{delayDuration:700,children:[I&&(0,b.jsx)("div",{className:"fixed inset-0 bg-black/50 z-40 lg:hidden",onClick:()=>J(!1)}),(0,b.jsxs)("div",{className:"relative flex-shrink-0",children:[(0,b.jsxs)("aside",{className:(0,z.cn)("sticky top-14 h-[calc(100vh-3.5rem)] border-r border-border bg-background flex flex-col overflow-hidden transition-all duration-300","hidden lg:flex",K&&G?"lg:w-0 lg:border-r-0":"lg:w-[280px]",I&&"fixed left-0 top-14 z-50 flex w-[280px]"),children:[(0,b.jsxs)("div",{className:"p-4 border-b border-border",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,b.jsx)("h2",{className:"font-semibold text-sm",children:"Specifications"}),(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[(0,b.jsxs)(x.Tooltip,{children:[(0,b.jsx)(x.TooltipTrigger,{asChild:!0,children:(0,b.jsx)(v.Button,{variant:E||X?"default":"ghost",size:"sm",onClick:()=>F(!E),className:"h-6 w-6 p-0",children:(0,b.jsx)(t,{className:"h-4 w-4"})})}),(0,b.jsx)(x.TooltipContent,{side:"bottom",children:E?"Hide filters":"Show filters"})]}),(0,b.jsx)(v.Button,{variant:"ghost",size:"sm",onClick:()=>J(!1),className:"h-6 w-6 p-0 lg:hidden",children:(0,b.jsx)(r.X,{className:"h-4 w-4"})}),(0,b.jsx)(v.Button,{variant:"ghost",size:"sm",onClick:()=>H(!0),className:"h-6 w-6 p-0 hidden lg:flex lg:items-center lg:justify-center",children:(0,b.jsx)(p.ChevronLeft,{className:"h-4 w-4"})})]})]}),E&&(0,b.jsxs)("div",{className:"space-y-2 mb-3 pb-3 border-b border-border",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)("span",{className:"text-xs font-medium text-muted-foreground",children:"Filters"}),X&&(0,b.jsx)(v.Button,{variant:"ghost",size:"sm",onClick:()=>{k("all"),m("all"),D("all")},className:"h-5 text-xs px-2 py-0",children:"Clear"})]}),(0,b.jsxs)(y.Select,{value:j,onValueChange:k,children:[(0,b.jsx)(y.SelectTrigger,{className:"h-8 text-xs",children:(0,b.jsx)(y.SelectValue,{placeholder:"Status"})}),(0,b.jsxs)(y.SelectContent,{children:[(0,b.jsx)(y.SelectItem,{value:"all",children:"All Status"}),(0,b.jsx)(y.SelectItem,{value:"planned",children:"Planned"}),(0,b.jsx)(y.SelectItem,{value:"in-progress",children:"In Progress"}),(0,b.jsx)(y.SelectItem,{value:"complete",children:"Complete"}),(0,b.jsx)(y.SelectItem,{value:"archived",children:"Archived"})]})]}),(0,b.jsxs)(y.Select,{value:l,onValueChange:m,children:[(0,b.jsx)(y.SelectTrigger,{className:"h-8 text-xs",children:(0,b.jsx)(y.SelectValue,{placeholder:"Priority"})}),(0,b.jsxs)(y.SelectContent,{children:[(0,b.jsx)(y.SelectItem,{value:"all",children:"All Priority"}),(0,b.jsx)(y.SelectItem,{value:"low",children:"Low"}),(0,b.jsx)(y.SelectItem,{value:"medium",children:"Medium"}),(0,b.jsx)(y.SelectItem,{value:"high",children:"High"}),(0,b.jsx)(y.SelectItem,{value:"critical",children:"Critical"})]})]}),W.length>0&&(0,b.jsxs)(y.Select,{value:C,onValueChange:D,children:[(0,b.jsx)(y.SelectTrigger,{className:"h-8 text-xs",children:(0,b.jsx)(y.SelectValue,{placeholder:"Tag"})}),(0,b.jsxs)(y.SelectContent,{children:[(0,b.jsx)(y.SelectItem,{value:"all",children:"All Tags"}),W.map(a=>(0,b.jsx)(y.SelectItem,{value:a,children:a},a))]})]})]}),(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)(o.Search,{className:"absolute left-2 top-2.5 h-4 w-4 text-muted-foreground"}),(0,b.jsx)(u.Input,{placeholder:"Search specs...",value:h,onChange:a=>i(a.target.value),className:"pl-8 h-9 border-border"})]})]}),(0,b.jsx)("div",{className:"flex-1 overflow-hidden",children:0===Y.length?(0,b.jsx)("div",{className:"text-center py-8 text-sm text-muted-foreground",children:"No specs found"}):(0,b.jsx)(_,{listRef:Q,defaultHeight:$,rowCount:Y.length,rowHeight:72,overscanCount:5,rowComponent:Z,rowProps:{}})})]}),K&&G&&(0,b.jsx)(v.Button,{variant:"ghost",size:"sm",onClick:()=>H(!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,b.jsx)(q.ChevronRight,{className:"h-4 w-4"})}),(0,b.jsx)(v.Button,{onClick:()=>J(!0),size:"icon",className:"lg:hidden fixed bottom-6 left-6 h-12 w-12 rounded-full shadow-lg z-40 hover:scale-110 transition-transform","aria-label":"Show specifications list",children:(0,b.jsx)(s.List,{className:"h-5 w-5"})})]})]})}a.s(["SpecsNavSidebar",()=>Q],58285)}];
|
|
1
|
+
module.exports=[558285,90555,631868,a=>{"use strict";var b=a.i(40352),c=a.i(936883),d=a.i(920378);let e=c.useEffect;function f(a){if(void 0!==a)switch(typeof a){case"number":return a;case"string":if(a.endsWith("px"))return parseFloat(a)}}let g=null;function h({containerElement:a,direction:b,isRtl:c,scrollOffset:d}){if("horizontal"===b&&c)switch(function(a=!1){if(null===g||a){let a=document.createElement("div"),b=a.style;b.width="50px",b.height="50px",b.overflow="scroll",b.direction="rtl";let c=document.createElement("div"),d=c.style;return d.width="100px",d.height="100px",a.appendChild(c),document.body.appendChild(a),a.scrollLeft>0?g="positive-descending":(a.scrollLeft=1,g=0===a.scrollLeft?"negative":"positive-ascending"),document.body.removeChild(a),g}return g}()){case"negative":return-d;case"positive-descending":if(a){let{clientWidth:b,scrollLeft:c,scrollWidth:d}=a;return d-b-c}}return d}function i(a,b="Assertion error"){if(!a)throw console.error(b),Error(b)}function j(a,b){if(a===b)return!0;if(!!a!=!!b||(i(void 0!==a),i(void 0!==b),Object.keys(a).length!==Object.keys(b).length))return!1;for(let c in a)if(!Object.is(b[c],a[c]))return!1;return!0}function k({cachedBounds:a,itemCount:b,itemSize:c}){if(0===b)return 0;if("number"==typeof c)return b*c;{let c=a.get(0===a.size?0:a.size-1);return i(void 0!==c,"Unexpected bounds cache miss"),b*((c.scrollOffset+c.size)/a.size)}}function l({cachedBounds:a,containerScrollOffset:b,containerSize:c,itemCount:d,overscanCount:e}){let f=d-1,g=0,h=-1,i=0,j=-1,k=0;for(;k<f;){let c=a.get(k);if(c.scrollOffset+c.size>b)break;k++}for(i=Math.max(0,(g=k)-e);k<f;){let d=a.get(k);if(d.scrollOffset+d.size>=b+c)break;k++}return j=Math.min(d-1,(h=Math.min(f,k))+e),g<0&&(g=0,h=-1,i=0,j=-1),{startIndexVisible:g,stopIndexVisible:h,startIndexOverscan:i,stopIndexOverscan:j}}function m(a,b){let{ariaAttributes:c,style:d,...e}=a,{ariaAttributes:f,style:g,...h}=b;return j(c,f)&&j(d,g)&&j(e,h)}function n({children:a,className:d,defaultHeight:g=0,listRef:n,onResize:o,onRowsRendered:p,overscanCount:q=3,rowComponent:r,rowCount:s,rowHeight:t,rowProps:u,tagName:v="div",style:w,...x}){let y=(0,c.useMemo)(()=>u,Object.values(u)),z=(0,c.useMemo)(()=>(0,c.memo)(r,m),[r]),[A,B]=(0,c.useState)(null),C=null!=t&&"object"==typeof t&&"getAverageRowHeight"in t&&"function"==typeof t.getAverageRowHeight,{getCellBounds:D,getEstimatedSize:E,scrollToIndex:F,startIndexOverscan:G,startIndexVisible:H,stopIndexOverscan:I,stopIndexVisible:J}=function({containerElement:a,containerStyle:b,defaultContainerSize:d=0,direction:g,isRtl:m=!1,itemCount:n,itemProps:o,itemSize:p,onResize:q,overscanCount:r}){var s;let t,[u,v]=(0,c.useState)({startIndexVisible:0,startIndexOverscan:0,stopIndexVisible:-1,stopIndexOverscan:-1}),{startIndexVisible:w,startIndexOverscan:x,stopIndexVisible:y,stopIndexOverscan:z}={startIndexVisible:Math.min(n-1,u.startIndexVisible),startIndexOverscan:Math.min(n-1,u.startIndexOverscan),stopIndexVisible:Math.min(n-1,u.stopIndexVisible),stopIndexOverscan:Math.min(n-1,u.stopIndexOverscan)},{height:A=d,width:B=d}=function({box:a,defaultHeight:b,defaultWidth:d,disabled:g,element:h,mode:i,style:j}){let{styleHeight:k,styleWidth:l}=(0,c.useMemo)(()=>({styleHeight:f(j?.height),styleWidth:f(j?.width)}),[j?.height,j?.width]),[m,n]=(0,c.useState)({height:b,width:d}),o=g||"only-height"===i&&void 0!==k||"only-width"===i&&void 0!==l||void 0!==k&&void 0!==l;return e(()=>{if(null===h||o)return;let b=new ResizeObserver(a=>{for(let b of a){let{contentRect:a,target:c}=b;h===c&&n(b=>b.height===a.height&&b.width===a.width?b:{height:a.height,width:a.width})}});return b.observe(h,{box:a}),()=>{b?.unobserve(h)}},[a,o,h,k,l]),(0,c.useMemo)(()=>({height:k??m.height,width:l??m.width}),[m,k,l])}({defaultHeight:"vertical"===g?d:void 0,defaultWidth:"horizontal"===g?d:void 0,element:a,mode:"vertical"===g?"only-height":"only-width",style:b}),C=(0,c.useRef)({height:0,width:0}),D="vertical"===g?A:B,E=function({containerSize:a,itemSize:b}){let c;return"string"==typeof b?(i(b.endsWith("%"),`Invalid item size: "${b}"; string values must be percentages (e.g. "100%")`),i(void 0!==a,"Container size must be defined if a percentage item size is specified"),c=a*parseInt(b)/100):c=b,c}({containerSize:D,itemSize:p});(0,c.useLayoutEffect)(()=>{if("function"==typeof q){let a=C.current;(a.height!==A||a.width!==B)&&(q({height:A,width:B},{...a}),a.height=A,a.width=B)}},[A,q,B]);let F=function({itemCount:a,itemProps:b,itemSize:d}){return(0,c.useMemo)(()=>(function({itemCount:a,itemProps:b,itemSize:c}){let d=new Map;return{get(e){for(i(e<a,`Invalid index ${e}`);d.size-1<e;){let a,f=d.size;switch(typeof c){case"function":a=c(f,b);break;case"number":a=c}if(0===f)d.set(f,{size:a,scrollOffset:0});else{let b=d.get(f-1);i(void 0!==b,`Unexpected bounds cache miss for index ${e}`),d.set(f,{scrollOffset:b.scrollOffset+b.size,size:a})}}let f=d.get(e);return i(void 0!==f,`Unexpected bounds cache miss for index ${e}`),f},set(a,b){d.set(a,b)},get size(){return d.size}}})({itemCount:a,itemProps:b,itemSize:d}),[a,b,d])}({itemCount:n,itemProps:o,itemSize:E}),G=(0,c.useCallback)(a=>F.get(a),[F]),H=(0,c.useCallback)(()=>k({cachedBounds:F,itemCount:n,itemSize:E}),[F,n,E]),I=(0,c.useCallback)(b=>l({cachedBounds:F,containerScrollOffset:h({containerElement:a,direction:g,isRtl:m,scrollOffset:b}),containerSize:D,itemCount:n,overscanCount:r}),[F,a,D,g,m,n,r]);return e(()=>{v(I(("vertical"===g?a?.scrollTop:a?.scrollLeft)??0))},[a,g,I]),e(()=>{if(!a)return;let b=()=>{v(b=>{let{scrollLeft:c,scrollTop:d}=a,e=l({cachedBounds:F,containerScrollOffset:h({containerElement:a,direction:g,isRtl:m,scrollOffset:"vertical"===g?d:c}),containerSize:D,itemCount:n,overscanCount:r});return j(e,b)?b:e})};return a.addEventListener("scroll",b),()=>{a.removeEventListener("scroll",b)}},[F,a,D,g,n,r]),{getCellBounds:G,getEstimatedSize:H,scrollToIndex:(s=({align:b="auto",containerScrollOffset:c,index:d})=>{let e=function({align:a,cachedBounds:b,index:c,itemCount:d,itemSize:e,containerScrollOffset:f,containerSize:g}){if(c<0||c>=d)throw RangeError(`Invalid index specified: ${c}`,{cause:`Index ${c} is not within the range of 0 - ${d-1}`});let h=k({cachedBounds:b,itemCount:d,itemSize:e}),i=b.get(c),j=Math.max(0,Math.min(h-g,i.scrollOffset)),l=Math.max(0,i.scrollOffset-g+i.size);switch("smart"===a&&(a=f>=l&&f<=j?"auto":"center"),a){case"start":return j;case"end":return l;case"center":return i.scrollOffset<=g/2?0:i.scrollOffset+i.size/2>=h-g/2?h-g:i.scrollOffset+i.size/2-g/2;default:return f>=l&&f<=j?f:f<l?l:j}}({align:b,cachedBounds:F,containerScrollOffset:c,containerSize:D,index:d,itemCount:n,itemSize:E});if(a){if(e=h({containerElement:a,direction:g,isRtl:m,scrollOffset:e}),"function"!=typeof a.scrollTo){let a=I(e);j(u,a)||v(a)}return e}},t=(0,c.useRef)(()=>{throw Error("Cannot call during render.")}),e(()=>{t.current=s},[s]),(0,c.useCallback)(a=>t.current?.(a),[t])),startIndexOverscan:x,startIndexVisible:w,stopIndexOverscan:z,stopIndexVisible:y}}({containerElement:A,containerStyle:w,defaultContainerSize:g,direction:"vertical",itemCount:s,itemProps:y,itemSize:(0,c.useMemo)(()=>C?a=>t.getRowHeight(a)??t.getAverageRowHeight():t,[C,t]),onResize:o,overscanCount:q});(0,c.useImperativeHandle)(n,()=>({get element(){return A},scrollToRow({align:a="auto",behavior:b="auto",index:c}){let d=F({align:a,containerScrollOffset:A?.scrollTop??0,index:c});"function"==typeof A?.scrollTo&&A.scrollTo({behavior:b,top:d})}}),[A,F]),e(()=>{if(!A)return;let a=Array.from(A.children).filter((a,b)=>{if(a.hasAttribute("aria-hidden"))return!1;let c=`${G+b}`;return a.setAttribute("data-react-window-index",c),!0});if(C)return t.observeRowElements(a)},[A,C,t,G,I]),(0,c.useEffect)(()=>{G>=0&&I>=0&&p&&p({startIndex:H,stopIndex:J},{startIndex:G,stopIndex:I})},[p,G,H,I,J]);let K=(0,c.useMemo)(()=>{let a=[];if(s>0)for(let b=G;b<=I;b++){let d=D(b);a.push((0,c.createElement)(z,{...y,ariaAttributes:{"aria-posinset":b+1,"aria-setsize":s,role:"listitem"},key:b,index:b,style:{position:"absolute",left:0,transform:`translateY(${d.scrollOffset}px)`,height:C?void 0:d.size,width:"100%"}}))}return a},[z,D,C,s,y,G,I]),L=(0,b.jsx)("div",{"aria-hidden":!0,style:{height:E(),width:"100%",zIndex:-1}});return(0,c.createElement)(v,{role:"list",...x,className:d,ref:B,style:{position:"relative",maxHeight:"100%",flexGrow:1,overflowY:"auto",...w}},K,a,L)}c.useState,c.useRef,c.useState,c.useRef;var o=a.i(793090),p=a.i(629620),q=a.i(141270),r=a.i(914174);let s=(0,a.i(863535).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 t=a.i(406334),u=a.i(227725),v=a.i(882479),w=a.i(96151),x=a.i(915929),y=a.i(687052),z=a.i(322570),A=a.i(890075);let B={specs:[],signature:null,scrollTop:0,activeSpecId:null},C=[],D=new Set,E=new Set,F=new Set;function G(){for(let a of D)a()}function H(a){return D.add(a),()=>{D.delete(a)}}function I(){return B}function J(){return(0,c.useSyncExternalStore)(H,I,()=>B)}function K(){let a=c.useCallback(a=>(E.add(a),()=>{E.delete(a)}),[]);return(0,c.useSyncExternalStore)(a,()=>I().specs,()=>C)}function L(){let a=c.useCallback(a=>(F.add(a),()=>{F.delete(a)}),[]);return(0,c.useSyncExternalStore)(a,()=>I().activeSpecId,()=>null)}function M(a){if(0===a.length)return;let b=a.map(a=>[a.id,a.specNumber??"",a.title??"",a.status??"",a.priority??"",a.updatedAt?new Date(a.updatedAt).getTime():0].join(":")).join("|");if(b!==B.signature)for(let c of(B={...B,specs:a,signature:b},G(),E))c()}function N(a){if(B.activeSpecId!==a)for(let b of(B={...B,activeSpecId:a},G(),F))b()}a.s(["primeSpecsSidebar",()=>M,"setActiveSidebarSpec",()=>N,"useSpecsSidebarActiveSpec",()=>L,"useSpecsSidebarSpecs",()=>K,"useSpecsSidebarState",()=>J],90555);let O=c.useEffect;function P({initialSpecs:a=[],currentSpecId:e,currentSubSpec:f,onSpecHover:g}){let[h,i]=c.useState(""),[j,k]=c.useState("all"),[l,m]=c.useState("all"),[B,C]=c.useState("all"),[D,E]=c.useState(!1),[F,G]=c.useState(()=>!1),[H,I]=c.useState(!1),[J,M]=c.useState(!1),N=c.useRef(null);c.useRef(null),c.useRef(!1);let P=c.useRef(null);c.useRef(0),c.useRef(!1),c.useRef(!0);let Q=K(),R=L(),S=c.useMemo(()=>Q.length>0?Q:a,[Q,a]),T=e||R||"";c.useEffect(()=>{M(!0)},[]),c.useEffect(()=>{document.documentElement.style.setProperty("--specs-nav-sidebar-width",F?"0px":"280px"),localStorage.setItem("specs-nav-sidebar-collapsed",String(F))},[F]),c.useEffect(()=>{I(!1)},[T,f]);let U=c.useMemo(()=>{let a=S;if(h){let b=h.toLowerCase();a=a.filter(a=>a.title?.toLowerCase().includes(b)||a.specName.toLowerCase().includes(b)||a.specNumber?.toString().includes(b))}return"all"!==j&&(a=a.filter(a=>a.status===j)),"all"!==l&&(a=a.filter(a=>a.priority===l)),"all"!==B&&(a=a.filter(a=>a.tags?.includes(B))),console.debug(a),a},[S,h,j,l,B]),V=c.useMemo(()=>{let a=new Set;return S.forEach(b=>{b.tags?.forEach(b=>a.add(b))}),Array.from(a).sort()},[S]),W="all"!==j||"all"!==l||"all"!==B,X=c.useMemo(()=>[...U].sort((a,b)=>(b.specNumber||0)-(a.specNumber||0)),[U]);O(()=>{},[]),O(()=>{},[X,T]),c.useEffect(()=>{},[]);let Y=c.useCallback(a=>{let{index:c,style:e}=a,h=X[c],i=h.id===T,j=(h.contentMd?(0,y.extractH1Title)(h.contentMd):null)||h.title||h.specName;return(0,b.jsx)("div",{style:e,className:"px-1",children:(0,b.jsx)("div",{className:"mb-0.5",children:(0,b.jsx)("div",{className:"flex items-center gap-0.5",children:(0,b.jsxs)(w.Tooltip,{children:[(0,b.jsx)(w.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)(d.default,{ref:i&&!f?N:null,href:`/specs/${h.specNumber||h.id}`,onMouseEnter:()=>g?.(h.specNumber?.toString()||h.id),className:(0,y.cn)("w-full flex flex-col gap-1 p-1.5 rounded-md text-sm transition-colors",i?"bg-accent text-accent-foreground font-medium":"hover:bg-accent/50"),children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[h.specNumber&&(0,b.jsxs)("span",{className:"text-xs font-mono text-muted-foreground shrink-0",children:["#",h.specNumber.toString().padStart(3,"0")]}),(0,b.jsx)("span",{className:"truncate text-xs leading-relaxed",children:j})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5 flex-wrap",children:[h.status&&(0,b.jsxs)(w.Tooltip,{children:[(0,b.jsx)(w.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("div",{children:(0,b.jsx)(v.StatusBadge,{status:h.status,iconOnly:!0,className:"text-[10px] scale-90"})})}),(0,b.jsx)(w.TooltipContent,{side:"right",children:(0,v.getStatusLabel)(h.status)})]}),h.priority&&(0,b.jsxs)(w.Tooltip,{children:[(0,b.jsx)(w.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("div",{children:(0,b.jsx)(z.PriorityBadge,{priority:h.priority,iconOnly:!0,className:"text-[10px] scale-90"})})}),(0,b.jsx)(w.TooltipContent,{side:"right",children:(0,z.getPriorityLabel)(h.priority)})]}),"number"==typeof h.subSpecsCount&&h.subSpecsCount>0&&(0,b.jsxs)("span",{className:"text-[10px] text-muted-foreground",children:["+",h.subSpecsCount," files"]}),h.updatedAt&&(0,b.jsx)("span",{className:"text-[10px] text-muted-foreground",children:(0,A.formatRelativeTime)(h.updatedAt)})]})]})}),(0,b.jsx)(w.TooltipContent,{side:"right",className:"max-w-[300px]",children:(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("div",{className:"font-semibold",children:j}),(0,b.jsx)("div",{className:"text-xs text-muted-foreground",children:h.specName})]})})]})})})})},[X,T,f,g]),Z=c.useMemo(()=>600,[]),$=c.useMemo(()=>c.memo(n),[]);return(0,b.jsxs)(w.TooltipProvider,{delayDuration:700,children:[H&&(0,b.jsx)("div",{className:"fixed inset-0 bg-black/50 z-40 lg:hidden",onClick:()=>I(!1)}),(0,b.jsxs)("div",{className:"relative flex-shrink-0",children:[(0,b.jsxs)("aside",{className:(0,y.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)]",J&&F?"lg:w-0 lg:border-r-0":"lg:w-[280px]",H&&"fixed inset-y-0 left-0 z-[60] flex w-[280px]"),children:[(0,b.jsxs)("div",{className:"p-4 border-b border-border",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,b.jsx)("h2",{className:"font-semibold text-sm",children:"Specifications"}),(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[(0,b.jsxs)(w.Tooltip,{children:[(0,b.jsx)(w.TooltipTrigger,{asChild:!0,children:(0,b.jsx)(u.Button,{variant:D||W?"default":"ghost",size:"sm",onClick:()=>E(!D),className:"h-6 w-6 p-0",children:(0,b.jsx)(s,{className:"h-4 w-4"})})}),(0,b.jsx)(w.TooltipContent,{side:"bottom",children:D?"Hide filters":"Show filters"})]}),(0,b.jsx)(u.Button,{variant:"ghost",size:"sm",onClick:()=>I(!1),className:"h-6 w-6 p-0 lg:hidden",children:(0,b.jsx)(r.X,{className:"h-4 w-4"})}),(0,b.jsx)(u.Button,{variant:"ghost",size:"sm",onClick:()=>G(!0),className:"h-6 w-6 p-0 hidden lg:flex lg:items-center lg:justify-center",children:(0,b.jsx)(p.ChevronLeft,{className:"h-4 w-4"})})]})]}),D&&(0,b.jsxs)("div",{className:"space-y-2 mb-3 pb-3 border-b border-border",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)("span",{className:"text-xs font-medium text-muted-foreground",children:"Filters"}),W&&(0,b.jsx)(u.Button,{variant:"ghost",size:"sm",onClick:()=>{k("all"),m("all"),C("all")},className:"h-5 text-xs px-2 py-0",children:"Clear"})]}),(0,b.jsxs)(x.Select,{value:j,onValueChange:k,children:[(0,b.jsx)(x.SelectTrigger,{className:"h-8 text-xs",children:(0,b.jsx)(x.SelectValue,{placeholder:"Status"})}),(0,b.jsxs)(x.SelectContent,{children:[(0,b.jsx)(x.SelectItem,{value:"all",children:"All Status"}),(0,b.jsx)(x.SelectItem,{value:"planned",children:"Planned"}),(0,b.jsx)(x.SelectItem,{value:"in-progress",children:"In Progress"}),(0,b.jsx)(x.SelectItem,{value:"complete",children:"Complete"}),(0,b.jsx)(x.SelectItem,{value:"archived",children:"Archived"})]})]}),(0,b.jsxs)(x.Select,{value:l,onValueChange:m,children:[(0,b.jsx)(x.SelectTrigger,{className:"h-8 text-xs",children:(0,b.jsx)(x.SelectValue,{placeholder:"Priority"})}),(0,b.jsxs)(x.SelectContent,{children:[(0,b.jsx)(x.SelectItem,{value:"all",children:"All Priority"}),(0,b.jsx)(x.SelectItem,{value:"low",children:"Low"}),(0,b.jsx)(x.SelectItem,{value:"medium",children:"Medium"}),(0,b.jsx)(x.SelectItem,{value:"high",children:"High"}),(0,b.jsx)(x.SelectItem,{value:"critical",children:"Critical"})]})]}),V.length>0&&(0,b.jsxs)(x.Select,{value:B,onValueChange:C,children:[(0,b.jsx)(x.SelectTrigger,{className:"h-8 text-xs",children:(0,b.jsx)(x.SelectValue,{placeholder:"Tag"})}),(0,b.jsxs)(x.SelectContent,{children:[(0,b.jsx)(x.SelectItem,{value:"all",children:"All Tags"}),V.map(a=>(0,b.jsx)(x.SelectItem,{value:a,children:a},a))]})]})]}),(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)(o.Search,{className:"absolute left-2 top-2.5 h-4 w-4 text-muted-foreground"}),(0,b.jsx)(t.Input,{placeholder:"Search specs...",value:h,onChange:a=>i(a.target.value),className:"pl-8 h-9 border-border"})]})]}),(0,b.jsx)("div",{className:"flex-1 overflow-hidden",children:0===X.length?(0,b.jsx)("div",{className:"text-center py-8 text-sm text-muted-foreground",children:"No specs found"}):(0,b.jsx)($,{listRef:P,defaultHeight:Z,rowCount:X.length,rowHeight:72,overscanCount:5,rowComponent:Y,rowProps:{}})})]}),J&&F&&(0,b.jsx)(u.Button,{variant:"ghost",size:"sm",onClick:()=>G(!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,b.jsx)(q.ChevronRight,{className:"h-4 w-4"})})]})]})}function Q({className:a,...c}){return(0,b.jsx)("div",{className:(0,y.cn)("animate-pulse rounded-md bg-muted",a),...c})}a.s(["SpecsNavSidebar",()=>P],558285),a.s(["Skeleton",()=>Q],631868)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=packages_ui_src_components_specs-nav-sidebar_tsx_8237ed13._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[15929,90075,a=>{"use strict";var b=a.i(40352),c=a.i(36883),d=a.i(90073);function e(a,[b,c]){return Math.min(c,Math.max(b,a))}var f=a.i(59653),g=a.i(66965),h=a.i(17988),i=a.i(63375),j=a.i(53484),k=a.i(83644),l=a.i(41857),m=a.i(84228),n=a.i(99700),o=a.i(72311),p=a.i(7547),q=a.i(75655),r=a.i(78357),s=a.i(44293),t=a.i(17449),u=a.i(37276),v=a.i(41318),w=a.i(16164),x=a.i(51867),y=[" ","Enter","ArrowUp","ArrowDown"],z=[" ","Enter"],A="Select",[B,C,D]=(0,g.createCollection)(A),[E,F]=(0,i.createContextScope)(A,[D,o.createPopperScope]),G=(0,o.createPopperScope)(),[H,I]=E(A),[J,K]=E(A),L=a=>{let{__scopeSelect:d,children:e,open:f,defaultOpen:g,onOpenChange:h,value:i,defaultValue:k,onValueChange:l,dir:m,name:p,autoComplete:q,disabled:r,required:s,form:u}=a,v=G(d),[w,x]=c.useState(null),[y,z]=c.useState(null),[C,D]=c.useState(!1),E=(0,j.useDirection)(m),[F,I]=(0,t.useControllableState)({prop:f,defaultProp:g??!1,onChange:h,caller:A}),[K,L]=(0,t.useControllableState)({prop:i,defaultProp:k,onChange:l,caller:A}),M=c.useRef(null),N=!w||u||!!w.closest("form"),[O,P]=c.useState(new Set),Q=Array.from(O).map(a=>a.props.value).join(";");return(0,b.jsx)(o.Root,{...v,children:(0,b.jsxs)(H,{required:s,scope:d,trigger:w,onTriggerChange:x,valueNode:y,onValueNodeChange:z,valueNodeHasChildren:C,onValueNodeHasChildrenChange:D,contentId:(0,n.useId)(),value:K,onValueChange:L,open:F,onOpenChange:I,dir:E,triggerPointerDownPosRef:M,disabled:r,children:[(0,b.jsx)(B.Provider,{scope:d,children:(0,b.jsx)(J,{scope:a.__scopeSelect,onNativeOptionAdd:c.useCallback(a=>{P(b=>new Set(b).add(a))},[]),onNativeOptionRemove:c.useCallback(a=>{P(b=>{let c=new Set(b);return c.delete(a),c})},[]),children:e})}),N?(0,b.jsxs)(aw,{"aria-hidden":!0,required:s,tabIndex:-1,name:p,autoComplete:q,value:K,onChange:a=>L(a.target.value),disabled:r,form:u,children:[void 0===K?(0,b.jsx)("option",{value:""}):null,Array.from(O)]},Q):null]})})};L.displayName=A;var M="SelectTrigger",N=c.forwardRef((a,d)=>{let{__scopeSelect:e,disabled:g=!1,...i}=a,j=G(e),k=I(M,e),l=k.disabled||g,m=(0,h.useComposedRefs)(d,k.onTriggerChange),n=C(e),p=c.useRef("touch"),[r,s,t]=ay(a=>{let b=n().filter(a=>!a.disabled),c=b.find(a=>a.value===k.value),d=az(b,a,c);void 0!==d&&k.onValueChange(d.value)}),u=a=>{l||(k.onOpenChange(!0),t()),a&&(k.triggerPointerDownPosRef.current={x:Math.round(a.pageX),y:Math.round(a.pageY)})};return(0,b.jsx)(o.Anchor,{asChild:!0,...j,children:(0,b.jsx)(q.Primitive.button,{type:"button",role:"combobox","aria-controls":k.contentId,"aria-expanded":k.open,"aria-required":k.required,"aria-autocomplete":"none",dir:k.dir,"data-state":k.open?"open":"closed",disabled:l,"data-disabled":l?"":void 0,"data-placeholder":ax(k.value)?"":void 0,...i,ref:m,onClick:(0,f.composeEventHandlers)(i.onClick,a=>{a.currentTarget.focus(),"mouse"!==p.current&&u(a)}),onPointerDown:(0,f.composeEventHandlers)(i.onPointerDown,a=>{p.current=a.pointerType;let b=a.target;b.hasPointerCapture(a.pointerId)&&b.releasePointerCapture(a.pointerId),0===a.button&&!1===a.ctrlKey&&"mouse"===a.pointerType&&(u(a),a.preventDefault())}),onKeyDown:(0,f.composeEventHandlers)(i.onKeyDown,a=>{let b=""!==r.current;a.ctrlKey||a.altKey||a.metaKey||1!==a.key.length||s(a.key),(!b||" "!==a.key)&&y.includes(a.key)&&(u(),a.preventDefault())})})})});N.displayName=M;var O="SelectValue",P=c.forwardRef((a,c)=>{let{__scopeSelect:d,className:e,style:f,children:g,placeholder:i="",...j}=a,k=I(O,d),{onValueNodeHasChildrenChange:l}=k,m=void 0!==g,n=(0,h.useComposedRefs)(c,k.onValueNodeChange);return(0,u.useLayoutEffect)(()=>{l(m)},[l,m]),(0,b.jsx)(q.Primitive.span,{...j,ref:n,style:{pointerEvents:"none"},children:ax(k.value)?(0,b.jsx)(b.Fragment,{children:i}):g})});P.displayName=O;var Q=c.forwardRef((a,c)=>{let{__scopeSelect:d,children:e,...f}=a;return(0,b.jsx)(q.Primitive.span,{"aria-hidden":!0,...f,ref:c,children:e||"▼"})});Q.displayName="SelectIcon";var R=a=>(0,b.jsx)(p.Portal,{asChild:!0,...a});R.displayName="SelectPortal";var S="SelectContent",T=c.forwardRef((a,e)=>{let f=I(S,a.__scopeSelect),[g,h]=c.useState();return((0,u.useLayoutEffect)(()=>{h(new DocumentFragment)},[]),f.open)?(0,b.jsx)(X,{...a,ref:e}):g?d.createPortal((0,b.jsx)(U,{scope:a.__scopeSelect,children:(0,b.jsx)(B.Slot,{scope:a.__scopeSelect,children:(0,b.jsx)("div",{children:a.children})})}),g):null});T.displayName=S;var[U,V]=E(S),W=(0,r.createSlot)("SelectContent.RemoveScroll"),X=c.forwardRef((a,d)=>{let{__scopeSelect:e,position:g="item-aligned",onCloseAutoFocus:i,onEscapeKeyDown:j,onPointerDownOutside:n,side:o,sideOffset:p,align:q,alignOffset:r,arrowPadding:s,collisionBoundary:t,collisionPadding:u,sticky:v,hideWhenDetached:y,avoidCollisions:z,...A}=a,B=I(S,e),[D,E]=c.useState(null),[F,G]=c.useState(null),H=(0,h.useComposedRefs)(d,a=>E(a)),[J,K]=c.useState(null),[L,M]=c.useState(null),N=C(e),[O,P]=c.useState(!1),Q=c.useRef(!1);c.useEffect(()=>{if(D)return(0,w.hideOthers)(D)},[D]),(0,l.useFocusGuards)();let R=c.useCallback(a=>{let[b,...c]=N().map(a=>a.ref.current),[d]=c.slice(-1),e=document.activeElement;for(let c of a)if(c===e||(c?.scrollIntoView({block:"nearest"}),c===b&&F&&(F.scrollTop=0),c===d&&F&&(F.scrollTop=F.scrollHeight),c?.focus(),document.activeElement!==e))return},[N,F]),T=c.useCallback(()=>R([J,D]),[R,J,D]);c.useEffect(()=>{O&&T()},[O,T]);let{onOpenChange:V,triggerPointerDownPosRef:X}=B;c.useEffect(()=>{if(D){let a={x:0,y:0},b=b=>{a={x:Math.abs(Math.round(b.pageX)-(X.current?.x??0)),y:Math.abs(Math.round(b.pageY)-(X.current?.y??0))}},c=c=>{a.x<=10&&a.y<=10?c.preventDefault():D.contains(c.target)||V(!1),document.removeEventListener("pointermove",b),X.current=null};return null!==X.current&&(document.addEventListener("pointermove",b),document.addEventListener("pointerup",c,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",b),document.removeEventListener("pointerup",c,{capture:!0})}}},[D,V,X]),c.useEffect(()=>{let a=()=>V(!1);return window.addEventListener("blur",a),window.addEventListener("resize",a),()=>{window.removeEventListener("blur",a),window.removeEventListener("resize",a)}},[V]);let[$,_]=ay(a=>{let b=N().filter(a=>!a.disabled),c=b.find(a=>a.ref.current===document.activeElement),d=az(b,a,c);d&&setTimeout(()=>d.ref.current.focus())}),aa=c.useCallback((a,b,c)=>{let d=!Q.current&&!c;(void 0!==B.value&&B.value===b||d)&&(K(a),d&&(Q.current=!0))},[B.value]),ab=c.useCallback(()=>D?.focus(),[D]),ac=c.useCallback((a,b,c)=>{let d=!Q.current&&!c;(void 0!==B.value&&B.value===b||d)&&M(a)},[B.value]),ad="popper"===g?Z:Y,ae=ad===Z?{side:o,sideOffset:p,align:q,alignOffset:r,arrowPadding:s,collisionBoundary:t,collisionPadding:u,sticky:v,hideWhenDetached:y,avoidCollisions:z}:{};return(0,b.jsx)(U,{scope:e,content:D,viewport:F,onViewportChange:G,itemRefCallback:aa,selectedItem:J,onItemLeave:ab,itemTextRefCallback:ac,focusSelectedItem:T,selectedItemText:L,position:g,isPositioned:O,searchRef:$,children:(0,b.jsx)(x.RemoveScroll,{as:W,allowPinchZoom:!0,children:(0,b.jsx)(m.FocusScope,{asChild:!0,trapped:B.open,onMountAutoFocus:a=>{a.preventDefault()},onUnmountAutoFocus:(0,f.composeEventHandlers)(i,a=>{B.trigger?.focus({preventScroll:!0}),a.preventDefault()}),children:(0,b.jsx)(k.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:j,onPointerDownOutside:n,onFocusOutside:a=>a.preventDefault(),onDismiss:()=>B.onOpenChange(!1),children:(0,b.jsx)(ad,{role:"listbox",id:B.contentId,"data-state":B.open?"open":"closed",dir:B.dir,onContextMenu:a=>a.preventDefault(),...A,...ae,onPlaced:()=>P(!0),ref:H,style:{display:"flex",flexDirection:"column",outline:"none",...A.style},onKeyDown:(0,f.composeEventHandlers)(A.onKeyDown,a=>{let b=a.ctrlKey||a.altKey||a.metaKey;if("Tab"===a.key&&a.preventDefault(),b||1!==a.key.length||_(a.key),["ArrowUp","ArrowDown","Home","End"].includes(a.key)){let b=N().filter(a=>!a.disabled).map(a=>a.ref.current);if(["ArrowUp","End"].includes(a.key)&&(b=b.slice().reverse()),["ArrowUp","ArrowDown"].includes(a.key)){let c=a.target,d=b.indexOf(c);b=b.slice(d+1)}setTimeout(()=>R(b)),a.preventDefault()}})})})})})})});X.displayName="SelectContentImpl";var Y=c.forwardRef((a,d)=>{let{__scopeSelect:f,onPlaced:g,...i}=a,j=I(S,f),k=V(S,f),[l,m]=c.useState(null),[n,o]=c.useState(null),p=(0,h.useComposedRefs)(d,a=>o(a)),r=C(f),s=c.useRef(!1),t=c.useRef(!0),{viewport:v,selectedItem:w,selectedItemText:x,focusSelectedItem:y}=k,z=c.useCallback(()=>{if(j.trigger&&j.valueNode&&l&&n&&v&&w&&x){let a=j.trigger.getBoundingClientRect(),b=n.getBoundingClientRect(),c=j.valueNode.getBoundingClientRect(),d=x.getBoundingClientRect();if("rtl"!==j.dir){let f=d.left-b.left,g=c.left-f,h=a.left-g,i=a.width+h,j=Math.max(i,b.width),k=e(g,[10,Math.max(10,window.innerWidth-10-j)]);l.style.minWidth=i+"px",l.style.left=k+"px"}else{let f=b.right-d.right,g=window.innerWidth-c.right-f,h=window.innerWidth-a.right-g,i=a.width+h,j=Math.max(i,b.width),k=e(g,[10,Math.max(10,window.innerWidth-10-j)]);l.style.minWidth=i+"px",l.style.right=k+"px"}let f=r(),h=window.innerHeight-20,i=v.scrollHeight,k=window.getComputedStyle(n),m=parseInt(k.borderTopWidth,10),o=parseInt(k.paddingTop,10),p=parseInt(k.borderBottomWidth,10),q=m+o+i+parseInt(k.paddingBottom,10)+p,t=Math.min(5*w.offsetHeight,q),u=window.getComputedStyle(v),y=parseInt(u.paddingTop,10),z=parseInt(u.paddingBottom,10),A=a.top+a.height/2-10,B=w.offsetHeight/2,C=m+o+(w.offsetTop+B);if(C<=A){let a=f.length>0&&w===f[f.length-1].ref.current;l.style.bottom="0px";let b=Math.max(h-A,B+(a?z:0)+(n.clientHeight-v.offsetTop-v.offsetHeight)+p);l.style.height=C+b+"px"}else{let a=f.length>0&&w===f[0].ref.current;l.style.top="0px";let b=Math.max(A,m+v.offsetTop+(a?y:0)+B);l.style.height=b+(q-C)+"px",v.scrollTop=C-A+v.offsetTop}l.style.margin="10px 0",l.style.minHeight=t+"px",l.style.maxHeight=h+"px",g?.(),requestAnimationFrame(()=>s.current=!0)}},[r,j.trigger,j.valueNode,l,n,v,w,x,j.dir,g]);(0,u.useLayoutEffect)(()=>z(),[z]);let[A,B]=c.useState();(0,u.useLayoutEffect)(()=>{n&&B(window.getComputedStyle(n).zIndex)},[n]);let D=c.useCallback(a=>{a&&!0===t.current&&(z(),y?.(),t.current=!1)},[z,y]);return(0,b.jsx)($,{scope:f,contentWrapper:l,shouldExpandOnScrollRef:s,onScrollButtonChange:D,children:(0,b.jsx)("div",{ref:m,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:A},children:(0,b.jsx)(q.Primitive.div,{...i,ref:p,style:{boxSizing:"border-box",maxHeight:"100%",...i.style}})})})});Y.displayName="SelectItemAlignedPosition";var Z=c.forwardRef((a,c)=>{let{__scopeSelect:d,align:e="start",collisionPadding:f=10,...g}=a,h=G(d);return(0,b.jsx)(o.Content,{...h,...g,ref:c,align:e,collisionPadding:f,style:{boxSizing:"border-box",...g.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});Z.displayName="SelectPopperPosition";var[$,_]=E(S,{}),aa="SelectViewport",ab=c.forwardRef((a,d)=>{let{__scopeSelect:e,nonce:g,...i}=a,j=V(aa,e),k=_(aa,e),l=(0,h.useComposedRefs)(d,j.onViewportChange),m=c.useRef(0);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:g}),(0,b.jsx)(B.Slot,{scope:e,children:(0,b.jsx)(q.Primitive.div,{"data-radix-select-viewport":"",role:"presentation",...i,ref:l,style:{position:"relative",flex:1,overflow:"hidden auto",...i.style},onScroll:(0,f.composeEventHandlers)(i.onScroll,a=>{let b=a.currentTarget,{contentWrapper:c,shouldExpandOnScrollRef:d}=k;if(d?.current&&c){let a=Math.abs(m.current-b.scrollTop);if(a>0){let d=window.innerHeight-20,e=Math.max(parseFloat(c.style.minHeight),parseFloat(c.style.height));if(e<d){let f=e+a,g=Math.min(d,f),h=f-g;c.style.height=g+"px","0px"===c.style.bottom&&(b.scrollTop=h>0?h:0,c.style.justifyContent="flex-end")}}}m.current=b.scrollTop})})})]})});ab.displayName=aa;var ac="SelectGroup",[ad,ae]=E(ac);c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a,f=(0,n.useId)();return(0,b.jsx)(ad,{scope:d,id:f,children:(0,b.jsx)(q.Primitive.div,{role:"group","aria-labelledby":f,...e,ref:c})})}).displayName=ac;var af="SelectLabel",ag=c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a,f=ae(af,d);return(0,b.jsx)(q.Primitive.div,{id:f.id,...e,ref:c})});ag.displayName=af;var ah="SelectItem",[ai,aj]=E(ah),ak=c.forwardRef((a,d)=>{let{__scopeSelect:e,value:g,disabled:i=!1,textValue:j,...k}=a,l=I(ah,e),m=V(ah,e),o=l.value===g,[p,r]=c.useState(j??""),[s,t]=c.useState(!1),u=(0,h.useComposedRefs)(d,a=>m.itemRefCallback?.(a,g,i)),v=(0,n.useId)(),w=c.useRef("touch"),x=()=>{i||(l.onValueChange(g),l.onOpenChange(!1))};if(""===g)throw Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return(0,b.jsx)(ai,{scope:e,value:g,disabled:i,textId:v,isSelected:o,onItemTextChange:c.useCallback(a=>{r(b=>b||(a?.textContent??"").trim())},[]),children:(0,b.jsx)(B.ItemSlot,{scope:e,value:g,disabled:i,textValue:p,children:(0,b.jsx)(q.Primitive.div,{role:"option","aria-labelledby":v,"data-highlighted":s?"":void 0,"aria-selected":o&&s,"data-state":o?"checked":"unchecked","aria-disabled":i||void 0,"data-disabled":i?"":void 0,tabIndex:i?void 0:-1,...k,ref:u,onFocus:(0,f.composeEventHandlers)(k.onFocus,()=>t(!0)),onBlur:(0,f.composeEventHandlers)(k.onBlur,()=>t(!1)),onClick:(0,f.composeEventHandlers)(k.onClick,()=>{"mouse"!==w.current&&x()}),onPointerUp:(0,f.composeEventHandlers)(k.onPointerUp,()=>{"mouse"===w.current&&x()}),onPointerDown:(0,f.composeEventHandlers)(k.onPointerDown,a=>{w.current=a.pointerType}),onPointerMove:(0,f.composeEventHandlers)(k.onPointerMove,a=>{w.current=a.pointerType,i?m.onItemLeave?.():"mouse"===w.current&&a.currentTarget.focus({preventScroll:!0})}),onPointerLeave:(0,f.composeEventHandlers)(k.onPointerLeave,a=>{a.currentTarget===document.activeElement&&m.onItemLeave?.()}),onKeyDown:(0,f.composeEventHandlers)(k.onKeyDown,a=>{(m.searchRef?.current===""||" "!==a.key)&&(z.includes(a.key)&&x()," "===a.key&&a.preventDefault())})})})})});ak.displayName=ah;var al="SelectItemText",am=c.forwardRef((a,e)=>{let{__scopeSelect:f,className:g,style:i,...j}=a,k=I(al,f),l=V(al,f),m=aj(al,f),n=K(al,f),[o,p]=c.useState(null),r=(0,h.useComposedRefs)(e,a=>p(a),m.onItemTextChange,a=>l.itemTextRefCallback?.(a,m.value,m.disabled)),s=o?.textContent,t=c.useMemo(()=>(0,b.jsx)("option",{value:m.value,disabled:m.disabled,children:s},m.value),[m.disabled,m.value,s]),{onNativeOptionAdd:v,onNativeOptionRemove:w}=n;return(0,u.useLayoutEffect)(()=>(v(t),()=>w(t)),[v,w,t]),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(q.Primitive.span,{id:m.textId,...j,ref:r}),m.isSelected&&k.valueNode&&!k.valueNodeHasChildren?d.createPortal(j.children,k.valueNode):null]})});am.displayName=al;var an="SelectItemIndicator",ao=c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a;return aj(an,d).isSelected?(0,b.jsx)(q.Primitive.span,{"aria-hidden":!0,...e,ref:c}):null});ao.displayName=an;var ap="SelectScrollUpButton",aq=c.forwardRef((a,d)=>{let e=V(ap,a.__scopeSelect),f=_(ap,a.__scopeSelect),[g,i]=c.useState(!1),j=(0,h.useComposedRefs)(d,f.onScrollButtonChange);return(0,u.useLayoutEffect)(()=>{if(e.viewport&&e.isPositioned){let a=function(){i(b.scrollTop>0)},b=e.viewport;return a(),b.addEventListener("scroll",a),()=>b.removeEventListener("scroll",a)}},[e.viewport,e.isPositioned]),g?(0,b.jsx)(at,{...a,ref:j,onAutoScroll:()=>{let{viewport:a,selectedItem:b}=e;a&&b&&(a.scrollTop=a.scrollTop-b.offsetHeight)}}):null});aq.displayName=ap;var ar="SelectScrollDownButton",as=c.forwardRef((a,d)=>{let e=V(ar,a.__scopeSelect),f=_(ar,a.__scopeSelect),[g,i]=c.useState(!1),j=(0,h.useComposedRefs)(d,f.onScrollButtonChange);return(0,u.useLayoutEffect)(()=>{if(e.viewport&&e.isPositioned){let a=function(){let a=b.scrollHeight-b.clientHeight;i(Math.ceil(b.scrollTop)<a)},b=e.viewport;return a(),b.addEventListener("scroll",a),()=>b.removeEventListener("scroll",a)}},[e.viewport,e.isPositioned]),g?(0,b.jsx)(at,{...a,ref:j,onAutoScroll:()=>{let{viewport:a,selectedItem:b}=e;a&&b&&(a.scrollTop=a.scrollTop+b.offsetHeight)}}):null});as.displayName=ar;var at=c.forwardRef((a,d)=>{let{__scopeSelect:e,onAutoScroll:g,...h}=a,i=V("SelectScrollButton",e),j=c.useRef(null),k=C(e),l=c.useCallback(()=>{null!==j.current&&(window.clearInterval(j.current),j.current=null)},[]);return c.useEffect(()=>()=>l(),[l]),(0,u.useLayoutEffect)(()=>{let a=k().find(a=>a.ref.current===document.activeElement);a?.ref.current?.scrollIntoView({block:"nearest"})},[k]),(0,b.jsx)(q.Primitive.div,{"aria-hidden":!0,...h,ref:d,style:{flexShrink:0,...h.style},onPointerDown:(0,f.composeEventHandlers)(h.onPointerDown,()=>{null===j.current&&(j.current=window.setInterval(g,50))}),onPointerMove:(0,f.composeEventHandlers)(h.onPointerMove,()=>{i.onItemLeave?.(),null===j.current&&(j.current=window.setInterval(g,50))}),onPointerLeave:(0,f.composeEventHandlers)(h.onPointerLeave,()=>{l()})})}),au=c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a;return(0,b.jsx)(q.Primitive.div,{"aria-hidden":!0,...e,ref:c})});au.displayName="SelectSeparator";var av="SelectArrow";c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a,f=G(d),g=I(av,d),h=V(av,d);return g.open&&"popper"===h.position?(0,b.jsx)(o.Arrow,{...f,...e,ref:c}):null}).displayName=av;var aw=c.forwardRef(({__scopeSelect:a,value:d,...e},f)=>{let g,i=c.useRef(null),j=(0,h.useComposedRefs)(f,i),k=(g=c.useRef({value:d,previous:d}),c.useMemo(()=>(g.current.value!==d&&(g.current.previous=g.current.value,g.current.value=d),g.current.previous),[d]));return c.useEffect(()=>{let a=i.current;if(!a)return;let b=Object.getOwnPropertyDescriptor(window.HTMLSelectElement.prototype,"value").set;if(k!==d&&b){let c=new Event("change",{bubbles:!0});b.call(a,d),a.dispatchEvent(c)}},[k,d]),(0,b.jsx)(q.Primitive.select,{...e,style:{...v.VISUALLY_HIDDEN_STYLES,...e.style},ref:j,defaultValue:d})});function ax(a){return""===a||void 0===a}function ay(a){let b=(0,s.useCallbackRef)(a),d=c.useRef(""),e=c.useRef(0),f=c.useCallback(a=>{let c=d.current+a;b(c),function a(b){d.current=b,window.clearTimeout(e.current),""!==b&&(e.current=window.setTimeout(()=>a(""),1e3))}(c)},[b]),g=c.useCallback(()=>{d.current="",window.clearTimeout(e.current)},[]);return c.useEffect(()=>()=>window.clearTimeout(e.current),[]),[d,f,g]}function az(a,b,c){var d,e;let f=b.length>1&&Array.from(b).every(a=>a===b[0])?b[0]:b,g=c?a.indexOf(c):-1,h=(d=a,e=Math.max(g,0),d.map((a,b)=>d[(e+b)%d.length]));1===f.length&&(h=h.filter(a=>a!==c));let i=h.find(a=>a.textValue.toLowerCase().startsWith(f.toLowerCase()));return i!==c?i:void 0}aw.displayName="SelectBubbleInput";var aA=a.i(70485),aB=a.i(63535);let aC=(0,aB.default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]),aD=(0,aB.default)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);var aE=a.i(87052);let aF=c.forwardRef(({className:a,children:c,...d},e)=>(0,b.jsxs)(N,{ref:e,className:(0,aE.cn)("flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-gray-300 dark:border-gray-700 bg-background px-3 py-2 text-sm shadow-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",a),...d,children:[c,(0,b.jsx)(Q,{asChild:!0,children:(0,b.jsx)(aC,{className:"h-4 w-4 opacity-50"})})]}));aF.displayName=N.displayName;let aG=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(aq,{ref:d,className:(0,aE.cn)("flex cursor-default items-center justify-center py-1",a),...c,children:(0,b.jsx)(aD,{className:"h-4 w-4"})}));aG.displayName=aq.displayName;let aH=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(as,{ref:d,className:(0,aE.cn)("flex cursor-default items-center justify-center py-1",a),...c,children:(0,b.jsx)(aC,{className:"h-4 w-4"})}));aH.displayName=as.displayName;let aI=c.forwardRef(({className:a,children:c,position:d="popper",...e},f)=>(0,b.jsx)(R,{children:(0,b.jsxs)(T,{ref:f,className:(0,aE.cn)("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border border-gray-200 dark:border-gray-800 bg-background 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","popper"===d&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",a),position:d,...e,children:[(0,b.jsx)(aG,{}),(0,b.jsx)(ab,{className:(0,aE.cn)("p-1","popper"===d&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:c}),(0,b.jsx)(aH,{})]})}));aI.displayName=T.displayName,c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(ag,{ref:d,className:(0,aE.cn)("px-2 py-1.5 text-sm font-semibold",a),...c})).displayName=ag.displayName;let aJ=c.forwardRef(({className:a,children:c,...d},e)=>(0,b.jsxs)(ak,{ref:e,className:(0,aE.cn)("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),...d,children:[(0,b.jsx)("span",{className:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,b.jsx)(ao,{children:(0,b.jsx)(aA.Check,{className:"h-4 w-4"})})}),(0,b.jsx)(am,{children:c})]}));aJ.displayName=ak.displayName,c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(au,{ref:d,className:(0,aE.cn)("-mx-1 my-1 h-px bg-muted",a),...c})).displayName=au.displayName,a.s(["Select",()=>L,"SelectContent",()=>aI,"SelectItem",()=>aJ,"SelectTrigger",()=>aF,"SelectValue",()=>P],15929);var aK=a.i(35133),aL=a.i(79121);function aM(a){return a?(0,aK.default)(a).fromNow():"Unknown"}function aN(a,b){if(!a||!b)return"";let c=(0,aK.default)(a),d=(0,aK.default)(b).diff(c);if(d<0)return"";let e=Math.floor(d/864e5),f=Math.floor(d%864e5/36e5);if(0===e&&0===f){let a=Math.floor(d%36e5/6e4);return 0===a?"< 1m":`${a}m`}if(0===e)return`${f}h`;if(e<30)return f>0?`${e}d ${f}h`:`${e}d`;let g=Math.floor(e/30),h=e%30;if(g<12)return h>0?`${g}mo ${h}d`:`${g}mo`;let i=Math.floor(g/12),j=g%12;return j>0?`${i}y ${j}mo`:`${i}y`}aK.default.extend(aL.default),a.s(["formatDuration",()=>aN,"formatRelativeTime",()=>aM],90075)}];
|
|
1
|
+
module.exports=[915929,633093,890075,a=>{"use strict";var b=a.i(40352),c=a.i(936883),d=a.i(190073);function e(a,[b,c]){return Math.min(c,Math.max(b,a))}var f=a.i(559653),g=a.i(466965),h=a.i(517988),i=a.i(763375),j=a.i(553484),k=a.i(983644),l=a.i(241857),m=a.i(84228),n=a.i(699700),o=a.i(272311),p=a.i(407547),q=a.i(675655),r=a.i(878357),s=a.i(244293),t=a.i(317449),u=a.i(37276),v=a.i(841318),w=a.i(516164),x=a.i(151867),y=[" ","Enter","ArrowUp","ArrowDown"],z=[" ","Enter"],A="Select",[B,C,D]=(0,g.createCollection)(A),[E,F]=(0,i.createContextScope)(A,[D,o.createPopperScope]),G=(0,o.createPopperScope)(),[H,I]=E(A),[J,K]=E(A),L=a=>{let{__scopeSelect:d,children:e,open:f,defaultOpen:g,onOpenChange:h,value:i,defaultValue:k,onValueChange:l,dir:m,name:p,autoComplete:q,disabled:r,required:s,form:u}=a,v=G(d),[w,x]=c.useState(null),[y,z]=c.useState(null),[C,D]=c.useState(!1),E=(0,j.useDirection)(m),[F,I]=(0,t.useControllableState)({prop:f,defaultProp:g??!1,onChange:h,caller:A}),[K,L]=(0,t.useControllableState)({prop:i,defaultProp:k,onChange:l,caller:A}),M=c.useRef(null),N=!w||u||!!w.closest("form"),[O,P]=c.useState(new Set),Q=Array.from(O).map(a=>a.props.value).join(";");return(0,b.jsx)(o.Root,{...v,children:(0,b.jsxs)(H,{required:s,scope:d,trigger:w,onTriggerChange:x,valueNode:y,onValueNodeChange:z,valueNodeHasChildren:C,onValueNodeHasChildrenChange:D,contentId:(0,n.useId)(),value:K,onValueChange:L,open:F,onOpenChange:I,dir:E,triggerPointerDownPosRef:M,disabled:r,children:[(0,b.jsx)(B.Provider,{scope:d,children:(0,b.jsx)(J,{scope:a.__scopeSelect,onNativeOptionAdd:c.useCallback(a=>{P(b=>new Set(b).add(a))},[]),onNativeOptionRemove:c.useCallback(a=>{P(b=>{let c=new Set(b);return c.delete(a),c})},[]),children:e})}),N?(0,b.jsxs)(aw,{"aria-hidden":!0,required:s,tabIndex:-1,name:p,autoComplete:q,value:K,onChange:a=>L(a.target.value),disabled:r,form:u,children:[void 0===K?(0,b.jsx)("option",{value:""}):null,Array.from(O)]},Q):null]})})};L.displayName=A;var M="SelectTrigger",N=c.forwardRef((a,d)=>{let{__scopeSelect:e,disabled:g=!1,...i}=a,j=G(e),k=I(M,e),l=k.disabled||g,m=(0,h.useComposedRefs)(d,k.onTriggerChange),n=C(e),p=c.useRef("touch"),[r,s,t]=ay(a=>{let b=n().filter(a=>!a.disabled),c=b.find(a=>a.value===k.value),d=az(b,a,c);void 0!==d&&k.onValueChange(d.value)}),u=a=>{l||(k.onOpenChange(!0),t()),a&&(k.triggerPointerDownPosRef.current={x:Math.round(a.pageX),y:Math.round(a.pageY)})};return(0,b.jsx)(o.Anchor,{asChild:!0,...j,children:(0,b.jsx)(q.Primitive.button,{type:"button",role:"combobox","aria-controls":k.contentId,"aria-expanded":k.open,"aria-required":k.required,"aria-autocomplete":"none",dir:k.dir,"data-state":k.open?"open":"closed",disabled:l,"data-disabled":l?"":void 0,"data-placeholder":ax(k.value)?"":void 0,...i,ref:m,onClick:(0,f.composeEventHandlers)(i.onClick,a=>{a.currentTarget.focus(),"mouse"!==p.current&&u(a)}),onPointerDown:(0,f.composeEventHandlers)(i.onPointerDown,a=>{p.current=a.pointerType;let b=a.target;b.hasPointerCapture(a.pointerId)&&b.releasePointerCapture(a.pointerId),0===a.button&&!1===a.ctrlKey&&"mouse"===a.pointerType&&(u(a),a.preventDefault())}),onKeyDown:(0,f.composeEventHandlers)(i.onKeyDown,a=>{let b=""!==r.current;a.ctrlKey||a.altKey||a.metaKey||1!==a.key.length||s(a.key),(!b||" "!==a.key)&&y.includes(a.key)&&(u(),a.preventDefault())})})})});N.displayName=M;var O="SelectValue",P=c.forwardRef((a,c)=>{let{__scopeSelect:d,className:e,style:f,children:g,placeholder:i="",...j}=a,k=I(O,d),{onValueNodeHasChildrenChange:l}=k,m=void 0!==g,n=(0,h.useComposedRefs)(c,k.onValueNodeChange);return(0,u.useLayoutEffect)(()=>{l(m)},[l,m]),(0,b.jsx)(q.Primitive.span,{...j,ref:n,style:{pointerEvents:"none"},children:ax(k.value)?(0,b.jsx)(b.Fragment,{children:i}):g})});P.displayName=O;var Q=c.forwardRef((a,c)=>{let{__scopeSelect:d,children:e,...f}=a;return(0,b.jsx)(q.Primitive.span,{"aria-hidden":!0,...f,ref:c,children:e||"▼"})});Q.displayName="SelectIcon";var R=a=>(0,b.jsx)(p.Portal,{asChild:!0,...a});R.displayName="SelectPortal";var S="SelectContent",T=c.forwardRef((a,e)=>{let f=I(S,a.__scopeSelect),[g,h]=c.useState();return((0,u.useLayoutEffect)(()=>{h(new DocumentFragment)},[]),f.open)?(0,b.jsx)(X,{...a,ref:e}):g?d.createPortal((0,b.jsx)(U,{scope:a.__scopeSelect,children:(0,b.jsx)(B.Slot,{scope:a.__scopeSelect,children:(0,b.jsx)("div",{children:a.children})})}),g):null});T.displayName=S;var[U,V]=E(S),W=(0,r.createSlot)("SelectContent.RemoveScroll"),X=c.forwardRef((a,d)=>{let{__scopeSelect:e,position:g="item-aligned",onCloseAutoFocus:i,onEscapeKeyDown:j,onPointerDownOutside:n,side:o,sideOffset:p,align:q,alignOffset:r,arrowPadding:s,collisionBoundary:t,collisionPadding:u,sticky:v,hideWhenDetached:y,avoidCollisions:z,...A}=a,B=I(S,e),[D,E]=c.useState(null),[F,G]=c.useState(null),H=(0,h.useComposedRefs)(d,a=>E(a)),[J,K]=c.useState(null),[L,M]=c.useState(null),N=C(e),[O,P]=c.useState(!1),Q=c.useRef(!1);c.useEffect(()=>{if(D)return(0,w.hideOthers)(D)},[D]),(0,l.useFocusGuards)();let R=c.useCallback(a=>{let[b,...c]=N().map(a=>a.ref.current),[d]=c.slice(-1),e=document.activeElement;for(let c of a)if(c===e||(c?.scrollIntoView({block:"nearest"}),c===b&&F&&(F.scrollTop=0),c===d&&F&&(F.scrollTop=F.scrollHeight),c?.focus(),document.activeElement!==e))return},[N,F]),T=c.useCallback(()=>R([J,D]),[R,J,D]);c.useEffect(()=>{O&&T()},[O,T]);let{onOpenChange:V,triggerPointerDownPosRef:X}=B;c.useEffect(()=>{if(D){let a={x:0,y:0},b=b=>{a={x:Math.abs(Math.round(b.pageX)-(X.current?.x??0)),y:Math.abs(Math.round(b.pageY)-(X.current?.y??0))}},c=c=>{a.x<=10&&a.y<=10?c.preventDefault():D.contains(c.target)||V(!1),document.removeEventListener("pointermove",b),X.current=null};return null!==X.current&&(document.addEventListener("pointermove",b),document.addEventListener("pointerup",c,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",b),document.removeEventListener("pointerup",c,{capture:!0})}}},[D,V,X]),c.useEffect(()=>{let a=()=>V(!1);return window.addEventListener("blur",a),window.addEventListener("resize",a),()=>{window.removeEventListener("blur",a),window.removeEventListener("resize",a)}},[V]);let[$,_]=ay(a=>{let b=N().filter(a=>!a.disabled),c=b.find(a=>a.ref.current===document.activeElement),d=az(b,a,c);d&&setTimeout(()=>d.ref.current.focus())}),aa=c.useCallback((a,b,c)=>{let d=!Q.current&&!c;(void 0!==B.value&&B.value===b||d)&&(K(a),d&&(Q.current=!0))},[B.value]),ab=c.useCallback(()=>D?.focus(),[D]),ac=c.useCallback((a,b,c)=>{let d=!Q.current&&!c;(void 0!==B.value&&B.value===b||d)&&M(a)},[B.value]),ad="popper"===g?Z:Y,ae=ad===Z?{side:o,sideOffset:p,align:q,alignOffset:r,arrowPadding:s,collisionBoundary:t,collisionPadding:u,sticky:v,hideWhenDetached:y,avoidCollisions:z}:{};return(0,b.jsx)(U,{scope:e,content:D,viewport:F,onViewportChange:G,itemRefCallback:aa,selectedItem:J,onItemLeave:ab,itemTextRefCallback:ac,focusSelectedItem:T,selectedItemText:L,position:g,isPositioned:O,searchRef:$,children:(0,b.jsx)(x.RemoveScroll,{as:W,allowPinchZoom:!0,children:(0,b.jsx)(m.FocusScope,{asChild:!0,trapped:B.open,onMountAutoFocus:a=>{a.preventDefault()},onUnmountAutoFocus:(0,f.composeEventHandlers)(i,a=>{B.trigger?.focus({preventScroll:!0}),a.preventDefault()}),children:(0,b.jsx)(k.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:j,onPointerDownOutside:n,onFocusOutside:a=>a.preventDefault(),onDismiss:()=>B.onOpenChange(!1),children:(0,b.jsx)(ad,{role:"listbox",id:B.contentId,"data-state":B.open?"open":"closed",dir:B.dir,onContextMenu:a=>a.preventDefault(),...A,...ae,onPlaced:()=>P(!0),ref:H,style:{display:"flex",flexDirection:"column",outline:"none",...A.style},onKeyDown:(0,f.composeEventHandlers)(A.onKeyDown,a=>{let b=a.ctrlKey||a.altKey||a.metaKey;if("Tab"===a.key&&a.preventDefault(),b||1!==a.key.length||_(a.key),["ArrowUp","ArrowDown","Home","End"].includes(a.key)){let b=N().filter(a=>!a.disabled).map(a=>a.ref.current);if(["ArrowUp","End"].includes(a.key)&&(b=b.slice().reverse()),["ArrowUp","ArrowDown"].includes(a.key)){let c=a.target,d=b.indexOf(c);b=b.slice(d+1)}setTimeout(()=>R(b)),a.preventDefault()}})})})})})})});X.displayName="SelectContentImpl";var Y=c.forwardRef((a,d)=>{let{__scopeSelect:f,onPlaced:g,...i}=a,j=I(S,f),k=V(S,f),[l,m]=c.useState(null),[n,o]=c.useState(null),p=(0,h.useComposedRefs)(d,a=>o(a)),r=C(f),s=c.useRef(!1),t=c.useRef(!0),{viewport:v,selectedItem:w,selectedItemText:x,focusSelectedItem:y}=k,z=c.useCallback(()=>{if(j.trigger&&j.valueNode&&l&&n&&v&&w&&x){let a=j.trigger.getBoundingClientRect(),b=n.getBoundingClientRect(),c=j.valueNode.getBoundingClientRect(),d=x.getBoundingClientRect();if("rtl"!==j.dir){let f=d.left-b.left,g=c.left-f,h=a.left-g,i=a.width+h,j=Math.max(i,b.width),k=e(g,[10,Math.max(10,window.innerWidth-10-j)]);l.style.minWidth=i+"px",l.style.left=k+"px"}else{let f=b.right-d.right,g=window.innerWidth-c.right-f,h=window.innerWidth-a.right-g,i=a.width+h,j=Math.max(i,b.width),k=e(g,[10,Math.max(10,window.innerWidth-10-j)]);l.style.minWidth=i+"px",l.style.right=k+"px"}let f=r(),h=window.innerHeight-20,i=v.scrollHeight,k=window.getComputedStyle(n),m=parseInt(k.borderTopWidth,10),o=parseInt(k.paddingTop,10),p=parseInt(k.borderBottomWidth,10),q=m+o+i+parseInt(k.paddingBottom,10)+p,t=Math.min(5*w.offsetHeight,q),u=window.getComputedStyle(v),y=parseInt(u.paddingTop,10),z=parseInt(u.paddingBottom,10),A=a.top+a.height/2-10,B=w.offsetHeight/2,C=m+o+(w.offsetTop+B);if(C<=A){let a=f.length>0&&w===f[f.length-1].ref.current;l.style.bottom="0px";let b=Math.max(h-A,B+(a?z:0)+(n.clientHeight-v.offsetTop-v.offsetHeight)+p);l.style.height=C+b+"px"}else{let a=f.length>0&&w===f[0].ref.current;l.style.top="0px";let b=Math.max(A,m+v.offsetTop+(a?y:0)+B);l.style.height=b+(q-C)+"px",v.scrollTop=C-A+v.offsetTop}l.style.margin="10px 0",l.style.minHeight=t+"px",l.style.maxHeight=h+"px",g?.(),requestAnimationFrame(()=>s.current=!0)}},[r,j.trigger,j.valueNode,l,n,v,w,x,j.dir,g]);(0,u.useLayoutEffect)(()=>z(),[z]);let[A,B]=c.useState();(0,u.useLayoutEffect)(()=>{n&&B(window.getComputedStyle(n).zIndex)},[n]);let D=c.useCallback(a=>{a&&!0===t.current&&(z(),y?.(),t.current=!1)},[z,y]);return(0,b.jsx)($,{scope:f,contentWrapper:l,shouldExpandOnScrollRef:s,onScrollButtonChange:D,children:(0,b.jsx)("div",{ref:m,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:A},children:(0,b.jsx)(q.Primitive.div,{...i,ref:p,style:{boxSizing:"border-box",maxHeight:"100%",...i.style}})})})});Y.displayName="SelectItemAlignedPosition";var Z=c.forwardRef((a,c)=>{let{__scopeSelect:d,align:e="start",collisionPadding:f=10,...g}=a,h=G(d);return(0,b.jsx)(o.Content,{...h,...g,ref:c,align:e,collisionPadding:f,style:{boxSizing:"border-box",...g.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});Z.displayName="SelectPopperPosition";var[$,_]=E(S,{}),aa="SelectViewport",ab=c.forwardRef((a,d)=>{let{__scopeSelect:e,nonce:g,...i}=a,j=V(aa,e),k=_(aa,e),l=(0,h.useComposedRefs)(d,j.onViewportChange),m=c.useRef(0);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:g}),(0,b.jsx)(B.Slot,{scope:e,children:(0,b.jsx)(q.Primitive.div,{"data-radix-select-viewport":"",role:"presentation",...i,ref:l,style:{position:"relative",flex:1,overflow:"hidden auto",...i.style},onScroll:(0,f.composeEventHandlers)(i.onScroll,a=>{let b=a.currentTarget,{contentWrapper:c,shouldExpandOnScrollRef:d}=k;if(d?.current&&c){let a=Math.abs(m.current-b.scrollTop);if(a>0){let d=window.innerHeight-20,e=Math.max(parseFloat(c.style.minHeight),parseFloat(c.style.height));if(e<d){let f=e+a,g=Math.min(d,f),h=f-g;c.style.height=g+"px","0px"===c.style.bottom&&(b.scrollTop=h>0?h:0,c.style.justifyContent="flex-end")}}}m.current=b.scrollTop})})})]})});ab.displayName=aa;var ac="SelectGroup",[ad,ae]=E(ac);c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a,f=(0,n.useId)();return(0,b.jsx)(ad,{scope:d,id:f,children:(0,b.jsx)(q.Primitive.div,{role:"group","aria-labelledby":f,...e,ref:c})})}).displayName=ac;var af="SelectLabel",ag=c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a,f=ae(af,d);return(0,b.jsx)(q.Primitive.div,{id:f.id,...e,ref:c})});ag.displayName=af;var ah="SelectItem",[ai,aj]=E(ah),ak=c.forwardRef((a,d)=>{let{__scopeSelect:e,value:g,disabled:i=!1,textValue:j,...k}=a,l=I(ah,e),m=V(ah,e),o=l.value===g,[p,r]=c.useState(j??""),[s,t]=c.useState(!1),u=(0,h.useComposedRefs)(d,a=>m.itemRefCallback?.(a,g,i)),v=(0,n.useId)(),w=c.useRef("touch"),x=()=>{i||(l.onValueChange(g),l.onOpenChange(!1))};if(""===g)throw Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return(0,b.jsx)(ai,{scope:e,value:g,disabled:i,textId:v,isSelected:o,onItemTextChange:c.useCallback(a=>{r(b=>b||(a?.textContent??"").trim())},[]),children:(0,b.jsx)(B.ItemSlot,{scope:e,value:g,disabled:i,textValue:p,children:(0,b.jsx)(q.Primitive.div,{role:"option","aria-labelledby":v,"data-highlighted":s?"":void 0,"aria-selected":o&&s,"data-state":o?"checked":"unchecked","aria-disabled":i||void 0,"data-disabled":i?"":void 0,tabIndex:i?void 0:-1,...k,ref:u,onFocus:(0,f.composeEventHandlers)(k.onFocus,()=>t(!0)),onBlur:(0,f.composeEventHandlers)(k.onBlur,()=>t(!1)),onClick:(0,f.composeEventHandlers)(k.onClick,()=>{"mouse"!==w.current&&x()}),onPointerUp:(0,f.composeEventHandlers)(k.onPointerUp,()=>{"mouse"===w.current&&x()}),onPointerDown:(0,f.composeEventHandlers)(k.onPointerDown,a=>{w.current=a.pointerType}),onPointerMove:(0,f.composeEventHandlers)(k.onPointerMove,a=>{w.current=a.pointerType,i?m.onItemLeave?.():"mouse"===w.current&&a.currentTarget.focus({preventScroll:!0})}),onPointerLeave:(0,f.composeEventHandlers)(k.onPointerLeave,a=>{a.currentTarget===document.activeElement&&m.onItemLeave?.()}),onKeyDown:(0,f.composeEventHandlers)(k.onKeyDown,a=>{(m.searchRef?.current===""||" "!==a.key)&&(z.includes(a.key)&&x()," "===a.key&&a.preventDefault())})})})})});ak.displayName=ah;var al="SelectItemText",am=c.forwardRef((a,e)=>{let{__scopeSelect:f,className:g,style:i,...j}=a,k=I(al,f),l=V(al,f),m=aj(al,f),n=K(al,f),[o,p]=c.useState(null),r=(0,h.useComposedRefs)(e,a=>p(a),m.onItemTextChange,a=>l.itemTextRefCallback?.(a,m.value,m.disabled)),s=o?.textContent,t=c.useMemo(()=>(0,b.jsx)("option",{value:m.value,disabled:m.disabled,children:s},m.value),[m.disabled,m.value,s]),{onNativeOptionAdd:v,onNativeOptionRemove:w}=n;return(0,u.useLayoutEffect)(()=>(v(t),()=>w(t)),[v,w,t]),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(q.Primitive.span,{id:m.textId,...j,ref:r}),m.isSelected&&k.valueNode&&!k.valueNodeHasChildren?d.createPortal(j.children,k.valueNode):null]})});am.displayName=al;var an="SelectItemIndicator",ao=c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a;return aj(an,d).isSelected?(0,b.jsx)(q.Primitive.span,{"aria-hidden":!0,...e,ref:c}):null});ao.displayName=an;var ap="SelectScrollUpButton",aq=c.forwardRef((a,d)=>{let e=V(ap,a.__scopeSelect),f=_(ap,a.__scopeSelect),[g,i]=c.useState(!1),j=(0,h.useComposedRefs)(d,f.onScrollButtonChange);return(0,u.useLayoutEffect)(()=>{if(e.viewport&&e.isPositioned){let a=function(){i(b.scrollTop>0)},b=e.viewport;return a(),b.addEventListener("scroll",a),()=>b.removeEventListener("scroll",a)}},[e.viewport,e.isPositioned]),g?(0,b.jsx)(at,{...a,ref:j,onAutoScroll:()=>{let{viewport:a,selectedItem:b}=e;a&&b&&(a.scrollTop=a.scrollTop-b.offsetHeight)}}):null});aq.displayName=ap;var ar="SelectScrollDownButton",as=c.forwardRef((a,d)=>{let e=V(ar,a.__scopeSelect),f=_(ar,a.__scopeSelect),[g,i]=c.useState(!1),j=(0,h.useComposedRefs)(d,f.onScrollButtonChange);return(0,u.useLayoutEffect)(()=>{if(e.viewport&&e.isPositioned){let a=function(){let a=b.scrollHeight-b.clientHeight;i(Math.ceil(b.scrollTop)<a)},b=e.viewport;return a(),b.addEventListener("scroll",a),()=>b.removeEventListener("scroll",a)}},[e.viewport,e.isPositioned]),g?(0,b.jsx)(at,{...a,ref:j,onAutoScroll:()=>{let{viewport:a,selectedItem:b}=e;a&&b&&(a.scrollTop=a.scrollTop+b.offsetHeight)}}):null});as.displayName=ar;var at=c.forwardRef((a,d)=>{let{__scopeSelect:e,onAutoScroll:g,...h}=a,i=V("SelectScrollButton",e),j=c.useRef(null),k=C(e),l=c.useCallback(()=>{null!==j.current&&(window.clearInterval(j.current),j.current=null)},[]);return c.useEffect(()=>()=>l(),[l]),(0,u.useLayoutEffect)(()=>{let a=k().find(a=>a.ref.current===document.activeElement);a?.ref.current?.scrollIntoView({block:"nearest"})},[k]),(0,b.jsx)(q.Primitive.div,{"aria-hidden":!0,...h,ref:d,style:{flexShrink:0,...h.style},onPointerDown:(0,f.composeEventHandlers)(h.onPointerDown,()=>{null===j.current&&(j.current=window.setInterval(g,50))}),onPointerMove:(0,f.composeEventHandlers)(h.onPointerMove,()=>{i.onItemLeave?.(),null===j.current&&(j.current=window.setInterval(g,50))}),onPointerLeave:(0,f.composeEventHandlers)(h.onPointerLeave,()=>{l()})})}),au=c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a;return(0,b.jsx)(q.Primitive.div,{"aria-hidden":!0,...e,ref:c})});au.displayName="SelectSeparator";var av="SelectArrow";c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a,f=G(d),g=I(av,d),h=V(av,d);return g.open&&"popper"===h.position?(0,b.jsx)(o.Arrow,{...f,...e,ref:c}):null}).displayName=av;var aw=c.forwardRef(({__scopeSelect:a,value:d,...e},f)=>{let g,i=c.useRef(null),j=(0,h.useComposedRefs)(f,i),k=(g=c.useRef({value:d,previous:d}),c.useMemo(()=>(g.current.value!==d&&(g.current.previous=g.current.value,g.current.value=d),g.current.previous),[d]));return c.useEffect(()=>{let a=i.current;if(!a)return;let b=Object.getOwnPropertyDescriptor(window.HTMLSelectElement.prototype,"value").set;if(k!==d&&b){let c=new Event("change",{bubbles:!0});b.call(a,d),a.dispatchEvent(c)}},[k,d]),(0,b.jsx)(q.Primitive.select,{...e,style:{...v.VISUALLY_HIDDEN_STYLES,...e.style},ref:j,defaultValue:d})});function ax(a){return""===a||void 0===a}function ay(a){let b=(0,s.useCallbackRef)(a),d=c.useRef(""),e=c.useRef(0),f=c.useCallback(a=>{let c=d.current+a;b(c),function a(b){d.current=b,window.clearTimeout(e.current),""!==b&&(e.current=window.setTimeout(()=>a(""),1e3))}(c)},[b]),g=c.useCallback(()=>{d.current="",window.clearTimeout(e.current)},[]);return c.useEffect(()=>()=>window.clearTimeout(e.current),[]),[d,f,g]}function az(a,b,c){var d,e;let f=b.length>1&&Array.from(b).every(a=>a===b[0])?b[0]:b,g=c?a.indexOf(c):-1,h=(d=a,e=Math.max(g,0),d.map((a,b)=>d[(e+b)%d.length]));1===f.length&&(h=h.filter(a=>a!==c));let i=h.find(a=>a.textValue.toLowerCase().startsWith(f.toLowerCase()));return i!==c?i:void 0}aw.displayName="SelectBubbleInput";var aA=a.i(470485),aB=a.i(863535);let aC=(0,aB.default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);a.s(["ChevronDown",()=>aC],633093);let aD=(0,aB.default)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);var aE=a.i(687052);let aF=c.forwardRef(({className:a,children:c,...d},e)=>(0,b.jsxs)(N,{ref:e,className:(0,aE.cn)("flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-gray-300 dark:border-gray-700 bg-background px-3 py-2 text-sm shadow-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",a),...d,children:[c,(0,b.jsx)(Q,{asChild:!0,children:(0,b.jsx)(aC,{className:"h-4 w-4 opacity-50"})})]}));aF.displayName=N.displayName;let aG=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(aq,{ref:d,className:(0,aE.cn)("flex cursor-default items-center justify-center py-1",a),...c,children:(0,b.jsx)(aD,{className:"h-4 w-4"})}));aG.displayName=aq.displayName;let aH=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(as,{ref:d,className:(0,aE.cn)("flex cursor-default items-center justify-center py-1",a),...c,children:(0,b.jsx)(aC,{className:"h-4 w-4"})}));aH.displayName=as.displayName;let aI=c.forwardRef(({className:a,children:c,position:d="popper",...e},f)=>(0,b.jsx)(R,{children:(0,b.jsxs)(T,{ref:f,className:(0,aE.cn)("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border border-gray-200 dark:border-gray-800 bg-background 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","popper"===d&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",a),position:d,...e,children:[(0,b.jsx)(aG,{}),(0,b.jsx)(ab,{className:(0,aE.cn)("p-1","popper"===d&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:c}),(0,b.jsx)(aH,{})]})}));aI.displayName=T.displayName,c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(ag,{ref:d,className:(0,aE.cn)("px-2 py-1.5 text-sm font-semibold",a),...c})).displayName=ag.displayName;let aJ=c.forwardRef(({className:a,children:c,...d},e)=>(0,b.jsxs)(ak,{ref:e,className:(0,aE.cn)("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),...d,children:[(0,b.jsx)("span",{className:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,b.jsx)(ao,{children:(0,b.jsx)(aA.Check,{className:"h-4 w-4"})})}),(0,b.jsx)(am,{children:c})]}));aJ.displayName=ak.displayName,c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(au,{ref:d,className:(0,aE.cn)("-mx-1 my-1 h-px bg-muted",a),...c})).displayName=au.displayName,a.s(["Select",()=>L,"SelectContent",()=>aI,"SelectItem",()=>aJ,"SelectTrigger",()=>aF,"SelectValue",()=>P],915929);var aK=a.i(435133),aL=a.i(779121);function aM(a){return a?(0,aK.default)(a).fromNow():"Unknown"}function aN(a,b){if(!a||!b)return"";let c=(0,aK.default)(a),d=(0,aK.default)(b).diff(c);if(d<0)return"";let e=Math.floor(d/864e5),f=Math.floor(d%864e5/36e5);if(0===e&&0===f){let a=Math.floor(d%36e5/6e4);return 0===a?"< 1m":`${a}m`}if(0===e)return`${f}h`;if(e<30)return f>0?`${e}d ${f}h`:`${e}d`;let g=Math.floor(e/30),h=e%30;if(g<12)return h>0?`${g}mo ${h}d`:`${g}mo`;let i=Math.floor(g/12),j=g%12;return j>0?`${i}y ${j}mo`:`${i}y`}aK.default.extend(aL.default),a.s(["formatDuration",()=>aN,"formatRelativeTime",()=>aM],890075)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=packages_ui_src_components_ui_select_tsx_7e21d40f._.js.map
|