vibedoc 1.6.0 → 1.7.0

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 (302) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +2 -0
  3. package/.next/build-manifest.json +3 -3
  4. package/.next/prerender-manifest.json +39 -11
  5. package/.next/routes-manifest.json +12 -0
  6. package/.next/server/app/(app)/activity/page.js.nft.json +1 -1
  7. package/.next/server/app/(app)/activity/page_client-reference-manifest.js +1 -1
  8. package/.next/server/app/(app)/board/page.js.nft.json +1 -1
  9. package/.next/server/app/(app)/board/page_client-reference-manifest.js +1 -1
  10. package/.next/server/app/(app)/chat/page/app-paths-manifest.json +3 -0
  11. package/.next/server/app/(app)/chat/page/build-manifest.json +20 -0
  12. package/.next/server/app/(app)/chat/page/next-font-manifest.json +11 -0
  13. package/.next/server/app/(app)/chat/page/react-loadable-manifest.json +1 -0
  14. package/.next/server/app/(app)/chat/page/server-reference-manifest.json +4 -0
  15. package/.next/server/app/(app)/chat/page.js +15 -0
  16. package/.next/server/app/(app)/chat/page.js.map +5 -0
  17. package/.next/server/app/(app)/chat/page.js.nft.json +1 -0
  18. package/.next/server/app/(app)/chat/page_client-reference-manifest.js +3 -0
  19. package/.next/server/app/(app)/docs/page.js.nft.json +1 -1
  20. package/.next/server/app/(app)/docs/page_client-reference-manifest.js +1 -1
  21. package/.next/server/app/(app)/explorer/page.js.nft.json +1 -1
  22. package/.next/server/app/(app)/explorer/page_client-reference-manifest.js +1 -1
  23. package/.next/server/app/(app)/memory/page.js.nft.json +1 -1
  24. package/.next/server/app/(app)/memory/page_client-reference-manifest.js +1 -1
  25. package/.next/server/app/(app)/roadmap/page.js.nft.json +1 -1
  26. package/.next/server/app/(app)/roadmap/page_client-reference-manifest.js +1 -1
  27. package/.next/server/app/(app)/settings/page.js.nft.json +1 -1
  28. package/.next/server/app/(app)/settings/page_client-reference-manifest.js +1 -1
  29. package/.next/server/app/(app)/setup/page.js.nft.json +1 -1
  30. package/.next/server/app/(app)/setup/page_client-reference-manifest.js +1 -1
  31. package/.next/server/app/_global-error.html +1 -1
  32. package/.next/server/app/_global-error.rsc +1 -1
  33. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  34. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  35. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  36. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  37. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  38. package/.next/server/app/_not-found.html +1 -1
  39. package/.next/server/app/_not-found.rsc +2 -2
  40. package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  41. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  42. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  43. package/.next/server/app/activity.html +1 -1
  44. package/.next/server/app/activity.rsc +22 -23
  45. package/.next/server/app/activity.segments/!KGFwcCk/activity/__PAGE__.segment.rsc +9 -10
  46. package/.next/server/app/activity.segments/_full.segment.rsc +22 -23
  47. package/.next/server/app/activity.segments/_tree.segment.rsc +2 -2
  48. package/.next/server/app/api/activity/route.js.nft.json +1 -1
  49. package/.next/server/app/api/backlinks/route.js.nft.json +1 -1
  50. package/.next/server/app/api/chat/route.js.nft.json +1 -1
  51. package/.next/server/app/api/context/route.js.nft.json +1 -1
  52. package/.next/server/app/api/conversations/route/app-paths-manifest.json +3 -0
  53. package/.next/server/app/api/conversations/route/build-manifest.json +12 -0
  54. package/.next/server/app/api/conversations/route/server-reference-manifest.json +4 -0
  55. package/.next/server/app/api/conversations/route.js +9 -0
  56. package/.next/server/app/api/conversations/route.js.map +5 -0
  57. package/.next/server/app/api/conversations/route.js.nft.json +1 -0
  58. package/.next/server/app/api/conversations/route_client-reference-manifest.js +3 -0
  59. package/.next/server/app/api/decisions/route.js.nft.json +1 -1
  60. package/.next/server/app/api/docs/route.js.nft.json +1 -1
  61. package/.next/server/app/api/explorer/route.js.nft.json +1 -1
  62. package/.next/server/app/api/mcp/route.js.nft.json +1 -1
  63. package/.next/server/app/api/memory/route.js.nft.json +1 -1
  64. package/.next/server/app/api/plan/apply/route.js.nft.json +1 -1
  65. package/.next/server/app/api/projects/route.js.nft.json +1 -1
  66. package/.next/server/app/api/registry/route.js.nft.json +1 -1
  67. package/.next/server/app/api/roadmap/create/route.js.nft.json +1 -1
  68. package/.next/server/app/api/roadmap/delete/route.js.nft.json +1 -1
  69. package/.next/server/app/api/roadmap/generate/route.js.nft.json +1 -1
  70. package/.next/server/app/api/roadmap/layout/route.js.nft.json +1 -1
  71. package/.next/server/app/api/roadmap/route.js.nft.json +1 -1
  72. package/.next/server/app/api/roadmap/update/route.js.nft.json +1 -1
  73. package/.next/server/app/api/sessions/route.js.nft.json +1 -1
  74. package/.next/server/app/api/settings/route.js.nft.json +1 -1
  75. package/.next/server/app/api/setup/generate/route.js.nft.json +1 -1
  76. package/.next/server/app/api/setup/write/route.js.nft.json +1 -1
  77. package/.next/server/app/api/summary/route.js.nft.json +1 -1
  78. package/.next/server/app/api/tasks/create/route.js.nft.json +1 -1
  79. package/.next/server/app/api/tasks/route.js.nft.json +1 -1
  80. package/.next/server/app/board.html +1 -1
  81. package/.next/server/app/board.rsc +22 -23
  82. package/.next/server/app/board.segments/!KGFwcCk/board/__PAGE__.segment.rsc +9 -10
  83. package/.next/server/app/board.segments/_full.segment.rsc +22 -23
  84. package/.next/server/app/board.segments/_tree.segment.rsc +2 -2
  85. package/.next/server/app/chat.html +1 -0
  86. package/.next/server/app/chat.meta +31 -0
  87. package/.next/server/app/chat.rsc +29 -0
  88. package/.next/server/app/chat.segments/!KGFwcCk/chat/__PAGE__.segment.rsc +31 -0
  89. package/.next/server/app/chat.segments/_full.segment.rsc +29 -0
  90. package/.next/server/app/chat.segments/_tree.segment.rsc +4 -0
  91. package/.next/server/app/docs.html +1 -1
  92. package/.next/server/app/docs.rsc +22 -27
  93. package/.next/server/app/docs.segments/!KGFwcCk/docs/__PAGE__.segment.rsc +6 -6
  94. package/.next/server/app/docs.segments/_full.segment.rsc +22 -27
  95. package/.next/server/app/docs.segments/_tree.segment.rsc +2 -2
  96. package/.next/server/app/explorer.html +1 -1
  97. package/.next/server/app/explorer.rsc +22 -23
  98. package/.next/server/app/explorer.segments/!KGFwcCk/explorer/__PAGE__.segment.rsc +9 -10
  99. package/.next/server/app/explorer.segments/_full.segment.rsc +22 -23
  100. package/.next/server/app/explorer.segments/_tree.segment.rsc +2 -2
  101. package/.next/server/app/index.html +1 -1
  102. package/.next/server/app/index.rsc +2 -2
  103. package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  104. package/.next/server/app/index.segments/_full.segment.rsc +2 -2
  105. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  106. package/.next/server/app/memory.html +1 -1
  107. package/.next/server/app/memory.rsc +22 -23
  108. package/.next/server/app/memory.segments/!KGFwcCk/memory/__PAGE__.segment.rsc +9 -10
  109. package/.next/server/app/memory.segments/_full.segment.rsc +22 -23
  110. package/.next/server/app/memory.segments/_tree.segment.rsc +2 -2
  111. package/.next/server/app/page.js.nft.json +1 -1
  112. package/.next/server/app/page_client-reference-manifest.js +1 -1
  113. package/.next/server/app/roadmap.html +1 -1
  114. package/.next/server/app/roadmap.rsc +22 -26
  115. package/.next/server/app/roadmap.segments/!KGFwcCk/roadmap/__PAGE__.segment.rsc +9 -11
  116. package/.next/server/app/roadmap.segments/_full.segment.rsc +22 -26
  117. package/.next/server/app/roadmap.segments/_tree.segment.rsc +2 -2
  118. package/.next/server/app/settings.html +1 -1
  119. package/.next/server/app/settings.rsc +22 -23
  120. package/.next/server/app/settings.segments/!KGFwcCk/settings/__PAGE__.segment.rsc +9 -10
  121. package/.next/server/app/settings.segments/_full.segment.rsc +22 -23
  122. package/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  123. package/.next/server/app/setup.html +1 -1
  124. package/.next/server/app/setup.rsc +22 -23
  125. package/.next/server/app/setup.segments/!KGFwcCk/setup/__PAGE__.segment.rsc +9 -10
  126. package/.next/server/app/setup.segments/_full.segment.rsc +22 -23
  127. package/.next/server/app/setup.segments/_tree.segment.rsc +2 -2
  128. package/.next/server/app-paths-manifest.json +2 -0
  129. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1htgzmb._.js +3 -0
  130. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1htgzmb._.js.map +1 -0
  131. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0d2_lq6._.js +3 -0
  132. package/.next/server/chunks/[root-of-the-server]__1613hjb._.js +4 -4
  133. package/.next/server/chunks/[root-of-the-server]__1613hjb._.js.map +1 -1
  134. package/.next/server/chunks/[root-of-the-server]__1jxu2x9._.js +3 -0
  135. package/.next/server/chunks/[root-of-the-server]__1jxu2x9._.js.map +1 -0
  136. package/.next/server/chunks/_1b5fqxy._.js +1 -1
  137. package/.next/server/chunks/_1b5fqxy._.js.map +1 -1
  138. package/.next/server/chunks/_next-internal_server_app_api_conversations_route_actions_1-pu7gs.js +3 -0
  139. package/.next/server/chunks/ssr/{0_nd_mermaid_dist_mermaid_core_mjs_10jvzv6._.js → 0_nd_mermaid_dist_mermaid_core_mjs_0vv_0i3._.js} +2 -2
  140. package/.next/server/chunks/ssr/{1u84_katex_dist_katex_mjs_05prlqa._.js → 1u84_katex_dist_katex_mjs_1z0p1bs._.js} +1 -1
  141. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_0cvmffy._.js +3 -0
  142. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_0cvmffy._.js.map +1 -0
  143. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_0u3jxas._.js +3 -0
  144. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_0u3jxas._.js.map +1 -0
  145. package/.next/server/chunks/ssr/[root-of-the-server]__0xt_0w2._.js.map +1 -1
  146. package/.next/server/chunks/ssr/[root-of-the-server]__11lfnu0._.js +3 -0
  147. package/.next/server/chunks/ssr/[root-of-the-server]__11lfnu0._.js.map +1 -0
  148. package/.next/server/chunks/ssr/_059qmur._.js +3 -0
  149. package/.next/server/chunks/ssr/_059qmur._.js.map +1 -0
  150. package/.next/server/chunks/ssr/_081irea._.js +3 -0
  151. package/.next/server/chunks/ssr/_081irea._.js.map +1 -0
  152. package/.next/server/chunks/ssr/_0d8t8l4._.js +3 -0
  153. package/.next/server/chunks/ssr/_0d8t8l4._.js.map +1 -0
  154. package/.next/server/chunks/ssr/_0dyvcdg._.js +3 -0
  155. package/.next/server/chunks/ssr/_0dyvcdg._.js.map +1 -0
  156. package/.next/server/chunks/ssr/_1-ghqy4._.js +3 -0
  157. package/.next/server/chunks/ssr/_1-ghqy4._.js.map +1 -0
  158. package/.next/server/chunks/ssr/_17jy5db._.js +3 -0
  159. package/.next/server/chunks/ssr/_17jy5db._.js.map +1 -0
  160. package/.next/server/chunks/ssr/_1c95ems._.js +1 -1
  161. package/.next/server/chunks/ssr/_1c95ems._.js.map +1 -1
  162. package/.next/server/chunks/ssr/_1dllfz5._.js +4 -0
  163. package/.next/server/chunks/ssr/_1dllfz5._.js.map +1 -0
  164. package/.next/server/chunks/ssr/_next-internal_server_app_(app)_chat_page_actions_0g4tbzt.js +3 -0
  165. package/.next/server/chunks/ssr/node_modules__pnpm_006_c8z._.js +3 -0
  166. package/.next/server/chunks/ssr/node_modules__pnpm_006_c8z._.js.map +1 -0
  167. package/.next/server/chunks/ssr/{node_modules__pnpm_1kngagu._.js → node_modules__pnpm_0286-tg._.js} +1 -1
  168. package/.next/server/chunks/ssr/{node_modules__pnpm_1ad2q27._.js → node_modules__pnpm_04khl_s._.js} +1 -1
  169. package/.next/server/chunks/ssr/{node_modules__pnpm_0ns_6dd._.js → node_modules__pnpm_07t_e8c._.js} +1 -1
  170. package/.next/server/chunks/ssr/{node_modules__pnpm_0baie09._.js → node_modules__pnpm_08sqeu2._.js} +1 -1
  171. package/.next/server/chunks/ssr/{node_modules__pnpm_1jfqun_._.js → node_modules__pnpm_09_i2jk._.js} +1 -1
  172. package/.next/server/chunks/ssr/node_modules__pnpm_09_i2jk._.js.map +1 -0
  173. package/.next/server/chunks/ssr/{node_modules__pnpm_1o3_0-n._.js → node_modules__pnpm_0a9b2ei._.js} +1 -1
  174. package/.next/server/chunks/ssr/{node_modules__pnpm_0e15nhj._.js → node_modules__pnpm_0ah02mu._.js} +1 -1
  175. package/.next/server/chunks/ssr/{node_modules__pnpm_20tdqv_._.js → node_modules__pnpm_0cj8ryj._.js} +1 -1
  176. package/.next/server/chunks/ssr/{node_modules__pnpm_0wnlgm-._.js → node_modules__pnpm_0dwi7mu._.js} +2 -2
  177. package/.next/server/chunks/ssr/node_modules__pnpm_0dwi7mu._.js.map +1 -0
  178. package/.next/server/chunks/ssr/{node_modules__pnpm_1h890n6._.js → node_modules__pnpm_0f77_ng._.js} +1 -1
  179. package/.next/server/chunks/ssr/{node_modules__pnpm_1u8p2h3._.js → node_modules__pnpm_0fd3pr1._.js} +2 -2
  180. package/.next/server/chunks/ssr/{node_modules__pnpm_1zu-9we._.js → node_modules__pnpm_0gifu-u._.js} +2 -2
  181. package/.next/server/chunks/ssr/{node_modules__pnpm_1_o0jyk._.js → node_modules__pnpm_0jpv2b6._.js} +2 -2
  182. package/.next/server/chunks/ssr/{node_modules__pnpm_1f3lm9p._.js → node_modules__pnpm_0og06fy._.js} +1 -1
  183. package/.next/server/chunks/ssr/{node_modules__pnpm_12s6q4d._.js → node_modules__pnpm_0qc3gsk._.js} +1 -1
  184. package/.next/server/chunks/ssr/{node_modules__pnpm_0e3u5g-._.js → node_modules__pnpm_0ts89ne._.js} +1 -1
  185. package/.next/server/chunks/ssr/{node_modules__pnpm_1moe8b6._.js → node_modules__pnpm_0ttvopp._.js} +1 -1
  186. package/.next/server/chunks/ssr/{node_modules__pnpm_1ly58kw._.js → node_modules__pnpm_0u3u82f._.js} +1 -1
  187. package/.next/server/chunks/ssr/{node_modules__pnpm_1hw4h9e._.js → node_modules__pnpm_0y35hs4._.js} +1 -1
  188. package/.next/server/chunks/ssr/{node_modules__pnpm_0jhh7p5._.js → node_modules__pnpm_104pzhc._.js} +2 -2
  189. package/.next/server/chunks/ssr/{node_modules__pnpm_1gqkoe3._.js → node_modules__pnpm_195j8p_._.js} +1 -1
  190. package/.next/server/chunks/ssr/node_modules__pnpm_1kcnkjs._.js +3 -0
  191. package/.next/server/chunks/ssr/node_modules__pnpm_1kcnkjs._.js.map +1 -0
  192. package/.next/server/chunks/ssr/{node_modules__pnpm_0i0uccx._.js → node_modules__pnpm_1l8k8w1._.js} +1 -1
  193. package/.next/server/chunks/ssr/{node_modules__pnpm_0rd-a9g._.js → node_modules__pnpm_1w0f1m5._.js} +1 -1
  194. package/.next/server/chunks/ssr/{node_modules__pnpm_1gtgu48._.js → node_modules__pnpm_1woddr6._.js} +2 -2
  195. package/.next/server/chunks/ssr/{node_modules__pnpm_0_z3_bl._.js → node_modules__pnpm_1x0t5_z._.js} +1 -1
  196. package/.next/server/chunks/ssr/{node_modules__pnpm_07_kgbe._.js → node_modules__pnpm_1xzf8g_._.js} +1 -1
  197. package/.next/server/chunks/ssr/{node_modules__pnpm_08em703._.js → node_modules__pnpm_1yq90z7._.js} +1 -1
  198. package/.next/server/chunks/ssr/node_modules__pnpm_1yq90z7._.js.map +1 -0
  199. package/.next/server/chunks/ssr/src_app_(app)_chat_page_tsx_0c3e4l4._.js +3 -0
  200. package/.next/server/chunks/ssr/src_app_(app)_chat_page_tsx_0c3e4l4._.js.map +1 -0
  201. package/.next/server/chunks/ssr/src_app_(app)_layout_tsx_1yu5hom._.js +3 -0
  202. package/.next/server/chunks/ssr/src_app_(app)_layout_tsx_1yu5hom._.js.map +1 -0
  203. package/.next/server/chunks/ssr/src_app_(app)_roadmap_page_tsx_0vcq3jr._.js +5 -0
  204. package/.next/server/chunks/ssr/src_app_(app)_roadmap_page_tsx_0vcq3jr._.js.map +1 -0
  205. package/.next/server/chunks/ssr/src_app_(app)_settings_page_tsx_0zevtee._.js +2 -2
  206. package/.next/server/chunks/ssr/src_app_(app)_settings_page_tsx_0zevtee._.js.map +1 -1
  207. package/.next/server/chunks/ssr/src_context_ChatContext_tsx_0lowp8p._.js +5 -0
  208. package/.next/server/chunks/ssr/src_context_ChatContext_tsx_0lowp8p._.js.map +1 -0
  209. package/.next/server/chunks/ssr/{_1wf14_u._.js → src_lib_templates_index_ts_1s61uk7._.js} +2 -2
  210. package/.next/server/chunks/ssr/{_1wf14_u._.js.map → src_lib_templates_index_ts_1s61uk7._.js.map} +1 -1
  211. package/.next/server/middleware-build-manifest.js +3 -3
  212. package/.next/server/next-font-manifest.js +1 -1
  213. package/.next/server/next-font-manifest.json +4 -0
  214. package/.next/server/pages/404.html +1 -1
  215. package/.next/server/pages/500.html +1 -1
  216. package/.next/server/prefetch-hints.json +19 -0
  217. package/.next/server/server-reference-manifest.js +1 -1
  218. package/.next/server/server-reference-manifest.json +1 -1
  219. package/.next/static/chunks/050mq8l4e1ubn.js +1 -0
  220. package/.next/static/chunks/098le48845_fg.js +3 -0
  221. package/.next/static/chunks/0cw4-ebkoufdc.js +1 -0
  222. package/.next/static/chunks/0feo-go1w5nct.js +1 -0
  223. package/.next/static/chunks/14sefb904pl64.js +21 -0
  224. package/.next/static/chunks/1fer-wulyrjrs.js +3 -0
  225. package/.next/static/chunks/1o7b1x4umy8a6.js +1 -0
  226. package/.next/static/chunks/1q_io1j58aukw.js +1 -0
  227. package/.next/static/chunks/1t-cgh4477hfo.js +1 -0
  228. package/.next/static/chunks/1u-1po1qesc9f.js +1 -0
  229. package/.next/static/chunks/1u5kegkgm0xoz.js +1 -0
  230. package/.next/static/chunks/24ygzsgd-moqy.js +1 -0
  231. package/.next/static/chunks/26folxgplfa9t.js +68 -0
  232. package/.next/static/chunks/2ocixvjhv34_3.js +1 -0
  233. package/.next/static/chunks/3_lsdgxa-h7ma.css +10 -0
  234. package/.next/static/chunks/3rmv-sb9w9i3e.js +1 -0
  235. package/.next/static/chunks/3ttzomivj48jh.js +2 -0
  236. package/README.md +1 -1
  237. package/package.json +1 -1
  238. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_08ca0b4._.js +0 -3
  239. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_08ca0b4._.js.map +0 -1
  240. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_0c1k9is._.js +0 -3
  241. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_0c1k9is._.js.map +0 -1
  242. package/.next/server/chunks/ssr/_01suk2m._.js +0 -3
  243. package/.next/server/chunks/ssr/_01suk2m._.js.map +0 -1
  244. package/.next/server/chunks/ssr/_0qyglif._.js +0 -5
  245. package/.next/server/chunks/ssr/_0qyglif._.js.map +0 -1
  246. package/.next/server/chunks/ssr/_0skuoxv._.js +0 -6
  247. package/.next/server/chunks/ssr/_0skuoxv._.js.map +0 -1
  248. package/.next/server/chunks/ssr/_14i_6yb._.js +0 -3
  249. package/.next/server/chunks/ssr/_14i_6yb._.js.map +0 -1
  250. package/.next/server/chunks/ssr/_1cbhuz4._.js +0 -3
  251. package/.next/server/chunks/ssr/_1cbhuz4._.js.map +0 -1
  252. package/.next/server/chunks/ssr/_1ewk_mn._.js +0 -3
  253. package/.next/server/chunks/ssr/_1ewk_mn._.js.map +0 -1
  254. package/.next/server/chunks/ssr/node_modules__pnpm_1dcmsrg._.js +0 -3
  255. package/.next/server/chunks/ssr/node_modules__pnpm_1dcmsrg._.js.map +0 -1
  256. package/.next/server/chunks/ssr/src_components_008q3v8._.js +0 -3
  257. package/.next/server/chunks/ssr/src_components_008q3v8._.js.map +0 -1
  258. package/.next/static/chunks/02sab26ica2x3.js +0 -1
  259. package/.next/static/chunks/0eggcu0ovk8sd.js +0 -68
  260. package/.next/static/chunks/0iva6rdtfqpbz.js +0 -1
  261. package/.next/static/chunks/0qm101bdsxdyh.css +0 -10
  262. package/.next/static/chunks/0wg9n5zb8mo2p.js +0 -1
  263. package/.next/static/chunks/0wjw1laqwg-cr.js +0 -21
  264. package/.next/static/chunks/0z_y7el6m76yk.js +0 -1
  265. package/.next/static/chunks/1-ekntoveuxzd.js +0 -4
  266. package/.next/static/chunks/1g6fxjtlpv6p5.js +0 -1
  267. package/.next/static/chunks/1ytqu-ra-fylk.js +0 -3
  268. package/.next/static/chunks/3dlnlsyyysw5m.js +0 -1
  269. package/.next/static/chunks/3kkg030rcpz7l.js +0 -1
  270. package/.next/static/chunks/3pf_4ye6ju8gt.js +0 -1
  271. /package/.next/server/chunks/{ssr/0_nd_mermaid_dist_mermaid_core_mjs_10jvzv6._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0d2_lq6._.js.map} +0 -0
  272. /package/.next/server/chunks/{ssr/1u84_katex_dist_katex_mjs_05prlqa._.js.map → _next-internal_server_app_api_conversations_route_actions_1-pu7gs.js.map} +0 -0
  273. /package/.next/server/chunks/ssr/{node_modules__pnpm_08em703._.js.map → 0_nd_mermaid_dist_mermaid_core_mjs_0vv_0i3._.js.map} +0 -0
  274. /package/.next/server/chunks/ssr/{node_modules__pnpm_0wnlgm-._.js.map → 1u84_katex_dist_katex_mjs_1z0p1bs._.js.map} +0 -0
  275. /package/.next/server/chunks/ssr/{node_modules__pnpm_1jfqun_._.js.map → _next-internal_server_app_(app)_chat_page_actions_0g4tbzt.js.map} +0 -0
  276. /package/.next/server/chunks/ssr/{node_modules__pnpm_1kngagu._.js.map → node_modules__pnpm_0286-tg._.js.map} +0 -0
  277. /package/.next/server/chunks/ssr/{node_modules__pnpm_1ad2q27._.js.map → node_modules__pnpm_04khl_s._.js.map} +0 -0
  278. /package/.next/server/chunks/ssr/{node_modules__pnpm_0ns_6dd._.js.map → node_modules__pnpm_07t_e8c._.js.map} +0 -0
  279. /package/.next/server/chunks/ssr/{node_modules__pnpm_0baie09._.js.map → node_modules__pnpm_08sqeu2._.js.map} +0 -0
  280. /package/.next/server/chunks/ssr/{node_modules__pnpm_1o3_0-n._.js.map → node_modules__pnpm_0a9b2ei._.js.map} +0 -0
  281. /package/.next/server/chunks/ssr/{node_modules__pnpm_0e15nhj._.js.map → node_modules__pnpm_0ah02mu._.js.map} +0 -0
  282. /package/.next/server/chunks/ssr/{node_modules__pnpm_20tdqv_._.js.map → node_modules__pnpm_0cj8ryj._.js.map} +0 -0
  283. /package/.next/server/chunks/ssr/{node_modules__pnpm_1h890n6._.js.map → node_modules__pnpm_0f77_ng._.js.map} +0 -0
  284. /package/.next/server/chunks/ssr/{node_modules__pnpm_1u8p2h3._.js.map → node_modules__pnpm_0fd3pr1._.js.map} +0 -0
  285. /package/.next/server/chunks/ssr/{node_modules__pnpm_1zu-9we._.js.map → node_modules__pnpm_0gifu-u._.js.map} +0 -0
  286. /package/.next/server/chunks/ssr/{node_modules__pnpm_1_o0jyk._.js.map → node_modules__pnpm_0jpv2b6._.js.map} +0 -0
  287. /package/.next/server/chunks/ssr/{node_modules__pnpm_1f3lm9p._.js.map → node_modules__pnpm_0og06fy._.js.map} +0 -0
  288. /package/.next/server/chunks/ssr/{node_modules__pnpm_12s6q4d._.js.map → node_modules__pnpm_0qc3gsk._.js.map} +0 -0
  289. /package/.next/server/chunks/ssr/{node_modules__pnpm_0e3u5g-._.js.map → node_modules__pnpm_0ts89ne._.js.map} +0 -0
  290. /package/.next/server/chunks/ssr/{node_modules__pnpm_1moe8b6._.js.map → node_modules__pnpm_0ttvopp._.js.map} +0 -0
  291. /package/.next/server/chunks/ssr/{node_modules__pnpm_1ly58kw._.js.map → node_modules__pnpm_0u3u82f._.js.map} +0 -0
  292. /package/.next/server/chunks/ssr/{node_modules__pnpm_1hw4h9e._.js.map → node_modules__pnpm_0y35hs4._.js.map} +0 -0
  293. /package/.next/server/chunks/ssr/{node_modules__pnpm_0jhh7p5._.js.map → node_modules__pnpm_104pzhc._.js.map} +0 -0
  294. /package/.next/server/chunks/ssr/{node_modules__pnpm_1gqkoe3._.js.map → node_modules__pnpm_195j8p_._.js.map} +0 -0
  295. /package/.next/server/chunks/ssr/{node_modules__pnpm_0i0uccx._.js.map → node_modules__pnpm_1l8k8w1._.js.map} +0 -0
  296. /package/.next/server/chunks/ssr/{node_modules__pnpm_0rd-a9g._.js.map → node_modules__pnpm_1w0f1m5._.js.map} +0 -0
  297. /package/.next/server/chunks/ssr/{node_modules__pnpm_1gtgu48._.js.map → node_modules__pnpm_1woddr6._.js.map} +0 -0
  298. /package/.next/server/chunks/ssr/{node_modules__pnpm_0_z3_bl._.js.map → node_modules__pnpm_1x0t5_z._.js.map} +0 -0
  299. /package/.next/server/chunks/ssr/{node_modules__pnpm_07_kgbe._.js.map → node_modules__pnpm_1xzf8g_._.js.map} +0 -0
  300. /package/.next/static/{ICaoXcRMmgrIFWk8C_Z6D → uJ5RYxgFnE5svAvnuLDXN}/_buildManifest.js +0 -0
  301. /package/.next/static/{ICaoXcRMmgrIFWk8C_Z6D → uJ5RYxgFnE5svAvnuLDXN}/_clientMiddlewareManifest.js +0 -0
  302. /package/.next/static/{ICaoXcRMmgrIFWk8C_Z6D → uJ5RYxgFnE5svAvnuLDXN}/_ssgManifest.js +0 -0
@@ -1,3 +0,0 @@
1
- module.exports=[196265,a=>{"use strict";var b=Object.defineProperty,c=(a,c)=>b(a,"name",{value:c,configurable:!0});function d(a,b,{checkForDefaultPrevented:e=!0}={}){return c(function(c){if(a?.(c),!1===e||!c||!c.defaultPrevented)return b?.(c)},"handleEvent")}function e(a){throw Error("Cannot access document outside of the DOM")}function f(a){return"IFRAME"===a.tagName}c(d,"composeEventHandlers"),c(function(a){throw Error("Cannot access window outside of the DOM")},"getOwnerWindow"),c(e,"getOwnerDocument"),c(function a(b,c=!1){let{activeElement:d}=e(b);if(!d?.nodeName)return null;if(f(d)&&d.contentDocument)return a(d.contentDocument.body,c);if(c){let a=d.getAttribute("aria-activedescendant");if(a){let b=e(d).getElementById(a);if(b)return b}}return d},"getActiveElement"),c(f,"isFrame"),a.s(["composeEventHandlers",0,d])},777516,a=>{"use strict";a.s(["IS_DEVELOPMENT",0,!1])},521831,a=>{"use strict";var b=a.i(174897),c=Object.defineProperty,d=(a,b)=>c(a,"name",{value:b,configurable:!0});function e(a,b){if("function"==typeof a)return a(b);null!=a&&(a.current=b)}function f(...a){return b=>{let c=!1,d=a.map(a=>{let d=e(a,b);return c||"function"!=typeof d||(c=!0),d});if(c)return()=>{for(let b=0;b<d.length;b++){let c=d[b];"function"==typeof c?c():e(a[b],null)}}}}function g(...a){return b.useCallback(f(...a),a)}d(e,"setRef"),d(f,"composeRefs"),d(g,"useComposedRefs"),a.s(["useComposedRefs",0,g])},691321,a=>{"use strict";var b=a.i(174897),c=a.i(662145),d=Object.defineProperty,e=(a,b)=>d(a,"name",{value:b,configurable:!0});function f(a,d=[]){let h=[];function i(d,f){let g=b.createContext(f);g.displayName=d+"Context";let i=h.length;h=[...h,f];let j=e(d=>{let{scope:e,children:f,...h}=d,j=e?.[a]?.[i]||g,k=b.useMemo(()=>h,Object.values(h));return(0,c.jsx)(j.Provider,{value:k,children:f})},"Provider");function k(c,e,h={}){let{optional:j=!1}=h,l=e?.[a]?.[i]||g,m=b.useContext(l);if(m)return m;if(void 0!==f)return f;if(!j)throw Error(`\`${c}\` must be used within \`${d}\``)}return j.displayName=d+"Provider",e(k,"useContext"),[j,k]}e(i,"createContext");let j=e(()=>{let c=h.map(a=>b.createContext(a));return e(function(d){let e=d?.[a]||c;return b.useMemo(()=>({[`__scope${a}`]:{...d,[a]:e}}),[d,e])},"useScope")},"createScope");return j.scopeName=a,[i,g(j,...d)]}function g(...a){let c=a[0];if(1===a.length)return c;let d=e(()=>{let d=a.map(a=>({useScope:a(),scopeName:a.scopeName}));return e(function(a){let e=d.reduce((b,{useScope:c,scopeName:d})=>{let e=c(a)[`__scope${d}`];return{...b,...e}},{});return b.useMemo(()=>({[`__scope${c.scopeName}`]:e}),[e])},"useComposedScopes")},"createScope");return d.scopeName=c.scopeName,d}e(function(a,d){let f=b.createContext(d);f.displayName=a+"Context";let g=e(a=>{let{children:d,...e}=a,g=b.useMemo(()=>e,Object.values(e));return(0,c.jsx)(f.Provider,{value:g,children:d})},"Provider");function h(c,e={}){let{optional:g=!1}=e,i=b.useContext(f);if(i)return i;if(void 0!==d)return d;if(!g)throw Error(`\`${c}\` must be used within \`${a}\``)}return g.displayName=a+"Provider",e(h,"useContext"),[g,h]},"createContext"),e(f,"createContextScope"),e(g,"composeContextScopes"),a.s(["createContextScope",0,f])},635163,a=>{"use strict";var b=a.i(174897),c=a.i(967683),d=Object.defineProperty,e=b[" useId ".trim().toString()]||(()=>void 0),f=0;function g(a){let[d,g]=b.useState(e());return(0,c.useLayoutEffect)(()=>{a||g(a=>a??String(f++))},[a]),a||(d?`radix-${d}`:"")}d(g,"name",{value:"useId",configurable:!0}),a.s(["useId",0,g])},818920,a=>{"use strict";var b=a.i(174897),c=a.i(967683),d=Object.defineProperty,e=(a,b)=>d(a,"name",{value:b,configurable:!0});function f(a,c){return b.useReducer((a,b)=>c[a][b]??a,a)}e(f,"useStateMachine");var g=e(a=>{let{present:c,children:d}=a,e=h(c),f="function"==typeof d?d({present:e.isPresent}):b.Children.only(d),g=j(e.ref,l(f));return"function"==typeof d||e.isPresent?b.cloneElement(f,{ref:g}):null},"Presence");function h(a){let[d,g]=b.useState(),h=b.useRef(null),i=b.useRef(a),j=b.useRef("none"),l=b.useRef(void 0),[m,n]=f(a?"mounted":"unmounted",{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return b.useEffect(()=>{"mounted"===m?(j.current=l.current??k(h.current),l.current=void 0):j.current="none"},[m]),(0,c.useLayoutEffect)(()=>{let b=h.current,c=i.current;if(c!==a){let d=j.current,e=k(b);a?(l.current=e,n("MOUNT")):"none"===e||b?.display==="none"?n("UNMOUNT"):c&&d!==e?n("ANIMATION_OUT"):n("UNMOUNT"),i.current=a}},[a,n]),(0,c.useLayoutEffect)(()=>{if(d){let a,b=d.ownerDocument.defaultView??window,c=e(c=>{let e=k(h.current).includes(CSS.escape(c.animationName));if(c.target===d&&e&&(n("ANIMATION_END"),!i.current)){let c=d.style.animationFillMode;d.style.animationFillMode="forwards",a=b.setTimeout(()=>{"forwards"===d.style.animationFillMode&&(d.style.animationFillMode=c)})}},"handleAnimationEnd"),f=e(a=>{a.target===d&&(j.current=k(h.current))},"handleAnimationStart");return d.addEventListener("animationstart",f),d.addEventListener("animationcancel",c),d.addEventListener("animationend",c),()=>{b.clearTimeout(a),d.removeEventListener("animationstart",f),d.removeEventListener("animationcancel",c),d.removeEventListener("animationend",c)}}n("ANIMATION_END")},[d,n]),{isPresent:["mounted","unmountSuspended"].includes(m),ref:b.useCallback(a=>{if(a){let b=getComputedStyle(a);h.current=b,l.current=k(b)}else h.current=null;g(a)},[])}}function i(a,b){if("function"==typeof a)return a(b);null!=a&&(a.current=b)}function j(...a){let c=b.useRef(a);return c.current=a,b.useCallback(a=>{let b=c.current,d=!1,e=b.map(b=>{let c=i(b,a);return d||"function"!=typeof c||(d=!0),c});if(d)return()=>{for(let a=0;a<e.length;a++){let c=e[a];"function"==typeof c?c():i(b[a],null)}}},[])}function k(a){return a?.animationName||"none"}function l(a){let b=Object.getOwnPropertyDescriptor(a.props,"ref")?.get,c=b&&"isReactWarning"in b&&b.isReactWarning;return c?a.ref:(c=(b=Object.getOwnPropertyDescriptor(a,"ref")?.get)&&"isReactWarning"in b&&b.isReactWarning)?a.props.ref:a.props.ref||a.ref}e(h,"usePresence"),e(i,"setRef"),e(j,"useStableComposedRefs"),e(k,"getAnimationName"),e(l,"getElementRef"),a.s(["Presence",0,g])},436102,a=>{"use strict";var b=a.i(174897),c=a.i(41721),d=a.i(776692),e=a.i(662145),f=Object.defineProperty,g=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((a,c)=>{let f=(0,d.createSlot)(`Primitive.${c}`),g=b.forwardRef((a,b)=>{let{asChild:d,...g}=a;return(0,e.jsx)(d?f:c,{...g,ref:b})});return g.displayName=`Primitive.${c}`,{...a,[c]:g}},{});function h(a,b){a&&c.flushSync(()=>a.dispatchEvent(b))}f(h,"name",{value:"dispatchDiscreteCustomEvent",configurable:!0}),a.s(["Primitive",0,g,"dispatchDiscreteCustomEvent",0,h])},776692,a=>{"use strict";var b=a.i(174897),c=a.i(521831),d=Object.defineProperty,e=(a,b)=>d(a,"name",{value:b,configurable:!0});function f(a){let d=b.forwardRef((d,e)=>{let{children:f,...g}=d,h=null,i=!1,n=[];o(f)&&"function"==typeof s&&(f=s(f._payload)),b.Children.forEach(f,a=>{if(m(a)){i=!0;let b="child"in a.props?a.props.child:a.props.children;o(b)&&"function"==typeof s&&(b=s(b._payload)),h=j(a,b),n.push(h?.props?.children)}else n.push(a)}),h?h=b.cloneElement(h,void 0,n):!i&&1===b.Children.count(f)&&b.isValidElement(f)&&(h=f);let p=h?l(h):void 0,t=(0,c.useComposedRefs)(e,p);if(!h){if(f||0===f)throw Error(i?r(a):q(a));return f}let u=k(g,h.props??{});return h.type!==b.Fragment&&(u.ref=e?t:p),b.cloneElement(h,u)});return d.displayName=`${a}.Slot`,d}e(f,"createSlot");var g=f("Slot"),h=Symbol.for("radix.slottable");function i(a){let b=e(a=>"child"in a?a.children(a.child):a.children,"Slottable");return b.displayName=`${a}.Slottable`,b.__radixId=h,b}e(i,"createSlottable");var j=e((a,c)=>{if("child"in a.props){let c=a.props.child;return b.isValidElement(c)?b.cloneElement(c,void 0,a.props.children(c.props.children)):null}return b.isValidElement(c)?c:null},"getSlottableElementFromSlottable");function k(a,b){let c={...b};for(let d in b){let e=a[d],f=b[d];/^on[A-Z]/.test(d)?e&&f?c[d]=(...a)=>{let b=f(...a);return e(...a),b}:e&&(c[d]=e):"style"===d?c[d]={...e,...f}:"className"===d&&(c[d]=[e,f].filter(Boolean).join(" "))}return{...a,...c}}function l(a){let b=Object.getOwnPropertyDescriptor(a.props,"ref")?.get,c=b&&"isReactWarning"in b&&b.isReactWarning;return c?a.ref:(c=(b=Object.getOwnPropertyDescriptor(a,"ref")?.get)&&"isReactWarning"in b&&b.isReactWarning)?a.props.ref:a.props.ref||a.ref}function m(a){return b.isValidElement(a)&&"function"==typeof a.type&&"__radixId"in a.type&&a.type.__radixId===h}e(k,"mergeProps"),e(l,"getElementRef"),e(m,"isSlottable");var n=Symbol.for("react.lazy");function o(a){return null!=a&&"object"==typeof a&&"$$typeof"in a&&a.$$typeof===n&&"_payload"in a&&p(a._payload)}function p(a){return"object"==typeof a&&null!==a&&"then"in a}e(o,"isLazyComponent"),e(p,"isPromiseLike");var q=e(a=>`${a} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,"createSlotError"),r=e(a=>`${a} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,"createSlottableError"),s=b[" use ".trim().toString()];a.s(["Slot",0,g,"createSlot",0,f,"createSlottable",0,i])},133387,a=>{"use strict";var b=a.i(174897);function c(a){let c=b.useRef(a);return b.useEffect(()=>{c.current=a}),b.useMemo(()=>(...a)=>c.current?.(...a),[])}(0,Object.defineProperty)(c,"name",{value:"useCallbackRef",configurable:!0}),a.s(["useCallbackRef",0,c])},541151,a=>{"use strict";var b=a.i(174897),c=a.i(777516),d=a.i(967683),e=Object.defineProperty,f=b[" useEffectEvent ".trim().toString()],g=b[" useInsertionEffect ".trim().toString()];function h(a){if("function"==typeof f)return f(a);let c=b.useRef(()=>{throw Error("Cannot call an event handler while rendering.")});return"function"==typeof g?g(()=>{c.current=a}):(0,d.useLayoutEffect)(()=>{c.current=a}),b.useMemo(()=>(...a)=>c.current?.(...a),[])}e(h,"name",{value:"useEffectEvent",configurable:!0});var i=Object.defineProperty,j=(a,b)=>i(a,"name",{value:b,configurable:!0}),k=b[" useInsertionEffect ".trim().toString()]||d.useLayoutEffect;function l({prop:a,defaultProp:d,onChange:e=j(()=>{},"onChange"),caller:f}){let[g,h,i]=m({defaultProp:d,onChange:e}),k=void 0!==a,o=k?a:g;if(c.IS_DEVELOPMENT){let c=b.useRef(void 0!==a);b.useEffect(()=>{let a=c.current;if(a!==k){let b=k?"controlled":"uncontrolled";console.warn(`${f} is changing from ${a?"controlled":"uncontrolled"} to ${b}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`)}c.current=k},[k,f])}return[o,b.useCallback(b=>{if(k){let c=n(b)?b(a):b;c!==a&&i.current?.(c)}else h(b)},[k,a,h,i])]}function m({defaultProp:a,onChange:c}){let[d,e]=b.useState(a),f=b.useRef(d),g=b.useRef(c);return k(()=>{g.current=c},[c]),b.useEffect(()=>{f.current!==d&&(g.current?.(d),f.current=d)},[d,f]),[d,e,g]}function n(a){return"function"==typeof a}j(l,"useControllableState"),j(m,"useUncontrolledState"),j(n,"isFunction");var o=Symbol("RADIX:SYNC_STATE");j(function(a,d,e,f){let{prop:g,defaultProp:i,onChange:j,caller:k}=d,l=void 0!==g,m=h(j);if(c.IS_DEVELOPMENT){let a=b.useRef(void 0!==g);b.useEffect(()=>{let b=a.current;if(b!==l){let a=l?"controlled":"uncontrolled";console.warn(`${k} is changing from ${b?"controlled":"uncontrolled"} to ${a}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`)}a.current=l},[l,k])}let n=[{...e,state:i}];f&&n.push(f);let[p,q]=b.useReducer((b,c)=>{if(c.type===o)return{...b,state:c.state};let d=a(b,c);return l&&!Object.is(d.state,b.state)&&m(d.state),d},...n),r=p.state,s=b.useRef(r);b.useEffect(()=>{s.current!==r&&(s.current=r,l||m(r))},[r,s,l]);let t=b.useMemo(()=>void 0!==g?{...p,state:g}:p,[p,g]);return b.useEffect(()=>{l&&!Object.is(g,p.state)&&q({type:o,state:g})},[g,p.state,l]),[t,q]},"useControllableStateReducer"),a.s(["useControllableState",0,l],541151)},967683,a=>{"use strict";var b=a.i(174897),c=globalThis?.document?b.useLayoutEffect:()=>{};a.s(["useLayoutEffect",0,c])},142261,a=>{"use strict";var b=a.i(239337);let c=a=>"boolean"==typeof a?`${a}`:0===a?"0":a,d=b.clsx;a.s(["cva",0,(a,b)=>e=>{var f;if((null==b?void 0:b.variants)==null)return d(a,null==e?void 0:e.class,null==e?void 0:e.className);let{variants:g,defaultVariants:h}=b,i=Object.keys(g).map(a=>{let b=null==e?void 0:e[a],d=null==h?void 0:h[a];if(null===b)return null;let f=c(b)||c(d);return g[a][f]}),j=e&&Object.entries(e).reduce((a,b)=>{let[c,d]=b;return void 0===d||(a[c]=d),a},{});return d(a,i,null==b||null==(f=b.compoundVariants)?void 0:f.reduce((a,b)=>{let{class:c,className:d,...e}=b;return Object.entries(e).every(a=>{let[b,c]=a;return Array.isArray(c)?c.includes({...h,...j}[b]):({...h,...j})[b]===c})?[...a,c,d]:a},[]),null==e?void 0:e.class,null==e?void 0:e.className)}])},699570,a=>{"use strict";var b=a.i(662145),c=a.i(174897),d=a.i(776692),e=a.i(142261),f=a.i(368114);let g=(0,e.cva)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-bg transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-accent text-white hover:bg-accent/90",destructive:"bg-danger text-white hover:bg-danger/90",outline:"border border-border bg-bg hover:bg-surface2 hover:text-txt",secondary:"bg-surface2 text-txt hover:bg-surface2/80",ghost:"hover:bg-surface2 hover:text-txt",link:"text-txt underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),h=c.forwardRef(({className:a,variant:c,size:e,asChild:h=!1,...i},j)=>{let k=h?d.Slot:"button";return(0,b.jsx)(k,{className:(0,f.cn)(g({variant:c,size:e,className:a})),ref:j,...i})});h.displayName="Button",a.s(["Button",0,h])}];
2
-
3
- //# sourceMappingURL=_14i_6yb._.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../node_modules/.pnpm/%40radix-ui%2Bprimitive%401.1.7/node_modules/%40radix-ui/primitive/src/primitive.tsx","../../../../node_modules/.pnpm/%40radix-ui%2Bprimitive%401.1.7/node_modules/%40radix-ui/primitive/src/internal/is-development.false.ts","../../../../node_modules/.pnpm/%40radix-ui%2Breact-compose-refs%401.1.5_%40types%2Breact%4019.3.0_react%4019.3.0/node_modules/%40radix-ui/react-compose-refs/src/compose-refs.tsx","../../../../node_modules/.pnpm/%40radix-ui%2Breact-context%401.2.2_%40types%2Breact%4019.3.0_react%4019.3.0/node_modules/%40radix-ui/react-context/src/create-context.tsx","../../../../node_modules/.pnpm/%40radix-ui%2Breact-id%401.1.4_%40types%2Breact%4019.3.0_react%4019.3.0/node_modules/%40radix-ui/react-id/src/id.tsx","../../../../node_modules/.pnpm/%40radix-ui%2Breact-presence%401.1.10_%40types%2Breact-dom%4019.3.0_%40types%2Breact%4019.3.0__%40types%2Brea_2fe228634386b203c3622b9fd60e1034/node_modules/%40radix-ui/react-presence/src/presence.tsx","../../../../node_modules/.pnpm/%40radix-ui%2Breact-presence%401.1.10_%40types%2Breact-dom%4019.3.0_%40types%2Breact%4019.3.0__%40types%2Brea_2fe228634386b203c3622b9fd60e1034/node_modules/%40radix-ui/react-presence/src/use-state-machine.tsx","../../../../node_modules/.pnpm/%40radix-ui%2Breact-primitive%402.1.10_%40types%2Breact-dom%4019.3.0_%40types%2Breact%4019.3.0__%40types%2Bre_f83f88542c24ef44463bf36336741c4c/node_modules/%40radix-ui/react-primitive/src/primitive.tsx","../../../../node_modules/.pnpm/%40radix-ui%2Breact-slot%401.3.3_%40types%2Breact%4019.3.0_react%4019.3.0/node_modules/%40radix-ui/react-slot/src/slot.tsx","../../../../node_modules/.pnpm/%40radix-ui%2Breact-use-callback-ref%401.1.4_%40types%2Breact%4019.3.0_react%4019.3.0/node_modules/%40radix-ui/react-use-callback-ref/src/use-callback-ref.tsx","../../../../node_modules/.pnpm/%40radix-ui%2Breact-use-effect-event%400.0.5_%40types%2Breact%4019.3.0_react%4019.3.0/node_modules/%40radix-ui/react-use-effect-event/dist/index.mjs","../../../../node_modules/.pnpm/%40radix-ui%2Breact-use-controllable-state%401.2.6_%40types%2Breact%4019.3.0_react%4019.3.0/node_modules/%40radix-ui/react-use-controllable-state/dist/index.mjs","../../../../node_modules/.pnpm/%40radix-ui%2Breact-use-layout-effect%401.1.4_%40types%2Breact%4019.3.0_react%4019.3.0/node_modules/%40radix-ui/react-use-layout-effect/src/use-layout-effect.tsx","../../../../node_modules/.pnpm/class-variance-authority%400.7.1/node_modules/class-variance-authority/dist/index.mjs","../../../../src/components/ui/button.tsx"],"sourcesContent":["/* eslint-disable no-restricted-properties */\n\n/* eslint-disable no-restricted-globals */\nexport const canUseDOM = !!(\n typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement\n);\n/* eslint-enable no-restricted-globals */\n\nexport function composeEventHandlers<E extends { defaultPrevented: boolean }>(\n originalEventHandler?: (event: E) => void,\n ourEventHandler?: (event: E) => void,\n { checkForDefaultPrevented = true } = {},\n) {\n return function handleEvent(event: E) {\n originalEventHandler?.(event);\n\n if (checkForDefaultPrevented === false || !event || !event.defaultPrevented) {\n return ourEventHandler?.(event);\n }\n };\n}\n\nexport function getOwnerWindow(element: Node | null | undefined) {\n if (!canUseDOM) {\n throw new Error('Cannot access window outside of the DOM');\n }\n // eslint-disable-next-line no-restricted-globals\n return element?.ownerDocument?.defaultView ?? window;\n}\n\nexport function getOwnerDocument(element: Node | null | undefined) {\n if (!canUseDOM) {\n throw new Error('Cannot access document outside of the DOM');\n }\n // eslint-disable-next-line no-restricted-globals\n return element?.ownerDocument ?? document;\n}\n\n/**\n * Lifted from https://github.com/ariakit/ariakit/blob/main/packages/ariakit-core/src/utils/dom.ts#L37\n * MIT License, Copyright (c) AriaKit.\n */\nexport function getActiveElement(\n node: Node | null | undefined,\n activeDescendant = false,\n): HTMLElement | null {\n const { activeElement } = getOwnerDocument(node);\n if (!activeElement?.nodeName) {\n // `activeElement` might be an empty object if we're interacting with elements\n // inside of an iframe.\n return null;\n }\n\n if (isFrame(activeElement) && activeElement.contentDocument) {\n return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n }\n\n if (activeDescendant) {\n const id = activeElement.getAttribute('aria-activedescendant');\n if (id) {\n const element = getOwnerDocument(activeElement).getElementById(id);\n if (element) {\n return element;\n }\n }\n }\n\n return activeElement as HTMLElement | null;\n}\n\nexport function isFrame(element: Element): element is HTMLIFrameElement {\n return element.tagName === 'IFRAME';\n}\n","export const IS_DEVELOPMENT = false;\n","import * as React from 'react';\n\ntype PossibleRef<T> = React.Ref<T> | undefined;\n\n/**\n * Set a given ref to a given value\n * This utility takes care of different types of refs: callback refs and RefObject(s)\n */\nfunction setRef<T>(ref: PossibleRef<T>, value: T) {\n if (typeof ref === 'function') {\n return ref(value);\n } else if (ref !== null && ref !== undefined) {\n ref.current = value;\n }\n}\n\n/**\n * A utility to compose multiple refs together\n * Accepts callback refs and RefObject(s)\n */\nfunction composeRefs<T>(...refs: PossibleRef<T>[]): React.RefCallback<T> {\n return (node) => {\n let hasCleanup = false;\n const cleanups = refs.map((ref) => {\n const cleanup = setRef(ref, node);\n if (!hasCleanup && typeof cleanup == 'function') {\n hasCleanup = true;\n }\n return cleanup;\n });\n\n // React <19 will log an error to the console if a callback ref returns a\n // value. We don't use ref cleanups internally so this will only happen if a\n // user's ref callback returns a value, which we only expect if they are\n // using the cleanup functionality added in React 19.\n if (hasCleanup) {\n return () => {\n for (let i = 0; i < cleanups.length; i++) {\n const cleanup = cleanups[i];\n if (typeof cleanup == 'function') {\n cleanup();\n } else {\n setRef(refs[i], null);\n }\n }\n };\n }\n };\n}\n\n/**\n * A custom hook that composes multiple refs\n * Accepts callback refs and RefObject(s)\n */\nfunction useComposedRefs<T>(...refs: PossibleRef<T>[]): React.RefCallback<T> {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return React.useCallback(composeRefs(...refs), refs);\n}\n\nexport { composeRefs, useComposedRefs };\n","import * as React from 'react';\n\ntype ContextProvider<ContextValueType extends object | null> = React.FC<\n ContextValueType & {\n children: React.ReactNode;\n }\n>;\n\ninterface UseAssertedContext<ContextValueType extends object | null> {\n (consumerName: string): ContextValueType;\n}\n\ninterface UseContext<ContextValueType extends object | null> {\n (consumerName: string): ContextValueType;\n (consumerName: string, options: { optional: true }): ContextValueType | undefined;\n}\n\nfunction createContext<ContextValueType extends object | null>(\n rootComponentName: string,\n): readonly [ContextProvider<ContextValueType>, UseContext<ContextValueType>];\nfunction createContext<ContextValueType extends object | null>(\n rootComponentName: string,\n defaultContext: ContextValueType,\n): readonly [ContextProvider<ContextValueType>, UseAssertedContext<ContextValueType>];\n\n/* @__NO_SIDE_EFFECTS__ */ function createContext<ContextValueType extends object | null>(\n rootComponentName: string,\n defaultContext?: ContextValueType,\n): readonly [ContextProvider<ContextValueType>, UseContext<ContextValueType>] {\n const Context = React.createContext<ContextValueType | undefined>(defaultContext);\n Context.displayName = rootComponentName + 'Context';\n\n const Provider: ContextProvider<ContextValueType> = (props) => {\n const { children, ...context } = props;\n // Only re-memoize when prop values change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const value = React.useMemo(() => context, Object.values(context)) as ContextValueType;\n return <Context.Provider value={value}>{children}</Context.Provider>;\n };\n\n Provider.displayName = rootComponentName + 'Provider';\n\n function useContext(consumerName: string): ContextValueType;\n function useContext(\n consumerName: string,\n options: { optional: true },\n ): ContextValueType | undefined;\n\n function useContext(\n consumerName: string,\n options: { optional?: boolean } = {},\n ): ContextValueType | undefined {\n const { optional = false } = options;\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== undefined) return defaultContext;\n if (optional) return undefined;\n // if a defaultContext wasn't specified, it's a required context.\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n\n return [Provider, useContext];\n}\n\n/* -------------------------------------------------------------------------------------------------\n * createContextScope\n * -----------------------------------------------------------------------------------------------*/\n\ntype Scope<C = any> = { [scopeName: string]: React.Context<C>[] } | undefined;\ntype ScopeHook = (scope: Scope) => { [__scopeProp: string]: Scope };\ninterface CreateScope {\n scopeName: string;\n (): ScopeHook;\n}\n\ntype ScopedContextProvider<ContextValueType extends object | null> = React.FC<\n ContextValueType & {\n scope: Scope<ContextValueType>;\n children: React.ReactNode;\n }\n>;\n\ninterface UseScopedContext<ContextValueType extends object | null> {\n (consumerName: string, scope: Scope<ContextValueType | undefined>): ContextValueType;\n (\n consumerName: string,\n scope: Scope<ContextValueType | undefined>,\n options: { optional?: true },\n ): ContextValueType | undefined;\n}\n\ninterface UseAssertedScopedContext<ContextValueType extends object | null> {\n (consumerName: string, scope: Scope<ContextValueType | undefined>): ContextValueType;\n}\n\ninterface CreateScopedContext {\n <ContextValueType extends object | null>(\n rootComponentName: string,\n ): readonly [ScopedContextProvider<ContextValueType>, UseScopedContext<ContextValueType>];\n <ContextValueType extends object | null>(\n rootComponentName: string,\n defaultContext: ContextValueType,\n ): readonly [ScopedContextProvider<ContextValueType>, UseAssertedScopedContext<ContextValueType>];\n}\n\n/* @__NO_SIDE_EFFECTS__ */ function createContextScope(\n scopeName: string,\n createContextScopeDeps: CreateScope[] = [],\n): readonly [CreateScopedContext, CreateScope] {\n let defaultContexts: any[] = [];\n\n /* -----------------------------------------------------------------------------------------------\n * createContext\n * ---------------------------------------------------------------------------------------------*/\n\n function createContext<ContextValueType extends object | null>(\n rootComponentName: string,\n defaultContext?: ContextValueType,\n ) {\n const BaseContext = React.createContext<ContextValueType | undefined>(defaultContext);\n BaseContext.displayName = rootComponentName + 'Context';\n const index = defaultContexts.length;\n defaultContexts = [...defaultContexts, defaultContext];\n\n const Provider: ScopedContextProvider<ContextValueType> = (props) => {\n const { scope, children, ...context } = props;\n const Context = scope?.[scopeName]?.[index] || BaseContext;\n // Only re-memoize when prop values change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const value = React.useMemo(() => context, Object.values(context)) as ContextValueType;\n return <Context.Provider value={value}>{children}</Context.Provider>;\n };\n\n Provider.displayName = rootComponentName + 'Provider';\n\n function useContext(\n consumerName: string,\n scope: Scope<ContextValueType | undefined>,\n ): ContextValueType;\n function useContext(\n consumerName: string,\n scope: Scope<ContextValueType | undefined>,\n options: { optional: true },\n ): ContextValueType | undefined;\n\n function useContext(\n consumerName: string,\n scope: Scope<ContextValueType | undefined>,\n options: { optional?: boolean } = {},\n ): ContextValueType | undefined {\n const { optional = false } = options;\n const Context = scope?.[scopeName]?.[index] || BaseContext;\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== undefined) return defaultContext;\n if (optional) return undefined;\n // if a defaultContext wasn't specified, it's a required context.\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n\n return [Provider, useContext] as const;\n }\n\n /* -----------------------------------------------------------------------------------------------\n * createScope\n * ---------------------------------------------------------------------------------------------*/\n\n const createScope: CreateScope = () => {\n const scopeContexts = defaultContexts.map((defaultContext) => {\n return React.createContext(defaultContext);\n });\n return function useScope(scope: Scope) {\n const contexts = scope?.[scopeName] || scopeContexts;\n return React.useMemo(\n () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n [scope, contexts],\n );\n };\n };\n\n createScope.scopeName = scopeName;\n return [createContext, composeContextScopes(createScope, ...createContextScopeDeps)] as const;\n}\n\n/* -------------------------------------------------------------------------------------------------\n * composeContextScopes\n * -----------------------------------------------------------------------------------------------*/\n\nfunction composeContextScopes(...scopes: [CreateScope, ...CreateScope[]]): CreateScope {\n const baseScope = scopes[0];\n if (scopes.length === 1) return baseScope;\n\n const createScope: CreateScope = () => {\n const scopeHooks = scopes.map((createScope) => ({\n useScope: createScope(),\n scopeName: createScope.scopeName,\n }));\n\n return function useComposedScopes(overrideScopes) {\n const nextScopes = scopeHooks.reduce((nextScopes, { useScope, scopeName }) => {\n // We are calling a hook inside a callback which React warns against to avoid inconsistent\n // renders, however, scoping doesn't have render side effects so we ignore the rule.\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const scopeProps = useScope(overrideScopes);\n const currentScope = scopeProps[`__scope${scopeName}`];\n return { ...nextScopes, ...currentScope };\n }, {});\n\n return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n };\n };\n\n createScope.scopeName = baseScope.scopeName;\n return createScope;\n}\n\n/* -----------------------------------------------------------------------------------------------*/\n\nexport { createContext, createContextScope };\nexport type {\n CreateScope,\n CreateScopedContext,\n Scope,\n UseAssertedContext,\n UseAssertedScopedContext,\n UseContext,\n UseScopedContext,\n};\n","import * as React from 'react';\nimport { useLayoutEffect } from '@radix-ui/react-use-layout-effect';\n\n// We spaces with `.trim().toString()` to prevent bundlers from trying to `import { useId } from 'react';`\nconst useReactId = (React as any)[' useId '.trim().toString()] || (() => undefined);\nlet count = 0;\n\nfunction useId(deterministicId?: string): string {\n const [id, setId] = React.useState<string | undefined>(useReactId());\n // React versions older than 18 will have client-side ids only.\n useLayoutEffect(() => {\n if (!deterministicId) setId((reactId) => reactId ?? String(count++));\n }, [deterministicId]);\n return deterministicId || (id ? `radix-${id}` : '');\n}\n\nexport { useId };\n","import * as React from 'react';\nimport { useLayoutEffect } from '@radix-ui/react-use-layout-effect';\nimport { useStateMachine } from './use-state-machine';\n\ninterface PresenceProps {\n children: React.ReactElement | ((props: { present: boolean }) => React.ReactElement);\n present: boolean;\n}\n\nconst Presence: React.FC<PresenceProps> = (props) => {\n const { present, children } = props;\n const presence = usePresence(present);\n\n const child = (\n typeof children === 'function'\n ? children({ present: presence.isPresent })\n : React.Children.only(children)\n ) as React.ReactElement<{ ref?: React.Ref<HTMLElement> }>;\n\n const ref = useStableComposedRefs(presence.ref, getElementRef(child));\n const forceMount = typeof children === 'function';\n return forceMount || presence.isPresent ? React.cloneElement(child, { ref }) : null;\n};\n\n/* -------------------------------------------------------------------------------------------------\n * usePresence\n * -----------------------------------------------------------------------------------------------*/\n\nfunction usePresence(present: boolean) {\n const [node, setNode] = React.useState<HTMLElement>();\n const stylesRef = React.useRef<CSSStyleDeclaration | null>(null);\n const prevPresentRef = React.useRef(present);\n const prevAnimationNameRef = React.useRef<string>('none');\n const mountAnimationNameRef = React.useRef<string | undefined>(undefined);\n const initialState = present ? 'mounted' : 'unmounted';\n const [state, send] = useStateMachine(initialState, {\n mounted: {\n UNMOUNT: 'unmounted',\n ANIMATION_OUT: 'unmountSuspended',\n },\n unmountSuspended: {\n MOUNT: 'mounted',\n ANIMATION_END: 'unmounted',\n },\n unmounted: {\n MOUNT: 'mounted',\n },\n });\n\n React.useEffect(() => {\n if (state === 'mounted') {\n // Use the animation name captured during the layout phase (or the ref\n // callback on first mount). By the time this passive effect runs,\n // sibling effects like react-remove-scroll and DismissableLayer may have\n // dirtied body styles, so re-reading from the live CSSStyleDeclaration\n // here would force an expensive synchronous style recalculation.\n // See: https://github.com/radix-ui/primitives/issues/1634\n prevAnimationNameRef.current =\n mountAnimationNameRef.current ?? getAnimationName(stylesRef.current);\n mountAnimationNameRef.current = undefined;\n } else {\n prevAnimationNameRef.current = 'none';\n }\n }, [state]);\n\n useLayoutEffect(() => {\n const styles = stylesRef.current;\n const wasPresent = prevPresentRef.current;\n const hasPresentChanged = wasPresent !== present;\n\n if (hasPresentChanged) {\n const prevAnimationName = prevAnimationNameRef.current;\n const currentAnimationName = getAnimationName(styles);\n\n if (present) {\n // Capture the animation name now, while styles are still \"clean\"\n // (before sibling passive effects dirty the body). The later passive\n // effect will read from this ref instead of the live\n // CSSStyleDeclaration, avoiding a forced style recalculation.\n mountAnimationNameRef.current = currentAnimationName;\n send('MOUNT');\n } else if (currentAnimationName === 'none' || styles?.display === 'none') {\n // If there is no exit animation or the element is hidden, animations won't run\n // so we unmount instantly\n send('UNMOUNT');\n } else {\n /**\n * When `present` changes to `false`, we check changes to animation-name to\n * determine whether an animation has started. We chose this approach (reading\n * computed styles) because there is no `animationrun` event and `animationstart`\n * fires after `animation-delay` has expired which would be too late.\n */\n const isAnimating = prevAnimationName !== currentAnimationName;\n\n if (wasPresent && isAnimating) {\n send('ANIMATION_OUT');\n } else {\n send('UNMOUNT');\n }\n }\n\n prevPresentRef.current = present;\n }\n }, [present, send]);\n\n useLayoutEffect(() => {\n if (node) {\n let timeoutId: number;\n const ownerWindow = node.ownerDocument.defaultView ?? window;\n /**\n * Triggering an ANIMATION_OUT during an ANIMATION_IN will fire an `animationcancel`\n * event for ANIMATION_IN after we have entered `unmountSuspended` state. So, we\n * make sure we only trigger ANIMATION_END for the currently active animation.\n */\n const handleAnimationEnd = (event: AnimationEvent) => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n // The event.animationName is unescaped for CSS syntax,\n // so we need to escape it to compare with the animationName computed from the style.\n const isCurrentAnimation = currentAnimationName.includes(CSS.escape(event.animationName));\n if (event.target === node && isCurrentAnimation) {\n // With React 18 concurrency this update is applied a frame after the\n // animation ends, creating a flash of visible content. By setting the\n // animation fill mode to \"forwards\", we force the node to keep the\n // styles of the last keyframe, removing the flash.\n //\n // Previously we flushed the update via ReactDom.flushSync, but with\n // exit animations this resulted in the node being removed from the\n // DOM before the synthetic animationEnd event was dispatched, meaning\n // user-provided event handlers would not be called.\n // https://github.com/radix-ui/primitives/pull/1849\n send('ANIMATION_END');\n if (!prevPresentRef.current) {\n const currentFillMode = node.style.animationFillMode;\n node.style.animationFillMode = 'forwards';\n // Reset the style after the node had time to unmount (for cases\n // where the component chooses not to unmount). Doing this any\n // sooner than `setTimeout` (e.g. with `requestAnimationFrame`)\n // still causes a flash.\n timeoutId = ownerWindow.setTimeout(() => {\n if (node.style.animationFillMode === 'forwards') {\n node.style.animationFillMode = currentFillMode;\n }\n });\n }\n }\n };\n const handleAnimationStart = (event: AnimationEvent) => {\n if (event.target === node) {\n // if animation occurred, store its name as the previous animation.\n prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n }\n };\n node.addEventListener('animationstart', handleAnimationStart);\n node.addEventListener('animationcancel', handleAnimationEnd);\n node.addEventListener('animationend', handleAnimationEnd);\n return () => {\n ownerWindow.clearTimeout(timeoutId);\n node.removeEventListener('animationstart', handleAnimationStart);\n node.removeEventListener('animationcancel', handleAnimationEnd);\n node.removeEventListener('animationend', handleAnimationEnd);\n };\n } else {\n // Transition to the unmounted state if the node is removed prematurely.\n // We avoid doing so during cleanup as the node may change but still exist.\n send('ANIMATION_END');\n }\n }, [node, send]);\n\n return {\n isPresent: ['mounted', 'unmountSuspended'].includes(state),\n ref: React.useCallback((node: HTMLElement) => {\n if (node) {\n const styles = getComputedStyle(node);\n stylesRef.current = styles;\n // Eagerly read the animation name while styles are clean. Ref\n // callbacks fire during the commit phase, before any passive effects\n // can dirty body styles. This cached value is consumed by the passive\n // effect that records prevAnimationNameRef, letting it skip a\n // redundant (and expensive) live-style read.\n mountAnimationNameRef.current = getAnimationName(styles);\n } else {\n stylesRef.current = null;\n }\n setNode(node);\n }, []),\n };\n}\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype PossibleRef<T> = React.Ref<T> | undefined;\n\nfunction setRef<T>(ref: PossibleRef<T>, value: T | null) {\n if (typeof ref === 'function') {\n return ref(value);\n } else if (ref !== null && ref !== undefined) {\n ref.current = value;\n }\n}\n\n/**\n * Unlike `useComposedRefs`, the returned callback never changes identity, even\n * when the composed refs do. This matters in React 19: when a callback ref's\n * identity changes between renders, React detaches the previous ref (calls it\n * with `null`) and attaches the new one on every commit. Because `Presence`\n * calls `setNode` from its own ref, an unstable consumer ref would otherwise\n * cause React to re-run that update on every commit, resulting in a \"Maximum\n * update depth exceeded\" loop.\n *\n * The latest refs are always read at attach/detach time, so the most recent\n * consumer ref still receives the node when it mounts or unmounts.\n *\n * @see https://github.com/radix-ui/primitives/issues/3664\n */\nfunction useStableComposedRefs<T>(...refs: PossibleRef<T>[]): React.RefCallback<T> {\n // Keep the latest refs without changing the callback identity. Assigning during render is\n // safe here because we only ever read `.current` later (at commit time, in the ref callback).\n const refsRef = React.useRef(refs);\n refsRef.current = refs;\n\n return React.useCallback((node: T | null) => {\n const currentRefs = refsRef.current;\n let hasCleanup = false;\n const cleanups = currentRefs.map((ref) => {\n const cleanup = setRef(ref, node);\n if (!hasCleanup && typeof cleanup === 'function') {\n hasCleanup = true;\n }\n return cleanup;\n });\n\n if (hasCleanup) {\n return () => {\n for (let i = 0; i < cleanups.length; i++) {\n const cleanup = cleanups[i];\n if (typeof cleanup === 'function') {\n cleanup();\n } else {\n setRef(currentRefs[i], null);\n }\n }\n };\n }\n }, []);\n}\n\nfunction getAnimationName(styles: CSSStyleDeclaration | null) {\n return styles?.animationName || 'none';\n}\n\n// Before React 19 accessing `element.props.ref` will throw a warning and suggest using `element.ref`\n// After React 19 accessing `element.ref` does the opposite.\n// https://github.com/facebook/react/pull/28348\n//\n// Access the ref using the method that doesn't yield a warning.\nfunction getElementRef(element: React.ReactElement<{ ref?: React.Ref<unknown> }>) {\n // React <=18 in DEV\n let getter = Object.getOwnPropertyDescriptor(element.props, 'ref')?.get;\n let mayWarn = getter && 'isReactWarning' in getter && getter.isReactWarning;\n if (mayWarn) {\n return (element as any).ref;\n }\n\n // React 19 in DEV\n getter = Object.getOwnPropertyDescriptor(element, 'ref')?.get;\n mayWarn = getter && 'isReactWarning' in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n\n // Not DEV\n return element.props.ref || (element as any).ref;\n}\n\nconst Root = Presence;\n\nexport {\n Presence,\n //\n Root,\n};\nexport type { PresenceProps };\n","import * as React from 'react';\n\ntype Machine<S> = { [k: string]: { [k: string]: S } };\ntype MachineState<T> = keyof T;\ntype MachineEvent<T> = keyof UnionToIntersection<T[keyof T]>;\n\n// \uD83E\uDD2F https://fettblog.eu/typescript-union-to-intersection/\ntype UnionToIntersection<T> = (T extends any ? (x: T) => any : never) extends (x: infer R) => any\n ? R\n : never;\n\nexport function useStateMachine<M>(\n initialState: MachineState<M>,\n machine: M & Machine<MachineState<M>>,\n) {\n return React.useReducer((state: MachineState<M>, event: MachineEvent<M>): MachineState<M> => {\n const nextState = (machine[state] as any)[event];\n return nextState ?? state;\n }, initialState);\n}\n","import * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { createSlot } from '@radix-ui/react-slot';\n\ndeclare module 'react' {\n interface CSSProperties {\n [varName: `--radix-${string}`]: string | number | undefined | null;\n }\n}\n\nconst NODES = [\n 'a',\n 'button',\n 'div',\n 'form',\n 'h2',\n 'h3',\n 'img',\n 'input',\n 'label',\n 'li',\n 'nav',\n 'ol',\n 'p',\n 'select',\n 'span',\n 'svg',\n 'ul',\n] as const;\n\ntype Primitives = { [E in (typeof NODES)[number]]: PrimitiveForwardRefComponent<E> };\ntype PrimitivePropsWithRef<E extends React.ElementType> = React.ComponentPropsWithRef<E> & {\n asChild?: boolean;\n};\n\ninterface PrimitiveForwardRefComponent<\n E extends React.ElementType,\n> extends React.ForwardRefExoticComponent<PrimitivePropsWithRef<E>> {}\n\n/* -------------------------------------------------------------------------------------------------\n * Primitive\n * -----------------------------------------------------------------------------------------------*/\n\n/* @__NO_SIDE_EFFECTS__ */ const Primitive = NODES.reduce((primitive, node) => {\n const Slot = createSlot(`Primitive.${node}`);\n const Node = React.forwardRef((props: PrimitivePropsWithRef<typeof node>, forwardedRef: any) => {\n const { asChild, ...primitiveProps } = props;\n const Comp: any = asChild ? Slot : node;\n\n if (typeof window !== 'undefined') {\n (window as any)[Symbol.for('radix-ui')] = true;\n }\n\n return <Comp {...primitiveProps} ref={forwardedRef} />;\n });\n\n Node.displayName = `Primitive.${node}`;\n\n return { ...primitive, [node]: Node };\n}, {} as Primitives);\n\n/* -------------------------------------------------------------------------------------------------\n * Utils\n * -----------------------------------------------------------------------------------------------*/\n\n/**\n * Flush custom event dispatch\n * https://github.com/radix-ui/primitives/pull/1378\n *\n * React batches *all* event handlers since version 18, this introduces certain considerations when using custom event types.\n *\n * Internally, React prioritises events in the following order:\n * - discrete\n * - continuous\n * - default\n *\n * https://github.com/facebook/react/blob/a8a4742f1c54493df00da648a3f9d26e3db9c8b5/packages/react-dom/src/events/ReactDOMEventListener.js#L294-L350\n *\n * `discrete` is an important distinction as updates within these events are applied immediately.\n * React however, is not able to infer the priority of custom event types due to how they are detected internally.\n * Because of this, it's possible for updates from custom events to be unexpectedly batched when\n * dispatched by another `discrete` event.\n *\n * In order to ensure that updates from custom events are applied predictably, we need to manually flush the batch.\n * This utility should be used when dispatching a custom event from within another `discrete` event, this utility\n * is not necessary when dispatching known event types, or if dispatching a custom type inside a non-discrete event.\n * For example:\n *\n * dispatching a known click \uD83D\uDC4E\n * target.dispatchEvent(new Event(\u2018click\u2019))\n *\n * dispatching a custom type within a non-discrete event \uD83D\uDC4E\n * onScroll={(event) => event.target.dispatchEvent(new CustomEvent(\u2018customType\u2019))}\n *\n * dispatching a custom type within a `discrete` event \uD83D\uDC4D\n * onPointerDown={(event) => dispatchDiscreteCustomEvent(event.target, new CustomEvent(\u2018customType\u2019))}\n *\n * Note: though React classifies `focus`, `focusin` and `focusout` events as `discrete`, it's not recommended to use\n * this utility with them. This is because it's possible for those handlers to be called implicitly during render\n * e.g. when focus is within a component as it is unmounted, or when managing focus on mount.\n */\n\nfunction dispatchDiscreteCustomEvent<E extends CustomEvent>(target: E['target'], event: E) {\n if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst Root = Primitive;\n\nexport {\n Primitive,\n //\n Root,\n //\n dispatchDiscreteCustomEvent,\n};\nexport type { PrimitivePropsWithRef };\n","import * as React from 'react';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\n\ndeclare module 'react' {\n interface ReactElement {\n $$typeof?: symbol | string;\n }\n}\n\n/* -------------------------------------------------------------------------------------------------\n * Slot\n * -----------------------------------------------------------------------------------------------*/\n\nexport type Usable<T> = PromiseLike<T> | React.Context<T>;\n\ntype SlotProps<Elem extends Element = HTMLElement, Props = React.HTMLAttributes<Elem>> = Props & {\n children?: React.ReactNode;\n};\n\n/* @__NO_SIDE_EFFECTS__ */ export function createSlot<\n Elem extends Element = HTMLElement,\n Props = React.HTMLAttributes<Elem>,\n>(ownerName: string) {\n const Slot = React.forwardRef<Elem, SlotProps<Elem, Props>>((props, forwardedRef) => {\n let { children, ...slotProps } = props;\n let slottableElement: React.ReactElement | null = null;\n let hasSlottable = false;\n const newChildren: React.ReactNode[] = [];\n\n if (isLazyComponent(children) && typeof use === 'function') {\n children = use(children._payload);\n }\n\n React.Children.forEach(children, (maybeSlottable) => {\n if (isSlottable(maybeSlottable)) {\n hasSlottable = true;\n const slottable = maybeSlottable;\n let child = 'child' in slottable.props ? slottable.props.child : slottable.props.children;\n\n if (isLazyComponent(child) && typeof use === 'function') {\n child = use(child._payload);\n }\n\n slottableElement = getSlottableElementFromSlottable(slottable, child);\n newChildren.push((slottableElement?.props as any)?.children);\n } else {\n newChildren.push(maybeSlottable);\n }\n });\n\n if (slottableElement) {\n slottableElement = React.cloneElement(slottableElement, undefined, newChildren);\n } else if (\n // A `Slottable` was found but it didn't resolve to a single element (e.g.\n // it wrapped multiple elements, text, or a render-prop `child` that\n // wasn't an element). Don't fall back to treating the `Slottable` wrapper\n // itself as the slot target \u2014 throw a descriptive error below instead.\n !hasSlottable &&\n React.Children.count(children) === 1 &&\n React.isValidElement(children)\n ) {\n slottableElement = children;\n }\n\n const slottableElementRef = slottableElement ? getElementRef(slottableElement) : undefined;\n const composedRef = useComposedRefs(forwardedRef, slottableElementRef);\n\n if (!slottableElement) {\n // Empty/falsy children (`null`, `undefined`, `false`, no children, etc.) are valid and\n // render nothing. Anything else is content we couldn't slot onto a single element, which\n // is a usage error, so we fail loudly with a clear message.\n if (children || children === 0) {\n throw new Error(\n hasSlottable ? createSlottableError(ownerName) : createSlotError(ownerName),\n );\n }\n return children;\n }\n\n const mergedProps = mergeProps(slotProps, slottableElement.props ?? {});\n\n // do not pass ref to React.Fragment for React 19 compatibility\n if (slottableElement.type !== React.Fragment) {\n mergedProps.ref = forwardedRef ? composedRef : slottableElementRef;\n }\n\n return React.cloneElement(slottableElement, mergedProps);\n });\n\n Slot.displayName = `${ownerName}.Slot`;\n return Slot;\n}\n\nconst Slot = createSlot('Slot');\n\n/* -------------------------------------------------------------------------------------------------\n * Slottable\n * -----------------------------------------------------------------------------------------------*/\n\nconst SLOTTABLE_IDENTIFIER = Symbol.for('radix.slottable');\n\ntype SlottableChildrenProps = { children: React.ReactNode };\ntype SlottableRenderFnProps = {\n child: React.ReactNode;\n children: (slottable: React.ReactNode) => React.ReactNode;\n};\n\ntype SlottableProps = SlottableRenderFnProps | SlottableChildrenProps;\ninterface SlottableComponent extends React.FC<SlottableProps> {\n __radixId: symbol;\n}\n\n/* @__NO_SIDE_EFFECTS__ */ export function createSlottable(ownerName: string) {\n const Slottable: SlottableComponent = (props) =>\n 'child' in props ? props.children(props.child) : props.children;\n\n Slottable.displayName = `${ownerName}.Slottable`;\n Slottable.__radixId = SLOTTABLE_IDENTIFIER;\n return Slottable;\n}\n\nconst Slottable = createSlottable('Slottable');\n\n/* -------------------------------------------------------------------------------------------------\n * getSlottableElementFromSlottable\n * -----------------------------------------------------------------------------------------------*/\n\nconst getSlottableElementFromSlottable = (slottable: SlottableElement, child: React.ReactNode) => {\n if ('child' in slottable.props) {\n const child = slottable.props.child;\n if (!React.isValidElement<React.PropsWithChildren>(child)) return null;\n return React.cloneElement(child, undefined, slottable.props.children(child.props.children));\n }\n\n return React.isValidElement(child) ? child : null;\n};\n\n/* -------------------------------------------------------------------------------------------------\n * mergeProps\n * -----------------------------------------------------------------------------------------------*/\n\ntype AnyProps = Record<string, any>;\n\nfunction mergeProps(slotProps: AnyProps, childProps: AnyProps) {\n // all child props should override\n const overrideProps = { ...childProps };\n\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n // if the handler exists on both, we compose them\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args: unknown[]) => {\n const result = childPropValue(...args);\n slotPropValue(...args);\n return result;\n };\n }\n // but if it exists only on the slot, we use only this one\n else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n }\n // if it's `style`, we merge them\n else if (propName === 'style') {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === 'className') {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(' ');\n }\n }\n\n return { ...slotProps, ...overrideProps };\n}\n\n/* -------------------------------------------------------------------------------------------------\n * getElementRef\n * -----------------------------------------------------------------------------------------------*/\n\n// Before React 19 accessing `element.props.ref` will throw a warning and suggest using `element.ref`\n// After React 19 accessing `element.ref` does the opposite.\n// https://github.com/facebook/react/pull/28348\n//\n// Access the ref using the method that doesn't yield a warning.\nfunction getElementRef(element: React.ReactElement) {\n // React <=18 in DEV\n let getter = Object.getOwnPropertyDescriptor(element.props, 'ref')?.get;\n let mayWarn = getter && 'isReactWarning' in getter && getter.isReactWarning;\n if (mayWarn) {\n return (element as any).ref;\n }\n\n // React 19 in DEV\n getter = Object.getOwnPropertyDescriptor(element, 'ref')?.get;\n mayWarn = getter && 'isReactWarning' in getter && getter.isReactWarning;\n if (mayWarn) {\n return (element.props as { ref?: React.Ref<unknown> }).ref;\n }\n\n // Not DEV\n return (element.props as { ref?: React.Ref<unknown> }).ref || (element as any).ref;\n}\n\n/* ---------------------------------------------------------------------------------------------- */\n\ntype SlottableElement = React.ReactElement<SlottableProps, SlottableComponent>;\n\nfunction isSlottable(\n child: React.ReactNode,\n): child is React.ReactElement<SlottableProps, typeof Slottable> {\n return (\n React.isValidElement(child) &&\n typeof child.type === 'function' &&\n '__radixId' in child.type &&\n child.type.__radixId === SLOTTABLE_IDENTIFIER\n );\n}\n\nconst REACT_LAZY_TYPE = Symbol.for('react.lazy');\n\ninterface LazyReactElement extends React.ReactElement {\n $$typeof: typeof REACT_LAZY_TYPE;\n _payload: PromiseLike<Exclude<React.ReactNode, PromiseLike<any>>>;\n}\n\nfunction isLazyComponent(element: React.ReactNode): element is LazyReactElement {\n return (\n element != null &&\n typeof element === 'object' &&\n '$$typeof' in element &&\n element.$$typeof === REACT_LAZY_TYPE &&\n '_payload' in element &&\n isPromiseLike(element._payload)\n );\n}\n\nfunction isPromiseLike(value: unknown): value is PromiseLike<unknown> {\n return typeof value === 'object' && value !== null && 'then' in value;\n}\n\nconst createSlotError = (ownerName: string) => {\n return `${ownerName} failed to slot onto its children. Expected a single React element child or \\`Slottable\\`.`;\n};\n\nconst createSlottableError = (ownerName: string) => {\n return `${ownerName} failed to slot onto its \\`Slottable\\`. Expected \\`Slottable\\` to receive a single React element child.`;\n};\n\nconst use: typeof React.use | undefined = (React as any)[' use '.trim().toString()];\n\nexport {\n Slot,\n Slottable,\n //\n Slot as Root,\n};\nexport type { SlotProps };\n","import * as React from 'react';\n\n/**\n * A custom hook that converts a callback to a ref to avoid triggering re-renders when passed as a\n * prop or avoid re-executing effects when passed as a dependency\n */\nfunction useCallbackRef<T extends (...args: any[]) => any>(callback: T | undefined): T {\n const callbackRef = React.useRef(callback);\n\n React.useEffect(() => {\n callbackRef.current = callback;\n });\n\n // https://github.com/facebook/react/issues/19240\n return React.useMemo(() => ((...args) => callbackRef.current?.(...args)) as T, []);\n}\n\nexport { useCallbackRef };\n","var __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\n\n// src/use-effect-event.tsx\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport * as React from \"react\";\nvar useReactEffectEvent = React[\" useEffectEvent \".trim().toString()];\nvar useReactInsertionEffect = React[\" useInsertionEffect \".trim().toString()];\nfunction useEffectEvent(callback) {\n if (typeof useReactEffectEvent === \"function\") {\n return useReactEffectEvent(callback);\n }\n const ref = React.useRef(() => {\n throw new Error(\"Cannot call an event handler while rendering.\");\n });\n if (typeof useReactInsertionEffect === \"function\") {\n useReactInsertionEffect(() => {\n ref.current = callback;\n });\n } else {\n useLayoutEffect(() => {\n ref.current = callback;\n });\n }\n return React.useMemo(() => ((...args) => ref.current?.(...args)), []);\n}\n__name(useEffectEvent, \"useEffectEvent\");\nexport {\n useEffectEvent\n};\n//# sourceMappingURL=index.mjs.map\n","var __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\n\n// src/use-controllable-state.tsx\nimport * as React from \"react\";\nimport { IS_DEVELOPMENT } from \"@radix-ui/primitive/is-development\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nvar useInsertionEffect = React[\" useInsertionEffect \".trim().toString()] || useLayoutEffect;\nfunction useControllableState({\n prop,\n defaultProp,\n onChange = /* @__PURE__ */ __name(() => {\n }, \"onChange\"),\n caller\n}) {\n const [uncontrolledProp, setUncontrolledProp, onChangeRef] = useUncontrolledState({\n defaultProp,\n onChange\n });\n const isControlled = prop !== void 0;\n const value = isControlled ? prop : uncontrolledProp;\n if (IS_DEVELOPMENT) {\n const isControlledRef = React.useRef(prop !== void 0);\n React.useEffect(() => {\n const wasControlled = isControlledRef.current;\n if (wasControlled !== isControlled) {\n const from = wasControlled ? \"controlled\" : \"uncontrolled\";\n const to = isControlled ? \"controlled\" : \"uncontrolled\";\n console.warn(\n `${caller} is changing from ${from} to ${to}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`\n );\n }\n isControlledRef.current = isControlled;\n }, [isControlled, caller]);\n }\n const setValue = React.useCallback(\n (nextValue) => {\n if (isControlled) {\n const value2 = isFunction(nextValue) ? nextValue(prop) : nextValue;\n if (value2 !== prop) {\n onChangeRef.current?.(value2);\n }\n } else {\n setUncontrolledProp(nextValue);\n }\n },\n [isControlled, prop, setUncontrolledProp, onChangeRef]\n );\n return [value, setValue];\n}\n__name(useControllableState, \"useControllableState\");\nfunction useUncontrolledState({\n defaultProp,\n onChange\n}) {\n const [value, setValue] = React.useState(defaultProp);\n const prevValueRef = React.useRef(value);\n const onChangeRef = React.useRef(onChange);\n useInsertionEffect(() => {\n onChangeRef.current = onChange;\n }, [onChange]);\n React.useEffect(() => {\n if (prevValueRef.current !== value) {\n onChangeRef.current?.(value);\n prevValueRef.current = value;\n }\n }, [value, prevValueRef]);\n return [value, setValue, onChangeRef];\n}\n__name(useUncontrolledState, \"useUncontrolledState\");\nfunction isFunction(value) {\n return typeof value === \"function\";\n}\n__name(isFunction, \"isFunction\");\n\n// src/use-controllable-state-reducer.tsx\nimport * as React2 from \"react\";\nimport { IS_DEVELOPMENT as IS_DEVELOPMENT2 } from \"@radix-ui/primitive/is-development\";\nimport { useEffectEvent } from \"@radix-ui/react-use-effect-event\";\nvar SYNC_STATE = Symbol(\"RADIX:SYNC_STATE\");\nfunction useControllableStateReducer(reducer, userArgs, initialArg, init) {\n const { prop: controlledState, defaultProp, onChange: onChangeProp, caller } = userArgs;\n const isControlled = controlledState !== void 0;\n const onChange = useEffectEvent(onChangeProp);\n if (IS_DEVELOPMENT2) {\n const isControlledRef = React2.useRef(controlledState !== void 0);\n React2.useEffect(() => {\n const wasControlled = isControlledRef.current;\n if (wasControlled !== isControlled) {\n const from = wasControlled ? \"controlled\" : \"uncontrolled\";\n const to = isControlled ? \"controlled\" : \"uncontrolled\";\n console.warn(\n `${caller} is changing from ${from} to ${to}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`\n );\n }\n isControlledRef.current = isControlled;\n }, [isControlled, caller]);\n }\n const args = [{ ...initialArg, state: defaultProp }];\n if (init) {\n args.push(init);\n }\n const [internalState, dispatch] = React2.useReducer(\n (state2, action) => {\n if (action.type === SYNC_STATE) {\n return { ...state2, state: action.state };\n }\n const next = reducer(state2, action);\n if (isControlled && !Object.is(next.state, state2.state)) {\n onChange(next.state);\n }\n return next;\n },\n ...args\n );\n const uncontrolledState = internalState.state;\n const prevValueRef = React2.useRef(uncontrolledState);\n React2.useEffect(() => {\n if (prevValueRef.current !== uncontrolledState) {\n prevValueRef.current = uncontrolledState;\n if (!isControlled) {\n onChange(uncontrolledState);\n }\n }\n }, [uncontrolledState, prevValueRef, isControlled]);\n const state = React2.useMemo(() => {\n const isControlled2 = controlledState !== void 0;\n if (isControlled2) {\n return { ...internalState, state: controlledState };\n }\n return internalState;\n }, [internalState, controlledState]);\n React2.useEffect(() => {\n if (isControlled && !Object.is(controlledState, internalState.state)) {\n dispatch({ type: SYNC_STATE, state: controlledState });\n }\n }, [controlledState, internalState.state, isControlled]);\n return [state, dispatch];\n}\n__name(useControllableStateReducer, \"useControllableStateReducer\");\nexport {\n useControllableState,\n useControllableStateReducer\n};\n//# sourceMappingURL=index.mjs.map\n","import * as React from 'react';\n\n/**\n * On the server, React emits a warning when calling `useLayoutEffect`.\n * This is because neither `useLayoutEffect` nor `useEffect` run on the server.\n * We use this safe version which suppresses the warning by replacing it with a noop on the server.\n *\n * See: https://reactjs.org/docs/hooks-reference.html#uselayouteffect\n */\nconst useLayoutEffect = globalThis?.document ? React.useLayoutEffect : () => {};\n\nexport { useLayoutEffect };\n","/**\n * Copyright 2022 Joe Bell. All rights reserved.\n *\n * This file is licensed to you under the Apache License, Version 2.0\n * (the \"License\"); you may not use this file except in compliance with the\n * License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR REPRESENTATIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations under\n * the License.\n */ import { clsx } from \"clsx\";\nconst falsyToString = (value)=>typeof value === \"boolean\" ? `${value}` : value === 0 ? \"0\" : value;\nexport const cx = clsx;\nexport const cva = (base, config)=>(props)=>{\n var _config_compoundVariants;\n if ((config === null || config === void 0 ? void 0 : config.variants) == null) return cx(base, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);\n const { variants, defaultVariants } = config;\n const getVariantClassNames = Object.keys(variants).map((variant)=>{\n const variantProp = props === null || props === void 0 ? void 0 : props[variant];\n const defaultVariantProp = defaultVariants === null || defaultVariants === void 0 ? void 0 : defaultVariants[variant];\n if (variantProp === null) return null;\n const variantKey = falsyToString(variantProp) || falsyToString(defaultVariantProp);\n return variants[variant][variantKey];\n });\n const propsWithoutUndefined = props && Object.entries(props).reduce((acc, param)=>{\n let [key, value] = param;\n if (value === undefined) {\n return acc;\n }\n acc[key] = value;\n return acc;\n }, {});\n const getCompoundVariantClassNames = config === null || config === void 0 ? void 0 : (_config_compoundVariants = config.compoundVariants) === null || _config_compoundVariants === void 0 ? void 0 : _config_compoundVariants.reduce((acc, param)=>{\n let { class: cvClass, className: cvClassName, ...compoundVariantOptions } = param;\n return Object.entries(compoundVariantOptions).every((param)=>{\n let [key, value] = param;\n return Array.isArray(value) ? value.includes({\n ...defaultVariants,\n ...propsWithoutUndefined\n }[key]) : ({\n ...defaultVariants,\n ...propsWithoutUndefined\n })[key] === value;\n }) ? [\n ...acc,\n cvClass,\n cvClassName\n ] : acc;\n }, []);\n return cx(base, getVariantClassNames, getCompoundVariantClassNames, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);\n };\n\n","import * as React from \"react\"\r\nimport { Slot } from \"@radix-ui/react-slot\"\r\nimport { cva, type VariantProps } from \"class-variance-authority\"\r\n\r\nimport { cn } from \"@/lib/utils\"\r\n\r\nconst buttonVariants = cva(\r\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-bg transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\r\n {\r\n variants: {\r\n variant: {\r\n default: \"bg-accent text-white hover:bg-accent/90\",\r\n destructive:\r\n \"bg-danger text-white hover:bg-danger/90\",\r\n outline:\r\n \"border border-border bg-bg hover:bg-surface2 hover:text-txt\",\r\n secondary:\r\n \"bg-surface2 text-txt hover:bg-surface2/80\",\r\n ghost: \"hover:bg-surface2 hover:text-txt\",\r\n link: \"text-txt underline-offset-4 hover:underline\",\r\n },\r\n size: {\r\n default: \"h-10 px-4 py-2\",\r\n sm: \"h-9 rounded-md px-3\",\r\n lg: \"h-11 rounded-md px-8\",\r\n icon: \"h-10 w-10\",\r\n },\r\n },\r\n defaultVariants: {\r\n variant: \"default\",\r\n size: \"default\",\r\n },\r\n }\r\n)\r\n\r\nexport interface ButtonProps\r\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\r\n VariantProps<typeof buttonVariants> {\r\n asChild?: boolean\r\n}\r\n\r\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\r\n ({ className, variant, size, asChild = false, ...props }, ref) => {\r\n const Comp = asChild ? Slot : \"button\"\r\n return (\r\n <Comp\r\n className={cn(buttonVariants({ variant, size, className }))}\r\n ref={ref}\r\n {...props}\r\n />\r\n )\r\n }\r\n)\r\nButton.displayName = \"Button\"\r\n\r\nexport { Button, buttonVariants }\r\n"],"names":["createContext","useContext","createScope","nextScopes","React","node","Slot","Slottable","child","__defProp","Object","defineProperty","__name","target","value","configurable","useReactEffectEvent","__TURBOPACK__imported__module__174897__1","trim","toString","useReactInsertionEffect","useEffectEvent","callback","ref","useRef","Error","current","useMemo","args","useLayoutEffect","falsyToString","cx","cva","base","config","props","_config_compoundVariants","variants","class","className","defaultVariants","getVariantClassNames","keys","map","variant","variantProp","defaultVariantProp","variantKey","propsWithoutUndefined","entries","reduce","acc","param","key","undefined","getCompoundVariantClassNames","compoundVariants","cvClass","cvClassName","compoundVariantOptions","every","Array","isArray","includes","buttonVariants","default","destructive","outline","secondary","ghost","link","size","sm","lg","icon","Button","asChild","Comp","displayName"],"mappings":"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","ignoreList":[10,11,13]}
@@ -1,3 +0,0 @@
1
- module.exports=[108280,a=>{"use strict";var b=a.i(256857);let c={name:"loader-circle",size:24,node:[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],aliases:["loader-2"]};c.node;let d=(0,b.default)(c);a.s(["Loader2",0,d],108280)},200382,a=>{"use strict";var b=a.i(256857);let c={name:"plus",size:24,node:[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]};c.node;let d=(0,b.default)(c);a.s(["Plus",0,d],200382)},90751,a=>{"use strict";var b=a.i(662145),c=a.i(174897),d=a.i(544394),e=a.i(200382),f=a.i(368114),g=a.i(786304),h=a.i(749223);function i({status:a,tasks:d,onMoveTask:e,onOpenTask:j}){let[k,l]=(0,c.useState)(!1);return(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[(0,b.jsx)("span",{className:"text-sm",children:h.STATUS_ICONS[a]}),(0,b.jsx)("span",{className:"text-xs font-mono font-semibold text-muted uppercase tracking-wider",children:a}),(0,b.jsx)(g.Badge,{variant:"secondary",className:"ml-auto font-mono text-xs h-5 px-1.5",children:d.length})]}),(0,b.jsxs)("div",{className:(0,f.cn)("flex flex-col gap-2 min-h-[60px] rounded-lg transition-colors",k&&"ring-1 ring-accent/50 bg-accent/5"),onDragOver:a=>{a.preventDefault(),l(!0)},onDragLeave:a=>{a.currentTarget.contains(a.relatedTarget)||l(!1)},onDrop:b=>{b.preventDefault(),l(!1);let c=b.dataTransfer.getData("taskId");c&&e(c,a)},children:[(d??[]).map(a=>(0,b.jsx)(h.TaskCard,{task:a,onMove:e,onOpen:()=>j(a)},a.id)),0===d.length&&(0,b.jsx)("div",{className:"border border-dashed border-border rounded-lg py-6 text-center text-xs text-muted",children:"empty"})]})]})}function j({board:a,summary:c,onMoveTask:d,onOpenTask:f,onNewTask:g}){return(0,b.jsxs)("div",{className:"p-6",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-6",children:[(0,b.jsx)("h1",{className:"font-display text-xl font-semibold tracking-tight",children:"Task Board"}),(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsxs)("span",{className:"text-xs font-mono text-muted",children:[c?.tasks.total||0," tasks"]}),(0,b.jsxs)("button",{onClick:g,className:"flex items-center gap-1.5 px-3 py-1.5 bg-accent text-white rounded-lg text-sm font-medium hover:bg-accent/90 transition-colors",children:[(0,b.jsx)(e.Plus,{className:"w-3.5 h-3.5"}),"New Task"]})]})]}),(0,b.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-4 gap-4",children:["in-progress","todo","blocked","done"].map(c=>(0,b.jsx)(i,{status:c,tasks:a[c],onMoveTask:d,onOpenTask:f},c))})]})}var k=a.i(536236),l=a.i(923053),m=a.i(54165),n=a.i(108280);let o=[{value:"XS (< 1 hr)",label:"XS — under 1 hr"},{value:"S (1-2 hrs)",label:"S — 1–2 hrs"},{value:"M (3-4 hrs)",label:"M — 3–4 hrs"},{value:"L (5-8 hrs)",label:"L — 5–8 hrs"},{value:"XL (> 1 day)",label:"XL — over a day"}];function p({open:a,onOpenChange:d,rootParam:g,onTaskCreated:h}){let[i,j]=(0,c.useState)(""),[k,q]=(0,c.useState)(""),[r,s]=(0,c.useState)(""),[t,u]=(0,c.useState)(""),[v,w]=(0,c.useState)(""),[x,y]=(0,c.useState)(""),[z,A]=(0,c.useState)(!1);async function B(a){if(a.preventDefault(),!i.trim())return void y("Title is required");A(!0),y("");try{let a=await fetch(`/api/tasks/create${g}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:i.trim(),phase:k.trim()||void 0,size:r||void 0,description:t.trim()||void 0,dependsOn:v.trim()||void 0})});if(!a.ok){let b=await a.json();y(b.error??"Failed to create task"),A(!1);return}A(!1),h(),d(!1)}catch{y("Network error — please try again"),A(!1)}}return(0,c.useEffect)(()=>{a&&(j(""),q(""),s(""),u(""),w(""),y(""),A(!1))},[a]),(0,b.jsx)(l.Root,{open:a,onOpenChange:d,children:(0,b.jsxs)(l.Portal,{children:[(0,b.jsx)(l.Overlay,{className:"fixed inset-0 z-50 bg-black/60"}),(0,b.jsxs)(l.Content,{className:"fixed z-50 top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-full max-w-lg bg-surface border border-border rounded-xl shadow-2xl",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between px-5 py-4 border-b border-border",children:[(0,b.jsx)(l.Title,{className:"font-semibold text-txt",children:"New Task"}),(0,b.jsx)(l.Close,{className:"text-muted hover:text-txt transition-colors",children:(0,b.jsx)(m.X,{className:"w-4 h-4"})})]}),(0,b.jsxs)("form",{onSubmit:B,className:"p-5 space-y-4",children:[(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsxs)("label",{className:"block text-xs font-medium text-muted uppercase tracking-wide",children:["Title ",(0,b.jsx)("span",{className:"text-danger",children:"*"})]}),(0,b.jsx)("input",{autoFocus:!0,type:"text",value:i,onChange:a=>j(a.target.value),placeholder:"e.g. Add drag-and-drop to kanban",className:"w-full px-3 py-2 bg-surface2 border border-border rounded-lg text-sm text-txt placeholder:text-muted focus:outline-hidden focus:border-accent transition-colors"})]}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:"block text-xs font-medium text-muted uppercase tracking-wide",children:"Phase"}),(0,b.jsx)("input",{type:"text",value:k,onChange:a=>q(a.target.value),placeholder:"e.g. 1 — Core",className:"w-full px-3 py-2 bg-surface2 border border-border rounded-lg text-sm text-txt placeholder:text-muted focus:outline-hidden focus:border-accent transition-colors"})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:"block text-xs font-medium text-muted uppercase tracking-wide",children:"Size"}),(0,b.jsxs)("select",{value:r,onChange:a=>s(a.target.value),className:"w-full px-3 py-2 bg-surface2 border border-border rounded-lg text-sm text-txt focus:outline-hidden focus:border-accent transition-colors",children:[(0,b.jsx)("option",{value:"",children:"—"}),o.map(a=>(0,b.jsx)("option",{value:a.value,children:a.label},a.value))]})]})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:"block text-xs font-medium text-muted uppercase tracking-wide",children:"Depends on"}),(0,b.jsx)("input",{type:"text",value:v,onChange:a=>w(a.target.value),placeholder:"e.g. T001, T003",className:"w-full px-3 py-2 bg-surface2 border border-border rounded-lg text-sm text-txt placeholder:text-muted focus:outline-hidden focus:border-accent transition-colors"})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:"block text-xs font-medium text-muted uppercase tracking-wide",children:"Description"}),(0,b.jsx)("textarea",{value:t,onChange:a=>u(a.target.value),placeholder:"What needs to be built?",rows:3,className:"w-full px-3 py-2 bg-surface2 border border-border rounded-lg text-sm text-txt placeholder:text-muted focus:outline-hidden focus:border-accent transition-colors resize-none"})]}),x&&(0,b.jsx)("p",{className:"text-sm text-danger",children:x}),(0,b.jsxs)("div",{className:"flex items-center justify-end gap-2 pt-1",children:[(0,b.jsx)(l.Close,{type:"button",className:"px-4 py-2 text-sm text-muted hover:text-txt transition-colors",children:"Cancel"}),(0,b.jsxs)("button",{type:"submit",disabled:z||!i.trim(),className:(0,f.cn)("flex items-center gap-2 px-4 py-2 rounded-lg text-sm font-medium transition-colors","bg-accent text-white hover:bg-accent/90 disabled:opacity-50 disabled:cursor-not-allowed"),children:[z?(0,b.jsx)(n.Loader2,{className:"w-4 h-4 animate-spin"}):(0,b.jsx)(e.Plus,{className:"w-4 h-4"}),z?"Creating…":"Create Task"]})]})]})]})]})})}a.s(["default",0,function(){let{board:a,summary:e,moveTask:f,refresh:g,rootParam:h}=(0,d.useApp)(),[i,l]=(0,c.useState)(null),[m,n]=(0,c.useState)(!1);return a?(0,b.jsxs)("div",{className:"relative flex-1",children:[(0,b.jsx)(j,{board:a,summary:e,onMoveTask:f,onOpenTask:l,onNewTask:()=>n(!0)}),(0,b.jsx)(k.TaskDetailPanel,{task:i,onClose:()=>l(null),onMove:f}),(0,b.jsx)(p,{open:m,onOpenChange:n,rootParam:h,onTaskCreated:g})]}):null}],90751)},578520,a=>{"use strict";var b=a.i(662145);let c={task_updated:"🔨",decision_logged:"📝",memory_updated:"🧠",doc_read:"📄",session_start:"🤖",roadmap_updated:"🗺️"};function d(a){let b=(Date.now()-new Date(a).getTime())/1e3;return b<60?"just now":b<3600?`${Math.floor(b/60)}m ago`:b<86400?`${Math.floor(b/3600)}h ago`:`${Math.floor(b/86400)}d ago`}a.s(["ActivityEventRow",0,function({event:a}){return(0,b.jsxs)("div",{className:"flex gap-4 pb-4 animate-fade-in",children:[(0,b.jsx)("div",{className:"relative shrink-0 w-8 h-8 rounded-full bg-surface2 border border-border flex items-center justify-center text-sm z-10",children:c[a.type]||"•"}),(0,b.jsxs)("div",{className:"flex-1 pt-1 min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 mb-0.5",children:[(0,b.jsx)("span",{className:"text-sm font-medium text-txt",children:a.title}),"ai"===a.actor&&(0,b.jsx)("span",{className:"text-xs px-1.5 py-0.5 rounded-sm bg-accent/10 text-accent border border-accent/20 font-mono",children:"AI"})]}),a.detail&&(0,b.jsx)("p",{className:"text-xs text-muted truncate",children:a.detail}),(0,b.jsx)("p",{className:"text-xs text-muted/60 mt-0.5 font-mono",children:d(a.timestamp)})]})]})},"timeAgo",0,d])},749223,a=>{"use strict";var b=a.i(662145),c=a.i(174897),d=a.i(368114),e=a.i(786304),f=a.i(699570);let g={todo:"text-muted border-border2","in-progress":"text-amber border-amber/30 bg-amber/5",blocked:"text-danger border-danger/30 bg-danger/5",done:"text-teal border-teal/30 bg-teal/5",cancelled:"text-muted border-border line-through"},h={todo:"border-border2 text-muted","in-progress":"border-amber/40 text-amber",blocked:"border-danger/40 text-danger",done:"border-teal/40 text-teal",cancelled:"border-border text-muted"},i={todo:"📋","in-progress":"🔨",blocked:"🚫",done:"✅",cancelled:"❌"},j={todo:["in-progress"],"in-progress":["done","blocked","todo"],blocked:["in-progress","cancelled"],done:["todo"],cancelled:["todo"]};a.s(["STATUS_ICONS",0,i,"TaskCard",0,function({task:a,onMove:k,onOpen:l}){let[m,n]=(0,c.useState)(!1),o=j[a.status]||[];return(0,b.jsxs)("div",{draggable:!0,onDragStart:b=>{b.dataTransfer.setData("taskId",a.id),b.dataTransfer.effectAllowed="move",n(!0)},onDragEnd:()=>n(!1),style:{viewTransitionName:`task-${a.file.replace(/[^a-zA-Z0-9_-]/g,"_")}`},className:(0,d.cn)("group relative bg-surface border rounded-lg p-3 text-sm transition-[border-color,opacity] hover:border-border2",g[a.status]||"border-border",m&&"opacity-50 cursor-grabbing"),children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-1.5",children:[(0,b.jsx)("span",{className:"text-xs font-mono text-muted",children:a.id}),(0,b.jsx)(e.Badge,{variant:"outline",className:(0,d.cn)("text-[10px] h-4 px-1.5 font-normal",h[a.status]),children:"in-progress"===a.status?"active":a.status})]}),(0,b.jsx)("p",{className:"font-medium text-txt text-sm leading-snug mb-2",children:a.title}),a.phase&&(0,b.jsx)("p",{className:"text-xs text-muted mb-2",children:a.phase}),(0,b.jsxs)("div",{className:"flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity",children:[(0,b.jsx)(f.Button,{variant:"ghost",size:"sm",className:"h-6 text-xs px-2",onClick:l,children:"open"}),o.map(c=>(0,b.jsxs)(f.Button,{variant:"ghost",size:"sm",className:"h-6 text-xs px-2",onClick:()=>k(a.id,c),children:[i[c]," ","in-progress"===c?"start":c]},c))]})]})}])},536236,a=>{"use strict";var b=a.i(662145),c=a.i(174897),d=a.i(368114),e=a.i(757061),f=a.i(149350),g=a.i(749223),h=a.i(913975),i=a.i(544394),j=a.i(578520);function k({taskId:a,onNavigate:d}){let{rootParam:e}=(0,i.useApp)(),f=(0,h.useRouter)(),[g,l]=(0,c.useState)(null);return(0,c.useEffect)(()=>{let b=e?`${e}&`:"?";fetch(`/api/sessions${b}taskId=${encodeURIComponent(a)}`).then(a=>a.json()).then(a=>l(Array.isArray(a)?a:[])).catch(()=>l([]))},[e,a]),(0,b.jsxs)("div",{className:"px-5 py-3 border-b border-border shrink-0",children:[(0,b.jsx)("p",{className:"mb-2 text-xs font-mono uppercase tracking-wide text-muted",children:"Sessions"}),null===g?null:0===g.length?(0,b.jsx)("p",{className:"text-xs text-muted",children:"No recorded sessions"}):(0,b.jsx)("div",{className:"flex max-h-40 flex-col gap-1 overflow-y-auto",children:g.map(a=>(0,b.jsxs)("button",{onClick:()=>{d(),f.push(`/activity?session=${encodeURIComponent(a.id)}`)},className:"flex items-center gap-2 rounded-sm px-2 py-1 text-left text-xs hover:bg-surface2",children:[(0,b.jsx)("span",{children:"ai"===a.actor?"🤖":"👤"}),(0,b.jsx)("span",{className:"shrink-0 font-mono text-muted",children:(0,j.timeAgo)(a.start)}),(0,b.jsx)("span",{className:"truncate text-txt",children:a.headline})]},a.id))})]})}let l={todo:["in-progress"],"in-progress":["done","blocked","todo"],blocked:["in-progress","cancelled"],done:["todo"],cancelled:["todo"]},m={"in-progress":"start",done:"done",blocked:"blocked",todo:"backlog",cancelled:"cancel"},n={todo:"text-muted border-border2","in-progress":"text-amber border-amber/30 bg-amber/5",blocked:"text-danger border-danger/30 bg-danger/5",done:"text-teal border-teal/30 bg-teal/5",cancelled:"text-muted border-border"};a.s(["TaskDetailPanel",0,function({task:a,onClose:h,onMove:i}){let[j,o]=(0,c.useState)(a);a&&a!==j&&o(a);let p=j&&l[j.status]||[];return(0,b.jsx)(e.Sheet,{open:!!a,onOpenChange:a=>{a||h()},children:(0,b.jsx)(e.SheetContent,{side:"right","aria-describedby":void 0,className:"p-0 gap-0 sm:max-w-[420px] border-border flex flex-col",children:j&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex flex-col gap-1 min-w-0 pl-5 pr-12 py-4 border-b border-border shrink-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"font-mono text-xs text-muted",children:j.id}),(0,b.jsxs)("span",{className:(0,d.cn)("text-xs px-1.5 py-0.5 rounded-sm border font-mono",n[j.status]),children:[g.STATUS_ICONS[j.status]," ",j.status]})]}),(0,b.jsx)(e.SheetTitle,{className:"font-medium text-txt text-sm leading-snug",children:j.title})]}),p.length>0&&(0,b.jsx)("div",{className:"flex items-center gap-2 px-5 py-3 border-b border-border shrink-0",children:p.map(a=>(0,b.jsxs)("button",{onClick:()=>{i(j.id,a),h()},className:"text-xs px-2.5 py-1 rounded-sm bg-surface2 border border-border text-muted hover:text-txt hover:border-border2 transition-colors",children:[g.STATUS_ICONS[a]," ",m[a]||a]},a))}),(0,b.jsx)(k,{taskId:j.id,onNavigate:h},j.id),(0,b.jsx)("div",{className:"flex-1 overflow-y-auto px-5 py-4",children:j.raw?(0,b.jsx)(f.MarkdownRenderer,{content:j.raw}):(0,b.jsx)("p",{className:"text-sm text-muted",children:"No content available."})})]})})})}],536236)}];
2
-
3
- //# sourceMappingURL=_1cbhuz4._.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../node_modules/.pnpm/lucide-react%401.48.0_react%4019.3.0/node_modules/lucide-react/src/icons/loader-circle.ts","../../../../node_modules/.pnpm/lucide-react%401.48.0_react%4019.3.0/node_modules/lucide-react/src/icons/plus.ts","../../../../src/app/%28app%29/board/page.tsx","../../../../src/components/board/BoardTab.tsx","../../../../src/components/board/BoardColumn.tsx","../../../../src/components/board/NewTaskModal.tsx","../../../../src/components/activity/ActivityEventRow.tsx","../../../../src/components/board/TaskCard.tsx","../../../../src/components/board/TaskDetailPanel.tsx","../../../../src/components/board/TaskSessions.tsx"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'loader-circle',\n size: 24,\n node: [['path', { d: 'M21 12a9 9 0 1 1-6.219-8.56', key: '13zald' }]],\n aliases: ['loader-2'],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name LoaderCircle\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgMTJhOSA5IDAgMSAxLTYuMjE5LTguNTYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/loader-circle\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst LoaderCircle = createLucideIcon(__iconData);\n\nexport default LoaderCircle;\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'plus',\n size: 24,\n node: [\n ['path', { d: 'M5 12h14', key: '1ays0h' }],\n ['path', { d: 'M12 5v14', key: 's699le' }],\n ],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name Plus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNSAxMmgxNCIgLz4KICA8cGF0aCBkPSJNMTIgNXYxNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/plus\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Plus = createLucideIcon(__iconData);\n\nexport default Plus;\n","\"use client\"\n\nimport { useState } from \"react\"\nimport { useApp } from \"@/context/AppContext\"\nimport { BoardTab } from \"@/components/board/BoardTab\"\nimport { TaskDetailPanel } from \"@/components/board/TaskDetailPanel\"\nimport { NewTaskModal } from \"@/components/board/NewTaskModal\"\nimport type { Task } from \"@/types\"\n\nexport default function BoardPage() {\n const { board, summary, moveTask, refresh, rootParam } = useApp()\n const [selectedTask, setSelectedTask] = useState<Task | null>(null)\n const [newTaskOpen, setNewTaskOpen] = useState(false)\n\n if (!board) return null\n\n return (\n <div className=\"relative flex-1\">\n <BoardTab\n board={board}\n summary={summary}\n onMoveTask={moveTask}\n onOpenTask={setSelectedTask}\n onNewTask={() => setNewTaskOpen(true)}\n />\n <TaskDetailPanel\n task={selectedTask}\n onClose={() => setSelectedTask(null)}\n onMove={moveTask}\n />\n <NewTaskModal\n open={newTaskOpen}\n onOpenChange={setNewTaskOpen}\n rootParam={rootParam}\n onTaskCreated={refresh}\n />\n </div>\n )\n}\n","\"use client\"\n\nimport { Plus } from \"lucide-react\"\nimport type { TaskBoard, Task, Summary } from \"@/types\"\nimport { BoardColumn } from \"./BoardColumn\"\n\ninterface BoardTabProps {\n board: TaskBoard\n summary: Summary | null\n onMoveTask: (id: string, status: string) => void\n onOpenTask: (task: Task) => void\n onNewTask: () => void\n}\n\nexport function BoardTab({ board, summary, onMoveTask, onOpenTask, onNewTask }: BoardTabProps) {\n return (\n <div className=\"p-6\">\n <div className=\"flex items-center justify-between mb-6\">\n <h1 className=\"font-display text-xl font-semibold tracking-tight\">Task Board</h1>\n <div className=\"flex items-center gap-3\">\n <span className=\"text-xs font-mono text-muted\">{summary?.tasks.total || 0} tasks</span>\n <button\n onClick={onNewTask}\n className=\"flex items-center gap-1.5 px-3 py-1.5 bg-accent text-white rounded-lg text-sm font-medium hover:bg-accent/90 transition-colors\"\n >\n <Plus className=\"w-3.5 h-3.5\" />\n New Task\n </button>\n </div>\n </div>\n\n <div className=\"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-4 gap-4\">\n {([\"in-progress\", \"todo\", \"blocked\", \"done\"] as const).map((col) => (\n <BoardColumn\n key={col}\n status={col}\n tasks={board[col]}\n onMoveTask={onMoveTask}\n onOpenTask={onOpenTask}\n />\n ))}\n </div>\n </div>\n )\n}\n","\"use client\"\r\n\r\nimport { useState } from \"react\"\r\nimport { cn } from \"@/lib/utils\"\r\nimport { Badge } from \"@/components/ui/badge\"\r\nimport type { Task } from \"@/types\"\r\nimport { TaskCard, STATUS_ICONS } from \"./TaskCard\"\r\n\r\ninterface BoardColumnProps {\r\n status: \"in-progress\" | \"todo\" | \"blocked\" | \"done\"\r\n tasks: Task[]\r\n onMoveTask: (id: string, status: string) => void\r\n onOpenTask: (task: Task) => void\r\n}\r\n\r\nexport function BoardColumn({ status, tasks, onMoveTask, onOpenTask }: BoardColumnProps) {\r\n const [isDragOver, setIsDragOver] = useState(false)\r\n\r\n return (\r\n <div className=\"flex flex-col gap-2\">\r\n {/* Column header */}\r\n <div className=\"flex items-center gap-2 mb-1\">\r\n <span className=\"text-sm\">{STATUS_ICONS[status]}</span>\r\n <span className=\"text-xs font-mono font-semibold text-muted uppercase tracking-wider\">\r\n {status}\r\n </span>\r\n <Badge variant=\"secondary\" className=\"ml-auto font-mono text-xs h-5 px-1.5\">{tasks.length}</Badge>\r\n </div>\r\n\r\n {/* Task cards */}\r\n <div\r\n className={cn(\r\n \"flex flex-col gap-2 min-h-[60px] rounded-lg transition-colors\",\r\n isDragOver && \"ring-1 ring-accent/50 bg-accent/5\",\r\n )}\r\n onDragOver={(e) => { e.preventDefault(); setIsDragOver(true) }}\r\n onDragLeave={(e) => {\r\n if (!e.currentTarget.contains(e.relatedTarget as Node)) setIsDragOver(false)\r\n }}\r\n onDrop={(e) => {\r\n e.preventDefault()\r\n setIsDragOver(false)\r\n const taskId = e.dataTransfer.getData(\"taskId\")\r\n if (taskId) onMoveTask(taskId, status)\r\n }}\r\n >\r\n {(tasks ?? []).map((task) => (\r\n <TaskCard\r\n key={task.id}\r\n task={task}\r\n onMove={onMoveTask}\r\n onOpen={() => onOpenTask(task)}\r\n />\r\n ))}\r\n {tasks.length === 0 && (\r\n <div className=\"border border-dashed border-border rounded-lg py-6 text-center text-xs text-muted\">\r\n empty\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n )\r\n}\r\n","\"use client\"\n\nimport { useState, useEffect } from \"react\"\nimport * as Dialog from \"@radix-ui/react-dialog\"\nimport { X, Plus, Loader2 } from \"lucide-react\"\nimport { cn } from \"@/lib/utils\"\n\ninterface NewTaskModalProps {\n open: boolean\n onOpenChange: (open: boolean) => void\n rootParam: string\n onTaskCreated: () => void\n}\n\nconst SIZE_OPTIONS = [\n { value: \"XS (< 1 hr)\", label: \"XS — under 1 hr\" },\n { value: \"S (1-2 hrs)\", label: \"S — 1–2 hrs\" },\n { value: \"M (3-4 hrs)\", label: \"M — 3–4 hrs\" },\n { value: \"L (5-8 hrs)\", label: \"L — 5–8 hrs\" },\n { value: \"XL (> 1 day)\", label: \"XL — over a day\" },\n]\n\nexport function NewTaskModal({ open, onOpenChange, rootParam, onTaskCreated }: NewTaskModalProps) {\n const [title, setTitle] = useState(\"\")\n const [phase, setPhase] = useState(\"\")\n const [size, setSize] = useState(\"\")\n const [description, setDescription] = useState(\"\")\n const [dependsOn, setDependsOn] = useState(\"\")\n const [error, setError] = useState(\"\")\n const [creating, setCreating] = useState(false)\n\n useEffect(() => {\n if (open) {\n setTitle(\"\")\n setPhase(\"\")\n setSize(\"\")\n setDescription(\"\")\n setDependsOn(\"\")\n setError(\"\")\n setCreating(false)\n }\n }, [open])\n\n async function handleSubmit(e: React.FormEvent) {\n e.preventDefault()\n if (!title.trim()) { setError(\"Title is required\"); return }\n\n setCreating(true)\n setError(\"\")\n\n try {\n const res = await fetch(`/api/tasks/create${rootParam}`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({\n title: title.trim(),\n phase: phase.trim() || undefined,\n size: size || undefined,\n description: description.trim() || undefined,\n dependsOn: dependsOn.trim() || undefined,\n }),\n })\n\n if (!res.ok) {\n const data = await res.json()\n setError(data.error ?? \"Failed to create task\")\n setCreating(false)\n return\n }\n\n setCreating(false)\n onTaskCreated()\n onOpenChange(false)\n } catch {\n setError(\"Network error — please try again\")\n setCreating(false)\n }\n }\n\n return (\n <Dialog.Root open={open} onOpenChange={onOpenChange}>\n <Dialog.Portal>\n <Dialog.Overlay className=\"fixed inset-0 z-50 bg-black/60\" />\n <Dialog.Content className=\"fixed z-50 top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-full max-w-lg bg-surface border border-border rounded-xl shadow-2xl\">\n <div className=\"flex items-center justify-between px-5 py-4 border-b border-border\">\n <Dialog.Title className=\"font-semibold text-txt\">New Task</Dialog.Title>\n <Dialog.Close className=\"text-muted hover:text-txt transition-colors\">\n <X className=\"w-4 h-4\" />\n </Dialog.Close>\n </div>\n\n <form onSubmit={handleSubmit} className=\"p-5 space-y-4\">\n <div className=\"space-y-1.5\">\n <label className=\"block text-xs font-medium text-muted uppercase tracking-wide\">\n Title <span className=\"text-danger\">*</span>\n </label>\n <input\n autoFocus\n type=\"text\"\n value={title}\n onChange={e => setTitle(e.target.value)}\n placeholder=\"e.g. Add drag-and-drop to kanban\"\n className=\"w-full px-3 py-2 bg-surface2 border border-border rounded-lg text-sm text-txt placeholder:text-muted focus:outline-hidden focus:border-accent transition-colors\"\n />\n </div>\n\n <div className=\"grid grid-cols-2 gap-3\">\n <div className=\"space-y-1.5\">\n <label className=\"block text-xs font-medium text-muted uppercase tracking-wide\">Phase</label>\n <input\n type=\"text\"\n value={phase}\n onChange={e => setPhase(e.target.value)}\n placeholder=\"e.g. 1 — Core\"\n className=\"w-full px-3 py-2 bg-surface2 border border-border rounded-lg text-sm text-txt placeholder:text-muted focus:outline-hidden focus:border-accent transition-colors\"\n />\n </div>\n <div className=\"space-y-1.5\">\n <label className=\"block text-xs font-medium text-muted uppercase tracking-wide\">Size</label>\n <select\n value={size}\n onChange={e => setSize(e.target.value)}\n className=\"w-full px-3 py-2 bg-surface2 border border-border rounded-lg text-sm text-txt focus:outline-hidden focus:border-accent transition-colors\"\n >\n <option value=\"\">—</option>\n {SIZE_OPTIONS.map(o => (\n <option key={o.value} value={o.value}>{o.label}</option>\n ))}\n </select>\n </div>\n </div>\n\n <div className=\"space-y-1.5\">\n <label className=\"block text-xs font-medium text-muted uppercase tracking-wide\">Depends on</label>\n <input\n type=\"text\"\n value={dependsOn}\n onChange={e => setDependsOn(e.target.value)}\n placeholder=\"e.g. T001, T003\"\n className=\"w-full px-3 py-2 bg-surface2 border border-border rounded-lg text-sm text-txt placeholder:text-muted focus:outline-hidden focus:border-accent transition-colors\"\n />\n </div>\n\n <div className=\"space-y-1.5\">\n <label className=\"block text-xs font-medium text-muted uppercase tracking-wide\">Description</label>\n <textarea\n value={description}\n onChange={e => setDescription(e.target.value)}\n placeholder=\"What needs to be built?\"\n rows={3}\n className=\"w-full px-3 py-2 bg-surface2 border border-border rounded-lg text-sm text-txt placeholder:text-muted focus:outline-hidden focus:border-accent transition-colors resize-none\"\n />\n </div>\n\n {error && (\n <p className=\"text-sm text-danger\">{error}</p>\n )}\n\n <div className=\"flex items-center justify-end gap-2 pt-1\">\n <Dialog.Close\n type=\"button\"\n className=\"px-4 py-2 text-sm text-muted hover:text-txt transition-colors\"\n >\n Cancel\n </Dialog.Close>\n <button\n type=\"submit\"\n disabled={creating || !title.trim()}\n className={cn(\n \"flex items-center gap-2 px-4 py-2 rounded-lg text-sm font-medium transition-colors\",\n \"bg-accent text-white hover:bg-accent/90 disabled:opacity-50 disabled:cursor-not-allowed\"\n )}\n >\n {creating ? <Loader2 className=\"w-4 h-4 animate-spin\" /> : <Plus className=\"w-4 h-4\" />}\n {creating ? \"Creating…\" : \"Create Task\"}\n </button>\n </div>\n </form>\n </Dialog.Content>\n </Dialog.Portal>\n </Dialog.Root>\n )\n}\n","import type { ActivityEvent } from \"@/types\"\r\n\r\nconst ACTIVITY_ICONS: Record<string, string> = {\r\n task_updated: \"🔨\",\r\n decision_logged: \"📝\",\r\n memory_updated: \"🧠\",\r\n doc_read: \"📄\",\r\n session_start: \"🤖\",\n roadmap_updated: \"🗺️\",\r\n}\r\n\r\nexport function timeAgo(ts: string): string {\r\n const d = (Date.now() - new Date(ts).getTime()) / 1000\r\n if (d < 60) return \"just now\"\r\n if (d < 3600) return `${Math.floor(d / 60)}m ago`\r\n if (d < 86400) return `${Math.floor(d / 3600)}h ago`\r\n return `${Math.floor(d / 86400)}d ago`\r\n}\r\n\r\ninterface ActivityEventRowProps {\r\n event: ActivityEvent\r\n}\r\n\r\nexport function ActivityEventRow({ event }: ActivityEventRowProps) {\r\n return (\r\n <div className=\"flex gap-4 pb-4 animate-fade-in\">\r\n <div className=\"relative shrink-0 w-8 h-8 rounded-full bg-surface2 border border-border flex items-center justify-center text-sm z-10\">\r\n {ACTIVITY_ICONS[event.type] || \"•\"}\r\n </div>\r\n <div className=\"flex-1 pt-1 min-w-0\">\r\n <div className=\"flex items-center gap-2 mb-0.5\">\r\n <span className=\"text-sm font-medium text-txt\">{event.title}</span>\r\n {event.actor === \"ai\" && (\r\n <span className=\"text-xs px-1.5 py-0.5 rounded-sm bg-accent/10 text-accent border border-accent/20 font-mono\">\r\n AI\r\n </span>\r\n )}\r\n </div>\r\n {event.detail && (\r\n <p className=\"text-xs text-muted truncate\">{event.detail}</p>\r\n )}\r\n <p className=\"text-xs text-muted/60 mt-0.5 font-mono\">{timeAgo(event.timestamp)}</p>\r\n </div>\r\n </div>\r\n )\r\n}\r\n","\"use client\"\r\n\r\nimport { useState } from \"react\"\r\nimport { cn } from \"@/lib/utils\"\r\nimport { Badge } from \"@/components/ui/badge\"\r\nimport { Button } from \"@/components/ui/button\"\r\nimport type { Task } from \"@/types\"\r\n\r\nconst STATUS_COLORS: Record<string, string> = {\r\n todo: \"text-muted border-border2\",\r\n \"in-progress\": \"text-amber border-amber/30 bg-amber/5\",\r\n blocked: \"text-danger border-danger/30 bg-danger/5\",\r\n done: \"text-teal border-teal/30 bg-teal/5\",\r\n cancelled: \"text-muted border-border line-through\",\r\n}\r\n\r\nexport const STATUS_BADGE_COLORS: Record<string, string> = {\r\n todo: \"border-border2 text-muted\",\r\n \"in-progress\": \"border-amber/40 text-amber\",\r\n blocked: \"border-danger/40 text-danger\",\r\n done: \"border-teal/40 text-teal\",\r\n cancelled: \"border-border text-muted\",\r\n}\r\n\r\nexport const STATUS_ICONS: Record<string, string> = {\r\n todo: \"📋\",\r\n \"in-progress\": \"🔨\",\r\n blocked: \"🚫\",\r\n done: \"✅\",\r\n cancelled: \"❌\",\r\n}\r\n\r\nconst NEXT_STATUS: Record<string, string[]> = {\r\n todo: [\"in-progress\"],\r\n \"in-progress\": [\"done\", \"blocked\", \"todo\"],\r\n blocked: [\"in-progress\", \"cancelled\"],\r\n done: [\"todo\"],\r\n cancelled: [\"todo\"],\r\n}\r\n\r\ninterface TaskCardProps {\r\n task: Task\r\n onMove: (id: string, status: string) => void\r\n onOpen: () => void\r\n}\r\n\r\nexport function TaskCard({ task, onMove, onOpen }: TaskCardProps) {\r\n const [isDragging, setIsDragging] = useState(false)\r\n const nextStatuses = NEXT_STATUS[task.status] || []\r\n\r\n return (\r\n <div\r\n draggable\r\n onDragStart={(e) => {\r\n e.dataTransfer.setData(\"taskId\", task.id)\r\n e.dataTransfer.effectAllowed = \"move\"\r\n setIsDragging(true)\r\n }}\r\n onDragEnd={() => setIsDragging(false)}\r\n style={{ viewTransitionName: `task-${task.file.replace(/[^a-zA-Z0-9_-]/g, \"_\")}` }}\r\n className={cn(\r\n \"group relative bg-surface border rounded-lg p-3 text-sm transition-[border-color,opacity] hover:border-border2\",\r\n STATUS_COLORS[task.status] || \"border-border\",\r\n isDragging && \"opacity-50 cursor-grabbing\",\r\n )}\r\n >\r\n {/* ID + status badge */}\r\n <div className=\"flex items-center justify-between mb-1.5\">\r\n <span className=\"text-xs font-mono text-muted\">{task.id}</span>\r\n <Badge\r\n variant=\"outline\"\r\n className={cn(\"text-[10px] h-4 px-1.5 font-normal\", STATUS_BADGE_COLORS[task.status])}\r\n >\r\n {task.status === \"in-progress\" ? \"active\" : task.status}\r\n </Badge>\r\n </div>\r\n\r\n {/* Title */}\r\n <p className=\"font-medium text-txt text-sm leading-snug mb-2\">{task.title}</p>\r\n\r\n {/* Phase */}\r\n {task.phase && <p className=\"text-xs text-muted mb-2\">{task.phase}</p>}\r\n\r\n {/* Actions */}\r\n <div className=\"flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity\">\r\n <Button\r\n variant=\"ghost\"\r\n size=\"sm\"\r\n className=\"h-6 text-xs px-2\"\r\n onClick={onOpen}\r\n >\r\n open\r\n </Button>\r\n {nextStatuses.map((s) => (\r\n <Button\r\n key={s}\r\n variant=\"ghost\"\r\n size=\"sm\"\r\n className=\"h-6 text-xs px-2\"\r\n onClick={() => onMove(task.id, s)}\r\n >\r\n {STATUS_ICONS[s]} {s === \"in-progress\" ? \"start\" : s}\r\n </Button>\r\n ))}\r\n </div>\r\n </div>\r\n )\r\n}\r\n","\"use client\"\r\n\r\nimport { useState } from \"react\"\r\nimport { cn } from \"@/lib/utils\"\r\nimport { Sheet, SheetContent, SheetTitle } from \"@/components/ui/sheet\"\r\nimport { MarkdownRenderer } from \"@/components/docs/MarkdownRenderer\"\r\nimport type { Task } from \"@/types\"\r\nimport { STATUS_ICONS } from \"./TaskCard\"\r\nimport { TaskSessions } from \"./TaskSessions\"\r\n\r\nconst NEXT_STATUS: Record<string, string[]> = {\r\n todo: [\"in-progress\"],\r\n \"in-progress\": [\"done\", \"blocked\", \"todo\"],\r\n blocked: [\"in-progress\", \"cancelled\"],\r\n done: [\"todo\"],\r\n cancelled: [\"todo\"],\r\n}\r\n\r\nconst STATUS_LABELS: Record<string, string> = {\r\n \"in-progress\": \"start\",\r\n done: \"done\",\r\n blocked: \"blocked\",\r\n todo: \"backlog\",\r\n cancelled: \"cancel\",\r\n}\r\n\r\nconst STATUS_COLORS: Record<string, string> = {\r\n todo: \"text-muted border-border2\",\r\n \"in-progress\": \"text-amber border-amber/30 bg-amber/5\",\r\n blocked: \"text-danger border-danger/30 bg-danger/5\",\r\n done: \"text-teal border-teal/30 bg-teal/5\",\r\n cancelled: \"text-muted border-border\",\r\n}\r\n\r\ninterface TaskDetailPanelProps {\r\n task: Task | null\r\n onClose: () => void\r\n onMove: (id: string, status: string) => void\r\n}\r\n\r\nexport function TaskDetailPanel({ task: openTask, onClose, onMove }: TaskDetailPanelProps) {\r\n // Keep the last task rendered while the sheet slides out\r\n const [task, setTask] = useState(openTask)\r\n if (openTask && openTask !== task) setTask(openTask)\r\n\r\n const nextStatuses = task ? NEXT_STATUS[task.status] || [] : []\r\n\r\n return (\r\n <Sheet open={!!openTask} onOpenChange={(open) => { if (!open) onClose() }}>\r\n <SheetContent side=\"right\" aria-describedby={undefined} className=\"p-0 gap-0 sm:max-w-[420px] border-border flex flex-col\">\r\n {task && (\r\n <>\r\n {/* Header */}\r\n <div className=\"flex flex-col gap-1 min-w-0 pl-5 pr-12 py-4 border-b border-border shrink-0\">\r\n <div className=\"flex items-center gap-2\">\r\n <span className=\"font-mono text-xs text-muted\">{task.id}</span>\r\n <span className={cn(\"text-xs px-1.5 py-0.5 rounded-sm border font-mono\", STATUS_COLORS[task.status])}>\r\n {STATUS_ICONS[task.status]} {task.status}\r\n </span>\r\n </div>\r\n <SheetTitle className=\"font-medium text-txt text-sm leading-snug\">{task.title}</SheetTitle>\r\n </div>\r\n\r\n {/* Quick actions */}\r\n {nextStatuses.length > 0 && (\r\n <div className=\"flex items-center gap-2 px-5 py-3 border-b border-border shrink-0\">\r\n {nextStatuses.map((s) => (\r\n <button\r\n key={s}\r\n onClick={() => { onMove(task.id, s); onClose() }}\r\n className=\"text-xs px-2.5 py-1 rounded-sm bg-surface2 border border-border text-muted hover:text-txt hover:border-border2 transition-colors\"\r\n >\r\n {STATUS_ICONS[s]} {STATUS_LABELS[s] || s}\r\n </button>\r\n ))}\r\n </div>\r\n )}\r\n\r\n <TaskSessions key={task.id} taskId={task.id} onNavigate={onClose} />\r\n\r\n {/* Content */}\r\n <div className=\"flex-1 overflow-y-auto px-5 py-4\">\r\n {task.raw ? (\r\n <MarkdownRenderer content={task.raw} />\r\n ) : (\r\n <p className=\"text-sm text-muted\">No content available.</p>\r\n )}\r\n </div>\r\n </>\r\n )}\r\n </SheetContent>\r\n </Sheet>\r\n )\r\n}\r\n","\"use client\"\n\nimport { useEffect, useState } from \"react\"\nimport { useRouter } from \"next/navigation\"\nimport { useApp } from \"@/context/AppContext\"\nimport { timeAgo } from \"@/components/activity/ActivityEventRow\"\nimport type { Session } from \"@/types\"\n\n// Sessions that moved this task; mount with key={taskId} so state resets per task.\nexport function TaskSessions({ taskId, onNavigate }: { taskId: string; onNavigate: () => void }) {\n const { rootParam } = useApp()\n const router = useRouter()\n const [sessions, setSessions] = useState<Session[] | null>(null)\n\n useEffect(() => {\n const qs = rootParam ? `${rootParam}&` : \"?\"\n fetch(`/api/sessions${qs}taskId=${encodeURIComponent(taskId)}`)\n .then(r => r.json())\n .then(data => setSessions(Array.isArray(data) ? data : []))\n .catch(() => setSessions([]))\n }, [rootParam, taskId])\n\n return (\n <div className=\"px-5 py-3 border-b border-border shrink-0\">\n <p className=\"mb-2 text-xs font-mono uppercase tracking-wide text-muted\">Sessions</p>\n {sessions === null ? null : sessions.length === 0 ? (\n <p className=\"text-xs text-muted\">No recorded sessions</p>\n ) : (\n <div className=\"flex max-h-40 flex-col gap-1 overflow-y-auto\">\n {sessions.map(s => (\n <button\n key={s.id}\n onClick={() => { onNavigate(); router.push(`/activity?session=${encodeURIComponent(s.id)}`) }}\n className=\"flex items-center gap-2 rounded-sm px-2 py-1 text-left text-xs hover:bg-surface2\"\n >\n <span>{s.actor === \"ai\" ? \"🤖\" : \"👤\"}</span>\n <span className=\"shrink-0 font-mono text-muted\">{timeAgo(s.start)}</span>\n <span className=\"truncate text-txt\">{s.headline}</span>\n </button>\n ))}\n </div>\n )}\n </div>\n )\n}\n"],"names":["BoardColumn","status","tasks","onMoveTask","onOpenTask","isDragOver","setIsDragOver","className","variant","length","onDragOver","e","preventDefault","onDragLeave","currentTarget","contains","relatedTarget","onDrop","taskId","dataTransfer","getData","map","task","onMove","onOpen","id","ACTIVITY_ICONS","task_updated","decision_logged","memory_updated","doc_read","session_start","roadmap_updated","timeAgo","ts","d","Date","now","getTime","Math","floor","ActivityEventRow","event","type","title","actor","detail","timestamp","STATUS_COLORS","todo","blocked","done","cancelled","STATUS_BADGE_COLORS","STATUS_ICONS","NEXT_STATUS","TaskCard","isDragging","setIsDragging","nextStatuses","draggable","onDragStart","setData","effectAllowed","onDragEnd","style","viewTransitionName","file","replace","phase","size","onClick","s","TaskSessions","onNavigate","rootParam","router","sessions","setSessions","qs","fetch","encodeURIComponent","then","r","json","data","Array","isArray","catch","push","start","headline"],"mappings":"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","ignoreList":[0,1]}
@@ -1,3 +0,0 @@
1
- module.exports=[795667,a=>{"use strict";var b=a.i(256857);let c={name:"bot",size:24,node:[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]};c.node;let d=(0,b.default)(c);a.s(["Bot",0,d],795667)},661661,a=>{"use strict";var b=a.i(256857);let c={name:"pencil",size:24,node:[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]};c.node;let d=(0,b.default)(c);a.s(["Pencil",0,d],661661)},200382,a=>{"use strict";var b=a.i(256857);let c={name:"plus",size:24,node:[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]};c.node;let d=(0,b.default)(c);a.s(["Plus",0,d],200382)},551729,a=>{"use strict";var b=a.i(256857);let c={name:"sparkles",size:24,node:[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]],aliases:["stars"]};c.node;let d=(0,b.default)(c);a.s(["Sparkles",0,d],551729)},340933,a=>{"use strict";var b=a.i(256857);let c={name:"triangle-alert",size:24,node:[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]],aliases:["alert-triangle"]};c.node;let d=(0,b.default)(c);a.s(["AlertTriangle",0,d],340933)},21215,a=>{"use strict";var b=a.i(662145),c=a.i(368114);a.s(["EmptyState",0,function({icon:a,message:d,subMessage:e,bordered:f}){return(0,b.jsxs)("div",{className:(0,c.cn)("text-center py-16 text-muted text-sm",f&&"border border-dashed border-border rounded-xl"),children:[(0,b.jsx)("p",{className:"text-3xl mb-3",children:a}),(0,b.jsx)("p",{children:d}),e&&(0,b.jsx)("p",{className:"text-xs mt-1",children:e})]})}])}];
2
-
3
- //# sourceMappingURL=_1ewk_mn._.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../node_modules/.pnpm/lucide-react%401.48.0_react%4019.3.0/node_modules/lucide-react/src/icons/bot.ts","../../../../node_modules/.pnpm/lucide-react%401.48.0_react%4019.3.0/node_modules/lucide-react/src/icons/pencil.ts","../../../../node_modules/.pnpm/lucide-react%401.48.0_react%4019.3.0/node_modules/lucide-react/src/icons/plus.ts","../../../../node_modules/.pnpm/lucide-react%401.48.0_react%4019.3.0/node_modules/lucide-react/src/icons/sparkles.ts","../../../../node_modules/.pnpm/lucide-react%401.48.0_react%4019.3.0/node_modules/lucide-react/src/icons/triangle-alert.ts","../../../../src/components/shared/EmptyState.tsx"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'bot',\n size: 24,\n node: [\n ['path', { d: 'M12 8V4H8', key: 'hb8ula' }],\n ['rect', { width: '16', height: '12', x: '4', y: '8', rx: '2', key: 'enze0r' }],\n ['path', { d: 'M2 14h2', key: 'vft8re' }],\n ['path', { d: 'M20 14h2', key: '4cs60a' }],\n ['path', { d: 'M15 13v2', key: '1xurst' }],\n ['path', { d: 'M9 13v2', key: 'rq6x2g' }],\n ],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name Bot\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgOFY0SDgiIC8+CiAgPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjEyIiB4PSI0IiB5PSI4IiByeD0iMiIgLz4KICA8cGF0aCBkPSJNMiAxNGgyIiAvPgogIDxwYXRoIGQ9Ik0yMCAxNGgyIiAvPgogIDxwYXRoIGQ9Ik0xNSAxM3YyIiAvPgogIDxwYXRoIGQ9Ik05IDEzdjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/bot\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Bot = createLucideIcon(__iconData);\n\nexport default Bot;\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'pencil',\n size: 24,\n node: [\n [\n 'path',\n {\n d: 'M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z',\n key: '1a8usu',\n },\n ],\n ['path', { d: 'm15 5 4 4', key: '1mk7zo' }],\n ],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name Pencil\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEuMTc0IDYuODEyYTEgMSAwIDAgMC0zLjk4Ni0zLjk4N0wzLjg0MiAxNi4xNzRhMiAyIDAgMCAwLS41LjgzbC0xLjMyMSA0LjM1MmEuNS41IDAgMCAwIC42MjMuNjIybDQuMzUzLTEuMzJhMiAyIDAgMCAwIC44My0uNDk3eiIgLz4KICA8cGF0aCBkPSJtMTUgNSA0IDQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/pencil\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Pencil = createLucideIcon(__iconData);\n\nexport default Pencil;\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'plus',\n size: 24,\n node: [\n ['path', { d: 'M5 12h14', key: '1ays0h' }],\n ['path', { d: 'M12 5v14', key: 's699le' }],\n ],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name Plus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNSAxMmgxNCIgLz4KICA8cGF0aCBkPSJNMTIgNXYxNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/plus\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Plus = createLucideIcon(__iconData);\n\nexport default Plus;\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'sparkles',\n size: 24,\n node: [\n [\n 'path',\n {\n d: 'M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z',\n key: '1s2grr',\n },\n ],\n ['path', { d: 'M20 2v4', key: '1rf3ol' }],\n ['path', { d: 'M22 4h-4', key: 'gwowj6' }],\n ['circle', { cx: '4', cy: '20', r: '2', key: '6kqj1y' }],\n ],\n aliases: ['stars'],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name Sparkles\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEuMDE3IDIuODE0YTEgMSAwIDAgMSAxLjk2NiAwbDEuMDUxIDUuNTU4YTIgMiAwIDAgMCAxLjU5NCAxLjU5NGw1LjU1OCAxLjA1MWExIDEgMCAwIDEgMCAxLjk2NmwtNS41NTggMS4wNTFhMiAyIDAgMCAwLTEuNTk0IDEuNTk0bC0xLjA1MSA1LjU1OGExIDEgMCAwIDEtMS45NjYgMGwtMS4wNTEtNS41NThhMiAyIDAgMCAwLTEuNTk0LTEuNTk0bC01LjU1OC0xLjA1MWExIDEgMCAwIDEgMC0xLjk2Nmw1LjU1OC0xLjA1MWEyIDIgMCAwIDAgMS41OTQtMS41OTR6IiAvPgogIDxwYXRoIGQ9Ik0yMCAydjQiIC8+CiAgPHBhdGggZD0iTTIyIDRoLTQiIC8+CiAgPGNpcmNsZSBjeD0iNCIgY3k9IjIwIiByPSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/sparkles\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Sparkles = createLucideIcon(__iconData);\n\nexport default Sparkles;\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'triangle-alert',\n size: 24,\n node: [\n [\n 'path',\n {\n d: 'm21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3',\n key: 'wmoenq',\n },\n ],\n ['path', { d: 'M12 9v4', key: 'juzpu7' }],\n ['path', { d: 'M12 17h.01', key: 'p32p05' }],\n ],\n aliases: ['alert-triangle'],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name TriangleAlert\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMjEuNzMgMTgtOC0xNGEyIDIgMCAwIDAtMy40OCAwbC04IDE0QTIgMiAwIDAgMCA0IDIxaDE2YTIgMiAwIDAgMCAxLjczLTMiIC8+CiAgPHBhdGggZD0iTTEyIDl2NCIgLz4KICA8cGF0aCBkPSJNMTIgMTdoLjAxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/triangle-alert\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst TriangleAlert = createLucideIcon(__iconData);\n\nexport default TriangleAlert;\n","import { cn } from \"@/lib/utils\"\r\n\r\ninterface EmptyStateProps {\r\n icon: string\r\n message: string\r\n subMessage?: string\r\n bordered?: boolean\r\n}\r\n\r\nexport function EmptyState({ icon, message, subMessage, bordered }: EmptyStateProps) {\r\n return (\r\n <div\r\n className={cn(\r\n \"text-center py-16 text-muted text-sm\",\r\n bordered && \"border border-dashed border-border rounded-xl\",\r\n )}\r\n >\r\n <p className=\"text-3xl mb-3\">{icon}</p>\r\n <p>{message}</p>\r\n {subMessage && <p className=\"text-xs mt-1\">{subMessage}</p>}\r\n </div>\r\n )\r\n}\r\n"],"names":["EmptyState","icon","message","subMessage","bordered","className"],"mappings":"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","ignoreList":[0,1,2,3,4]}
@@ -1,3 +0,0 @@
1
- module.exports=[119530,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1t7n_@codemirror_lang-markdown_dist_index_1vm7csi.js"].map(b=>a.l(b))).then(()=>b(130048)))},750284,a=>{"use strict";var b=a.i(298206),c=a.i(538685),d=a.i(760650);let e="#e5c07b",f="#e06c75",g="#56b6c2",h="#ffffff",i="#abb2bf",j="#7d8799",k="#61afef",l="#98c379",m="#d19a66",n="#c678dd",o="#21252b",p="#2c313a",q="#282c34",r="#353a42",s="#3E4451",t="#528bff",u=b.EditorView.theme({"&":{color:i,backgroundColor:q},".cm-content":{caretColor:t},".cm-cursor, .cm-dropCursor":{borderLeftColor:t},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:s},".cm-panels":{backgroundColor:o,color:i},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:q,color:j,border:"none"},".cm-activeLineGutter":{backgroundColor:p},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:r},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:r,borderBottomColor:r},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:p,color:i}}},{dark:!0}),v=c.HighlightStyle.define([{tag:d.tags.keyword,color:n},{tag:[d.tags.name,d.tags.deleted,d.tags.character,d.tags.propertyName,d.tags.macroName],color:f},{tag:[d.tags.function(d.tags.variableName),d.tags.labelName],color:k},{tag:[d.tags.color,d.tags.constant(d.tags.name),d.tags.standard(d.tags.name)],color:m},{tag:[d.tags.definition(d.tags.name),d.tags.separator],color:i},{tag:[d.tags.typeName,d.tags.className,d.tags.number,d.tags.changed,d.tags.annotation,d.tags.modifier,d.tags.self,d.tags.namespace],color:e},{tag:[d.tags.operator,d.tags.operatorKeyword,d.tags.url,d.tags.escape,d.tags.regexp,d.tags.link,d.tags.special(d.tags.string)],color:g},{tag:[d.tags.meta,d.tags.comment],color:j},{tag:d.tags.strong,fontWeight:"bold"},{tag:d.tags.emphasis,fontStyle:"italic"},{tag:d.tags.strikethrough,textDecoration:"line-through"},{tag:d.tags.link,color:j,textDecoration:"underline"},{tag:d.tags.heading,fontWeight:"bold",color:f},{tag:[d.tags.atom,d.tags.bool,d.tags.special(d.tags.variableName)],color:m},{tag:[d.tags.processingInstruction,d.tags.string,d.tags.inserted],color:l},{tag:d.tags.invalid,color:h}]),w=[u,(0,c.syntaxHighlighting)(v)];a.s(["color",0,{chalky:e,coral:f,cyan:g,invalid:h,ivory:i,stone:j,malibu:k,sage:l,whiskey:m,violet:n,darkBackground:o,highlightBackground:p,background:q,tooltipBackground:r,selection:s,cursor:t},"oneDark",0,w,"oneDarkHighlightStyle",0,v,"oneDarkTheme",0,u])},356279,a=>{a.v(a=>Promise.resolve().then(()=>a(750284)))},486906,a=>{a.v(a=>Promise.resolve().then(()=>a(298206)))},795667,a=>{"use strict";var b=a.i(256857);let c={name:"bot",size:24,node:[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]};c.node;let d=(0,b.default)(c);a.s(["Bot",0,d],795667)},60084,28386,a=>{"use strict";var b=a.i(256857);let c={name:"copy",size:24,node:[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]};c.node;let d=(0,b.default)(c);a.s(["Copy",0,d],60084);let e={name:"trash",size:24,node:[["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"}]],aliases:["trash-2"]};e.node;let f=(0,b.default)(e);a.s(["Trash2",0,f],28386)},103817,769242,421234,a=>{"use strict";var b=a.i(256857);let c={name:"folder",size:24,node:[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]};c.node;let d=(0,b.default)(c);a.s(["Folder",0,d],103817);let e={name:"folder-open",size:24,node:[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]};e.node;let f=(0,b.default)(e);a.s(["FolderOpen",0,f],769242);var g=a.i(174897),h=a.i(196265),i=a.i(691321),j=a.i(541151),k=a.i(967683),l=a.i(521831),m=a.i(436102),n=a.i(818920),o=a.i(635163),p=a.i(662145),q=Object.defineProperty,r=(a,b)=>q(a,"name",{value:b,configurable:!0}),s="Collapsible",[t,u]=(0,i.createContextScope)(s),[v,w]=t(s),x=g.forwardRef(r(function(a,b){let{__scopeCollapsible:c,open:d,defaultOpen:e,disabled:f,onOpenChange:h,...i}=a,[k,l]=(0,j.useControllableState)({prop:d,defaultProp:e??!1,onChange:h,caller:s});return(0,p.jsx)(v,{scope:c,disabled:f,contentId:(0,o.useId)(),open:k,onOpenToggle:g.useCallback(()=>l(a=>!a),[l]),children:(0,p.jsx)(m.Primitive.div,{"data-state":C(k),"data-disabled":f?"":void 0,...i,ref:b})})},"Collapsible")),y=g.forwardRef(r(function(a,b){let{__scopeCollapsible:c,...d}=a,e=w("CollapsibleTrigger",c);return(0,p.jsx)(m.Primitive.button,{type:"button","aria-controls":e.open?e.contentId:void 0,"aria-expanded":e.open||!1,"data-state":C(e.open),"data-disabled":e.disabled?"":void 0,disabled:e.disabled,...d,ref:b,onClick:(0,h.composeEventHandlers)(a.onClick,e.onOpenToggle)})},"CollapsibleTrigger")),z="CollapsibleContent",A=g.forwardRef(r(function(a,b){let{forceMount:c,...d}=a,e=w(z,a.__scopeCollapsible);return(0,p.jsx)(n.Presence,{present:c||e.open,children:({present:a})=>(0,p.jsx)(B,{...d,ref:b,present:a})})},"CollapsibleContent")),B=g.forwardRef(r(function(a,b){let{__scopeCollapsible:c,present:d,children:e,...f}=a,h=w(z,c),[i,j]=g.useState(d),n=g.useRef(null),o=(0,l.useComposedRefs)(b,n),q=g.useRef(0),r=q.current,s=g.useRef(0),t=s.current,u=h.open||i,v=g.useRef(u),x=g.useRef(void 0);return g.useEffect(()=>{let a=requestAnimationFrame(()=>v.current=!1);return()=>cancelAnimationFrame(a)},[]),(0,k.useLayoutEffect)(()=>{let a=n.current;if(a){x.current=x.current||{transitionDuration:a.style.transitionDuration,animationName:a.style.animationName},a.style.transitionDuration="0s",a.style.animationName="none";let b=a.getBoundingClientRect();q.current=b.height,s.current=b.width,v.current||(a.style.transitionDuration=x.current.transitionDuration,a.style.animationName=x.current.animationName),j(d)}},[h.open,d]),(0,p.jsx)(m.Primitive.div,{"data-state":C(h.open),"data-disabled":h.disabled?"":void 0,id:h.contentId,hidden:!u,...f,ref:o,style:{"--radix-collapsible-content-height":r?`${r}px`:void 0,"--radix-collapsible-content-width":t?`${t}px`:void 0,...a.style},children:u&&e})},"CollapsibleContentImpl"));function C(a){return a?"open":"closed"}r(C,"getState"),a.s(["Collapsible",0,x,"CollapsibleContent",0,A,"CollapsibleTrigger",0,y],421234)},661661,a=>{"use strict";var b=a.i(256857);let c={name:"pencil",size:24,node:[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]};c.node;let d=(0,b.default)(c);a.s(["Pencil",0,d],661661)},200382,a=>{"use strict";var b=a.i(256857);let c={name:"plus",size:24,node:[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]};c.node;let d=(0,b.default)(c);a.s(["Plus",0,d],200382)},627882,386267,819876,a=>{"use strict";var b=a.i(256857);let c={name:"users",size:24,node:[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]]};c.node;let d=(0,b.default)(c);a.s(["Users",0,d],627882);let e={name:"code-xml",size:24,node:[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]],aliases:["code-2"]};e.node;let f=(0,b.default)(e);a.s(["Code2",0,f],386267);let g={name:"list",size:24,node:[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]]};g.node;let h=(0,b.default)(g);a.s(["List",0,h],819876)},992755,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]_node_crypto_1kn79-7._.js","server/chunks/ssr/node_modules__pnpm_0pd3rt6._.js","server/chunks/ssr/0ums_y-codemirror_next_src_index_0h7mizi.js"].map(b=>a.l(b))).then(()=>b(763655)))},219642,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]_node_crypto_1kn79-7._.js","server/chunks/ssr/node_modules__pnpm_1rwiwo8._.js","server/chunks/ssr/0bsn_y-websocket_src_y-websocket_0f2so-h.js"].map(b=>a.l(b))).then(()=>b(772498)))},56591,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]_node_crypto_1kn79-7._.js","server/chunks/ssr/node_modules__pnpm_0pd3rt6._.js"].map(b=>a.l(b))).then(()=>b(997122)))}];
2
-
3
- //# sourceMappingURL=node_modules__pnpm_1dcmsrg._.js.map