@leanspec/ui 0.2.11 → 0.2.12

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.
Files changed (573) hide show
  1. package/.next/standalone/node_modules/.pnpm/better-sqlite3@11.10.0/node_modules/better-sqlite3/build/Release/better_sqlite3.node +0 -0
  2. package/.next/standalone/packages/ui/.next/BUILD_ID +1 -1
  3. package/.next/standalone/packages/ui/.next/app-path-routes-manifest.json +3 -0
  4. package/.next/standalone/packages/ui/.next/build-manifest.json +4 -4
  5. package/.next/standalone/packages/ui/.next/routes-manifest.json +18 -0
  6. package/.next/standalone/packages/ui/.next/server/app/_global-error/page/build-manifest.json +2 -2
  7. package/.next/standalone/packages/ui/.next/server/app/_global-error/page.js.nft.json +1 -1
  8. package/.next/standalone/packages/ui/.next/server/app/_global-error.html +2 -2
  9. package/.next/standalone/packages/ui/.next/server/app/_global-error.rsc +1 -1
  10. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  11. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  12. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  13. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  14. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  15. package/.next/standalone/packages/ui/.next/server/app/_not-found/page/build-manifest.json +2 -2
  16. package/.next/standalone/packages/ui/.next/server/app/_not-found/page.js +1 -1
  17. package/.next/standalone/packages/ui/.next/server/app/_not-found/page.js.nft.json +1 -1
  18. package/.next/standalone/packages/ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  19. package/.next/standalone/packages/ui/.next/server/app/_not-found.html +2 -2
  20. package/.next/standalone/packages/ui/.next/server/app/_not-found.rsc +18 -18
  21. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_full.segment.rsc +18 -18
  22. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  23. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_index.segment.rsc +12 -12
  24. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
  25. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  26. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  27. package/.next/standalone/packages/ui/.next/server/app/api/context/route.js +3 -3
  28. package/.next/standalone/packages/ui/.next/server/app/api/context/route.js.nft.json +1 -1
  29. package/.next/standalone/packages/ui/.next/server/app/api/dependencies/route.js +3 -3
  30. package/.next/standalone/packages/ui/.next/server/app/api/dependencies/route.js.nft.json +1 -1
  31. package/.next/standalone/packages/ui/.next/server/app/api/health/route/app-paths-manifest.json +3 -0
  32. package/.next/standalone/packages/ui/.next/server/app/api/health/route/build-manifest.json +11 -0
  33. package/.next/standalone/packages/ui/.next/server/app/api/health/route/server-reference-manifest.json +4 -0
  34. package/.next/standalone/packages/ui/.next/server/app/api/health/route.js +6 -0
  35. package/.next/standalone/packages/ui/.next/server/app/api/health/route.js.map +5 -0
  36. package/.next/standalone/packages/ui/.next/server/app/api/health/route.js.nft.json +1 -0
  37. package/.next/standalone/packages/ui/.next/server/app/api/health/route_client-reference-manifest.js +2 -0
  38. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/[id]/route.js +2 -2
  39. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/[id]/route.js.nft.json +1 -1
  40. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/discover/route.js +2 -2
  41. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/discover/route.js.nft.json +1 -1
  42. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/list-directory/route.js +2 -2
  43. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/list-directory/route.js.nft.json +1 -1
  44. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/route.js +2 -2
  45. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/route.js.nft.json +1 -1
  46. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/context/route.js +3 -3
  47. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/context/route.js.nft.json +1 -1
  48. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route.js +3 -3
  49. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route.js.nft.json +1 -1
  50. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/route.js +2 -2
  51. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
  52. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/dependency-graph/route.js +3 -3
  53. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/dependency-graph/route.js.nft.json +1 -1
  54. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/metadata/route.js +2 -2
  55. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/metadata/route.js.nft.json +1 -1
  56. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/route.js +3 -3
  57. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/route.js.nft.json +1 -1
  58. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/status/route.js +2 -2
  59. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/status/route.js.nft.json +1 -1
  60. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/route.js +3 -3
  61. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/route.js.nft.json +1 -1
  62. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/stats/route.js +3 -3
  63. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/stats/route.js.nft.json +1 -1
  64. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/tags/route.js +3 -3
  65. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/tags/route.js.nft.json +1 -1
  66. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/validate/route.js +2 -2
  67. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/validate/route.js.nft.json +1 -1
  68. package/.next/standalone/packages/ui/.next/server/app/api/projects/route.js +2 -2
  69. package/.next/standalone/packages/ui/.next/server/app/api/projects/route.js.nft.json +1 -1
  70. package/.next/standalone/packages/ui/.next/server/app/api/revalidate/route.js +4 -3
  71. package/.next/standalone/packages/ui/.next/server/app/api/revalidate/route.js.nft.json +1 -1
  72. package/.next/standalone/packages/ui/.next/server/app/api/search/route/app-paths-manifest.json +3 -0
  73. package/.next/standalone/packages/ui/.next/server/app/api/search/route/build-manifest.json +11 -0
  74. package/.next/standalone/packages/ui/.next/server/app/api/search/route/server-reference-manifest.json +4 -0
  75. package/.next/standalone/packages/ui/.next/server/app/api/search/route.js +8 -0
  76. package/.next/standalone/packages/ui/.next/server/app/api/search/route.js.map +5 -0
  77. package/.next/standalone/packages/ui/.next/server/app/api/search/route.js.nft.json +1 -0
  78. package/.next/standalone/packages/ui/.next/server/app/api/search/route_client-reference-manifest.js +2 -0
  79. package/.next/standalone/packages/ui/.next/server/app/health/route/app-paths-manifest.json +3 -0
  80. package/.next/standalone/packages/ui/.next/server/app/health/route/build-manifest.json +11 -0
  81. package/.next/standalone/packages/ui/.next/server/app/health/route/server-reference-manifest.json +4 -0
  82. package/.next/standalone/packages/ui/.next/server/app/health/route.js +6 -0
  83. package/.next/standalone/packages/ui/.next/server/app/health/route.js.map +5 -0
  84. package/.next/standalone/packages/ui/.next/server/app/health/route.js.nft.json +1 -0
  85. package/.next/standalone/packages/ui/.next/server/app/health/route_client-reference-manifest.js +2 -0
  86. package/.next/standalone/packages/ui/.next/server/app/page/build-manifest.json +2 -2
  87. package/.next/standalone/packages/ui/.next/server/app/page.js +1 -1
  88. package/.next/standalone/packages/ui/.next/server/app/page.js.nft.json +1 -1
  89. package/.next/standalone/packages/ui/.next/server/app/page_client-reference-manifest.js +1 -1
  90. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page/build-manifest.json +2 -2
  91. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page.js +1 -1
  92. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page.js.nft.json +1 -1
  93. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page_client-reference-manifest.js +1 -1
  94. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page/build-manifest.json +2 -2
  95. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page.js +1 -1
  96. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page.js.nft.json +1 -1
  97. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page_client-reference-manifest.js +1 -1
  98. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page/build-manifest.json +2 -2
  99. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page.js +1 -1
  100. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page.js.nft.json +1 -1
  101. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page_client-reference-manifest.js +1 -1
  102. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page/build-manifest.json +2 -2
  103. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page.js +1 -1
  104. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page.js.nft.json +1 -1
  105. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page_client-reference-manifest.js +1 -1
  106. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page/build-manifest.json +2 -2
  107. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page.js +1 -1
  108. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page.js.nft.json +1 -1
  109. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page_client-reference-manifest.js +1 -1
  110. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page/build-manifest.json +2 -2
  111. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page.js +1 -1
  112. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page.js.nft.json +1 -1
  113. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page_client-reference-manifest.js +1 -1
  114. package/.next/standalone/packages/ui/.next/server/app/projects/page/build-manifest.json +2 -2
  115. package/.next/standalone/packages/ui/.next/server/app/projects/page.js +1 -1
  116. package/.next/standalone/packages/ui/.next/server/app/projects/page.js.nft.json +1 -1
  117. package/.next/standalone/packages/ui/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  118. package/.next/standalone/packages/ui/.next/server/app/projects.html +2 -2
  119. package/.next/standalone/packages/ui/.next/server/app/projects.rsc +12 -12
  120. package/.next/standalone/packages/ui/.next/server/app/projects.segments/_full.segment.rsc +12 -12
  121. package/.next/standalone/packages/ui/.next/server/app/projects.segments/_head.segment.rsc +1 -1
  122. package/.next/standalone/packages/ui/.next/server/app/projects.segments/_index.segment.rsc +10 -10
  123. package/.next/standalone/packages/ui/.next/server/app/projects.segments/_tree.segment.rsc +1 -1
  124. package/.next/standalone/packages/ui/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +2 -2
  125. package/.next/standalone/packages/ui/.next/server/app/projects.segments/projects.segment.rsc +1 -1
  126. package/.next/standalone/packages/ui/.next/server/app-paths-manifest.json +3 -0
  127. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__01a010d2._.js +3 -0
  128. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__18006869._.js +3 -0
  129. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__2fd8e63b._.js +3 -0
  130. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__3c009811._.js +3 -0
  131. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__408867af._.js +3 -0
  132. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__4913ae11._.js +3 -0
  133. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__493dafb5._.js +3 -0
  134. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__4d45fba5._.js +3 -0
  135. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__545bd045._.js +3 -0
  136. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__580debd3._.js +3 -0
  137. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__597227b1._.js +3 -0
  138. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__5db43dd1._.js +3 -0
  139. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__6575637c._.js +3 -0
  140. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__65eaee03._.js +3 -0
  141. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__77b7bda2._.js +3 -0
  142. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__77f9d159._.js +3 -0
  143. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__896a68f6._.js +3 -0
  144. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__a3e5f47e._.js +3 -0
  145. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__ab055d16._.js +3 -0
  146. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__b79da708._.js +3 -0
  147. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__c1a0f4ae._.js +3 -0
  148. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__f00a3584._.js +21 -0
  149. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__f96cec8f._.js +3 -0
  150. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__fa0c3244._.js +3 -0
  151. package/.next/standalone/packages/ui/.next/server/chunks/_4126d0be._.js +2 -2
  152. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui__next-internal_server_app_api_health_route_actions_7e273251.js +3 -0
  153. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui__next-internal_server_app_api_search_route_actions_4d98696f.js +3 -0
  154. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui__next-internal_server_app_health_route_actions_38d6c859.js +3 -0
  155. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_specs_sources_database-source_ts_b8c1af87._.js +3 -0
  156. package/.next/standalone/packages/ui/.next/server/chunks/ssr/1ce3b_dagre-d3-es_src_dagre_index_f9cad90b.js +1 -1
  157. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{931bf_mermaid_dist_chunks_mermaid_core_8167bfdd._.js → 2d2f0_mermaid_dist_chunks_mermaid_core_039fb02e._.js} +3 -3
  158. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{931bf_mermaid_dist_chunks_mermaid_core_c5b1d4f9._.js → 2d2f0_mermaid_dist_chunks_mermaid_core_0a7c215c._.js} +3 -3
  159. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{931bf_mermaid_dist_chunks_mermaid_core_0b254b71._.js → 2d2f0_mermaid_dist_chunks_mermaid_core_40ab38d1._.js} +2 -2
  160. package/.next/standalone/packages/ui/.next/server/chunks/ssr/2d2f0_mermaid_dist_chunks_mermaid_core_a32f523e._.js +3 -0
  161. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{931bf_mermaid_dist_chunks_mermaid_core_ffd8fbee._.js → 2d2f0_mermaid_dist_chunks_mermaid_core_bf4b42a9._.js} +2 -2
  162. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{931bf_mermaid_dist_chunks_mermaid_core_blockDiagram-VD42YOAC_mjs_99bfbaf9._.js → 2d2f0_mermaid_dist_chunks_mermaid_core_blockDiagram-VD42YOAC_mjs_0326ef3f._.js} +2 -2
  163. package/.next/standalone/packages/ui/.next/server/chunks/ssr/2d2f0_mermaid_dist_chunks_mermaid_core_c4Diagram-YG6GDRKO_mjs_4dc38eb2._.js +7 -0
  164. package/.next/standalone/packages/ui/.next/server/chunks/ssr/2d2f0_mermaid_dist_chunks_mermaid_core_chunk-ABZYJK2D_mjs_41e4ef7c._.js +79 -0
  165. package/.next/standalone/packages/ui/.next/server/chunks/ssr/2d2f0_mermaid_dist_chunks_mermaid_core_chunk-B4BG7PRW_mjs_152d6b7c._.js +162 -0
  166. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{931bf_mermaid_dist_chunks_mermaid_core_chunk-DI55MBZ5_mjs_2e49cdd9._.js → 2d2f0_mermaid_dist_chunks_mermaid_core_chunk-DI55MBZ5_mjs_f803dc6e._.js} +2 -2
  167. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{931bf_mermaid_dist_chunks_mermaid_core_chunk-FMBD7UC4_mjs_69c9238e._.js → 2d2f0_mermaid_dist_chunks_mermaid_core_chunk-FMBD7UC4_mjs_82165e98._.js} +2 -2
  168. package/.next/standalone/packages/ui/.next/server/chunks/ssr/2d2f0_mermaid_dist_chunks_mermaid_core_chunk-JA3XYJ7Z_mjs_9d45fac6._.js +62 -0
  169. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{931bf_mermaid_dist_chunks_mermaid_core_chunk-JZLCHNYA_mjs_e1210981._.js → 2d2f0_mermaid_dist_chunks_mermaid_core_chunk-JZLCHNYA_mjs_4c3bae8d._.js} +3 -3
  170. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{931bf_mermaid_dist_chunks_mermaid_core_chunk-MI3HLSF2_mjs_4494daf0._.js → 2d2f0_mermaid_dist_chunks_mermaid_core_chunk-MI3HLSF2_mjs_90225bf8._.js} +2 -2
  171. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{931bf_mermaid_dist_chunks_mermaid_core_chunk-QXUST7PY_mjs_3e69582d._.js → 2d2f0_mermaid_dist_chunks_mermaid_core_chunk-QXUST7PY_mjs_1558ec21._.js} +2 -2
  172. package/.next/standalone/packages/ui/.next/server/chunks/ssr/2d2f0_mermaid_dist_chunks_mermaid_core_chunk-S3R3BYOJ_mjs_365fb61d._.js +4 -0
  173. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{931bf_mermaid_dist_chunks_mermaid_core_chunk-TZMSLE5B_mjs_72a0311f._.js → 2d2f0_mermaid_dist_chunks_mermaid_core_chunk-TZMSLE5B_mjs_e3843d9c._.js} +2 -2
  174. package/.next/standalone/packages/ui/.next/server/chunks/ssr/2d2f0_mermaid_dist_chunks_mermaid_core_dagre-6UL2VRFP_mjs_ced7f41d._.js +3 -0
  175. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{931bf_mermaid_dist_chunks_mermaid_core_diagram-PSM6KHXK_mjs_f109b802._.js → 2d2f0_mermaid_dist_chunks_mermaid_core_diagram-PSM6KHXK_mjs_67034ee5._.js} +3 -3
  176. package/.next/standalone/packages/ui/.next/server/chunks/ssr/2d2f0_mermaid_dist_chunks_mermaid_core_erDiagram-Q2GNP2WA_mjs_b238a129._.js +57 -0
  177. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{931bf_mermaid_dist_chunks_mermaid_core_flowDiagram-NV44I4VS_mjs_c11db931._.js → 2d2f0_mermaid_dist_chunks_mermaid_core_flowDiagram-NV44I4VS_mjs_9c68d218._.js} +2 -2
  178. package/.next/standalone/packages/ui/.next/server/chunks/ssr/2d2f0_mermaid_dist_chunks_mermaid_core_gitGraphDiagram-NY62KEGX_mjs_bc2124c8._.js +65 -0
  179. package/.next/standalone/packages/ui/.next/server/chunks/ssr/2d2f0_mermaid_dist_chunks_mermaid_core_journeyDiagram-XKPGCS4Q_mjs_c6224fc8._.js +136 -0
  180. package/.next/standalone/packages/ui/.next/server/chunks/ssr/2d2f0_mermaid_dist_chunks_mermaid_core_kanban-definition-3W4ZIXB7_mjs_550640fc._.js +81 -0
  181. package/.next/standalone/packages/ui/.next/server/chunks/ssr/2d2f0_mermaid_dist_chunks_mermaid_core_quadrantDiagram-AYHSOK5B_mjs_bef56c71._.js +3 -0
  182. package/.next/standalone/packages/ui/.next/server/chunks/ssr/2d2f0_mermaid_dist_chunks_mermaid_core_requirementDiagram-UZGBJVZJ_mjs_ff9d68c3._.js +61 -0
  183. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{931bf_mermaid_dist_chunks_mermaid_core_sankeyDiagram-TZEHDZUN_mjs_9fa014df._.js → 2d2f0_mermaid_dist_chunks_mermaid_core_sankeyDiagram-TZEHDZUN_mjs_2b6523f9._.js} +3 -3
  184. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{931bf_mermaid_dist_chunks_mermaid_core_sequenceDiagram-WL72ISMW_mjs_4d5ee2b1._.js → 2d2f0_mermaid_dist_chunks_mermaid_core_sequenceDiagram-WL72ISMW_mjs_07d830e2._.js} +2 -2
  185. package/.next/standalone/packages/ui/.next/server/chunks/ssr/2d2f0_mermaid_dist_chunks_mermaid_core_stateDiagram-FKZM4ZOC_mjs_f874f344._.js +3 -0
  186. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{931bf_mermaid_dist_chunks_mermaid_core_timeline-definition-IT6M3QCI_mjs_96b04d43._.js → 2d2f0_mermaid_dist_chunks_mermaid_core_timeline-definition-IT6M3QCI_mjs_f287eaf9._.js} +2 -2
  187. package/.next/standalone/packages/ui/.next/server/chunks/ssr/2d2f0_mermaid_dist_chunks_mermaid_core_xychartDiagram-PRI3JC2R_mjs_fd2f9ec2._.js +3 -0
  188. package/.next/standalone/packages/ui/.next/server/chunks/ssr/2d2f0_mermaid_dist_mermaid_core_mjs_06200ddd._.js +9 -0
  189. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{f0bdc_katex_dist_katex_mjs_27a6c950._.js → 79abc_katex_dist_katex_mjs_4541e3ed._.js} +2 -2
  190. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{[root-of-the-server]__c8c18f4f._.js → [root-of-the-server]__1260c5f7._.js} +2 -2
  191. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{[root-of-the-server]__5f4adfc8._.js → [root-of-the-server]__1cb959c5._.js} +2 -2
  192. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__26326a5f._.js +3 -0
  193. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{[root-of-the-server]__0749b2a9._.js → [root-of-the-server]__4cd3ba60._.js} +2 -2
  194. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__6a435090._.js +3 -0
  195. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{[root-of-the-server]__1c4b3bf2._.js → [root-of-the-server]__70286e1b._.js} +2 -2
  196. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{[root-of-the-server]__63c456e1._.js → [root-of-the-server]__8002df87._.js} +2 -2
  197. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__835e8eac._.js +64 -0
  198. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_0ac14791._.js +1 -1
  199. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_0d858c33._.js +1 -1
  200. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_0dbcf841._.js +3 -0
  201. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_154a7c34._.js +3 -0
  202. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_2258175d._.js +3 -0
  203. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_3b71bf0a._.js +1 -1
  204. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_621be400._.js +1 -1
  205. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_622e0934._.js +3 -0
  206. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_634df2de._.js +1 -1
  207. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_73cbd742._.js +7 -0
  208. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_9b6b1366._.js +5 -0
  209. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_e451c97d._.js +3 -0
  210. package/.next/standalone/packages/ui/.next/server/chunks/ssr/a3abb_lodash-es_39467f98._.js +3 -0
  211. package/.next/standalone/packages/ui/.next/server/chunks/ssr/a3abb_lodash-es_39b3309d._.js +3 -0
  212. package/.next/standalone/packages/ui/.next/server/chunks/ssr/a3abb_lodash-es_71968945._.js +3 -0
  213. package/.next/standalone/packages/ui/.next/server/chunks/ssr/a3abb_lodash-es_8c3798ec._.js +3 -0
  214. package/.next/standalone/packages/ui/.next/server/chunks/ssr/a3abb_lodash-es_f7e6e959._.js +3 -0
  215. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_03d68913._.js +28 -28
  216. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{node_modules__pnpm_5237fdd7._.js → node_modules__pnpm_11fc8cad._.js} +2 -2
  217. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{node_modules__pnpm_a3f2a370._.js → node_modules__pnpm_1e176d07._.js} +2 -2
  218. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_2b810caa._.js +3 -0
  219. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_3ac36b29._.js +3 -0
  220. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_3d74497b._.js +31 -0
  221. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_4a28a77d._.js +3 -0
  222. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_4a7b3c19._.js +3 -0
  223. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{node_modules__pnpm_30b0b05a._.js → node_modules__pnpm_59960f1e._.js} +2 -2
  224. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_61f8ccc0._.js +3 -0
  225. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_6697cd90._.js +26 -0
  226. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_73c425a0._.js +3 -0
  227. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_74354499._.js +3 -0
  228. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_763657ac._.js +3 -0
  229. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_797a2ca8._.js +3 -0
  230. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_7dfb1bd9._.js +3 -0
  231. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_87b4580a._.js +3 -0
  232. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_88964c5f._.js +45 -0
  233. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_8991f9c5._.js +3 -0
  234. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{node_modules__pnpm_76d4233c._.js → node_modules__pnpm_8cfd2093._.js} +3 -3
  235. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_94550f9f._.js +3 -0
  236. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_979654f9._.js +264 -0
  237. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_9f109f32._.js +3 -0
  238. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{node_modules__pnpm_c766836f._.js → node_modules__pnpm_acea603d._.js} +2 -2
  239. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_cce16695._.js +3 -0
  240. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_ccfd2c1b._.js +17 -0
  241. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_d627b170._.js +3 -0
  242. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{node_modules__pnpm_b23175bb._.js → node_modules__pnpm_da2d2764._.js} +2 -2
  243. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_da99d8e9._.js +3 -0
  244. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_e7a691d1._.js +3 -0
  245. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{node_modules__pnpm_c22df304._.js → node_modules__pnpm_ea8cde4a._.js} +2 -2
  246. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{node_modules__pnpm_472d6274._.js → node_modules__pnpm_effb98fb._.js} +2 -2
  247. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_components_context-client_tsx_0ded8336._.js +1 -1
  248. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_components_dependencies_dependencies-client_tsx_481976b3._.js +1 -1
  249. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_components_spec-detail-wrapper_tsx_fd35401c._.js +1 -1
  250. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_components_specs-client_tsx_01341e35._.js +1 -1
  251. package/.next/standalone/packages/ui/.next/server/middleware-build-manifest.js +2 -2
  252. package/.next/standalone/packages/ui/.next/server/pages/404.html +2 -2
  253. package/.next/standalone/packages/ui/.next/server/pages/500.html +2 -2
  254. package/.next/{static/chunks/7b70989270600907.js → standalone/packages/ui/.next/static/chunks/033e84ae4e602451.js} +2 -2
  255. package/.next/standalone/packages/ui/.next/static/chunks/{414a78f7b9b58d11.js → 0e1982b1a6cbd127.js} +2 -2
  256. package/.next/standalone/packages/ui/.next/static/chunks/12a7420acd028ffb.js +1 -0
  257. package/.next/{static/chunks/df7e61b074dee049.js → standalone/packages/ui/.next/static/chunks/1acfae010fd77014.js} +1 -1
  258. package/.next/{static/chunks/3013cefdf3bb0932.js → standalone/packages/ui/.next/static/chunks/1f73933498bb3f89.js} +1 -1
  259. package/.next/standalone/packages/ui/.next/static/chunks/{af643629ba393b18.js → 219b7d9e437c6bd8.js} +2 -2
  260. package/.next/standalone/packages/ui/.next/static/chunks/23a1e247c32bcc61.js +93 -0
  261. package/.next/standalone/packages/ui/.next/static/chunks/25e71c18d7f735b0.js +77 -0
  262. package/.next/{static/chunks/42eab565a0419f25.js → standalone/packages/ui/.next/static/chunks/2769a6addee16819.js} +1 -1
  263. package/.next/standalone/packages/ui/.next/static/chunks/2a07a20aeed845d2.js +1 -0
  264. package/.next/standalone/packages/ui/.next/static/chunks/3717f57c910514ee.js +4 -0
  265. package/.next/standalone/packages/ui/.next/static/chunks/3f5728744987b056.js +10 -0
  266. package/.next/standalone/packages/ui/.next/static/chunks/4205e1e99dbad846.js +1 -0
  267. package/.next/standalone/packages/ui/.next/static/chunks/484a82e3fed783b5.js +262 -0
  268. package/.next/standalone/packages/ui/.next/static/chunks/486b12d42e9f2e10.js +1 -0
  269. package/.next/standalone/packages/ui/.next/static/chunks/4928acec2f0a27a0.js +15 -0
  270. package/.next/standalone/packages/ui/.next/static/chunks/4c0bd06c9ef55bdf.js +63 -0
  271. package/.next/standalone/packages/ui/.next/static/chunks/{b900efab2eee69a0.js → 4d8d7e62c2743f71.js} +2 -2
  272. package/.next/standalone/packages/ui/.next/static/chunks/4f2bc7a7a6b05a8b.js +55 -0
  273. package/.next/standalone/packages/ui/.next/static/chunks/4fead4c15e38b33e.js +1 -0
  274. package/.next/standalone/packages/ui/.next/static/chunks/{f88536b96f1df686.js → 529ac1f084e36f1a.js} +1 -1
  275. package/.next/{static/chunks/6483096c16d96f2c.js → standalone/packages/ui/.next/static/chunks/55761e35a8946a1d.js} +1 -1
  276. package/.next/standalone/packages/ui/.next/static/chunks/{5fffdea0623d8a25.js → 584bad9cf2498405.js} +1 -1
  277. package/.next/standalone/packages/ui/.next/static/chunks/5cf25a8967a2f486.js +215 -0
  278. package/.next/standalone/packages/ui/.next/static/chunks/61d65fe807f69413.js +62 -0
  279. package/.next/standalone/packages/ui/.next/static/chunks/625c67f1826b0214.js +24 -0
  280. package/.next/standalone/packages/ui/.next/static/chunks/63d8fd1597f46aba.js +3 -0
  281. package/.next/standalone/packages/ui/.next/static/chunks/6d040eb901b4e641.js +1 -0
  282. package/.next/standalone/packages/ui/.next/static/chunks/76af2698c6233ad3.js +60 -0
  283. package/.next/{static/chunks/37f2e45cf97245d9.js → standalone/packages/ui/.next/static/chunks/7ff2a1996be67419.js} +1 -1
  284. package/.next/{static/chunks/2136b3131f74188f.js → standalone/packages/ui/.next/static/chunks/808ed0f189237446.js} +1 -1
  285. package/.next/standalone/packages/ui/.next/static/chunks/81316016a1163994.js +1 -0
  286. package/.next/standalone/packages/ui/.next/static/chunks/83a8941b869553c2.js +43 -0
  287. package/.next/standalone/packages/ui/.next/static/chunks/83ad0e374ba914bb.js +1 -0
  288. package/.next/{static/chunks/8ff23db3e3143bc7.js → standalone/packages/ui/.next/static/chunks/86922861a757bcb1.js} +1 -1
  289. package/.next/{static/chunks/a0b34f852bfa3d1b.js → standalone/packages/ui/.next/static/chunks/962e5cad8ea716fc.js} +1 -1
  290. package/.next/standalone/packages/ui/.next/static/chunks/98f112e5f904766f.js +1 -0
  291. package/.next/standalone/packages/ui/.next/static/chunks/{31c5e577f282adb3.js → 9bb03156564e344d.js} +1 -1
  292. package/.next/standalone/packages/ui/.next/static/chunks/9c6d5fb76690228a.js +1 -0
  293. package/.next/standalone/packages/ui/.next/static/chunks/{3f94c1ef6e27c8bd.js → 9d851c7076be779f.js} +1 -1
  294. package/.next/standalone/packages/ui/.next/static/chunks/9f415807575a9834.js +1 -0
  295. package/.next/standalone/packages/ui/.next/static/chunks/a1d3de9e7615662e.js +160 -0
  296. package/.next/standalone/packages/ui/.next/static/chunks/a7fdfeea5fd894c1.js +59 -0
  297. package/.next/standalone/packages/ui/.next/static/chunks/a8a3989305bcc136.js +215 -0
  298. package/.next/standalone/packages/ui/.next/static/chunks/ab47f453990e66ac.js +1 -0
  299. package/.next/standalone/packages/ui/.next/static/chunks/{72dde43947381f78.js → acb938ef1d4fb5ac.js} +1 -1
  300. package/.next/standalone/packages/ui/.next/static/chunks/acbfbe8ec48b9d30.js +1 -0
  301. package/.next/standalone/packages/ui/.next/static/chunks/c44a73bf08ad2744.js +1 -0
  302. package/.next/standalone/packages/ui/.next/static/chunks/{6c862b0bdb79830a.js → c5cbf4348920e18a.js} +1 -1
  303. package/.next/standalone/packages/ui/.next/static/chunks/c5ff5834cc40cc53.js +1 -0
  304. package/.next/standalone/packages/ui/.next/static/chunks/c795916b36aa4427.js +5 -0
  305. package/.next/standalone/packages/ui/.next/static/chunks/cf8d56af13058933.js +29 -0
  306. package/.next/standalone/packages/ui/.next/static/chunks/d0abae9ec6f86e28.js +24 -0
  307. package/.next/standalone/packages/ui/.next/static/chunks/d19b45f04737fd17.js +1 -0
  308. package/.next/standalone/packages/ui/.next/static/chunks/d267fa95a802a93e.js +1 -0
  309. package/.next/standalone/packages/ui/.next/static/chunks/d857534107a61f01.js +13 -0
  310. package/.next/{static/chunks/642374ace530e2bd.js → standalone/packages/ui/.next/static/chunks/d9d11dc692443713.js} +1 -1
  311. package/.next/standalone/packages/ui/.next/static/chunks/dd4d5318fe76181b.js +1 -0
  312. package/.next/standalone/packages/ui/.next/static/chunks/e3b72bcd2506a85d.js +2 -0
  313. package/.next/standalone/packages/ui/.next/static/chunks/{192b2f6118d057e2.js → e63644fc036e8e8f.js} +15 -15
  314. package/.next/{static/chunks/c8bad5d62c56feb2.js → standalone/packages/ui/.next/static/chunks/ea1a170f520100f6.js} +1 -1
  315. package/.next/standalone/packages/ui/.next/static/chunks/f1d2ff2b44324a2f.js +2 -0
  316. package/.next/standalone/packages/ui/.next/static/chunks/f30b1d00c76e6487.js +1 -0
  317. package/.next/standalone/packages/ui/.next/static/chunks/f669ccd352a5dddd.js +1 -0
  318. package/.next/{static/chunks/16b742746668b9d6.js → standalone/packages/ui/.next/static/chunks/f8c965a996875e30.js} +1 -1
  319. package/.next/standalone/packages/ui/.next/static/chunks/{1490995adc7829e2.js → f9737eb4b7281392.js} +1 -1
  320. package/.next/{static/chunks/turbopack-b52299a351b6f041.js → standalone/packages/ui/.next/static/chunks/turbopack-ee7289036a2ef92e.js} +1 -1
  321. package/.next/standalone/packages/ui/bin/ui.js +0 -0
  322. package/.next/standalone/packages/ui/package.json +30 -30
  323. package/.next/standalone/packages/ui/src/app/api/health/route.ts +9 -0
  324. package/.next/standalone/packages/ui/src/app/api/projects/[id]/dependencies/route.ts +8 -1
  325. package/.next/standalone/packages/ui/src/app/api/projects/[id]/route.ts +1 -1
  326. package/.next/standalone/packages/ui/src/app/api/projects/[id]/specs/route.ts +15 -0
  327. package/.next/standalone/packages/ui/src/app/api/projects/[id]/stats/route.ts +1 -1
  328. package/.next/standalone/packages/ui/src/app/api/projects/route.ts +1 -1
  329. package/.next/standalone/packages/ui/src/app/api/search/route.ts +54 -0
  330. package/.next/standalone/packages/ui/src/app/health/route.ts +9 -0
  331. package/.next/standalone/packages/ui/src/lib/spec-utils/frontmatter.ts +18 -15
  332. package/.next/standalone/packages/ui-components/package.json +20 -20
  333. package/.next/standalone/packages/ui-vite/package.json +24 -17
  334. package/.next/standalone/packages/ui-vite/src/components/Layout.tsx +6 -2
  335. package/.next/standalone/packages/ui-vite/src/components/MermaidDiagram.tsx +82 -0
  336. package/.next/standalone/packages/ui-vite/src/hooks/useKeyboardShortcuts.ts +5 -0
  337. package/.next/standalone/packages/ui-vite/src/pages/DashboardPage.tsx +421 -0
  338. package/.next/standalone/packages/ui-vite/src/pages/DependenciesPage.tsx +222 -36
  339. package/.next/standalone/packages/ui-vite/src/pages/SpecDetailPage.tsx +24 -1
  340. package/.next/standalone/packages/ui-vite/src/pages/StatsPage.tsx +172 -45
  341. package/.next/standalone/packages/ui-vite/src/router.tsx +3 -2
  342. package/.next/{standalone/packages/ui/.next/static/chunks/7b70989270600907.js → static/chunks/033e84ae4e602451.js} +2 -2
  343. package/.next/static/chunks/{414a78f7b9b58d11.js → 0e1982b1a6cbd127.js} +2 -2
  344. package/.next/static/chunks/12a7420acd028ffb.js +1 -0
  345. package/.next/{standalone/packages/ui/.next/static/chunks/df7e61b074dee049.js → static/chunks/1acfae010fd77014.js} +1 -1
  346. package/.next/{standalone/packages/ui/.next/static/chunks/3013cefdf3bb0932.js → static/chunks/1f73933498bb3f89.js} +1 -1
  347. package/.next/static/chunks/{af643629ba393b18.js → 219b7d9e437c6bd8.js} +2 -2
  348. package/.next/static/chunks/23a1e247c32bcc61.js +93 -0
  349. package/.next/static/chunks/25e71c18d7f735b0.js +77 -0
  350. package/.next/{standalone/packages/ui/.next/static/chunks/42eab565a0419f25.js → static/chunks/2769a6addee16819.js} +1 -1
  351. package/.next/static/chunks/2a07a20aeed845d2.js +1 -0
  352. package/.next/static/chunks/3717f57c910514ee.js +4 -0
  353. package/.next/static/chunks/3f5728744987b056.js +10 -0
  354. package/.next/static/chunks/4205e1e99dbad846.js +1 -0
  355. package/.next/static/chunks/484a82e3fed783b5.js +262 -0
  356. package/.next/static/chunks/486b12d42e9f2e10.js +1 -0
  357. package/.next/static/chunks/4928acec2f0a27a0.js +15 -0
  358. package/.next/static/chunks/4c0bd06c9ef55bdf.js +63 -0
  359. package/.next/static/chunks/{b900efab2eee69a0.js → 4d8d7e62c2743f71.js} +2 -2
  360. package/.next/static/chunks/4f2bc7a7a6b05a8b.js +55 -0
  361. package/.next/static/chunks/4fead4c15e38b33e.js +1 -0
  362. package/.next/static/chunks/{f88536b96f1df686.js → 529ac1f084e36f1a.js} +1 -1
  363. package/.next/{standalone/packages/ui/.next/static/chunks/6483096c16d96f2c.js → static/chunks/55761e35a8946a1d.js} +1 -1
  364. package/.next/static/chunks/{5fffdea0623d8a25.js → 584bad9cf2498405.js} +1 -1
  365. package/.next/static/chunks/5cf25a8967a2f486.js +215 -0
  366. package/.next/static/chunks/61d65fe807f69413.js +62 -0
  367. package/.next/static/chunks/625c67f1826b0214.js +24 -0
  368. package/.next/static/chunks/63d8fd1597f46aba.js +3 -0
  369. package/.next/static/chunks/6d040eb901b4e641.js +1 -0
  370. package/.next/static/chunks/76af2698c6233ad3.js +60 -0
  371. package/.next/{standalone/packages/ui/.next/static/chunks/37f2e45cf97245d9.js → static/chunks/7ff2a1996be67419.js} +1 -1
  372. package/.next/{standalone/packages/ui/.next/static/chunks/2136b3131f74188f.js → static/chunks/808ed0f189237446.js} +1 -1
  373. package/.next/static/chunks/81316016a1163994.js +1 -0
  374. package/.next/static/chunks/83a8941b869553c2.js +43 -0
  375. package/.next/static/chunks/83ad0e374ba914bb.js +1 -0
  376. package/.next/{standalone/packages/ui/.next/static/chunks/8ff23db3e3143bc7.js → static/chunks/86922861a757bcb1.js} +1 -1
  377. package/.next/{standalone/packages/ui/.next/static/chunks/a0b34f852bfa3d1b.js → static/chunks/962e5cad8ea716fc.js} +1 -1
  378. package/.next/static/chunks/98f112e5f904766f.js +1 -0
  379. package/.next/static/chunks/{31c5e577f282adb3.js → 9bb03156564e344d.js} +1 -1
  380. package/.next/static/chunks/9c6d5fb76690228a.js +1 -0
  381. package/.next/static/chunks/{3f94c1ef6e27c8bd.js → 9d851c7076be779f.js} +1 -1
  382. package/.next/static/chunks/9f415807575a9834.js +1 -0
  383. package/.next/static/chunks/a1d3de9e7615662e.js +160 -0
  384. package/.next/static/chunks/a7fdfeea5fd894c1.js +59 -0
  385. package/.next/static/chunks/a8a3989305bcc136.js +215 -0
  386. package/.next/static/chunks/ab47f453990e66ac.js +1 -0
  387. package/.next/static/chunks/{72dde43947381f78.js → acb938ef1d4fb5ac.js} +1 -1
  388. package/.next/static/chunks/acbfbe8ec48b9d30.js +1 -0
  389. package/.next/static/chunks/c44a73bf08ad2744.js +1 -0
  390. package/.next/static/chunks/{6c862b0bdb79830a.js → c5cbf4348920e18a.js} +1 -1
  391. package/.next/static/chunks/c5ff5834cc40cc53.js +1 -0
  392. package/.next/static/chunks/c795916b36aa4427.js +5 -0
  393. package/.next/static/chunks/cf8d56af13058933.js +29 -0
  394. package/.next/static/chunks/d0abae9ec6f86e28.js +24 -0
  395. package/.next/static/chunks/d19b45f04737fd17.js +1 -0
  396. package/.next/static/chunks/d267fa95a802a93e.js +1 -0
  397. package/.next/static/chunks/d857534107a61f01.js +13 -0
  398. package/.next/{standalone/packages/ui/.next/static/chunks/642374ace530e2bd.js → static/chunks/d9d11dc692443713.js} +1 -1
  399. package/.next/static/chunks/dd4d5318fe76181b.js +1 -0
  400. package/.next/static/chunks/e3b72bcd2506a85d.js +2 -0
  401. package/.next/static/chunks/{192b2f6118d057e2.js → e63644fc036e8e8f.js} +15 -15
  402. package/.next/{standalone/packages/ui/.next/static/chunks/c8bad5d62c56feb2.js → static/chunks/ea1a170f520100f6.js} +1 -1
  403. package/.next/static/chunks/f1d2ff2b44324a2f.js +2 -0
  404. package/.next/static/chunks/f30b1d00c76e6487.js +1 -0
  405. package/.next/static/chunks/f669ccd352a5dddd.js +1 -0
  406. package/.next/{standalone/packages/ui/.next/static/chunks/16b742746668b9d6.js → static/chunks/f8c965a996875e30.js} +1 -1
  407. package/.next/static/chunks/{1490995adc7829e2.js → f9737eb4b7281392.js} +1 -1
  408. package/.next/{standalone/packages/ui/.next/static/chunks/turbopack-b52299a351b6f041.js → static/chunks/turbopack-ee7289036a2ef92e.js} +1 -1
  409. package/package.json +44 -44
  410. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__0ca8ab51._.js +0 -3
  411. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__46661652._.js +0 -3
  412. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__5633d75c._.js +0 -21
  413. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__7c3f68e4._.js +0 -3
  414. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__8d6c6cff._.js +0 -3
  415. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__97ce74ed._.js +0 -3
  416. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__a05c13bb._.js +0 -3
  417. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__a1582fad._.js +0 -3
  418. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__b6844128._.js +0 -3
  419. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__be4523bf._.js +0 -3
  420. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__e8070afd._.js +0 -3
  421. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__e891242e._.js +0 -3
  422. package/.next/standalone/packages/ui/.next/server/chunks/_14bcb343._.js +0 -3
  423. package/.next/standalone/packages/ui/.next/server/chunks/_545e404c._.js +0 -3
  424. package/.next/standalone/packages/ui/.next/server/chunks/_69a771f4._.js +0 -3
  425. package/.next/standalone/packages/ui/.next/server/chunks/_6b7380f1._.js +0 -3
  426. package/.next/standalone/packages/ui/.next/server/chunks/_82045c93._.js +0 -3
  427. package/.next/standalone/packages/ui/.next/server/chunks/_b7cdc48c._.js +0 -3
  428. package/.next/standalone/packages/ui/.next/server/chunks/_bedf0a4e._.js +0 -3
  429. package/.next/standalone/packages/ui/.next/server/chunks/_d3fd96f5._.js +0 -3
  430. package/.next/standalone/packages/ui/.next/server/chunks/_eef7dd10._.js +0 -3
  431. package/.next/standalone/packages/ui/.next/server/chunks/ssr/641df_lodash-es_057c0674._.js +0 -3
  432. package/.next/standalone/packages/ui/.next/server/chunks/ssr/641df_lodash-es_4b57a3a3._.js +0 -3
  433. package/.next/standalone/packages/ui/.next/server/chunks/ssr/641df_lodash-es_4d3de843._.js +0 -3
  434. package/.next/standalone/packages/ui/.next/server/chunks/ssr/641df_lodash-es_5f3103e1._.js +0 -3
  435. package/.next/standalone/packages/ui/.next/server/chunks/ssr/641df_lodash-es_bcc35893._.js +0 -3
  436. package/.next/standalone/packages/ui/.next/server/chunks/ssr/641df_lodash-es_f2ef1919._.js +0 -3
  437. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_c4Diagram-YG6GDRKO_mjs_0683be9f._.js +0 -7
  438. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-ABZYJK2D_mjs_4034a85b._.js +0 -79
  439. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-B4BG7PRW_mjs_3190ac39._.js +0 -162
  440. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-JA3XYJ7Z_mjs_4c9b0254._.js +0 -62
  441. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-S3R3BYOJ_mjs_0c8df0bf._.js +0 -4
  442. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_dagre-6UL2VRFP_mjs_2a0e551c._.js +0 -3
  443. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_erDiagram-Q2GNP2WA_mjs_2956542e._.js +0 -57
  444. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_f71564d9._.js +0 -3
  445. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_gitGraphDiagram-NY62KEGX_mjs_fe41f076._.js +0 -65
  446. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_journeyDiagram-XKPGCS4Q_mjs_8b9c3e68._.js +0 -136
  447. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_kanban-definition-3W4ZIXB7_mjs_d8e6de34._.js +0 -81
  448. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_quadrantDiagram-AYHSOK5B_mjs_50c2110d._.js +0 -3
  449. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_requirementDiagram-UZGBJVZJ_mjs_8f86dea7._.js +0 -61
  450. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_stateDiagram-FKZM4ZOC_mjs_2bd67ce9._.js +0 -3
  451. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_xychartDiagram-PRI3JC2R_mjs_7eec04e0._.js +0 -3
  452. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_mermaid_core_mjs_1c407865._.js +0 -9
  453. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__a34731d8._.js +0 -3
  454. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__b0d6e2ad._.js +0 -3
  455. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__e4a2bcdd._.js +0 -64
  456. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_14e94498._.js +0 -7
  457. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_228deb98._.js +0 -3
  458. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_3e8b1549._.js +0 -3
  459. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_55d5049a._.js +0 -5
  460. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_6766b4f3._.js +0 -3
  461. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_6901fbea._.js +0 -3
  462. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_c9ad4c99._.js +0 -3
  463. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_1120b57c._.js +0 -3
  464. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_157f6c24._.js +0 -3
  465. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_1aec4342._.js +0 -17
  466. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_2a29db83._.js +0 -3
  467. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_3ba1438c._.js +0 -3
  468. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_69372f5b._.js +0 -3
  469. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_7434d351._.js +0 -3
  470. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_7791e3b8._.js +0 -3
  471. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_88c8b88b._.js +0 -3
  472. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_b247a526._.js +0 -264
  473. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_c17f27b1._.js +0 -45
  474. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_e175b92a._.js +0 -31
  475. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_e440897f._.js +0 -3
  476. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_e8075f9b._.js +0 -3
  477. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_ea1bddc7._.js +0 -3
  478. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_f732d0bb._.js +0 -26
  479. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_f919ef4a._.js +0 -3
  480. package/.next/standalone/packages/ui/.next/static/chunks/038fb2d565c88582.js +0 -2
  481. package/.next/standalone/packages/ui/.next/static/chunks/051e1aa02e4b28a5.js +0 -1
  482. package/.next/standalone/packages/ui/.next/static/chunks/0def4e3de105a498.js +0 -1
  483. package/.next/standalone/packages/ui/.next/static/chunks/1104de0c16e0b792.js +0 -59
  484. package/.next/standalone/packages/ui/.next/static/chunks/19e520f0833c8219.js +0 -1
  485. package/.next/standalone/packages/ui/.next/static/chunks/1a910f137d27fff0.js +0 -63
  486. package/.next/standalone/packages/ui/.next/static/chunks/1c6db91bce771c18.js +0 -1
  487. package/.next/standalone/packages/ui/.next/static/chunks/2b8dd40cfd46d975.js +0 -60
  488. package/.next/standalone/packages/ui/.next/static/chunks/305b74f3c20cb4ef.js +0 -1
  489. package/.next/standalone/packages/ui/.next/static/chunks/39691fae9a3463fe.js +0 -262
  490. package/.next/standalone/packages/ui/.next/static/chunks/3a683a37eeba41f4.js +0 -1
  491. package/.next/standalone/packages/ui/.next/static/chunks/3bb1648a5b264c9d.js +0 -1
  492. package/.next/standalone/packages/ui/.next/static/chunks/4610aea3ca2e69eb.js +0 -2
  493. package/.next/standalone/packages/ui/.next/static/chunks/49acb2b7b420dc50.js +0 -13
  494. package/.next/standalone/packages/ui/.next/static/chunks/4e85dea329906168.js +0 -1
  495. package/.next/standalone/packages/ui/.next/static/chunks/525d6cb99a13c44a.js +0 -215
  496. package/.next/standalone/packages/ui/.next/static/chunks/5295f0e82fd2a6d3.js +0 -24
  497. package/.next/standalone/packages/ui/.next/static/chunks/53c8177744c358e1.js +0 -1
  498. package/.next/standalone/packages/ui/.next/static/chunks/567bc31005c31006.js +0 -1
  499. package/.next/standalone/packages/ui/.next/static/chunks/56894ea818ee2a54.js +0 -1
  500. package/.next/standalone/packages/ui/.next/static/chunks/64543dbd7a7a99b7.js +0 -1
  501. package/.next/standalone/packages/ui/.next/static/chunks/6f3c460ef90843d6.js +0 -215
  502. package/.next/standalone/packages/ui/.next/static/chunks/8287406f2fe1c1c3.js +0 -1
  503. package/.next/standalone/packages/ui/.next/static/chunks/85b2b8ec762b7c79.js +0 -62
  504. package/.next/standalone/packages/ui/.next/static/chunks/89a8f922ce491ce9.js +0 -93
  505. package/.next/standalone/packages/ui/.next/static/chunks/8e74116482d87a39.js +0 -1
  506. package/.next/standalone/packages/ui/.next/static/chunks/93f68e12f388e2bb.js +0 -1
  507. package/.next/standalone/packages/ui/.next/static/chunks/942cf63b4032c808.js +0 -29
  508. package/.next/standalone/packages/ui/.next/static/chunks/97c8160044aea609.js +0 -77
  509. package/.next/standalone/packages/ui/.next/static/chunks/9f111762e88812e3.js +0 -1
  510. package/.next/standalone/packages/ui/.next/static/chunks/a95be4ea7999efee.js +0 -5
  511. package/.next/standalone/packages/ui/.next/static/chunks/abaf0381e8007624.js +0 -1
  512. package/.next/standalone/packages/ui/.next/static/chunks/c762baa705e11b30.js +0 -1
  513. package/.next/standalone/packages/ui/.next/static/chunks/d35b70bce9e2e4a3.js +0 -10
  514. package/.next/standalone/packages/ui/.next/static/chunks/d43971093c91d3b2.js +0 -160
  515. package/.next/standalone/packages/ui/.next/static/chunks/dc394e2327882613.js +0 -3
  516. package/.next/standalone/packages/ui/.next/static/chunks/dd8e053aa48c6398.js +0 -1
  517. package/.next/standalone/packages/ui/.next/static/chunks/ddc7726e19e5e25c.js +0 -43
  518. package/.next/standalone/packages/ui/.next/static/chunks/e20849e3abe63aa5.js +0 -55
  519. package/.next/standalone/packages/ui/.next/static/chunks/e2792c100b4041a1.js +0 -15
  520. package/.next/standalone/packages/ui/.next/static/chunks/e3bc96a996e2a314.js +0 -24
  521. package/.next/standalone/packages/ui/.next/static/chunks/e5aab2c562822175.js +0 -1
  522. package/.next/standalone/packages/ui/.next/static/chunks/efbbc4dc4b32a270.js +0 -4
  523. package/.next/standalone/packages/ui/.next/static/chunks/fcf01915df415518.js +0 -1
  524. package/.next/static/chunks/038fb2d565c88582.js +0 -2
  525. package/.next/static/chunks/051e1aa02e4b28a5.js +0 -1
  526. package/.next/static/chunks/0def4e3de105a498.js +0 -1
  527. package/.next/static/chunks/1104de0c16e0b792.js +0 -59
  528. package/.next/static/chunks/19e520f0833c8219.js +0 -1
  529. package/.next/static/chunks/1a910f137d27fff0.js +0 -63
  530. package/.next/static/chunks/1c6db91bce771c18.js +0 -1
  531. package/.next/static/chunks/2b8dd40cfd46d975.js +0 -60
  532. package/.next/static/chunks/305b74f3c20cb4ef.js +0 -1
  533. package/.next/static/chunks/39691fae9a3463fe.js +0 -262
  534. package/.next/static/chunks/3a683a37eeba41f4.js +0 -1
  535. package/.next/static/chunks/3bb1648a5b264c9d.js +0 -1
  536. package/.next/static/chunks/4610aea3ca2e69eb.js +0 -2
  537. package/.next/static/chunks/49acb2b7b420dc50.js +0 -13
  538. package/.next/static/chunks/4e85dea329906168.js +0 -1
  539. package/.next/static/chunks/525d6cb99a13c44a.js +0 -215
  540. package/.next/static/chunks/5295f0e82fd2a6d3.js +0 -24
  541. package/.next/static/chunks/53c8177744c358e1.js +0 -1
  542. package/.next/static/chunks/567bc31005c31006.js +0 -1
  543. package/.next/static/chunks/56894ea818ee2a54.js +0 -1
  544. package/.next/static/chunks/64543dbd7a7a99b7.js +0 -1
  545. package/.next/static/chunks/6f3c460ef90843d6.js +0 -215
  546. package/.next/static/chunks/8287406f2fe1c1c3.js +0 -1
  547. package/.next/static/chunks/85b2b8ec762b7c79.js +0 -62
  548. package/.next/static/chunks/89a8f922ce491ce9.js +0 -93
  549. package/.next/static/chunks/8e74116482d87a39.js +0 -1
  550. package/.next/static/chunks/93f68e12f388e2bb.js +0 -1
  551. package/.next/static/chunks/942cf63b4032c808.js +0 -29
  552. package/.next/static/chunks/97c8160044aea609.js +0 -77
  553. package/.next/static/chunks/9f111762e88812e3.js +0 -1
  554. package/.next/static/chunks/a95be4ea7999efee.js +0 -5
  555. package/.next/static/chunks/abaf0381e8007624.js +0 -1
  556. package/.next/static/chunks/c762baa705e11b30.js +0 -1
  557. package/.next/static/chunks/d35b70bce9e2e4a3.js +0 -10
  558. package/.next/static/chunks/d43971093c91d3b2.js +0 -160
  559. package/.next/static/chunks/dc394e2327882613.js +0 -3
  560. package/.next/static/chunks/dd8e053aa48c6398.js +0 -1
  561. package/.next/static/chunks/ddc7726e19e5e25c.js +0 -43
  562. package/.next/static/chunks/e20849e3abe63aa5.js +0 -55
  563. package/.next/static/chunks/e2792c100b4041a1.js +0 -15
  564. package/.next/static/chunks/e3bc96a996e2a314.js +0 -24
  565. package/.next/static/chunks/e5aab2c562822175.js +0 -1
  566. package/.next/static/chunks/efbbc4dc4b32a270.js +0 -4
  567. package/.next/static/chunks/fcf01915df415518.js +0 -1
  568. /package/.next/standalone/packages/ui/.next/static/{go0tWfyUzaZ0Q5O1ihd6x → 42z5C6Wiqc0rFyIDpNUDz}/_buildManifest.js +0 -0
  569. /package/.next/standalone/packages/ui/.next/static/{go0tWfyUzaZ0Q5O1ihd6x → 42z5C6Wiqc0rFyIDpNUDz}/_clientMiddlewareManifest.json +0 -0
  570. /package/.next/standalone/packages/ui/.next/static/{go0tWfyUzaZ0Q5O1ihd6x → 42z5C6Wiqc0rFyIDpNUDz}/_ssgManifest.js +0 -0
  571. /package/.next/static/{go0tWfyUzaZ0Q5O1ihd6x → 42z5C6Wiqc0rFyIDpNUDz}/_buildManifest.js +0 -0
  572. /package/.next/static/{go0tWfyUzaZ0Q5O1ihd6x → 42z5C6Wiqc0rFyIDpNUDz}/_clientMiddlewareManifest.json +0 -0
  573. /package/.next/static/{go0tWfyUzaZ0Q5O1ihd6x → 42z5C6Wiqc0rFyIDpNUDz}/_ssgManifest.js +0 -0
@@ -1,93 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,628013,e=>{"use strict";var t=(0,e.i(625393).__name)(()=>`
2
- /* Font Awesome icon styling - consolidated */
3
- .label-icon {
4
- display: inline-block;
5
- height: 1em;
6
- overflow: visible;
7
- vertical-align: -0.125em;
8
- }
9
-
10
- .node .label-icon path {
11
- fill: currentColor;
12
- stroke: revert;
13
- stroke-width: revert;
14
- }
15
- `,"getIconStyles");e.s(["getIconStyles",()=>t])},649762,e=>{"use strict";var t=e.i(92623),i=e.i(628013),n=e.i(105410),s=e.i(659885);e.i(760783),e.i(966150),e.i(654152),e.i(612938);var r=e.i(697619),a=e.i(625393),o=e.i(859811),l=e.i(880915),c=e.i(664072),h=function(){var e=(0,a.__name)(function(e,t,i,n){for(i=i||{},n=e.length;n--;i[e[n]]=t);return i},"o"),t=[1,4],i=[1,13],n=[1,12],s=[1,15],r=[1,16],o=[1,20],l=[1,19],c=[6,7,8],h=[1,26],g=[1,24],u=[1,25],d=[6,7,11],p=[1,31],y=[6,7,11,24],_=[1,6,13,16,17,20,23],m=[1,35],f=[1,36],b=[1,6,7,11,13,16,17,20,23],k=[1,38],E={trace:(0,a.__name)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,KANBAN:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,shapeData:15,ICON:16,CLASS:17,nodeWithId:18,nodeWithoutId:19,NODE_DSTART:20,NODE_DESCR:21,NODE_DEND:22,NODE_ID:23,SHAPE_DATA:24,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"KANBAN",11:"EOF",13:"SPACELIST",16:"ICON",17:"CLASS",20:"NODE_DSTART",21:"NODE_DESCR",22:"NODE_DEND",23:"NODE_ID",24:"SHAPE_DATA"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,3],[12,2],[12,2],[12,2],[12,1],[12,2],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[19,3],[18,1],[18,4],[15,2],[15,1]],performAction:(0,a.__name)(function(e,t,i,n,s,r,a){var o=r.length-1;switch(s){case 6:case 7:return n;case 8:n.getLogger().trace("Stop NL ");break;case 9:n.getLogger().trace("Stop EOF ");break;case 11:n.getLogger().trace("Stop NL2 ");break;case 12:n.getLogger().trace("Stop EOF2 ");break;case 15:n.getLogger().info("Node: ",r[o-1].id),n.addNode(r[o-2].length,r[o-1].id,r[o-1].descr,r[o-1].type,r[o]);break;case 16:n.getLogger().info("Node: ",r[o].id),n.addNode(r[o-1].length,r[o].id,r[o].descr,r[o].type);break;case 17:n.getLogger().trace("Icon: ",r[o]),n.decorateNode({icon:r[o]});break;case 18:case 23:n.decorateNode({class:r[o]});break;case 19:n.getLogger().trace("SPACELIST");break;case 20:n.getLogger().trace("Node: ",r[o-1].id),n.addNode(0,r[o-1].id,r[o-1].descr,r[o-1].type,r[o]);break;case 21:n.getLogger().trace("Node: ",r[o].id),n.addNode(0,r[o].id,r[o].descr,r[o].type);break;case 22:n.decorateNode({icon:r[o]});break;case 27:n.getLogger().trace("node found ..",r[o-2]),this.$={id:r[o-1],descr:r[o-1],type:n.getType(r[o-2],r[o])};break;case 28:this.$={id:r[o],descr:r[o],type:0};break;case 29:n.getLogger().trace("node found ..",r[o-3]),this.$={id:r[o-3],descr:r[o-1],type:n.getType(r[o-2],r[o])};break;case 30:this.$=r[o-1]+r[o];break;case 31:this.$=r[o]}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:t},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:t},{6:i,7:[1,10],9:9,12:11,13:n,14:14,16:s,17:r,18:17,19:18,20:o,23:l},e(c,[2,3]),{1:[2,2]},e(c,[2,4]),e(c,[2,5]),{1:[2,6],6:i,12:21,13:n,14:14,16:s,17:r,18:17,19:18,20:o,23:l},{6:i,9:22,12:11,13:n,14:14,16:s,17:r,18:17,19:18,20:o,23:l},{6:h,7:g,10:23,11:u},e(d,[2,24],{18:17,19:18,14:27,16:[1,28],17:[1,29],20:o,23:l}),e(d,[2,19]),e(d,[2,21],{15:30,24:p}),e(d,[2,22]),e(d,[2,23]),e(y,[2,25]),e(y,[2,26]),e(y,[2,28],{20:[1,32]}),{21:[1,33]},{6:h,7:g,10:34,11:u},{1:[2,7],6:i,12:21,13:n,14:14,16:s,17:r,18:17,19:18,20:o,23:l},e(_,[2,14],{7:m,11:f}),e(b,[2,8]),e(b,[2,9]),e(b,[2,10]),e(d,[2,16],{15:37,24:p}),e(d,[2,17]),e(d,[2,18]),e(d,[2,20],{24:k}),e(y,[2,31]),{21:[1,39]},{22:[1,40]},e(_,[2,13],{7:m,11:f}),e(b,[2,11]),e(b,[2,12]),e(d,[2,15],{24:k}),e(y,[2,30]),{22:[1,41]},e(y,[2,27]),e(y,[2,29])],defaultActions:{2:[2,1],6:[2,2]},parseError:(0,a.__name)(function(e,t){if(t.recoverable)this.trace(e);else{var i=Error(e);throw i.hash=t,i}},"parseError"),parse:(0,a.__name)(function(e){var t=this,i=[0],n=[],s=[null],r=[],o=this.table,l="",c=0,h=0,g=0,u=r.slice.call(arguments,1),d=Object.create(this.lexer),p={};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(p[y]=this.yy[y]);d.setInput(e,p),p.lexer=d,p.parser=this,void 0===d.yylloc&&(d.yylloc={});var _=d.yylloc;r.push(_);var m=d.options&&d.options.ranges;function f(){var e;return"number"!=typeof(e=n.pop()||d.lex()||1)&&(e instanceof Array&&(e=(n=e).pop()),e=t.symbols_[e]||e),e}"function"==typeof p.parseError?this.parseError=p.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,a.__name)(function(e){i.length=i.length-2*e,s.length=s.length-e,r.length=r.length-e},"popStack"),(0,a.__name)(f,"lex");for(var b,k,E,S,N,x,D,L,C,v={};;){if(E=i[i.length-1],this.defaultActions[E]?S=this.defaultActions[E]:(null==b&&(b=f()),S=o[E]&&o[E][b]),void 0===S||!S.length||!S[0]){var I="";for(x in C=[],o[E])this.terminals_[x]&&x>2&&C.push("'"+this.terminals_[x]+"'");I=d.showPosition?"Parse error on line "+(c+1)+":\n"+d.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==b?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(I,{text:d.match,token:this.terminals_[b]||b,line:d.yylineno,loc:_,expected:C})}if(S[0]instanceof Array&&S.length>1)throw Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(S[0]){case 1:i.push(b),s.push(d.yytext),r.push(d.yylloc),i.push(S[1]),b=null,k?(b=k,k=null):(h=d.yyleng,l=d.yytext,c=d.yylineno,_=d.yylloc,g>0&&g--);break;case 2:if(D=this.productions_[S[1]][1],v.$=s[s.length-D],v._$={first_line:r[r.length-(D||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(D||1)].first_column,last_column:r[r.length-1].last_column},m&&(v._$.range=[r[r.length-(D||1)].range[0],r[r.length-1].range[1]]),void 0!==(N=this.performAction.apply(v,[l,h,c,p,S[1],s,r].concat(u))))return N;D&&(i=i.slice(0,-1*D*2),s=s.slice(0,-1*D),r=r.slice(0,-1*D)),i.push(this.productions_[S[1]][0]),s.push(v.$),r.push(v._$),L=o[i[i.length-2]][i[i.length-1]],i.push(L);break;case 3:return!0}}return!0},"parse")};function S(){this.yy={}}return E.lexer={EOF:1,parseError:(0,a.__name)(function(e,t){if(this.yy.parser)this.yy.parser.parseError(e,t);else throw Error(e)},"parseError"),setInput:(0,a.__name)(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,a.__name)(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:(0,a.__name)(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var s=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===n.length?this.yylloc.first_column:0)+n[n.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[s[0],s[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:(0,a.__name)(function(){return this._more=!0,this},"more"),reject:(0,a.__name)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,a.__name)(function(e){this.unput(this.match.slice(e))},"less"),pastInput:(0,a.__name)(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,a.__name)(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,a.__name)(function(){var e=this.pastInput(),t=Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},"showPosition"),test_match:(0,a.__name)(function(e,t){var i,n,s;if(this.options.backtrack_lexer&&(s={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(s.yylloc.range=this.yylloc.range.slice(0))),(n=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],i=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in s)this[r]=s[r];return!1},"test_match"),next:(0,a.__name)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var e,t,i,n,s=this._currentRules(),r=0;r<s.length;r++)if((i=this._input.match(this.rules[s[r]]))&&(!t||i[0].length>t[0].length)){if(t=i,n=r,this.options.backtrack_lexer){if(!1!==(e=this.test_match(i,s[r])))return e;if(!this._backtrack)return!1;t=!1;continue}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,s[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,a.__name)(function(){var e=this.next();return e||this.lex()},"lex"),begin:(0,a.__name)(function(e){this.conditionStack.push(e)},"begin"),popState:(0,a.__name)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,a.__name)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,a.__name)(function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},"topState"),pushState:(0,a.__name)(function(e){this.begin(e)},"pushState"),stateStackSize:(0,a.__name)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,a.__name)(function(e,t,i,n){switch(i){case 0:return this.pushState("shapeData"),t.yytext="",24;case 1:return this.pushState("shapeDataStr"),24;case 2:return this.popState(),24;case 3:return t.yytext=t.yytext.replace(/\n\s*/g,"<br/>"),24;case 4:return 24;case 5:case 10:case 29:case 32:this.popState();break;case 6:return e.getLogger().trace("Found comment",t.yytext),6;case 7:return 8;case 8:this.begin("CLASS");break;case 9:return this.popState(),17;case 11:e.getLogger().trace("Begin icon"),this.begin("ICON");break;case 12:return e.getLogger().trace("SPACELINE"),6;case 13:return 7;case 14:return 16;case 15:e.getLogger().trace("end icon"),this.popState();break;case 16:return e.getLogger().trace("Exploding node"),this.begin("NODE"),20;case 17:return e.getLogger().trace("Cloud"),this.begin("NODE"),20;case 18:return e.getLogger().trace("Explosion Bang"),this.begin("NODE"),20;case 19:return e.getLogger().trace("Cloud Bang"),this.begin("NODE"),20;case 20:case 21:case 22:case 23:return this.begin("NODE"),20;case 24:return 13;case 25:return 23;case 26:return 11;case 27:this.begin("NSTR2");break;case 28:return"NODE_DESCR";case 30:e.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 31:return e.getLogger().trace("description:",t.yytext),"NODE_DESCR";case 33:return this.popState(),e.getLogger().trace("node end ))"),"NODE_DEND";case 34:return this.popState(),e.getLogger().trace("node end )"),"NODE_DEND";case 35:return this.popState(),e.getLogger().trace("node end ...",t.yytext),"NODE_DEND";case 36:case 39:case 40:return this.popState(),e.getLogger().trace("node end (("),"NODE_DEND";case 37:case 38:return this.popState(),e.getLogger().trace("node end (-"),"NODE_DEND";case 41:case 42:return e.getLogger().trace("Long description:",t.yytext),21}},"anonymous"),rules:[/^(?:@\{)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^\"]+)/i,/^(?:[^}^"]+)/i,/^(?:\})/i,/^(?:\s*%%.*)/i,/^(?:kanban\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}@]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{shapeDataEndBracket:{rules:[],inclusive:!1},shapeDataStr:{rules:[2,3],inclusive:!1},shapeData:{rules:[1,4,5],inclusive:!1},CLASS:{rules:[9,10],inclusive:!1},ICON:{rules:[14,15],inclusive:!1},NSTR2:{rules:[28,29],inclusive:!1},NSTR:{rules:[31,32],inclusive:!1},NODE:{rules:[27,30,33,34,35,36,37,38,39,40,41,42],inclusive:!1},INITIAL:{rules:[0,6,7,8,11,12,13,16,17,18,19,20,21,22,23,24,25,26],inclusive:!0}}},(0,a.__name)(S,"Parser"),S.prototype=E,E.Parser=S,new S}();h.parser=h;var g=[],u=[],d=0,p={},y=(0,a.__name)(()=>{g=[],u=[],d=0,p={}},"clear"),_=(0,a.__name)(e=>{if(0===g.length)return null;let t=g[0].level,i=null;for(let e=g.length-1;e>=0;e--)if(g[e].level!==t||i||(i=g[e]),g[e].level<t)throw Error('Items without section detected, found section ("'+g[e].label+'")');return e===i?.level?null:i},"getSection"),m=(0,a.__name)(function(){return u},"getSections"),f=(0,a.__name)(function(){let e=[],t=m(),i=(0,r.getConfig2)();for(let n of t){let t={id:n.id,label:(0,r.sanitizeText)(n.label??"",i),isGroup:!0,ticket:n.ticket,shape:"kanbanSection",level:n.level,look:i.look};for(let s of(e.push(t),g.filter(e=>e.parentId===n.id))){let t={id:s.id,parentId:n.id,label:(0,r.sanitizeText)(s.label??"",i),isGroup:!1,ticket:s?.ticket,priority:s?.priority,assigned:s?.assigned,icon:s?.icon,shape:"kanbanItem",level:s.level,rx:5,ry:5,cssStyles:["text-align: left"]};e.push(t)}}return{nodes:e,edges:[],other:{},config:(0,r.getConfig2)()}},"getData"),b=(0,a.__name)((e,t,i,s,a)=>{let o=(0,r.getConfig2)(),l=o.mindmap?.padding??r.defaultConfig_default.mindmap.padding;switch(s){case k.ROUNDED_RECT:case k.RECT:case k.HEXAGON:l*=2}let c={id:(0,r.sanitizeText)(t,o)||"kbn"+d++,level:e,label:(0,r.sanitizeText)(i,o),width:o.mindmap?.maxNodeWidth??r.defaultConfig_default.mindmap.maxNodeWidth,padding:l,isGroup:!1};if(void 0!==a){let e;e=a.includes("\n")?a+"\n":"{\n"+a+"\n}";let t=(0,n.load)(e,{schema:n.JSON_SCHEMA});if(t.shape&&(t.shape!==t.shape.toLowerCase()||t.shape.includes("_")))throw Error(`No such shape: ${t.shape}. Shape names should be lowercase.`);t?.shape&&"kanbanItem"===t.shape&&(c.shape=t?.shape),t?.label&&(c.label=t?.label),t?.icon&&(c.icon=t?.icon.toString()),t?.assigned&&(c.assigned=t?.assigned.toString()),t?.ticket&&(c.ticket=t?.ticket.toString()),t?.priority&&(c.priority=t?.priority)}let h=_(e);h?c.parentId=h.id||"kbn"+d++:u.push(c),g.push(c)},"addNode"),k={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},E=(0,a.__name)((e,t)=>{switch(a.log.debug("In get type",e,t),e){case"[":return k.RECT;case"(":return")"===t?k.ROUNDED_RECT:k.CLOUD;case"((":return k.CIRCLE;case")":return k.CLOUD;case"))":return k.BANG;case"{{":return k.HEXAGON;default:return k.DEFAULT}},"getType"),S=(0,a.__name)((e,t)=>{p[e]=t},"setElementForId"),N=(0,a.__name)(e=>{if(!e)return;let t=(0,r.getConfig2)(),i=g[g.length-1];e.icon&&(i.icon=(0,r.sanitizeText)(e.icon,t)),e.class&&(i.cssClasses=(0,r.sanitizeText)(e.class,t))},"decorateNode"),x=(0,a.__name)(e=>{switch(e){case k.DEFAULT:return"no-border";case k.RECT:return"rect";case k.ROUNDED_RECT:return"rounded-rect";case k.CIRCLE:return"circle";case k.CLOUD:return"cloud";case k.BANG:return"bang";case k.HEXAGON:return"hexgon";default:return"no-border"}},"type2Str"),D=(0,a.__name)(()=>a.log,"getLogger"),L=(0,a.__name)(e=>p[e],"getElementById"),C=(0,a.__name)(async(e,i,n,o)=>{a.log.debug("Rendering kanban diagram\n"+e);let l=o.db.getData(),c=(0,r.getConfig2)();c.htmlLabels=!1;let h=(0,t.selectSvgElement)(i),g=h.append("g");g.attr("class","sections");let u=h.append("g");u.attr("class","items");let d=l.nodes.filter(e=>e.isGroup),p=0,y=[],_=25;for(let e of d){let t=c?.kanban?.sectionWidth||200;e.x=t*(p+=1)+(p-1)*10/2,e.width=t,e.y=0,e.height=3*t,e.rx=5,e.ry=5,e.cssClasses=e.cssClasses+" section-"+p;let i=await (0,s.insertCluster)(g,e);_=Math.max(_,i?.labelBBox?.height),y.push(i)}let m=0;for(let e of d){let t=y[m];m+=1;let i=c?.kanban?.sectionWidth||200,n=-(3*i)/2+_,r=n;for(let t of l.nodes.filter(t=>t.parentId===e.id)){if(t.isGroup)throw Error("Groups within groups are not allowed in Kanban diagrams");t.x=e.x,t.width=i-15;let n=(await (0,s.insertNode)(u,t,{config:c})).node().getBBox();t.y=r+n.height/2,await (0,s.positionNode)(t),r=t.y+n.height/2+5}let a=t.cluster.select("rect"),o=Math.max(r-n+30,50)+(_-25);a.attr("height",o)}(0,r.setupGraphViewbox)(void 0,h,c.mindmap?.padding??r.defaultConfig_default.kanban.padding,c.mindmap?.useMaxWidth??r.defaultConfig_default.kanban.useMaxWidth)},"draw"),v=(0,a.__name)(e=>{let t="";for(let t=0;t<e.THEME_COLOR_LIMIT;t++)e["lineColor"+t]=e["lineColor"+t]||e["cScaleInv"+t],(0,c.isDark)(e["lineColor"+t])?e["lineColor"+t]=(0,l.lighten)(e["lineColor"+t],20):e["lineColor"+t]=(0,o.darken)(e["lineColor"+t],20);let i=(0,a.__name)((t,i)=>e.darkMode?(0,o.darken)(t,i):(0,l.lighten)(t,i),"adjuster");for(let n=0;n<e.THEME_COLOR_LIMIT;n++){let s=""+(17-3*n);t+=`
16
- .section-${n-1} rect, .section-${n-1} path, .section-${n-1} circle, .section-${n-1} polygon, .section-${n-1} path {
17
- fill: ${i(e["cScale"+n],10)};
18
- stroke: ${i(e["cScale"+n],10)};
19
-
20
- }
21
- .section-${n-1} text {
22
- fill: ${e["cScaleLabel"+n]};
23
- }
24
- .node-icon-${n-1} {
25
- font-size: 40px;
26
- color: ${e["cScaleLabel"+n]};
27
- }
28
- .section-edge-${n-1}{
29
- stroke: ${e["cScale"+n]};
30
- }
31
- .edge-depth-${n-1}{
32
- stroke-width: ${s};
33
- }
34
- .section-${n-1} line {
35
- stroke: ${e["cScaleInv"+n]} ;
36
- stroke-width: 3;
37
- }
38
-
39
- .disabled, .disabled circle, .disabled text {
40
- fill: lightgray;
41
- }
42
- .disabled text {
43
- fill: #efefef;
44
- }
45
-
46
- .node rect,
47
- .node circle,
48
- .node ellipse,
49
- .node polygon,
50
- .node path {
51
- fill: ${e.background};
52
- stroke: ${e.nodeBorder};
53
- stroke-width: 1px;
54
- }
55
-
56
- .kanban-ticket-link {
57
- fill: ${e.background};
58
- stroke: ${e.nodeBorder};
59
- text-decoration: underline;
60
- }
61
- `}return t},"genSections"),I={db:{clear:y,addNode:b,getSections:m,getData:f,nodeType:k,getType:E,setElementForId:S,decorateNode:N,type2Str:x,getLogger:D,getElementById:L},renderer:{draw:C},parser:h,styles:(0,a.__name)(e=>`
62
- .edge {
63
- stroke-width: 3;
64
- }
65
- ${v(e)}
66
- .section-root rect, .section-root path, .section-root circle, .section-root polygon {
67
- fill: ${e.git0};
68
- }
69
- .section-root text {
70
- fill: ${e.gitBranchLabel0};
71
- }
72
- .icon-container {
73
- height:100%;
74
- display: flex;
75
- justify-content: center;
76
- align-items: center;
77
- }
78
- .edge {
79
- fill: none;
80
- }
81
- .cluster-label, .label {
82
- color: ${e.textColor};
83
- fill: ${e.textColor};
84
- }
85
- .kanban-label {
86
- dy: 1em;
87
- alignment-baseline: middle;
88
- text-anchor: middle;
89
- dominant-baseline: middle;
90
- text-align: center;
91
- }
92
- ${(0,i.getIconStyles)()}
93
- `,"getStyles")};e.s(["diagram",()=>I])}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,787949,e=>{"use strict";let t=(0,e.i(122436).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);e.s(["Loader2",()=>t],787949)},141855,717901,e=>{"use strict";var t=e.i(88636),r=e.i(124892);let o="default";function n(e){return!e||e===o}function i(e){return e&&e!==o?e:o}e.s(["DEFAULT_PROJECT_ID",0,o,"isDefaultProject",()=>n,"normalizeProjectId",()=>i],717901);let a=(0,r.createContext)(null);function s(){let e=(0,r.useContext)(a);if(!e)throw Error("useProject must be used within ProjectProvider");return e}function c({children:e,initialProjectId:o}){let[n,i]=(0,r.useState)("single-project"),[s,c]=(0,r.useState)(null),[l,d]=(0,r.useState)([]),[u,p]=(0,r.useState)([]),[g,h]=(0,r.useState)([]),[f,m]=(0,r.useState)(!0),[y,b]=(0,r.useState)(null),S=(0,r.useCallback)(async()=>{try{m(!0),b(null);let e=await fetch("/api/projects");if(!e.ok)throw Error("Failed to fetch projects");let t=await e.json();if(i(t.mode||"single-project"),d(t.projects||[]),p(t.recentProjects||[]),h(t.favoriteProjects||[]),!s&&t.projects.length>0){let e=o?t.projects.find(e=>e.id===o):t.recentProjects?.[0]||t.projects[0];e&&c(e)}}catch(e){console.error("Error fetching projects:",e),b(e instanceof Error?e.message:"Failed to load projects")}finally{m(!1)}},[s,o]),v=(0,r.useCallback)(async e=>{try{let t=await fetch(`/api/projects/${e}`);if(!t.ok)throw Error("Failed to fetch project");let r=await t.json();c(r.project),await S()}catch(e){throw console.error("Error switching project:",e),b(e instanceof Error?e.message:"Failed to switch project"),e}},[S]),w=(0,r.useCallback)(async(e,t)=>{try{let r=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e,...t})});if(!r.ok){let e=await r.json();throw Error(e.details||"Failed to add project")}let o=await r.json();return await S(),o.project}catch(e){throw console.error("Error adding project:",e),b(e instanceof Error?e.message:"Failed to add project"),e}},[S]),k=(0,r.useCallback)(async e=>{try{if(!(await fetch(`/api/projects/${e}`,{method:"DELETE"})).ok)throw Error("Failed to remove project");if(s?.id===e){let t=l.find(t=>t.id!==e);c(t||null)}await S()}catch(e){throw console.error("Error removing project:",e),b(e instanceof Error?e.message:"Failed to remove project"),e}},[s,l,S]),j=(0,r.useCallback)(async e=>{try{if(!(await fetch(`/api/projects/${e}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({favorite:!0})})).ok)throw Error("Failed to toggle favorite");await S()}catch(e){throw console.error("Error toggling favorite:",e),b(e instanceof Error?e.message:"Failed to toggle favorite"),e}},[S]),P=(0,r.useCallback)(async(e,t)=>{try{if(!(await fetch(`/api/projects/${e}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})).ok)throw Error("Failed to update project");await S()}catch(e){throw console.error("Error updating project:",e),b(e instanceof Error?e.message:"Failed to update project"),e}},[S]);(0,r.useEffect)(()=>{S()},[S]);let x=s?.id||"default";return(0,t.jsx)(a.Provider,{value:{mode:n,currentProject:s,projects:l,recentProjects:u,favoriteProjects:g,isLoading:f,error:y,currentProjectId:x,switchProject:v,addProject:w,removeProject:k,toggleFavorite:j,updateProject:P,refreshProjects:S},children:e})}function l(){let{mode:e,currentProject:t,currentProjectId:n}=s(),i=(0,r.useCallback)(e=>{let r=t?.id||o;if("/"===e||""===e)return`/projects/${r}`;let n=e.startsWith("/")?e:`/${e}`;return`/projects/${r}${n}`},[t]),a=(0,r.useCallback)((e,t)=>{let r=i(`/specs/${e}`);return t?`${r}?subspec=${t}`:r},[i]);return{getUrl:i,getSpecUrl:a,isMultiProject:"multi-project"===e,projectId:n}}e.s(["ProjectProvider",()=>c,"useProject",()=>s,"useProjectUrl",()=>l],141855)},614433,430406,e=>{"use strict";var t=e.i(124892);function r(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function o(...e){return t=>{let o=!1,n=e.map(e=>{let n=r(e,t);return o||"function"!=typeof n||(o=!0),n});if(o)return()=>{for(let t=0;t<n.length;t++){let o=n[t];"function"==typeof o?o():r(e[t],null)}}}}function n(...e){return t.useCallback(o(...e),e)}e.s(["composeRefs",()=>o,"useComposedRefs",()=>n],430406);var i=e.i(88636),a=Symbol.for("react.lazy"),s=t[" use ".trim().toString()];function c(e){var t;return null!=e&&"object"==typeof e&&"$$typeof"in e&&e.$$typeof===a&&"_payload"in e&&"object"==typeof(t=e._payload)&&null!==t&&"then"in t}function l(e){var r;let n,a=(r=e,(n=t.forwardRef((e,r)=>{let{children:n,...i}=e;if(c(n)&&"function"==typeof s&&(n=s(n._payload)),t.isValidElement(n)){var a;let e,s,c=(a=n,(s=(e=Object.getOwnPropertyDescriptor(a.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?a.ref:(s=(e=Object.getOwnPropertyDescriptor(a,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?a.props.ref:a.props.ref||a.ref),l=function(e,t){let r={...t};for(let o in t){let n=e[o],i=t[o];/^on[A-Z]/.test(o)?n&&i?r[o]=(...e)=>{let t=i(...e);return n(...e),t}:n&&(r[o]=n):"style"===o?r[o]={...n,...i}:"className"===o&&(r[o]=[n,i].filter(Boolean).join(" "))}return{...e,...r}}(i,n.props);return n.type!==t.Fragment&&(l.ref=r?o(r,c):c),t.cloneElement(n,l)}return t.Children.count(n)>1?t.Children.only(null):null})).displayName=`${r}.SlotClone`,n),l=t.forwardRef((e,r)=>{let{children:o,...n}=e;c(o)&&"function"==typeof s&&(o=s(o._payload));let l=t.Children.toArray(o),d=l.find(p);if(d){let e=d.props.children,o=l.map(r=>r!==d?r:t.Children.count(e)>1?t.Children.only(null):t.isValidElement(e)?e.props.children:null);return(0,i.jsx)(a,{...n,ref:r,children:t.isValidElement(e)?t.cloneElement(e,void 0,o):null})}return(0,i.jsx)(a,{...n,ref:r,children:o})});return l.displayName=`${e}.Slot`,l}var d=l("Slot"),u=Symbol("radix.slottable");function p(e){return t.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===u}e.s(["Slot",()=>d,"createSlot",()=>l],614433)},294237,e=>{"use strict";var t=e.i(7284);let r=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,o=t.clsx;e.s(["cva",0,(e,t)=>n=>{var i;if((null==t?void 0:t.variants)==null)return o(e,null==n?void 0:n.class,null==n?void 0:n.className);let{variants:a,defaultVariants:s}=t,c=Object.keys(a).map(e=>{let t=null==n?void 0:n[e],o=null==s?void 0:s[e];if(null===t)return null;let i=r(t)||r(o);return a[e][i]}),l=n&&Object.entries(n).reduce((e,t)=>{let[r,o]=t;return void 0===o||(e[r]=o),e},{});return o(e,c,null==t||null==(i=t.compoundVariants)?void 0:i.reduce((e,t)=>{let{class:r,className:o,...n}=t;return Object.entries(n).every(e=>{let[t,r]=e;return Array.isArray(r)?r.includes({...s,...l}[t]):({...s,...l})[t]===r})?[...e,r,o]:e},[]),null==n?void 0:n.class,null==n?void 0:n.className)}])},235893,e=>{"use strict";var t=e.i(88636),r=e.i(124892),o=e.i(614433),n=e.i(294237),i=e.i(632137);let a=(0,n.cva)("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),s=r.forwardRef(({className:e,variant:r,size:n,asChild:s=!1,...c},l)=>{let d=s?o.Slot:"button";return(0,t.jsx)(d,{className:(0,i.cn)(a({variant:r,size:n,className:e})),ref:l,...c})});s.displayName="Button",e.s(["Button",()=>s])},575461,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"warnOnce",{enumerable:!0,get:function(){return o}});let o=e=>{}},300203,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var o={assign:function(){return c},searchParamsToUrlQuery:function(){return i},urlQueryToSearchParams:function(){return s}};for(var n in o)Object.defineProperty(r,n,{enumerable:!0,get:o[n]});function i(e){let t={};for(let[r,o]of e.entries()){let e=t[r];void 0===e?t[r]=o:Array.isArray(e)?e.push(o):t[r]=[e,o]}return t}function a(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function s(e){let t=new URLSearchParams;for(let[r,o]of Object.entries(e))if(Array.isArray(o))for(let e of o)t.append(r,a(e));else t.set(r,a(o));return t}function c(e,...t){for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,o]of r.entries())e.append(t,o)}return e}},619895,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var o={formatUrl:function(){return s},formatWithValidation:function(){return l},urlObjectKeys:function(){return c}};for(var n in o)Object.defineProperty(r,n,{enumerable:!0,get:o[n]});let i=e.r(744066)._(e.r(300203)),a=/https?|ftp|gopher|file/;function s(e){let{auth:t,hostname:r}=e,o=e.protocol||"",n=e.pathname||"",s=e.hash||"",c=e.query||"",l=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?l=t+e.host:r&&(l=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(l+=":"+e.port)),c&&"object"==typeof c&&(c=String(i.urlQueryToSearchParams(c)));let d=e.search||c&&`?${c}`||"";return o&&!o.endsWith(":")&&(o+=":"),e.slashes||(!o||a.test(o))&&!1!==l?(l="//"+(l||""),n&&"/"!==n[0]&&(n="/"+n)):l||(l=""),s&&"#"!==s[0]&&(s="#"+s),d&&"?"!==d[0]&&(d="?"+d),n=n.replace(/[?#]/g,encodeURIComponent),d=d.replace("#","%23"),`${o}${l}${n}${d}${s}`}let c=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function l(e){return s(e)}},91872,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return n}});let o=e.r(124892);function n(e,t){let r=(0,o.useRef)(null),n=(0,o.useRef)(null);return(0,o.useCallback)(o=>{if(null===o){let e=r.current;e&&(r.current=null,e());let t=n.current;t&&(n.current=null,t())}else e&&(r.current=i(e,o)),t&&(n.current=i(t,o))},[e,t])}function i(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},993392,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var o={DecodeError:function(){return y},MiddlewareNotFoundError:function(){return w},MissingStaticPage:function(){return v},NormalizeError:function(){return b},PageNotFoundError:function(){return S},SP:function(){return f},ST:function(){return m},WEB_VITALS:function(){return i},execOnce:function(){return a},getDisplayName:function(){return u},getLocationOrigin:function(){return l},getURL:function(){return d},isAbsoluteUrl:function(){return c},isResSent:function(){return p},loadGetInitialProps:function(){return h},normalizeRepeatedSlashes:function(){return g},stringifyError:function(){return k}};for(var n in o)Object.defineProperty(r,n,{enumerable:!0,get:o[n]});let i=["CLS","FCP","FID","INP","LCP","TTFB"];function a(e){let t,r=!1;return(...o)=>(r||(r=!0,t=e(...o)),t)}let s=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,c=e=>s.test(e);function l(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function d(){let{href:e}=window.location,t=l();return e.substring(t.length)}function u(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function p(e){return e.finished||e.headersSent}function g(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function h(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await h(t.Component,t.ctx)}:{};let o=await e.getInitialProps(t);if(r&&p(r))return o;if(!o)throw Object.defineProperty(Error(`"${u(e)}.getInitialProps()" should resolve to an object. But found "${o}" instead.`),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return o}let f="undefined"!=typeof performance,m=f&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class y extends Error{}class b extends Error{}class S extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class v extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class w extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function k(e){return JSON.stringify({message:e.message,stack:e.stack})}},284663,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return i}});let o=e.r(993392),n=e.r(86806);function i(e){if(!(0,o.isAbsoluteUrl)(e))return!0;try{let t=(0,o.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,n.hasBasePath)(r.pathname)}catch(e){return!1}}},185659,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return o}});let o=e=>{}},446266,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var o={default:function(){return y},useLinkStatus:function(){return S}};for(var n in o)Object.defineProperty(r,n,{enumerable:!0,get:o[n]});let i=e.r(744066),a=e.r(88636),s=i._(e.r(124892)),c=e.r(619895),l=e.r(36737),d=e.r(91872),u=e.r(993392),p=e.r(688190);e.r(575461);let g=e.r(764498),h=e.r(284663),f=e.r(771925);function m(e){return"string"==typeof e?e:(0,c.formatUrl)(e)}function y(t){var r;let o,n,i,[c,y]=(0,s.useOptimistic)(g.IDLE_LINK_STATUS),S=(0,s.useRef)(null),{href:v,as:w,children:k,prefetch:j=null,passHref:P,replace:x,shallow:C,scroll:E,onClick:T,onMouseEnter:A,onTouchStart:N,legacyBehavior:L=!1,onNavigate:O,ref:D,unstable_dynamicOnHover:F,...M}=t;o=k,L&&("string"==typeof o||"number"==typeof o)&&(o=(0,a.jsx)("a",{children:o}));let I=s.default.useContext(l.AppRouterContext),R=!1!==j,_=!1!==j?null===(r=j)||"auto"===r?f.FetchStrategy.PPR:f.FetchStrategy.Full:f.FetchStrategy.PPR,{href:U,as:B}=s.default.useMemo(()=>{let e=m(v);return{href:e,as:w?m(w):e}},[v,w]);if(L){if(o?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});n=s.default.Children.only(o)}let $=L?n&&"object"==typeof n&&n.ref:D,H=s.default.useCallback(e=>(null!==I&&(S.current=(0,g.mountLinkInstance)(e,U,I,_,R,y)),()=>{S.current&&((0,g.unmountLinkForCurrentNavigation)(S.current),S.current=null),(0,g.unmountPrefetchableInstance)(e)}),[R,U,I,_,y]),q={ref:(0,d.useMergedRef)(H,$),onClick(t){L||"function"!=typeof T||T(t),L&&n.props&&"function"==typeof n.props.onClick&&n.props.onClick(t),!I||t.defaultPrevented||function(t,r,o,n,i,a,c){if("undefined"!=typeof window){let l,{nodeName:d}=t.currentTarget;if("A"===d.toUpperCase()&&((l=t.currentTarget.getAttribute("target"))&&"_self"!==l||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,h.isLocalURL)(r)){i&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),c){let e=!1;if(c({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:u}=e.r(172479);s.default.startTransition(()=>{u(o||r,i?"replace":"push",a??!0,n.current)})}}(t,U,B,S,x,E,O)},onMouseEnter(e){L||"function"!=typeof A||A(e),L&&n.props&&"function"==typeof n.props.onMouseEnter&&n.props.onMouseEnter(e),I&&R&&(0,g.onNavigationIntent)(e.currentTarget,!0===F)},onTouchStart:function(e){L||"function"!=typeof N||N(e),L&&n.props&&"function"==typeof n.props.onTouchStart&&n.props.onTouchStart(e),I&&R&&(0,g.onNavigationIntent)(e.currentTarget,!0===F)}};return(0,u.isAbsoluteUrl)(B)?q.href=B:L&&!P&&("a"!==n.type||"href"in n.props)||(q.href=(0,p.addBasePath)(B)),i=L?s.default.cloneElement(n,q):(0,a.jsx)("a",{...M,...q,children:o}),(0,a.jsx)(b.Provider,{value:c,children:i})}e.r(185659);let b=(0,s.createContext)(g.IDLE_LINK_STATUS),S=()=>(0,s.useContext)(b);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},870814,e=>{"use strict";var t=e.i(282236);e.i(53501);var r=e.i(643830);let{slice:o,forEach:n}=[],i=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,a=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{path:"/"},o=encodeURIComponent(t),n=`${e}=${o}`;if(r.maxAge>0){let e=r.maxAge-0;if(Number.isNaN(e))throw Error("maxAge should be a Number");n+=`; Max-Age=${Math.floor(e)}`}if(r.domain){if(!i.test(r.domain))throw TypeError("option domain is invalid");n+=`; Domain=${r.domain}`}if(r.path){if(!i.test(r.path))throw TypeError("option path is invalid");n+=`; Path=${r.path}`}if(r.expires){if("function"!=typeof r.expires.toUTCString)throw TypeError("option expires is invalid");n+=`; Expires=${r.expires.toUTCString()}`}if(r.httpOnly&&(n+="; HttpOnly"),r.secure&&(n+="; Secure"),r.sameSite)switch("string"==typeof r.sameSite?r.sameSite.toLowerCase():r.sameSite){case!0:case"strict":n+="; SameSite=Strict";break;case"lax":n+="; SameSite=Lax";break;case"none":n+="; SameSite=None";break;default:throw TypeError("option sameSite is invalid")}return r.partitioned&&(n+="; Partitioned"),n},s={create(e,t,r,o){let n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{path:"/",sameSite:"strict"};r&&(n.expires=new Date,n.expires.setTime(n.expires.getTime()+60*r*1e3)),o&&(n.domain=o),document.cookie=a(e,t,n)},read(e){let t=`${e}=`,r=document.cookie.split(";");for(let e=0;e<r.length;e++){let o=r[e];for(;" "===o.charAt(0);)o=o.substring(1,o.length);if(0===o.indexOf(t))return o.substring(t.length,o.length)}return null},remove(e,t){this.create(e,"",-1,t)}};var c={name:"cookie",lookup(e){let{lookupCookie:t}=e;if(t&&"undefined"!=typeof document)return s.read(t)||void 0},cacheUserLanguage(e,t){let{lookupCookie:r,cookieMinutes:o,cookieDomain:n,cookieOptions:i}=t;r&&"undefined"!=typeof document&&s.create(r,e,o,n,i)}},l={name:"querystring",lookup(e){let t,{lookupQuerystring:r}=e;if("undefined"!=typeof window){let{search:e}=window.location;!window.location.search&&window.location.hash?.indexOf("?")>-1&&(e=window.location.hash.substring(window.location.hash.indexOf("?")));let o=e.substring(1).split("&");for(let e=0;e<o.length;e++){let n=o[e].indexOf("=");n>0&&o[e].substring(0,n)===r&&(t=o[e].substring(n+1))}}return t}},d={name:"hash",lookup(e){let t,{lookupHash:r,lookupFromHashIndex:o}=e;if("undefined"!=typeof window){let{hash:e}=window.location;if(e&&e.length>2){let n=e.substring(1);if(r){let e=n.split("&");for(let o=0;o<e.length;o++){let n=e[o].indexOf("=");n>0&&e[o].substring(0,n)===r&&(t=e[o].substring(n+1))}}if(t)return t;if(!t&&o>-1){let t=e.match(/\/([a-zA-Z-]*)/g);if(!Array.isArray(t))return;return t["number"==typeof o?o:0]?.replace("/","")}}}return t}};let u=null,p=()=>{if(null!==u)return u;try{if(!(u="undefined"!=typeof window&&null!==window.localStorage))return!1;let e="i18next.translate.boo";window.localStorage.setItem(e,"foo"),window.localStorage.removeItem(e)}catch(e){u=!1}return u};var g={name:"localStorage",lookup(e){let{lookupLocalStorage:t}=e;if(t&&p())return window.localStorage.getItem(t)||void 0},cacheUserLanguage(e,t){let{lookupLocalStorage:r}=t;r&&p()&&window.localStorage.setItem(r,e)}};let h=null,f=()=>{if(null!==h)return h;try{if(!(h="undefined"!=typeof window&&null!==window.sessionStorage))return!1;let e="i18next.translate.boo";window.sessionStorage.setItem(e,"foo"),window.sessionStorage.removeItem(e)}catch(e){h=!1}return h};var m={name:"sessionStorage",lookup(e){let{lookupSessionStorage:t}=e;if(t&&f())return window.sessionStorage.getItem(t)||void 0},cacheUserLanguage(e,t){let{lookupSessionStorage:r}=t;r&&f()&&window.sessionStorage.setItem(r,e)}},y={name:"navigator",lookup(e){let t=[];if("undefined"!=typeof navigator){let{languages:e,userLanguage:r,language:o}=navigator;if(e)for(let r=0;r<e.length;r++)t.push(e[r]);r&&t.push(r),o&&t.push(o)}return t.length>0?t:void 0}},b={name:"htmlTag",lookup(e){let t,{htmlTag:r}=e,o=r||("undefined"!=typeof document?document.documentElement:null);return o&&"function"==typeof o.getAttribute&&(t=o.getAttribute("lang")),t}},S={name:"path",lookup(e){let{lookupFromPathIndex:t}=e;if("undefined"==typeof window)return;let r=window.location.pathname.match(/\/([a-zA-Z-]*)/g);if(Array.isArray(r))return r["number"==typeof t?t:0]?.replace("/","")}},v={name:"subdomain",lookup(e){let{lookupFromSubdomainIndex:t}=e,r="undefined"!=typeof window&&window.location?.hostname?.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i);if(r)return r["number"==typeof t?t+1:1]}};let w=!1;try{document.cookie,w=!0}catch(e){}let k=["querystring","cookie","localStorage","sessionStorage","navigator","htmlTag"];w||k.splice(1,1);class j{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.type="languageDetector",this.detectors={},this.init(e,t)}init(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{languageUtils:{}},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.services=e,this.options=function(e){return n.call(o.call(arguments,1),t=>{if(t)for(let r in t)void 0===e[r]&&(e[r]=t[r])}),e}(t,this.options||{},{order:k,lookupQuerystring:"lng",lookupCookie:"i18next",lookupLocalStorage:"i18nextLng",lookupSessionStorage:"i18nextLng",caches:["localStorage"],excludeCacheFor:["cimode"],convertDetectedLanguage:e=>e}),"string"==typeof this.options.convertDetectedLanguage&&this.options.convertDetectedLanguage.indexOf("15897")>-1&&(this.options.convertDetectedLanguage=e=>e.replace("-","_")),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=r,this.addDetector(c),this.addDetector(l),this.addDetector(g),this.addDetector(m),this.addDetector(y),this.addDetector(b),this.addDetector(S),this.addDetector(v),this.addDetector(d)}addDetector(e){return this.detectors[e.name]=e,this}detect(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.options.order,t=[];return(e.forEach(e=>{if(this.detectors[e]){let r=this.detectors[e].lookup(this.options);r&&"string"==typeof r&&(r=[r]),r&&(t=t.concat(r))}}),t=t.filter(e=>null!=e&&!("string"==typeof e&&[/<\s*script.*?>/i,/<\s*\/\s*script\s*>/i,/<\s*img.*?on\w+\s*=/i,/<\s*\w+\s*on\w+\s*=.*?>/i,/javascript\s*:/i,/vbscript\s*:/i,/expression\s*\(/i,/eval\s*\(/i,/alert\s*\(/i,/document\.cookie/i,/document\.write\s*\(/i,/window\.location/i,/innerHTML/i].some(t=>t.test(e)))).map(e=>this.options.convertDetectedLanguage(e)),this.services&&this.services.languageUtils&&this.services.languageUtils.getBestMatchFromCodes)?t:t.length>0?t[0]:null}cacheUserLanguage(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.options.caches;!t||this.options.excludeCacheFor&&this.options.excludeCacheFor.indexOf(e)>-1||t.forEach(t=>{this.detectors[t]&&this.detectors[t].cacheUserLanguage(e,this.options)})}}j.type="languageDetector";var P=e.i(229417),x=e.i(636948),C=e.i(961259),E=e.i(751206),T=e.i(733394),A=e.i(264682);let N={en:{common:P.default,errors:x.default,help:C.default},"zh-CN":{common:E.default,errors:T.default,help:A.default}};t.default.use(j).use(r.initReactI18next).init({resources:N,fallbackLng:"en",defaultNS:"common",ns:["common","errors","help"],detection:{order:["localStorage","navigator"],caches:["localStorage"],lookupLocalStorage:"leanspec-language"},interpolation:{escapeValue:!1}});let L=t.default;e.s(["default",0,L],870814)},168497,597705,e=>{"use strict";var t=e.i(88636),r=e.i(40843),o=e.i(75364),n=e.i(196812),i=e.i(490225),a=e.i(323490),s=e.i(632137);e.i(53501);var c=e.i(888104),l=e.i(870814);let d={planned:{icon:r.Clock,labelKey:"status.planned",className:"bg-blue-100 text-blue-800 dark:bg-blue-900/30 dark:text-blue-400"},"in-progress":{icon:o.PlayCircle,labelKey:"status.inProgress",className:"bg-orange-100 text-orange-800 dark:bg-orange-900/30 dark:text-orange-400"},complete:{icon:n.CheckCircle2,labelKey:"status.complete",className:"bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-400"},archived:{icon:i.Archive,labelKey:"status.archived",className:"bg-gray-100 text-gray-800 dark:bg-gray-800 dark:text-gray-400"}};function u({status:e,className:r,iconOnly:o=!1}){let n=d[e]||d.planned,i=n.icon,{t:l}=(0,c.useTranslation)("common"),u=l(n.labelKey);return(0,t.jsxs)(a.Badge,{className:(0,s.cn)("flex items-center w-fit",!o&&"gap-1.5",n.className,r),children:[(0,t.jsx)(i,{className:"h-3.5 w-3.5"}),!o&&u]})}function p(e){let t=d[e]||d.planned;return l.default.t(t.labelKey,{ns:"common"})}e.s(["StatusBadge",()=>u,"getStatusLabel",()=>p],168497);var g=e.i(94176),h=e.i(606751),f=e.i(755541),m=e.i(374231);let y={critical:{icon:g.AlertCircle,labelKey:"priority.critical",className:"bg-red-100 text-red-800 dark:bg-red-900/30 dark:text-red-400"},high:{icon:h.ArrowUp,labelKey:"priority.high",className:"bg-orange-100 text-orange-800 dark:bg-orange-900/30 dark:text-orange-400"},medium:{icon:f.Minus,labelKey:"priority.medium",className:"bg-blue-100 text-blue-800 dark:bg-blue-900/30 dark:text-blue-400"},low:{icon:m.ArrowDown,labelKey:"priority.low",className:"bg-gray-100 text-gray-800 dark:bg-gray-800 dark:text-gray-400"}};function b({priority:e,className:r,iconOnly:o=!1}){let n=y[e]||y.medium,i=n.icon,{t:l}=(0,c.useTranslation)("common"),d=l(n.labelKey);return(0,t.jsxs)(a.Badge,{className:(0,s.cn)("flex items-center w-fit",!o&&"gap-1.5",n.className,r),children:[(0,t.jsx)(i,{className:"h-3.5 w-3.5"}),!o&&d]})}function S(e){let t=y[e]||y.medium;return l.default.t(t.labelKey,{ns:"common"})}e.s(["PriorityBadge",()=>b,"getPriorityLabel",()=>S],597705)},229417,e=>{e.v(JSON.parse('{"navigation":{"home":"Home","specs":"Specs","dependencies":"Dependencies","stats":"Stats","context":"Context","collapse":"Collapse","closeMenu":"Close menu","dashboard":"Dashboard","allSpecifications":"All Specifications","dependencyGraph":"Dependency Graph","analytics":"Analytics","projectContext":"Project Context","toggleMenu":"Toggle menu","docsTooltip":"Documentation","githubTooltip":"GitHub repository"},"search":{"placeholder":"Search specs...","noResults":"No results found","searchSpecs":"Search Specs"},"status":{"planned":"Planned","inProgress":"In Progress","in-progress":"In Progress","complete":"Complete","archived":"Archived","blocked":"Blocked"},"priority":{"critical":"Critical","high":"High","medium":"Medium","low":"Low","unknown":"Unknown"},"actions":{"create":"Create","update":"Update","delete":"Delete","archive":"Archive","view":"View","edit":"Edit","save":"Save","cancel":"Cancel","close":"Close","back":"Back","next":"Next","loading":"Loading...","search":"Search"},"spec":{"spec":"Spec","specs":"Specs","specification":"Specification","specifications":"Specifications","title":"Title","description":"Description","tags":"Tags","createdAt":"Created","updatedAt":"Updated","completedAt":"Completed"},"theme":{"light":"Light","dark":"Dark","system":"System","toggleTheme":"Toggle theme"},"language":{"english":"English","chinese":"中文","changeLanguage":"Change language"},"projects":{"project":"Project","projects":"Projects","switchProject":"Switch Project","createProject":"Create Project","manageProjects":"Manage Projects","selectProject":"Select Project"},"quickSearch":{"button":"Quick search...","placeholder":"Search specs by title, number, or tags...","recentSearches":"Recent Searches","filterHeading":"Filter by Tag","filterPrefix":"Filter by:","open":"Open quick search"},"projectSwitcher":{"switching":"Switching...","placeholder":"Select project...","searchPlaceholder":"Search projects...","noProject":"No project found."},"createProject":{"title":"Add Project","descriptionPicker":"Browse and select the project directory.","descriptionManual":"Enter the absolute path to your local project directory.","enterManually":"Enter path manually","pathLabel":"Project Path","pathPlaceholder":"/path/to/your/project","pathHelp":"Select the root directory of your project.","browseFolders":"Browse folders","action":"Add Project","adding":"Adding...","toastSuccess":"Project added successfully","toastError":"Failed to add project"},"specSidebar":{"title":"All Specs","searchPlaceholder":"Search specs...","empty":"No specs found","collapse":"Collapse sidebar","expand":"Expand sidebar"},"specsNavSidebar":{"title":"Specifications","searchPlaceholder":"Search specs...","noResults":"No specs found","filtersLabel":"Filters","toggleFilters":{"show":"Show filters","hide":"Hide filters"},"clearFilters":"Clear","select":{"status":{"label":"Status","all":"All Status"},"priority":{"label":"Priority","all":"All Priority"},"tag":{"label":"Tag","all":"All Tags"}},"badges":{"subSpecs":"+{{count}} files"}},"specsPage":{"title":"Specifications","count":"{{count}} specs","views":{"list":"List","board":"Board","listTooltip":"List view","boardTooltip":"Board view"},"wideMode":{"enter":"Enter wide mode","exit":"Exit wide mode"},"searchPlaceholder":"Search specs...","filters":{"status":"Status","priority":"Priority","sort":"Sort by","statusAll":"All Status","priorityAll":"All Priority","sortOptions":{"id-desc":"Newest First","id-asc":"Oldest First","updated-desc":"Recently Updated","title-asc":"Title (A-Z)"}},"metadata":{"updated":"Updated {{time}}","files":"+{{count}} files","dependencies":"{{count}} deps","none":"No metadata"},"list":{"empty":"No specs found"},"board":{"dropHere":"Drop here to move specs","updating":"Updating...","archivedCollapsed":"Archived"},"toasts":{"statusUpdated":"Moved {{spec}} to {{status}}","statusError":"Unable to update status. Please try again."}},"specDetail":{"toggleSidebar":"Toggle specs list","metadata":{"created":"Created","updated":"Updated","name":"Name","assignee":"Assignee","notAvailable":"Not available"},"buttons":{"viewTimeline":"View Timeline","viewDependencies":"View Dependencies","focus":"Focus","exitFocus":"Exit focus mode"},"dialogs":{"timelineTitle":"Spec Timeline","timelineDescription":"Created, updated, and completion milestones.","dependenciesTitle":"Dependency Graph","dependenciesDescription":"Precedence requirements and connected specs rendered with automatic layout.","dependenciesLink":"View in full dependencies page"},"tabs":{"overview":"Overview"},"state":{"loading":"Loading...","error":"Error loading spec"}},"statsPage":{"title":"Project Statistics","description":"Comprehensive metrics and insights","cards":{"total":{"title":"Total Specs","subtitle":"All specifications"},"completed":{"title":"Completed","subtitle":"completion rate"},"inProgress":{"title":"In Progress","subtitle":"Active work"},"planned":{"title":"Planned","subtitle":"Upcoming work"}},"charts":{"status":{"title":"Status Distribution","description":"Breakdown of specs by status"},"priority":{"title":"Priority Distribution","description":"Breakdown of specs by priority"},"creation":{"title":"Creation Trend","description":"Specs created over time"},"topTags":{"title":"Top Tags","description":"Most frequently used tags"},"label":"{{name}}: {{value}}"}},"contextPage":{"title":"Project Context","description":"View project-level context files that inform AI agents and development workflows","copyAll":"Copy All","copyAllSuccess":"Copied!","searchPlaceholder":"Search within context files...","searchNoMatches":"No matches found for \\"{{query}}\\"","summary":{"totalTokens":"{{formattedCount}} total tokens","contextBudget":"Context budget for AI agents"},"badges":{"matchesSingular":"{{count}} match","matchesPlural":"{{count}} matches","matchesFoundSingular":"{{count}} match found","matchesFoundPlural":"{{count}} matches found","filesSingular":"{{count}} file","filesPlural":"{{count}} files","filesFiltered":"{{count}}/{{total}} files","tokens":"{{formattedCount}} tokens"},"sections":{"agents":{"title":"Agent Instructions","description":"System prompts and guidelines for AI agents","empty":"No agent instructions found","suggestion":"Create an AGENTS.md file in your project root"},"config":{"title":"Configuration","description":"LeanSpec project configuration and settings","empty":"No configuration found","suggestion":"Run \'lean-spec init\' to create a config file"},"docs":{"title":"Project Documentation","description":"README, contributing guidelines, and changelog","empty":"No project docs found","suggestion":"Create a README.md file in your project root"}},"emptyState":{"title":"No project context found","description":"This project doesn\'t have any context files yet. Context files help AI agents understand your project better.","suggestion":"Start by creating AGENTS.md or running \'lean-spec init\'"},"search":{"noMatchesTitle":"No matches found","noMatchesDescription":"Try a different search term","noFilesDescription":"No files found in this category"},"viewer":{"modified":"Modified {{date}}","lines":"{{count}} lines","viewFull":"View full page","openInEditor":"Open in VS Code","copyContent":"Copy content","tokenStatus":{"optimal":"Optimal","good":"Good","large":"Large","veryLarge":"Very Large"}},"detail":{"back":"Back","openInEditor":"Open in Editor","copy":"Copy","copySuccess":"Copied!","lines":"{{count}} lines","modified":"Modified {{date}}"}},"specTimeline":{"events":{"created":"Created","inProgress":"In Progress","complete":"Complete","archived":"Archived"},"state":{"awaiting":"Awaiting start","queued":"Queued","pending":"Pending update"}},"dependencyGraph":{"header":{"title":"Dependency Map","subtitle":"Explore precedence and connected work","badge":"React Flow DAG"},"badges":{"current":"Current Spec","currentSubtitle":"This spec","dependsOn":"Depends On","dependsOnSubtitle":"Must complete first","requiredBy":"Required By","requiredBySubtitle":"Blocked by this spec"}},"dependenciesPage":{"header":{"title":"Dependency Graph","summary":{"connected":"{{count}} specs with dependencies","standalone":"{{count}} standalone","none":"No dependencies defined"}},"selector":{"placeholder":"Select spec to highlight...","filterPlaceholder":"Type to filter...","clearSelection":"Clear selection","empty":"No specs found"},"filters":{"showStandalone":"Show Standalone ({{count}})","compact":"Compact","focusMode":"Focus Mode","clear":"Clear","count":"({{count}})"},"empty":{"title":"No dependencies to display","filters":"No specs match the current filters","standaloneHint":"Enable \\"Show Standalone\\" to see specs without dependencies"},"legend":{"dependsOn":"Depends On (arrow shows direction)","instructions":"Click: select • Double-click: open • Drag to rearrange"},"graph":{"levelTitle":"Level {{depth}}","levelBadge":"L{{depth}}"},"sidebar":{"emptyTitle":"Select a spec","emptyDescription":"Click on a spec to see its dependencies","openSpec":"Open Spec →","dependsOnHeading":"Depends On ({{count}})","requiredByHeading":"Required By ({{count}})","emptyUpstream":"No upstream dependencies","emptyDownstream":"No specs depend on this","depth":{"direct":"Direct","level":"L{{depth}}"}}},"editors":{"changeStatus":"Change spec status","statusSuccess":"Status updated","statusError":"Failed to update status","changePriority":"Change spec priority","prioritySuccess":"Priority updated","priorityError":"Failed to update priority","addTag":"Add new tag","tagExists":"Tag already exists","tagsSuccess":"Tags updated","tagsError":"Failed to update tags","searchTag":"Search or create tag...","noTagResults":"No tags found.","existingTags":"Existing tags","createSection":"Create new","createTag":"Create \\"{{tag}}\\"","removeTag":"Remove {{tag}} tag"},"desktopMenu":{"close":"Close","newSpec":{"title":"Create New Spec","description":"Generate a new spec inside the active project with the LeanSpec CLI.","slugLabel":"Spec slug","slugPlaceholder":"e.g. desktop-native-menu","titleLabel":"Display title (optional)","titlePlaceholder":"Human-friendly title","commandLabel":"CLI command","commandPlaceholder":"Enter a spec slug to preview the command…","hint":"Run this command inside {{project}} (or your project root) to scaffold the spec files.","projectFallback":"your project","copyButton":"Copy command","copied":"Copied!"},"shortcuts":{"title":"Keyboard Shortcuts","description":"Native menu entries mirror these shortcuts.","sections":{"global":"Desktop shell","view":"View","help":"Help"},"items":{"toggleWindow":"Toggle desktop window","quickSwitch":"Open project switcher","newSpec":"Create new spec","refreshProjects":"Refresh projects","toggleSidebar":"Toggle sidebar","quickFind":"Find in specs","shortcuts":"Show shortcuts","docs":"Open documentation"}},"logs":{"title":"Desktop Logs","description":"Logs stay on your machine. Share them when reporting an issue.","pathLabel":"Log directory","pathPlaceholder":"Waiting for the desktop app to provide the log path…","hint":"You can also choose Help → View Logs from the native menu.","copyPath":"Copy path","openButton":"Open log folder"},"about":{"title":"About LeanSpec Desktop","description":"LeanSpec UI with native integrations for local projects and automation.","version":"Version","website":"Website","support":"Support"}}}'))},636948,e=>{e.v({fileNotFound:"File not found",specNotFound:"Spec not found",projectNotFound:"Project not found",loadingError:"Error loading data",invalidInput:"Invalid input",networkError:"Network error",unknownError:"An unknown error occurred",permissionDenied:"Permission denied",operationFailed:"Operation failed"})},961259,e=>{e.v({welcome:"Welcome to LeanSpec",gettingStarted:"Getting started with LeanSpec",noSpecsYet:"No specs yet. Create your first spec to get started.",searchHelp:"Type to search specs by title, tags, or number",keyboardShortcuts:"Keyboard shortcuts",learnMore:"Learn more"})},751206,e=>{e.v(JSON.parse('{"navigation":{"home":"首页","specs":"Specs","dependencies":"依赖关系","stats":"统计","context":"上下文","collapse":"收起","closeMenu":"关闭菜单","dashboard":"仪表板","allSpecifications":"所有 Spec","dependencyGraph":"依赖图","analytics":"数据分析","projectContext":"项目上下文","toggleMenu":"切换菜单","docsTooltip":"查看文档","githubTooltip":"GitHub 仓库"},"search":{"placeholder":"搜索 Spec...","noResults":"未找到结果","searchSpecs":"搜索 Spec"},"status":{"planned":"已计划","inProgress":"进行中","in-progress":"进行中","complete":"已完成","archived":"已归档","blocked":"阻塞中"},"priority":{"critical":"紧急","high":"高","medium":"中","low":"低","unknown":"未知"},"actions":{"create":"创建","update":"更新","delete":"删除","archive":"归档","view":"查看","edit":"编辑","save":"保存","cancel":"取消","close":"关闭","back":"返回","next":"下一步","loading":"加载中...","search":"搜索"},"spec":{"spec":"Spec","specs":"Specs","specification":"Spec","specifications":"Specs","title":"标题","description":"描述","tags":"标签","createdAt":"创建时间","updatedAt":"更新时间","completedAt":"完成时间"},"theme":{"light":"浅色","dark":"深色","system":"跟随系统","toggleTheme":"切换主题"},"language":{"english":"English","chinese":"中文","changeLanguage":"切换语言"},"projects":{"project":"项目","projects":"项目","switchProject":"切换项目","createProject":"创建项目","manageProjects":"管理项目","selectProject":"选择项目"},"quickSearch":{"button":"快速搜索...","placeholder":"按标题、编号或标签搜索 Spec...","recentSearches":"最近搜索","filterHeading":"按标签筛选","filterPrefix":"筛选:","open":"打开快速搜索"},"projectSwitcher":{"switching":"正在切换...","placeholder":"选择项目...","searchPlaceholder":"搜索项目...","noProject":"未找到项目。"},"createProject":{"title":"添加项目","descriptionPicker":"浏览并选择项目目录。","descriptionManual":"请输入本地项目目录的绝对路径。","enterManually":"手动输入路径","pathLabel":"项目路径","pathPlaceholder":"/path/to/your/project","pathHelp":"选择项目根目录。","browseFolders":"浏览文件夹","action":"添加项目","adding":"正在添加...","toastSuccess":"项目添加成功","toastError":"无法添加项目"},"specSidebar":{"title":"全部 Specs","searchPlaceholder":"搜索 Spec...","empty":"没有匹配的 Spec","collapse":"收起侧边栏","expand":"展开侧边栏"},"specsNavSidebar":{"title":"Spec 列表","searchPlaceholder":"搜索 Spec...","noResults":"没有匹配的 Spec","filtersLabel":"筛选","toggleFilters":{"show":"展开筛选","hide":"收起筛选"},"clearFilters":"重置","select":{"status":{"label":"状态","all":"全部状态"},"priority":{"label":"优先级","all":"全部优先级"},"tag":{"label":"标签","all":"全部标签"}},"badges":{"subSpecs":"+{{count}} 个文件"}},"specsPage":{"title":"Spec 列表","count":"共 {{count}} 个 Spec","views":{"list":"列表","board":"看板","listTooltip":"列表视图","boardTooltip":"看板视图"},"wideMode":{"enter":"进入宽屏模式","exit":"退出宽屏模式"},"searchPlaceholder":"搜索 Spec...","filters":{"status":"状态","priority":"优先级","sort":"排序","statusAll":"全部状态","priorityAll":"全部优先级","sortOptions":{"id-desc":"最新优先","id-asc":"最旧优先","updated-desc":"最近更新","title-asc":"标题 (A-Z)"}},"metadata":{"updated":"更新于 {{time}}","files":"+{{count}} 个文件","dependencies":"{{count}} 个依赖","none":"暂无元信息"},"list":{"empty":"没有匹配的 Spec"},"board":{"dropHere":"拖放到此移动 Spec","updating":"正在更新...","archivedCollapsed":"已归档"},"toasts":{"statusUpdated":"已将 {{spec}} 移动到 {{status}}","statusError":"无法更新状态,请稍后重试。"}},"specDetail":{"toggleSidebar":"展开或收起 Spec 列表","metadata":{"created":"创建时间","updated":"更新时间","name":"名称","assignee":"责任人","notAvailable":"暂无数据"},"buttons":{"viewTimeline":"查看时间线","viewDependencies":"查看依赖","focus":"专注模式","exitFocus":"退出专注模式"},"dialogs":{"timelineTitle":"Spec 时间线","timelineDescription":"查看创建、更新和完成节点。","dependenciesTitle":"依赖关系图","dependenciesDescription":"展示前置关系与关联 Spec。","dependenciesLink":"在依赖页面中查看"},"tabs":{"overview":"概览"},"state":{"loading":"正在加载...","error":"无法加载 Spec"}},"statsPage":{"title":"项目统计","description":"查看项目的整体指标与洞察","cards":{"total":{"title":"Spec 总数","subtitle":"全部 Spec"},"completed":{"title":"已完成","subtitle":"完成率"},"inProgress":{"title":"进行中","subtitle":"活跃中的工作"},"planned":{"title":"已计划","subtitle":"即将开始的工作"}},"charts":{"status":{"title":"状态分布","description":"按状态划分的 Spec 数量"},"priority":{"title":"优先级分布","description":"按优先级划分的 Spec 数量"},"creation":{"title":"创建趋势","description":"最近新建的 Spec 数量走势"},"topTags":{"title":"热门标签","description":"使用最频繁的标签"},"label":"{{name}}:{{value}}"}},"contextPage":{"title":"项目上下文","description":"查看驱动 AI 工具与开发流程的项目级上下文文件","copyAll":"复制全部","copyAllSuccess":"已复制!","searchPlaceholder":"在上下文文件中搜索...","searchNoMatches":"没有找到包含「{{query}}」的内容","summary":{"totalTokens":"共 {{formattedCount}} 个 Token","contextBudget":"用于 AI 工具的上下文预算"},"badges":{"matchesSingular":"{{count}} 个匹配","matchesPlural":"{{count}} 个匹配","matchesFoundSingular":"找到 {{count}} 个匹配","matchesFoundPlural":"找到 {{count}} 个匹配","filesSingular":"{{count}} 个文件","filesPlural":"{{count}} 个文件","filesFiltered":"{{count}}/{{total}} 个文件","tokens":"{{formattedCount}} 个 Token"},"sections":{"agents":{"title":"Agent 指令","description":"提供给 AI Agent 的系统提示与使用指南","empty":"当前没有 Agent 指令","suggestion":"在项目根目录创建 AGENTS.md"},"config":{"title":"配置","description":"LeanSpec 项目配置与设置","empty":"没有找到配置文件","suggestion":"运行 \'lean-spec init\' 生成配置文件"},"docs":{"title":"项目文档","description":"README、贡献指南与变更日志","empty":"没有找到项目文档","suggestion":"在项目根目录创建 README.md"}},"emptyState":{"title":"未检测到项目上下文","description":"该项目暂未配置任何上下文文件,AI Agent 无法了解项目背景。","suggestion":"先创建 AGENTS.md 或执行 \'lean-spec init\'"},"search":{"noMatchesTitle":"未找到匹配项","noMatchesDescription":"试试其他关键词","noFilesDescription":"该分类下没有文件"},"viewer":{"modified":"更新于 {{date}}","lines":"{{count}} 行","viewFull":"查看全页","openInEditor":"在 VS Code 中打开","copyContent":"复制内容","tokenStatus":{"optimal":"最佳","good":"良好","large":"偏大","veryLarge":"非常大"}},"detail":{"back":"返回","openInEditor":"在编辑器中打开","copy":"复制","copySuccess":"已复制!","lines":"{{count}} 行","modified":"更新于 {{date}}"}},"specTimeline":{"events":{"created":"创建","inProgress":"进行中","complete":"已完成","archived":"已归档"},"state":{"awaiting":"等待开始","queued":"排队中","pending":"等待更新"}},"dependencyGraph":{"header":{"title":"依赖地图","subtitle":"探索前置工作与关联项","badge":"React Flow DAG"},"badges":{"current":"当前 Spec","currentSubtitle":"本 Spec","dependsOn":"依赖","dependsOnSubtitle":"必须先完成","requiredBy":"被依赖","requiredBySubtitle":"受此 Spec 阻塞"}},"dependenciesPage":{"header":{"title":"依赖关系图","summary":{"connected":"{{count}} 个 Spec 存在依赖","standalone":"{{count}} 个独立项","none":"暂未配置依赖关系"}},"selector":{"placeholder":"选择要高亮的 Spec...","filterPlaceholder":"输入以筛选...","clearSelection":"清除选择","empty":"没有匹配的 Spec"},"filters":{"showStandalone":"显示独立项 ({{count}})","compact":"紧凑视图","focusMode":"焦点模式","clear":"重置","count":"({{count}})"},"empty":{"title":"暂无依赖可显示","filters":"没有 Spec 满足当前筛选条件","standaloneHint":"开启「显示独立项」即可查看未建立依赖的 Spec"},"legend":{"dependsOn":"依赖方向(箭头表示指向)","instructions":"点击:选中 • 双击:打开 • 拖动:重新布局"},"graph":{"levelTitle":"第 {{depth}} 层","levelBadge":"L{{depth}}"},"sidebar":{"emptyTitle":"请选择一个 Spec","emptyDescription":"点击节点即可查看它的依赖关系","openSpec":"打开 Spec →","dependsOnHeading":"上游依赖 ({{count}})","requiredByHeading":"下游被依赖 ({{count}})","emptyUpstream":"没有上游依赖","emptyDownstream":"没有下游依赖此 Spec","depth":{"direct":"直接关系","level":"第 {{depth}} 层"}}},"editors":{"changeStatus":"修改 Spec 状态","statusSuccess":"状态已更新","statusError":"无法更新状态","changePriority":"修改 Spec 优先级","prioritySuccess":"优先级已更新","priorityError":"无法更新优先级","addTag":"新增标签","tagExists":"该标签已存在","tagsSuccess":"标签已更新","tagsError":"无法更新标签","searchTag":"搜索或创建标签...","noTagResults":"没有可用的标签。","existingTags":"已有标签","createSection":"创建新标签","createTag":"创建「{{tag}}」","removeTag":"移除 {{tag}} 标签"},"desktopMenu":{"close":"关闭","newSpec":{"title":"创建新 Spec","description":"通过 LeanSpec CLI 在当前项目中生成新的 Spec。","slugLabel":"Spec slug","slugPlaceholder":"例如 desktop-native-menu","titleLabel":"显示标题(可选)","titlePlaceholder":"便于识别的标题","commandLabel":"CLI 命令","commandPlaceholder":"输入 Spec slug 即可预览命令…","hint":"在 {{project}}(或项目根目录)执行该命令即可生成 Spec 文件。","projectFallback":"项目根目录","copyButton":"复制命令","copied":"已复制"},"shortcuts":{"title":"键盘快捷键","description":"原生菜单与这些快捷键保持同步。","sections":{"global":"桌面外壳","view":"视图","help":"帮助"},"items":{"toggleWindow":"显示/隐藏桌面窗口","quickSwitch":"打开项目切换器","newSpec":"创建新 Spec","refreshProjects":"刷新项目","toggleSidebar":"切换侧边栏","quickFind":"查找 Spec","shortcuts":"显示快捷键","docs":"打开文档"}},"logs":{"title":"桌面日志","description":"日志仅保存在本机,报告问题时可以分享。","pathLabel":"日志目录","pathPlaceholder":"正在等待桌面应用返回日志路径…","hint":"也可以在原生菜单中选择 Help → View Logs。","copyPath":"复制路径","openButton":"打开日志文件夹"},"about":{"title":"关于 LeanSpec Desktop","description":"LeanSpec UI + 原生集成,专为多项目与自动化场景打造。","version":"版本","website":"网站","support":"支持"}}}'))},733394,e=>{e.v({fileNotFound:"文件未找到",specNotFound:"Spec 未找到",projectNotFound:"项目未找到",loadingError:"加载数据时出错",invalidInput:"无效输入",networkError:"网络错误",unknownError:"发生未知错误",permissionDenied:"权限被拒绝",operationFailed:"操作失败"})},264682,e=>{e.v({welcome:"欢迎使用 LeanSpec",gettingStarted:"开始使用 LeanSpec",noSpecsYet:"还没有 Spec。创建您的第一个 Spec 开始使用。",searchHelp:"输入以按标题、标签或编号搜索 Spec",keyboardShortcuts:"键盘快捷键",learnMore:"了解更多"})},75364,e=>{"use strict";let t=(0,e.i(122436).default)("circle-play",[["path",{d:"M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z",key:"kmsa83"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);e.s(["PlayCircle",()=>t],75364)},196812,e=>{"use strict";let t=(0,e.i(122436).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);e.s(["CheckCircle2",()=>t],196812)},40843,e=>{"use strict";let t=(0,e.i(122436).default)("clock",[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);e.s(["Clock",()=>t],40843)},490225,755541,374231,e=>{"use strict";var t=e.i(122436);let r=(0,t.default)("archive",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]]);e.s(["Archive",()=>r],490225);let o=(0,t.default)("minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);e.s(["Minus",()=>o],755541);let n=(0,t.default)("arrow-down",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);e.s(["ArrowDown",()=>n],374231)},323490,e=>{"use strict";var t=e.i(88636),r=e.i(294237),o=e.i(632137);let n=(0,r.cva)("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function i({className:e,variant:r,...i}){return(0,t.jsx)("div",{className:(0,o.cn)(n({variant:r}),e),...i})}e.s(["Badge",()=>i])},20315,e=>{"use strict";let t=(0,e.i(122436).default)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);e.s(["FileText",()=>t],20315)},94176,606751,e=>{"use strict";var t=e.i(122436);let r=(0,t.default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);e.s(["AlertCircle",()=>r],94176);let o=(0,t.default)("arrow-up",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);e.s(["ArrowUp",()=>o],606751)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,585458,(e,t,s)=>{e.e,t.exports=function(){"use strict";var e="millisecond",t="second",s="minute",r="hour",a="week",n="month",i="quarter",l="year",c="date",o="Invalid Date",d=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,u=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,m=function(e,t,s){var r=String(e);return!r||r.length>=t?e:""+Array(t+1-r.length).join(s)+e},h="en",p={};p[h]={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(e){var t=["th","st","nd","rd"],s=e%100;return"["+e+(t[(s-20)%10]||t[s]||t[0])+"]"}};var x="$isDayjsObject",f=function(e){return e instanceof y||!(!e||!e[x])},g=function e(t,s,r){var a;if(!t)return h;if("string"==typeof t){var n=t.toLowerCase();p[n]&&(a=n),s&&(p[n]=s,a=n);var i=t.split("-");if(!a&&i.length>1)return e(i[0])}else{var l=t.name;p[l]=t,a=l}return!r&&a&&(h=a),a||!r&&h},v=function(e,t){if(f(e))return e.clone();var s="object"==typeof t?t:{};return s.date=e,s.args=arguments,new y(s)},b={s:m,z:function(e){var t=-e.utcOffset(),s=Math.abs(t);return(t<=0?"+":"-")+m(Math.floor(s/60),2,"0")+":"+m(s%60,2,"0")},m:function e(t,s){if(t.date()<s.date())return-e(s,t);var r=12*(s.year()-t.year())+(s.month()-t.month()),a=t.clone().add(r,n),i=s-a<0,l=t.clone().add(r+(i?-1:1),n);return+(-(r+(s-a)/(i?a-l:l-a))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(o){return({M:n,y:l,w:a,d:"day",D:c,h:r,m:s,s:t,ms:e,Q:i})[o]||String(o||"").toLowerCase().replace(/s$/,"")},u:function(e){return void 0===e}};b.l=g,b.i=f,b.w=function(e,t){return v(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var y=function(){function m(e){this.$L=g(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[x]=!0}var h=m.prototype;return h.parse=function(e){this.$d=function(e){var t=e.date,s=e.utc;if(null===t)return new Date(NaN);if(b.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var r=t.match(d);if(r){var a=r[2]-1||0,n=(r[7]||"0").substring(0,3);return s?new Date(Date.UTC(r[1],a,r[3]||1,r[4]||0,r[5]||0,r[6]||0,n)):new Date(r[1],a,r[3]||1,r[4]||0,r[5]||0,r[6]||0,n)}}return new Date(t)}(e),this.init()},h.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},h.$utils=function(){return b},h.isValid=function(){return this.$d.toString()!==o},h.isSame=function(e,t){var s=v(e);return this.startOf(t)<=s&&s<=this.endOf(t)},h.isAfter=function(e,t){return v(e)<this.startOf(t)},h.isBefore=function(e,t){return this.endOf(t)<v(e)},h.$g=function(e,t,s){return b.u(e)?this[t]:this.set(s,e)},h.unix=function(){return Math.floor(this.valueOf()/1e3)},h.valueOf=function(){return this.$d.getTime()},h.startOf=function(e,i){var o=this,d=!!b.u(i)||i,u=b.p(e),m=function(e,t){var s=b.w(o.$u?Date.UTC(o.$y,t,e):new Date(o.$y,t,e),o);return d?s:s.endOf("day")},h=function(e,t){return b.w(o.toDate()[e].apply(o.toDate("s"),(d?[0,0,0,0]:[23,59,59,999]).slice(t)),o)},p=this.$W,x=this.$M,f=this.$D,g="set"+(this.$u?"UTC":"");switch(u){case l:return d?m(1,0):m(31,11);case n:return d?m(1,x):m(0,x+1);case a:var v=this.$locale().weekStart||0,y=(p<v?p+7:p)-v;return m(d?f-y:f+(6-y),x);case"day":case c:return h(g+"Hours",0);case r:return h(g+"Minutes",1);case s:return h(g+"Seconds",2);case t:return h(g+"Milliseconds",3);default:return this.clone()}},h.endOf=function(e){return this.startOf(e,!1)},h.$set=function(a,i){var o,d=b.p(a),u="set"+(this.$u?"UTC":""),m=((o={}).day=u+"Date",o[c]=u+"Date",o[n]=u+"Month",o[l]=u+"FullYear",o[r]=u+"Hours",o[s]=u+"Minutes",o[t]=u+"Seconds",o[e]=u+"Milliseconds",o)[d],h="day"===d?this.$D+(i-this.$W):i;if(d===n||d===l){var p=this.clone().set(c,1);p.$d[m](h),p.init(),this.$d=p.set(c,Math.min(this.$D,p.daysInMonth())).$d}else m&&this.$d[m](h);return this.init(),this},h.set=function(e,t){return this.clone().$set(e,t)},h.get=function(e){return this[b.p(e)]()},h.add=function(e,i){var c,o=this;e=Number(e);var d=b.p(i),u=function(t){var s=v(o);return b.w(s.date(s.date()+Math.round(t*e)),o)};if(d===n)return this.set(n,this.$M+e);if(d===l)return this.set(l,this.$y+e);if("day"===d)return u(1);if(d===a)return u(7);var m=((c={})[s]=6e4,c[r]=36e5,c[t]=1e3,c)[d]||1,h=this.$d.getTime()+e*m;return b.w(h,this)},h.subtract=function(e,t){return this.add(-1*e,t)},h.format=function(e){var t=this,s=this.$locale();if(!this.isValid())return s.invalidDate||o;var r=e||"YYYY-MM-DDTHH:mm:ssZ",a=b.z(this),n=this.$H,i=this.$m,l=this.$M,c=s.weekdays,d=s.months,m=s.meridiem,h=function(e,s,a,n){return e&&(e[s]||e(t,r))||a[s].slice(0,n)},p=function(e){return b.s(n%12||12,e,"0")},x=m||function(e,t,s){var r=e<12?"AM":"PM";return s?r.toLowerCase():r};return r.replace(u,function(e,r){return r||function(e){switch(e){case"YY":return String(t.$y).slice(-2);case"YYYY":return b.s(t.$y,4,"0");case"M":return l+1;case"MM":return b.s(l+1,2,"0");case"MMM":return h(s.monthsShort,l,d,3);case"MMMM":return h(d,l);case"D":return t.$D;case"DD":return b.s(t.$D,2,"0");case"d":return String(t.$W);case"dd":return h(s.weekdaysMin,t.$W,c,2);case"ddd":return h(s.weekdaysShort,t.$W,c,3);case"dddd":return c[t.$W];case"H":return String(n);case"HH":return b.s(n,2,"0");case"h":return p(1);case"hh":return p(2);case"a":return x(n,i,!0);case"A":return x(n,i,!1);case"m":return String(i);case"mm":return b.s(i,2,"0");case"s":return String(t.$s);case"ss":return b.s(t.$s,2,"0");case"SSS":return b.s(t.$ms,3,"0");case"Z":return a}return null}(e)||a.replace(":","")})},h.utcOffset=function(){return-(15*Math.round(this.$d.getTimezoneOffset()/15))},h.diff=function(e,c,o){var d,u=this,m=b.p(c),h=v(e),p=(h.utcOffset()-this.utcOffset())*6e4,x=this-h,f=function(){return b.m(u,h)};switch(m){case l:d=f()/12;break;case n:d=f();break;case i:d=f()/3;break;case a:d=(x-p)/6048e5;break;case"day":d=(x-p)/864e5;break;case r:d=x/36e5;break;case s:d=x/6e4;break;case t:d=x/1e3;break;default:d=x}return o?d:b.a(d)},h.daysInMonth=function(){return this.endOf(n).$D},h.$locale=function(){return p[this.$L]},h.locale=function(e,t){if(!e)return this.$L;var s=this.clone(),r=g(e,t,!0);return r&&(s.$L=r),s},h.clone=function(){return b.w(this.$d,this)},h.toDate=function(){return new Date(this.valueOf())},h.toJSON=function(){return this.isValid()?this.toISOString():null},h.toISOString=function(){return this.$d.toISOString()},h.toString=function(){return this.$d.toUTCString()},m}(),w=y.prototype;return v.prototype=w,[["$ms",e],["$s",t],["$m",s],["$H",r],["$W","day"],["$M",n],["$y",l],["$D",c]].forEach(function(e){w[e[1]]=function(t){return this.$g(t,e[0],e[1])}}),v.extend=function(e,t){return e.$i||(e(t,y,v),e.$i=!0),v},v.locale=g,v.isDayjs=f,v.unix=function(e){return v(1e3*e)},v.en=p[h],v.Ls=p,v.p={},v}()},635389,e=>{"use strict";let t=(0,e.i(122436).default)("maximize-2",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"m21 3-7 7",key:"1l2asr"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M9 21H3v-6",key:"wtvkvv"}]]);e.s(["Maximize2",()=>t],635389)},612437,(e,t,s)=>{e.e,t.exports=function(e,t,s){e=e||{};var r=t.prototype,a={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function n(e,t,s,a){return r.fromToBase(e,t,s,a)}s.en.relativeTime=a,r.fromToBase=function(t,r,n,i,l){for(var c,o,d,u=n.$locale().relativeTime||a,m=e.thresholds||[{l:"s",r:44,d:"second"},{l:"m",r:89},{l:"mm",r:44,d:"minute"},{l:"h",r:89},{l:"hh",r:21,d:"hour"},{l:"d",r:35},{l:"dd",r:25,d:"day"},{l:"M",r:45},{l:"MM",r:10,d:"month"},{l:"y",r:17},{l:"yy",d:"year"}],h=m.length,p=0;p<h;p+=1){var x=m[p];x.d&&(c=i?s(t).diff(n,x.d,!0):n.diff(t,x.d,!0));var f=(e.rounding||Math.round)(Math.abs(c));if(d=c>0,f<=x.r||!x.r){f<=1&&p>0&&(x=m[p-1]);var g=u[x.l];l&&(f=l(""+f)),o="string"==typeof g?g.replace("%d",f):g(f,r,x.l,d);break}}if(r)return o;var v=d?u.future:u.past;return"function"==typeof v?v(o):v.replace("%s",o)},r.to=function(e,t){return n(e,t,this,!0)},r.from=function(e,t){return n(e,t,this)};var i=function(e){return e.$u?s.utc():s()};r.toNow=function(e){return this.to(i(this),e)},r.fromNow=function(e){return this.from(i(this),e)}}},76075,e=>{"use strict";var t=e.i(88636),s=e.i(124892),r=e.i(632137);let a=s.forwardRef(({className:e,...s},a)=>(0,t.jsx)("div",{ref:a,className:(0,r.cn)("rounded-xl border border-gray-200 dark:border-gray-800 bg-card text-card-foreground shadow",e),...s}));a.displayName="Card";let n=s.forwardRef(({className:e,...s},a)=>(0,t.jsx)("div",{ref:a,className:(0,r.cn)("flex flex-col space-y-1.5 p-6",e),...s}));n.displayName="CardHeader";let i=s.forwardRef(({className:e,...s},a)=>(0,t.jsx)("div",{ref:a,className:(0,r.cn)("font-semibold leading-none tracking-tight",e),...s}));i.displayName="CardTitle";let l=s.forwardRef(({className:e,...s},a)=>(0,t.jsx)("div",{ref:a,className:(0,r.cn)("text-sm text-muted-foreground",e),...s}));l.displayName="CardDescription";let c=s.forwardRef(({className:e,...s},a)=>(0,t.jsx)("div",{ref:a,className:(0,r.cn)("p-6 pt-0",e),...s}));c.displayName="CardContent",s.forwardRef(({className:e,...s},a)=>(0,t.jsx)("div",{ref:a,className:(0,r.cn)("flex items-center p-6 pt-0",e),...s})).displayName="CardFooter",e.s(["Card",()=>a,"CardContent",()=>c,"CardDescription",()=>l,"CardHeader",()=>n,"CardTitle",()=>i])},522764,e=>{"use strict";let t=(0,e.i(122436).default)("list",[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]]);e.s(["List",()=>t],522764)},416992,e=>{"use strict";let t=(0,e.i(122436).default)("layout-grid",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]]);e.s(["LayoutGrid",()=>t],416992)},802001,e=>{"use strict";var t=e.i(88636),s=e.i(124892),r=e.i(446266),a=e.i(477020),n=e.i(76075),i=e.i(323490),l=e.i(21079),c=e.i(235893),o=e.i(708737),d=e.i(300329),u=e.i(196812),m=e.i(75364),h=e.i(40843),p=e.i(490225),x=e.i(416992),f=e.i(522764),g=e.i(20315),v=e.i(730885),b=e.i(635389),y=e.i(340982),w=e.i(826712),j=e.i(525761),N=e.i(168497),$=e.i(597705),C=e.i(632137),S=e.i(145878);e.i(178420);var k=e.i(995403);e.i(53501);var M=e.i(888104);let D={planned:{icon:h.Clock,titleKey:"status.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,titleKey:"status.inProgress",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:u.CheckCircle2,titleKey:"status.complete",colorClass:"text-green-600 dark:text-green-400",bgClass:"bg-green-50 dark:bg-green-900/20",borderClass:"border-green-200 dark:border-green-800"},archived:{icon:p.Archive,titleKey:"status.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"}},T=["planned","in-progress","complete","archived"];function P({initialSpecs:e,projectId:r}){let n=(0,a.useSearchParams)(),i=(0,a.useRouter)(),{t:u}=(0,M.useTranslation)("common"),m=(0,s.useCallback)(e=>`/projects/${r}/specs/${e}`,[r]),h=(0,s.useCallback)(()=>`/projects/${r}/specs`,[r]),[p,g]=(0,s.useState)(e),[v,w]=(0,s.useState)({}),[j,N]=(0,s.useState)(""),[$,S]=(0,s.useState)("all"),[T,P]=(0,s.useState)("all"),[A,L]=(0,s.useState)("id-desc"),[H,_]=(0,s.useState)(!1),[B,R]=(0,s.useState)(!1),[z,Y]=(0,s.useState)(()=>{let e=n.get("view");if("board"===e||"list"===e)return e;{let e=localStorage.getItem("specs-view-mode");if("board"===e||"list"===e)return e}return"list"}),U=(0,s.useRef)(!0),F=(0,s.useRef)(r);(0,s.useEffect)(()=>{F.current!==r?(g(e),w({}),N(""),S("all"),P("all"),_(!1),F.current=r):g(e)},[e,r]);let W=(0,s.useCallback)(async(e,t)=>{if(e.status===t)return;let s=e.status;w(t=>({...t,[e.id]:!0})),g(s=>s.map(s=>s.id===e.id?{...s,status:t}:s));try{let s=`/api/projects/${r}/specs/${encodeURIComponent(e.specName)}/status`,a=await fetch(s,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:t})});if(!a.ok){let e=await a.text();throw Error(e||"Failed to update spec status")}let n=e.specNumber?`#${e.specNumber}`:e.specName,i=u(D[t].titleKey);k.toast.success(u("specsPage.toasts.statusUpdated",{spec:n,status:i}))}catch(t){console.error("Failed to update spec status",t),g(t=>t.map(t=>t.id===e.id?{...t,status:s}:t)),k.toast.error(u("specsPage.toasts.statusError"))}finally{w(t=>{let s={...t};return delete s[e.id],s})}},[r]);(0,s.useEffect)(()=>{"archived"===$&&"board"===z&&_(!0)},[$,z]),(0,s.useEffect)(()=>{if(U.current){U.current=!1;return}let e=new URLSearchParams(window.location.search);"board"===z?e.set("view","board"):e.delete("view");let t=e.toString(),s=t?`?${t}`:"";i.replace(`${h()}${s}`,{scroll:!1}),localStorage.setItem("specs-view-mode",z)},[z,i,h]);let E=(0,s.useMemo)(()=>{let e=[...p.filter(e=>{let t=!j||e.title?.toLowerCase().includes(j.toLowerCase())||e.specName.toLowerCase().includes(j.toLowerCase())||e.tags?.some(e=>e.toLowerCase().includes(j.toLowerCase())),s="all"===$?"list"!==z||"archived"!==e.status:e.status===$,r="all"===T||e.priority===T;return t&&s&&r})];switch(A){case"id-desc":e.sort((e,t)=>(t.specNumber||0)-(e.specNumber||0));break;case"id-asc":e.sort((e,t)=>(e.specNumber||0)-(t.specNumber||0));break;case"updated-desc":e.sort((e,t)=>e.updatedAt?t.updatedAt?t.updatedAt.getTime()-e.updatedAt.getTime():-1:1);break;case"title-asc":e.sort((e,t)=>{let s=(e.title||e.specName).toLowerCase(),r=(t.title||t.specName).toLowerCase();return s.localeCompare(r)})}return e},[p,j,$,T,A,z]);return(0,t.jsx)("div",{className:"h-[calc(100vh-3.5rem)] flex flex-col overflow-hidden bg-background p-2 sm:p-4",children:(0,t.jsxs)("div",{className:(0,C.cn)("flex flex-col h-full mx-auto transition-all duration-300",B?"w-full":"max-w-7xl w-full"),children:[(0,t.jsx)("div",{className:"flex-none mb-3 sm:mb-4",children:(0,t.jsxs)("div",{className:"flex flex-col gap-2 sm:gap-3 md:gap-4",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("h1",{className:"text-lg sm:text-xl md:text-2xl font-bold tracking-tight truncate",children:u("specsPage.title")}),(0,t.jsx)("p",{className:"text-xs sm:text-sm text-muted-foreground",children:u("specsPage.count",{count:E.length})})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1.5 sm:gap-2 flex-shrink-0",children:[(0,t.jsxs)("div",{className:"flex items-center gap-0.5 sm:gap-1 bg-muted/50 p-0.5 sm:p-1 rounded-lg",children:[(0,t.jsxs)(c.Button,{variant:"list"===z?"secondary":"ghost",size:"sm",onClick:()=>Y("list"),className:"h-7 sm:h-8 px-2 sm:px-3",title:u("specsPage.views.listTooltip"),children:[(0,t.jsx)(f.List,{className:"h-3.5 w-3.5 sm:h-4 sm:w-4"}),(0,t.jsx)("span",{className:"hidden lg:inline ml-2",children:u("specsPage.views.list")})]}),(0,t.jsxs)(c.Button,{variant:"board"===z?"secondary":"ghost",size:"sm",onClick:()=>Y("board"),className:"h-7 sm:h-8 px-2 sm:px-3",title:u("specsPage.views.boardTooltip"),children:[(0,t.jsx)(x.LayoutGrid,{className:"h-3.5 w-3.5 sm:h-4 sm:w-4"}),(0,t.jsx)("span",{className:"hidden lg:inline ml-2",children:u("specsPage.views.board")})]})]}),(0,t.jsx)(c.Button,{variant:"ghost",size:"icon",onClick:()=>R(!B),className:"hidden md:flex h-8 w-8 sm:h-10 sm:w-10 text-muted-foreground hover:text-foreground",title:B?u("specsPage.wideMode.exit"):u("specsPage.wideMode.enter"),children:B?(0,t.jsx)(y.Minimize2,{className:"h-3.5 w-3.5 sm:h-4 sm:w-4"}):(0,t.jsx)(b.Maximize2,{className:"h-3.5 w-3.5 sm:h-4 sm:w-4"})})]})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsxs)("div",{className:"relative w-full",children:[(0,t.jsx)(d.Search,{className:"absolute left-2.5 top-1/2 -translate-y-1/2 h-3.5 w-3.5 sm:h-4 sm:w-4 text-muted-foreground pointer-events-none"}),(0,t.jsx)(l.Input,{placeholder:u("specsPage.searchPlaceholder"),value:j,onChange:e=>N(e.target.value),className:"pl-8 sm:pl-9 h-9 sm:h-10 w-full text-sm"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2 overflow-x-auto snap-x snap-mandatory pb-1 -mx-2 px-2 sm:mx-0 sm:px-0 sm:pb-0 scrollbar-thin",children:[(0,t.jsxs)(o.Select,{value:$,onValueChange:e=>S(e),children:[(0,t.jsx)(o.SelectTrigger,{className:"w-[110px] sm:w-[130px] h-9 sm:h-10 flex-shrink-0 snap-start text-xs sm:text-sm",children:(0,t.jsx)(o.SelectValue,{placeholder:u("specsPage.filters.status")})}),(0,t.jsxs)(o.SelectContent,{children:[(0,t.jsx)(o.SelectItem,{value:"all",children:u("specsPage.filters.statusAll")}),(0,t.jsx)(o.SelectItem,{value:"planned",children:u("status.planned")}),(0,t.jsx)(o.SelectItem,{value:"in-progress",children:u("status.inProgress")}),(0,t.jsx)(o.SelectItem,{value:"complete",children:u("status.complete")}),(0,t.jsx)(o.SelectItem,{value:"archived",children:u("status.archived")})]})]}),(0,t.jsxs)(o.Select,{value:T,onValueChange:P,children:[(0,t.jsx)(o.SelectTrigger,{className:"w-[110px] sm:w-[130px] h-9 sm:h-10 flex-shrink-0 snap-start text-xs sm:text-sm",children:(0,t.jsx)(o.SelectValue,{placeholder:u("specsPage.filters.priority")})}),(0,t.jsxs)(o.SelectContent,{children:[(0,t.jsx)(o.SelectItem,{value:"all",children:u("specsPage.filters.priorityAll")}),(0,t.jsx)(o.SelectItem,{value:"critical",children:u("priority.critical")}),(0,t.jsx)(o.SelectItem,{value:"high",children:u("priority.high")}),(0,t.jsx)(o.SelectItem,{value:"medium",children:u("priority.medium")}),(0,t.jsx)(o.SelectItem,{value:"low",children:u("priority.low")})]})]}),(0,t.jsxs)(o.Select,{value:A,onValueChange:e=>L(e),children:[(0,t.jsx)(o.SelectTrigger,{className:"w-[130px] sm:w-[170px] h-9 sm:h-10 flex-shrink-0 snap-start text-xs sm:text-sm",children:(0,t.jsx)(o.SelectValue,{placeholder:u("specsPage.filters.sort")})}),(0,t.jsxs)(o.SelectContent,{children:[(0,t.jsx)(o.SelectItem,{value:"id-desc",children:u("specsPage.filters.sortOptions.id-desc")}),(0,t.jsx)(o.SelectItem,{value:"id-asc",children:u("specsPage.filters.sortOptions.id-asc")}),(0,t.jsx)(o.SelectItem,{value:"updated-desc",children:u("specsPage.filters.sortOptions.updated-desc")}),(0,t.jsx)(o.SelectItem,{value:"title-asc",children:u("specsPage.filters.sortOptions.title-asc")})]})]})]})]})]})}),(0,t.jsx)("div",{className:(0,C.cn)("flex-1 min-h-0","board"===z?"overflow-x-auto overflow-y-hidden":"overflow-y-auto"),children:"list"===z?(0,t.jsx)("div",{className:"w-full",children:(0,t.jsx)(O,{specs:E,getSpecUrl:m,projectId:r})}):(0,t.jsx)(I,{specs:E,onStatusChange:W,pendingSpecIds:v,showArchived:H,onToggleArchived:()=>_(!H),getSpecUrl:m,projectId:r})})]})})}function O({specs:e,getSpecUrl:s,projectId:a}){let{t:l}=(0,M.useTranslation)("common");return(0,t.jsx)("div",{className:"grid grid-cols-1 gap-2 sm:gap-3 md:gap-4 pb-2 sm:pb-4 md:pb-8",children:e.map(e=>{let c={critical:"border-l-red-500",high:"border-l-orange-500",medium:"border-l-blue-500",low:"border-l-gray-400"}[e.priority]||"border-l-gray-300",o=e.relationships&&e.relationships.dependsOn.length>0,d=!!(e.subSpecsCount&&e.subSpecsCount>0),u=s(e.specNumber||e.id),m=`${a}:${e.id}`;return(0,t.jsxs)(n.Card,{className:(0,C.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=u,children:[(0,t.jsx)(n.CardHeader,{className:"pb-2 sm:pb-2.5 md:pb-3 px-3 sm:px-4 md:px-6 pt-3 sm:pt-4 md:pt-6",children:(0,t.jsxs)("div",{className:"flex flex-col gap-2 md:flex-row md:items-start md:justify-between md:gap-4",children:[(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsx)(r.default,{href:u,children:(0,t.jsxs)(n.CardTitle,{className:"text-sm sm:text-base md:text-lg font-semibold hover:text-primary transition-colors flex items-start flex-wrap gap-1.5 sm:gap-2 leading-snug sm:leading-normal",children:[e.specNumber?(0,t.jsxs)("span",{className:"font-mono text-xs sm:text-sm md:text-base font-normal text-muted-foreground flex-shrink-0",children:["#",e.specNumber.toString().padStart(3,"0")]}):null,(0,t.jsx)("span",{className:"flex-1 break-words",children:e.title||e.specName})]})}),e.title&&e.title!==e.specName&&(0,t.jsx)("p",{className:"text-[11px] sm:text-xs font-mono text-muted-foreground mt-1 sm:mt-1.5 truncate",children:e.specName})]}),(0,t.jsxs)("div",{className:"flex gap-1.5 sm:gap-2 flex-wrap md:shrink-0",children:[e.status&&(0,t.jsx)(N.StatusBadge,{status:e.status}),e.priority&&(0,t.jsx)($.PriorityBadge,{priority:e.priority})]})]})}),(0,t.jsx)(n.CardContent,{className:"px-3 sm:px-4 md:px-6 pb-2.5 sm:pb-3 md:pb-6 pt-0",children:(0,t.jsxs)("div",{className:"flex flex-col gap-2 md:flex-row md:items-center md:justify-between md:gap-4",children:[(0,t.jsx)("div",{className:"flex items-center gap-2 sm:gap-3 md:gap-4 text-[11px] sm:text-xs md:text-sm text-muted-foreground flex-wrap",children:e.updatedAt||d||o?(0,t.jsxs)(t.Fragment,{children:[e.updatedAt&&(0,t.jsxs)("div",{className:"flex items-center gap-1 sm:gap-1.5",children:[(0,t.jsx)(h.Clock,{className:"h-3 w-3 sm:h-3.5 sm:w-3.5 flex-shrink-0"}),(0,t.jsx)("span",{className:"whitespace-nowrap",children:l("specsPage.metadata.updated",{time:(0,S.formatRelativeTime)(e.updatedAt)})})]}),d&&(0,t.jsxs)("div",{className:"flex items-center gap-1 sm:gap-1.5",children:[(0,t.jsx)(g.FileText,{className:"h-3 w-3 sm:h-3.5 sm:w-3.5 flex-shrink-0"}),(0,t.jsx)("span",{className:"whitespace-nowrap",children:l("specsPage.metadata.files",{count:e.subSpecsCount})})]}),o&&(0,t.jsxs)("div",{className:"flex items-center gap-1 sm:gap-1.5",children:[(0,t.jsx)(v.GitBranch,{className:"h-3 w-3 sm:h-3.5 sm:w-3.5 flex-shrink-0"}),(0,t.jsx)("span",{className:"whitespace-nowrap",children:l("specsPage.metadata.dependencies",{count:e.relationships.dependsOn.length})})]})]}):(0,t.jsx)("span",{className:"invisible hidden md:inline",children:l("specsPage.metadata.none")})}),e.tags&&e.tags.length>0&&(0,t.jsx)("div",{className:"flex flex-wrap gap-1 sm:gap-1.5 md:gap-2 md:justify-end md:shrink-0",children:e.tags.map(e=>(0,t.jsx)(i.Badge,{variant:"outline",className:"text-[10px] sm:text-xs font-mono text-muted-foreground hover:text-foreground transition-colors h-5 sm:h-auto px-1.5 sm:px-2",children:e},e))})]})})]},m)})})}function I({specs:e,onStatusChange:a,pendingSpecIds:l,showArchived:c,onToggleArchived:o,getSpecUrl:d,projectId:u}){let{t:m}=(0,M.useTranslation)("common"),[h,p]=(0,s.useState)(null),[x,f]=(0,s.useState)(null),[g,v]=(0,s.useState)({}),b=(0,s.useMemo)(()=>T.map(t=>({status:t,config:D[t],specs:e.filter(e=>e.status===t)})),[e]),y=(0,s.useMemo)(()=>{let t=new Map;return e.forEach(e=>t.set(e.id,e)),t},[e]),N=(0,s.useCallback)((e,t)=>{t.dataTransfer.setData("text/plain",e),t.dataTransfer.effectAllowed="move",p(e)},[]),S=(0,s.useCallback)(()=>{p(null),f(null)},[]),k=(0,s.useCallback)((e,t)=>{h&&(t.preventDefault(),t.dataTransfer.dropEffect="move",f(e))},[h]),P=(0,s.useCallback)((e,t)=>{if(!h)return;let s=t.relatedTarget;s&&t.currentTarget.contains(s)||f(t=>t===e?null:t)},[h]),O=(0,s.useCallback)((e,t)=>{t.preventDefault();let s=t.dataTransfer.getData("text/plain")||h;if(!s)return void S();let r=y.get(s);r&&r.status!==e&&a(r,e),S()},[h,S,a,y]);return(0,t.jsx)("div",{className:"flex flex-col md:flex-row gap-3 sm:gap-4 md:gap-6 h-full pb-2 md:snap-x md:snap-mandatory overflow-y-auto md:overflow-y-hidden md:overflow-x-auto",children:b.map(e=>{let s=e.config.icon,a="archived"===e.status,p=g[e.status],f=m(e.config.titleKey);return(0,t.jsxs)("div",{className:(0,C.cn)("flex flex-col flex-1 snap-start","h-auto md:h-full w-full md:w-auto flex-shrink-0",a&&!c?"md:w-12 md:sm:w-14 md:min-w-[3rem] md:sm:min-w-[3.5rem] flex-none":"md:min-w-[260px] md:sm:min-w-[280px] md:md:min-w-[300px]"),children:[(0,t.jsx)("div",{className:(0,C.cn)("flex-none mb-3 sm:mb-4 rounded-lg border-2 bg-background transition-all touch-manipulation",e.config.bgClass,e.config.borderClass,a?"cursor-pointer hover:opacity-80 active:opacity-70":"",a&&!c?"py-4 sm:py-6 px-1.5 sm:px-2":"p-2.5 sm:p-3","md:cursor-default cursor-pointer"),onClick:()=>{if(a)o();else{var t;window.innerWidth<768&&(t=e.status,v(e=>({...e,[t]:!e[t]})))}},children:(0,t.jsxs)("h2",{className:(0,C.cn)("text-base sm:text-lg font-semibold flex items-center gap-1.5 sm:gap-2",e.config.colorClass,a&&!c&&"flex-col text-xs sm:text-sm gap-2 sm:gap-3"),children:[(0,t.jsx)(s,{className:"h-4 w-4 sm:h-5 sm:w-5 flex-shrink-0"}),a&&!c?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"vertical-text text-xs sm:text-sm whitespace-nowrap",children:f}),(0,t.jsx)(i.Badge,{variant:"outline",className:"text-[10px] sm:text-xs px-1 sm:px-2 h-4 sm:h-5",children:e.specs.length})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"truncate flex-1",children:f}),(0,t.jsx)(i.Badge,{variant:"outline",className:"text-[10px] sm:text-xs px-1.5 sm:px-2 h-4 sm:h-5 flex-shrink-0",children:e.specs.length}),(0,t.jsx)("div",{className:"md:hidden ml-2 text-muted-foreground/50",children:p?(0,t.jsx)(j.ChevronRight,{className:"h-4 w-4"}):(0,t.jsx)(w.ChevronDown,{className:"h-4 w-4"})})]})]})}),(!a||c)&&!p&&(0,t.jsxs)("div",{className:(0,C.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",h&&"border-dashed border-muted-foreground/40",h&&x===e.status&&"bg-muted/40 border-primary/50"),onDragOver:t=>k(e.status,t),onDragLeave:t=>P(e.status,t),onDrop:t=>O(e.status,t),children:[e.specs.map(e=>{let s={critical:"border-l-red-500",high:"border-l-orange-500",medium:"border-l-blue-500",low:"border-l-gray-400"}[e.priority]||"border-l-gray-300",a=!!l[e.id],c=d(e.specNumber||e.id),o=`${u}:${e.id}`;return(0,t.jsxs)(n.Card,{draggable:!a,onDragStart:t=>{a?t.preventDefault():N(e.id,t)},onDragEnd:S,"aria-disabled":a,className:(0,C.cn)("relative hover:shadow-lg active:shadow-xl transition-all duration-150 hover:scale-[1.02] active:scale-[0.99] border-l-4 cursor-pointer group flex flex-col touch-manipulation",s,a&&"opacity-60 cursor-wait"),onClick:()=>window.location.href=c,children:[a&&(0,t.jsx)("div",{className:"absolute inset-0 rounded-lg bg-background/80 flex items-center justify-center text-xs sm:text-sm font-medium z-10",children:m("specsPage.board.updating")}),(0,t.jsxs)(n.CardHeader,{className:"p-3 sm:p-4 pb-1.5 sm:pb-2 space-y-1 sm:space-y-1.5",children:[(0,t.jsx)("div",{className:"flex items-center justify-between",children:(0,t.jsx)("span",{className:"font-mono text-[10px] sm:text-xs text-muted-foreground/70 group-hover:text-primary/60 transition-colors",children:e.specNumber?`#${e.specNumber}`:""})}),(0,t.jsx)(r.default,{href:c,className:"block",children:(0,t.jsx)(n.CardTitle,{className:"text-xs sm:text-sm font-semibold leading-snug hover:text-primary transition-colors line-clamp-3",children:e.title||e.specName})})]}),(0,t.jsx)(n.CardContent,{className:"p-3 sm:p-4 pt-1.5 sm:pt-2 flex-1 flex flex-col justify-end",children:(0,t.jsxs)("div",{className:"flex flex-col gap-2 sm:gap-3",children:[e.title&&e.title!==e.specName&&(0,t.jsx)("p",{className:"text-[10px] sm:text-xs font-mono text-muted-foreground truncate opacity-70",children:e.specName}),(0,t.jsxs)("div",{className:"flex items-center justify-between gap-1.5 sm:gap-2 pt-0.5 sm:pt-1",children:[e.priority?(0,t.jsx)($.PriorityBadge,{priority:e.priority}):(0,t.jsx)("div",{}),e.tags&&e.tags.length>0&&(0,t.jsxs)("div",{className:"flex flex-wrap gap-0.5 sm:gap-1 justify-end",children:[e.tags.slice(0,2).map(e=>(0,t.jsx)(i.Badge,{variant:"outline",className:"text-[9px] sm:text-[10px] px-1 sm:px-1.5 h-4 sm:h-5 font-mono text-muted-foreground/80",children:e},e)),e.tags.length>2&&(0,t.jsxs)(i.Badge,{variant:"outline",className:"text-[9px] sm:text-[10px] px-1 sm:px-1.5 h-4 sm:h-5 font-mono text-muted-foreground/80",children:["+",e.tags.length-2]})]})]})]})})]},o)}),0===e.specs.length&&(0,t.jsx)(n.Card,{className:"border-dashed border-gray-300 dark:border-gray-700 bg-transparent",children:(0,t.jsxs)(n.CardContent,{className:"py-6 sm:py-8 text-center px-2",children:[(0,t.jsx)(s,{className:(0,C.cn)("mx-auto h-6 w-6 sm:h-8 sm:w-8 mb-1.5 sm:mb-2",e.config.colorClass,"opacity-50")}),(0,t.jsx)("p",{className:"text-xs sm:text-sm text-muted-foreground",children:m("specsPage.board.dropHere")})]})})]})]},e.status)})})}e.s(["SpecsClient",()=>P])}]);
@@ -1,29 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,641737,e=>{"use strict";var t=e.i(963046),r=e.i(826786),a=e.i(698216),n=e.i(728248),i=class extends t.AbstractMermaidTokenBuilder{static{(0,t.__name)(this,"PieTokenBuilder")}constructor(){super(["pie","showData"])}},l=class extends t.AbstractMermaidValueConverter{static{(0,t.__name)(this,"PieValueConverter")}runCustomConverter(e,t,r){if("PIE_SECTION_LABEL"===e.name)return t.replace(/"/g,"").trim()}},s={parser:{TokenBuilder:(0,t.__name)(()=>new i,"TokenBuilder"),ValueConverter:(0,t.__name)(()=>new l,"ValueConverter")}};function u(e=r.EmptyFileSystem){let i=(0,n.inject)((0,a.createDefaultSharedCoreModule)(e),t.MermaidGeneratedSharedModule),l=(0,n.inject)((0,a.createDefaultCoreModule)({shared:i}),t.PieGeneratedModule,s);return i.ServiceRegistry.register(l),{shared:i,Pie:l}}(0,t.__name)(u,"createPieServices"),e.s(["PieModule",()=>s,"createPieServices",()=>u])},474101,e=>{"use strict";var t=e.i(963046),r=e.i(826786),a=e.i(698216),n=e.i(728248),i=class extends t.AbstractMermaidTokenBuilder{static{(0,t.__name)(this,"TreemapTokenBuilder")}constructor(){super(["treemap"])}},l=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,s=class extends t.AbstractMermaidValueConverter{static{(0,t.__name)(this,"TreemapValueConverter")}runCustomConverter(e,t,r){if("NUMBER2"===e.name)return parseFloat(t.replace(/,/g,""));if("SEPARATOR"===e.name)return t.substring(1,t.length-1);if("STRING2"===e.name)return t.substring(1,t.length-1);if("INDENTATION"===e.name)return t.length;if("ClassDef"===e.name){if("string"!=typeof t)return t;let e=l.exec(t);if(e)return{$type:"ClassDefStatement",className:e[1],styleText:e[2]||void 0}}}};function u(e){let t=e.validation.TreemapValidator,r=e.validation.ValidationRegistry;if(r){let e={Treemap:t.checkSingleRoot.bind(t)};r.register(e,t)}}(0,t.__name)(u,"registerValidationChecks");var o=class{static{(0,t.__name)(this,"TreemapValidator")}checkSingleRoot(e,t){let r;for(let a of e.TreemapRows)a.item&&(void 0===r&&void 0===a.indent?r=0:void 0===a.indent?t("error","Multiple root nodes are not allowed in a treemap.",{node:a,property:"item"}):void 0!==r&&r>=parseInt(a.indent,10)&&t("error","Multiple root nodes are not allowed in a treemap.",{node:a,property:"item"}))}},c={parser:{TokenBuilder:(0,t.__name)(()=>new i,"TokenBuilder"),ValueConverter:(0,t.__name)(()=>new s,"ValueConverter")},validation:{TreemapValidator:(0,t.__name)(()=>new o,"TreemapValidator")}};function d(e=r.EmptyFileSystem){let i=(0,n.inject)((0,a.createDefaultSharedCoreModule)(e),t.MermaidGeneratedSharedModule),l=(0,n.inject)((0,a.createDefaultCoreModule)({shared:i}),t.TreemapGeneratedModule,c);return i.ServiceRegistry.register(l),u(l),{shared:i,Treemap:l}}(0,t.__name)(d,"createTreemapServices"),e.s(["TreemapModule",()=>c,"createTreemapServices",()=>d])},792573,e=>{"use strict";var t=e.i(963046),r=e.i(826786),a=e.i(698216),n=e.i(728248),i=class extends t.AbstractMermaidTokenBuilder{static{(0,t.__name)(this,"RadarTokenBuilder")}constructor(){super(["radar-beta"])}},l={parser:{TokenBuilder:(0,t.__name)(()=>new i,"TokenBuilder"),ValueConverter:(0,t.__name)(()=>new t.CommonValueConverter,"ValueConverter")}};function s(e=r.EmptyFileSystem){let i=(0,n.inject)((0,a.createDefaultSharedCoreModule)(e),t.MermaidGeneratedSharedModule),u=(0,n.inject)((0,a.createDefaultCoreModule)({shared:i}),t.RadarGeneratedModule,l);return i.ServiceRegistry.register(u),{shared:i,Radar:u}}(0,t.__name)(s,"createRadarServices"),e.s(["RadarModule",()=>l,"createRadarServices",()=>s])},788966,e=>{"use strict";var t=e.i(963046),r=e.i(826786),a=e.i(698216),n=e.i(728248),i=class extends t.AbstractMermaidTokenBuilder{static{(0,t.__name)(this,"PacketTokenBuilder")}constructor(){super(["packet"])}},l={parser:{TokenBuilder:(0,t.__name)(()=>new i,"TokenBuilder"),ValueConverter:(0,t.__name)(()=>new t.CommonValueConverter,"ValueConverter")}};function s(e=r.EmptyFileSystem){let i=(0,n.inject)((0,a.createDefaultSharedCoreModule)(e),t.MermaidGeneratedSharedModule),u=(0,n.inject)((0,a.createDefaultCoreModule)({shared:i}),t.PacketGeneratedModule,l);return i.ServiceRegistry.register(u),{shared:i,Packet:u}}(0,t.__name)(s,"createPacketServices"),e.s(["PacketModule",()=>l,"createPacketServices",()=>s])},109358,e=>{"use strict";var t=e.i(963046),r=e.i(826786),a=e.i(698216),n=e.i(728248),i=class extends t.AbstractMermaidTokenBuilder{static{(0,t.__name)(this,"InfoTokenBuilder")}constructor(){super(["info","showInfo"])}},l={parser:{TokenBuilder:(0,t.__name)(()=>new i,"TokenBuilder"),ValueConverter:(0,t.__name)(()=>new t.CommonValueConverter,"ValueConverter")}};function s(e=r.EmptyFileSystem){let i=(0,n.inject)((0,a.createDefaultSharedCoreModule)(e),t.MermaidGeneratedSharedModule),u=(0,n.inject)((0,a.createDefaultCoreModule)({shared:i}),t.InfoGeneratedModule,l);return i.ServiceRegistry.register(u),{shared:i,Info:u}}(0,t.__name)(s,"createInfoServices"),e.s(["InfoModule",()=>l,"createInfoServices",()=>s])},256714,e=>{"use strict";var t=e.i(963046),r=e.i(826786),a=e.i(698216),n=e.i(728248),i=class extends t.AbstractMermaidTokenBuilder{static{(0,t.__name)(this,"ArchitectureTokenBuilder")}constructor(){super(["architecture"])}},l=class extends t.AbstractMermaidValueConverter{static{(0,t.__name)(this,"ArchitectureValueConverter")}runCustomConverter(e,t,r){return"ARCH_ICON"===e.name?t.replace(/[()]/g,"").trim():"ARCH_TEXT_ICON"===e.name?t.replace(/["()]/g,""):"ARCH_TITLE"===e.name?t.replace(/[[\]]/g,"").trim():void 0}},s={parser:{TokenBuilder:(0,t.__name)(()=>new i,"TokenBuilder"),ValueConverter:(0,t.__name)(()=>new l,"ValueConverter")}};function u(e=r.EmptyFileSystem){let i=(0,n.inject)((0,a.createDefaultSharedCoreModule)(e),t.MermaidGeneratedSharedModule),l=(0,n.inject)((0,a.createDefaultCoreModule)({shared:i}),t.ArchitectureGeneratedModule,s);return i.ServiceRegistry.register(l),{shared:i,Architecture:l}}(0,t.__name)(u,"createArchitectureServices"),e.s(["ArchitectureModule",()=>s,"createArchitectureServices",()=>u])},972818,e=>{"use strict";var t=e.i(793554);e.s(["clone",()=>t.default])},793554,e=>{"use strict";var t=e.i(201866);e.s(["default",0,function(e){return(0,t.default)(e,4)}])},715279,e=>{"use strict";var t=e.i(926322);e.s(["forEach",()=>t.default])},370320,e=>{"use strict";var t=Object.prototype.hasOwnProperty;let r=function(e,r){return null!=e&&t.call(e,r)};var a=e.i(979215);e.s(["has",0,function(e,t){return null!=e&&(0,a.default)(e,t,r)}],370320)},334444,505359,877483,422735,e=>{"use strict";var t=e.i(288504),r=e.i(670771),a=e.i(193490),n=e.i(53768);let i=function(e,t){var r=-1,i=(0,n.default)(e)?Array(e.length):[];return(0,a.default)(e,function(e,a,n){i[++r]=t(e,a,n)}),i};e.s(["default",0,i],505359);var l=e.i(284612);let s=function(e,a){return((0,l.default)(e)?t.default:i)(e,(0,r.default)(a,3))};e.s(["default",0,s],877483),e.s(["map",0,s],334444);var u=/\s/;let o=function(e){for(var t=e.length;t--&&u.test(e.charAt(t)););return t};var c=/^\s+/,d=e.i(418890),f=e.i(239780),p=0/0,m=/^[-+]0x[0-9a-f]+$/i,h=/^0b[01]+$/i,v=/^0o[0-7]+$/i,g=parseInt;let y=function(e){if("number"==typeof e)return e;if((0,f.default)(e))return p;if((0,d.default)(e)){var t,r="function"==typeof e.valueOf?e.valueOf():e;e=(0,d.default)(r)?r+"":r}if("string"!=typeof e)return 0===e?e:+e;e=(t=e)?t.slice(0,o(t)+1).replace(c,""):t;var a=h.test(e);return a||v.test(e)?g(e.slice(2),a?2:8):m.test(e)?p:+e};var _=1/0;e.s(["default",0,function(e){return e?(e=y(e))===_||e===-_?(e<0?-1:1)*17976931348623157e292:e==e?e:0:0===e?e:0}],422735)},943532,e=>{"use strict";var t=e.i(422735);e.s(["default",0,function(e){var r=(0,t.default)(e),a=r%1;return r==r?a?r-a:r:0}])},761019,e=>{"use strict";var t=e.i(104979),r=e.i(284612),a=e.i(161184);e.s(["default",0,function(e){return"string"==typeof e||!(0,r.default)(e)&&(0,a.default)(e)&&"[object String]"==(0,t.default)(e)}])},822427,e=>{"use strict";var t=e.i(848131),r=e.i(17452),a=e.i(585693),n=e.i(767063),i=e.i(418890),l=e.i(583821);let s=function(e,t,s,u){if(!(0,i.default)(e))return e;t=(0,a.default)(t,e);for(var o=-1,c=t.length,d=c-1,f=e;null!=f&&++o<c;){var p=(0,l.default)(t[o]),m=s;if("__proto__"===p||"constructor"===p||"prototype"===p)break;if(o!=d){var h=f[p];void 0===(m=u?u(h,p,f):void 0)&&(m=(0,i.default)(h)?h:(0,n.default)(t[o+1])?[]:{})}(0,r.default)(f,p,m),f=f[p]}return e};e.s(["default",0,function(e,r,n){for(var i=-1,l=r.length,u={};++i<l;){var o=r[i],c=(0,t.default)(e,o);n(c,o)&&s(u,(0,a.default)(o,e),c)}return u}],822427)},314229,594392,e=>{"use strict";var t=e.i(72763);let r=function(e){return(null==e?0:e.length)?(0,t.default)(e,1):[]};e.s(["default",0,r],594392),e.s(["flatten",0,r],314229)},698328,e=>{"use strict";var t=e.i(686553),r=e.i(664139),a=e.i(373392),n=e.i(420474),i=Object.prototype,l=i.hasOwnProperty,s=(0,t.default)(function(e,t){e=Object(e);var s=-1,u=t.length,o=u>2?t[2]:void 0;for(o&&(0,a.default)(t[0],t[1],o)&&(u=1);++s<u;)for(var c=t[s],d=(0,n.default)(c),f=-1,p=d.length;++f<p;){var m=d[f],h=e[m];(void 0===h||(0,r.default)(h,i[m])&&!l.call(e,m))&&(e[m]=c[m])}return e});e.s(["defaults",0,s],698328)},508726,e=>{"use strict";var t=e.i(670771),r=e.i(53768),a=e.i(672775);e.s(["default",0,function(e){return function(n,i,l){var s=Object(n);if(!(0,r.default)(n)){var u=(0,t.default)(i,3);n=(0,a.default)(n),i=function(e){return u(s[e],e,s)}}var o=e(n,i,l);return o>-1?s[u?n[o]:o]:void 0}}])},666302,e=>{"use strict";var t=e.i(508726),r=e.i(615462),a=e.i(670771),n=e.i(943532),i=Math.max,l=(0,t.default)(function(e,t,l){var s=null==e?0:e.length;if(!s)return -1;var u=null==l?0:(0,n.default)(l);return u<0&&(u=i(s+u,0)),(0,r.default)(e,(0,a.default)(t,3),u)});e.s(["find",0,l],666302)},789453,e=>{"use strict";var t=e.i(284612);e.s(["isArray",()=>t.default])},985353,e=>{"use strict";e.s(["last",0,function(e){var t=null==e?0:e.length;return t?e[t-1]:void 0}],985353)},291786,e=>{"use strict";var t=RegExp("[\\u200d\ud800-\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");e.s(["default",0,function(e){return t.test(e)}])},974439,e=>{"use strict";var t=e.i(239780);e.s(["default",0,function(e,r,a){for(var n=-1,i=e.length;++n<i;){var l=e[n],s=r(l);if(null!=s&&(void 0===u?s==s&&!(0,t.default)(s):a(s,u)))var u=s,o=l}return o}])},531596,490482,e=>{"use strict";var t=e.i(974439);let r=function(e,t){return e<t};e.s(["default",0,r],490482);var a=e.i(177945);e.s(["default",0,function(e){return e&&e.length?(0,t.default)(e,a.default,r):void 0}],531596)},640312,e=>{"use strict";var t=e.i(963046),r=e.i(728248),a=e.i(698216),n=e.i(826786),i=class extends t.AbstractMermaidTokenBuilder{static{(0,t.__name)(this,"GitGraphTokenBuilder")}constructor(){super(["gitGraph"])}},l={parser:{TokenBuilder:(0,t.__name)(()=>new i,"TokenBuilder"),ValueConverter:(0,t.__name)(()=>new t.CommonValueConverter,"ValueConverter")}};function s(e=n.EmptyFileSystem){let i=(0,r.inject)((0,a.createDefaultSharedCoreModule)(e),t.MermaidGeneratedSharedModule),u=(0,r.inject)((0,a.createDefaultCoreModule)({shared:i}),t.GitGraphGeneratedModule,l);return i.ServiceRegistry.register(u),{shared:i,GitGraph:u}}(0,t.__name)(s,"createGitGraphServices"),e.s(["GitGraphModule",()=>l,"createGitGraphServices",()=>s])},135946,e=>{"use strict";e.i(640312),e.i(109358),e.i(788966),e.i(641737),e.i(256714),e.i(792573),e.i(474101);var t=e.i(963046),r={},a={info:(0,t.__name)(async()=>{let{createInfoServices:t}=await e.A(622640);r.info=t().Info.parser.LangiumParser},"info"),packet:(0,t.__name)(async()=>{let{createPacketServices:t}=await e.A(834944);r.packet=t().Packet.parser.LangiumParser},"packet"),pie:(0,t.__name)(async()=>{let{createPieServices:t}=await e.A(640381);r.pie=t().Pie.parser.LangiumParser},"pie"),architecture:(0,t.__name)(async()=>{let{createArchitectureServices:t}=await e.A(866135);r.architecture=t().Architecture.parser.LangiumParser},"architecture"),gitGraph:(0,t.__name)(async()=>{let{createGitGraphServices:t}=await e.A(435542);r.gitGraph=t().GitGraph.parser.LangiumParser},"gitGraph"),radar:(0,t.__name)(async()=>{let{createRadarServices:t}=await e.A(703127);r.radar=t().Radar.parser.LangiumParser},"radar"),treemap:(0,t.__name)(async()=>{let{createTreemapServices:t}=await e.A(594575);r.treemap=t().Treemap.parser.LangiumParser},"treemap")};async function n(e,t){let n=a[e];if(!n)throw Error(`Unknown diagram type: ${e}`);r[e]||await n();let l=r[e].parse(t);if(l.lexerErrors.length>0||l.parserErrors.length>0)throw new i(l);return l.value}(0,t.__name)(n,"parse");var i=class extends Error{constructor(e){super(`Parsing failed: ${e.lexerErrors.map(e=>e.message).join("\n")} ${e.parserErrors.map(e=>e.message).join("\n")}`),this.result=e}static{(0,t.__name)(this,"MermaidParseError")}};e.s(["parse",()=>n])},26463,e=>{"use strict";function t(e,t){e.accDescr&&t.setAccDescription?.(e.accDescr),e.accTitle&&t.setAccTitle?.(e.accTitle),e.title&&t.setDiagramTitle?.(e.title)}(0,e.i(625393).__name)(t,"populateCommonDb"),e.s(["populateCommonDb",()=>t])},696340,e=>{"use strict";function t(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e)}return this}function r(e,t){switch(arguments.length){case 0:break;case 1:"function"==typeof e?this.interpolator(e):this.range(e);break;default:this.domain(e),"function"==typeof t?this.interpolator(t):this.range(t)}return this}e.s(["initInterpolator",()=>r,"initRange",()=>t])},727994,e=>{"use strict";class t extends Map{constructor(e,t=a){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:t}}),null!=e)for(const[t,r]of e)this.set(t,r)}get(e){return super.get(r(this,e))}has(e){return super.has(r(this,e))}set(e,t){return super.set(function({_intern:e,_key:t},r){let a=t(r);return e.has(a)?e.get(a):(e.set(a,r),r)}(this,e),t)}delete(e){return super.delete(function({_intern:e,_key:t},r){let a=t(r);return e.has(a)&&(r=e.get(a),e.delete(a)),r}(this,e))}}function r({_intern:e,_key:t},r){let a=t(r);return e.has(a)?e.get(a):r}function a(e){return null!==e&&"object"==typeof e?e.valueOf():e}var n=e.i(696340);let i=Symbol("implicit");e.s(["default",()=>function e(){var r=new t,a=[],l=[],s=i;function u(e){let t=r.get(e);if(void 0===t){if(s!==i)return s;r.set(e,t=a.push(e)-1)}return l[t%l.length]}return u.domain=function(e){if(!arguments.length)return a.slice();for(let n of(a=[],r=new t,e))r.has(n)||r.set(n,a.push(n)-1);return u},u.range=function(e){return arguments.length?(l=Array.from(e),u):l.slice()},u.unknown=function(e){return arguments.length?(s=e,u):s},u.copy=function(){return e(a,l).unknown(s)},n.initRange.apply(u,arguments),u},"implicit",0,i],727994)},149851,e=>{"use strict";var t=e.i(727994);e.s(["scaleOrdinal",()=>t.default])},506511,e=>{"use strict";var t=e.i(459683),r=e.i(424885),a=e.i(199518);function n(e){return e.innerRadius}function i(e){return e.outerRadius}function l(e){return e.startAngle}function s(e){return e.endAngle}function u(e){return e&&e.padAngle}function o(e,t,a,n,i,l,s){var u=e-a,o=t-n,c=(s?l:-l)/(0,r.sqrt)(u*u+o*o),d=c*o,f=-c*u,p=e+d,m=t+f,h=a+d,v=n+f,g=(p+h)/2,y=(m+v)/2,_=h-p,T=v-m,x=_*_+T*T,S=i-l,C=p*v-h*m,A=(T<0?-1:1)*(0,r.sqrt)((0,r.max)(0,S*S*x-C*C)),k=(C*T-_*A)/x,M=(-C*_-T*A)/x,w=(C*T+_*A)/x,b=(-C*_+T*A)/x,D=k-g,P=M-y,R=w-g,B=b-y;return D*D+P*P>R*R+B*B&&(k=w,M=b),{cx:k,cy:M,x01:-d,y01:-f,x11:k*(i/S-1),y11:M*(i/S-1)}}e.s(["arc",0,function(){var e=n,c=i,d=(0,t.default)(0),f=null,p=l,m=s,h=u,v=null,g=(0,a.withPath)(y);function y(){var t,a,n=+e.apply(this,arguments),i=+c.apply(this,arguments),l=p.apply(this,arguments)-r.halfPi,s=m.apply(this,arguments)-r.halfPi,u=(0,r.abs)(s-l),y=s>l;if(v||(v=t=g()),i<n&&(a=i,i=n,n=a),i>r.epsilon)if(u>r.tau-r.epsilon)v.moveTo(i*(0,r.cos)(l),i*(0,r.sin)(l)),v.arc(0,0,i,l,s,!y),n>r.epsilon&&(v.moveTo(n*(0,r.cos)(s),n*(0,r.sin)(s)),v.arc(0,0,n,s,l,y));else{var _,T,x=l,S=s,C=l,A=s,k=u,M=u,w=h.apply(this,arguments)/2,b=w>r.epsilon&&(f?+f.apply(this,arguments):(0,r.sqrt)(n*n+i*i)),D=(0,r.min)((0,r.abs)(i-n)/2,+d.apply(this,arguments)),P=D,R=D;if(b>r.epsilon){var B=(0,r.asin)(b/n*(0,r.sin)(w)),G=(0,r.asin)(b/i*(0,r.sin)(w));(k-=2*B)>r.epsilon?(B*=y?1:-1,C+=B,A-=B):(k=0,C=A=(l+s)/2),(M-=2*G)>r.epsilon?(G*=y?1:-1,x+=G,S-=G):(M=0,x=S=(l+s)/2)}var j=i*(0,r.cos)(x),V=i*(0,r.sin)(x),$=n*(0,r.cos)(A),E=n*(0,r.sin)(A);if(D>r.epsilon){var O,I=i*(0,r.cos)(S),F=i*(0,r.sin)(S),L=n*(0,r.cos)(C),N=n*(0,r.sin)(C);if(u<r.pi)if(O=function(e,t,a,n,i,l,s,u){var o=a-e,c=n-t,d=s-i,f=u-l,p=f*o-d*c;if(!(p*p<r.epsilon))return p=(d*(t-l)-f*(e-i))/p,[e+p*o,t+p*c]}(j,V,L,N,I,F,$,E)){var z=j-O[0],q=V-O[1],U=I-O[0],W=F-O[1],H=1/(0,r.sin)((0,r.acos)((z*U+q*W)/((0,r.sqrt)(z*z+q*q)*(0,r.sqrt)(U*U+W*W)))/2),K=(0,r.sqrt)(O[0]*O[0]+O[1]*O[1]);P=(0,r.min)(D,(n-K)/(H-1)),R=(0,r.min)(D,(i-K)/(H+1))}else P=R=0}M>r.epsilon?R>r.epsilon?(_=o(L,N,j,V,i,R,y),T=o(I,F,$,E,i,R,y),v.moveTo(_.cx+_.x01,_.cy+_.y01),R<D?v.arc(_.cx,_.cy,R,(0,r.atan2)(_.y01,_.x01),(0,r.atan2)(T.y01,T.x01),!y):(v.arc(_.cx,_.cy,R,(0,r.atan2)(_.y01,_.x01),(0,r.atan2)(_.y11,_.x11),!y),v.arc(0,0,i,(0,r.atan2)(_.cy+_.y11,_.cx+_.x11),(0,r.atan2)(T.cy+T.y11,T.cx+T.x11),!y),v.arc(T.cx,T.cy,R,(0,r.atan2)(T.y11,T.x11),(0,r.atan2)(T.y01,T.x01),!y))):(v.moveTo(j,V),v.arc(0,0,i,x,S,!y)):v.moveTo(j,V),n>r.epsilon&&k>r.epsilon?P>r.epsilon?(_=o($,E,I,F,n,-P,y),T=o(j,V,L,N,n,-P,y),v.lineTo(_.cx+_.x01,_.cy+_.y01),P<D?v.arc(_.cx,_.cy,P,(0,r.atan2)(_.y01,_.x01),(0,r.atan2)(T.y01,T.x01),!y):(v.arc(_.cx,_.cy,P,(0,r.atan2)(_.y01,_.x01),(0,r.atan2)(_.y11,_.x11),!y),v.arc(0,0,n,(0,r.atan2)(_.cy+_.y11,_.cx+_.x11),(0,r.atan2)(T.cy+T.y11,T.cx+T.x11),y),v.arc(T.cx,T.cy,P,(0,r.atan2)(T.y11,T.x11),(0,r.atan2)(T.y01,T.x01),!y))):v.arc(0,0,n,A,C,y):v.lineTo($,E)}else v.moveTo(0,0);if(v.closePath(),t)return v=null,t+""||null}return y.centroid=function(){var t=(+e.apply(this,arguments)+ +c.apply(this,arguments))/2,a=(+p.apply(this,arguments)+ +m.apply(this,arguments))/2-r.pi/2;return[(0,r.cos)(a)*t,(0,r.sin)(a)*t]},y.innerRadius=function(r){return arguments.length?(e="function"==typeof r?r:(0,t.default)(+r),y):e},y.outerRadius=function(e){return arguments.length?(c="function"==typeof e?e:(0,t.default)(+e),y):c},y.cornerRadius=function(e){return arguments.length?(d="function"==typeof e?e:(0,t.default)(+e),y):d},y.padRadius=function(e){return arguments.length?(f=null==e?null:"function"==typeof e?e:(0,t.default)(+e),y):f},y.startAngle=function(e){return arguments.length?(p="function"==typeof e?e:(0,t.default)(+e),y):p},y.endAngle=function(e){return arguments.length?(m="function"==typeof e?e:(0,t.default)(+e),y):m},y.padAngle=function(e){return arguments.length?(h="function"==typeof e?e:(0,t.default)(+e),y):h},y.context=function(e){return arguments.length?(v=null==e?null:e,y):v},y}],506511)},607630,e=>{"use strict";var t=e.i(92623),r=e.i(26463),a=e.i(612938),n=e.i(697619),i=e.i(625393),l=e.i(135946);e.i(991577);var s=e.i(506511),u=e.i(251934),o=e.i(459683);function c(e,t){return t<e?-1:t>e?1:t>=e?0:NaN}function d(e){return e}var f=e.i(424885),p=e.i(149851),m=n.defaultConfig_default.pie,h={sections:new Map,showData:!1,config:m},v=h.sections,g=h.showData,y=structuredClone(m),_=(0,i.__name)(()=>structuredClone(y),"getConfig"),T=(0,i.__name)(()=>{v=new Map,g=h.showData,(0,n.clear)()},"clear"),x=(0,i.__name)(({label:e,value:t})=>{if(t<0)throw Error(`"${e}" has invalid value: ${t}. Negative values are not allowed in pie charts. All slice values must be >= 0.`);v.has(e)||(v.set(e,t),i.log.debug(`added new section: ${e}, with value: ${t}`))},"addSection"),S=(0,i.__name)(()=>v,"getSections"),C=(0,i.__name)(e=>{g=e},"setShowData"),A=(0,i.__name)(()=>g,"getShowData"),k={getConfig:_,clear:T,setDiagramTitle:n.setDiagramTitle,getDiagramTitle:n.getDiagramTitle,setAccTitle:n.setAccTitle,getAccTitle:n.getAccTitle,setAccDescription:n.setAccDescription,getAccDescription:n.getAccDescription,addSection:x,getSections:S,setShowData:C,getShowData:A},M=(0,i.__name)((e,t)=>{(0,r.populateCommonDb)(e,t),t.setShowData(e.showData),e.sections.map(t.addSection)},"populateDb"),w={parse:(0,i.__name)(async e=>{let t=await (0,l.parse)("pie",e);i.log.debug(t),M(t,k)},"parse")},b=(0,i.__name)(e=>`
2
- .pieCircle{
3
- stroke: ${e.pieStrokeColor};
4
- stroke-width : ${e.pieStrokeWidth};
5
- opacity : ${e.pieOpacity};
6
- }
7
- .pieOuterCircle{
8
- stroke: ${e.pieOuterStrokeColor};
9
- stroke-width: ${e.pieOuterStrokeWidth};
10
- fill: none;
11
- }
12
- .pieTitleText {
13
- text-anchor: middle;
14
- font-size: ${e.pieTitleTextSize};
15
- fill: ${e.pieTitleTextColor};
16
- font-family: ${e.fontFamily};
17
- }
18
- .slice {
19
- font-family: ${e.fontFamily};
20
- fill: ${e.pieSectionTextColor};
21
- font-size:${e.pieSectionTextSize};
22
- // fill: white;
23
- }
24
- .legend text {
25
- fill: ${e.pieLegendTextColor};
26
- font-family: ${e.fontFamily};
27
- font-size: ${e.pieLegendTextSize};
28
- }
29
- `,"getStyles"),D=(0,i.__name)(e=>{let t=[...e.values()].reduce((e,t)=>e+t,0),r=[...e.entries()].map(([e,t])=>({label:e,value:t})).filter(e=>e.value/t*100>=1).sort((e,t)=>t.value-e.value);return(function(){var e=d,t=c,r=null,a=(0,o.default)(0),n=(0,o.default)(f.tau),i=(0,o.default)(0);function l(l){var s,o,c,d,p,m=(l=(0,u.default)(l)).length,h=0,v=Array(m),g=Array(m),y=+a.apply(this,arguments),_=Math.min(f.tau,Math.max(-f.tau,n.apply(this,arguments)-y)),T=Math.min(Math.abs(_)/m,i.apply(this,arguments)),x=T*(_<0?-1:1);for(s=0;s<m;++s)(p=g[v[s]=s]=+e(l[s],s,l))>0&&(h+=p);for(null!=t?v.sort(function(e,r){return t(g[e],g[r])}):null!=r&&v.sort(function(e,t){return r(l[e],l[t])}),s=0,c=h?(_-m*x)/h:0;s<m;++s,y=d)d=y+((p=g[o=v[s]])>0?p*c:0)+x,g[o]={data:l[o],index:s,value:p,startAngle:y,endAngle:d,padAngle:T};return g}return l.value=function(t){return arguments.length?(e="function"==typeof t?t:(0,o.default)(+t),l):e},l.sortValues=function(e){return arguments.length?(t=e,r=null,l):t},l.sort=function(e){return arguments.length?(r=e,t=null,l):r},l.startAngle=function(e){return arguments.length?(a="function"==typeof e?e:(0,o.default)(+e),l):a},l.endAngle=function(e){return arguments.length?(n="function"==typeof e?e:(0,o.default)(+e),l):n},l.padAngle=function(e){return arguments.length?(i="function"==typeof e?e:(0,o.default)(+e),l):i},l})().value(e=>e.value)(r)},"createPieArcs"),P={parser:w,db:k,renderer:{draw:(0,i.__name)((e,r,l,u)=>{i.log.debug("rendering pie chart\n"+e);let o=u.db,c=(0,n.getConfig2)(),d=(0,a.cleanAndMerge)(o.getConfig(),c.pie),f=(0,t.selectSvgElement)(r),m=f.append("g");m.attr("transform","translate(225,225)");let{themeVariables:h}=c,[v]=(0,a.parseFontSize)(h.pieOuterStrokeWidth);v??=2;let g=d.textPosition,y=(0,s.arc)().innerRadius(0).outerRadius(185),_=(0,s.arc)().innerRadius(185*g).outerRadius(185*g);m.append("circle").attr("cx",0).attr("cy",0).attr("r",185+v/2).attr("class","pieOuterCircle");let T=o.getSections(),x=D(T),S=[h.pie1,h.pie2,h.pie3,h.pie4,h.pie5,h.pie6,h.pie7,h.pie8,h.pie9,h.pie10,h.pie11,h.pie12],C=0;T.forEach(e=>{C+=e});let A=x.filter(e=>"0"!==(e.data.value/C*100).toFixed(0)),k=(0,p.scaleOrdinal)(S);m.selectAll("mySlices").data(A).enter().append("path").attr("d",y).attr("fill",e=>k(e.data.label)).attr("class","pieCircle"),m.selectAll("mySlices").data(A).enter().append("text").text(e=>(e.data.value/C*100).toFixed(0)+"%").attr("transform",e=>"translate("+_.centroid(e)+")").style("text-anchor","middle").attr("class","slice"),m.append("text").text(o.getDiagramTitle()).attr("x",0).attr("y",-200).attr("class","pieTitleText");let M=[...T.entries()].map(([e,t])=>({label:e,value:t})),w=m.selectAll(".legend").data(M).enter().append("g").attr("class","legend").attr("transform",(e,t)=>"translate(216,"+(22*t-22*M.length/2)+")");w.append("rect").attr("width",18).attr("height",18).style("fill",e=>k(e.label)).style("stroke",e=>k(e.label)),w.append("text").attr("x",22).attr("y",14).text(e=>o.getShowData()?`${e.label} [${e.value}]`:e.label);let b=512+Math.max(...w.selectAll("text").nodes().map(e=>e?.getBoundingClientRect().width??0));f.attr("viewBox",`0 0 ${b} 450`),(0,n.configureSvgSize)(f,450,b,d.useMaxWidth)},"draw")},styles:b};e.s(["diagram",()=>P],607630)},622640,e=>{e.v(t=>Promise.all(["static/chunks/6ff7b0a8653036b2.js"].map(t=>e.l(t))).then(()=>t(809986)))},834944,e=>{e.v(t=>Promise.all(["static/chunks/db44023a744297d1.js"].map(t=>e.l(t))).then(()=>t(474815)))},640381,e=>{e.v(t=>Promise.all(["static/chunks/9d06bd5d701ace73.js"].map(t=>e.l(t))).then(()=>t(367242)))},866135,e=>{e.v(t=>Promise.all(["static/chunks/e2dce648399ad4d4.js"].map(t=>e.l(t))).then(()=>t(738328)))},435542,e=>{e.v(t=>Promise.all(["static/chunks/dbe7840308be36b8.js"].map(t=>e.l(t))).then(()=>t(991086)))},703127,e=>{e.v(t=>Promise.all(["static/chunks/3ed1465109fecc2d.js"].map(t=>e.l(t))).then(()=>t(529173)))},594575,e=>{e.v(t=>Promise.all(["static/chunks/67a1d37727697340.js"].map(t=>e.l(t))).then(()=>t(644720)))}]);