@leanspec/ui 0.2.5-dev.20251120072524 → 0.2.5-dev.20251120093243

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 (338) hide show
  1. package/.next/standalone/packages/ui/.next/BUILD_ID +1 -1
  2. package/.next/standalone/packages/ui/.next/app-path-routes-manifest.json +9 -0
  3. package/.next/standalone/packages/ui/.next/build-manifest.json +7 -6
  4. package/.next/standalone/packages/ui/.next/prerender-manifest.json +28 -3
  5. package/.next/standalone/packages/ui/.next/routes-manifest.json +71 -0
  6. package/.next/standalone/packages/ui/.next/server/app/_global-error/page/build-manifest.json +5 -4
  7. package/.next/standalone/packages/ui/.next/server/app/_global-error/page.js +1 -1
  8. package/.next/standalone/packages/ui/.next/server/app/_global-error/page.js.nft.json +1 -1
  9. package/.next/standalone/packages/ui/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  10. package/.next/standalone/packages/ui/.next/server/app/_global-error.html +2 -2
  11. package/.next/standalone/packages/ui/.next/server/app/_global-error.rsc +1 -1
  12. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  13. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  14. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  15. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  16. package/.next/standalone/packages/ui/.next/server/app/_not-found/page/build-manifest.json +5 -4
  17. package/.next/standalone/packages/ui/.next/server/app/_not-found/page.js +2 -2
  18. package/.next/standalone/packages/ui/.next/server/app/_not-found/page.js.nft.json +1 -1
  19. package/.next/standalone/packages/ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  20. package/.next/standalone/packages/ui/.next/server/app/_not-found.html +2 -2
  21. package/.next/standalone/packages/ui/.next/server/app/_not-found.rsc +20 -19
  22. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_full.segment.rsc +20 -19
  23. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_index.segment.rsc +26 -25
  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 +5 -5
  27. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/[id]/route.js +2 -3
  28. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/[id]/route.js.nft.json +1 -1
  29. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/discover/route.js +2 -3
  30. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/discover/route.js.nft.json +1 -1
  31. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/list-directory/route/app-paths-manifest.json +3 -0
  32. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/list-directory/route/build-manifest.json +11 -0
  33. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/list-directory/route/server-reference-manifest.json +4 -0
  34. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/list-directory/route.js +6 -0
  35. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/list-directory/route.js.map +5 -0
  36. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/list-directory/route.js.nft.json +1 -0
  37. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/list-directory/route_client-reference-manifest.js +2 -0
  38. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/route.js +2 -3
  39. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/route.js.nft.json +1 -1
  40. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/route/app-paths-manifest.json +3 -0
  41. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/route/build-manifest.json +11 -0
  42. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/route/server-reference-manifest.json +4 -0
  43. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/route.js +8 -0
  44. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/route.js.map +5 -0
  45. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/route.js.nft.json +1 -0
  46. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/route_client-reference-manifest.js +2 -0
  47. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/route/app-paths-manifest.json +3 -0
  48. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/route/build-manifest.json +11 -0
  49. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/route/server-reference-manifest.json +4 -0
  50. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/route.js +9 -0
  51. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/route.js.map +5 -0
  52. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/route.js.nft.json +1 -0
  53. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/route_client-reference-manifest.js +2 -0
  54. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/status/route/app-paths-manifest.json +3 -0
  55. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/status/route/build-manifest.json +11 -0
  56. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/status/route/server-reference-manifest.json +4 -0
  57. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/status/route.js +8 -0
  58. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/status/route.js.map +5 -0
  59. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/status/route.js.nft.json +1 -0
  60. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/status/route_client-reference-manifest.js +2 -0
  61. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/route.js +4 -3
  62. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/route.js.nft.json +1 -1
  63. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/stats/route/app-paths-manifest.json +3 -0
  64. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/stats/route/build-manifest.json +11 -0
  65. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/stats/route/server-reference-manifest.json +4 -0
  66. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/stats/route.js +8 -0
  67. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/stats/route.js.map +5 -0
  68. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/stats/route.js.nft.json +1 -0
  69. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/stats/route_client-reference-manifest.js +2 -0
  70. package/.next/standalone/packages/ui/.next/server/app/api/projects/route.js +2 -2
  71. package/.next/standalone/packages/ui/.next/server/app/api/projects/route.js.nft.json +1 -1
  72. package/.next/standalone/packages/ui/.next/server/app/api/revalidate/route.js +3 -4
  73. package/.next/standalone/packages/ui/.next/server/app/api/revalidate/route.js.nft.json +1 -1
  74. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/dependency-graph/route.js +3 -4
  75. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/dependency-graph/route.js.nft.json +1 -1
  76. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/route.js +3 -4
  77. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/route.js.nft.json +1 -1
  78. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/status/route.js +3 -4
  79. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/status/route.js.nft.json +1 -1
  80. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/subspecs/[file]/route.js +3 -4
  81. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/subspecs/[file]/route.js.nft.json +1 -1
  82. package/.next/standalone/packages/ui/.next/server/app/api/stats/route.js +3 -4
  83. package/.next/standalone/packages/ui/.next/server/app/api/stats/route.js.nft.json +1 -1
  84. package/.next/standalone/packages/ui/.next/server/app/page/build-manifest.json +5 -4
  85. package/.next/standalone/packages/ui/.next/server/app/page.js +2 -2
  86. package/.next/standalone/packages/ui/.next/server/app/page.js.nft.json +1 -1
  87. package/.next/standalone/packages/ui/.next/server/app/page_client-reference-manifest.js +1 -1
  88. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page/app-paths-manifest.json +3 -0
  89. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page/build-manifest.json +18 -0
  90. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page/next-font-manifest.json +6 -0
  91. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page/react-loadable-manifest.json +1 -0
  92. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page/server-reference-manifest.json +4 -0
  93. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page.js +21 -0
  94. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page.js.map +5 -0
  95. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page.js.nft.json +1 -0
  96. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page_client-reference-manifest.js +2 -0
  97. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page/app-paths-manifest.json +3 -0
  98. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page/build-manifest.json +18 -0
  99. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page/next-font-manifest.json +6 -0
  100. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page/react-loadable-manifest.json +1 -0
  101. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page/server-reference-manifest.json +4 -0
  102. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page.js +21 -0
  103. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page.js.map +5 -0
  104. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page.js.nft.json +1 -0
  105. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page_client-reference-manifest.js +2 -0
  106. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page/app-paths-manifest.json +3 -0
  107. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page/build-manifest.json +18 -0
  108. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page/next-font-manifest.json +6 -0
  109. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page/react-loadable-manifest.json +1 -0
  110. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page/server-reference-manifest.json +4 -0
  111. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page.js +20 -0
  112. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page.js.map +5 -0
  113. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page.js.nft.json +1 -0
  114. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page_client-reference-manifest.js +2 -0
  115. package/.next/standalone/packages/ui/.next/server/app/projects/page/app-paths-manifest.json +3 -0
  116. package/.next/standalone/packages/ui/.next/server/app/projects/page/build-manifest.json +18 -0
  117. package/.next/standalone/packages/ui/.next/server/app/projects/page/next-font-manifest.json +6 -0
  118. package/.next/standalone/packages/ui/.next/server/app/projects/page/react-loadable-manifest.json +1 -0
  119. package/.next/standalone/packages/ui/.next/server/app/projects/page/server-reference-manifest.json +4 -0
  120. package/.next/standalone/packages/ui/.next/server/app/projects/page.js +19 -0
  121. package/.next/standalone/packages/ui/.next/server/app/projects/page.js.map +5 -0
  122. package/.next/standalone/packages/ui/.next/server/app/projects/page.js.nft.json +1 -0
  123. package/.next/standalone/packages/ui/.next/server/app/projects/page_client-reference-manifest.js +2 -0
  124. package/.next/standalone/packages/ui/.next/server/app/projects.html +2 -0
  125. package/.next/standalone/packages/ui/.next/server/app/projects.meta +14 -0
  126. package/.next/standalone/packages/ui/.next/server/app/projects.rsc +34 -0
  127. package/.next/standalone/packages/ui/.next/server/app/projects.segments/_full.segment.rsc +34 -0
  128. package/.next/standalone/packages/ui/.next/server/app/projects.segments/_index.segment.rsc +27 -0
  129. package/.next/standalone/packages/ui/.next/server/app/projects.segments/_tree.segment.rsc +9 -0
  130. package/.next/standalone/packages/ui/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +9 -0
  131. package/.next/standalone/packages/ui/.next/server/app/projects.segments/projects.segment.rsc +4 -0
  132. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page/build-manifest.json +5 -4
  133. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page.js +4 -4
  134. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page.js.nft.json +1 -1
  135. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page_client-reference-manifest.js +1 -1
  136. package/.next/standalone/packages/ui/.next/server/app/specs/page/build-manifest.json +5 -4
  137. package/.next/standalone/packages/ui/.next/server/app/specs/page.js +2 -2
  138. package/.next/standalone/packages/ui/.next/server/app/specs/page.js.nft.json +1 -1
  139. package/.next/standalone/packages/ui/.next/server/app/specs/page_client-reference-manifest.js +1 -1
  140. package/.next/standalone/packages/ui/.next/server/app/stats/page/build-manifest.json +5 -4
  141. package/.next/standalone/packages/ui/.next/server/app/stats/page.js +2 -2
  142. package/.next/standalone/packages/ui/.next/server/app/stats/page.js.nft.json +1 -1
  143. package/.next/standalone/packages/ui/.next/server/app/stats/page_client-reference-manifest.js +1 -1
  144. package/.next/standalone/packages/ui/.next/server/app-paths-manifest.json +9 -0
  145. package/.next/standalone/packages/ui/.next/server/chunks/6681a__next-internal_server_app_api_projects_[id]_specs_[spec]_route_actions_d018d9e0.js +3 -0
  146. package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_projects_[id]_stats_route_actions_a0bb04a8.js +3 -0
  147. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__0fbfea15._.js +3 -0
  148. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__126dea7b._.js +3 -0
  149. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__1f037512._.js +3 -0
  150. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__3559376c._.js +21 -0
  151. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__548e27d4._.js +3 -0
  152. package/.next/standalone/packages/ui/.next/server/chunks/{[root-of-the-server]__d293d769._.js → [root-of-the-server]__65667b70._.js} +2 -2
  153. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__675a763e._.js +3 -0
  154. package/.next/standalone/packages/ui/.next/server/chunks/{[root-of-the-server]__c83721f3._.js → [root-of-the-server]__803d07f0._.js} +2 -2
  155. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__8075fe29._.js +3 -0
  156. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__8233e09b._.js +3 -0
  157. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__84cdc14a._.js +3 -0
  158. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__9ce722b4._.js +3 -0
  159. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__a2d7cbed._.js +3 -0
  160. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__aa677b0d._.js +3 -0
  161. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__ac744182._.js +3 -0
  162. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__bb9fca84._.js +4 -0
  163. package/.next/standalone/packages/ui/.next/server/chunks/{[root-of-the-server]__fad83967._.js → [root-of-the-server]__bdc3963a._.js} +2 -2
  164. package/.next/standalone/packages/ui/.next/server/chunks/{[root-of-the-server]__57791a48._.js → [root-of-the-server]__f5c6d6b8._.js} +2 -2
  165. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__fb91986f._.js +3 -0
  166. package/.next/standalone/packages/ui/.next/server/chunks/f825c_server_app_api_local-projects_list-directory_route_actions_d620ec1a.js +3 -0
  167. package/.next/standalone/packages/ui/.next/server/chunks/f825c_server_app_api_projects_[id]_specs_[spec]_status_route_actions_e9f1bdc5.js +3 -0
  168. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui__next-internal_server_app_api_projects_[id]_route_actions_bff49675.js +3 -0
  169. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_db_index_ts_556307fa._.js +64 -5
  170. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_specs_sources_database-source_ts_0bd881ee._.js +3 -0
  171. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_specs_sources_database-source_ts_baa0160d._.js +3 -0
  172. package/.next/standalone/packages/ui/.next/server/chunks/ssr/38a22_sonner_dist_index_mjs_207730fe._.js +3 -0
  173. package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_7af75658._.js +3 -0
  174. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{_a5b58449._.js → 6e9bd_next_dist_df5dcbe9._.js} +2 -2
  175. package/.next/standalone/packages/ui/.next/server/chunks/ssr/730ea_ui__next-internal_server_app_projects_[projectId]_specs_page_actions_82e32fe4.js +3 -0
  176. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__01bfc8ff._.js +3 -0
  177. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__1d0c2012._.js +1 -1
  178. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__4ec37765._.js +3 -0
  179. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{[root-of-the-server]__1af33d49._.js → [root-of-the-server]__50122e7e._.js} +2 -2
  180. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{[root-of-the-server]__34ab4950._.js → [root-of-the-server]__5382b397._.js} +2 -2
  181. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__73f60f12._.js +7 -0
  182. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__88a691ee._.js +3 -0
  183. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__a7ae8552._.js +7 -0
  184. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__bdbbba01._.js +3 -0
  185. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__c592f5d1._.js +3 -0
  186. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__cc589a54._.js +3 -0
  187. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__ec5b96a5._.js +3 -0
  188. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{[root-of-the-server]__cbbbfb5d._.js → [root-of-the-server]__fd80e4dd._.js} +2 -2
  189. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_000dd317._.js +1 -1
  190. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_196b5a83._.js +3 -0
  191. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_39562b2a._.js +4 -0
  192. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_3b617676._.js +1 -1
  193. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_4129cc0f._.js +3 -0
  194. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_6174313a._.js +3 -0
  195. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_6e4dd8b6._.js +3 -0
  196. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_85effc18._.js +4 -0
  197. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_ad8c1e99._.js +1 -1
  198. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_bae6d2b8._.js +4 -0
  199. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_c2f54661._.js +5 -0
  200. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_fdd7780b._.js +4 -0
  201. package/.next/standalone/packages/ui/.next/server/chunks/ssr/f825c_server_app_projects_[projectId]_specs_[specId]_page_actions_22d9c35e.js +3 -0
  202. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_af9d3830._.js +3 -0
  203. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app_projects_[projectId]_page_actions_f2986585.js +3 -0
  204. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app_projects_page_actions_715940ea.js +3 -0
  205. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_projects_[projectId]_be242d6c._.js +3 -0
  206. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_projects_[projectId]_project-context-syncer_tsx_7954ea3b._.js +3 -0
  207. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_projects_page_tsx_6e166c8e._.js +3 -0
  208. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_specs_specs-client_tsx_0bb8f8f8._.js +1 -1
  209. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_components_ui_select_tsx_7e21d40f._.js +3 -0
  210. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_lib_specs_sources_database-source_ts_f7186c2a._.js +60 -1
  211. package/.next/standalone/packages/ui/.next/server/middleware-build-manifest.js +5 -4
  212. package/.next/standalone/packages/ui/.next/server/pages/404.html +2 -2
  213. package/.next/standalone/packages/ui/.next/server/pages/500.html +2 -2
  214. package/.next/standalone/packages/ui/.next/server/server-reference-manifest.js +1 -1
  215. package/.next/standalone/packages/ui/.next/server/server-reference-manifest.json +1 -1
  216. package/.next/standalone/packages/ui/.next/static/chunks/07f48b316e895080.js +1 -0
  217. package/.next/standalone/packages/ui/.next/static/chunks/0a7be410b438418a.js +1 -0
  218. package/.next/standalone/packages/ui/.next/static/chunks/1089ca88f6bef846.js +1 -0
  219. package/.next/standalone/packages/ui/.next/static/chunks/17471c87082c392c.js +5 -0
  220. package/.next/standalone/packages/ui/.next/static/chunks/220ba5cb8fe4dd69.js +1 -0
  221. package/.next/standalone/packages/ui/.next/static/chunks/35ccd3286e538bd2.js +1 -0
  222. package/.next/standalone/packages/ui/.next/static/chunks/571033caca823138.js +1 -0
  223. package/.next/standalone/packages/ui/.next/static/chunks/5a6fc30cd64085b4.css +1 -0
  224. package/.next/standalone/packages/ui/.next/static/chunks/5c2072ad938de8ed.js +1 -0
  225. package/.next/standalone/packages/ui/.next/static/chunks/843e1dfdc28e1385.js +1 -0
  226. package/.next/standalone/packages/ui/.next/static/chunks/9dad7fd31627df80.js +1 -0
  227. package/.next/standalone/packages/ui/.next/static/chunks/{c3d4d07de959ecf1.js → a055d4b2866ff8d4.js} +1 -1
  228. package/.next/standalone/packages/ui/.next/static/chunks/afb7c5a4255f4081.js +3 -0
  229. package/.next/standalone/packages/ui/.next/static/chunks/{c557ac675be79771.js → b760a3a9c2c8be28.js} +1 -1
  230. package/.next/standalone/packages/ui/.next/static/chunks/dcdd95180149fa10.js +1 -0
  231. package/.next/standalone/packages/ui/.next/static/chunks/ebd89051637b9a47.js +4 -0
  232. package/.next/standalone/packages/ui/.next/static/chunks/f9db24028d8c058e.js +1 -0
  233. package/.next/standalone/packages/ui/.next/static/chunks/fb640f50455ba34f.js +1 -0
  234. package/.next/standalone/packages/ui/.next/static/chunks/turbopack-b9690cacbf9fe48c.js +3 -0
  235. package/.next/standalone/packages/ui/bin/ui.js +17 -7
  236. package/.next/standalone/packages/ui/package.json +2 -1
  237. package/.next/standalone/packages/ui/src/app/api/local-projects/list-directory/route.ts +38 -0
  238. package/.next/standalone/packages/ui/src/app/api/projects/[id]/route.ts +97 -0
  239. package/.next/standalone/packages/ui/src/app/api/projects/[id]/specs/[spec]/route.ts +38 -0
  240. package/.next/standalone/packages/ui/src/app/api/projects/[id]/specs/[spec]/status/route.ts +97 -0
  241. package/.next/standalone/packages/ui/src/app/api/projects/[id]/specs/route.ts +7 -0
  242. package/.next/standalone/packages/ui/src/app/api/projects/[id]/stats/route.ts +19 -0
  243. package/.next/standalone/packages/ui/src/app/api/projects/route.ts +48 -1
  244. package/.next/standalone/packages/ui/src/app/dashboard-client.tsx +67 -6
  245. package/.next/standalone/packages/ui/src/app/layout.tsx +11 -8
  246. package/.next/standalone/packages/ui/src/app/not-found.tsx +1 -1
  247. package/.next/standalone/packages/ui/src/app/projects/[projectId]/layout.tsx +18 -0
  248. package/.next/standalone/packages/ui/src/app/projects/[projectId]/page.tsx +10 -0
  249. package/.next/standalone/packages/ui/src/app/projects/[projectId]/project-context-syncer.tsx +16 -0
  250. package/.next/standalone/packages/ui/src/app/projects/[projectId]/specs/[specId]/page.tsx +34 -0
  251. package/.next/standalone/packages/ui/src/app/projects/[projectId]/specs/page.tsx +20 -0
  252. package/.next/standalone/packages/ui/src/app/projects/page.tsx +156 -0
  253. package/.next/standalone/packages/ui/src/app/specs/specs-client.tsx +7 -2
  254. package/.next/standalone/packages/ui/src/components/create-project-dialog.tsx +139 -0
  255. package/.next/standalone/packages/ui/src/components/directory-picker.tsx +191 -0
  256. package/.next/standalone/packages/ui/src/components/main-sidebar.tsx +4 -0
  257. package/.next/standalone/packages/ui/src/components/project-switcher.tsx +105 -196
  258. package/.next/standalone/packages/ui/src/components/ui/dropdown-menu.tsx +200 -0
  259. package/.next/standalone/packages/ui/src/components/ui/popover.tsx +31 -0
  260. package/.next/standalone/packages/ui/src/contexts/project-context.tsx +10 -6
  261. package/.next/standalone/packages/ui/src/lib/db/index.ts +100 -0
  262. package/.next/standalone/packages/ui/src/lib/projects/registry.ts +77 -3
  263. package/.next/standalone/packages/ui/src/lib/specs/sources/multi-project-source.ts +4 -4
  264. package/.next/standalone/packages/ui/tsconfig.tsbuildinfo +1 -1
  265. package/.next/static/chunks/07f48b316e895080.js +1 -0
  266. package/.next/static/chunks/0a7be410b438418a.js +1 -0
  267. package/.next/static/chunks/1089ca88f6bef846.js +1 -0
  268. package/.next/static/chunks/17471c87082c392c.js +5 -0
  269. package/.next/static/chunks/220ba5cb8fe4dd69.js +1 -0
  270. package/.next/static/chunks/35ccd3286e538bd2.js +1 -0
  271. package/.next/static/chunks/571033caca823138.js +1 -0
  272. package/.next/static/chunks/5a6fc30cd64085b4.css +1 -0
  273. package/.next/static/chunks/5c2072ad938de8ed.js +1 -0
  274. package/.next/static/chunks/843e1dfdc28e1385.js +1 -0
  275. package/.next/static/chunks/9dad7fd31627df80.js +1 -0
  276. package/.next/static/chunks/{c3d4d07de959ecf1.js → a055d4b2866ff8d4.js} +1 -1
  277. package/.next/static/chunks/afb7c5a4255f4081.js +3 -0
  278. package/.next/static/chunks/{c557ac675be79771.js → b760a3a9c2c8be28.js} +1 -1
  279. package/.next/static/chunks/dcdd95180149fa10.js +1 -0
  280. package/.next/static/chunks/ebd89051637b9a47.js +4 -0
  281. package/.next/static/chunks/f9db24028d8c058e.js +1 -0
  282. package/.next/static/chunks/fb640f50455ba34f.js +1 -0
  283. package/.next/static/chunks/turbopack-b9690cacbf9fe48c.js +3 -0
  284. package/bin/ui.js +17 -7
  285. package/package.json +2 -1
  286. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__175bef84._.js +0 -3
  287. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__4b3c3001._.js +0 -21
  288. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__4b77d48f._.js +0 -3
  289. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__60b6d106._.js +0 -3
  290. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__a627840f._.js +0 -3
  291. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__beb134c0._.js +0 -3
  292. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__c6689757._.js +0 -3
  293. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__c8a20942._.js +0 -3
  294. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__cd1fb0a2._.js +0 -4
  295. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__dfa71dcd._.js +0 -3
  296. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__e9ba3fa9._.js +0 -3
  297. package/.next/standalone/packages/ui/.next/server/chunks/ecee3_js-yaml_dist_js-yaml_mjs_0775f118._.js +0 -3
  298. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__a9d7fd42._.js +0 -3
  299. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__b2fe773d._.js +0 -3
  300. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__b3633d6e._.js +0 -3
  301. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__e79a982a._.js +0 -7
  302. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__ff03fc1e._.js +0 -7
  303. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_66209e84._.js +0 -3
  304. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_6cd9a5e0._.js +0 -3
  305. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_b483c9fe._.js +0 -3
  306. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_b5040d31._.js +0 -5
  307. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_9710705b._.js +0 -3
  308. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_b8ff10b9._.js +0 -3
  309. package/.next/standalone/packages/ui/.next/static/chunks/093ea4b175adb770.js +0 -1
  310. package/.next/standalone/packages/ui/.next/static/chunks/5f97d665a4d9dc62.js +0 -3
  311. package/.next/standalone/packages/ui/.next/static/chunks/9b7b7024c39c5f99.js +0 -1
  312. package/.next/standalone/packages/ui/.next/static/chunks/aa47b212786d8695.js +0 -1
  313. package/.next/standalone/packages/ui/.next/static/chunks/ae04dcd433be6dab.js +0 -1
  314. package/.next/standalone/packages/ui/.next/static/chunks/c0576ccd1437ac5e.css +0 -1
  315. package/.next/standalone/packages/ui/.next/static/chunks/c0fe4c94c7282ac0.js +0 -4
  316. package/.next/standalone/packages/ui/.next/static/chunks/c61cbb6a0ba3b6ab.js +0 -1
  317. package/.next/standalone/packages/ui/.next/static/chunks/d79bf953f0dfb650.js +0 -1
  318. package/.next/standalone/packages/ui/.next/static/chunks/e50fb8d0b728cd35.js +0 -5
  319. package/.next/standalone/packages/ui/.next/static/chunks/e6e238dbf1d3e740.js +0 -1
  320. package/.next/standalone/packages/ui/.next/static/chunks/turbopack-9cc79aa1b34ffcbe.js +0 -3
  321. package/.next/static/chunks/093ea4b175adb770.js +0 -1
  322. package/.next/static/chunks/5f97d665a4d9dc62.js +0 -3
  323. package/.next/static/chunks/9b7b7024c39c5f99.js +0 -1
  324. package/.next/static/chunks/aa47b212786d8695.js +0 -1
  325. package/.next/static/chunks/ae04dcd433be6dab.js +0 -1
  326. package/.next/static/chunks/c0576ccd1437ac5e.css +0 -1
  327. package/.next/static/chunks/c0fe4c94c7282ac0.js +0 -4
  328. package/.next/static/chunks/c61cbb6a0ba3b6ab.js +0 -1
  329. package/.next/static/chunks/d79bf953f0dfb650.js +0 -1
  330. package/.next/static/chunks/e50fb8d0b728cd35.js +0 -5
  331. package/.next/static/chunks/e6e238dbf1d3e740.js +0 -1
  332. package/.next/static/chunks/turbopack-9cc79aa1b34ffcbe.js +0 -3
  333. /package/.next/standalone/packages/ui/.next/static/{fMRsihZys1Dhy9qQRwNrc → T1wNN9JmkdwBabQsqL-tC}/_buildManifest.js +0 -0
  334. /package/.next/standalone/packages/ui/.next/static/{fMRsihZys1Dhy9qQRwNrc → T1wNN9JmkdwBabQsqL-tC}/_clientMiddlewareManifest.json +0 -0
  335. /package/.next/standalone/packages/ui/.next/static/{fMRsihZys1Dhy9qQRwNrc → T1wNN9JmkdwBabQsqL-tC}/_ssgManifest.js +0 -0
  336. /package/.next/static/{fMRsihZys1Dhy9qQRwNrc → T1wNN9JmkdwBabQsqL-tC}/_buildManifest.js +0 -0
  337. /package/.next/static/{fMRsihZys1Dhy9qQRwNrc → T1wNN9JmkdwBabQsqL-tC}/_clientMiddlewareManifest.json +0 -0
  338. /package/.next/static/{fMRsihZys1Dhy9qQRwNrc → T1wNN9JmkdwBabQsqL-tC}/_ssgManifest.js +0 -0
@@ -0,0 +1,5 @@
1
+ module.exports=[63652,(a,b,c)=>{"use strict";c._=function(a){return a&&a.__esModule?a:{default:a}}},80375,(a,b,c)=>{"use strict";function d({widthInt:a,heightInt:b,blurWidth:c,blurHeight:d,blurDataURL:e,objectFit:f}){let g=c?40*c:a,h=d?40*d:b,i=g&&h?`viewBox='0 0 ${g} ${h}'`:"";return`%3Csvg xmlns='http://www.w3.org/2000/svg' ${i}%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='${i?"none":"contain"===f?"xMidYMid":"cover"===f?"xMidYMid slice":"none"}' style='filter: url(%23b);' href='${e}'/%3E%3C/svg%3E`}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"getImageBlurSvg",{enumerable:!0,get:function(){return d}})},729,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={VALID_LOADERS:function(){return f},imageConfigDefault:function(){return g}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=["default","imgix","cloudinary","akamai","custom"],g={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:14400,formats:["image/webp"],maximumRedirects:3,dangerouslyAllowLocalIP:!1,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:[75],unoptimized:!1}},4484,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"getImgProps",{enumerable:!0,get:function(){return i}}),a.r(44127);let d=a.r(80375),e=a.r(729),f=["-moz-initial","fill","none","scale-down",void 0];function g(a){return void 0!==a.default}function h(a){return void 0===a?a:"number"==typeof a?Number.isFinite(a)?a:NaN:"string"==typeof a&&/^[0-9]+$/.test(a)?parseInt(a,10):NaN}function i({src:a,sizes:b,unoptimized:c=!1,priority:i=!1,preload:j=!1,loading:k,className:l,quality:m,width:n,height:o,fill:p=!1,style:q,overrideSrc:r,onLoad:s,onLoadingComplete:t,placeholder:u="empty",blurDataURL:v,fetchPriority:w,decoding:x="async",layout:y,objectFit:z,objectPosition:A,lazyBoundary:B,lazyRoot:C,...D},E){var F;let G,H,I,{imgConf:J,showAltText:K,blurComplete:L,defaultLoader:M}=E,N=J||e.imageConfigDefault;if("allSizes"in N)G=N;else{let a=[...N.deviceSizes,...N.imageSizes].sort((a,b)=>a-b),b=N.deviceSizes.sort((a,b)=>a-b),c=N.qualities?.sort((a,b)=>a-b);G={...N,allSizes:a,deviceSizes:b,qualities:c}}if(void 0===M)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let O=D.loader||M;delete D.loader,delete D.srcSet;let P="__next_img_default"in O;if(P){if("custom"===G.loader)throw Object.defineProperty(Error(`Image with src "${a}" is missing "loader" prop.
2
+ Read more: https://nextjs.org/docs/messages/next-image-missing-loader`),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let a=O;O=b=>{let{config:c,...d}=b;return a(d)}}if(y){"fill"===y&&(p=!0);let a={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[y];a&&(q={...q,...a});let c={responsive:"100vw",fill:"100vw"}[y];c&&!b&&(b=c)}let Q="",R=h(n),S=h(o);if((F=a)&&"object"==typeof F&&(g(F)||void 0!==F.src)){let b=g(a)?a.default:a;if(!b.src)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ${JSON.stringify(b)}`),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!b.height||!b.width)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ${JSON.stringify(b)}`),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(H=b.blurWidth,I=b.blurHeight,v=v||b.blurDataURL,Q=b.src,!p)if(R||S){if(R&&!S){let a=R/b.width;S=Math.round(b.height*a)}else if(!R&&S){let a=S/b.height;R=Math.round(b.width*a)}}else R=b.width,S=b.height}let T=!i&&!j&&("lazy"===k||void 0===k);(!(a="string"==typeof a?a:Q)||a.startsWith("data:")||a.startsWith("blob:"))&&(c=!0,T=!1),G.unoptimized&&(c=!0),P&&!G.dangerouslyAllowSVG&&a.split("?",1)[0].endsWith(".svg")&&(c=!0);let U=h(m),V=Object.assign(p?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:z,objectPosition:A}:{},K?{}:{color:"transparent"},q),W=L||"empty"===u?null:"blur"===u?`url("data:image/svg+xml;charset=utf-8,${(0,d.getImageBlurSvg)({widthInt:R,heightInt:S,blurWidth:H,blurHeight:I,blurDataURL:v||"",objectFit:V.objectFit})}")`:`url("${u}")`,X=f.includes(V.objectFit)?"fill"===V.objectFit?"100% 100%":"cover":V.objectFit,Y=W?{backgroundSize:X,backgroundPosition:V.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:W}:{},Z=function({config:a,src:b,unoptimized:c,width:d,quality:e,sizes:f,loader:g}){if(c)return{src:b,srcSet:void 0,sizes:void 0};let{widths:h,kind:i}=function({deviceSizes:a,allSizes:b},c,d){if(d){let c=/(^|\s)(1?\d?\d)vw/g,e=[];for(let a;a=c.exec(d);)e.push(parseInt(a[2]));if(e.length){let c=.01*Math.min(...e);return{widths:b.filter(b=>b>=a[0]*c),kind:"w"}}return{widths:b,kind:"w"}}return"number"!=typeof c?{widths:a,kind:"w"}:{widths:[...new Set([c,2*c].map(a=>b.find(b=>b>=a)||b[b.length-1]))],kind:"x"}}(a,d,f),j=h.length-1;return{sizes:f||"w"!==i?f:"100vw",srcSet:h.map((c,d)=>`${g({config:a,src:b,quality:e,width:c})} ${"w"===i?c:d+1}${i}`).join(", "),src:g({config:a,src:b,quality:e,width:h[j]})}}({config:G,src:a,unoptimized:c,width:R,quality:U,sizes:b,loader:O}),$=T?"lazy":k;return{props:{...D,loading:$,fetchPriority:w,width:R,height:S,decoding:x,className:l,style:{...V,...Y},sizes:Z.sizes,srcSet:Z.srcSet,src:r||Z.src},meta:{unoptimized:c,preload:j||i,placeholder:u,fill:p}}}},17303,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"default",{enumerable:!0,get:function(){return f}});let d=a.r(36883),e=()=>{};function f(a){let{headManager:b,reduceComponentsToState:c}=a;function f(){if(b&&b.mountedInstances){let a=d.Children.toArray(Array.from(b.mountedInstances).filter(Boolean));b.updateHead(c(a))}}return b?.mountedInstances?.add(a.children),f(),e(()=>(b?.mountedInstances?.add(a.children),()=>{b?.mountedInstances?.delete(a.children)})),e(()=>(b&&(b._pendingUpdate=f),()=>{b&&(b._pendingUpdate=f)})),null}},61881,(a,b,c)=>{"use strict";b.exports=a.r(18382).vendored.contexts.HeadManagerContext},61964,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={default:function(){return p},defaultHead:function(){return l}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(63652),g=a.r(3988),h=a.r(40352),i=g._(a.r(36883)),j=f._(a.r(17303)),k=a.r(61881);function l(){return[(0,h.jsx)("meta",{charSet:"utf-8"},"charset"),(0,h.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")]}function m(a,b){return"string"==typeof b||"number"==typeof b?a:b.type===i.default.Fragment?a.concat(i.default.Children.toArray(b.props.children).reduce((a,b)=>"string"==typeof b||"number"==typeof b?a:a.concat(b),[])):a.concat(b)}a.r(44127);let n=["name","httpEquiv","charSet","itemProp"];function o(a){let b,c,d,e;return a.reduce(m,[]).reverse().concat(l().reverse()).filter((b=new Set,c=new Set,d=new Set,e={},a=>{let f=!0,g=!1;if(a.key&&"number"!=typeof a.key&&a.key.indexOf("$")>0){g=!0;let c=a.key.slice(a.key.indexOf("$")+1);b.has(c)?f=!1:b.add(c)}switch(a.type){case"title":case"base":c.has(a.type)?f=!1:c.add(a.type);break;case"meta":for(let b=0,c=n.length;b<c;b++){let c=n[b];if(a.props.hasOwnProperty(c))if("charSet"===c)d.has(c)?f=!1:d.add(c);else{let b=a.props[c],d=e[c]||new Set;("name"!==c||!g)&&d.has(b)?f=!1:(d.add(b),e[c]=d)}}}return f})).reverse().map((a,b)=>{let c=a.key||b;return i.default.cloneElement(a,{key:c})})}let p=function({children:a}){let b=(0,i.useContext)(k.HeadManagerContext);return(0,h.jsx)(j.default,{reduceComponentsToState:o,headManager:b,children:a})};("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},9328,(a,b,c)=>{"use strict";b.exports=a.r(18382).vendored.contexts.ImageConfigContext},97867,(a,b,c)=>{"use strict";b.exports=a.r(18382).vendored.contexts.RouterContext},98783,(a,b,c)=>{"use strict";function d(a,b){let c=a||75;return b?.qualities?.length?b.qualities.reduce((a,b)=>Math.abs(b-c)<Math.abs(a-c)?b:a,0):c}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"findClosestQuality",{enumerable:!0,get:function(){return d}})},56797,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"default",{enumerable:!0,get:function(){return f}});let d=a.r(98783);function e({config:a,src:b,width:c,quality:e}){if(b.startsWith("/")&&b.includes("?")&&a.localPatterns?.length===1&&"**"===a.localPatterns[0].pathname&&""===a.localPatterns[0].search)throw Object.defineProperty(Error(`Image with src "${b}" is using a query string which is not configured in images.localPatterns.
3
+ Read more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`),"__NEXT_ERROR_CODE",{value:"E871",enumerable:!1,configurable:!0});let f=(0,d.findClosestQuality)(e,a);return`${a.path}?url=${encodeURIComponent(b)}&w=${c}&q=${f}${b.startsWith("/_next/static/media/"),""}`}e.__next_img_default=!0;let f=e},74561,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"Image",{enumerable:!0,get:function(){return u}});let d=a.r(63652),e=a.r(3988),f=a.r(40352),g=e._(a.r(36883)),h=d._(a.r(90073)),i=d._(a.r(61964)),j=a.r(4484),k=a.r(729),l=a.r(9328);a.r(44127);let m=a.r(97867),n=d._(a.r(56797)),o=a.r(88100),p={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1};function q(a,b,c,d,e,f,g){let h=a?.src;a&&a["data-loaded-src"]!==h&&(a["data-loaded-src"]=h,("decode"in a?a.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(a.parentElement&&a.isConnected){if("empty"!==b&&e(!0),c?.current){let b=new Event("load");Object.defineProperty(b,"target",{writable:!1,value:a});let d=!1,e=!1;c.current({...b,nativeEvent:b,currentTarget:a,target:a,isDefaultPrevented:()=>d,isPropagationStopped:()=>e,persist:()=>{},preventDefault:()=>{d=!0,b.preventDefault()},stopPropagation:()=>{e=!0,b.stopPropagation()}})}d?.current&&d.current(a)}}))}function r(a){return g.use?{fetchPriority:a}:{fetchpriority:a}}globalThis.__NEXT_IMAGE_IMPORTED=!0;let s=(0,g.forwardRef)(({src:a,srcSet:b,sizes:c,height:d,width:e,decoding:h,className:i,style:j,fetchPriority:k,placeholder:l,loading:m,unoptimized:n,fill:p,onLoadRef:s,onLoadingCompleteRef:t,setBlurComplete:u,setShowAltText:v,sizesInput:w,onLoad:x,onError:y,...z},A)=>{let B=(0,g.useCallback)(a=>{a&&(y&&(a.src=a.src),a.complete&&q(a,l,s,t,u,n,w))},[a,l,s,t,u,y,n,w]),C=(0,o.useMergedRef)(A,B);return(0,f.jsx)("img",{...z,...r(k),loading:m,width:e,height:d,decoding:h,"data-nimg":p?"fill":"1",className:i,style:j,sizes:c,srcSet:b,src:a,ref:C,onLoad:a=>{q(a.currentTarget,l,s,t,u,n,w)},onError:a=>{v(!0),"empty"!==l&&u(!0),y&&y(a)}})});function t({isAppRouter:a,imgAttributes:b}){let c={as:"image",imageSrcSet:b.srcSet,imageSizes:b.sizes,crossOrigin:b.crossOrigin,referrerPolicy:b.referrerPolicy,...r(b.fetchPriority)};return a&&h.default.preload?(h.default.preload(b.src,c),null):(0,f.jsx)(i.default,{children:(0,f.jsx)("link",{rel:"preload",href:b.srcSet?void 0:b.src,...c},"__nimg-"+b.src+b.srcSet+b.sizes)})}let u=(0,g.forwardRef)((a,b)=>{let c=(0,g.useContext)(m.RouterContext),d=(0,g.useContext)(l.ImageConfigContext),e=(0,g.useMemo)(()=>{let a=p||d||k.imageConfigDefault,b=[...a.deviceSizes,...a.imageSizes].sort((a,b)=>a-b),c=a.deviceSizes.sort((a,b)=>a-b),e=a.qualities?.sort((a,b)=>a-b);return{...a,allSizes:b,deviceSizes:c,qualities:e,localPatterns:d?.localPatterns}},[d]),{onLoad:h,onLoadingComplete:i}=a,o=(0,g.useRef)(h);(0,g.useEffect)(()=>{o.current=h},[h]);let q=(0,g.useRef)(i);(0,g.useEffect)(()=>{q.current=i},[i]);let[r,u]=(0,g.useState)(!1),[v,w]=(0,g.useState)(!1),{props:x,meta:y}=(0,j.getImgProps)(a,{defaultLoader:n.default,imgConf:e,blurComplete:r,showAltText:v});return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(s,{...x,unoptimized:y.unoptimized,placeholder:y.placeholder,fill:y.fill,onLoadRef:o,onLoadingCompleteRef:q,setBlurComplete:u,setShowAltText:w,sizesInput:a.sizes,ref:b}),y.preload?(0,f.jsx)(t,{isAppRouter:!c,imgAttributes:x}):null]})});("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},78274,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={default:function(){return k},getImageProps:function(){return j}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(63652),g=a.r(4484),h=a.r(74561),i=f._(a.r(56797));function j(a){let{props:b}=(0,g.getImgProps)(a,{defaultLoader:i.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[a,c]of Object.entries(b))void 0===c&&delete b[a];return{props:b}}let k=h.Image},32745,(a,b,c)=>{b.exports=a.r(78274)},64952,a=>{"use strict";var b=a.i(40352),c=a.i(36883),d=/[\\\/_+.#"@\[\(\{&]/,e=/[\\\/_+.#"@\[\(\{&]/g,f=/[\s-]/,g=/[\s-]/g;function h(a){return a.toLowerCase().replace(g," ")}var i=a.i(21841);a.i(90073);var j=a.i(79965),k=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((a,d)=>{let e=(0,j.createSlot)(`Primitive.${d}`),f=c.forwardRef((a,c)=>{let{asChild:f,...g}=a;return(0,b.jsx)(f?e:d,{...g,ref:c})});return f.displayName=`Primitive.${d}`,{...a,[d]:f}},{}),l=a.i(99700),m=a.i(17988),n='[cmdk-group=""]',o='[cmdk-group-items=""]',p='[cmdk-item=""]',q=`${p}:not([aria-disabled="true"])`,r="cmdk-item-select",s="data-value",t=(a,b,c)=>{var i;return i=a,function a(b,c,h,i,j,k,l){if(k===c.length)return j===b.length?1:.99;var m=`${j},${k}`;if(void 0!==l[m])return l[m];for(var n,o,p,q,r=i.charAt(k),s=h.indexOf(r,j),t=0;s>=0;)(n=a(b,c,h,i,s+1,k+1,l))>t&&(s===j?n*=1:d.test(b.charAt(s-1))?(n*=.8,(p=b.slice(j,s-1).match(e))&&j>0&&(n*=Math.pow(.999,p.length))):f.test(b.charAt(s-1))?(n*=.9,(q=b.slice(j,s-1).match(g))&&j>0&&(n*=Math.pow(.999,q.length))):(n*=.17,j>0&&(n*=Math.pow(.999,s-j))),b.charAt(s)!==c.charAt(k)&&(n*=.9999)),(n<.1&&h.charAt(s-1)===i.charAt(k+1)||i.charAt(k+1)===i.charAt(k)&&h.charAt(s-1)!==i.charAt(k))&&.1*(o=a(b,c,h,i,s+1,k+2,l))>n&&(n=.1*o),n>t&&(t=n),s=h.indexOf(r,s+1);return l[m]=t,t}(i=c&&c.length>0?`${i+" "+c.join(" ")}`:i,b,h(i),h(b),0,0,{})},u=c.createContext(void 0),v=c.createContext(void 0),w=c.createContext(void 0),x=c.forwardRef((a,b)=>{let d=H(()=>{var b,c;return{search:"",value:null!=(c=null!=(b=a.value)?b:a.defaultValue)?c:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),e=H(()=>new Set),f=H(()=>new Map),g=H(()=>new Map),h=H(()=>new Set),i=F(a),{label:j,children:m,value:w,onValueChange:x,filter:y,shouldFilter:z,loop:A,disablePointerSelection:B=!1,vimBindings:C=!0,...D}=a,E=(0,l.useId)(),I=(0,l.useId)(),J=(0,l.useId)(),N=c.useRef(null),O=K();G(()=>{if(void 0!==w){let a=w.trim();d.current.value=a,P.emit()}},[w]),G(()=>{O(6,V)},[]);let P=c.useMemo(()=>({subscribe:a=>(h.current.add(a),()=>h.current.delete(a)),snapshot:()=>d.current,setState:(a,b,c)=>{var e,f,g,h;if(!Object.is(d.current[a],b)){if(d.current[a]=b,"search"===a)U(),S(),O(1,T);else if("value"===a){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let a=document.getElementById(J);a?a.focus():null==(e=document.getElementById(E))||e.focus()}if(O(7,()=>{var a;d.current.selectedItemId=null==(a=W())?void 0:a.id,P.emit()}),c||O(5,V),(null==(f=i.current)?void 0:f.value)!==void 0){null==(h=(g=i.current).onValueChange)||h.call(g,null!=b?b:"");return}}P.emit()}},emit:()=>{h.current.forEach(a=>a())}}),[]),Q=c.useMemo(()=>({value:(a,b,c)=>{var e;b!==(null==(e=g.current.get(a))?void 0:e.value)&&(g.current.set(a,{value:b,keywords:c}),d.current.filtered.items.set(a,R(b,c)),O(2,()=>{S(),P.emit()}))},item:(a,b)=>(e.current.add(a),b&&(f.current.has(b)?f.current.get(b).add(a):f.current.set(b,new Set([a]))),O(3,()=>{U(),S(),d.current.value||T(),P.emit()}),()=>{g.current.delete(a),e.current.delete(a),d.current.filtered.items.delete(a);let b=W();O(4,()=>{U(),(null==b?void 0:b.getAttribute("id"))===a&&T(),P.emit()})}),group:a=>(f.current.has(a)||f.current.set(a,new Set),()=>{g.current.delete(a),f.current.delete(a)}),filter:()=>i.current.shouldFilter,label:j||a["aria-label"],getDisablePointerSelection:()=>i.current.disablePointerSelection,listId:E,inputId:J,labelId:I,listInnerRef:N}),[]);function R(a,b){var c,e;let f=null!=(e=null==(c=i.current)?void 0:c.filter)?e:t;return a?f(a,d.current.search,b):0}function S(){if(!d.current.search||!1===i.current.shouldFilter)return;let a=d.current.filtered.items,b=[];d.current.filtered.groups.forEach(c=>{let d=f.current.get(c),e=0;d.forEach(b=>{e=Math.max(a.get(b),e)}),b.push([c,e])});let c=N.current;X().sort((b,c)=>{var d,e;let f=b.getAttribute("id"),g=c.getAttribute("id");return(null!=(d=a.get(g))?d:0)-(null!=(e=a.get(f))?e:0)}).forEach(a=>{let b=a.closest(o);b?b.appendChild(a.parentElement===b?a:a.closest(`${o} > *`)):c.appendChild(a.parentElement===c?a:a.closest(`${o} > *`))}),b.sort((a,b)=>b[1]-a[1]).forEach(a=>{var b;let c=null==(b=N.current)?void 0:b.querySelector(`${n}[${s}="${encodeURIComponent(a[0])}"]`);null==c||c.parentElement.appendChild(c)})}function T(){let a=X().find(a=>"true"!==a.getAttribute("aria-disabled")),b=null==a?void 0:a.getAttribute(s);P.setState("value",b||void 0)}function U(){var a,b,c,h;if(!d.current.search||!1===i.current.shouldFilter){d.current.filtered.count=e.current.size;return}d.current.filtered.groups=new Set;let j=0;for(let f of e.current){let e=R(null!=(b=null==(a=g.current.get(f))?void 0:a.value)?b:"",null!=(h=null==(c=g.current.get(f))?void 0:c.keywords)?h:[]);d.current.filtered.items.set(f,e),e>0&&j++}for(let[a,b]of f.current)for(let c of b)if(d.current.filtered.items.get(c)>0){d.current.filtered.groups.add(a);break}d.current.filtered.count=j}function V(){var a,b,c;let d=W();d&&((null==(a=d.parentElement)?void 0:a.firstChild)===d&&(null==(c=null==(b=d.closest(n))?void 0:b.querySelector('[cmdk-group-heading=""]'))||c.scrollIntoView({block:"nearest"})),d.scrollIntoView({block:"nearest"}))}function W(){var a;return null==(a=N.current)?void 0:a.querySelector(`${p}[aria-selected="true"]`)}function X(){var a;return Array.from((null==(a=N.current)?void 0:a.querySelectorAll(q))||[])}function Y(a){let b=X()[a];b&&P.setState("value",b.getAttribute(s))}function Z(a){var b;let c=W(),d=X(),e=d.findIndex(a=>a===c),f=d[e+a];null!=(b=i.current)&&b.loop&&(f=e+a<0?d[d.length-1]:e+a===d.length?d[0]:d[e+a]),f&&P.setState("value",f.getAttribute(s))}function $(a){let b=W(),c=null==b?void 0:b.closest(n),d;for(;c&&!d;)d=null==(c=a>0?function(a,b){let c=a.nextElementSibling;for(;c;){if(c.matches(b))return c;c=c.nextElementSibling}}(c,n):function(a,b){let c=a.previousElementSibling;for(;c;){if(c.matches(b))return c;c=c.previousElementSibling}}(c,n))?void 0:c.querySelector(q);d?P.setState("value",d.getAttribute(s)):Z(a)}let _=()=>Y(X().length-1),aa=a=>{a.preventDefault(),a.metaKey?_():a.altKey?$(1):Z(1)},ab=a=>{a.preventDefault(),a.metaKey?Y(0):a.altKey?$(-1):Z(-1)};return c.createElement(k.div,{ref:b,tabIndex:-1,...D,"cmdk-root":"",onKeyDown:a=>{var b;null==(b=D.onKeyDown)||b.call(D,a);let c=a.nativeEvent.isComposing||229===a.keyCode;if(!(a.defaultPrevented||c))switch(a.key){case"n":case"j":C&&a.ctrlKey&&aa(a);break;case"ArrowDown":aa(a);break;case"p":case"k":C&&a.ctrlKey&&ab(a);break;case"ArrowUp":ab(a);break;case"Home":a.preventDefault(),Y(0);break;case"End":a.preventDefault(),_();break;case"Enter":{a.preventDefault();let b=W();if(b){let a=new Event(r);b.dispatchEvent(a)}}}}},c.createElement("label",{"cmdk-label":"",htmlFor:Q.inputId,id:Q.labelId,style:M},j),L(a,a=>c.createElement(v.Provider,{value:P},c.createElement(u.Provider,{value:Q},a))))}),y=c.forwardRef((a,b)=>{var d,e;let f=(0,l.useId)(),g=c.useRef(null),h=c.useContext(w),i=c.useContext(u),j=F(a),n=null!=(e=null==(d=j.current)?void 0:d.forceMount)?e:null==h?void 0:h.forceMount;G(()=>{if(!n)return i.item(f,null==h?void 0:h.id)},[n]);let o=J(f,g,[a.value,a.children,g],a.keywords),p=c.useContext(v),q=I(a=>a.value&&a.value===o.current),s=I(a=>!!n||!1===i.filter()||!a.search||a.filtered.items.get(f)>0);function t(){var a,b;x(),null==(b=(a=j.current).onSelect)||b.call(a,o.current)}function x(){p.setState("value",o.current,!0)}if(c.useEffect(()=>{let b=g.current;if(!(!b||a.disabled))return b.addEventListener(r,t),()=>b.removeEventListener(r,t)},[s,a.onSelect,a.disabled]),!s)return null;let{disabled:y,value:z,onSelect:A,forceMount:B,keywords:C,...D}=a;return c.createElement(k.div,{ref:(0,m.composeRefs)(g,b),...D,id:f,"cmdk-item":"",role:"option","aria-disabled":!!y,"aria-selected":!!q,"data-disabled":!!y,"data-selected":!!q,onPointerMove:y||i.getDisablePointerSelection()?void 0:x,onClick:y?void 0:t},a.children)}),z=c.forwardRef((a,b)=>{let{heading:d,children:e,forceMount:f,...g}=a,h=(0,l.useId)(),i=c.useRef(null),j=c.useRef(null),n=(0,l.useId)(),o=c.useContext(u),p=I(a=>!!f||!1===o.filter()||!a.search||a.filtered.groups.has(h));G(()=>o.group(h),[]),J(h,i,[a.value,a.heading,j]);let q=c.useMemo(()=>({id:h,forceMount:f}),[f]);return c.createElement(k.div,{ref:(0,m.composeRefs)(i,b),...g,"cmdk-group":"",role:"presentation",hidden:!p||void 0},d&&c.createElement("div",{ref:j,"cmdk-group-heading":"","aria-hidden":!0,id:n},d),L(a,a=>c.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":d?n:void 0},c.createElement(w.Provider,{value:q},a))))}),A=c.forwardRef((a,b)=>{let{alwaysRender:d,...e}=a,f=c.useRef(null),g=I(a=>!a.search);return d||g?c.createElement(k.div,{ref:(0,m.composeRefs)(f,b),...e,"cmdk-separator":"",role:"separator"}):null}),B=c.forwardRef((a,b)=>{let{onValueChange:d,...e}=a,f=null!=a.value,g=c.useContext(v),h=I(a=>a.search),i=I(a=>a.selectedItemId),j=c.useContext(u);return c.useEffect(()=>{null!=a.value&&g.setState("search",a.value)},[a.value]),c.createElement(k.input,{ref:b,...e,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":j.listId,"aria-labelledby":j.labelId,"aria-activedescendant":i,id:j.inputId,type:"text",value:f?a.value:h,onChange:a=>{f||g.setState("search",a.target.value),null==d||d(a.target.value)}})}),C=c.forwardRef((a,b)=>{let{children:d,label:e="Suggestions",...f}=a,g=c.useRef(null),h=c.useRef(null),i=I(a=>a.selectedItemId),j=c.useContext(u);return c.useEffect(()=>{if(h.current&&g.current){let a=h.current,b=g.current,c,d=new ResizeObserver(()=>{c=requestAnimationFrame(()=>{let c=a.offsetHeight;b.style.setProperty("--cmdk-list-height",c.toFixed(1)+"px")})});return d.observe(a),()=>{cancelAnimationFrame(c),d.unobserve(a)}}},[]),c.createElement(k.div,{ref:(0,m.composeRefs)(g,b),...f,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":i,"aria-label":e,id:j.listId},L(a,a=>c.createElement("div",{ref:(0,m.composeRefs)(h,j.listInnerRef),"cmdk-list-sizer":""},a)))}),D=c.forwardRef((a,b)=>{let{open:d,onOpenChange:e,overlayClassName:f,contentClassName:g,container:h,...j}=a;return c.createElement(i.Root,{open:d,onOpenChange:e},c.createElement(i.Portal,{container:h},c.createElement(i.Overlay,{"cmdk-overlay":"",className:f}),c.createElement(i.Content,{"aria-label":a.label,"cmdk-dialog":"",className:g},c.createElement(x,{ref:b,...j}))))}),E=Object.assign(x,{List:C,Item:y,Input:B,Group:z,Separator:A,Dialog:D,Empty:c.forwardRef((a,b)=>I(a=>0===a.filtered.count)?c.createElement(k.div,{ref:b,...a,"cmdk-empty":"",role:"presentation"}):null),Loading:c.forwardRef((a,b)=>{let{progress:d,children:e,label:f="Loading...",...g}=a;return c.createElement(k.div,{ref:b,...g,"cmdk-loading":"",role:"progressbar","aria-valuenow":d,"aria-valuemin":0,"aria-valuemax":100,"aria-label":f},L(a,a=>c.createElement("div",{"aria-hidden":!0},a)))})});function F(a){let b=c.useRef(a);return G(()=>{b.current=a}),b}var G=c.useEffect;function H(a){let b=c.useRef();return void 0===b.current&&(b.current=a()),b}function I(a){let b=c.useContext(v),d=()=>a(b.snapshot());return c.useSyncExternalStore(b.subscribe,d,d)}function J(a,b,d,e=[]){let f=c.useRef(),g=c.useContext(u);return G(()=>{var c;let h=(()=>{var a;for(let b of d){if("string"==typeof b)return b.trim();if("object"==typeof b&&"current"in b)return b.current?null==(a=b.current.textContent)?void 0:a.trim():f.current}})(),i=e.map(a=>a.trim());g.value(a,h,i),null==(c=b.current)||c.setAttribute(s,h),f.current=h}),f}var K=()=>{let[a,b]=c.useState(),d=H(()=>new Map);return G(()=>{d.current.forEach(a=>a()),d.current=new Map},[a]),(a,c)=>{d.current.set(a,c),b({})}};function L({asChild:a,children:b},d){let e;return a&&c.isValidElement(b)?c.cloneElement("function"==typeof(e=b.type)?e(b.props):"render"in e?e.render(b.props):b,{ref:b.ref},d(b.props.children)):d(b)}var M={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"},N=a.i(93090),O=a.i(87052),P=a.i(86945);let Q=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(E,{ref:d,className:(0,O.cn)("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",a),...c}));Q.displayName=E.displayName;let R=({children:a,...c})=>(0,b.jsx)(P.Dialog,{...c,children:(0,b.jsx)(P.DialogContent,{className:"overflow-hidden p-0 shadow-lg",children:(0,b.jsx)(Q,{className:"[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5",children:a})})}),S=c.forwardRef(({className:a,...c},d)=>(0,b.jsxs)("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:[(0,b.jsx)(N.Search,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),(0,b.jsx)(E.Input,{ref:d,className:(0,O.cn)("flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",a),...c})]}));S.displayName=E.Input.displayName;let T=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(E.List,{ref:d,className:(0,O.cn)("max-h-[300px] overflow-y-auto overflow-x-hidden",a),...c}));T.displayName=E.List.displayName;let U=c.forwardRef((a,c)=>(0,b.jsx)(E.Empty,{ref:c,className:"py-6 text-center text-sm",...a}));U.displayName=E.Empty.displayName;let V=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(E.Group,{ref:d,className:(0,O.cn)("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",a),...c}));V.displayName=E.Group.displayName;let W=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(E.Separator,{ref:d,className:(0,O.cn)("-mx-1 h-px bg-border",a),...c}));W.displayName=E.Separator.displayName;let X=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(E.Item,{ref:d,className:(0,O.cn)("relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",a),...c}));X.displayName=E.Item.displayName,a.s(["Command",()=>Q,"CommandDialog",()=>R,"CommandEmpty",()=>U,"CommandGroup",()=>V,"CommandInput",()=>S,"CommandItem",()=>X,"CommandList",()=>T,"CommandSeparator",()=>W],64952)},10660,a=>{"use strict";var b=a.i(40352),c=a.i(1926),d=a.i(32745),e=a.i(81612),f=a.i(41270),g=a.i(63535);let h=(0,g.default)("menu",[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]]),i=(0,g.default)("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]);var j=a.i(36883);let k=(0,g.default)("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]),l=(0,g.default)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);var m=a.i(61698),n=a.i(27725);function o(){let{theme:a,setTheme:c}=(0,m.useTheme)(),[d,e]=j.useState(!1);return(j.useEffect(()=>{e(!0)},[]),d)?(0,b.jsxs)(n.Button,{variant:"ghost",size:"icon",onClick:()=>c("light"===a?"dark":"light"),"aria-label":"Toggle theme",children:[(0,b.jsx)(l,{className:"h-5 w-5 rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0"}),(0,b.jsx)(k,{className:"absolute h-5 w-5 rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100"})]}):(0,b.jsx)(n.Button,{variant:"ghost",size:"icon",disabled:!0,"aria-label":"Toggle theme",children:(0,b.jsx)(l,{className:"h-5 w-5"})})}var p=a.i(15268),q=a.i(93090),r=a.i(97557);let s=(0,g.default)("tag",[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]]);function t(a){return Array.isArray?Array.isArray(a):"[object Array]"===A(a)}let u=1/0;function v(a){return"string"==typeof a}function w(a){return"number"==typeof a}function x(a){return"object"==typeof a}function y(a){return null!=a}function z(a){return!a.trim().length}function A(a){return null==a?void 0===a?"[object Undefined]":"[object Null]":Object.prototype.toString.call(a)}let B=Object.prototype.hasOwnProperty;class C{constructor(a){this._keys=[],this._keyMap={};let b=0;a.forEach(a=>{let c=D(a);this._keys.push(c),this._keyMap[c.id]=c,b+=c.weight}),this._keys.forEach(a=>{a.weight/=b})}get(a){return this._keyMap[a]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function D(a){let b=null,c=null,d=null,e=1,f=null;if(v(a)||t(a))d=a,b=E(a),c=F(a);else{if(!B.call(a,"name"))throw Error("Missing name property in key");let g=a.name;if(d=g,B.call(a,"weight")&&(e=a.weight)<=0)throw Error(`Property 'weight' in key '${g}' must be a positive integer`);b=E(g),c=F(g),f=a.getFn}return{path:b,id:c,weight:e,src:d,getFn:f}}function E(a){return t(a)?a:a.split(".")}function F(a){return t(a)?a.join("."):a}var G={isCaseSensitive:!1,ignoreDiacritics:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(a,b)=>a.score===b.score?a.idx<b.idx?-1:1:a.score<b.score?-1:1,includeMatches:!1,findAllMatches:!1,minMatchCharLength:1,location:0,threshold:.6,distance:100,useExtendedSearch:!1,getFn:function(a,b){let c=[],d=!1,e=(a,b,f)=>{if(y(a))if(b[f]){var g,h;let i=a[b[f]];if(!y(i))return;if(f===b.length-1&&(v(i)||w(i)||!0===(g=i)||!1===g||x(h=g)&&null!==h&&"[object Boolean]"==A(g)))c.push(null==i?"":function(a){if("string"==typeof a)return a;let b=a+"";return"0"==b&&1/a==-u?"-0":b}(i));else if(t(i)){d=!0;for(let a=0,c=i.length;a<c;a+=1)e(i[a],b,f+1)}else b.length&&e(i,b,f+1)}else c.push(a)};return e(a,v(b)?b.split("."):b,0),d?c:c[0]},ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1};let H=/[^ ]+/g;class I{constructor({getFn:a=G.getFn,fieldNormWeight:b=G.fieldNormWeight}={}){this.norm=function(a=1,b=3){let c=new Map,d=Math.pow(10,b);return{get(b){let e=b.match(H).length;if(c.has(e))return c.get(e);let f=parseFloat(Math.round(1/Math.pow(e,.5*a)*d)/d);return c.set(e,f),f},clear(){c.clear()}}}(b,3),this.getFn=a,this.isCreated=!1,this.setIndexRecords()}setSources(a=[]){this.docs=a}setIndexRecords(a=[]){this.records=a}setKeys(a=[]){this.keys=a,this._keysMap={},a.forEach((a,b)=>{this._keysMap[a.id]=b})}create(){!this.isCreated&&this.docs.length&&(this.isCreated=!0,v(this.docs[0])?this.docs.forEach((a,b)=>{this._addString(a,b)}):this.docs.forEach((a,b)=>{this._addObject(a,b)}),this.norm.clear())}add(a){let b=this.size();v(a)?this._addString(a,b):this._addObject(a,b)}removeAt(a){this.records.splice(a,1);for(let b=a,c=this.size();b<c;b+=1)this.records[b].i-=1}getValueForItemAtKeyId(a,b){return a[this._keysMap[b]]}size(){return this.records.length}_addString(a,b){if(!y(a)||z(a))return;let c={v:a,i:b,n:this.norm.get(a)};this.records.push(c)}_addObject(a,b){let c={i:b,$:{}};this.keys.forEach((b,d)=>{let e=b.getFn?b.getFn(a):this.getFn(a,b.path);if(y(e)){if(t(e)){let a=[],b=[{nestedArrIndex:-1,value:e}];for(;b.length;){let{nestedArrIndex:c,value:d}=b.pop();if(y(d))if(v(d)&&!z(d)){let b={v:d,i:c,n:this.norm.get(d)};a.push(b)}else t(d)&&d.forEach((a,c)=>{b.push({nestedArrIndex:c,value:a})})}c.$[d]=a}else if(v(e)&&!z(e)){let a={v:e,n:this.norm.get(e)};c.$[d]=a}}}),this.records.push(c)}toJSON(){return{keys:this.keys,records:this.records}}}function J(a,b,{getFn:c=G.getFn,fieldNormWeight:d=G.fieldNormWeight}={}){let e=new I({getFn:c,fieldNormWeight:d});return e.setKeys(a.map(D)),e.setSources(b),e.create(),e}function K(a,{errors:b=0,currentLocation:c=0,expectedLocation:d=0,distance:e=G.distance,ignoreLocation:f=G.ignoreLocation}={}){let g=b/a.length;if(f)return g;let h=Math.abs(d-c);return e?g+h/e:h?1:g}let L=String.prototype.normalize?a=>a.normalize("NFD").replace(/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/g,""):a=>a;class M{constructor(a,{location:b=G.location,threshold:c=G.threshold,distance:d=G.distance,includeMatches:e=G.includeMatches,findAllMatches:f=G.findAllMatches,minMatchCharLength:g=G.minMatchCharLength,isCaseSensitive:h=G.isCaseSensitive,ignoreDiacritics:i=G.ignoreDiacritics,ignoreLocation:j=G.ignoreLocation}={}){if(this.options={location:b,threshold:c,distance:d,includeMatches:e,findAllMatches:f,minMatchCharLength:g,isCaseSensitive:h,ignoreDiacritics:i,ignoreLocation:j},a=h?a:a.toLowerCase(),a=i?L(a):a,this.pattern=a,this.chunks=[],!this.pattern.length)return;const k=(a,b)=>{this.chunks.push({pattern:a,alphabet:function(a){let b={};for(let c=0,d=a.length;c<d;c+=1){let e=a.charAt(c);b[e]=(b[e]||0)|1<<d-c-1}return b}(a),startIndex:b})},l=this.pattern.length;if(l>32){let a=0;const b=l%32,c=l-b;for(;a<c;)k(this.pattern.substr(a,32),a),a+=32;if(b){const a=l-32;k(this.pattern.substr(a),a)}}else k(this.pattern,0)}searchIn(a){let{isCaseSensitive:b,ignoreDiacritics:c,includeMatches:d}=this.options;if(a=b?a:a.toLowerCase(),a=c?L(a):a,this.pattern===a){let b={isMatch:!0,score:0};return d&&(b.indices=[[0,a.length-1]]),b}let{location:e,distance:f,threshold:g,findAllMatches:h,minMatchCharLength:i,ignoreLocation:j}=this.options,k=[],l=0,m=!1;this.chunks.forEach(({pattern:b,alphabet:c,startIndex:n})=>{let{isMatch:o,score:p,indices:q}=function(a,b,c,{location:d=G.location,distance:e=G.distance,threshold:f=G.threshold,findAllMatches:g=G.findAllMatches,minMatchCharLength:h=G.minMatchCharLength,includeMatches:i=G.includeMatches,ignoreLocation:j=G.ignoreLocation}={}){let k;if(b.length>32)throw Error("Pattern length exceeds max of 32.");let l=b.length,m=a.length,n=Math.max(0,Math.min(d,m)),o=f,p=n,q=h>1||i,r=q?Array(m):[];for(;(k=a.indexOf(b,p))>-1;)if(o=Math.min(K(b,{currentLocation:k,expectedLocation:n,distance:e,ignoreLocation:j}),o),p=k+l,q){let a=0;for(;a<l;)r[k+a]=1,a+=1}p=-1;let s=[],t=1,u=l+m,v=1<<l-1;for(let d=0;d<l;d+=1){let f=0,h=u;for(;f<h;)K(b,{errors:d,currentLocation:n+h,expectedLocation:n,distance:e,ignoreLocation:j})<=o?f=h:u=h,h=Math.floor((u-f)/2+f);u=h;let i=Math.max(1,n-h+1),k=g?m:Math.min(n+h,m)+l,w=Array(k+2);w[k+1]=(1<<d)-1;for(let f=k;f>=i;f-=1){let g=f-1,h=c[a.charAt(g)];if(q&&(r[g]=+!!h),w[f]=(w[f+1]<<1|1)&h,d&&(w[f]|=(s[f+1]|s[f])<<1|1|s[f+1]),w[f]&v&&(t=K(b,{errors:d,currentLocation:g,expectedLocation:n,distance:e,ignoreLocation:j}))<=o){if(o=t,(p=g)<=n)break;i=Math.max(1,2*n-p)}}if(K(b,{errors:d+1,currentLocation:n,expectedLocation:n,distance:e,ignoreLocation:j})>o)break;s=w}let w={isMatch:p>=0,score:Math.max(.001,t)};if(q){let a=function(a=[],b=G.minMatchCharLength){let c=[],d=-1,e=-1,f=0;for(let g=a.length;f<g;f+=1){let g=a[f];g&&-1===d?d=f:g||-1===d||((e=f-1)-d+1>=b&&c.push([d,e]),d=-1)}return a[f-1]&&f-d>=b&&c.push([d,f-1]),c}(r,h);a.length?i&&(w.indices=a):w.isMatch=!1}return w}(a,b,c,{location:e+n,distance:f,threshold:g,findAllMatches:h,minMatchCharLength:i,includeMatches:d,ignoreLocation:j});o&&(m=!0),l+=p,o&&q&&(k=[...k,...q])});let n={isMatch:m,score:m?l/this.chunks.length:1};return m&&d&&(n.indices=k),n}}class N{constructor(a){this.pattern=a}static isMultiMatch(a){return O(a,this.multiRegex)}static isSingleMatch(a){return O(a,this.singleRegex)}search(){}}function O(a,b){let c=a.match(b);return c?c[1]:null}class P extends N{constructor(a,{location:b=G.location,threshold:c=G.threshold,distance:d=G.distance,includeMatches:e=G.includeMatches,findAllMatches:f=G.findAllMatches,minMatchCharLength:g=G.minMatchCharLength,isCaseSensitive:h=G.isCaseSensitive,ignoreDiacritics:i=G.ignoreDiacritics,ignoreLocation:j=G.ignoreLocation}={}){super(a),this._bitapSearch=new M(a,{location:b,threshold:c,distance:d,includeMatches:e,findAllMatches:f,minMatchCharLength:g,isCaseSensitive:h,ignoreDiacritics:i,ignoreLocation:j})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(a){return this._bitapSearch.searchIn(a)}}class Q extends N{constructor(a){super(a)}static get type(){return"include"}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(a){let b,c=0,d=[],e=this.pattern.length;for(;(b=a.indexOf(this.pattern,c))>-1;)c=b+e,d.push([b,c-1]);let f=!!d.length;return{isMatch:f,score:+!f,indices:d}}}let R=[class extends N{constructor(a){super(a)}static get type(){return"exact"}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(a){let b=a===this.pattern;return{isMatch:b,score:+!b,indices:[0,this.pattern.length-1]}}},Q,class extends N{constructor(a){super(a)}static get type(){return"prefix-exact"}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(a){let b=a.startsWith(this.pattern);return{isMatch:b,score:+!b,indices:[0,this.pattern.length-1]}}},class extends N{constructor(a){super(a)}static get type(){return"inverse-prefix-exact"}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(a){let b=!a.startsWith(this.pattern);return{isMatch:b,score:+!b,indices:[0,a.length-1]}}},class extends N{constructor(a){super(a)}static get type(){return"inverse-suffix-exact"}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(a){let b=!a.endsWith(this.pattern);return{isMatch:b,score:+!b,indices:[0,a.length-1]}}},class extends N{constructor(a){super(a)}static get type(){return"suffix-exact"}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(a){let b=a.endsWith(this.pattern);return{isMatch:b,score:+!b,indices:[a.length-this.pattern.length,a.length-1]}}},class extends N{constructor(a){super(a)}static get type(){return"inverse-exact"}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(a){let b=-1===a.indexOf(this.pattern);return{isMatch:b,score:+!b,indices:[0,a.length-1]}}},P],S=R.length,T=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,U=new Set([P.type,Q.type]),V=[];function W(a,b){for(let c=0,d=V.length;c<d;c+=1){let d=V[c];if(d.condition(a,b))return new d(a,b)}return new M(a,b)}let X="$and",Y="$path",Z=a=>!!(a[X]||a.$or),$=a=>({[X]:Object.keys(a).map(b=>({[b]:a[b]}))});function _(a,b,{auto:c=!0}={}){let d=a=>{let e=Object.keys(a),f=!!a[Y];if(!f&&e.length>1&&!Z(a))return d($(a));if(!t(a)&&x(a)&&!Z(a)){let d=f?a[Y]:e[0],g=f?a.$val:a[d];if(!v(g))throw Error(`Invalid value for key ${d}`);let h={keyId:F(d),pattern:g};return c&&(h.searcher=W(g,b)),h}let g={children:[],operator:e[0]};return e.forEach(b=>{let c=a[b];t(c)&&c.forEach(a=>{g.children.push(d(a))})}),g};return Z(a)||(a=$(a)),d(a)}function aa(a,b){let c=a.matches;b.matches=[],y(c)&&c.forEach(a=>{if(!y(a.indices)||!a.indices.length)return;let{indices:c,value:d}=a,e={indices:c,value:d};a.key&&(e.key=a.key.src),a.idx>-1&&(e.refIndex=a.idx),b.matches.push(e)})}function ab(a,b){b.score=a.score}class ac{constructor(a,b={},c){this.options={...G,...b},this.options.useExtendedSearch,this._keyStore=new C(this.options.keys),this.setCollection(a,c)}setCollection(a,b){if(this._docs=a,b&&!(b instanceof I))throw Error("Incorrect 'index' type");this._myIndex=b||J(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}add(a){y(a)&&(this._docs.push(a),this._myIndex.add(a))}remove(a=()=>!1){let b=[];for(let c=0,d=this._docs.length;c<d;c+=1){let e=this._docs[c];a(e,c)&&(this.removeAt(c),c-=1,d-=1,b.push(e))}return b}removeAt(a){this._docs.splice(a,1),this._myIndex.removeAt(a)}getIndex(){return this._myIndex}search(a,{limit:b=-1}={}){let{includeMatches:c,includeScore:d,shouldSort:e,sortFn:f,ignoreFieldNorm:g}=this.options,h=v(a)?v(this._docs[0])?this._searchStringList(a):this._searchObjectList(a):this._searchLogical(a);return!function(a,{ignoreFieldNorm:b=G.ignoreFieldNorm}){a.forEach(a=>{let c=1;a.matches.forEach(({key:a,norm:d,score:e})=>{let f=a?a.weight:null;c*=Math.pow(0===e&&f?Number.EPSILON:e,(f||1)*(b?1:d))}),a.score=c})}(h,{ignoreFieldNorm:g}),e&&h.sort(f),w(b)&&b>-1&&(h=h.slice(0,b)),function(a,b,{includeMatches:c=G.includeMatches,includeScore:d=G.includeScore}={}){let e=[];return c&&e.push(aa),d&&e.push(ab),a.map(a=>{let{idx:c}=a,d={item:b[c],refIndex:c};return e.length&&e.forEach(b=>{b(a,d)}),d})}(h,this._docs,{includeMatches:c,includeScore:d})}_searchStringList(a){let b=W(a,this.options),{records:c}=this._myIndex,d=[];return c.forEach(({v:a,i:c,n:e})=>{if(!y(a))return;let{isMatch:f,score:g,indices:h}=b.searchIn(a);f&&d.push({item:a,idx:c,matches:[{score:g,value:a,norm:e,indices:h}]})}),d}_searchLogical(a){let b=_(a,this.options),c=(a,b,d)=>{if(!a.children){let{keyId:c,searcher:e}=a,f=this._findMatches({key:this._keyStore.get(c),value:this._myIndex.getValueForItemAtKeyId(b,c),searcher:e});return f&&f.length?[{idx:d,item:b,matches:f}]:[]}let e=[];for(let f=0,g=a.children.length;f<g;f+=1){let g=c(a.children[f],b,d);if(g.length)e.push(...g);else if(a.operator===X)return[]}return e},d=this._myIndex.records,e={},f=[];return d.forEach(({$:a,i:d})=>{if(y(a)){let g=c(b,a,d);g.length&&(e[d]||(e[d]={idx:d,item:a,matches:[]},f.push(e[d])),g.forEach(({matches:a})=>{e[d].matches.push(...a)}))}}),f}_searchObjectList(a){let b=W(a,this.options),{keys:c,records:d}=this._myIndex,e=[];return d.forEach(({$:a,i:d})=>{if(!y(a))return;let f=[];c.forEach((c,d)=>{f.push(...this._findMatches({key:c,value:a[d],searcher:b}))}),f.length&&e.push({idx:d,item:a,matches:f})}),e}_findMatches({key:a,value:b,searcher:c}){if(!y(b))return[];let d=[];if(t(b))b.forEach(({v:b,i:e,n:f})=>{if(!y(b))return;let{isMatch:g,score:h,indices:i}=c.searchIn(b);g&&d.push({score:h,key:a,value:b,idx:e,norm:f,indices:i})});else{let{v:e,n:f}=b,{isMatch:g,score:h,indices:i}=c.searchIn(e);g&&d.push({score:h,key:a,value:e,norm:f,indices:i})}return d}}ac.version="7.1.0",ac.createIndex=J,ac.parseIndex=function(a,{getFn:b=G.getFn,fieldNormWeight:c=G.fieldNormWeight}={}){let{keys:d,records:e}=a,f=new I({getFn:b,fieldNormWeight:c});return f.setKeys(d),f.setIndexRecords(e),f},ac.config=G,ac.parseQuery=_,function(...a){V.push(...a)}(class{constructor(a,{isCaseSensitive:b=G.isCaseSensitive,ignoreDiacritics:c=G.ignoreDiacritics,includeMatches:d=G.includeMatches,minMatchCharLength:e=G.minMatchCharLength,ignoreLocation:f=G.ignoreLocation,findAllMatches:g=G.findAllMatches,location:h=G.location,threshold:i=G.threshold,distance:j=G.distance}={}){this.query=null,this.options={isCaseSensitive:b,ignoreDiacritics:c,includeMatches:d,minMatchCharLength:e,findAllMatches:g,ignoreLocation:f,location:h,threshold:i,distance:j},a=b?a:a.toLowerCase(),a=c?L(a):a,this.pattern=a,this.query=function(a,b={}){return a.split("|").map(a=>{let c=a.trim().split(T).filter(a=>a&&!!a.trim()),d=[];for(let a=0,e=c.length;a<e;a+=1){let e=c[a],f=!1,g=-1;for(;!f&&++g<S;){let a=R[g],c=a.isMultiMatch(e);c&&(d.push(new a(c,b)),f=!0)}if(!f)for(g=-1;++g<S;){let a=R[g],c=a.isSingleMatch(e);if(c){d.push(new a(c,b));break}}}return d})}(this.pattern,this.options)}static condition(a,b){return b.useExtendedSearch}searchIn(a){let b=this.query;if(!b)return{isMatch:!1,score:1};let{includeMatches:c,isCaseSensitive:d,ignoreDiacritics:e}=this.options;a=d?a:a.toLowerCase(),a=e?L(a):a;let f=0,g=[],h=0;for(let d=0,e=b.length;d<e;d+=1){let e=b[d];g.length=0,f=0;for(let b=0,d=e.length;b<d;b+=1){let d=e[b],{isMatch:i,indices:j,score:k}=d.search(a);if(i){if(f+=1,h+=k,c){let a=d.constructor.type;U.has(a)?g=[...g,...j]:g.push(j)}}else{h=0,f=0,g.length=0;break}}if(f){let a={isMatch:!0,score:h/f};return c&&(a.indices=g),a}}return{isMatch:!1,score:1}}});var ad=a.i(64952),ae=a.i(82479),af=a.i(22570);function ag({specs:a}){let c=(0,e.useRouter)(),[d,f]=j.useState(!1),[g,h]=j.useState(""),[i,k]=j.useState([]);j.useEffect(()=>{let a=localStorage.getItem("leanspec-recent-searches");a&&k(JSON.parse(a))},[]),j.useEffect(()=>{let a=a=>{"k"===a.key&&(a.metaKey||a.ctrlKey)&&(a.preventDefault(),f(a=>!a))};return document.addEventListener("keydown",a),()=>document.removeEventListener("keydown",a)},[]);let l=j.useMemo(()=>new ac(a,{keys:[{name:"title",weight:2},{name:"specNumber",weight:1.5},{name:"tags",weight:.5}],threshold:.4,includeScore:!0,minMatchCharLength:2}),[a]),m=j.useMemo(()=>g?l.search(g).map(a=>a.item):a.slice(0,8),[g,l,a]);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("button",{onClick:()=>f(!0),className:"inline-flex items-center gap-2 px-2 sm:px-3 py-2 text-sm text-muted-foreground hover:text-foreground transition-colors border rounded-md hover:border-foreground/20",children:[(0,b.jsx)(q.Search,{className:"h-4 w-4"}),(0,b.jsx)("span",{className:"hidden sm:inline",children:"Quick search..."}),(0,b.jsxs)("kbd",{className:"hidden md:inline-flex pointer-events-none h-5 select-none items-center gap-1 rounded border bg-muted px-1.5 font-mono text-[10px] font-medium opacity-100",children:[(0,b.jsx)("span",{className:"text-xs",children:"⌘"}),"K"]})]}),(0,b.jsxs)(ad.CommandDialog,{open:d,onOpenChange:f,children:[(0,b.jsx)(ad.CommandInput,{placeholder:"Search specs by title, number, or tags...",value:g,onValueChange:h}),(0,b.jsxs)(ad.CommandList,{children:[(0,b.jsx)(ad.CommandEmpty,{children:"No specs found."}),!g&&i.length>0&&(0,b.jsx)(ad.CommandGroup,{heading:"Recent Searches",children:i.map(a=>(0,b.jsxs)(ad.CommandItem,{value:a,onSelect:()=>{h(a)},children:[(0,b.jsx)(r.Clock,{className:"mr-2 h-4 w-4"}),a]},a))}),(0,b.jsx)(ad.CommandGroup,{heading:"Specs",children:m.map(a=>(0,b.jsxs)(ad.CommandItem,{value:`${a.specNumber} ${a.title}`,onSelect:()=>{var b,d;let e;return b=a.id,void(k(e=[d=a.title,...i.filter(a=>a!==d)].slice(0,5)),localStorage.setItem("leanspec-recent-searches",JSON.stringify(e)),c.push(`/specs/${b}`),f(!1),h(""))},children:[(0,b.jsx)(p.FileText,{className:"mr-2 h-4 w-4"}),(0,b.jsxs)("div",{className:"flex-1 flex items-center justify-between gap-2",children:[(0,b.jsx)("div",{className:"flex-1 min-w-0",children:(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsxs)("span",{className:"font-medium",children:["#",a.specNumber]}),(0,b.jsx)("span",{className:"truncate",children:a.title})]})}),(0,b.jsxs)("div",{className:"flex items-center gap-1 shrink-0",children:[(0,b.jsx)(ae.StatusBadge,{status:a.status}),(0,b.jsx)(af.PriorityBadge,{priority:a.priority})]})]})]},a.id))}),g&&(0,b.jsx)(ad.CommandGroup,{heading:"Filter by Tag",children:Array.from(new Set(a.flatMap(a=>a.tags))).filter(a=>a.toLowerCase().includes(g.toLowerCase())).slice(0,5).map(a=>(0,b.jsxs)(ad.CommandItem,{value:a,onSelect:()=>{c.push(`/?tag=${encodeURIComponent(a)}`),f(!1)},children:[(0,b.jsx)(s,{className:"mr-2 h-4 w-4"}),"Filter by: ",(0,b.jsx)("span",{className:"ml-1 font-medium",children:a})]},a))})]})]})]})}var ah=a.i(96151);function ai({items:a}){return(0,b.jsx)("nav",{className:"flex items-center gap-1 text-sm text-muted-foreground",children:a.map((a,d)=>(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[d>0&&(0,b.jsx)(f.ChevronRight,{className:"h-4 w-4"}),a.href?(0,b.jsx)(c.default,{href:a.href,className:"hover:text-foreground transition-colors",children:a.label}):(0,b.jsx)("span",{className:"text-foreground",children:a.label})]},d))})}function aj({specs:a}){let f=function(a){if("/"===a)return[{label:"Home"}];if("/stats"===a)return[{label:"Home",href:"/"},{label:"Stats"}];if("/specs"===a||a.startsWith("/specs?")){let b=new URLSearchParams(a.split("?")[1]||"").get("view");return[{label:"Home",href:"/"},{label:`Specs (${"board"===b?"Board View":"List View"})`}]}return a.startsWith("/specs/")?[{label:"Home",href:"/"},{label:"Specs",href:"/specs"},{label:a.split("/")[2]}]:"/board"===a?[{label:"Home",href:"/"},{label:"Board"}]:[{label:"Home",href:"/"}]}((0,e.usePathname)());return(0,b.jsx)("header",{className:"sticky top-0 z-50 w-full h-14 border-b border-border bg-background",children:(0,b.jsxs)("div",{className:"flex items-center justify-between h-full px-2 sm:px-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 sm:gap-4 min-w-0 flex-1",children:[(0,b.jsxs)(n.Button,{variant:"ghost",size:"icon",onClick:()=>{},className:"lg:hidden h-9 w-9 shrink-0",children:[(0,b.jsx)(h,{className:"h-5 w-5"}),(0,b.jsx)("span",{className:"sr-only",children:"Toggle menu"})]}),(0,b.jsxs)(c.default,{href:"/",className:"flex items-center space-x-2 shrink-0",children:[(0,b.jsx)(d.default,{src:"/logo-with-bg.svg",alt:"LeanSpec",width:32,height:32,className:"h-7 w-7 sm:h-8 sm:w-8 dark:hidden"}),(0,b.jsx)(d.default,{src:"/logo-dark-bg.svg",alt:"LeanSpec",width:32,height:32,className:"h-7 w-7 sm:h-8 sm:w-8 hidden dark:block"}),(0,b.jsx)("span",{className:"font-bold text-lg sm:text-xl hidden sm:inline",children:"LeanSpec"})]}),(0,b.jsx)("div",{className:"hidden md:block min-w-0",children:(0,b.jsx)(ai,{items:f})})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1 sm:gap-2 shrink-0",children:[(0,b.jsx)(ag,{specs:a}),(0,b.jsxs)(ah.TooltipProvider,{children:[(0,b.jsxs)(ah.Tooltip,{children:[(0,b.jsx)(ah.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("div",{children:(0,b.jsx)(o,{})})}),(0,b.jsx)(ah.TooltipContent,{children:(0,b.jsx)("p",{children:"Toggle theme"})})]}),(0,b.jsxs)(ah.Tooltip,{children:[(0,b.jsx)(ah.TooltipTrigger,{asChild:!0,children:(0,b.jsx)(n.Button,{variant:"ghost",size:"icon",asChild:!0,className:"h-9 w-9 sm:h-10 sm:w-10",children:(0,b.jsx)("a",{href:"https://www.lean-spec.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"Documentation",children:(0,b.jsx)(i,{className:"h-5 w-5"})})})}),(0,b.jsx)(ah.TooltipContent,{children:(0,b.jsx)("p",{children:"Documentation"})})]}),(0,b.jsxs)(ah.Tooltip,{children:[(0,b.jsx)(ah.TooltipTrigger,{asChild:!0,children:(0,b.jsx)(n.Button,{variant:"ghost",size:"icon",asChild:!0,className:"h-9 w-9 sm:h-10 sm:w-10",children:(0,b.jsxs)("a",{href:"https://github.com/codervisor/lean-spec",target:"_blank",rel:"noopener noreferrer","aria-label":"GitHub repository",children:[(0,b.jsx)(d.default,{src:"/github-mark-white.svg",alt:"GitHub",width:20,height:20,className:"hidden dark:block"}),(0,b.jsx)(d.default,{src:"/github-mark.svg",alt:"GitHub",width:20,height:20,className:"dark:hidden"})]})})}),(0,b.jsx)(ah.TooltipContent,{children:(0,b.jsx)("p",{children:"GitHub repository"})})]})]})]})]})})}a.s(["Navigation",()=>aj],10660)},50338,a=>{"use strict";var b=a.i(40352),c=a.i(1926),d=a.i(81612),e=a.i(76011),f=a.i(15268),g=a.i(63535);let h=(0,g.default)("chart-column",[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]]);var i=a.i(29620),j=a.i(41270),k=a.i(14174),l=a.i(36883),m=a.i(70485);let n=(0,g.default)("chevrons-up-down",[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]]);var o=a.i(79220),p=a.i(66497),q=a.i(8920),r=a.i(87052),s=a.i(27725),t=a.i(64952),u=a.i(59653),v=a.i(17988),w=a.i(63375),x=a.i(83644),y=a.i(41857),z=a.i(84228),A=a.i(99700),B=a.i(72311),C=a.i(7547),D=a.i(44329),E=a.i(75655),F=a.i(78357),G=a.i(17449),H=a.i(16164),I=a.i(51867),J="Popover",[K,L]=(0,w.createContextScope)(J,[B.createPopperScope]),M=(0,B.createPopperScope)(),[N,O]=K(J),P=a=>{let{__scopePopover:c,children:d,open:e,defaultOpen:f,onOpenChange:g,modal:h=!1}=a,i=M(c),j=l.useRef(null),[k,m]=l.useState(!1),[n,o]=(0,G.useControllableState)({prop:e,defaultProp:f??!1,onChange:g,caller:J});return(0,b.jsx)(B.Root,{...i,children:(0,b.jsx)(N,{scope:c,contentId:(0,A.useId)(),triggerRef:j,open:n,onOpenChange:o,onOpenToggle:l.useCallback(()=>o(a=>!a),[o]),hasCustomAnchor:k,onCustomAnchorAdd:l.useCallback(()=>m(!0),[]),onCustomAnchorRemove:l.useCallback(()=>m(!1),[]),modal:h,children:d})})};P.displayName=J;var Q="PopoverAnchor";l.forwardRef((a,c)=>{let{__scopePopover:d,...e}=a,f=O(Q,d),g=M(d),{onCustomAnchorAdd:h,onCustomAnchorRemove:i}=f;return l.useEffect(()=>(h(),()=>i()),[h,i]),(0,b.jsx)(B.Anchor,{...g,...e,ref:c})}).displayName=Q;var R="PopoverTrigger",S=l.forwardRef((a,c)=>{let{__scopePopover:d,...e}=a,f=O(R,d),g=M(d),h=(0,v.useComposedRefs)(c,f.triggerRef),i=(0,b.jsx)(E.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":f.open,"aria-controls":f.contentId,"data-state":ac(f.open),...e,ref:h,onClick:(0,u.composeEventHandlers)(a.onClick,f.onOpenToggle)});return f.hasCustomAnchor?i:(0,b.jsx)(B.Anchor,{asChild:!0,...g,children:i})});S.displayName=R;var T="PopoverPortal",[U,V]=K(T,{forceMount:void 0}),W=a=>{let{__scopePopover:c,forceMount:d,children:e,container:f}=a,g=O(T,c);return(0,b.jsx)(U,{scope:c,forceMount:d,children:(0,b.jsx)(D.Presence,{present:d||g.open,children:(0,b.jsx)(C.Portal,{asChild:!0,container:f,children:e})})})};W.displayName=T;var X="PopoverContent",Y=l.forwardRef((a,c)=>{let d=V(X,a.__scopePopover),{forceMount:e=d.forceMount,...f}=a,g=O(X,a.__scopePopover);return(0,b.jsx)(D.Presence,{present:e||g.open,children:g.modal?(0,b.jsx)($,{...f,ref:c}):(0,b.jsx)(_,{...f,ref:c})})});Y.displayName=X;var Z=(0,F.createSlot)("PopoverContent.RemoveScroll"),$=l.forwardRef((a,c)=>{let d=O(X,a.__scopePopover),e=l.useRef(null),f=(0,v.useComposedRefs)(c,e),g=l.useRef(!1);return l.useEffect(()=>{let a=e.current;if(a)return(0,H.hideOthers)(a)},[]),(0,b.jsx)(I.RemoveScroll,{as:Z,allowPinchZoom:!0,children:(0,b.jsx)(aa,{...a,ref:f,trapFocus:d.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,u.composeEventHandlers)(a.onCloseAutoFocus,a=>{a.preventDefault(),g.current||d.triggerRef.current?.focus()}),onPointerDownOutside:(0,u.composeEventHandlers)(a.onPointerDownOutside,a=>{let b=a.detail.originalEvent,c=0===b.button&&!0===b.ctrlKey;g.current=2===b.button||c},{checkForDefaultPrevented:!1}),onFocusOutside:(0,u.composeEventHandlers)(a.onFocusOutside,a=>a.preventDefault(),{checkForDefaultPrevented:!1})})})}),_=l.forwardRef((a,c)=>{let d=O(X,a.__scopePopover),e=l.useRef(!1),f=l.useRef(!1);return(0,b.jsx)(aa,{...a,ref:c,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:b=>{a.onCloseAutoFocus?.(b),b.defaultPrevented||(e.current||d.triggerRef.current?.focus(),b.preventDefault()),e.current=!1,f.current=!1},onInteractOutside:b=>{a.onInteractOutside?.(b),b.defaultPrevented||(e.current=!0,"pointerdown"===b.detail.originalEvent.type&&(f.current=!0));let c=b.target;d.triggerRef.current?.contains(c)&&b.preventDefault(),"focusin"===b.detail.originalEvent.type&&f.current&&b.preventDefault()}})}),aa=l.forwardRef((a,c)=>{let{__scopePopover:d,trapFocus:e,onOpenAutoFocus:f,onCloseAutoFocus:g,disableOutsidePointerEvents:h,onEscapeKeyDown:i,onPointerDownOutside:j,onFocusOutside:k,onInteractOutside:l,...m}=a,n=O(X,d),o=M(d);return(0,y.useFocusGuards)(),(0,b.jsx)(z.FocusScope,{asChild:!0,loop:!0,trapped:e,onMountAutoFocus:f,onUnmountAutoFocus:g,children:(0,b.jsx)(x.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:h,onInteractOutside:l,onEscapeKeyDown:i,onPointerDownOutside:j,onFocusOutside:k,onDismiss:()=>n.onOpenChange(!1),children:(0,b.jsx)(B.Content,{"data-state":ac(n.open),role:"dialog",id:n.contentId,...o,...m,ref:c,style:{...m.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),ab="PopoverClose";function ac(a){return a?"open":"closed"}l.forwardRef((a,c)=>{let{__scopePopover:d,...e}=a,f=O(ab,d);return(0,b.jsx)(E.Primitive.button,{type:"button",...e,ref:c,onClick:(0,u.composeEventHandlers)(a.onClick,()=>f.onOpenChange(!1))})}).displayName=ab,l.forwardRef((a,c)=>{let{__scopePopover:d,...e}=a,f=M(d);return(0,b.jsx)(B.Arrow,{...f,...e,ref:c})}).displayName="PopoverArrow";let ad=l.forwardRef(({className:a,align:c="center",sideOffset:d=4,...e},f)=>(0,b.jsx)(W,{children:(0,b.jsx)(Y,{ref:f,align:c,sideOffset:d,className:(0,r.cn)("z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a),...e})}));ad.displayName=Y.displayName;var ae=a.i(72245),af=a.i(65791);function ag({collapsed:a}){let{mode:c,currentProject:d,projects:e,switchProject:f}=(0,ae.useProject)(),[g,h]=(0,l.useState)(!1),[i,j]=(0,l.useState)(!1);if("multi-project"!==c)return null;let k=async a=>{await f(a),h(!1)},u=[...e].sort((a,b)=>a.favorite===b.favorite?0:a.favorite?-1:1);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(af.CreateProjectDialog,{open:i,onOpenChange:j}),(0,b.jsxs)(P,{open:g,onOpenChange:h,children:[(0,b.jsx)(S,{asChild:!0,children:(0,b.jsx)(s.Button,{variant:"outline",role:"combobox","aria-expanded":g,className:(0,r.cn)("w-full justify-between",a?"h-9 w-9 p-0 justify-center":"px-3"),children:a?(0,b.jsx)(p.FolderOpen,{className:"h-4 w-4"}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 truncate",children:[(0,b.jsx)(p.FolderOpen,{className:"h-4 w-4 shrink-0 opacity-50"}),(0,b.jsx)("span",{className:"truncate",children:d?.name||"Select project..."})]}),(0,b.jsx)(n,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})})}),(0,b.jsx)(ad,{className:"w-[200px] p-0",align:"start",children:(0,b.jsxs)(t.Command,{children:[(0,b.jsx)(t.CommandInput,{placeholder:"Search projects..."}),(0,b.jsxs)(t.CommandList,{children:[(0,b.jsx)(t.CommandEmpty,{children:"No project found."}),(0,b.jsx)(t.CommandGroup,{heading:"Projects",children:u.map(a=>(0,b.jsx)(t.CommandItem,{onSelect:()=>k(a.id),className:"text-sm",children:(0,b.jsxs)("div",{className:"flex items-center gap-2 w-full",children:[(0,b.jsx)(m.Check,{className:(0,r.cn)("mr-2 h-4 w-4",d?.id===a.id?"opacity-100":"opacity-0")}),(0,b.jsx)("span",{className:"truncate flex-1",children:a.name}),a.favorite&&(0,b.jsx)(q.Star,{className:"h-3 w-3 fill-yellow-500 text-yellow-500"})]})},a.id))}),(0,b.jsx)(t.CommandSeparator,{}),(0,b.jsx)(t.CommandGroup,{children:(0,b.jsxs)(t.CommandItem,{className:"cursor-pointer",onSelect:()=>{h(!1),j(!0)},children:[(0,b.jsx)(o.Plus,{className:"mr-2 h-4 w-4"}),"Create Project"]})})]})]})})]})]})}function ah({href:a,icon:d,children:e,description:f,currentPath:g,isCollapsed:h}){let i=g===a||"/"!==a&&g.startsWith(a);return(0,b.jsxs)(c.default,{href:a,className:(0,r.cn)("flex items-center gap-3 rounded-lg px-3 py-2 transition-colors","hover:bg-accent hover:text-accent-foreground",i&&"bg-accent text-accent-foreground font-medium",h&&"justify-center px-2"),children:[(0,b.jsx)(d,{className:(0,r.cn)("h-5 w-5 shrink-0",i&&"text-primary")}),!h&&(0,b.jsxs)("div",{className:"flex flex-col",children:[(0,b.jsx)("span",{className:"text-sm",children:e}),f&&(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:f})]})]})}function ai(){let a=(0,d.usePathname)(),[c,g]=l.useState(()=>!1),[m,n]=l.useState(!1),[o,p]=l.useState(!1);return l.useEffect(()=>{p(!0)},[]),l.useEffect(()=>{document.documentElement.style.setProperty("--main-sidebar-width",c?"60px":"240px"),localStorage.setItem("main-sidebar-collapsed",String(c))},[c]),l.useEffect(()=>{n(!1)},[a]),l.useEffect(()=>{},[]),(0,b.jsxs)(b.Fragment,{children:[m&&(0,b.jsx)("div",{className:"fixed inset-0 bg-black/50 z-40 lg:hidden",onClick:()=>n(!1)}),(0,b.jsx)("aside",{className:(0,r.cn)("sticky top-14 h-[calc(100vh-3.5rem)] border-r border-border bg-background transition-all duration-300 flex-shrink-0","hidden lg:flex",o&&c?"lg:w-[60px]":"lg:w-[240px]",m&&"fixed left-0 top-14 z-50 flex w-[280px]"),children:(0,b.jsxs)("div",{className:"flex flex-col h-full w-full",children:[(0,b.jsx)("div",{className:"lg:hidden flex justify-end p-2 border-b border-border",children:(0,b.jsxs)(s.Button,{variant:"ghost",size:"sm",onClick:()=>n(!1),className:"h-8 w-8 p-0",children:[(0,b.jsx)(k.X,{className:"h-4 w-4"}),(0,b.jsx)("span",{className:"sr-only",children:"Close menu"})]})}),o&&(0,b.jsxs)("nav",{className:"flex-1 px-2 py-4 space-y-1",children:[(0,b.jsx)("div",{className:"mb-4",children:(0,b.jsx)(ag,{collapsed:c&&!m})}),(0,b.jsx)(ah,{href:"/",icon:e.Home,currentPath:a,description:!c||m?"Dashboard":void 0,isCollapsed:c&&!m,children:"Home"}),(0,b.jsx)(ah,{href:"/specs",icon:f.FileText,currentPath:a,description:!c||m?"All Specifications":void 0,isCollapsed:c&&!m,children:"Specs"}),(0,b.jsx)(ah,{href:"/stats",icon:h,currentPath:a,description:!c||m?"Analytics":void 0,isCollapsed:c&&!m,children:"Stats"})]}),(0,b.jsx)("div",{className:"hidden lg:block p-2 border-t border-border",children:(0,b.jsx)(s.Button,{variant:"ghost",size:"sm",onClick:()=>g(!c),className:(0,r.cn)("w-full",o&&c&&"px-2"),children:o&&c?(0,b.jsx)(j.ChevronRight,{className:"h-4 w-4"}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(i.ChevronLeft,{className:"h-4 w-4 mr-2"}),(0,b.jsx)("span",{className:"text-xs",children:"Collapse"})]})})})]})})]})}a.s(["MainSidebar",()=>ai],50338)},25726,a=>{"use strict";var b=a.i(40352),c=a.i(61698);function d({children:a,...d}){return(0,b.jsx)(c.ThemeProvider,{...d,children:a})}a.s(["ThemeProvider",()=>d])},68607,a=>{"use strict";var b=a.i(94783),c=a.i(56916);a.s(["Toast",()=>b.Toast,"toast",()=>c.toast])}];
4
+
5
+ //# sourceMappingURL=_c2f54661._.js.map
@@ -0,0 +1,4 @@
1
+ module.exports=[89132,a=>{a.n(a.i(16709))},91317,a=>{"use strict";var b=a.i(43852),c=a.i(39217),d=a.i(78827),e=a.i(8415),f=a.i(14821),g=a.i(48077),h=a.i(56042),i=a.i(935),j=a.i(80078),k=a.i(5432),l=a.i(39862),m=a.i(78487),n=a.i(44836),o=a.i(52890),p=a.i(9222),q=a.i(76125),r=a.i(33655),s=a.i(34608);a.i(63105);var t=a.i(75648),u=a.i(46803),v=a.i(93821),w=a.i(52114),x=a.i(13610),y=a.i(80280),z=a.i(93695),A=a.i(78859);a.i(79774);var B=a.i(63074),C=a.i(97936),D=a.i(47639),E=a.i(28691),F=a.i(34664);let G=["",{children:["projects",{children:["__PAGE__",{},{metadata:{},page:[()=>a.r(89132),"[project]/packages/ui/src/app/projects/page.tsx"]}]},{metadata:{}}]},{layout:[()=>a.r(55998),"[project]/packages/ui/src/app/layout.tsx"],error:[()=>a.r(38958),"[project]/packages/ui/src/app/error.tsx"],loading:[()=>a.r(73521),"[project]/packages/ui/src/app/loading.tsx"],"not-found":[()=>a.r(5605),"[project]/packages/ui/src/app/not-found.tsx"],forbidden:[()=>a.r(18578),"[project]/node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>a.r(29433),"[project]/node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/builtin/unauthorized.js"],"global-error":[()=>a.r(78859),"[project]/node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/builtin/global-error.js"]}],H={require:a.r.bind(a),loadChunk:a.l.bind(a)},I=new b.AppPageRouteModule({definition:{kind:c.RouteKind.APP_PAGE,page:"/projects/page",pathname:"/projects",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:G},distDir:".next",relativeProjectDir:""});async function J(a,b,K){var L;I.isDev&&(0,f.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let M="/projects/page";M=M.replace(/\/index$/,"")||"/";let N=!!(0,f.getRequestMeta)(a,"minimalMode"),O=await I.prepare(a,b,{srcPage:M,multiZoneDraftMode:!1});if(!O)return b.statusCode=400,b.end("Bad Request"),null==K.waitUntil||K.waitUntil.call(K,Promise.resolve()),null;let{buildId:P,query:Q,params:R,pageIsDynamic:S,buildManifest:T,nextFontManifest:U,reactLoadableManifest:V,serverActionsManifest:W,clientReferenceManifest:X,subresourceIntegrityManifest:Y,prerenderManifest:Z,isDraftMode:$,resolvedPathname:_,revalidateOnlyGenerated:aa,routerServerContext:ab,nextConfig:ac,parsedUrl:ad,interceptionRoutePatterns:ae}=O,af=(0,p.normalizeAppPath)(M),{isOnDemandRevalidate:ag}=O,ah=ac.experimental.ppr&&!ac.cacheComponents&&(0,F.isInterceptionRouteAppPath)(_)?null:I.match(_,Z),ai=!!Z.routes[_],aj=a.headers["user-agent"]||"",ak=(0,s.getBotType)(aj),al=(0,n.isHtmlBotRequest)(a),am=(0,f.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[r.NEXT_ROUTER_PREFETCH_HEADER],an=(0,f.getRequestMeta)(a,"isRSCRequest")??!!a.headers[r.RSC_HEADER],ao=(0,q.getIsPossibleServerAction)(a),ap=(0,k.checkIsAppPPREnabled)(ac.experimental.ppr)&&(null==(L=Z.routes[af]??Z.dynamicRoutes[af])?void 0:L.renderingMode)==="PARTIALLY_STATIC",aq=!1,ar=!1,as=ap?(0,f.getRequestMeta)(a,"postponed"):void 0,at=ap&&an&&!am,au=(0,f.getRequestMeta)(a,"segmentPrefetchRSCRequest"),av=(!al||!ap)&&(!aj||(0,n.shouldServeStreamingMetadata)(aj,ac.htmlLimitedBots)),aw=!!((ah||ai||Z.routes[af])&&!(al&&ap)),ax=ap&&!0===ac.cacheComponents,ay=!0===I.isDev||!aw||"string"==typeof as||(ax&&(0,f.getRequestMeta)(a,"onCacheEntryV2")?at&&!N:at),az=al&&ap,aA=null;$||!aw||ay||ao||as||at||(aA=_);let aB=aA;!aB&&I.isDev&&(aB=_),I.isDev||$||!aw||!an||at||(0,i.stripFlightHeaders)(a.headers);let aC={...B,tree:G,GlobalError:A.default,handler:J,routeModule:I,__next_app__:H};W&&X&&(0,m.setReferenceManifestsSingleton)({page:M,clientReferenceManifest:X,serverActionsManifest:W,serverModuleMap:(0,o.createServerModuleMap)({serverActionsManifest:W})});let aD=a.method||"GET",aE=(0,e.getTracer)(),aF=aE.getActiveScopeSpan(),aG=async()=>((null==ab?void 0:ab.render404)?await ab.render404(a,b,ad,!1):b.end("This page could not be found"),null);try{let d=I.getVaryHeader(_,ae);b.setHeader("Vary",d);let i=async(c,d)=>{let e=new j.NodeNextRequest(a),f=new j.NodeNextResponse(b);return I.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let a=aE.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==g.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let d=a.get("next.route");if(d){let a=`${aD} ${d}`;c.setAttributes({"next.route":d,"http.route":d,"next.span_name":a}),c.updateName(a)}else c.updateName(`${aD} ${M}`)})},k=(0,f.getRequestMeta)(a,"incrementalCache"),m=async({span:c,postponed:d,fallbackRouteParams:e,forceStaticRender:g})=>{let j={query:Q,params:R,page:af,sharedContext:{buildId:P},serverComponentsHmrCache:(0,f.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:e,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aC,Component:(0,h.interopDefault)(aC),params:R,routeModule:I,page:M,postponed:d,shouldWaitOnAllReady:az,serveStreamingMetadata:av,supportsDynamicResponse:"string"==typeof d||ay,buildManifest:T,nextFontManifest:U,reactLoadableManifest:V,subresourceIntegrityManifest:Y,serverActionsManifest:W,clientReferenceManifest:X,setCacheStatus:null==ab?void 0:ab.setCacheStatus,setIsrStatus:null==ab?void 0:ab.setIsrStatus,setReactDebugChannel:null==ab?void 0:ab.setReactDebugChannel,dir:require("path").join(process.cwd(),I.relativeProjectDir),isDraftMode:$,botType:ak,isOnDemandRevalidate:ag,isPossibleServerAction:ao,assetPrefix:ac.assetPrefix,nextConfigOutput:ac.output,crossOrigin:ac.crossOrigin,trailingSlash:ac.trailingSlash,images:ac.images,previewProps:Z.preview,deploymentId:ac.deploymentId,enableTainting:ac.experimental.taint,htmlLimitedBots:ac.htmlLimitedBots,reactMaxHeadersLength:ac.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:k,cacheLifeProfiles:ac.cacheLife,basePath:ac.basePath,serverActions:ac.experimental.serverActions,...aq||ar?{nextExport:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isDebugDynamicAccesses:aq}:{},cacheComponents:!!ac.cacheComponents,experimental:{isRoutePPREnabled:ap,expireTime:ac.expireTime,staleTimes:ac.experimental.staleTimes,clientSegmentCache:!!ac.experimental.clientSegmentCache,dynamicOnHover:!!ac.experimental.dynamicOnHover,inlineCss:!!ac.experimental.inlineCss,authInterrupts:!!ac.experimental.authInterrupts,clientTraceMetadata:ac.experimental.clientTraceMetadata||[],clientParamParsingOrigins:ac.experimental.clientParamParsingOrigins},waitUntil:K.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d)=>I.onRequestError(a,b,d,ab),err:(0,f.getRequestMeta)(a,"invokeError"),dev:I.isDev}};aq&&(j.renderOpts.nextExport=!0,j.renderOpts.supportsDynamicResponse=!1,j.renderOpts.isDebugDynamicAccesses=aq),g&&(j.renderOpts.supportsDynamicResponse=!1);let l=await i(c,j),{metadata:m}=l,{cacheControl:n,headers:o={},fetchTags:p,fetchMetrics:q}=m;if(p&&(o[w.NEXT_CACHE_TAGS_HEADER]=p),a.fetchMetrics=q,aw&&(null==n?void 0:n.revalidate)===0&&!I.isDev&&!ap){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${_}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
2
+ see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:t.CachedRouteKind.APP_PAGE,html:l,headers:o,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:n}},n=async({hasResolved:d,previousCacheEntry:e,isRevalidating:g,span:h,forceStaticRender:i=!1})=>{let j,o=!1===I.isDev,p=d||b.writableEnded;if(ag&&aa&&!e&&!N)return(null==ab?void 0:ab.render404)?await ab.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(ah&&(j=(0,u.parseFallbackField)(ah.fallback)),j===u.FallbackMode.PRERENDER&&(0,s.isBot)(aj)&&(!ap||al)&&(j=u.FallbackMode.BLOCKING_STATIC_RENDER),(null==e?void 0:e.isStale)===-1&&(ag=!0),ag&&(j!==u.FallbackMode.NOT_FOUND||e)&&(j=u.FallbackMode.BLOCKING_STATIC_RENDER),!N&&j!==u.FallbackMode.BLOCKING_STATIC_RENDER&&aB&&!p&&!$&&S&&(o||!ai)){if((o||ah)&&j===u.FallbackMode.NOT_FOUND){if(ac.experimental.adapterPath)return await aG();throw new z.NoFallbackError}if(ap&&(ac.cacheComponents?!at:!an)){let b=o&&"string"==typeof(null==ah?void 0:ah.fallback)?ah.fallback:af,d=o&&(null==ah?void 0:ah.fallbackRouteParams)?(0,l.createOpaqueFallbackRouteParams)(ah.fallbackRouteParams):ar?(0,l.getFallbackRouteParams)(af,I):null,e=await I.handleResponse({cacheKey:b,req:a,nextConfig:ac,routeKind:c.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:Z,isRoutePPREnabled:ap,responseGenerator:async()=>m({span:h,postponed:void 0,fallbackRouteParams:d,forceStaticRender:!1}),waitUntil:K.waitUntil,isMinimalMode:N});if(null===e)return null;if(e)return delete e.cacheControl,e}}let q=ag||g||!as?void 0:as;if(ax&&!N&&k&&at&&!i){let b=await k.get(_,{kind:t.IncrementalCacheKind.APP_PAGE,isRoutePPREnabled:!0,isFallback:!1});b&&b.value&&b.value.kind===t.CachedRouteKind.APP_PAGE&&(q=b.value.postponed,b&&(-1===b.isStale||!0===b.isStale)&&(0,E.scheduleOnNextTick)(async()=>{let b=I.getResponseCache(a);try{await b.revalidate(_,k,ap,!1,a=>n({...a,forceStaticRender:!0}),null,d,K.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}))}if(aq&&void 0!==q)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:t.CachedRouteKind.PAGES,html:v.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let r=o&&(null==ah?void 0:ah.fallbackRouteParams)&&(0,f.getRequestMeta)(a,"renderFallbackShell")?(0,l.createOpaqueFallbackRouteParams)(ah.fallbackRouteParams):ar?(0,l.getFallbackRouteParams)(af,I):null;return m({span:h,postponed:q,fallbackRouteParams:r,forceStaticRender:i})},o=async d=>{var e,g,h,i,j;let k,l=await I.handleResponse({cacheKey:aA,responseGenerator:a=>n({span:d,...a}),routeKind:c.RouteKind.APP_PAGE,isOnDemandRevalidate:ag,isRoutePPREnabled:ap,req:a,nextConfig:ac,prerenderManifest:Z,waitUntil:K.waitUntil,isMinimalMode:N});if($&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),I.isDev&&b.setHeader("Cache-Control","no-store, must-revalidate"),!l){if(aA)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(e=l.value)?void 0:e.kind)!==t.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(h=l.value)?void 0:h.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let o="string"==typeof l.value.postponed;aw&&!at&&(!o||am)&&(N||b.setHeader("x-nextjs-cache",ag?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),b.setHeader(r.NEXT_IS_PRERENDER_HEADER,"1"));let{value:p}=l;if(as)k={revalidate:0,expire:void 0};else if(at)k={revalidate:0,expire:void 0};else if(!I.isDev)if($)k={revalidate:0,expire:void 0};else if(aw){if(l.cacheControl)if("number"==typeof l.cacheControl.revalidate){if(l.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${l.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});k={revalidate:l.cacheControl.revalidate,expire:(null==(i=l.cacheControl)?void 0:i.expire)??ac.expireTime}}else k={revalidate:w.CACHE_ONE_YEAR,expire:void 0}}else b.getHeader("Cache-Control")||(k={revalidate:0,expire:void 0});if(l.cacheControl=k,"string"==typeof au&&(null==p?void 0:p.kind)===t.CachedRouteKind.APP_PAGE&&p.segmentData){b.setHeader(r.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(j=p.headers)?void 0:j[w.NEXT_CACHE_TAGS_HEADER];N&&aw&&c&&"string"==typeof c&&b.setHeader(w.NEXT_CACHE_TAGS_HEADER,c);let d=p.segmentData.get(au);return void 0!==d?(0,y.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:v.default.fromStatic(d,r.RSC_CONTENT_TYPE_HEADER),cacheControl:l.cacheControl}):(b.statusCode=204,(0,y.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:v.default.EMPTY,cacheControl:l.cacheControl}))}let q=ax?(0,f.getRequestMeta)(a,"onCacheEntryV2")??(0,f.getRequestMeta)(a,"onCacheEntry"):(0,f.getRequestMeta)(a,"onCacheEntry");if(q&&await q(l,{url:(0,f.getRequestMeta)(a,"initURL")??a.url}))return null;if(p.headers){let a={...p.headers};for(let[c,d]of(N&&aw||delete a[w.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let s=null==(g=p.headers)?void 0:g[w.NEXT_CACHE_TAGS_HEADER];if(N&&aw&&s&&"string"==typeof s&&b.setHeader(w.NEXT_CACHE_TAGS_HEADER,s),!p.status||an&&ap||(b.statusCode=p.status),!N&&p.status&&C.RedirectStatusCode[p.status]&&an&&(b.statusCode=200),o&&!at&&b.setHeader(r.NEXT_DID_POSTPONE_HEADER,"1"),an&&!$){if(void 0===p.rscData){if(p.html.contentType!==r.RSC_CONTENT_TYPE_HEADER)if(ac.cacheComponents)return b.statusCode=404,(0,y.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:v.default.EMPTY,cacheControl:l.cacheControl});else throw Object.defineProperty(new D.InvariantError(`Expected RSC response, got ${p.html.contentType}`),"__NEXT_ERROR_CODE",{value:"E789",enumerable:!1,configurable:!0});return(0,y.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:p.html,cacheControl:l.cacheControl})}return(0,y.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:v.default.fromStatic(p.rscData,r.RSC_CONTENT_TYPE_HEADER),cacheControl:l.cacheControl})}let u=p.html;if(!o||N||an)return(0,y.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:u,cacheControl:l.cacheControl});if(aq)return u.push(new ReadableStream({start(a){a.enqueue(x.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,y.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:u,cacheControl:{revalidate:0,expire:void 0}});let z=new TransformStream;return u.push(z.readable),m({span:d,postponed:p.postponed,fallbackRouteParams:null,forceStaticRender:!1}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==t.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(z.writable)}).catch(a=>{z.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,y.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:u,cacheControl:{revalidate:0,expire:void 0}})};if(!aF)return await aE.withPropagatedContext(a.headers,()=>aE.trace(g.BaseServerSpan.handleRequest,{spanName:`${aD} ${M}`,kind:e.SpanKind.SERVER,attributes:{"http.method":aD,"http.target":a.url}},o));await o(aF)}catch(b){throw b instanceof z.NoFallbackError||await I.onRequestError(a,b,{routerKind:"App Router",routePath:M,routeType:"render",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:aw,isOnDemandRevalidate:ag})},ab),b}}a.s(["__next_app__",0,H,"handler",()=>J,"routeModule",0,I],21466),a.i(21466),a.s(["ClientPageRoot",()=>B.ClientPageRoot,"ClientSegmentRoot",()=>B.ClientSegmentRoot,"Fragment",()=>B.Fragment,"GlobalError",()=>A.default,"HTTPAccessFallbackBoundary",()=>B.HTTPAccessFallbackBoundary,"LayoutRouter",()=>B.LayoutRouter,"Postpone",()=>B.Postpone,"RenderFromTemplateContext",()=>B.RenderFromTemplateContext,"RootLayoutBoundary",()=>B.RootLayoutBoundary,"SegmentViewNode",()=>B.SegmentViewNode,"SegmentViewStateNode",()=>B.SegmentViewStateNode,"__next_app__",0,H,"actionAsyncStorage",()=>B.actionAsyncStorage,"captureOwnerStack",()=>B.captureOwnerStack,"collectSegmentData",()=>B.collectSegmentData,"createElement",()=>B.createElement,"createMetadataComponents",()=>B.createMetadataComponents,"createPrerenderParamsForClientSegment",()=>B.createPrerenderParamsForClientSegment,"createPrerenderSearchParamsForClientPage",()=>B.createPrerenderSearchParamsForClientPage,"createServerParamsForServerSegment",()=>B.createServerParamsForServerSegment,"createServerSearchParamsForServerPage",()=>B.createServerSearchParamsForServerPage,"createTemporaryReferenceSet",()=>B.createTemporaryReferenceSet,"decodeAction",()=>B.decodeAction,"decodeFormState",()=>B.decodeFormState,"decodeReply",()=>B.decodeReply,"handler",()=>J,"patchFetch",()=>B.patchFetch,"preconnect",()=>B.preconnect,"preloadFont",()=>B.preloadFont,"preloadStyle",()=>B.preloadStyle,"prerender",()=>B.prerender,"renderToReadableStream",()=>B.renderToReadableStream,"routeModule",0,I,"serverHooks",()=>B.serverHooks,"taintObjectReference",()=>B.taintObjectReference,"workAsyncStorage",()=>B.workAsyncStorage,"workUnitAsyncStorage",()=>B.workUnitAsyncStorage],91317)}];
3
+
4
+ //# sourceMappingURL=_fdd7780b._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[31277,a=>{"use strict";a.s([])}];
2
+
3
+ //# sourceMappingURL=f825c_server_app_projects_%5BprojectId%5D_specs_%5BspecId%5D_page_actions_22d9c35e.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[66965,53484,a=>{"use strict";var b=a.i(36883),c=a.i(63375),d=a.i(17988),e=a.i(78357),f=a.i(40352);function g(a){let g=a+"CollectionProvider",[h,i]=(0,c.createContextScope)(g),[j,k]=h(g,{collectionRef:{current:null},itemMap:new Map}),l=a=>{let{scope:c,children:d}=a,e=b.default.useRef(null),g=b.default.useRef(new Map).current;return(0,f.jsx)(j,{scope:c,itemMap:g,collectionRef:e,children:d})};l.displayName=g;let m=a+"CollectionSlot",n=(0,e.createSlot)(m),o=b.default.forwardRef((a,b)=>{let{scope:c,children:e}=a,g=k(m,c),h=(0,d.useComposedRefs)(b,g.collectionRef);return(0,f.jsx)(n,{ref:h,children:e})});o.displayName=m;let p=a+"CollectionItemSlot",q="data-radix-collection-item",r=(0,e.createSlot)(p),s=b.default.forwardRef((a,c)=>{let{scope:e,children:g,...h}=a,i=b.default.useRef(null),j=(0,d.useComposedRefs)(c,i),l=k(p,e);return b.default.useEffect(()=>(l.itemMap.set(i,{ref:i,...h}),()=>void l.itemMap.delete(i))),(0,f.jsx)(r,{...{[q]:""},ref:j,children:g})});return s.displayName=p,[{Provider:l,Slot:o,ItemSlot:s},function(c){let d=k(a+"CollectionConsumer",c);return b.default.useCallback(()=>{let a=d.collectionRef.current;if(!a)return[];let b=Array.from(a.querySelectorAll(`[${q}]`));return Array.from(d.itemMap.values()).sort((a,c)=>b.indexOf(a.ref.current)-b.indexOf(c.ref.current))},[d.collectionRef,d.itemMap])},i]}var h=new WeakMap;function i(a,b){var c,d;let e,f,g;if("at"in Array.prototype)return Array.prototype.at.call(a,b);let h=(c=a,d=b,e=c.length,(g=(f=j(d))>=0?f:e+f)<0||g>=e?-1:g);return -1===h?void 0:a[h]}function j(a){return a!=a||0===a?0:Math.trunc(a)}(class a extends Map{#a;constructor(a){super(a),this.#a=[...super.keys()],h.set(this,!0)}set(a,b){return h.get(this)&&(this.has(a)?this.#a[this.#a.indexOf(a)]=a:this.#a.push(a)),super.set(a,b),this}insert(a,b,c){let d,e=this.has(b),f=this.#a.length,g=j(a),h=g>=0?g:f+g,i=h<0||h>=f?-1:h;if(i===this.size||e&&i===this.size-1||-1===i)return this.set(b,c),this;let k=this.size+ +!e;g<0&&h++;let l=[...this.#a],m=!1;for(let a=h;a<k;a++)if(h===a){let f=l[a];l[a]===b&&(f=l[a+1]),e&&this.delete(b),d=this.get(f),this.set(b,c)}else{m||l[a-1]!==b||(m=!0);let c=l[m?a:a-1],e=d;d=this.get(c),this.delete(c),this.set(c,e)}return this}with(b,c,d){let e=new a(this);return e.insert(b,c,d),e}before(a){let b=this.#a.indexOf(a)-1;if(!(b<0))return this.entryAt(b)}setBefore(a,b,c){let d=this.#a.indexOf(a);return -1===d?this:this.insert(d,b,c)}after(a){let b=this.#a.indexOf(a);if(-1!==(b=-1===b||b===this.size-1?-1:b+1))return this.entryAt(b)}setAfter(a,b,c){let d=this.#a.indexOf(a);return -1===d?this:this.insert(d+1,b,c)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#a=[],super.clear()}delete(a){let b=super.delete(a);return b&&this.#a.splice(this.#a.indexOf(a),1),b}deleteAt(a){let b=this.keyAt(a);return void 0!==b&&this.delete(b)}at(a){let b=i(this.#a,a);if(void 0!==b)return this.get(b)}entryAt(a){let b=i(this.#a,a);if(void 0!==b)return[b,this.get(b)]}indexOf(a){return this.#a.indexOf(a)}keyAt(a){return i(this.#a,a)}from(a,b){let c=this.indexOf(a);if(-1===c)return;let d=c+b;return d<0&&(d=0),d>=this.size&&(d=this.size-1),this.at(d)}keyFrom(a,b){let c=this.indexOf(a);if(-1===c)return;let d=c+b;return d<0&&(d=0),d>=this.size&&(d=this.size-1),this.keyAt(d)}find(a,b){let c=0;for(let d of this){if(Reflect.apply(a,b,[d,c,this]))return d;c++}}findIndex(a,b){let c=0;for(let d of this){if(Reflect.apply(a,b,[d,c,this]))return c;c++}return -1}filter(b,c){let d=[],e=0;for(let a of this)Reflect.apply(b,c,[a,e,this])&&d.push(a),e++;return new a(d)}map(b,c){let d=[],e=0;for(let a of this)d.push([a[0],Reflect.apply(b,c,[a,e,this])]),e++;return new a(d)}reduce(...a){let[b,c]=a,d=0,e=c??this.at(0);for(let c of this)e=0===d&&1===a.length?c:Reflect.apply(b,this,[e,c,d,this]),d++;return e}reduceRight(...a){let[b,c]=a,d=c??this.at(-1);for(let c=this.size-1;c>=0;c--){let e=this.at(c);d=c===this.size-1&&1===a.length?e:Reflect.apply(b,this,[d,e,c,this])}return d}toSorted(b){return new a([...this.entries()].sort(b))}toReversed(){let b=new a;for(let a=this.size-1;a>=0;a--){let c=this.keyAt(a),d=this.get(c);b.set(c,d)}return b}toSpliced(...b){let c=[...this.entries()];return c.splice(...b),new a(c)}slice(b,c){let d=new a,e=this.size-1;if(void 0===b)return d;b<0&&(b+=this.size),void 0!==c&&c>0&&(e=c-1);for(let a=b;a<=e;a++){let b=this.keyAt(a),c=this.get(b);d.set(b,c)}return d}every(a,b){let c=0;for(let d of this){if(!Reflect.apply(a,b,[d,c,this]))return!1;c++}return!0}some(a,b){let c=0;for(let d of this){if(Reflect.apply(a,b,[d,c,this]))return!0;c++}return!1}}),a.s(["createCollection",()=>g],66965);var k=b.createContext(void 0);function l(a){let c=b.useContext(k);return a||c||"ltr"}a.s(["useDirection",()=>l],53484)},35133,(a,b,c)=>{a.e,b.exports=function(){"use strict";var a="millisecond",b="second",c="minute",d="hour",e="week",f="month",g="quarter",h="year",i="date",j="Invalid Date",k=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,l=/\[([^\]]+)]|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(a,b,c){var d=String(a);return!d||d.length>=b?a:""+Array(b+1-d.length).join(c)+a},n="en",o={};o[n]={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(a){var b=["th","st","nd","rd"],c=a%100;return"["+a+(b[(c-20)%10]||b[c]||b[0])+"]"}};var p="$isDayjsObject",q=function(a){return a instanceof u||!(!a||!a[p])},r=function a(b,c,d){var e;if(!b)return n;if("string"==typeof b){var f=b.toLowerCase();o[f]&&(e=f),c&&(o[f]=c,e=f);var g=b.split("-");if(!e&&g.length>1)return a(g[0])}else{var h=b.name;o[h]=b,e=h}return!d&&e&&(n=e),e||!d&&n},s=function(a,b){if(q(a))return a.clone();var c="object"==typeof b?b:{};return c.date=a,c.args=arguments,new u(c)},t={s:m,z:function(a){var b=-a.utcOffset(),c=Math.abs(b);return(b<=0?"+":"-")+m(Math.floor(c/60),2,"0")+":"+m(c%60,2,"0")},m:function a(b,c){if(b.date()<c.date())return-a(c,b);var d=12*(c.year()-b.year())+(c.month()-b.month()),e=b.clone().add(d,f),g=c-e<0,h=b.clone().add(d+(g?-1:1),f);return+(-(d+(c-e)/(g?e-h:h-e))||0)},a:function(a){return a<0?Math.ceil(a)||0:Math.floor(a)},p:function(j){return({M:f,y:h,w:e,d:"day",D:i,h:d,m:c,s:b,ms:a,Q:g})[j]||String(j||"").toLowerCase().replace(/s$/,"")},u:function(a){return void 0===a}};t.l=r,t.i=q,t.w=function(a,b){return s(a,{locale:b.$L,utc:b.$u,x:b.$x,$offset:b.$offset})};var u=function(){function m(a){this.$L=r(a.locale,null,!0),this.parse(a),this.$x=this.$x||a.x||{},this[p]=!0}var n=m.prototype;return n.parse=function(a){this.$d=function(a){var b=a.date,c=a.utc;if(null===b)return new Date(NaN);if(t.u(b))return new Date;if(b instanceof Date)return new Date(b);if("string"==typeof b&&!/Z$/i.test(b)){var d=b.match(k);if(d){var e=d[2]-1||0,f=(d[7]||"0").substring(0,3);return c?new Date(Date.UTC(d[1],e,d[3]||1,d[4]||0,d[5]||0,d[6]||0,f)):new Date(d[1],e,d[3]||1,d[4]||0,d[5]||0,d[6]||0,f)}}return new Date(b)}(a),this.init()},n.init=function(){var a=this.$d;this.$y=a.getFullYear(),this.$M=a.getMonth(),this.$D=a.getDate(),this.$W=a.getDay(),this.$H=a.getHours(),this.$m=a.getMinutes(),this.$s=a.getSeconds(),this.$ms=a.getMilliseconds()},n.$utils=function(){return t},n.isValid=function(){return this.$d.toString()!==j},n.isSame=function(a,b){var c=s(a);return this.startOf(b)<=c&&c<=this.endOf(b)},n.isAfter=function(a,b){return s(a)<this.startOf(b)},n.isBefore=function(a,b){return this.endOf(b)<s(a)},n.$g=function(a,b,c){return t.u(a)?this[b]:this.set(c,a)},n.unix=function(){return Math.floor(this.valueOf()/1e3)},n.valueOf=function(){return this.$d.getTime()},n.startOf=function(a,g){var j=this,k=!!t.u(g)||g,l=t.p(a),m=function(a,b){var c=t.w(j.$u?Date.UTC(j.$y,b,a):new Date(j.$y,b,a),j);return k?c:c.endOf("day")},n=function(a,b){return t.w(j.toDate()[a].apply(j.toDate("s"),(k?[0,0,0,0]:[23,59,59,999]).slice(b)),j)},o=this.$W,p=this.$M,q=this.$D,r="set"+(this.$u?"UTC":"");switch(l){case h:return k?m(1,0):m(31,11);case f:return k?m(1,p):m(0,p+1);case e:var s=this.$locale().weekStart||0,u=(o<s?o+7:o)-s;return m(k?q-u:q+(6-u),p);case"day":case i:return n(r+"Hours",0);case d:return n(r+"Minutes",1);case c:return n(r+"Seconds",2);case b:return n(r+"Milliseconds",3);default:return this.clone()}},n.endOf=function(a){return this.startOf(a,!1)},n.$set=function(e,g){var j,k=t.p(e),l="set"+(this.$u?"UTC":""),m=((j={}).day=l+"Date",j[i]=l+"Date",j[f]=l+"Month",j[h]=l+"FullYear",j[d]=l+"Hours",j[c]=l+"Minutes",j[b]=l+"Seconds",j[a]=l+"Milliseconds",j)[k],n="day"===k?this.$D+(g-this.$W):g;if(k===f||k===h){var o=this.clone().set(i,1);o.$d[m](n),o.init(),this.$d=o.set(i,Math.min(this.$D,o.daysInMonth())).$d}else m&&this.$d[m](n);return this.init(),this},n.set=function(a,b){return this.clone().$set(a,b)},n.get=function(a){return this[t.p(a)]()},n.add=function(a,g){var i,j=this;a=Number(a);var k=t.p(g),l=function(b){var c=s(j);return t.w(c.date(c.date()+Math.round(b*a)),j)};if(k===f)return this.set(f,this.$M+a);if(k===h)return this.set(h,this.$y+a);if("day"===k)return l(1);if(k===e)return l(7);var m=((i={})[c]=6e4,i[d]=36e5,i[b]=1e3,i)[k]||1,n=this.$d.getTime()+a*m;return t.w(n,this)},n.subtract=function(a,b){return this.add(-1*a,b)},n.format=function(a){var b=this,c=this.$locale();if(!this.isValid())return c.invalidDate||j;var d=a||"YYYY-MM-DDTHH:mm:ssZ",e=t.z(this),f=this.$H,g=this.$m,h=this.$M,i=c.weekdays,k=c.months,m=c.meridiem,n=function(a,c,e,f){return a&&(a[c]||a(b,d))||e[c].slice(0,f)},o=function(a){return t.s(f%12||12,a,"0")},p=m||function(a,b,c){var d=a<12?"AM":"PM";return c?d.toLowerCase():d};return d.replace(l,function(a,d){return d||function(a){switch(a){case"YY":return String(b.$y).slice(-2);case"YYYY":return t.s(b.$y,4,"0");case"M":return h+1;case"MM":return t.s(h+1,2,"0");case"MMM":return n(c.monthsShort,h,k,3);case"MMMM":return n(k,h);case"D":return b.$D;case"DD":return t.s(b.$D,2,"0");case"d":return String(b.$W);case"dd":return n(c.weekdaysMin,b.$W,i,2);case"ddd":return n(c.weekdaysShort,b.$W,i,3);case"dddd":return i[b.$W];case"H":return String(f);case"HH":return t.s(f,2,"0");case"h":return o(1);case"hh":return o(2);case"a":return p(f,g,!0);case"A":return p(f,g,!1);case"m":return String(g);case"mm":return t.s(g,2,"0");case"s":return String(b.$s);case"ss":return t.s(b.$s,2,"0");case"SSS":return t.s(b.$ms,3,"0");case"Z":return e}return null}(a)||e.replace(":","")})},n.utcOffset=function(){return-(15*Math.round(this.$d.getTimezoneOffset()/15))},n.diff=function(a,i,j){var k,l=this,m=t.p(i),n=s(a),o=(n.utcOffset()-this.utcOffset())*6e4,p=this-n,q=function(){return t.m(l,n)};switch(m){case h:k=q()/12;break;case f:k=q();break;case g:k=q()/3;break;case e:k=(p-o)/6048e5;break;case"day":k=(p-o)/864e5;break;case d:k=p/36e5;break;case c:k=p/6e4;break;case b:k=p/1e3;break;default:k=p}return j?k:t.a(k)},n.daysInMonth=function(){return this.endOf(f).$D},n.$locale=function(){return o[this.$L]},n.locale=function(a,b){if(!a)return this.$L;var c=this.clone(),d=r(a,b,!0);return d&&(c.$L=d),c},n.clone=function(){return t.w(this.$d,this)},n.toDate=function(){return new Date(this.valueOf())},n.toJSON=function(){return this.isValid()?this.toISOString():null},n.toISOString=function(){return this.$d.toISOString()},n.toString=function(){return this.$d.toUTCString()},m}(),v=u.prototype;return s.prototype=v,[["$ms",a],["$s",b],["$m",c],["$H",d],["$W","day"],["$M",f],["$y",h],["$D",i]].forEach(function(a){v[a[1]]=function(b){return this.$g(b,a[0],a[1])}}),s.extend=function(a,b){return a.$i||(a(b,u,s),a.$i=!0),s},s.locale=r,s.isDayjs=q,s.unix=function(a){return s(1e3*a)},s.en=o[n],s.Ls=o,s.p={},s}()},79121,(a,b,c)=>{a.e,b.exports=function(a,b,c){a=a||{};var d=b.prototype,e={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 f(a,b,c,e){return d.fromToBase(a,b,c,e)}c.en.relativeTime=e,d.fromToBase=function(b,d,f,g,h){for(var i,j,k,l=f.$locale().relativeTime||e,m=a.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"}],n=m.length,o=0;o<n;o+=1){var p=m[o];p.d&&(i=g?c(b).diff(f,p.d,!0):f.diff(b,p.d,!0));var q=(a.rounding||Math.round)(Math.abs(i));if(k=i>0,q<=p.r||!p.r){q<=1&&o>0&&(p=m[o-1]);var r=l[p.l];h&&(q=h(""+q)),j="string"==typeof r?r.replace("%d",q):r(q,d,p.l,k);break}}if(d)return j;var s=k?l.future:l.past;return"function"==typeof s?s(j):s.replace("%s",j)},d.to=function(a,b){return f(a,b,this,!0)},d.from=function(a,b){return f(a,b,this)};var g=function(a){return a.$u?c.utc():c()};d.toNow=function(a){return this.to(g(this),a)},d.fromNow=function(a){return this.from(g(this),a)}}}];
2
+
3
+ //# sourceMappingURL=node_modules__pnpm_af9d3830._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[750,a=>{"use strict";a.s([])}];
2
+
3
+ //# sourceMappingURL=packages_ui__next-internal_server_app_projects_%5BprojectId%5D_page_actions_f2986585.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[94961,a=>{"use strict";a.s([])}];
2
+
3
+ //# sourceMappingURL=packages_ui__next-internal_server_app_projects_page_actions_715940ea.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[30979,a=>{"use strict";let b=(0,a.i(45804).registerClientReference)(function(){throw Error("Attempted to call ProjectContextSyncer() from the server but ProjectContextSyncer is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/packages/ui/src/app/projects/[projectId]/project-context-syncer.tsx <module evaluation>","ProjectContextSyncer");a.s(["ProjectContextSyncer",0,b])},71526,a=>{"use strict";let b=(0,a.i(45804).registerClientReference)(function(){throw Error("Attempted to call ProjectContextSyncer() from the server but ProjectContextSyncer is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/packages/ui/src/app/projects/[projectId]/project-context-syncer.tsx","ProjectContextSyncer");a.s(["ProjectContextSyncer",0,b])},19897,a=>{"use strict";a.i(30979);var b=a.i(71526);a.n(b)},52634,a=>{"use strict";var b=a.i(37843),c=a.i(19897);async function d({children:a,params:d}){let{projectId:e}=await d;return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(c.ProjectContextSyncer,{projectId:e}),a]})}a.s(["default",()=>d])}];
2
+
3
+ //# sourceMappingURL=packages_ui_src_app_projects_%5BprojectId%5D_be242d6c._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[98436,a=>{"use strict";var b=a.i(36883),c=a.i(72245);function d({projectId:a}){let{switchProject:d,currentProject:e}=(0,c.useProject)();return(0,b.useEffect)(()=>{a&&(!e||e.id!==a)&&d(a).catch(console.error)},[a,e,d]),null}a.s(["ProjectContextSyncer",()=>d])}];
2
+
3
+ //# sourceMappingURL=packages_ui_src_app_projects_%5BprojectId%5D_project-context-syncer_tsx_7954ea3b._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[31428,a=>{"use strict";var b=a.i(40352),c=a.i(36883),d=a.i(79220),e=a.i(93090),f=a.i(66497),g=a.i(8920),h=a.i(63535);let i=(0,h.default)("ellipsis-vertical",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"12",cy:"5",r:"1",key:"gxeob9"}],["circle",{cx:"12",cy:"19",r:"1",key:"lyex9k"}]]),j=(0,h.default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);var k=a.i(72245),l=a.i(27725),m=a.i(6334),n=a.i(80096),o=a.i(59653),p=a.i(17988),q=a.i(63375),r=a.i(17449),s=a.i(75655),t=a.i(66965),u=a.i(53484),v=a.i(83644),w=a.i(41857),x=a.i(84228),y=a.i(99700),z=a.i(72311),A=a.i(7547),B=a.i(44329),C=a.i(44293),D="rovingFocusGroup.onEntryFocus",E={bubbles:!1,cancelable:!0},F="RovingFocusGroup",[G,H,I]=(0,t.createCollection)(F),[J,K]=(0,q.createContextScope)(F,[I]),[L,M]=J(F),N=c.forwardRef((a,c)=>(0,b.jsx)(G.Provider,{scope:a.__scopeRovingFocusGroup,children:(0,b.jsx)(G.Slot,{scope:a.__scopeRovingFocusGroup,children:(0,b.jsx)(O,{...a,ref:c})})}));N.displayName=F;var O=c.forwardRef((a,d)=>{let{__scopeRovingFocusGroup:e,orientation:f,loop:g=!1,dir:h,currentTabStopId:i,defaultCurrentTabStopId:j,onCurrentTabStopIdChange:k,onEntryFocus:l,preventScrollOnEntryFocus:m=!1,...n}=a,q=c.useRef(null),t=(0,p.useComposedRefs)(d,q),v=(0,u.useDirection)(h),[w,x]=(0,r.useControllableState)({prop:i,defaultProp:j??null,onChange:k,caller:F}),[y,z]=c.useState(!1),A=(0,C.useCallbackRef)(l),B=H(e),G=c.useRef(!1),[I,J]=c.useState(0);return c.useEffect(()=>{let a=q.current;if(a)return a.addEventListener(D,A),()=>a.removeEventListener(D,A)},[A]),(0,b.jsx)(L,{scope:e,orientation:f,dir:v,loop:g,currentTabStopId:w,onItemFocus:c.useCallback(a=>x(a),[x]),onItemShiftTab:c.useCallback(()=>z(!0),[]),onFocusableItemAdd:c.useCallback(()=>J(a=>a+1),[]),onFocusableItemRemove:c.useCallback(()=>J(a=>a-1),[]),children:(0,b.jsx)(s.Primitive.div,{tabIndex:y||0===I?-1:0,"data-orientation":f,...n,ref:t,style:{outline:"none",...a.style},onMouseDown:(0,o.composeEventHandlers)(a.onMouseDown,()=>{G.current=!0}),onFocus:(0,o.composeEventHandlers)(a.onFocus,a=>{let b=!G.current;if(a.target===a.currentTarget&&b&&!y){let b=new CustomEvent(D,E);if(a.currentTarget.dispatchEvent(b),!b.defaultPrevented){let a=B().filter(a=>a.focusable);S([a.find(a=>a.active),a.find(a=>a.id===w),...a].filter(Boolean).map(a=>a.ref.current),m)}}G.current=!1}),onBlur:(0,o.composeEventHandlers)(a.onBlur,()=>z(!1))})})}),P="RovingFocusGroupItem",Q=c.forwardRef((a,d)=>{let{__scopeRovingFocusGroup:e,focusable:f=!0,active:g=!1,tabStopId:h,children:i,...j}=a,k=(0,y.useId)(),l=h||k,m=M(P,e),n=m.currentTabStopId===l,p=H(e),{onFocusableItemAdd:q,onFocusableItemRemove:r,currentTabStopId:t}=m;return c.useEffect(()=>{if(f)return q(),()=>r()},[f,q,r]),(0,b.jsx)(G.ItemSlot,{scope:e,id:l,focusable:f,active:g,children:(0,b.jsx)(s.Primitive.span,{tabIndex:n?0:-1,"data-orientation":m.orientation,...j,ref:d,onMouseDown:(0,o.composeEventHandlers)(a.onMouseDown,a=>{f?m.onItemFocus(l):a.preventDefault()}),onFocus:(0,o.composeEventHandlers)(a.onFocus,()=>m.onItemFocus(l)),onKeyDown:(0,o.composeEventHandlers)(a.onKeyDown,a=>{if("Tab"===a.key&&a.shiftKey)return void m.onItemShiftTab();if(a.target!==a.currentTarget)return;let b=function(a,b,c){var d;let e=(d=a.key,"rtl"!==c?d:"ArrowLeft"===d?"ArrowRight":"ArrowRight"===d?"ArrowLeft":d);if(!("vertical"===b&&["ArrowLeft","ArrowRight"].includes(e))&&!("horizontal"===b&&["ArrowUp","ArrowDown"].includes(e)))return R[e]}(a,m.orientation,m.dir);if(void 0!==b){if(a.metaKey||a.ctrlKey||a.altKey||a.shiftKey)return;a.preventDefault();let e=p().filter(a=>a.focusable).map(a=>a.ref.current);if("last"===b)e.reverse();else if("prev"===b||"next"===b){var c,d;"prev"===b&&e.reverse();let f=e.indexOf(a.currentTarget);e=m.loop?(c=e,d=f+1,c.map((a,b)=>c[(d+b)%c.length])):e.slice(f+1)}setTimeout(()=>S(e))}}),children:"function"==typeof i?i({isCurrentTabStop:n,hasTabStop:null!=t}):i})})});Q.displayName=P;var R={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function S(a,b=!1){let c=document.activeElement;for(let d of a)if(d===c||(d.focus({preventScroll:b}),document.activeElement!==c))return}var T=a.i(78357),U=a.i(16164),V=a.i(51867),W=["Enter"," "],X=["ArrowUp","PageDown","End"],Y=["ArrowDown","PageUp","Home",...X],Z={ltr:[...W,"ArrowRight"],rtl:[...W,"ArrowLeft"]},$={ltr:["ArrowLeft"],rtl:["ArrowRight"]},_="Menu",[aa,ab,ac]=(0,t.createCollection)(_),[ad,ae]=(0,q.createContextScope)(_,[ac,z.createPopperScope,K]),af=(0,z.createPopperScope)(),ag=K(),[ah,ai]=ad(_),[aj,ak]=ad(_),al=a=>{let{__scopeMenu:d,open:e=!1,children:f,dir:g,onOpenChange:h,modal:i=!0}=a,j=af(d),[k,l]=c.useState(null),m=c.useRef(!1),n=(0,C.useCallbackRef)(h),o=(0,u.useDirection)(g);return c.useEffect(()=>{let a=()=>{m.current=!0,document.addEventListener("pointerdown",b,{capture:!0,once:!0}),document.addEventListener("pointermove",b,{capture:!0,once:!0})},b=()=>m.current=!1;return document.addEventListener("keydown",a,{capture:!0}),()=>{document.removeEventListener("keydown",a,{capture:!0}),document.removeEventListener("pointerdown",b,{capture:!0}),document.removeEventListener("pointermove",b,{capture:!0})}},[]),(0,b.jsx)(z.Root,{...j,children:(0,b.jsx)(ah,{scope:d,open:e,onOpenChange:n,content:k,onContentChange:l,children:(0,b.jsx)(aj,{scope:d,onClose:c.useCallback(()=>n(!1),[n]),isUsingKeyboardRef:m,dir:o,modal:i,children:f})})})};al.displayName=_;var am=c.forwardRef((a,c)=>{let{__scopeMenu:d,...e}=a,f=af(d);return(0,b.jsx)(z.Anchor,{...f,...e,ref:c})});am.displayName="MenuAnchor";var an="MenuPortal",[ao,ap]=ad(an,{forceMount:void 0}),aq=a=>{let{__scopeMenu:c,forceMount:d,children:e,container:f}=a,g=ai(an,c);return(0,b.jsx)(ao,{scope:c,forceMount:d,children:(0,b.jsx)(B.Presence,{present:d||g.open,children:(0,b.jsx)(A.Portal,{asChild:!0,container:f,children:e})})})};aq.displayName=an;var ar="MenuContent",[as,at]=ad(ar),au=c.forwardRef((a,c)=>{let d=ap(ar,a.__scopeMenu),{forceMount:e=d.forceMount,...f}=a,g=ai(ar,a.__scopeMenu),h=ak(ar,a.__scopeMenu);return(0,b.jsx)(aa.Provider,{scope:a.__scopeMenu,children:(0,b.jsx)(B.Presence,{present:e||g.open,children:(0,b.jsx)(aa.Slot,{scope:a.__scopeMenu,children:h.modal?(0,b.jsx)(av,{...f,ref:c}):(0,b.jsx)(aw,{...f,ref:c})})})})}),av=c.forwardRef((a,d)=>{let e=ai(ar,a.__scopeMenu),f=c.useRef(null),g=(0,p.useComposedRefs)(d,f);return c.useEffect(()=>{let a=f.current;if(a)return(0,U.hideOthers)(a)},[]),(0,b.jsx)(ay,{...a,ref:g,trapFocus:e.open,disableOutsidePointerEvents:e.open,disableOutsideScroll:!0,onFocusOutside:(0,o.composeEventHandlers)(a.onFocusOutside,a=>a.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>e.onOpenChange(!1)})}),aw=c.forwardRef((a,c)=>{let d=ai(ar,a.__scopeMenu);return(0,b.jsx)(ay,{...a,ref:c,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>d.onOpenChange(!1)})}),ax=(0,T.createSlot)("MenuContent.ScrollLock"),ay=c.forwardRef((a,d)=>{let{__scopeMenu:e,loop:f=!1,trapFocus:g,onOpenAutoFocus:h,onCloseAutoFocus:i,disableOutsidePointerEvents:j,onEntryFocus:k,onEscapeKeyDown:l,onPointerDownOutside:m,onFocusOutside:n,onInteractOutside:q,onDismiss:r,disableOutsideScroll:s,...t}=a,u=ai(ar,e),y=ak(ar,e),A=af(e),B=ag(e),C=ab(e),[D,E]=c.useState(null),F=c.useRef(null),G=(0,p.useComposedRefs)(d,F,u.onContentChange),H=c.useRef(0),I=c.useRef(""),J=c.useRef(0),K=c.useRef(null),L=c.useRef("right"),M=c.useRef(0),O=s?V.RemoveScroll:c.Fragment;c.useEffect(()=>()=>window.clearTimeout(H.current),[]),(0,w.useFocusGuards)();let P=c.useCallback(a=>{var b,c;return L.current===K.current?.side&&(b=a,!!(c=K.current?.area)&&function(a,b){let{x:c,y:d}=a,e=!1;for(let a=0,f=b.length-1;a<b.length;f=a++){let g=b[a],h=b[f],i=g.x,j=g.y,k=h.x,l=h.y;j>d!=l>d&&c<(k-i)*(d-j)/(l-j)+i&&(e=!e)}return e}({x:b.clientX,y:b.clientY},c))},[]);return(0,b.jsx)(as,{scope:e,searchRef:I,onItemEnter:c.useCallback(a=>{P(a)&&a.preventDefault()},[P]),onItemLeave:c.useCallback(a=>{P(a)||(F.current?.focus(),E(null))},[P]),onTriggerLeave:c.useCallback(a=>{P(a)&&a.preventDefault()},[P]),pointerGraceTimerRef:J,onPointerGraceIntentChange:c.useCallback(a=>{K.current=a},[]),children:(0,b.jsx)(O,{...s?{as:ax,allowPinchZoom:!0}:void 0,children:(0,b.jsx)(x.FocusScope,{asChild:!0,trapped:g,onMountAutoFocus:(0,o.composeEventHandlers)(h,a=>{a.preventDefault(),F.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:i,children:(0,b.jsx)(v.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:j,onEscapeKeyDown:l,onPointerDownOutside:m,onFocusOutside:n,onInteractOutside:q,onDismiss:r,children:(0,b.jsx)(N,{asChild:!0,...B,dir:y.dir,orientation:"vertical",loop:f,currentTabStopId:D,onCurrentTabStopIdChange:E,onEntryFocus:(0,o.composeEventHandlers)(k,a=>{y.isUsingKeyboardRef.current||a.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,b.jsx)(z.Content,{role:"menu","aria-orientation":"vertical","data-state":aY(u.open),"data-radix-menu-content":"",dir:y.dir,...A,...t,ref:G,style:{outline:"none",...t.style},onKeyDown:(0,o.composeEventHandlers)(t.onKeyDown,a=>{let b=a.target.closest("[data-radix-menu-content]")===a.currentTarget,c=a.ctrlKey||a.altKey||a.metaKey,d=1===a.key.length;if(b){var e;let b,f,g,h,i,j;"Tab"===a.key&&a.preventDefault(),!c&&d&&(e=a.key,b=I.current+e,f=C().filter(a=>!a.disabled),g=document.activeElement,h=f.find(a=>a.ref.current===g)?.textValue,i=function(a,b,c){var d;let e=b.length>1&&Array.from(b).every(a=>a===b[0])?b[0]:b,f=c?a.indexOf(c):-1,g=(d=Math.max(f,0),a.map((b,c)=>a[(d+c)%a.length]));1===e.length&&(g=g.filter(a=>a!==c));let h=g.find(a=>a.toLowerCase().startsWith(e.toLowerCase()));return h!==c?h:void 0}(f.map(a=>a.textValue),b,h),j=f.find(a=>a.textValue===i)?.ref.current,function a(b){I.current=b,window.clearTimeout(H.current),""!==b&&(H.current=window.setTimeout(()=>a(""),1e3))}(b),j&&setTimeout(()=>j.focus()))}let f=F.current;if(a.target!==f||!Y.includes(a.key))return;a.preventDefault();let g=C().filter(a=>!a.disabled).map(a=>a.ref.current);X.includes(a.key)&&g.reverse(),function(a){let b=document.activeElement;for(let c of a)if(c===b||(c.focus(),document.activeElement!==b))return}(g)}),onBlur:(0,o.composeEventHandlers)(a.onBlur,a=>{a.currentTarget.contains(a.target)||(window.clearTimeout(H.current),I.current="")}),onPointerMove:(0,o.composeEventHandlers)(a.onPointerMove,a_(a=>{let b=a.target,c=M.current!==a.clientX;a.currentTarget.contains(b)&&c&&(L.current=a.clientX>M.current?"right":"left",M.current=a.clientX)}))})})})})})})});au.displayName=ar;var az=c.forwardRef((a,c)=>{let{__scopeMenu:d,...e}=a;return(0,b.jsx)(s.Primitive.div,{role:"group",...e,ref:c})});az.displayName="MenuGroup";var aA=c.forwardRef((a,c)=>{let{__scopeMenu:d,...e}=a;return(0,b.jsx)(s.Primitive.div,{...e,ref:c})});aA.displayName="MenuLabel";var aB="MenuItem",aC="menu.itemSelect",aD=c.forwardRef((a,d)=>{let{disabled:e=!1,onSelect:f,...g}=a,h=c.useRef(null),i=ak(aB,a.__scopeMenu),j=at(aB,a.__scopeMenu),k=(0,p.useComposedRefs)(d,h),l=c.useRef(!1);return(0,b.jsx)(aE,{...g,ref:k,disabled:e,onClick:(0,o.composeEventHandlers)(a.onClick,()=>{let a=h.current;if(!e&&a){let b=new CustomEvent(aC,{bubbles:!0,cancelable:!0});a.addEventListener(aC,a=>f?.(a),{once:!0}),(0,s.dispatchDiscreteCustomEvent)(a,b),b.defaultPrevented?l.current=!1:i.onClose()}}),onPointerDown:b=>{a.onPointerDown?.(b),l.current=!0},onPointerUp:(0,o.composeEventHandlers)(a.onPointerUp,a=>{l.current||a.currentTarget?.click()}),onKeyDown:(0,o.composeEventHandlers)(a.onKeyDown,a=>{let b=""!==j.searchRef.current;e||b&&" "===a.key||W.includes(a.key)&&(a.currentTarget.click(),a.preventDefault())})})});aD.displayName=aB;var aE=c.forwardRef((a,d)=>{let{__scopeMenu:e,disabled:f=!1,textValue:g,...h}=a,i=at(aB,e),j=ag(e),k=c.useRef(null),l=(0,p.useComposedRefs)(d,k),[m,n]=c.useState(!1),[q,r]=c.useState("");return c.useEffect(()=>{let a=k.current;a&&r((a.textContent??"").trim())},[h.children]),(0,b.jsx)(aa.ItemSlot,{scope:e,disabled:f,textValue:g??q,children:(0,b.jsx)(Q,{asChild:!0,...j,focusable:!f,children:(0,b.jsx)(s.Primitive.div,{role:"menuitem","data-highlighted":m?"":void 0,"aria-disabled":f||void 0,"data-disabled":f?"":void 0,...h,ref:l,onPointerMove:(0,o.composeEventHandlers)(a.onPointerMove,a_(a=>{f?i.onItemLeave(a):(i.onItemEnter(a),a.defaultPrevented||a.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:(0,o.composeEventHandlers)(a.onPointerLeave,a_(a=>i.onItemLeave(a))),onFocus:(0,o.composeEventHandlers)(a.onFocus,()=>n(!0)),onBlur:(0,o.composeEventHandlers)(a.onBlur,()=>n(!1))})})})}),aF=c.forwardRef((a,c)=>{let{checked:d=!1,onCheckedChange:e,...f}=a;return(0,b.jsx)(aN,{scope:a.__scopeMenu,checked:d,children:(0,b.jsx)(aD,{role:"menuitemcheckbox","aria-checked":aZ(d)?"mixed":d,...f,ref:c,"data-state":a$(d),onSelect:(0,o.composeEventHandlers)(f.onSelect,()=>e?.(!!aZ(d)||!d),{checkForDefaultPrevented:!1})})})});aF.displayName="MenuCheckboxItem";var aG="MenuRadioGroup",[aH,aI]=ad(aG,{value:void 0,onValueChange:()=>{}}),aJ=c.forwardRef((a,c)=>{let{value:d,onValueChange:e,...f}=a,g=(0,C.useCallbackRef)(e);return(0,b.jsx)(aH,{scope:a.__scopeMenu,value:d,onValueChange:g,children:(0,b.jsx)(az,{...f,ref:c})})});aJ.displayName=aG;var aK="MenuRadioItem",aL=c.forwardRef((a,c)=>{let{value:d,...e}=a,f=aI(aK,a.__scopeMenu),g=d===f.value;return(0,b.jsx)(aN,{scope:a.__scopeMenu,checked:g,children:(0,b.jsx)(aD,{role:"menuitemradio","aria-checked":g,...e,ref:c,"data-state":a$(g),onSelect:(0,o.composeEventHandlers)(e.onSelect,()=>f.onValueChange?.(d),{checkForDefaultPrevented:!1})})})});aL.displayName=aK;var aM="MenuItemIndicator",[aN,aO]=ad(aM,{checked:!1}),aP=c.forwardRef((a,c)=>{let{__scopeMenu:d,forceMount:e,...f}=a,g=aO(aM,d);return(0,b.jsx)(B.Presence,{present:e||aZ(g.checked)||!0===g.checked,children:(0,b.jsx)(s.Primitive.span,{...f,ref:c,"data-state":a$(g.checked)})})});aP.displayName=aM;var aQ=c.forwardRef((a,c)=>{let{__scopeMenu:d,...e}=a;return(0,b.jsx)(s.Primitive.div,{role:"separator","aria-orientation":"horizontal",...e,ref:c})});aQ.displayName="MenuSeparator";var aR=c.forwardRef((a,c)=>{let{__scopeMenu:d,...e}=a,f=af(d);return(0,b.jsx)(z.Arrow,{...f,...e,ref:c})});aR.displayName="MenuArrow";var[aS,aT]=ad("MenuSub"),aU="MenuSubTrigger",aV=c.forwardRef((a,d)=>{let e=ai(aU,a.__scopeMenu),f=ak(aU,a.__scopeMenu),g=aT(aU,a.__scopeMenu),h=at(aU,a.__scopeMenu),i=c.useRef(null),{pointerGraceTimerRef:j,onPointerGraceIntentChange:k}=h,l={__scopeMenu:a.__scopeMenu},m=c.useCallback(()=>{i.current&&window.clearTimeout(i.current),i.current=null},[]);return c.useEffect(()=>m,[m]),c.useEffect(()=>{let a=j.current;return()=>{window.clearTimeout(a),k(null)}},[j,k]),(0,b.jsx)(am,{asChild:!0,...l,children:(0,b.jsx)(aE,{id:g.triggerId,"aria-haspopup":"menu","aria-expanded":e.open,"aria-controls":g.contentId,"data-state":aY(e.open),...a,ref:(0,p.composeRefs)(d,g.onTriggerChange),onClick:b=>{a.onClick?.(b),a.disabled||b.defaultPrevented||(b.currentTarget.focus(),e.open||e.onOpenChange(!0))},onPointerMove:(0,o.composeEventHandlers)(a.onPointerMove,a_(b=>{h.onItemEnter(b),!b.defaultPrevented&&(a.disabled||e.open||i.current||(h.onPointerGraceIntentChange(null),i.current=window.setTimeout(()=>{e.onOpenChange(!0),m()},100)))})),onPointerLeave:(0,o.composeEventHandlers)(a.onPointerLeave,a_(a=>{m();let b=e.content?.getBoundingClientRect();if(b){let c=e.content?.dataset.side,d="right"===c,f=b[d?"left":"right"],g=b[d?"right":"left"];h.onPointerGraceIntentChange({area:[{x:a.clientX+(d?-5:5),y:a.clientY},{x:f,y:b.top},{x:g,y:b.top},{x:g,y:b.bottom},{x:f,y:b.bottom}],side:c}),window.clearTimeout(j.current),j.current=window.setTimeout(()=>h.onPointerGraceIntentChange(null),300)}else{if(h.onTriggerLeave(a),a.defaultPrevented)return;h.onPointerGraceIntentChange(null)}})),onKeyDown:(0,o.composeEventHandlers)(a.onKeyDown,b=>{let c=""!==h.searchRef.current;a.disabled||c&&" "===b.key||Z[f.dir].includes(b.key)&&(e.onOpenChange(!0),e.content?.focus(),b.preventDefault())})})})});aV.displayName=aU;var aW="MenuSubContent",aX=c.forwardRef((a,d)=>{let e=ap(ar,a.__scopeMenu),{forceMount:f=e.forceMount,...g}=a,h=ai(ar,a.__scopeMenu),i=ak(ar,a.__scopeMenu),j=aT(aW,a.__scopeMenu),k=c.useRef(null),l=(0,p.useComposedRefs)(d,k);return(0,b.jsx)(aa.Provider,{scope:a.__scopeMenu,children:(0,b.jsx)(B.Presence,{present:f||h.open,children:(0,b.jsx)(aa.Slot,{scope:a.__scopeMenu,children:(0,b.jsx)(ay,{id:j.contentId,"aria-labelledby":j.triggerId,...g,ref:l,align:"start",side:"rtl"===i.dir?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:a=>{i.isUsingKeyboardRef.current&&k.current?.focus(),a.preventDefault()},onCloseAutoFocus:a=>a.preventDefault(),onFocusOutside:(0,o.composeEventHandlers)(a.onFocusOutside,a=>{a.target!==j.trigger&&h.onOpenChange(!1)}),onEscapeKeyDown:(0,o.composeEventHandlers)(a.onEscapeKeyDown,a=>{i.onClose(),a.preventDefault()}),onKeyDown:(0,o.composeEventHandlers)(a.onKeyDown,a=>{let b=a.currentTarget.contains(a.target),c=$[i.dir].includes(a.key);b&&c&&(h.onOpenChange(!1),j.trigger?.focus(),a.preventDefault())})})})})})});function aY(a){return a?"open":"closed"}function aZ(a){return"indeterminate"===a}function a$(a){return aZ(a)?"indeterminate":a?"checked":"unchecked"}function a_(a){return b=>"mouse"===b.pointerType?a(b):void 0}aX.displayName=aW;var a0="DropdownMenu",[a1,a2]=(0,q.createContextScope)(a0,[ae]),a3=ae(),[a4,a5]=a1(a0),a6=a=>{let{__scopeDropdownMenu:d,children:e,dir:f,open:g,defaultOpen:h,onOpenChange:i,modal:j=!0}=a,k=a3(d),l=c.useRef(null),[m,n]=(0,r.useControllableState)({prop:g,defaultProp:h??!1,onChange:i,caller:a0});return(0,b.jsx)(a4,{scope:d,triggerId:(0,y.useId)(),triggerRef:l,contentId:(0,y.useId)(),open:m,onOpenChange:n,onOpenToggle:c.useCallback(()=>n(a=>!a),[n]),modal:j,children:(0,b.jsx)(al,{...k,open:m,onOpenChange:n,dir:f,modal:j,children:e})})};a6.displayName=a0;var a7="DropdownMenuTrigger",a8=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,disabled:e=!1,...f}=a,g=a5(a7,d),h=a3(d);return(0,b.jsx)(am,{asChild:!0,...h,children:(0,b.jsx)(s.Primitive.button,{type:"button",id:g.triggerId,"aria-haspopup":"menu","aria-expanded":g.open,"aria-controls":g.open?g.contentId:void 0,"data-state":g.open?"open":"closed","data-disabled":e?"":void 0,disabled:e,...f,ref:(0,p.composeRefs)(c,g.triggerRef),onPointerDown:(0,o.composeEventHandlers)(a.onPointerDown,a=>{!e&&0===a.button&&!1===a.ctrlKey&&(g.onOpenToggle(),g.open||a.preventDefault())}),onKeyDown:(0,o.composeEventHandlers)(a.onKeyDown,a=>{!e&&(["Enter"," "].includes(a.key)&&g.onOpenToggle(),"ArrowDown"===a.key&&g.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(a.key)&&a.preventDefault())})})})});a8.displayName=a7;var a9=a=>{let{__scopeDropdownMenu:c,...d}=a,e=a3(c);return(0,b.jsx)(aq,{...e,...d})};a9.displayName="DropdownMenuPortal";var ba="DropdownMenuContent",bb=c.forwardRef((a,d)=>{let{__scopeDropdownMenu:e,...f}=a,g=a5(ba,e),h=a3(e),i=c.useRef(!1);return(0,b.jsx)(au,{id:g.contentId,"aria-labelledby":g.triggerId,...h,...f,ref:d,onCloseAutoFocus:(0,o.composeEventHandlers)(a.onCloseAutoFocus,a=>{i.current||g.triggerRef.current?.focus(),i.current=!1,a.preventDefault()}),onInteractOutside:(0,o.composeEventHandlers)(a.onInteractOutside,a=>{let b=a.detail.originalEvent,c=0===b.button&&!0===b.ctrlKey,d=2===b.button||c;(!g.modal||d)&&(i.current=!0)}),style:{...a.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});bb.displayName=ba,c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=a3(d);return(0,b.jsx)(az,{...f,...e,ref:c})}).displayName="DropdownMenuGroup";var bc=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=a3(d);return(0,b.jsx)(aA,{...f,...e,ref:c})});bc.displayName="DropdownMenuLabel";var bd=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=a3(d);return(0,b.jsx)(aD,{...f,...e,ref:c})});bd.displayName="DropdownMenuItem";var be=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=a3(d);return(0,b.jsx)(aF,{...f,...e,ref:c})});be.displayName="DropdownMenuCheckboxItem",c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=a3(d);return(0,b.jsx)(aJ,{...f,...e,ref:c})}).displayName="DropdownMenuRadioGroup";var bf=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=a3(d);return(0,b.jsx)(aL,{...f,...e,ref:c})});bf.displayName="DropdownMenuRadioItem";var bg=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=a3(d);return(0,b.jsx)(aP,{...f,...e,ref:c})});bg.displayName="DropdownMenuItemIndicator";var bh=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=a3(d);return(0,b.jsx)(aQ,{...f,...e,ref:c})});bh.displayName="DropdownMenuSeparator",c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=a3(d);return(0,b.jsx)(aR,{...f,...e,ref:c})}).displayName="DropdownMenuArrow";var bi=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=a3(d);return(0,b.jsx)(aV,{...f,...e,ref:c})});bi.displayName="DropdownMenuSubTrigger";var bj=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=a3(d);return(0,b.jsx)(aX,{...f,...e,ref:c,style:{...a.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});bj.displayName="DropdownMenuSubContent";var bk=a.i(70485),bl=a.i(41270),bm=a.i(32418),bn=a.i(87052);c.forwardRef(({className:a,inset:c,children:d,...e},f)=>(0,b.jsxs)(bi,{ref:f,className:(0,bn.cn)("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent",c&&"pl-8",a),...e,children:[d,(0,b.jsx)(bl.ChevronRight,{className:"ml-auto h-4 w-4"})]})).displayName=bi.displayName,c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(bj,{ref:d,className:(0,bn.cn)("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a),...c})).displayName=bj.displayName;let bo=c.forwardRef(({className:a,sideOffset:c=4,...d},e)=>(0,b.jsx)(a9,{children:(0,b.jsx)(bb,{ref:e,sideOffset:c,className:(0,bn.cn)("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a),...d})}));bo.displayName=bb.displayName;let bp=c.forwardRef(({className:a,inset:c,...d},e)=>(0,b.jsx)(bd,{ref:e,className:(0,bn.cn)("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",c&&"pl-8",a),...d}));bp.displayName=bd.displayName,c.forwardRef(({className:a,children:c,checked:d,...e},f)=>(0,b.jsxs)(be,{ref:f,className:(0,bn.cn)("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),checked:d,...e,children:[(0,b.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,b.jsx)(bg,{children:(0,b.jsx)(bk.Check,{className:"h-4 w-4"})})}),c]})).displayName=be.displayName,c.forwardRef(({className:a,children:c,...d},e)=>(0,b.jsxs)(bf,{ref:e,className:(0,bn.cn)("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),...d,children:[(0,b.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,b.jsx)(bg,{children:(0,b.jsx)(bm.Circle,{className:"h-2 w-2 fill-current"})})}),c]})).displayName=bf.displayName,c.forwardRef(({className:a,inset:c,...d},e)=>(0,b.jsx)(bc,{ref:e,className:(0,bn.cn)("px-2 py-1.5 text-sm font-semibold",c&&"pl-8",a),...d})).displayName=bc.displayName,c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(bh,{ref:d,className:(0,bn.cn)("-mx-1 my-1 h-px bg-muted",a),...c})).displayName=bh.displayName;var bq=a.i(65791),br=a.i(35133),bs=a.i(79121);function bt(){let{projects:a,switchProject:h,toggleFavorite:o,removeProject:p}=(0,k.useProject)(),[q,r]=(0,c.useState)(""),[s,t]=(0,c.useState)(!1),u=a.filter(a=>a.name.toLowerCase().includes(q.toLowerCase())),v=async a=>{await h(a)};return(0,b.jsxs)("div",{className:"container max-w-5xl py-8 space-y-8",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-3xl font-bold tracking-tight",children:"Projects"}),(0,b.jsx)("p",{className:"text-muted-foreground mt-2",children:"Manage your LeanSpec projects and workspaces."})]}),(0,b.jsxs)(l.Button,{onClick:()=>t(!0),children:[(0,b.jsx)(d.Plus,{className:"mr-2 h-4 w-4"}),"Add Project"]})]}),(0,b.jsx)("div",{className:"flex items-center space-x-2",children:(0,b.jsxs)("div",{className:"relative flex-1 max-w-sm",children:[(0,b.jsx)(e.Search,{className:"absolute left-2 top-2.5 h-4 w-4 text-muted-foreground"}),(0,b.jsx)(m.Input,{placeholder:"Search projects...",value:q,onChange:a=>r(a.target.value),className:"pl-8"})]})}),(0,b.jsxs)("div",{className:"grid gap-6 md:grid-cols-2 lg:grid-cols-3",children:[u.map(a=>(0,b.jsxs)(n.Card,{className:"group relative hover:border-primary/50 transition-colors",children:[(0,b.jsx)(n.CardHeader,{className:"pb-4",children:(0,b.jsxs)("div",{className:"flex items-start justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,b.jsx)("div",{className:"h-8 w-8 rounded-full flex items-center justify-center text-white text-xs font-bold",style:{backgroundColor:a.color||"#666"},children:a.name.substring(0,2).toUpperCase()}),(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)(n.CardTitle,{className:"text-base leading-none",children:(0,b.jsx)("button",{onClick:()=>v(a.id),className:"hover:underline focus:outline-none",children:a.name})}),(0,b.jsx)(n.CardDescription,{className:"text-xs truncate max-w-[150px]",children:a.path})]})]}),(0,b.jsxs)(a6,{children:[(0,b.jsx)(a8,{asChild:!0,children:(0,b.jsxs)(l.Button,{variant:"ghost",size:"icon",className:"h-8 w-8",children:[(0,b.jsx)(i,{className:"h-4 w-4"}),(0,b.jsx)("span",{className:"sr-only",children:"Open menu"})]})}),(0,b.jsxs)(bo,{align:"end",children:[(0,b.jsxs)(bp,{onClick:()=>o(a.id),children:[(0,b.jsx)(g.Star,{className:"mr-2 h-4 w-4"}),a.favorite?"Unfavorite":"Favorite"]}),(0,b.jsxs)(bp,{className:"text-destructive",onClick:()=>p(a.id),children:[(0,b.jsx)(j,{className:"mr-2 h-4 w-4"}),"Remove"]})]})]})]})}),(0,b.jsx)(n.CardContent,{className:"pb-4",children:(0,b.jsxs)("div",{className:"flex items-center justify-between text-sm text-muted-foreground",children:[(0,b.jsxs)("div",{className:"flex items-center",children:[(0,b.jsx)(f.FolderOpen,{className:"mr-1 h-3 w-3"}),(0,b.jsx)("span",{className:"text-xs",children:"Local"})]}),a.lastAccessed&&(0,b.jsxs)("span",{className:"text-xs",children:["Opened ",(0,br.default)(a.lastAccessed).fromNow()]})]})}),a.favorite&&(0,b.jsx)("div",{className:"absolute top-2 right-10 text-yellow-500",children:(0,b.jsx)(g.Star,{className:"h-4 w-4 fill-current"})})]},a.id)),0===u.length&&(0,b.jsxs)("div",{className:"col-span-full flex flex-col items-center justify-center py-12 text-center border rounded-lg border-dashed",children:[(0,b.jsx)(f.FolderOpen,{className:"h-10 w-10 text-muted-foreground mb-4"}),(0,b.jsx)("h3",{className:"text-lg font-medium",children:"No projects found"}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground mt-1 mb-4",children:q?"Try adjusting your search query.":"Get started by adding your first project."}),(0,b.jsxs)(l.Button,{onClick:()=>t(!0),children:[(0,b.jsx)(d.Plus,{className:"mr-2 h-4 w-4"}),"Add Project"]})]})]}),(0,b.jsx)(bq.CreateProjectDialog,{open:s,onOpenChange:t})]})}br.default.extend(bs.default),a.s(["default",()=>bt],31428)}];
2
+
3
+ //# sourceMappingURL=packages_ui_src_app_projects_page_tsx_6e166c8e._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[13142,a=>{"use strict";var b=a.i(40352),c=a.i(36883),d=a.i(1926),e=a.i(81612),f=a.i(80096),g=a.i(37717),h=a.i(6334),i=a.i(27725),j=a.i(15929),k=a.i(93090),l=a.i(966),m=a.i(59358),n=a.i(97557),o=a.i(62936),p=a.i(7840),q=a.i(30702),r=a.i(15268),s=a.i(15970),t=a.i(4620);let u=(0,a.i(63535).default)("minimize-2",[["path",{d:"m14 10 7-7",key:"oa77jy"}],["path",{d:"M20 10h-6V4",key:"mjg0md"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M4 14h6v6",key:"rmj7iw"}]]);var v=a.i(82479),w=a.i(22570),x=a.i(87052),y=a.i(90075);a.i(94783);var z=a.i(56916);let A={planned:{icon:n.Clock,title:"Planned",colorClass:"text-blue-600 dark:text-blue-400",bgClass:"bg-blue-50 dark:bg-blue-900/20",borderClass:"border-blue-200 dark:border-blue-800"},"in-progress":{icon:m.PlayCircle,title:"In Progress",colorClass:"text-orange-600 dark:text-orange-400",bgClass:"bg-orange-50 dark:bg-orange-900/20",borderClass:"border-orange-200 dark:border-orange-800"},complete:{icon:l.CheckCircle2,title:"Complete",colorClass:"text-green-600 dark:text-green-400",bgClass:"bg-green-50 dark:bg-green-900/20",borderClass:"border-green-200 dark:border-green-800"},archived:{icon:o.Archive,title:"Archived",colorClass:"text-gray-600 dark:text-gray-400",bgClass:"bg-gray-50 dark:bg-gray-900/20",borderClass:"border-gray-200 dark:border-gray-800"}},B=["planned","in-progress","complete","archived"];function C({initialSpecs:a}){let d=(0,e.useSearchParams)(),f=(0,e.useRouter)(),[g,l]=(0,c.useState)(a),[m,n]=(0,c.useState)({}),[o,r]=(0,c.useState)(""),[s,v]=(0,c.useState)("all"),[w,y]=(0,c.useState)("all"),[B,C]=(0,c.useState)("id-desc"),[F,G]=(0,c.useState)(!1),[H,I]=(0,c.useState)(!1),[J,K]=(0,c.useState)(()=>{let a=d.get("view");return"board"===a||"list"===a?a:"list"}),L=(0,c.useRef)(!0);(0,c.useEffect)(()=>{l(a)},[a]);let M=(0,c.useCallback)(async(a,b)=>{if(a.status===b)return;let c=a.status;n(b=>({...b,[a.id]:!0})),l(c=>c.map(c=>c.id===a.id?{...c,status:b}:c));try{let c=await fetch(`/api/specs/${encodeURIComponent(a.specName)}/status`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:b})});if(!c.ok){let a=await c.text();throw Error(a||"Failed to update spec status")}let d=a.specNumber?`#${a.specNumber}`:a.specName;z.toast.success(`Moved ${d} to ${A[b].title}`)}catch(b){console.error("Failed to update spec status",b),l(b=>b.map(b=>b.id===a.id?{...b,status:c}:b)),z.toast.error("Unable to update status. Please try again.")}finally{n(b=>{let c={...b};return delete c[a.id],c})}},[]);(0,c.useEffect)(()=>{"archived"===s&&"board"===J&&G(!0)},[s,J]),(0,c.useEffect)(()=>{if(L.current){L.current=!1;return}let a=new URLSearchParams(window.location.search);"board"===J?a.set("view","board"):a.delete("view");let b=a.toString(),c=b?`?${b}`:"";f.replace(`/specs${c}`,{scroll:!1})},[J,f]);let N=(0,c.useMemo)(()=>{let a=[...g.filter(a=>{let b=!o||a.title?.toLowerCase().includes(o.toLowerCase())||a.specName.toLowerCase().includes(o.toLowerCase())||a.tags?.some(a=>a.toLowerCase().includes(o.toLowerCase())),c="all"===s?"list"!==J||"archived"!==a.status:a.status===s,d="all"===w||a.priority===w;return b&&c&&d})];switch(B){case"id-desc":a.sort((a,b)=>(b.specNumber||0)-(a.specNumber||0));break;case"id-asc":a.sort((a,b)=>(a.specNumber||0)-(b.specNumber||0));break;case"updated-desc":a.sort((a,b)=>a.updatedAt?b.updatedAt?b.updatedAt.getTime()-a.updatedAt.getTime():-1:1);break;case"title-asc":a.sort((a,b)=>{let c=(a.title||a.specName).toLowerCase(),d=(b.title||b.specName).toLowerCase();return c.localeCompare(d)})}return a},[g,o,s,w,B,J]);return(0,b.jsx)("div",{className:"h-[calc(100vh-3.5rem)] flex flex-col overflow-hidden bg-background p-4",children:(0,b.jsxs)("div",{className:(0,x.cn)("flex flex-col h-full mx-auto transition-all duration-300",H?"w-full":"max-w-7xl w-full"),children:[(0,b.jsx)("div",{className:"flex-none mb-4",children:(0,b.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-2xl font-bold tracking-tight",children:"Specifications"}),(0,b.jsxs)("p",{className:"text-sm text-muted-foreground",children:[N.length," specs"]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 bg-muted/50 p-1 rounded-lg",children:[(0,b.jsxs)(i.Button,{variant:"list"===J?"secondary":"ghost",size:"sm",onClick:()=>K("list"),className:"h-8 px-2 lg:px-3",children:[(0,b.jsx)(q.List,{className:"h-4 w-4 lg:mr-2"}),(0,b.jsx)("span",{className:"hidden lg:inline",children:"List"})]}),(0,b.jsxs)(i.Button,{variant:"board"===J?"secondary":"ghost",size:"sm",onClick:()=>K("board"),className:"h-8 px-2 lg:px-3",children:[(0,b.jsx)(p.LayoutGrid,{className:"h-4 w-4 lg:mr-2"}),(0,b.jsx)("span",{className:"hidden lg:inline",children:"Board"})]})]}),(0,b.jsx)(i.Button,{variant:"ghost",size:"icon",onClick:()=>I(!H),className:"h-10 w-10 text-muted-foreground hover:text-foreground",title:H?"Exit wide mode":"Enter wide mode",children:H?(0,b.jsx)(u,{className:"h-4 w-4"}):(0,b.jsx)(t.Maximize2,{className:"h-4 w-4"})})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 overflow-x-auto pb-2",children:[(0,b.jsxs)("div",{className:"relative flex-1 min-w-[200px] max-w-md",children:[(0,b.jsx)(k.Search,{className:"absolute left-2.5 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),(0,b.jsx)(h.Input,{placeholder:"Search specs...",value:o,onChange:a=>r(a.target.value),className:"pl-9 h-9"})]}),(0,b.jsxs)(j.Select,{value:s,onValueChange:a=>v(a),children:[(0,b.jsx)(j.SelectTrigger,{className:"w-[140px] h-9",children:(0,b.jsx)(j.SelectValue,{placeholder:"Status"})}),(0,b.jsxs)(j.SelectContent,{children:[(0,b.jsx)(j.SelectItem,{value:"all",children:"All Status"}),(0,b.jsx)(j.SelectItem,{value:"planned",children:"Planned"}),(0,b.jsx)(j.SelectItem,{value:"in-progress",children:"In Progress"}),(0,b.jsx)(j.SelectItem,{value:"complete",children:"Complete"}),(0,b.jsx)(j.SelectItem,{value:"archived",children:"Archived"})]})]}),(0,b.jsxs)(j.Select,{value:w,onValueChange:y,children:[(0,b.jsx)(j.SelectTrigger,{className:"w-[140px] h-9",children:(0,b.jsx)(j.SelectValue,{placeholder:"Priority"})}),(0,b.jsxs)(j.SelectContent,{children:[(0,b.jsx)(j.SelectItem,{value:"all",children:"All Priority"}),(0,b.jsx)(j.SelectItem,{value:"critical",children:"Critical"}),(0,b.jsx)(j.SelectItem,{value:"high",children:"High"}),(0,b.jsx)(j.SelectItem,{value:"medium",children:"Medium"}),(0,b.jsx)(j.SelectItem,{value:"low",children:"Low"})]})]}),(0,b.jsxs)(j.Select,{value:B,onValueChange:a=>C(a),children:[(0,b.jsx)(j.SelectTrigger,{className:"w-[180px] h-9",children:(0,b.jsx)(j.SelectValue,{placeholder:"Sort by"})}),(0,b.jsxs)(j.SelectContent,{children:[(0,b.jsx)(j.SelectItem,{value:"id-desc",children:"Newest First"}),(0,b.jsx)(j.SelectItem,{value:"id-asc",children:"Oldest First"}),(0,b.jsx)(j.SelectItem,{value:"updated-desc",children:"Recently Updated"}),(0,b.jsx)(j.SelectItem,{value:"title-asc",children:"Title (A-Z)"})]})]})]})]})}),(0,b.jsx)("div",{className:(0,x.cn)("flex-1 min-h-0","board"===J?"overflow-x-auto overflow-y-hidden":"overflow-y-auto"),children:"list"===J?(0,b.jsx)("div",{className:"w-full",children:(0,b.jsx)(D,{specs:N})}):(0,b.jsx)(E,{specs:N,onStatusChange:M,pendingSpecIds:m,showArchived:F,onToggleArchived:()=>G(!F)})})]})})}function D({specs:a}){return(0,b.jsx)("div",{className:"grid grid-cols-1 gap-4 pb-8",children:a.map(a=>{let c={critical:"border-l-red-500",high:"border-l-orange-500",medium:"border-l-blue-500",low:"border-l-gray-400"}[a.priority]||"border-l-gray-300",e=a.relationships&&(a.relationships.dependsOn.length>0||a.relationships.related.length>0),h=!!(a.subSpecsCount&&a.subSpecsCount>0);return(0,b.jsxs)(f.Card,{className:(0,x.cn)("hover:shadow-lg transition-all duration-150 hover:scale-[1.01] border-l-4 cursor-pointer",c),onClick:()=>window.location.href=`/specs/${a.specNumber||a.id}`,children:[(0,b.jsx)(f.CardHeader,{className:"pb-3",children:(0,b.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsx)(d.default,{href:`/specs/${a.specNumber||a.id}`,children:(0,b.jsxs)(f.CardTitle,{className:"text-lg font-semibold hover:text-primary transition-colors flex items-center",children:[a.specNumber?(0,b.jsxs)("span",{className:"font-mono text-base font-normal text-muted-foreground mr-3",children:["#",a.specNumber.toString().padStart(3,"0")]}):null,a.title||a.specName]})}),a.title&&a.title!==a.specName&&(0,b.jsx)("p",{className:"text-xs font-mono text-muted-foreground mt-1.5 truncate",children:a.specName})]}),(0,b.jsxs)("div",{className:"flex gap-2 shrink-0",children:[a.status&&(0,b.jsx)(v.StatusBadge,{status:a.status}),a.priority&&(0,b.jsx)(w.PriorityBadge,{priority:a.priority})]})]})}),(0,b.jsxs)(f.CardContent,{className:"flex items-center justify-between gap-4 pt-0",children:[(0,b.jsx)("div",{className:"flex items-center gap-4 text-sm text-muted-foreground flex-wrap",children:a.updatedAt||h||e?(0,b.jsxs)(b.Fragment,{children:[a.updatedAt&&(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)(n.Clock,{className:"h-3.5 w-3.5"}),(0,b.jsxs)("span",{children:["Updated ",(0,y.formatRelativeTime)(a.updatedAt)]})]}),h&&(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)(r.FileText,{className:"h-3.5 w-3.5"}),(0,b.jsxs)("span",{children:["+",a.subSpecsCount," files"]})]}),e&&(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)(s.GitBranch,{className:"h-3.5 w-3.5"}),(0,b.jsxs)("span",{children:[a.relationships.dependsOn.length>0&&`${a.relationships.dependsOn.length} deps`,a.relationships.dependsOn.length>0&&a.relationships.related.length>0&&", ",a.relationships.related.length>0&&`${a.relationships.related.length} related`]})]})]}):(0,b.jsx)("span",{className:"invisible",children:"No metadata"})}),a.tags&&a.tags.length>0&&(0,b.jsx)("div",{className:"flex flex-wrap gap-2 justify-end shrink-0",children:a.tags.map(a=>(0,b.jsx)(g.Badge,{variant:"outline",className:"text-xs font-mono text-muted-foreground hover:text-foreground transition-colors",children:a},a))})]})]},a.id)})})}function E({specs:a,onStatusChange:e,pendingSpecIds:h,showArchived:i,onToggleArchived:j}){let[k,l]=(0,c.useState)(null),[m,n]=(0,c.useState)(null),o=(0,c.useMemo)(()=>B.map(b=>({status:b,config:A[b],specs:a.filter(a=>a.status===b)})),[a]),p=(0,c.useMemo)(()=>{let b=new Map;return a.forEach(a=>b.set(a.id,a)),b},[a]),q=(0,c.useCallback)((a,b)=>{b.dataTransfer.setData("text/plain",a),b.dataTransfer.effectAllowed="move",l(a)},[]),r=(0,c.useCallback)(()=>{l(null),n(null)},[]),s=(0,c.useCallback)((a,b)=>{k&&(b.preventDefault(),b.dataTransfer.dropEffect="move",n(a))},[k]),t=(0,c.useCallback)((a,b)=>{if(!k)return;let c=b.relatedTarget;c&&b.currentTarget.contains(c)||n(b=>b===a?null:b)},[k]),u=(0,c.useCallback)((a,b)=>{b.preventDefault();let c=b.dataTransfer.getData("text/plain")||k;if(!c)return void r();let d=p.get(c);d&&d.status!==a&&e(d,a),r()},[k,r,e,p]);return(0,b.jsx)("div",{className:"flex gap-6 h-full pb-2",children:o.map(a=>{let c=a.config.icon,e="archived"===a.status;return(0,b.jsxs)("div",{className:(0,x.cn)("flex flex-col h-full flex-1 min-w-[280px]",e&&!i&&"w-14 min-w-[3.5rem] flex-none flex-shrink-0"),children:[(0,b.jsx)("div",{className:(0,x.cn)("flex-none mb-4 rounded-lg border-2 bg-background transition-all",a.config.bgClass,a.config.borderClass,e?"cursor-pointer hover:opacity-80":"",e&&!i?"py-6 px-2":"p-3"),onClick:e?j:void 0,children:(0,b.jsxs)("h2",{className:(0,x.cn)("text-lg font-semibold flex items-center gap-2",a.config.colorClass,e&&!i&&"flex-col text-sm gap-3"),children:[(0,b.jsx)(c,{className:"h-5 w-5"}),e&&!i?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"vertical-text text-sm whitespace-nowrap",children:a.config.title}),(0,b.jsx)(g.Badge,{variant:"outline",className:"text-xs",children:a.specs.length})]}):(0,b.jsxs)(b.Fragment,{children:[a.config.title,(0,b.jsx)(g.Badge,{variant:"outline",className:"ml-auto",children:a.specs.length})]})]})}),(!e||i)&&(0,b.jsxs)("div",{className:(0,x.cn)("space-y-3 flex-1 rounded-xl border border-transparent p-1 transition-colors overflow-y-auto min-h-0",k&&"border-dashed border-muted-foreground/40",k&&m===a.status&&"bg-muted/40 border-primary/50"),onDragOver:b=>s(a.status,b),onDragLeave:b=>t(a.status,b),onDrop:b=>u(a.status,b),children:[a.specs.map(a=>{let c={critical:"border-l-red-500",high:"border-l-orange-500",medium:"border-l-blue-500",low:"border-l-gray-400"}[a.priority]||"border-l-gray-300",e=!!h[a.id];return(0,b.jsxs)(f.Card,{draggable:!e,onDragStart:b=>{e?b.preventDefault():q(a.id,b)},onDragEnd:r,"aria-disabled":e,className:(0,x.cn)("relative hover:shadow-lg transition-all duration-150 hover:scale-[1.02] border-l-4 cursor-pointer group flex flex-col",c,e&&"opacity-60 cursor-wait"),onClick:()=>window.location.href=`/specs/${a.specNumber||a.id}`,children:[e&&(0,b.jsx)("div",{className:"absolute inset-0 rounded-lg bg-background/80 flex items-center justify-center text-xs font-medium z-10",children:"Updating..."}),(0,b.jsxs)(f.CardHeader,{className:"p-4 pb-2 space-y-1.5",children:[(0,b.jsx)("div",{className:"flex items-center justify-between",children:(0,b.jsx)("span",{className:"font-mono text-xs text-muted-foreground/70 group-hover:text-primary/60 transition-colors",children:a.specNumber?`#${a.specNumber}`:""})}),(0,b.jsx)(d.default,{href:`/specs/${a.specNumber||a.id}`,className:"block",children:(0,b.jsx)(f.CardTitle,{className:"text-sm font-semibold leading-snug hover:text-primary transition-colors line-clamp-3",children:a.title||a.specName})})]}),(0,b.jsx)(f.CardContent,{className:"p-4 pt-2 flex-1 flex flex-col justify-end",children:(0,b.jsxs)("div",{className:"flex flex-col gap-3",children:[a.title&&a.title!==a.specName&&(0,b.jsx)("p",{className:"text-xs font-mono text-muted-foreground truncate opacity-70",children:a.specName}),(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2 pt-1",children:[a.priority?(0,b.jsx)(w.PriorityBadge,{priority:a.priority}):(0,b.jsx)("div",{}),a.tags&&a.tags.length>0&&(0,b.jsxs)("div",{className:"flex flex-wrap gap-1 justify-end",children:[a.tags.slice(0,2).map(a=>(0,b.jsx)(g.Badge,{variant:"outline",className:"text-[10px] px-1.5 h-5 font-mono text-muted-foreground/80",children:a},a)),a.tags.length>2&&(0,b.jsxs)(g.Badge,{variant:"outline",className:"text-[10px] px-1.5 h-5 font-mono text-muted-foreground/80",children:["+",a.tags.length-2]})]})]})]})})]},a.id)}),0===a.specs.length&&(0,b.jsx)(f.Card,{className:"border-dashed border-gray-300 dark:border-gray-700 bg-transparent",children:(0,b.jsxs)(f.CardContent,{className:"py-8 text-center",children:[(0,b.jsx)(c,{className:(0,x.cn)("mx-auto h-8 w-8 mb-2",a.config.colorClass,"opacity-50")}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"Drop here to move specs"})]})})]})]},a.status)})})}a.s(["SpecsClient",()=>C],13142)}];
1
+ module.exports=[13142,a=>{"use strict";var b=a.i(40352),c=a.i(36883),d=a.i(1926),e=a.i(81612),f=a.i(80096),g=a.i(37717),h=a.i(6334),i=a.i(27725),j=a.i(15929),k=a.i(93090),l=a.i(966),m=a.i(59358),n=a.i(97557),o=a.i(62936),p=a.i(7840),q=a.i(30702),r=a.i(15268),s=a.i(15970),t=a.i(4620);let u=(0,a.i(63535).default)("minimize-2",[["path",{d:"m14 10 7-7",key:"oa77jy"}],["path",{d:"M20 10h-6V4",key:"mjg0md"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M4 14h6v6",key:"rmj7iw"}]]);var v=a.i(82479),w=a.i(22570),x=a.i(87052),y=a.i(90075);a.i(94783);var z=a.i(56916);let A={planned:{icon:n.Clock,title:"Planned",colorClass:"text-blue-600 dark:text-blue-400",bgClass:"bg-blue-50 dark:bg-blue-900/20",borderClass:"border-blue-200 dark:border-blue-800"},"in-progress":{icon:m.PlayCircle,title:"In Progress",colorClass:"text-orange-600 dark:text-orange-400",bgClass:"bg-orange-50 dark:bg-orange-900/20",borderClass:"border-orange-200 dark:border-orange-800"},complete:{icon:l.CheckCircle2,title:"Complete",colorClass:"text-green-600 dark:text-green-400",bgClass:"bg-green-50 dark:bg-green-900/20",borderClass:"border-green-200 dark:border-green-800"},archived:{icon:o.Archive,title:"Archived",colorClass:"text-gray-600 dark:text-gray-400",bgClass:"bg-gray-50 dark:bg-gray-900/20",borderClass:"border-gray-200 dark:border-gray-800"}},B=["planned","in-progress","complete","archived"];function C({initialSpecs:a,projectId:d}){let f=(0,e.useSearchParams)(),g=(0,e.useRouter)(),[l,m]=(0,c.useState)(a),[n,o]=(0,c.useState)({}),[r,s]=(0,c.useState)(""),[v,w]=(0,c.useState)("all"),[y,B]=(0,c.useState)("all"),[C,F]=(0,c.useState)("id-desc"),[G,H]=(0,c.useState)(!1),[I,J]=(0,c.useState)(!1),[K,L]=(0,c.useState)(()=>{let a=f.get("view");return"board"===a||"list"===a?a:"list"}),M=(0,c.useRef)(!0);(0,c.useEffect)(()=>{m(a)},[a]);let N=(0,c.useCallback)(async(a,b)=>{if(a.status===b)return;let c=a.status;o(b=>({...b,[a.id]:!0})),m(c=>c.map(c=>c.id===a.id?{...c,status:b}:c));try{let c=d?`/api/projects/${d}/specs/${encodeURIComponent(a.specName)}/status`:`/api/specs/${encodeURIComponent(a.specName)}/status`,e=await fetch(c,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:b})});if(!e.ok){let a=await e.text();throw Error(a||"Failed to update spec status")}let f=a.specNumber?`#${a.specNumber}`:a.specName;z.toast.success(`Moved ${f} to ${A[b].title}`)}catch(b){console.error("Failed to update spec status",b),m(b=>b.map(b=>b.id===a.id?{...b,status:c}:b)),z.toast.error("Unable to update status. Please try again.")}finally{o(b=>{let c={...b};return delete c[a.id],c})}},[]);(0,c.useEffect)(()=>{"archived"===v&&"board"===K&&H(!0)},[v,K]),(0,c.useEffect)(()=>{if(M.current){M.current=!1;return}let a=new URLSearchParams(window.location.search);"board"===K?a.set("view","board"):a.delete("view");let b=a.toString(),c=b?`?${b}`:"";g.replace(`/specs${c}`,{scroll:!1})},[K,g]);let O=(0,c.useMemo)(()=>{let a=[...l.filter(a=>{let b=!r||a.title?.toLowerCase().includes(r.toLowerCase())||a.specName.toLowerCase().includes(r.toLowerCase())||a.tags?.some(a=>a.toLowerCase().includes(r.toLowerCase())),c="all"===v?"list"!==K||"archived"!==a.status:a.status===v,d="all"===y||a.priority===y;return b&&c&&d})];switch(C){case"id-desc":a.sort((a,b)=>(b.specNumber||0)-(a.specNumber||0));break;case"id-asc":a.sort((a,b)=>(a.specNumber||0)-(b.specNumber||0));break;case"updated-desc":a.sort((a,b)=>a.updatedAt?b.updatedAt?b.updatedAt.getTime()-a.updatedAt.getTime():-1:1);break;case"title-asc":a.sort((a,b)=>{let c=(a.title||a.specName).toLowerCase(),d=(b.title||b.specName).toLowerCase();return c.localeCompare(d)})}return a},[l,r,v,y,C,K]);return(0,b.jsx)("div",{className:"h-[calc(100vh-3.5rem)] flex flex-col overflow-hidden bg-background p-4",children:(0,b.jsxs)("div",{className:(0,x.cn)("flex flex-col h-full mx-auto transition-all duration-300",I?"w-full":"max-w-7xl w-full"),children:[(0,b.jsx)("div",{className:"flex-none mb-4",children:(0,b.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-2xl font-bold tracking-tight",children:"Specifications"}),(0,b.jsxs)("p",{className:"text-sm text-muted-foreground",children:[O.length," specs"]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 bg-muted/50 p-1 rounded-lg",children:[(0,b.jsxs)(i.Button,{variant:"list"===K?"secondary":"ghost",size:"sm",onClick:()=>L("list"),className:"h-8 px-2 lg:px-3",children:[(0,b.jsx)(q.List,{className:"h-4 w-4 lg:mr-2"}),(0,b.jsx)("span",{className:"hidden lg:inline",children:"List"})]}),(0,b.jsxs)(i.Button,{variant:"board"===K?"secondary":"ghost",size:"sm",onClick:()=>L("board"),className:"h-8 px-2 lg:px-3",children:[(0,b.jsx)(p.LayoutGrid,{className:"h-4 w-4 lg:mr-2"}),(0,b.jsx)("span",{className:"hidden lg:inline",children:"Board"})]})]}),(0,b.jsx)(i.Button,{variant:"ghost",size:"icon",onClick:()=>J(!I),className:"h-10 w-10 text-muted-foreground hover:text-foreground",title:I?"Exit wide mode":"Enter wide mode",children:I?(0,b.jsx)(u,{className:"h-4 w-4"}):(0,b.jsx)(t.Maximize2,{className:"h-4 w-4"})})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 overflow-x-auto pb-2",children:[(0,b.jsxs)("div",{className:"relative flex-1 min-w-[200px] max-w-md",children:[(0,b.jsx)(k.Search,{className:"absolute left-2.5 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),(0,b.jsx)(h.Input,{placeholder:"Search specs...",value:r,onChange:a=>s(a.target.value),className:"pl-9 h-9"})]}),(0,b.jsxs)(j.Select,{value:v,onValueChange:a=>w(a),children:[(0,b.jsx)(j.SelectTrigger,{className:"w-[140px] h-9",children:(0,b.jsx)(j.SelectValue,{placeholder:"Status"})}),(0,b.jsxs)(j.SelectContent,{children:[(0,b.jsx)(j.SelectItem,{value:"all",children:"All Status"}),(0,b.jsx)(j.SelectItem,{value:"planned",children:"Planned"}),(0,b.jsx)(j.SelectItem,{value:"in-progress",children:"In Progress"}),(0,b.jsx)(j.SelectItem,{value:"complete",children:"Complete"}),(0,b.jsx)(j.SelectItem,{value:"archived",children:"Archived"})]})]}),(0,b.jsxs)(j.Select,{value:y,onValueChange:B,children:[(0,b.jsx)(j.SelectTrigger,{className:"w-[140px] h-9",children:(0,b.jsx)(j.SelectValue,{placeholder:"Priority"})}),(0,b.jsxs)(j.SelectContent,{children:[(0,b.jsx)(j.SelectItem,{value:"all",children:"All Priority"}),(0,b.jsx)(j.SelectItem,{value:"critical",children:"Critical"}),(0,b.jsx)(j.SelectItem,{value:"high",children:"High"}),(0,b.jsx)(j.SelectItem,{value:"medium",children:"Medium"}),(0,b.jsx)(j.SelectItem,{value:"low",children:"Low"})]})]}),(0,b.jsxs)(j.Select,{value:C,onValueChange:a=>F(a),children:[(0,b.jsx)(j.SelectTrigger,{className:"w-[180px] h-9",children:(0,b.jsx)(j.SelectValue,{placeholder:"Sort by"})}),(0,b.jsxs)(j.SelectContent,{children:[(0,b.jsx)(j.SelectItem,{value:"id-desc",children:"Newest First"}),(0,b.jsx)(j.SelectItem,{value:"id-asc",children:"Oldest First"}),(0,b.jsx)(j.SelectItem,{value:"updated-desc",children:"Recently Updated"}),(0,b.jsx)(j.SelectItem,{value:"title-asc",children:"Title (A-Z)"})]})]})]})]})}),(0,b.jsx)("div",{className:(0,x.cn)("flex-1 min-h-0","board"===K?"overflow-x-auto overflow-y-hidden":"overflow-y-auto"),children:"list"===K?(0,b.jsx)("div",{className:"w-full",children:(0,b.jsx)(D,{specs:O})}):(0,b.jsx)(E,{specs:O,onStatusChange:N,pendingSpecIds:n,showArchived:G,onToggleArchived:()=>H(!G)})})]})})}function D({specs:a}){return(0,b.jsx)("div",{className:"grid grid-cols-1 gap-4 pb-8",children:a.map(a=>{let c={critical:"border-l-red-500",high:"border-l-orange-500",medium:"border-l-blue-500",low:"border-l-gray-400"}[a.priority]||"border-l-gray-300",e=a.relationships&&(a.relationships.dependsOn.length>0||a.relationships.related.length>0),h=!!(a.subSpecsCount&&a.subSpecsCount>0);return(0,b.jsxs)(f.Card,{className:(0,x.cn)("hover:shadow-lg transition-all duration-150 hover:scale-[1.01] border-l-4 cursor-pointer",c),onClick:()=>window.location.href=`/specs/${a.specNumber||a.id}`,children:[(0,b.jsx)(f.CardHeader,{className:"pb-3",children:(0,b.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsx)(d.default,{href:`/specs/${a.specNumber||a.id}`,children:(0,b.jsxs)(f.CardTitle,{className:"text-lg font-semibold hover:text-primary transition-colors flex items-center",children:[a.specNumber?(0,b.jsxs)("span",{className:"font-mono text-base font-normal text-muted-foreground mr-3",children:["#",a.specNumber.toString().padStart(3,"0")]}):null,a.title||a.specName]})}),a.title&&a.title!==a.specName&&(0,b.jsx)("p",{className:"text-xs font-mono text-muted-foreground mt-1.5 truncate",children:a.specName})]}),(0,b.jsxs)("div",{className:"flex gap-2 shrink-0",children:[a.status&&(0,b.jsx)(v.StatusBadge,{status:a.status}),a.priority&&(0,b.jsx)(w.PriorityBadge,{priority:a.priority})]})]})}),(0,b.jsxs)(f.CardContent,{className:"flex items-center justify-between gap-4 pt-0",children:[(0,b.jsx)("div",{className:"flex items-center gap-4 text-sm text-muted-foreground flex-wrap",children:a.updatedAt||h||e?(0,b.jsxs)(b.Fragment,{children:[a.updatedAt&&(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)(n.Clock,{className:"h-3.5 w-3.5"}),(0,b.jsxs)("span",{children:["Updated ",(0,y.formatRelativeTime)(a.updatedAt)]})]}),h&&(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)(r.FileText,{className:"h-3.5 w-3.5"}),(0,b.jsxs)("span",{children:["+",a.subSpecsCount," files"]})]}),e&&(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)(s.GitBranch,{className:"h-3.5 w-3.5"}),(0,b.jsxs)("span",{children:[a.relationships.dependsOn.length>0&&`${a.relationships.dependsOn.length} deps`,a.relationships.dependsOn.length>0&&a.relationships.related.length>0&&", ",a.relationships.related.length>0&&`${a.relationships.related.length} related`]})]})]}):(0,b.jsx)("span",{className:"invisible",children:"No metadata"})}),a.tags&&a.tags.length>0&&(0,b.jsx)("div",{className:"flex flex-wrap gap-2 justify-end shrink-0",children:a.tags.map(a=>(0,b.jsx)(g.Badge,{variant:"outline",className:"text-xs font-mono text-muted-foreground hover:text-foreground transition-colors",children:a},a))})]})]},a.id)})})}function E({specs:a,onStatusChange:e,pendingSpecIds:h,showArchived:i,onToggleArchived:j}){let[k,l]=(0,c.useState)(null),[m,n]=(0,c.useState)(null),o=(0,c.useMemo)(()=>B.map(b=>({status:b,config:A[b],specs:a.filter(a=>a.status===b)})),[a]),p=(0,c.useMemo)(()=>{let b=new Map;return a.forEach(a=>b.set(a.id,a)),b},[a]),q=(0,c.useCallback)((a,b)=>{b.dataTransfer.setData("text/plain",a),b.dataTransfer.effectAllowed="move",l(a)},[]),r=(0,c.useCallback)(()=>{l(null),n(null)},[]),s=(0,c.useCallback)((a,b)=>{k&&(b.preventDefault(),b.dataTransfer.dropEffect="move",n(a))},[k]),t=(0,c.useCallback)((a,b)=>{if(!k)return;let c=b.relatedTarget;c&&b.currentTarget.contains(c)||n(b=>b===a?null:b)},[k]),u=(0,c.useCallback)((a,b)=>{b.preventDefault();let c=b.dataTransfer.getData("text/plain")||k;if(!c)return void r();let d=p.get(c);d&&d.status!==a&&e(d,a),r()},[k,r,e,p]);return(0,b.jsx)("div",{className:"flex gap-6 h-full pb-2",children:o.map(a=>{let c=a.config.icon,e="archived"===a.status;return(0,b.jsxs)("div",{className:(0,x.cn)("flex flex-col h-full flex-1 min-w-[280px]",e&&!i&&"w-14 min-w-[3.5rem] flex-none flex-shrink-0"),children:[(0,b.jsx)("div",{className:(0,x.cn)("flex-none mb-4 rounded-lg border-2 bg-background transition-all",a.config.bgClass,a.config.borderClass,e?"cursor-pointer hover:opacity-80":"",e&&!i?"py-6 px-2":"p-3"),onClick:e?j:void 0,children:(0,b.jsxs)("h2",{className:(0,x.cn)("text-lg font-semibold flex items-center gap-2",a.config.colorClass,e&&!i&&"flex-col text-sm gap-3"),children:[(0,b.jsx)(c,{className:"h-5 w-5"}),e&&!i?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"vertical-text text-sm whitespace-nowrap",children:a.config.title}),(0,b.jsx)(g.Badge,{variant:"outline",className:"text-xs",children:a.specs.length})]}):(0,b.jsxs)(b.Fragment,{children:[a.config.title,(0,b.jsx)(g.Badge,{variant:"outline",className:"ml-auto",children:a.specs.length})]})]})}),(!e||i)&&(0,b.jsxs)("div",{className:(0,x.cn)("space-y-3 flex-1 rounded-xl border border-transparent p-1 transition-colors overflow-y-auto min-h-0",k&&"border-dashed border-muted-foreground/40",k&&m===a.status&&"bg-muted/40 border-primary/50"),onDragOver:b=>s(a.status,b),onDragLeave:b=>t(a.status,b),onDrop:b=>u(a.status,b),children:[a.specs.map(a=>{let c={critical:"border-l-red-500",high:"border-l-orange-500",medium:"border-l-blue-500",low:"border-l-gray-400"}[a.priority]||"border-l-gray-300",e=!!h[a.id];return(0,b.jsxs)(f.Card,{draggable:!e,onDragStart:b=>{e?b.preventDefault():q(a.id,b)},onDragEnd:r,"aria-disabled":e,className:(0,x.cn)("relative hover:shadow-lg transition-all duration-150 hover:scale-[1.02] border-l-4 cursor-pointer group flex flex-col",c,e&&"opacity-60 cursor-wait"),onClick:()=>window.location.href=`/specs/${a.specNumber||a.id}`,children:[e&&(0,b.jsx)("div",{className:"absolute inset-0 rounded-lg bg-background/80 flex items-center justify-center text-xs font-medium z-10",children:"Updating..."}),(0,b.jsxs)(f.CardHeader,{className:"p-4 pb-2 space-y-1.5",children:[(0,b.jsx)("div",{className:"flex items-center justify-between",children:(0,b.jsx)("span",{className:"font-mono text-xs text-muted-foreground/70 group-hover:text-primary/60 transition-colors",children:a.specNumber?`#${a.specNumber}`:""})}),(0,b.jsx)(d.default,{href:`/specs/${a.specNumber||a.id}`,className:"block",children:(0,b.jsx)(f.CardTitle,{className:"text-sm font-semibold leading-snug hover:text-primary transition-colors line-clamp-3",children:a.title||a.specName})})]}),(0,b.jsx)(f.CardContent,{className:"p-4 pt-2 flex-1 flex flex-col justify-end",children:(0,b.jsxs)("div",{className:"flex flex-col gap-3",children:[a.title&&a.title!==a.specName&&(0,b.jsx)("p",{className:"text-xs font-mono text-muted-foreground truncate opacity-70",children:a.specName}),(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2 pt-1",children:[a.priority?(0,b.jsx)(w.PriorityBadge,{priority:a.priority}):(0,b.jsx)("div",{}),a.tags&&a.tags.length>0&&(0,b.jsxs)("div",{className:"flex flex-wrap gap-1 justify-end",children:[a.tags.slice(0,2).map(a=>(0,b.jsx)(g.Badge,{variant:"outline",className:"text-[10px] px-1.5 h-5 font-mono text-muted-foreground/80",children:a},a)),a.tags.length>2&&(0,b.jsxs)(g.Badge,{variant:"outline",className:"text-[10px] px-1.5 h-5 font-mono text-muted-foreground/80",children:["+",a.tags.length-2]})]})]})]})})]},a.id)}),0===a.specs.length&&(0,b.jsx)(f.Card,{className:"border-dashed border-gray-300 dark:border-gray-700 bg-transparent",children:(0,b.jsxs)(f.CardContent,{className:"py-8 text-center",children:[(0,b.jsx)(c,{className:(0,x.cn)("mx-auto h-8 w-8 mb-2",a.config.colorClass,"opacity-50")}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"Drop here to move specs"})]})})]})]},a.status)})})}a.s(["SpecsClient",()=>C],13142)}];
2
2
 
3
3
  //# sourceMappingURL=packages_ui_src_app_specs_specs-client_tsx_0bb8f8f8._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[15929,90075,a=>{"use strict";var b=a.i(40352),c=a.i(36883),d=a.i(90073);function e(a,[b,c]){return Math.min(c,Math.max(b,a))}var f=a.i(59653),g=a.i(66965),h=a.i(17988),i=a.i(63375),j=a.i(53484),k=a.i(83644),l=a.i(41857),m=a.i(84228),n=a.i(99700),o=a.i(72311),p=a.i(7547),q=a.i(75655),r=a.i(78357),s=a.i(44293),t=a.i(17449),u=a.i(37276),v=a.i(41318),w=a.i(16164),x=a.i(51867),y=[" ","Enter","ArrowUp","ArrowDown"],z=[" ","Enter"],A="Select",[B,C,D]=(0,g.createCollection)(A),[E,F]=(0,i.createContextScope)(A,[D,o.createPopperScope]),G=(0,o.createPopperScope)(),[H,I]=E(A),[J,K]=E(A),L=a=>{let{__scopeSelect:d,children:e,open:f,defaultOpen:g,onOpenChange:h,value:i,defaultValue:k,onValueChange:l,dir:m,name:p,autoComplete:q,disabled:r,required:s,form:u}=a,v=G(d),[w,x]=c.useState(null),[y,z]=c.useState(null),[C,D]=c.useState(!1),E=(0,j.useDirection)(m),[F,I]=(0,t.useControllableState)({prop:f,defaultProp:g??!1,onChange:h,caller:A}),[K,L]=(0,t.useControllableState)({prop:i,defaultProp:k,onChange:l,caller:A}),M=c.useRef(null),N=!w||u||!!w.closest("form"),[O,P]=c.useState(new Set),Q=Array.from(O).map(a=>a.props.value).join(";");return(0,b.jsx)(o.Root,{...v,children:(0,b.jsxs)(H,{required:s,scope:d,trigger:w,onTriggerChange:x,valueNode:y,onValueNodeChange:z,valueNodeHasChildren:C,onValueNodeHasChildrenChange:D,contentId:(0,n.useId)(),value:K,onValueChange:L,open:F,onOpenChange:I,dir:E,triggerPointerDownPosRef:M,disabled:r,children:[(0,b.jsx)(B.Provider,{scope:d,children:(0,b.jsx)(J,{scope:a.__scopeSelect,onNativeOptionAdd:c.useCallback(a=>{P(b=>new Set(b).add(a))},[]),onNativeOptionRemove:c.useCallback(a=>{P(b=>{let c=new Set(b);return c.delete(a),c})},[]),children:e})}),N?(0,b.jsxs)(aw,{"aria-hidden":!0,required:s,tabIndex:-1,name:p,autoComplete:q,value:K,onChange:a=>L(a.target.value),disabled:r,form:u,children:[void 0===K?(0,b.jsx)("option",{value:""}):null,Array.from(O)]},Q):null]})})};L.displayName=A;var M="SelectTrigger",N=c.forwardRef((a,d)=>{let{__scopeSelect:e,disabled:g=!1,...i}=a,j=G(e),k=I(M,e),l=k.disabled||g,m=(0,h.useComposedRefs)(d,k.onTriggerChange),n=C(e),p=c.useRef("touch"),[r,s,t]=ay(a=>{let b=n().filter(a=>!a.disabled),c=b.find(a=>a.value===k.value),d=az(b,a,c);void 0!==d&&k.onValueChange(d.value)}),u=a=>{l||(k.onOpenChange(!0),t()),a&&(k.triggerPointerDownPosRef.current={x:Math.round(a.pageX),y:Math.round(a.pageY)})};return(0,b.jsx)(o.Anchor,{asChild:!0,...j,children:(0,b.jsx)(q.Primitive.button,{type:"button",role:"combobox","aria-controls":k.contentId,"aria-expanded":k.open,"aria-required":k.required,"aria-autocomplete":"none",dir:k.dir,"data-state":k.open?"open":"closed",disabled:l,"data-disabled":l?"":void 0,"data-placeholder":ax(k.value)?"":void 0,...i,ref:m,onClick:(0,f.composeEventHandlers)(i.onClick,a=>{a.currentTarget.focus(),"mouse"!==p.current&&u(a)}),onPointerDown:(0,f.composeEventHandlers)(i.onPointerDown,a=>{p.current=a.pointerType;let b=a.target;b.hasPointerCapture(a.pointerId)&&b.releasePointerCapture(a.pointerId),0===a.button&&!1===a.ctrlKey&&"mouse"===a.pointerType&&(u(a),a.preventDefault())}),onKeyDown:(0,f.composeEventHandlers)(i.onKeyDown,a=>{let b=""!==r.current;a.ctrlKey||a.altKey||a.metaKey||1!==a.key.length||s(a.key),(!b||" "!==a.key)&&y.includes(a.key)&&(u(),a.preventDefault())})})})});N.displayName=M;var O="SelectValue",P=c.forwardRef((a,c)=>{let{__scopeSelect:d,className:e,style:f,children:g,placeholder:i="",...j}=a,k=I(O,d),{onValueNodeHasChildrenChange:l}=k,m=void 0!==g,n=(0,h.useComposedRefs)(c,k.onValueNodeChange);return(0,u.useLayoutEffect)(()=>{l(m)},[l,m]),(0,b.jsx)(q.Primitive.span,{...j,ref:n,style:{pointerEvents:"none"},children:ax(k.value)?(0,b.jsx)(b.Fragment,{children:i}):g})});P.displayName=O;var Q=c.forwardRef((a,c)=>{let{__scopeSelect:d,children:e,...f}=a;return(0,b.jsx)(q.Primitive.span,{"aria-hidden":!0,...f,ref:c,children:e||"▼"})});Q.displayName="SelectIcon";var R=a=>(0,b.jsx)(p.Portal,{asChild:!0,...a});R.displayName="SelectPortal";var S="SelectContent",T=c.forwardRef((a,e)=>{let f=I(S,a.__scopeSelect),[g,h]=c.useState();return((0,u.useLayoutEffect)(()=>{h(new DocumentFragment)},[]),f.open)?(0,b.jsx)(X,{...a,ref:e}):g?d.createPortal((0,b.jsx)(U,{scope:a.__scopeSelect,children:(0,b.jsx)(B.Slot,{scope:a.__scopeSelect,children:(0,b.jsx)("div",{children:a.children})})}),g):null});T.displayName=S;var[U,V]=E(S),W=(0,r.createSlot)("SelectContent.RemoveScroll"),X=c.forwardRef((a,d)=>{let{__scopeSelect:e,position:g="item-aligned",onCloseAutoFocus:i,onEscapeKeyDown:j,onPointerDownOutside:n,side:o,sideOffset:p,align:q,alignOffset:r,arrowPadding:s,collisionBoundary:t,collisionPadding:u,sticky:v,hideWhenDetached:y,avoidCollisions:z,...A}=a,B=I(S,e),[D,E]=c.useState(null),[F,G]=c.useState(null),H=(0,h.useComposedRefs)(d,a=>E(a)),[J,K]=c.useState(null),[L,M]=c.useState(null),N=C(e),[O,P]=c.useState(!1),Q=c.useRef(!1);c.useEffect(()=>{if(D)return(0,w.hideOthers)(D)},[D]),(0,l.useFocusGuards)();let R=c.useCallback(a=>{let[b,...c]=N().map(a=>a.ref.current),[d]=c.slice(-1),e=document.activeElement;for(let c of a)if(c===e||(c?.scrollIntoView({block:"nearest"}),c===b&&F&&(F.scrollTop=0),c===d&&F&&(F.scrollTop=F.scrollHeight),c?.focus(),document.activeElement!==e))return},[N,F]),T=c.useCallback(()=>R([J,D]),[R,J,D]);c.useEffect(()=>{O&&T()},[O,T]);let{onOpenChange:V,triggerPointerDownPosRef:X}=B;c.useEffect(()=>{if(D){let a={x:0,y:0},b=b=>{a={x:Math.abs(Math.round(b.pageX)-(X.current?.x??0)),y:Math.abs(Math.round(b.pageY)-(X.current?.y??0))}},c=c=>{a.x<=10&&a.y<=10?c.preventDefault():D.contains(c.target)||V(!1),document.removeEventListener("pointermove",b),X.current=null};return null!==X.current&&(document.addEventListener("pointermove",b),document.addEventListener("pointerup",c,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",b),document.removeEventListener("pointerup",c,{capture:!0})}}},[D,V,X]),c.useEffect(()=>{let a=()=>V(!1);return window.addEventListener("blur",a),window.addEventListener("resize",a),()=>{window.removeEventListener("blur",a),window.removeEventListener("resize",a)}},[V]);let[$,_]=ay(a=>{let b=N().filter(a=>!a.disabled),c=b.find(a=>a.ref.current===document.activeElement),d=az(b,a,c);d&&setTimeout(()=>d.ref.current.focus())}),aa=c.useCallback((a,b,c)=>{let d=!Q.current&&!c;(void 0!==B.value&&B.value===b||d)&&(K(a),d&&(Q.current=!0))},[B.value]),ab=c.useCallback(()=>D?.focus(),[D]),ac=c.useCallback((a,b,c)=>{let d=!Q.current&&!c;(void 0!==B.value&&B.value===b||d)&&M(a)},[B.value]),ad="popper"===g?Z:Y,ae=ad===Z?{side:o,sideOffset:p,align:q,alignOffset:r,arrowPadding:s,collisionBoundary:t,collisionPadding:u,sticky:v,hideWhenDetached:y,avoidCollisions:z}:{};return(0,b.jsx)(U,{scope:e,content:D,viewport:F,onViewportChange:G,itemRefCallback:aa,selectedItem:J,onItemLeave:ab,itemTextRefCallback:ac,focusSelectedItem:T,selectedItemText:L,position:g,isPositioned:O,searchRef:$,children:(0,b.jsx)(x.RemoveScroll,{as:W,allowPinchZoom:!0,children:(0,b.jsx)(m.FocusScope,{asChild:!0,trapped:B.open,onMountAutoFocus:a=>{a.preventDefault()},onUnmountAutoFocus:(0,f.composeEventHandlers)(i,a=>{B.trigger?.focus({preventScroll:!0}),a.preventDefault()}),children:(0,b.jsx)(k.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:j,onPointerDownOutside:n,onFocusOutside:a=>a.preventDefault(),onDismiss:()=>B.onOpenChange(!1),children:(0,b.jsx)(ad,{role:"listbox",id:B.contentId,"data-state":B.open?"open":"closed",dir:B.dir,onContextMenu:a=>a.preventDefault(),...A,...ae,onPlaced:()=>P(!0),ref:H,style:{display:"flex",flexDirection:"column",outline:"none",...A.style},onKeyDown:(0,f.composeEventHandlers)(A.onKeyDown,a=>{let b=a.ctrlKey||a.altKey||a.metaKey;if("Tab"===a.key&&a.preventDefault(),b||1!==a.key.length||_(a.key),["ArrowUp","ArrowDown","Home","End"].includes(a.key)){let b=N().filter(a=>!a.disabled).map(a=>a.ref.current);if(["ArrowUp","End"].includes(a.key)&&(b=b.slice().reverse()),["ArrowUp","ArrowDown"].includes(a.key)){let c=a.target,d=b.indexOf(c);b=b.slice(d+1)}setTimeout(()=>R(b)),a.preventDefault()}})})})})})})});X.displayName="SelectContentImpl";var Y=c.forwardRef((a,d)=>{let{__scopeSelect:f,onPlaced:g,...i}=a,j=I(S,f),k=V(S,f),[l,m]=c.useState(null),[n,o]=c.useState(null),p=(0,h.useComposedRefs)(d,a=>o(a)),r=C(f),s=c.useRef(!1),t=c.useRef(!0),{viewport:v,selectedItem:w,selectedItemText:x,focusSelectedItem:y}=k,z=c.useCallback(()=>{if(j.trigger&&j.valueNode&&l&&n&&v&&w&&x){let a=j.trigger.getBoundingClientRect(),b=n.getBoundingClientRect(),c=j.valueNode.getBoundingClientRect(),d=x.getBoundingClientRect();if("rtl"!==j.dir){let f=d.left-b.left,g=c.left-f,h=a.left-g,i=a.width+h,j=Math.max(i,b.width),k=e(g,[10,Math.max(10,window.innerWidth-10-j)]);l.style.minWidth=i+"px",l.style.left=k+"px"}else{let f=b.right-d.right,g=window.innerWidth-c.right-f,h=window.innerWidth-a.right-g,i=a.width+h,j=Math.max(i,b.width),k=e(g,[10,Math.max(10,window.innerWidth-10-j)]);l.style.minWidth=i+"px",l.style.right=k+"px"}let f=r(),h=window.innerHeight-20,i=v.scrollHeight,k=window.getComputedStyle(n),m=parseInt(k.borderTopWidth,10),o=parseInt(k.paddingTop,10),p=parseInt(k.borderBottomWidth,10),q=m+o+i+parseInt(k.paddingBottom,10)+p,t=Math.min(5*w.offsetHeight,q),u=window.getComputedStyle(v),y=parseInt(u.paddingTop,10),z=parseInt(u.paddingBottom,10),A=a.top+a.height/2-10,B=w.offsetHeight/2,C=m+o+(w.offsetTop+B);if(C<=A){let a=f.length>0&&w===f[f.length-1].ref.current;l.style.bottom="0px";let b=Math.max(h-A,B+(a?z:0)+(n.clientHeight-v.offsetTop-v.offsetHeight)+p);l.style.height=C+b+"px"}else{let a=f.length>0&&w===f[0].ref.current;l.style.top="0px";let b=Math.max(A,m+v.offsetTop+(a?y:0)+B);l.style.height=b+(q-C)+"px",v.scrollTop=C-A+v.offsetTop}l.style.margin="10px 0",l.style.minHeight=t+"px",l.style.maxHeight=h+"px",g?.(),requestAnimationFrame(()=>s.current=!0)}},[r,j.trigger,j.valueNode,l,n,v,w,x,j.dir,g]);(0,u.useLayoutEffect)(()=>z(),[z]);let[A,B]=c.useState();(0,u.useLayoutEffect)(()=>{n&&B(window.getComputedStyle(n).zIndex)},[n]);let D=c.useCallback(a=>{a&&!0===t.current&&(z(),y?.(),t.current=!1)},[z,y]);return(0,b.jsx)($,{scope:f,contentWrapper:l,shouldExpandOnScrollRef:s,onScrollButtonChange:D,children:(0,b.jsx)("div",{ref:m,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:A},children:(0,b.jsx)(q.Primitive.div,{...i,ref:p,style:{boxSizing:"border-box",maxHeight:"100%",...i.style}})})})});Y.displayName="SelectItemAlignedPosition";var Z=c.forwardRef((a,c)=>{let{__scopeSelect:d,align:e="start",collisionPadding:f=10,...g}=a,h=G(d);return(0,b.jsx)(o.Content,{...h,...g,ref:c,align:e,collisionPadding:f,style:{boxSizing:"border-box",...g.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});Z.displayName="SelectPopperPosition";var[$,_]=E(S,{}),aa="SelectViewport",ab=c.forwardRef((a,d)=>{let{__scopeSelect:e,nonce:g,...i}=a,j=V(aa,e),k=_(aa,e),l=(0,h.useComposedRefs)(d,j.onViewportChange),m=c.useRef(0);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:g}),(0,b.jsx)(B.Slot,{scope:e,children:(0,b.jsx)(q.Primitive.div,{"data-radix-select-viewport":"",role:"presentation",...i,ref:l,style:{position:"relative",flex:1,overflow:"hidden auto",...i.style},onScroll:(0,f.composeEventHandlers)(i.onScroll,a=>{let b=a.currentTarget,{contentWrapper:c,shouldExpandOnScrollRef:d}=k;if(d?.current&&c){let a=Math.abs(m.current-b.scrollTop);if(a>0){let d=window.innerHeight-20,e=Math.max(parseFloat(c.style.minHeight),parseFloat(c.style.height));if(e<d){let f=e+a,g=Math.min(d,f),h=f-g;c.style.height=g+"px","0px"===c.style.bottom&&(b.scrollTop=h>0?h:0,c.style.justifyContent="flex-end")}}}m.current=b.scrollTop})})})]})});ab.displayName=aa;var ac="SelectGroup",[ad,ae]=E(ac);c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a,f=(0,n.useId)();return(0,b.jsx)(ad,{scope:d,id:f,children:(0,b.jsx)(q.Primitive.div,{role:"group","aria-labelledby":f,...e,ref:c})})}).displayName=ac;var af="SelectLabel",ag=c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a,f=ae(af,d);return(0,b.jsx)(q.Primitive.div,{id:f.id,...e,ref:c})});ag.displayName=af;var ah="SelectItem",[ai,aj]=E(ah),ak=c.forwardRef((a,d)=>{let{__scopeSelect:e,value:g,disabled:i=!1,textValue:j,...k}=a,l=I(ah,e),m=V(ah,e),o=l.value===g,[p,r]=c.useState(j??""),[s,t]=c.useState(!1),u=(0,h.useComposedRefs)(d,a=>m.itemRefCallback?.(a,g,i)),v=(0,n.useId)(),w=c.useRef("touch"),x=()=>{i||(l.onValueChange(g),l.onOpenChange(!1))};if(""===g)throw Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return(0,b.jsx)(ai,{scope:e,value:g,disabled:i,textId:v,isSelected:o,onItemTextChange:c.useCallback(a=>{r(b=>b||(a?.textContent??"").trim())},[]),children:(0,b.jsx)(B.ItemSlot,{scope:e,value:g,disabled:i,textValue:p,children:(0,b.jsx)(q.Primitive.div,{role:"option","aria-labelledby":v,"data-highlighted":s?"":void 0,"aria-selected":o&&s,"data-state":o?"checked":"unchecked","aria-disabled":i||void 0,"data-disabled":i?"":void 0,tabIndex:i?void 0:-1,...k,ref:u,onFocus:(0,f.composeEventHandlers)(k.onFocus,()=>t(!0)),onBlur:(0,f.composeEventHandlers)(k.onBlur,()=>t(!1)),onClick:(0,f.composeEventHandlers)(k.onClick,()=>{"mouse"!==w.current&&x()}),onPointerUp:(0,f.composeEventHandlers)(k.onPointerUp,()=>{"mouse"===w.current&&x()}),onPointerDown:(0,f.composeEventHandlers)(k.onPointerDown,a=>{w.current=a.pointerType}),onPointerMove:(0,f.composeEventHandlers)(k.onPointerMove,a=>{w.current=a.pointerType,i?m.onItemLeave?.():"mouse"===w.current&&a.currentTarget.focus({preventScroll:!0})}),onPointerLeave:(0,f.composeEventHandlers)(k.onPointerLeave,a=>{a.currentTarget===document.activeElement&&m.onItemLeave?.()}),onKeyDown:(0,f.composeEventHandlers)(k.onKeyDown,a=>{(m.searchRef?.current===""||" "!==a.key)&&(z.includes(a.key)&&x()," "===a.key&&a.preventDefault())})})})})});ak.displayName=ah;var al="SelectItemText",am=c.forwardRef((a,e)=>{let{__scopeSelect:f,className:g,style:i,...j}=a,k=I(al,f),l=V(al,f),m=aj(al,f),n=K(al,f),[o,p]=c.useState(null),r=(0,h.useComposedRefs)(e,a=>p(a),m.onItemTextChange,a=>l.itemTextRefCallback?.(a,m.value,m.disabled)),s=o?.textContent,t=c.useMemo(()=>(0,b.jsx)("option",{value:m.value,disabled:m.disabled,children:s},m.value),[m.disabled,m.value,s]),{onNativeOptionAdd:v,onNativeOptionRemove:w}=n;return(0,u.useLayoutEffect)(()=>(v(t),()=>w(t)),[v,w,t]),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(q.Primitive.span,{id:m.textId,...j,ref:r}),m.isSelected&&k.valueNode&&!k.valueNodeHasChildren?d.createPortal(j.children,k.valueNode):null]})});am.displayName=al;var an="SelectItemIndicator",ao=c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a;return aj(an,d).isSelected?(0,b.jsx)(q.Primitive.span,{"aria-hidden":!0,...e,ref:c}):null});ao.displayName=an;var ap="SelectScrollUpButton",aq=c.forwardRef((a,d)=>{let e=V(ap,a.__scopeSelect),f=_(ap,a.__scopeSelect),[g,i]=c.useState(!1),j=(0,h.useComposedRefs)(d,f.onScrollButtonChange);return(0,u.useLayoutEffect)(()=>{if(e.viewport&&e.isPositioned){let a=function(){i(b.scrollTop>0)},b=e.viewport;return a(),b.addEventListener("scroll",a),()=>b.removeEventListener("scroll",a)}},[e.viewport,e.isPositioned]),g?(0,b.jsx)(at,{...a,ref:j,onAutoScroll:()=>{let{viewport:a,selectedItem:b}=e;a&&b&&(a.scrollTop=a.scrollTop-b.offsetHeight)}}):null});aq.displayName=ap;var ar="SelectScrollDownButton",as=c.forwardRef((a,d)=>{let e=V(ar,a.__scopeSelect),f=_(ar,a.__scopeSelect),[g,i]=c.useState(!1),j=(0,h.useComposedRefs)(d,f.onScrollButtonChange);return(0,u.useLayoutEffect)(()=>{if(e.viewport&&e.isPositioned){let a=function(){let a=b.scrollHeight-b.clientHeight;i(Math.ceil(b.scrollTop)<a)},b=e.viewport;return a(),b.addEventListener("scroll",a),()=>b.removeEventListener("scroll",a)}},[e.viewport,e.isPositioned]),g?(0,b.jsx)(at,{...a,ref:j,onAutoScroll:()=>{let{viewport:a,selectedItem:b}=e;a&&b&&(a.scrollTop=a.scrollTop+b.offsetHeight)}}):null});as.displayName=ar;var at=c.forwardRef((a,d)=>{let{__scopeSelect:e,onAutoScroll:g,...h}=a,i=V("SelectScrollButton",e),j=c.useRef(null),k=C(e),l=c.useCallback(()=>{null!==j.current&&(window.clearInterval(j.current),j.current=null)},[]);return c.useEffect(()=>()=>l(),[l]),(0,u.useLayoutEffect)(()=>{let a=k().find(a=>a.ref.current===document.activeElement);a?.ref.current?.scrollIntoView({block:"nearest"})},[k]),(0,b.jsx)(q.Primitive.div,{"aria-hidden":!0,...h,ref:d,style:{flexShrink:0,...h.style},onPointerDown:(0,f.composeEventHandlers)(h.onPointerDown,()=>{null===j.current&&(j.current=window.setInterval(g,50))}),onPointerMove:(0,f.composeEventHandlers)(h.onPointerMove,()=>{i.onItemLeave?.(),null===j.current&&(j.current=window.setInterval(g,50))}),onPointerLeave:(0,f.composeEventHandlers)(h.onPointerLeave,()=>{l()})})}),au=c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a;return(0,b.jsx)(q.Primitive.div,{"aria-hidden":!0,...e,ref:c})});au.displayName="SelectSeparator";var av="SelectArrow";c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a,f=G(d),g=I(av,d),h=V(av,d);return g.open&&"popper"===h.position?(0,b.jsx)(o.Arrow,{...f,...e,ref:c}):null}).displayName=av;var aw=c.forwardRef(({__scopeSelect:a,value:d,...e},f)=>{let g,i=c.useRef(null),j=(0,h.useComposedRefs)(f,i),k=(g=c.useRef({value:d,previous:d}),c.useMemo(()=>(g.current.value!==d&&(g.current.previous=g.current.value,g.current.value=d),g.current.previous),[d]));return c.useEffect(()=>{let a=i.current;if(!a)return;let b=Object.getOwnPropertyDescriptor(window.HTMLSelectElement.prototype,"value").set;if(k!==d&&b){let c=new Event("change",{bubbles:!0});b.call(a,d),a.dispatchEvent(c)}},[k,d]),(0,b.jsx)(q.Primitive.select,{...e,style:{...v.VISUALLY_HIDDEN_STYLES,...e.style},ref:j,defaultValue:d})});function ax(a){return""===a||void 0===a}function ay(a){let b=(0,s.useCallbackRef)(a),d=c.useRef(""),e=c.useRef(0),f=c.useCallback(a=>{let c=d.current+a;b(c),function a(b){d.current=b,window.clearTimeout(e.current),""!==b&&(e.current=window.setTimeout(()=>a(""),1e3))}(c)},[b]),g=c.useCallback(()=>{d.current="",window.clearTimeout(e.current)},[]);return c.useEffect(()=>()=>window.clearTimeout(e.current),[]),[d,f,g]}function az(a,b,c){var d,e;let f=b.length>1&&Array.from(b).every(a=>a===b[0])?b[0]:b,g=c?a.indexOf(c):-1,h=(d=a,e=Math.max(g,0),d.map((a,b)=>d[(e+b)%d.length]));1===f.length&&(h=h.filter(a=>a!==c));let i=h.find(a=>a.textValue.toLowerCase().startsWith(f.toLowerCase()));return i!==c?i:void 0}aw.displayName="SelectBubbleInput";var aA=a.i(70485),aB=a.i(63535);let aC=(0,aB.default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]),aD=(0,aB.default)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);var aE=a.i(87052);let aF=c.forwardRef(({className:a,children:c,...d},e)=>(0,b.jsxs)(N,{ref:e,className:(0,aE.cn)("flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-gray-300 dark:border-gray-700 bg-background px-3 py-2 text-sm shadow-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",a),...d,children:[c,(0,b.jsx)(Q,{asChild:!0,children:(0,b.jsx)(aC,{className:"h-4 w-4 opacity-50"})})]}));aF.displayName=N.displayName;let aG=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(aq,{ref:d,className:(0,aE.cn)("flex cursor-default items-center justify-center py-1",a),...c,children:(0,b.jsx)(aD,{className:"h-4 w-4"})}));aG.displayName=aq.displayName;let aH=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(as,{ref:d,className:(0,aE.cn)("flex cursor-default items-center justify-center py-1",a),...c,children:(0,b.jsx)(aC,{className:"h-4 w-4"})}));aH.displayName=as.displayName;let aI=c.forwardRef(({className:a,children:c,position:d="popper",...e},f)=>(0,b.jsx)(R,{children:(0,b.jsxs)(T,{ref:f,className:(0,aE.cn)("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border border-gray-200 dark:border-gray-800 bg-background text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2","popper"===d&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",a),position:d,...e,children:[(0,b.jsx)(aG,{}),(0,b.jsx)(ab,{className:(0,aE.cn)("p-1","popper"===d&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:c}),(0,b.jsx)(aH,{})]})}));aI.displayName=T.displayName,c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(ag,{ref:d,className:(0,aE.cn)("px-2 py-1.5 text-sm font-semibold",a),...c})).displayName=ag.displayName;let aJ=c.forwardRef(({className:a,children:c,...d},e)=>(0,b.jsxs)(ak,{ref:e,className:(0,aE.cn)("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),...d,children:[(0,b.jsx)("span",{className:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,b.jsx)(ao,{children:(0,b.jsx)(aA.Check,{className:"h-4 w-4"})})}),(0,b.jsx)(am,{children:c})]}));aJ.displayName=ak.displayName,c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(au,{ref:d,className:(0,aE.cn)("-mx-1 my-1 h-px bg-muted",a),...c})).displayName=au.displayName,a.s(["Select",()=>L,"SelectContent",()=>aI,"SelectItem",()=>aJ,"SelectTrigger",()=>aF,"SelectValue",()=>P],15929);var aK=a.i(35133),aL=a.i(79121);function aM(a){return a?(0,aK.default)(a).fromNow():"Unknown"}function aN(a,b){if(!a||!b)return"";let c=(0,aK.default)(a),d=(0,aK.default)(b).diff(c);if(d<0)return"";let e=Math.floor(d/864e5),f=Math.floor(d%864e5/36e5);if(0===e&&0===f){let a=Math.floor(d%36e5/6e4);return 0===a?"< 1m":`${a}m`}if(0===e)return`${f}h`;if(e<30)return f>0?`${e}d ${f}h`:`${e}d`;let g=Math.floor(e/30),h=e%30;if(g<12)return h>0?`${g}mo ${h}d`:`${g}mo`;let i=Math.floor(g/12),j=g%12;return j>0?`${i}y ${j}mo`:`${i}y`}aK.default.extend(aL.default),a.s(["formatDuration",()=>aN,"formatRelativeTime",()=>aM],90075)}];
2
+
3
+ //# sourceMappingURL=packages_ui_src_components_ui_select_tsx_7e21d40f._.js.map