vibedoc 1.7.0 → 1.8.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 (638) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +9 -0
  3. package/.next/build-manifest.json +3 -3
  4. package/.next/prerender-manifest.json +42 -14
  5. package/.next/routes-manifest.json +54 -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.js.nft.json +1 -1
  11. package/.next/server/app/(app)/chat/page_client-reference-manifest.js +1 -1
  12. package/.next/server/app/(app)/docs/page.js.nft.json +1 -1
  13. package/.next/server/app/(app)/docs/page_client-reference-manifest.js +1 -1
  14. package/.next/server/app/(app)/explorer/page.js.nft.json +1 -1
  15. package/.next/server/app/(app)/explorer/page_client-reference-manifest.js +1 -1
  16. package/.next/server/app/(app)/manual-tests/page/app-paths-manifest.json +3 -0
  17. package/.next/server/app/(app)/manual-tests/page/build-manifest.json +20 -0
  18. package/.next/server/app/(app)/manual-tests/page/next-font-manifest.json +11 -0
  19. package/.next/server/app/(app)/manual-tests/page/react-loadable-manifest.json +1 -0
  20. package/.next/server/app/(app)/manual-tests/page/server-reference-manifest.json +4 -0
  21. package/.next/server/app/(app)/manual-tests/page.js +15 -0
  22. package/.next/server/app/(app)/manual-tests/page.js.map +5 -0
  23. package/.next/server/app/(app)/manual-tests/page.js.nft.json +1 -0
  24. package/.next/server/app/(app)/manual-tests/page_client-reference-manifest.js +3 -0
  25. package/.next/server/app/(app)/memory/page.js.nft.json +1 -1
  26. package/.next/server/app/(app)/memory/page_client-reference-manifest.js +1 -1
  27. package/.next/server/app/(app)/roadmap/page.js.nft.json +1 -1
  28. package/.next/server/app/(app)/roadmap/page_client-reference-manifest.js +1 -1
  29. package/.next/server/app/(app)/settings/page.js.nft.json +1 -1
  30. package/.next/server/app/(app)/settings/page_client-reference-manifest.js +1 -1
  31. package/.next/server/app/(app)/setup/page.js.nft.json +1 -1
  32. package/.next/server/app/(app)/setup/page_client-reference-manifest.js +1 -1
  33. package/.next/server/app/_global-error.html +1 -1
  34. package/.next/server/app/_global-error.rsc +1 -1
  35. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  36. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  37. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  38. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  39. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  40. package/.next/server/app/_not-found.html +1 -1
  41. package/.next/server/app/_not-found.rsc +3 -2
  42. package/.next/server/app/_not-found.segments/_full.segment.rsc +3 -2
  43. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -2
  44. package/.next/server/app/_not-found.segments/_tree.segment.rsc +3 -2
  45. package/.next/server/app/activity.html +1 -1
  46. package/.next/server/app/activity.rsc +20 -18
  47. package/.next/server/app/activity.segments/!KGFwcCk/activity/__PAGE__.segment.rsc +7 -6
  48. package/.next/server/app/activity.segments/_full.segment.rsc +20 -18
  49. package/.next/server/app/activity.segments/_tree.segment.rsc +3 -2
  50. package/.next/server/app/api/activity/route.js +2 -2
  51. package/.next/server/app/api/activity/route.js.nft.json +1 -1
  52. package/.next/server/app/api/backlinks/route.js +2 -2
  53. package/.next/server/app/api/backlinks/route.js.nft.json +1 -1
  54. package/.next/server/app/api/chat/route.js +1 -1
  55. package/.next/server/app/api/chat/route.js.nft.json +1 -1
  56. package/.next/server/app/api/context/route.js +2 -2
  57. package/.next/server/app/api/context/route.js.nft.json +1 -1
  58. package/.next/server/app/api/conversations/route.js +2 -2
  59. package/.next/server/app/api/conversations/route.js.nft.json +1 -1
  60. package/.next/server/app/api/decisions/route.js +2 -2
  61. package/.next/server/app/api/decisions/route.js.nft.json +1 -1
  62. package/.next/server/app/api/docs/route.js +1 -1
  63. package/.next/server/app/api/docs/route.js.nft.json +1 -1
  64. package/.next/server/app/api/explorer/route.js +2 -2
  65. package/.next/server/app/api/explorer/route.js.nft.json +1 -1
  66. package/.next/server/app/api/mcp/route.js +1 -1
  67. package/.next/server/app/api/mcp/route.js.nft.json +1 -1
  68. package/.next/server/app/api/memory/route.js +2 -2
  69. package/.next/server/app/api/memory/route.js.nft.json +1 -1
  70. package/.next/server/app/api/plan/apply/route.js +3 -3
  71. package/.next/server/app/api/plan/apply/route.js.nft.json +1 -1
  72. package/.next/server/app/api/projects/route.js +2 -2
  73. package/.next/server/app/api/projects/route.js.nft.json +1 -1
  74. package/.next/server/app/api/registry/route.js +2 -2
  75. package/.next/server/app/api/registry/route.js.nft.json +1 -1
  76. package/.next/server/app/api/roadmap/create/route.js +3 -3
  77. package/.next/server/app/api/roadmap/create/route.js.nft.json +1 -1
  78. package/.next/server/app/api/roadmap/delete/route.js +3 -3
  79. package/.next/server/app/api/roadmap/delete/route.js.nft.json +1 -1
  80. package/.next/server/app/api/roadmap/generate/route.js +3 -3
  81. package/.next/server/app/api/roadmap/generate/route.js.nft.json +1 -1
  82. package/.next/server/app/api/roadmap/layout/route.js +3 -3
  83. package/.next/server/app/api/roadmap/layout/route.js.nft.json +1 -1
  84. package/.next/server/app/api/roadmap/restore/route/app-paths-manifest.json +3 -0
  85. package/.next/server/app/api/roadmap/restore/route/build-manifest.json +12 -0
  86. package/.next/server/app/api/roadmap/restore/route/server-reference-manifest.json +4 -0
  87. package/.next/server/app/api/roadmap/restore/route.js +9 -0
  88. package/.next/server/app/api/roadmap/restore/route.js.map +5 -0
  89. package/.next/server/app/api/roadmap/restore/route.js.nft.json +1 -0
  90. package/.next/server/app/api/roadmap/restore/route_client-reference-manifest.js +3 -0
  91. package/.next/server/app/api/roadmap/route.js +3 -3
  92. package/.next/server/app/api/roadmap/route.js.nft.json +1 -1
  93. package/.next/server/app/api/roadmap/update/route.js +3 -3
  94. package/.next/server/app/api/roadmap/update/route.js.nft.json +1 -1
  95. package/.next/server/app/api/sessions/route.js +2 -2
  96. package/.next/server/app/api/sessions/route.js.nft.json +1 -1
  97. package/.next/server/app/api/settings/route.js +3 -3
  98. package/.next/server/app/api/settings/route.js.nft.json +1 -1
  99. package/.next/server/app/api/setup/generate/route.js +1 -1
  100. package/.next/server/app/api/setup/generate/route.js.nft.json +1 -1
  101. package/.next/server/app/api/setup/write/route.js +2 -2
  102. package/.next/server/app/api/setup/write/route.js.nft.json +1 -1
  103. package/.next/server/app/api/summary/route.js +2 -2
  104. package/.next/server/app/api/summary/route.js.nft.json +1 -1
  105. package/.next/server/app/api/tasks/bulk/route/app-paths-manifest.json +3 -0
  106. package/.next/server/app/api/tasks/bulk/route/build-manifest.json +12 -0
  107. package/.next/server/app/api/tasks/bulk/route/server-reference-manifest.json +4 -0
  108. package/.next/server/app/api/tasks/bulk/route.js +9 -0
  109. package/.next/server/app/api/tasks/bulk/route.js.map +5 -0
  110. package/.next/server/app/api/tasks/bulk/route.js.nft.json +1 -0
  111. package/.next/server/app/api/tasks/bulk/route_client-reference-manifest.js +3 -0
  112. package/.next/server/app/api/tasks/create/route.js +2 -2
  113. package/.next/server/app/api/tasks/create/route.js.nft.json +1 -1
  114. package/.next/server/app/api/tasks/delete/route/app-paths-manifest.json +3 -0
  115. package/.next/server/app/api/tasks/delete/route/build-manifest.json +12 -0
  116. package/.next/server/app/api/tasks/delete/route/server-reference-manifest.json +4 -0
  117. package/.next/server/app/api/tasks/delete/route.js +9 -0
  118. package/.next/server/app/api/tasks/delete/route.js.map +5 -0
  119. package/.next/server/app/api/tasks/delete/route.js.nft.json +1 -0
  120. package/.next/server/app/api/tasks/delete/route_client-reference-manifest.js +3 -0
  121. package/.next/server/app/api/tasks/manual-tests/route/app-paths-manifest.json +3 -0
  122. package/.next/server/app/api/tasks/manual-tests/route/build-manifest.json +12 -0
  123. package/.next/server/app/api/tasks/manual-tests/route/server-reference-manifest.json +4 -0
  124. package/.next/server/app/api/tasks/manual-tests/route.js +8 -0
  125. package/.next/server/app/api/tasks/manual-tests/route.js.map +5 -0
  126. package/.next/server/app/api/tasks/manual-tests/route.js.nft.json +1 -0
  127. package/.next/server/app/api/tasks/manual-tests/route_client-reference-manifest.js +3 -0
  128. package/.next/server/app/api/tasks/restore/route/app-paths-manifest.json +3 -0
  129. package/.next/server/app/api/tasks/restore/route/build-manifest.json +12 -0
  130. package/.next/server/app/api/tasks/restore/route/server-reference-manifest.json +4 -0
  131. package/.next/server/app/api/tasks/restore/route.js +9 -0
  132. package/.next/server/app/api/tasks/restore/route.js.map +5 -0
  133. package/.next/server/app/api/tasks/restore/route.js.nft.json +1 -0
  134. package/.next/server/app/api/tasks/restore/route_client-reference-manifest.js +3 -0
  135. package/.next/server/app/api/tasks/review/route/app-paths-manifest.json +3 -0
  136. package/.next/server/app/api/tasks/review/route/build-manifest.json +12 -0
  137. package/.next/server/app/api/tasks/review/route/server-reference-manifest.json +4 -0
  138. package/.next/server/app/api/tasks/review/route.js +9 -0
  139. package/.next/server/app/api/tasks/review/route.js.map +5 -0
  140. package/.next/server/app/api/tasks/review/route.js.nft.json +1 -0
  141. package/.next/server/app/api/tasks/review/route_client-reference-manifest.js +3 -0
  142. package/.next/server/app/api/tasks/route.js +2 -2
  143. package/.next/server/app/api/tasks/route.js.nft.json +1 -1
  144. package/.next/server/app/api/tasks/update/route/app-paths-manifest.json +3 -0
  145. package/.next/server/app/api/tasks/update/route/build-manifest.json +12 -0
  146. package/.next/server/app/api/tasks/update/route/server-reference-manifest.json +4 -0
  147. package/.next/server/app/api/tasks/update/route.js +9 -0
  148. package/.next/server/app/api/tasks/update/route.js.map +5 -0
  149. package/.next/server/app/api/tasks/update/route.js.nft.json +1 -0
  150. package/.next/server/app/api/tasks/update/route_client-reference-manifest.js +3 -0
  151. package/.next/server/app/api/views/route/app-paths-manifest.json +3 -0
  152. package/.next/server/app/api/views/route/build-manifest.json +12 -0
  153. package/.next/server/app/api/views/route/server-reference-manifest.json +4 -0
  154. package/.next/server/app/api/views/route.js +9 -0
  155. package/.next/server/app/api/views/route.js.map +5 -0
  156. package/.next/server/app/api/views/route.js.nft.json +1 -0
  157. package/.next/server/app/api/views/route_client-reference-manifest.js +3 -0
  158. package/.next/server/app/board.html +1 -1
  159. package/.next/server/app/board.rsc +20 -18
  160. package/.next/server/app/board.segments/!KGFwcCk/board/__PAGE__.segment.rsc +7 -6
  161. package/.next/server/app/board.segments/_full.segment.rsc +20 -18
  162. package/.next/server/app/board.segments/_tree.segment.rsc +3 -2
  163. package/.next/server/app/chat.html +1 -1
  164. package/.next/server/app/chat.rsc +20 -18
  165. package/.next/server/app/chat.segments/!KGFwcCk/chat/__PAGE__.segment.rsc +12 -9
  166. package/.next/server/app/chat.segments/_full.segment.rsc +20 -18
  167. package/.next/server/app/chat.segments/_tree.segment.rsc +3 -2
  168. package/.next/server/app/docs.html +1 -1
  169. package/.next/server/app/docs.rsc +20 -18
  170. package/.next/server/app/docs.segments/!KGFwcCk/docs/__PAGE__.segment.rsc +6 -5
  171. package/.next/server/app/docs.segments/_full.segment.rsc +20 -18
  172. package/.next/server/app/docs.segments/_tree.segment.rsc +3 -2
  173. package/.next/server/app/explorer.html +1 -1
  174. package/.next/server/app/explorer.rsc +20 -18
  175. package/.next/server/app/explorer.segments/!KGFwcCk/explorer/__PAGE__.segment.rsc +11 -9
  176. package/.next/server/app/explorer.segments/_full.segment.rsc +20 -18
  177. package/.next/server/app/explorer.segments/_tree.segment.rsc +3 -2
  178. package/.next/server/app/index.html +1 -1
  179. package/.next/server/app/index.rsc +3 -2
  180. package/.next/server/app/index.segments/__PAGE__.segment.rsc +3 -2
  181. package/.next/server/app/index.segments/_full.segment.rsc +3 -2
  182. package/.next/server/app/index.segments/_tree.segment.rsc +3 -2
  183. package/.next/server/app/manual-tests.html +1 -0
  184. package/.next/server/app/manual-tests.meta +31 -0
  185. package/.next/server/app/manual-tests.rsc +31 -0
  186. package/.next/server/app/manual-tests.segments/!KGFwcCk/manual-tests/__PAGE__.segment.rsc +33 -0
  187. package/.next/server/app/manual-tests.segments/_full.segment.rsc +31 -0
  188. package/.next/server/app/manual-tests.segments/_tree.segment.rsc +5 -0
  189. package/.next/server/app/memory.html +1 -1
  190. package/.next/server/app/memory.rsc +20 -18
  191. package/.next/server/app/memory.segments/!KGFwcCk/memory/__PAGE__.segment.rsc +11 -9
  192. package/.next/server/app/memory.segments/_full.segment.rsc +20 -18
  193. package/.next/server/app/memory.segments/_tree.segment.rsc +3 -2
  194. package/.next/server/app/page.js.nft.json +1 -1
  195. package/.next/server/app/page_client-reference-manifest.js +1 -1
  196. package/.next/server/app/roadmap.html +1 -1
  197. package/.next/server/app/roadmap.rsc +20 -18
  198. package/.next/server/app/roadmap.segments/!KGFwcCk/roadmap/__PAGE__.segment.rsc +6 -5
  199. package/.next/server/app/roadmap.segments/_full.segment.rsc +20 -18
  200. package/.next/server/app/roadmap.segments/_tree.segment.rsc +3 -2
  201. package/.next/server/app/settings.html +1 -1
  202. package/.next/server/app/settings.rsc +20 -18
  203. package/.next/server/app/settings.segments/!KGFwcCk/settings/__PAGE__.segment.rsc +7 -6
  204. package/.next/server/app/settings.segments/_full.segment.rsc +20 -18
  205. package/.next/server/app/settings.segments/_tree.segment.rsc +3 -2
  206. package/.next/server/app/setup.html +1 -1
  207. package/.next/server/app/setup.rsc +20 -18
  208. package/.next/server/app/setup.segments/!KGFwcCk/setup/__PAGE__.segment.rsc +11 -9
  209. package/.next/server/app/setup.segments/_full.segment.rsc +20 -18
  210. package/.next/server/app/setup.segments/_tree.segment.rsc +3 -2
  211. package/.next/server/app-paths-manifest.json +9 -0
  212. package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0-5bkpj._.js → 11mp_@anthropic-ai_sdk_00p3fu1._.js} +1 -1
  213. package/.next/server/chunks/{11mp_@anthropic-ai_sdk_01l5h3i._.js → 11mp_@anthropic-ai_sdk_01amtux._.js} +1 -1
  214. package/.next/server/chunks/{11mp_@anthropic-ai_sdk_00psb_y._.js → 11mp_@anthropic-ai_sdk_01jjl08._.js} +1 -1
  215. package/.next/server/chunks/{11mp_@anthropic-ai_sdk_072r2bd._.js → 11mp_@anthropic-ai_sdk_071zfm8._.js} +1 -1
  216. package/.next/server/chunks/11mp_@anthropic-ai_sdk_07v3boe._.js +3 -0
  217. package/.next/server/chunks/11mp_@anthropic-ai_sdk_09iva72._.js +3 -0
  218. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0bom1b1._.js +3 -0
  219. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0dvji7p._.js +3 -0
  220. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0dzo8jn._.js +3 -0
  221. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0hvqsqq._.js +3 -0
  222. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0i7i-jw._.js +3 -0
  223. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0k0iop5._.js +3 -0
  224. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0l3-6aq._.js +3 -0
  225. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0oegm3y._.js +3 -0
  226. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0p5cyes._.js +3 -0
  227. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0qw8i6_._.js +3 -0
  228. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0yk-a7v._.js +3 -0
  229. package/.next/server/chunks/11mp_@anthropic-ai_sdk_11fsqvb._.js +3 -0
  230. package/.next/server/chunks/11mp_@anthropic-ai_sdk_143_7ez._.js +3 -0
  231. package/.next/server/chunks/11mp_@anthropic-ai_sdk_14a4-64._.js +3 -0
  232. package/.next/server/chunks/11mp_@anthropic-ai_sdk_17d_oma._.js +3 -0
  233. package/.next/server/chunks/11mp_@anthropic-ai_sdk_18qwuyb._.js +3 -0
  234. package/.next/server/chunks/11mp_@anthropic-ai_sdk_19au8y6._.js +3 -0
  235. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1ak_hy5._.js +3 -0
  236. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1cqa0nq._.js +3 -0
  237. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1i-x_q0._.js +3 -0
  238. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1jmtliz._.js +3 -0
  239. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1jmtliz._.js.map +1 -0
  240. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1jouwlj._.js +3 -0
  241. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1jouwlj._.js.map +1 -0
  242. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1r_q5um._.js +3 -0
  243. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1r_q5um._.js.map +1 -0
  244. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1t959xd._.js +3 -0
  245. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1t959xd._.js.map +1 -0
  246. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1vkprw9._.js +3 -0
  247. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1vkprw9._.js.map +1 -0
  248. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1y95ax9._.js +3 -0
  249. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1y95ax9._.js.map +1 -0
  250. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1y9misr._.js +3 -0
  251. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1y9misr._.js.map +1 -0
  252. package/.next/server/chunks/11mp_@anthropic-ai_sdk_21b8wwy._.js +3 -0
  253. package/.next/server/chunks/11mp_@anthropic-ai_sdk_21b8wwy._.js.map +1 -0
  254. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_08ecfgc._.js +3 -0
  255. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_09--sd6._.js +3 -0
  256. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0e3mwc6._.js +3 -0
  257. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0go4301._.js +3 -0
  258. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0iq9dmt._.js +3 -0
  259. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0n9ijke._.js +3 -0
  260. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0szcyrx._.js +3 -0
  261. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0xy2s3x._.js +3 -0
  262. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0yaujn7._.js +3 -0
  263. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0z9ly74._.js +3 -0
  264. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1hmq3al._.js +3 -0
  265. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1tqk4bp._.js +3 -0
  266. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1x-hr6f._.js +3 -0
  267. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1zsdhg0._.js +3 -0
  268. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_20t__fe._.js +3 -0
  269. package/.next/server/chunks/{[root-of-the-server]__1u_q61h._.js → [root-of-the-server]__0-pmfg2._.js} +2 -2
  270. package/.next/server/chunks/[root-of-the-server]__02co2yq._.js +3 -0
  271. package/.next/server/chunks/[root-of-the-server]__02co2yq._.js.map +1 -0
  272. package/.next/server/chunks/{[root-of-the-server]__1y3u5ud._.js → [root-of-the-server]__04tibmn._.js} +2 -2
  273. package/.next/server/chunks/{[root-of-the-server]__17xb02p._.js → [root-of-the-server]__05g5cgo._.js} +2 -2
  274. package/.next/server/chunks/{[root-of-the-server]__0aynzrb._.js → [root-of-the-server]__0b5pwze._.js} +2 -2
  275. package/.next/server/chunks/{[root-of-the-server]__142icjb._.js → [root-of-the-server]__0druay_._.js} +2 -2
  276. package/.next/server/chunks/{[root-of-the-server]__106gpvh._.js → [root-of-the-server]__0p6ja6l._.js} +2 -2
  277. package/.next/server/chunks/[root-of-the-server]__0q3-t8a._.js +3 -0
  278. package/.next/server/chunks/[root-of-the-server]__0q3-t8a._.js.map +1 -0
  279. package/.next/server/chunks/[root-of-the-server]__0vcsqzd._.js +3 -0
  280. package/.next/server/chunks/[root-of-the-server]__0vcsqzd._.js.map +1 -0
  281. package/.next/server/chunks/{[root-of-the-server]__0nfvvy9._.js → [root-of-the-server]__1-e3i_5._.js} +2 -2
  282. package/.next/server/chunks/[root-of-the-server]__1-ic3af._.js +3 -0
  283. package/.next/server/chunks/[root-of-the-server]__1-ic3af._.js.map +1 -0
  284. package/.next/server/chunks/[root-of-the-server]__11a4ptn._.js +3 -0
  285. package/.next/server/chunks/[root-of-the-server]__11a4ptn._.js.map +1 -0
  286. package/.next/server/chunks/{[root-of-the-server]__0e59y5j._.js → [root-of-the-server]__11c8641._.js} +2 -2
  287. package/.next/server/chunks/[root-of-the-server]__12nzy_6._.js +3 -0
  288. package/.next/server/chunks/[root-of-the-server]__12nzy_6._.js.map +1 -0
  289. package/.next/server/chunks/[root-of-the-server]__15ck1wv._.js +3 -0
  290. package/.next/server/chunks/[root-of-the-server]__15ck1wv._.js.map +1 -0
  291. package/.next/server/chunks/[root-of-the-server]__1613hjb._.js +30 -19
  292. package/.next/server/chunks/[root-of-the-server]__1613hjb._.js.map +1 -1
  293. package/.next/server/chunks/{[root-of-the-server]__06zf_sh._.js → [root-of-the-server]__197vw9g._.js} +2 -2
  294. package/.next/server/chunks/{[root-of-the-server]__1j0rrps._.js → [root-of-the-server]__19k8t87._.js} +2 -2
  295. package/.next/server/chunks/{[root-of-the-server]__0eqd-tw._.js → [root-of-the-server]__1ezzeji._.js} +2 -2
  296. package/.next/server/chunks/[root-of-the-server]__1mrmaf9._.js +3 -0
  297. package/.next/server/chunks/{[root-of-the-server]__17p0rkn._.js → [root-of-the-server]__1n68akx._.js} +2 -2
  298. package/.next/server/chunks/[root-of-the-server]__1n68akx._.js.map +1 -0
  299. package/.next/server/chunks/{[root-of-the-server]__11s76m8._.js → [root-of-the-server]__1npya5q._.js} +2 -2
  300. package/.next/server/chunks/[root-of-the-server]__1npya5q._.js.map +1 -0
  301. package/.next/server/chunks/[root-of-the-server]__1qusy4g._.js +3 -0
  302. package/.next/server/chunks/[root-of-the-server]__1qusy4g._.js.map +1 -0
  303. package/.next/server/chunks/{[root-of-the-server]__1q4ahvz._.js → [root-of-the-server]__1umrorf._.js} +2 -2
  304. package/.next/server/chunks/{[root-of-the-server]__093hlkh._.js → [root-of-the-server]__1vh9g2o._.js} +2 -2
  305. package/.next/server/chunks/{[root-of-the-server]__1y-tt29._.js → [root-of-the-server]__1vq38ov._.js} +2 -2
  306. package/.next/server/chunks/[root-of-the-server]__1xb0fmp._.js +1 -1
  307. package/.next/server/chunks/[root-of-the-server]__1xb0fmp._.js.map +1 -1
  308. package/.next/server/chunks/_04byth9._.js +24 -19
  309. package/.next/server/chunks/_04byth9._.js.map +1 -1
  310. package/.next/server/chunks/_1au4syj._.js +1 -1
  311. package/.next/server/chunks/_1au4syj._.js.map +1 -1
  312. package/.next/server/chunks/_1b5fqxy._.js.map +1 -1
  313. package/.next/server/chunks/_1ivswa9._.js +3 -0
  314. package/.next/server/chunks/_1ivswa9._.js.map +1 -0
  315. package/.next/server/chunks/_next-internal_server_app_api_roadmap_restore_route_actions_0skshp1.js +3 -0
  316. package/.next/server/chunks/_next-internal_server_app_api_roadmap_restore_route_actions_0skshp1.js.map +1 -0
  317. package/.next/server/chunks/_next-internal_server_app_api_tasks_bulk_route_actions_1k75mlb.js +3 -0
  318. package/.next/server/chunks/_next-internal_server_app_api_tasks_bulk_route_actions_1k75mlb.js.map +1 -0
  319. package/.next/server/chunks/_next-internal_server_app_api_tasks_delete_route_actions_1k1g6mw.js +3 -0
  320. package/.next/server/chunks/_next-internal_server_app_api_tasks_delete_route_actions_1k1g6mw.js.map +1 -0
  321. package/.next/server/chunks/_next-internal_server_app_api_tasks_manual-tests_route_actions_1rpog0y.js +3 -0
  322. package/.next/server/chunks/_next-internal_server_app_api_tasks_manual-tests_route_actions_1rpog0y.js.map +1 -0
  323. package/.next/server/chunks/_next-internal_server_app_api_tasks_restore_route_actions_1ecsti8.js +3 -0
  324. package/.next/server/chunks/_next-internal_server_app_api_tasks_restore_route_actions_1ecsti8.js.map +1 -0
  325. package/.next/server/chunks/_next-internal_server_app_api_tasks_review_route_actions_1dly07f.js +3 -0
  326. package/.next/server/chunks/_next-internal_server_app_api_tasks_review_route_actions_1dly07f.js.map +1 -0
  327. package/.next/server/chunks/_next-internal_server_app_api_tasks_update_route_actions_0z-ho6g.js +3 -0
  328. package/.next/server/chunks/_next-internal_server_app_api_tasks_update_route_actions_0z-ho6g.js.map +1 -0
  329. package/.next/server/chunks/_next-internal_server_app_api_views_route_actions_10-2c0e.js +3 -0
  330. package/.next/server/chunks/_next-internal_server_app_api_views_route_actions_10-2c0e.js.map +1 -0
  331. package/.next/server/chunks/ssr/0_g__next_dist_000c5_m._.js +3 -0
  332. package/.next/server/chunks/ssr/0_g__next_dist_000c5_m._.js.map +1 -0
  333. package/.next/server/chunks/ssr/{0_nd_mermaid_dist_mermaid_core_mjs_0vv_0i3._.js → 0_nd_mermaid_dist_mermaid_core_mjs_027n2yl._.js} +2 -2
  334. package/.next/server/chunks/ssr/0_nd_mermaid_dist_mermaid_core_mjs_027n2yl._.js.map +1 -0
  335. package/.next/server/chunks/ssr/{1u84_katex_dist_katex_mjs_1z0p1bs._.js → 1u84_katex_dist_katex_mjs_1kb5xea._.js} +1 -1
  336. package/.next/server/chunks/ssr/1u84_katex_dist_katex_mjs_1kb5xea._.js.map +1 -0
  337. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_05ggp3i._.js +1 -1
  338. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_05ggp3i._.js.map +1 -1
  339. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_0wurouw._.js +3 -0
  340. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_0wurouw._.js.map +1 -0
  341. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_14hl50o._.js +3 -0
  342. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_14hl50o._.js.map +1 -0
  343. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_folder-open_mjs_117ipzw._.js +3 -0
  344. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_folder-open_mjs_117ipzw._.js.map +1 -0
  345. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_triangle-alert_mjs_0ei-mpz._.js +3 -0
  346. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_triangle-alert_mjs_0ei-mpz._.js.map +1 -0
  347. package/.next/server/chunks/ssr/[root-of-the-server]__0hcextx._.js +3 -0
  348. package/.next/server/chunks/ssr/[root-of-the-server]__0hcextx._.js.map +1 -0
  349. package/.next/server/chunks/ssr/[root-of-the-server]__0xt_0w2._.js.map +1 -1
  350. package/.next/server/chunks/ssr/_04xff_2._.js +1 -1
  351. package/.next/server/chunks/ssr/_04xff_2._.js.map +1 -1
  352. package/.next/server/chunks/ssr/_071j6mr._.js +4 -0
  353. package/.next/server/chunks/ssr/_071j6mr._.js.map +1 -0
  354. package/.next/server/chunks/ssr/_09b02z-._.js +3 -0
  355. package/.next/server/chunks/ssr/_09b02z-._.js.map +1 -0
  356. package/.next/server/chunks/ssr/_0d0f1s1._.js +3 -0
  357. package/.next/server/chunks/ssr/_0d0f1s1._.js.map +1 -0
  358. package/.next/server/chunks/ssr/_0idb-vo._.js +151 -0
  359. package/.next/server/chunks/ssr/_0idb-vo._.js.map +1 -0
  360. package/.next/server/chunks/ssr/_0lnt_va._.js +4 -0
  361. package/.next/server/chunks/ssr/_0lnt_va._.js.map +1 -0
  362. package/.next/server/chunks/ssr/_0qlymco._.js +3 -0
  363. package/.next/server/chunks/ssr/_0qlymco._.js.map +1 -0
  364. package/.next/server/chunks/ssr/_0qp3gu7._.js +3 -0
  365. package/.next/server/chunks/ssr/_0qp3gu7._.js.map +1 -0
  366. package/.next/server/chunks/ssr/_0sg1oeq._.js +3 -0
  367. package/.next/server/chunks/ssr/_0sg1oeq._.js.map +1 -0
  368. package/.next/server/chunks/ssr/_14emfpq._.js +3 -0
  369. package/.next/server/chunks/ssr/_14emfpq._.js.map +1 -0
  370. package/.next/server/chunks/ssr/_1ftruw6._.js +4 -0
  371. package/.next/server/chunks/ssr/_1ftruw6._.js.map +1 -0
  372. package/.next/server/chunks/ssr/_1gxjjvh._.js +1 -1
  373. package/.next/server/chunks/ssr/_1gxjjvh._.js.map +1 -1
  374. package/.next/server/chunks/ssr/_1ncdakv._.js +4 -0
  375. package/.next/server/chunks/ssr/_1ncdakv._.js.map +1 -0
  376. package/.next/server/chunks/ssr/_1t76zdx._.js +3 -0
  377. package/.next/server/chunks/ssr/_1t76zdx._.js.map +1 -0
  378. package/.next/server/chunks/ssr/_1x7ggg5._.js +4 -0
  379. package/.next/server/chunks/ssr/_1x7ggg5._.js.map +1 -0
  380. package/.next/server/chunks/ssr/_next-internal_server_app_(app)_manual-tests_page_actions_1g5zjb7.js +3 -0
  381. package/.next/server/chunks/ssr/_next-internal_server_app_(app)_manual-tests_page_actions_1g5zjb7.js.map +1 -0
  382. package/.next/server/chunks/ssr/{node_modules__pnpm_04khl_s._.js → node_modules__pnpm_01bjcv9._.js} +1 -1
  383. package/.next/server/chunks/ssr/{node_modules__pnpm_08sqeu2._.js → node_modules__pnpm_03qrzdb._.js} +1 -1
  384. package/.next/server/chunks/ssr/{node_modules__pnpm_104pzhc._.js → node_modules__pnpm_06d-fdo._.js} +2 -2
  385. package/.next/server/chunks/ssr/{node_modules__pnpm_1xzf8g_._.js → node_modules__pnpm_0ctisl0._.js} +1 -1
  386. package/.next/server/chunks/ssr/{node_modules__pnpm_0og06fy._.js → node_modules__pnpm_0fwp8jm._.js} +1 -1
  387. package/.next/server/chunks/ssr/{node_modules__pnpm_0a9b2ei._.js → node_modules__pnpm_0kpu0-2._.js} +1 -1
  388. package/.next/server/chunks/ssr/{node_modules__pnpm_0jpv2b6._.js → node_modules__pnpm_0vry74x._.js} +2 -2
  389. package/.next/server/chunks/ssr/{node_modules__pnpm_0fd3pr1._.js → node_modules__pnpm_0ycbjbd._.js} +2 -2
  390. package/.next/server/chunks/ssr/{node_modules__pnpm_1l8k8w1._.js → node_modules__pnpm_1-76qxg._.js} +1 -1
  391. package/.next/server/chunks/ssr/{node_modules__pnpm_0ah02mu._.js → node_modules__pnpm_1-r94f7._.js} +1 -1
  392. package/.next/server/chunks/ssr/{node_modules__pnpm_1yq90z7._.js → node_modules__pnpm_14piqi4._.js} +1 -1
  393. package/.next/server/chunks/ssr/node_modules__pnpm_14piqi4._.js.map +1 -0
  394. package/.next/server/chunks/ssr/{node_modules__pnpm_0dwi7mu._.js → node_modules__pnpm_16u1vfb._.js} +2 -2
  395. package/.next/server/chunks/ssr/node_modules__pnpm_16u1vfb._.js.map +1 -0
  396. package/.next/server/chunks/ssr/{node_modules__pnpm_0f77_ng._.js → node_modules__pnpm_17i6z2d._.js} +1 -1
  397. package/.next/server/chunks/ssr/{node_modules__pnpm_09_i2jk._.js → node_modules__pnpm_189m48n._.js} +1 -1
  398. package/.next/server/chunks/ssr/node_modules__pnpm_189m48n._.js.map +1 -0
  399. package/.next/server/chunks/ssr/{node_modules__pnpm_0ttvopp._.js → node_modules__pnpm_192f222._.js} +1 -1
  400. package/.next/server/chunks/ssr/{node_modules__pnpm_07t_e8c._.js → node_modules__pnpm_1a48_nl._.js} +1 -1
  401. package/.next/server/chunks/ssr/{node_modules__pnpm_195j8p_._.js → node_modules__pnpm_1aa37e1._.js} +1 -1
  402. package/.next/server/chunks/ssr/{node_modules__pnpm_0cj8ryj._.js → node_modules__pnpm_1f440kx._.js} +1 -1
  403. package/.next/server/chunks/ssr/{node_modules__pnpm_0u3u82f._.js → node_modules__pnpm_1fn3ejy._.js} +1 -1
  404. package/.next/server/chunks/ssr/{node_modules__pnpm_0ts89ne._.js → node_modules__pnpm_1min2jl._.js} +1 -1
  405. package/.next/server/chunks/ssr/node_modules__pnpm_1q89l7p._.js +3 -0
  406. package/.next/server/chunks/ssr/node_modules__pnpm_1q89l7p._.js.map +1 -0
  407. package/.next/server/chunks/ssr/{node_modules__pnpm_1woddr6._.js → node_modules__pnpm_1q_hhr3._.js} +2 -2
  408. package/.next/server/chunks/ssr/{node_modules__pnpm_1x0t5_z._.js → node_modules__pnpm_1qmkxyo._.js} +1 -1
  409. package/.next/server/chunks/ssr/{node_modules__pnpm_0gifu-u._.js → node_modules__pnpm_1qp_jvj._.js} +2 -2
  410. package/.next/server/chunks/ssr/{node_modules__pnpm_0y35hs4._.js → node_modules__pnpm_1ssjj4u._.js} +1 -1
  411. package/.next/server/chunks/ssr/{node_modules__pnpm_0qc3gsk._.js → node_modules__pnpm_1txccoj._.js} +1 -1
  412. package/.next/server/chunks/ssr/{node_modules__pnpm_1w0f1m5._.js → node_modules__pnpm_1uwkcin._.js} +1 -1
  413. package/.next/server/chunks/ssr/node_modules__pnpm_1xeothw._.js +3 -0
  414. package/.next/server/chunks/ssr/node_modules__pnpm_1xeothw._.js.map +1 -0
  415. package/.next/server/chunks/ssr/{node_modules__pnpm_0286-tg._.js → node_modules__pnpm_1ygal0c._.js} +1 -1
  416. package/.next/server/chunks/ssr/src_app_(app)_activity_page_tsx_13jd6bn._.js +1 -1
  417. package/.next/server/chunks/ssr/src_app_(app)_activity_page_tsx_13jd6bn._.js.map +1 -1
  418. package/.next/server/chunks/ssr/src_app_(app)_board_page_tsx_0gpfc77._.js +3 -0
  419. package/.next/server/chunks/ssr/src_app_(app)_board_page_tsx_0gpfc77._.js.map +1 -0
  420. package/.next/server/chunks/ssr/src_app_(app)_chat_page_tsx_0c3e4l4._.js +1 -1
  421. package/.next/server/chunks/ssr/src_app_(app)_chat_page_tsx_0c3e4l4._.js.map +1 -1
  422. package/.next/server/chunks/ssr/src_app_(app)_layout_tsx_1yu5hom._.js +1 -1
  423. package/.next/server/chunks/ssr/src_app_(app)_layout_tsx_1yu5hom._.js.map +1 -1
  424. package/.next/server/chunks/ssr/src_app_(app)_manual-tests_page_tsx_01tnunf._.js +3 -0
  425. package/.next/server/chunks/ssr/src_app_(app)_manual-tests_page_tsx_01tnunf._.js.map +1 -0
  426. package/.next/server/chunks/ssr/src_app_(app)_roadmap_page_tsx_0vcq3jr._.js +2 -2
  427. package/.next/server/chunks/ssr/src_app_(app)_roadmap_page_tsx_0vcq3jr._.js.map +1 -1
  428. package/.next/server/chunks/ssr/src_app_(app)_settings_page_tsx_0zevtee._.js +2 -2
  429. package/.next/server/chunks/ssr/src_app_(app)_settings_page_tsx_0zevtee._.js.map +1 -1
  430. package/.next/server/chunks/ssr/src_app_(app)_setup_page_tsx_1yids_n._.js +1 -1
  431. package/.next/server/chunks/ssr/src_app_(app)_setup_page_tsx_1yids_n._.js.map +1 -1
  432. package/.next/server/chunks/ssr/src_components_chat_ChatView_tsx_0h5j-e2._.js +3 -0
  433. package/.next/server/chunks/ssr/src_components_chat_ChatView_tsx_0h5j-e2._.js.map +1 -0
  434. package/.next/server/chunks/ssr/src_context_ChatContext_tsx_0lowp8p._.js +2 -2
  435. package/.next/server/chunks/ssr/src_context_ChatContext_tsx_0lowp8p._.js.map +1 -1
  436. package/.next/server/middleware-build-manifest.js +3 -3
  437. package/.next/server/next-font-manifest.js +1 -1
  438. package/.next/server/next-font-manifest.json +4 -0
  439. package/.next/server/pages/404.html +1 -1
  440. package/.next/server/pages/500.html +1 -1
  441. package/.next/server/prefetch-hints.json +19 -0
  442. package/.next/server/server-reference-manifest.js +1 -1
  443. package/.next/server/server-reference-manifest.json +1 -1
  444. package/.next/static/chunks/02cj5_i9np4sg.js +3 -0
  445. package/.next/static/chunks/02i5hsdat1nuq.css +9 -0
  446. package/.next/static/chunks/0mgifb98wbesa.js +1 -0
  447. package/.next/static/chunks/0p1-hkgnm2ll2.js +1 -0
  448. package/.next/static/chunks/0pgu5q5vodev6.js +1 -0
  449. package/.next/static/chunks/0rqzvayflendx.js +2 -0
  450. package/.next/static/chunks/0vcfs7dii85tw.js +21 -0
  451. package/.next/static/chunks/13l4l-boqg8fx.js +1 -0
  452. package/.next/static/chunks/14hxe1qiaram9.js +1 -0
  453. package/.next/static/chunks/150y5rwg6gwvx.css +1 -0
  454. package/.next/static/chunks/16k196zyl-n9q.js +1 -0
  455. package/.next/static/chunks/18b5l8p0vd9f8.js +1 -0
  456. package/.next/static/chunks/1c_8t2kecjnua.js +1 -0
  457. package/.next/static/chunks/1fd43t9y42wd3.js +1 -0
  458. package/.next/static/chunks/1q50zh5z-fq2k.js +2 -0
  459. package/.next/static/chunks/1tu8lforstp1o.js +1 -0
  460. package/.next/static/chunks/23-xknrz6o748.js +1 -0
  461. package/.next/static/chunks/2_xpm7qhr69n8.js +2 -0
  462. package/.next/static/chunks/2ls_yp4-qgb42.js +1 -0
  463. package/.next/static/chunks/2zz0ip2l_29c3.js +3 -0
  464. package/.next/static/chunks/3ly7b47esdb7j.js +1 -0
  465. package/.next/static/chunks/3ruw8lu2_re-h.js +1 -0
  466. package/.next/static/chunks/3vf5nnd4xjo5_.js +1 -0
  467. package/.next/static/chunks/40jaenrnspnlh.js +68 -0
  468. package/.next/static/chunks/41oxcdcw-pcwt.js +1 -0
  469. package/README.md +2 -1
  470. package/package.json +1 -1
  471. package/skills/work-epic/SKILL.md +22 -3
  472. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0am8bw2._.js +0 -3
  473. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0enefn6._.js +0 -3
  474. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0k3n_5f._.js +0 -3
  475. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0lcfjm4._.js +0 -3
  476. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0lfx9av._.js +0 -3
  477. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0qau3qw._.js +0 -3
  478. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0r1pmvm._.js +0 -3
  479. package/.next/server/chunks/11mp_@anthropic-ai_sdk_11t-z2t._.js +0 -3
  480. package/.next/server/chunks/11mp_@anthropic-ai_sdk_15hyn79._.js +0 -3
  481. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1_qk07x._.js +0 -3
  482. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1b2929e._.js +0 -3
  483. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1e72c89._.js +0 -3
  484. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1eq7asn._.js +0 -3
  485. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1fhdojs._.js +0 -3
  486. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1htgzmb._.js +0 -3
  487. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1lh_vwq._.js +0 -3
  488. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1ludf-o._.js +0 -3
  489. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1m3luz3._.js +0 -3
  490. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1x1iz3d._.js +0 -3
  491. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1xsmwlh._.js +0 -3
  492. package/.next/server/chunks/11mp_@anthropic-ai_sdk_202spah._.js +0 -3
  493. package/.next/server/chunks/11mp_@anthropic-ai_sdk_215hw9u._.js +0 -3
  494. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0d2_lq6._.js +0 -3
  495. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0n-i0pd._.js +0 -3
  496. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_13pos4j._.js +0 -3
  497. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_17b4pqr._.js +0 -3
  498. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1bkcmom._.js +0 -3
  499. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1hlj_3l._.js +0 -3
  500. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1ip-sor._.js +0 -3
  501. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1pex5o1._.js +0 -3
  502. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1s8lc8_._.js +0 -3
  503. package/.next/server/chunks/[root-of-the-server]__1o4a-4j._.js +0 -3
  504. package/.next/server/chunks/[root-of-the-server]__1o4a-4j._.js.map +0 -1
  505. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_0cvmffy._.js +0 -3
  506. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_0cvmffy._.js.map +0 -1
  507. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_0u3jxas._.js +0 -3
  508. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_0u3jxas._.js.map +0 -1
  509. package/.next/server/chunks/ssr/_059qmur._.js +0 -3
  510. package/.next/server/chunks/ssr/_059qmur._.js.map +0 -1
  511. package/.next/server/chunks/ssr/_081irea._.js +0 -3
  512. package/.next/server/chunks/ssr/_081irea._.js.map +0 -1
  513. package/.next/server/chunks/ssr/_0d8t8l4._.js +0 -3
  514. package/.next/server/chunks/ssr/_0d8t8l4._.js.map +0 -1
  515. package/.next/server/chunks/ssr/_0dyvcdg._.js +0 -3
  516. package/.next/server/chunks/ssr/_0dyvcdg._.js.map +0 -1
  517. package/.next/server/chunks/ssr/_1-ghqy4._.js +0 -3
  518. package/.next/server/chunks/ssr/_1-ghqy4._.js.map +0 -1
  519. package/.next/server/chunks/ssr/_17jy5db._.js +0 -3
  520. package/.next/server/chunks/ssr/_17jy5db._.js.map +0 -1
  521. package/.next/server/chunks/ssr/_1c95ems._.js +0 -151
  522. package/.next/server/chunks/ssr/_1c95ems._.js.map +0 -1
  523. package/.next/server/chunks/ssr/_1dllfz5._.js +0 -4
  524. package/.next/server/chunks/ssr/_1dllfz5._.js.map +0 -1
  525. package/.next/server/chunks/ssr/node_modules__pnpm_006_c8z._.js +0 -3
  526. package/.next/server/chunks/ssr/node_modules__pnpm_006_c8z._.js.map +0 -1
  527. package/.next/server/chunks/ssr/node_modules__pnpm_1imm4ut._.js +0 -3
  528. package/.next/server/chunks/ssr/node_modules__pnpm_1imm4ut._.js.map +0 -1
  529. package/.next/server/chunks/ssr/node_modules__pnpm_1kcnkjs._.js +0 -3
  530. package/.next/server/chunks/ssr/node_modules__pnpm_1kcnkjs._.js.map +0 -1
  531. package/.next/server/chunks/ssr/src_components_14pwej-._.js +0 -3
  532. package/.next/server/chunks/ssr/src_components_14pwej-._.js.map +0 -1
  533. package/.next/server/chunks/ssr/src_components_ui_scroll-area_tsx_0i-n_27._.js +0 -3
  534. package/.next/server/chunks/ssr/src_components_ui_scroll-area_tsx_0i-n_27._.js.map +0 -1
  535. package/.next/static/chunks/0-z7kyblalrea.js +0 -1
  536. package/.next/static/chunks/050mq8l4e1ubn.js +0 -1
  537. package/.next/static/chunks/098le48845_fg.js +0 -3
  538. package/.next/static/chunks/0cw4-ebkoufdc.js +0 -1
  539. package/.next/static/chunks/0feo-go1w5nct.js +0 -1
  540. package/.next/static/chunks/0k2qhx29amdgs.js +0 -1
  541. package/.next/static/chunks/14sefb904pl64.js +0 -21
  542. package/.next/static/chunks/1fer-wulyrjrs.js +0 -3
  543. package/.next/static/chunks/1o7b1x4umy8a6.js +0 -1
  544. package/.next/static/chunks/1q_io1j58aukw.js +0 -1
  545. package/.next/static/chunks/1r7z33e9jk3vp.js +0 -1
  546. package/.next/static/chunks/1t-cgh4477hfo.js +0 -1
  547. package/.next/static/chunks/1u-1po1qesc9f.js +0 -1
  548. package/.next/static/chunks/1u5kegkgm0xoz.js +0 -1
  549. package/.next/static/chunks/24ygzsgd-moqy.js +0 -1
  550. package/.next/static/chunks/26folxgplfa9t.js +0 -68
  551. package/.next/static/chunks/2ocixvjhv34_3.js +0 -1
  552. package/.next/static/chunks/3_lsdgxa-h7ma.css +0 -10
  553. package/.next/static/chunks/3rmv-sb9w9i3e.js +0 -1
  554. package/.next/static/chunks/3smp1lj103j-l.js +0 -1
  555. package/.next/static/chunks/3ttzomivj48jh.js +0 -2
  556. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0-5bkpj._.js.map → 11mp_@anthropic-ai_sdk_00p3fu1._.js.map} +0 -0
  557. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_00psb_y._.js.map → 11mp_@anthropic-ai_sdk_01amtux._.js.map} +0 -0
  558. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_01l5h3i._.js.map → 11mp_@anthropic-ai_sdk_01jjl08._.js.map} +0 -0
  559. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_072r2bd._.js.map → 11mp_@anthropic-ai_sdk_071zfm8._.js.map} +0 -0
  560. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0am8bw2._.js.map → 11mp_@anthropic-ai_sdk_07v3boe._.js.map} +0 -0
  561. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0enefn6._.js.map → 11mp_@anthropic-ai_sdk_09iva72._.js.map} +0 -0
  562. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0k3n_5f._.js.map → 11mp_@anthropic-ai_sdk_0bom1b1._.js.map} +0 -0
  563. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0lcfjm4._.js.map → 11mp_@anthropic-ai_sdk_0dvji7p._.js.map} +0 -0
  564. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0lfx9av._.js.map → 11mp_@anthropic-ai_sdk_0dzo8jn._.js.map} +0 -0
  565. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0qau3qw._.js.map → 11mp_@anthropic-ai_sdk_0hvqsqq._.js.map} +0 -0
  566. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0r1pmvm._.js.map → 11mp_@anthropic-ai_sdk_0i7i-jw._.js.map} +0 -0
  567. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_11t-z2t._.js.map → 11mp_@anthropic-ai_sdk_0k0iop5._.js.map} +0 -0
  568. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_15hyn79._.js.map → 11mp_@anthropic-ai_sdk_0l3-6aq._.js.map} +0 -0
  569. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1_qk07x._.js.map → 11mp_@anthropic-ai_sdk_0oegm3y._.js.map} +0 -0
  570. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1b2929e._.js.map → 11mp_@anthropic-ai_sdk_0p5cyes._.js.map} +0 -0
  571. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1e72c89._.js.map → 11mp_@anthropic-ai_sdk_0qw8i6_._.js.map} +0 -0
  572. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1eq7asn._.js.map → 11mp_@anthropic-ai_sdk_0yk-a7v._.js.map} +0 -0
  573. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1fhdojs._.js.map → 11mp_@anthropic-ai_sdk_11fsqvb._.js.map} +0 -0
  574. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1htgzmb._.js.map → 11mp_@anthropic-ai_sdk_143_7ez._.js.map} +0 -0
  575. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1lh_vwq._.js.map → 11mp_@anthropic-ai_sdk_14a4-64._.js.map} +0 -0
  576. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1ludf-o._.js.map → 11mp_@anthropic-ai_sdk_17d_oma._.js.map} +0 -0
  577. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1m3luz3._.js.map → 11mp_@anthropic-ai_sdk_18qwuyb._.js.map} +0 -0
  578. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1x1iz3d._.js.map → 11mp_@anthropic-ai_sdk_19au8y6._.js.map} +0 -0
  579. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1xsmwlh._.js.map → 11mp_@anthropic-ai_sdk_1ak_hy5._.js.map} +0 -0
  580. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_202spah._.js.map → 11mp_@anthropic-ai_sdk_1cqa0nq._.js.map} +0 -0
  581. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_215hw9u._.js.map → 11mp_@anthropic-ai_sdk_1i-x_q0._.js.map} +0 -0
  582. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_0d2_lq6._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_08ecfgc._.js.map} +0 -0
  583. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_0n-i0pd._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_09--sd6._.js.map} +0 -0
  584. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_13pos4j._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0e3mwc6._.js.map} +0 -0
  585. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_17b4pqr._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0go4301._.js.map} +0 -0
  586. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1bkcmom._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0iq9dmt._.js.map} +0 -0
  587. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1hlj_3l._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0n9ijke._.js.map} +0 -0
  588. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1ip-sor._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0szcyrx._.js.map} +0 -0
  589. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1pex5o1._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0xy2s3x._.js.map} +0 -0
  590. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1s8lc8_._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0yaujn7._.js.map} +0 -0
  591. /package/.next/server/chunks/{[root-of-the-server]__0e59y5j._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0z9ly74._.js.map} +0 -0
  592. /package/.next/server/chunks/{[root-of-the-server]__11s76m8._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1hmq3al._.js.map} +0 -0
  593. /package/.next/server/chunks/{ssr/0_nd_mermaid_dist_mermaid_core_mjs_0vv_0i3._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1tqk4bp._.js.map} +0 -0
  594. /package/.next/server/chunks/{ssr/1u84_katex_dist_katex_mjs_1z0p1bs._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1x-hr6f._.js.map} +0 -0
  595. /package/.next/server/chunks/{ssr/node_modules__pnpm_09_i2jk._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1zsdhg0._.js.map} +0 -0
  596. /package/.next/server/chunks/{ssr/node_modules__pnpm_0dwi7mu._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_20t__fe._.js.map} +0 -0
  597. /package/.next/server/chunks/{[root-of-the-server]__1u_q61h._.js.map → [root-of-the-server]__0-pmfg2._.js.map} +0 -0
  598. /package/.next/server/chunks/{[root-of-the-server]__1y3u5ud._.js.map → [root-of-the-server]__04tibmn._.js.map} +0 -0
  599. /package/.next/server/chunks/{[root-of-the-server]__17xb02p._.js.map → [root-of-the-server]__05g5cgo._.js.map} +0 -0
  600. /package/.next/server/chunks/{[root-of-the-server]__0aynzrb._.js.map → [root-of-the-server]__0b5pwze._.js.map} +0 -0
  601. /package/.next/server/chunks/{[root-of-the-server]__142icjb._.js.map → [root-of-the-server]__0druay_._.js.map} +0 -0
  602. /package/.next/server/chunks/{[root-of-the-server]__106gpvh._.js.map → [root-of-the-server]__0p6ja6l._.js.map} +0 -0
  603. /package/.next/server/chunks/{[root-of-the-server]__0nfvvy9._.js.map → [root-of-the-server]__1-e3i_5._.js.map} +0 -0
  604. /package/.next/server/chunks/{ssr/node_modules__pnpm_1yq90z7._.js.map → [root-of-the-server]__11c8641._.js.map} +0 -0
  605. /package/.next/server/chunks/{[root-of-the-server]__06zf_sh._.js.map → [root-of-the-server]__197vw9g._.js.map} +0 -0
  606. /package/.next/server/chunks/{[root-of-the-server]__1j0rrps._.js.map → [root-of-the-server]__19k8t87._.js.map} +0 -0
  607. /package/.next/server/chunks/{[root-of-the-server]__0eqd-tw._.js.map → [root-of-the-server]__1ezzeji._.js.map} +0 -0
  608. /package/.next/server/chunks/{[root-of-the-server]__17p0rkn._.js.map → [root-of-the-server]__1mrmaf9._.js.map} +0 -0
  609. /package/.next/server/chunks/{[root-of-the-server]__1q4ahvz._.js.map → [root-of-the-server]__1umrorf._.js.map} +0 -0
  610. /package/.next/server/chunks/{[root-of-the-server]__093hlkh._.js.map → [root-of-the-server]__1vh9g2o._.js.map} +0 -0
  611. /package/.next/server/chunks/{[root-of-the-server]__1y-tt29._.js.map → [root-of-the-server]__1vq38ov._.js.map} +0 -0
  612. /package/.next/server/chunks/ssr/{node_modules__pnpm_04khl_s._.js.map → node_modules__pnpm_01bjcv9._.js.map} +0 -0
  613. /package/.next/server/chunks/ssr/{node_modules__pnpm_08sqeu2._.js.map → node_modules__pnpm_03qrzdb._.js.map} +0 -0
  614. /package/.next/server/chunks/ssr/{node_modules__pnpm_104pzhc._.js.map → node_modules__pnpm_06d-fdo._.js.map} +0 -0
  615. /package/.next/server/chunks/ssr/{node_modules__pnpm_1xzf8g_._.js.map → node_modules__pnpm_0ctisl0._.js.map} +0 -0
  616. /package/.next/server/chunks/ssr/{node_modules__pnpm_0og06fy._.js.map → node_modules__pnpm_0fwp8jm._.js.map} +0 -0
  617. /package/.next/server/chunks/ssr/{node_modules__pnpm_0a9b2ei._.js.map → node_modules__pnpm_0kpu0-2._.js.map} +0 -0
  618. /package/.next/server/chunks/ssr/{node_modules__pnpm_0jpv2b6._.js.map → node_modules__pnpm_0vry74x._.js.map} +0 -0
  619. /package/.next/server/chunks/ssr/{node_modules__pnpm_0fd3pr1._.js.map → node_modules__pnpm_0ycbjbd._.js.map} +0 -0
  620. /package/.next/server/chunks/ssr/{node_modules__pnpm_1l8k8w1._.js.map → node_modules__pnpm_1-76qxg._.js.map} +0 -0
  621. /package/.next/server/chunks/ssr/{node_modules__pnpm_0ah02mu._.js.map → node_modules__pnpm_1-r94f7._.js.map} +0 -0
  622. /package/.next/server/chunks/ssr/{node_modules__pnpm_0f77_ng._.js.map → node_modules__pnpm_17i6z2d._.js.map} +0 -0
  623. /package/.next/server/chunks/ssr/{node_modules__pnpm_0ttvopp._.js.map → node_modules__pnpm_192f222._.js.map} +0 -0
  624. /package/.next/server/chunks/ssr/{node_modules__pnpm_07t_e8c._.js.map → node_modules__pnpm_1a48_nl._.js.map} +0 -0
  625. /package/.next/server/chunks/ssr/{node_modules__pnpm_195j8p_._.js.map → node_modules__pnpm_1aa37e1._.js.map} +0 -0
  626. /package/.next/server/chunks/ssr/{node_modules__pnpm_0cj8ryj._.js.map → node_modules__pnpm_1f440kx._.js.map} +0 -0
  627. /package/.next/server/chunks/ssr/{node_modules__pnpm_0u3u82f._.js.map → node_modules__pnpm_1fn3ejy._.js.map} +0 -0
  628. /package/.next/server/chunks/ssr/{node_modules__pnpm_0ts89ne._.js.map → node_modules__pnpm_1min2jl._.js.map} +0 -0
  629. /package/.next/server/chunks/ssr/{node_modules__pnpm_1woddr6._.js.map → node_modules__pnpm_1q_hhr3._.js.map} +0 -0
  630. /package/.next/server/chunks/ssr/{node_modules__pnpm_1x0t5_z._.js.map → node_modules__pnpm_1qmkxyo._.js.map} +0 -0
  631. /package/.next/server/chunks/ssr/{node_modules__pnpm_0gifu-u._.js.map → node_modules__pnpm_1qp_jvj._.js.map} +0 -0
  632. /package/.next/server/chunks/ssr/{node_modules__pnpm_0y35hs4._.js.map → node_modules__pnpm_1ssjj4u._.js.map} +0 -0
  633. /package/.next/server/chunks/ssr/{node_modules__pnpm_0qc3gsk._.js.map → node_modules__pnpm_1txccoj._.js.map} +0 -0
  634. /package/.next/server/chunks/ssr/{node_modules__pnpm_1w0f1m5._.js.map → node_modules__pnpm_1uwkcin._.js.map} +0 -0
  635. /package/.next/server/chunks/ssr/{node_modules__pnpm_0286-tg._.js.map → node_modules__pnpm_1ygal0c._.js.map} +0 -0
  636. /package/.next/static/{uJ5RYxgFnE5svAvnuLDXN → fGPda81_8-K4GmaNUE6KA}/_buildManifest.js +0 -0
  637. /package/.next/static/{uJ5RYxgFnE5svAvnuLDXN → fGPda81_8-K4GmaNUE6KA}/_clientMiddlewareManifest.js +0 -0
  638. /package/.next/static/{uJ5RYxgFnE5svAvnuLDXN → fGPda81_8-K4GmaNUE6KA}/_ssgManifest.js +0 -0
@@ -1,3 +0,0 @@
1
- module.exports=[269876,933877,a=>{"use strict";var b=a.i(662145),c=a.i(174897),d=a.i(436102),e=a.i(818920),f=a.i(691321),g=a.i(521831),h=a.i(133387),i=Object.defineProperty,j=c.createContext(void 0);function k(a){let b=c.useContext(j);return a||b||"ltr"}i(k,"name",{value:"useDirection",configurable:!0}),a.s(["useDirection",0,k],933877);var l=a.i(967683);function m(a,[b,c]){return Math.min(c,Math.max(b,a))}(0,Object.defineProperty)(m,"name",{value:"clamp",configurable:!0});var n=a.i(196265),o=Object.defineProperty,p=(a,b)=>o(a,"name",{value:b,configurable:!0});function q(a,b){return c.useReducer((a,c)=>b[a][c]??a,a)}p(q,"useStateMachine");var r="ScrollArea",[s,t]=(0,f.createContextScope)(r),[u,v]=s(r),w=c.forwardRef(p(function(a,e){let{__scopeScrollArea:f,type:h="hover",dir:i,scrollHideDelay:j=600,...l}=a,[m,n]=c.useState(null),[o,p]=c.useState(null),[q,r]=c.useState(null),[s,t]=c.useState(null),[v,w]=c.useState(null),[x,y]=c.useState(0),[z,A]=c.useState(0),[B,C]=c.useState(!1),[D,E]=c.useState(!1),F=(0,g.useComposedRefs)(e,n),G=k(i);return(0,b.jsx)(u,{scope:f,type:h,dir:G,scrollHideDelay:j,scrollArea:m,viewport:o,onViewportChange:p,content:q,onContentChange:r,scrollbarX:s,onScrollbarXChange:t,scrollbarXEnabled:B,onScrollbarXEnabledChange:C,scrollbarY:v,onScrollbarYChange:w,scrollbarYEnabled:D,onScrollbarYEnabledChange:E,onCornerWidthChange:y,onCornerHeightChange:A,children:(0,b.jsx)(d.Primitive.div,{dir:G,...l,ref:F,style:{position:"relative","--radix-scroll-area-corner-width":x+"px","--radix-scroll-area-corner-height":z+"px",...a.style}})})},"ScrollArea")),x=c.forwardRef(p(function(a,e){let{__scopeScrollArea:f,children:h,nonce:i,...j}=a,k=v("ScrollAreaViewport",f),l=c.useRef(null),m=(0,g.useComposedRefs)(e,l,k.onViewportChange);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(y,{nonce:i}),(0,b.jsx)(d.Primitive.div,{"data-radix-scroll-area-viewport":"",...j,ref:m,style:{overflowX:k.scrollbarXEnabled?"scroll":"hidden",overflowY:k.scrollbarYEnabled?"scroll":"hidden",...a.style},children:(0,b.jsx)("div",{ref:k.onContentChange,style:{minWidth:"100%",display:"table"},children:h})})]})},"ScrollAreaViewport")),y=c.memo(p(function({nonce:a}){return(0,b.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:a})},"ScrollAreaViewportStyle"),(a,b)=>a.nonce===b.nonce),z="ScrollAreaScrollbar",A=c.forwardRef(p(function(a,d){let{forceMount:e,...f}=a,g=v(z,a.__scopeScrollArea),{onScrollbarXEnabledChange:h,onScrollbarYEnabledChange:i}=g,j="horizontal"===a.orientation;return c.useEffect(()=>(j?h(!0):i(!0),()=>{j?h(!1):i(!1)}),[j,h,i]),"hover"===g.type?(0,b.jsx)(B,{...f,ref:d,forceMount:e}):"scroll"===g.type?(0,b.jsx)(C,{...f,ref:d,forceMount:e}):"auto"===g.type?(0,b.jsx)(D,{...f,ref:d,forceMount:e}):"always"===g.type?(0,b.jsx)(E,{...f,ref:d,"data-state":"visible"}):null},"ScrollAreaScrollbar")),B=c.forwardRef(p(function(a,d){let{forceMount:f,...g}=a,h=v(z,a.__scopeScrollArea),[i,j]=c.useState(!1);return c.useEffect(()=>{let a=h.scrollArea,b=0;if(a){let c=p(()=>{window.clearTimeout(b),j(!0)},"handlePointerEnter"),d=p(()=>{b=window.setTimeout(()=>j(!1),h.scrollHideDelay)},"handlePointerLeave");return a.addEventListener("pointerenter",c),a.addEventListener("pointerleave",d),()=>{window.clearTimeout(b),a.removeEventListener("pointerenter",c),a.removeEventListener("pointerleave",d)}}},[h.scrollArea,h.scrollHideDelay]),(0,b.jsx)(e.Presence,{present:f||i,children:(0,b.jsx)(D,{"data-state":i?"visible":"hidden",...g,ref:d})})},"ScrollAreaScrollbarHover")),C=c.forwardRef(p(function(a,d){let{forceMount:f,...g}=a,h=v(z,a.__scopeScrollArea),i="horizontal"===a.orientation,j=Y(()=>l("SCROLL_END"),100),[k,l]=q("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return c.useEffect(()=>{if("idle"===k){let a=window.setTimeout(()=>l("HIDE"),h.scrollHideDelay);return()=>window.clearTimeout(a)}},[k,h.scrollHideDelay,l]),c.useEffect(()=>{let a=h.viewport,b=i?"scrollLeft":"scrollTop";if(a){let c=a[b],d=p(()=>{let d=a[b];c!==d&&(l("SCROLL"),j()),c=d},"handleScroll");return a.addEventListener("scroll",d),()=>a.removeEventListener("scroll",d)}},[h.viewport,i,l,j]),(0,b.jsx)(e.Presence,{present:f||"hidden"!==k,children:(0,b.jsx)(E,{"data-state":"hidden"===k?"hidden":"visible",...g,ref:d,onPointerEnter:(0,n.composeEventHandlers)(a.onPointerEnter,()=>l("POINTER_ENTER")),onPointerLeave:(0,n.composeEventHandlers)(a.onPointerLeave,()=>l("POINTER_LEAVE"))})})},"ScrollAreaScrollbarScroll")),D=c.forwardRef(p(function(a,d){let f=v(z,a.__scopeScrollArea),{forceMount:g,...h}=a,[i,j]=c.useState(!1),k="horizontal"===a.orientation,l=Y(()=>{if(f.viewport){let a=f.viewport.offsetWidth<f.viewport.scrollWidth,b=f.viewport.offsetHeight<f.viewport.scrollHeight;j(k?a:b)}},10);return Z(f.viewport,l),Z(f.content,l),(0,b.jsx)(e.Presence,{present:g||i,children:(0,b.jsx)(E,{"data-state":i?"visible":"hidden",...h,ref:d})})},"ScrollAreaScrollbarAuto")),E=c.forwardRef(p(function(a,d){let{orientation:e="vertical",...f}=a,g=v(z,a.__scopeScrollArea),h=c.useRef(null),i=c.useRef(0),[j,k]=c.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),l=R(j.viewport,j.content),m={...f,sizes:j,onSizesChange:k,hasThumb:!!(l>0&&l<1),onThumbChange:p(a=>h.current=a,"onThumbChange"),onThumbPointerUp:p(()=>i.current=0,"onThumbPointerUp"),onThumbPointerDown:p(a=>i.current=a,"onThumbPointerDown")};function n(a,b){return T(a,i.current,j,b)}return(p(n,"getScrollPosition"),"horizontal"===e)?(0,b.jsx)(F,{...m,ref:d,onThumbPositionChange:()=>{if(g.viewport&&h.current){let a=U(g.viewport.scrollLeft,j,g.dir);h.current.style.transform=`translate3d(${a}px, 0, 0)`}},onWheelScroll:a=>{g.viewport&&(g.viewport.scrollLeft=a)},onDragScroll:a=>{g.viewport&&(g.viewport.scrollLeft=n(a,g.dir))}}):"vertical"===e?(0,b.jsx)(G,{...m,ref:d,onThumbPositionChange:()=>{if(g.viewport&&h.current){let a=U(g.viewport.scrollTop,j);h.current.style.transform=`translate3d(0, ${a}px, 0)`}},onWheelScroll:a=>{g.viewport&&(g.viewport.scrollTop=a)},onDragScroll:a=>{g.viewport&&(g.viewport.scrollTop=n(a))}}):null},"ScrollAreaScrollbarVisible")),F=c.forwardRef(p(function(a,d){let{sizes:e,onSizesChange:f,...h}=a,i=v(z,a.__scopeScrollArea),[j,k]=c.useState(),l=c.useRef(null),m=(0,g.useComposedRefs)(d,l,i.onScrollbarXChange);return c.useEffect(()=>{l.current&&k(getComputedStyle(l.current))},[l]),(0,b.jsx)(J,{"data-orientation":"horizontal",...h,ref:m,sizes:e,style:{bottom:0,left:"rtl"===i.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===i.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":S(e)+"px",...a.style},onThumbPointerDown:b=>a.onThumbPointerDown(b.x),onDragScroll:b=>a.onDragScroll(b.x),onWheelScroll:(b,c)=>{if(i.viewport){let d=i.viewport.scrollLeft+b.deltaX;a.onWheelScroll(d),W(d,c)&&b.preventDefault()}},onResize:()=>{l.current&&i.viewport&&j&&f({content:i.viewport.scrollWidth,viewport:i.viewport.offsetWidth,scrollbar:{size:l.current.clientWidth,paddingStart:Q(j.paddingLeft),paddingEnd:Q(j.paddingRight)}})}})},"ScrollAreaScrollbarX")),G=c.forwardRef(p(function(a,d){let{sizes:e,onSizesChange:f,...h}=a,i=v(z,a.__scopeScrollArea),[j,k]=c.useState(),l=c.useRef(null),m=(0,g.useComposedRefs)(d,l,i.onScrollbarYChange);return c.useEffect(()=>{l.current&&k(getComputedStyle(l.current))},[l]),(0,b.jsx)(J,{"data-orientation":"vertical",...h,ref:m,sizes:e,style:{top:0,right:"ltr"===i.dir?0:void 0,left:"rtl"===i.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":S(e)+"px",...a.style},onThumbPointerDown:b=>a.onThumbPointerDown(b.y),onDragScroll:b=>a.onDragScroll(b.y),onWheelScroll:(b,c)=>{if(i.viewport){let d=i.viewport.scrollTop+b.deltaY;a.onWheelScroll(d),W(d,c)&&b.preventDefault()}},onResize:()=>{l.current&&i.viewport&&j&&f({content:i.viewport.scrollHeight,viewport:i.viewport.offsetHeight,scrollbar:{size:l.current.clientHeight,paddingStart:Q(j.paddingTop),paddingEnd:Q(j.paddingBottom)}})}})},"ScrollAreaScrollbarY")),[H,I]=s(z),J=c.forwardRef(p(function(a,e){let{__scopeScrollArea:f,sizes:i,hasThumb:j,onThumbChange:k,onThumbPointerUp:l,onThumbPointerDown:m,onThumbPositionChange:o,onDragScroll:q,onWheelScroll:r,onResize:s,...t}=a,u=v(z,f),[w,x]=c.useState(null),y=(0,g.useComposedRefs)(e,x),A=c.useRef(null),B=c.useRef(""),C=u.viewport,D=i.content-i.viewport,E=(0,h.useCallbackRef)(r),F=(0,h.useCallbackRef)(o),G=Y(s,10);function I(a){A.current&&q({x:a.clientX-A.current.left,y:a.clientY-A.current.top})}return p(I,"handleDragScroll"),c.useEffect(()=>{let a=p(a=>{let b=a.target;w?.contains(b)&&E(a,D)},"handleWheel");return document.addEventListener("wheel",a,{passive:!1}),()=>document.removeEventListener("wheel",a,{passive:!1})},[C,w,D,E]),c.useEffect(F,[i,F]),Z(w,G),Z(u.content,G),(0,b.jsx)(H,{scope:f,scrollbar:w,hasThumb:j,onThumbChange:(0,h.useCallbackRef)(k),onThumbPointerUp:(0,h.useCallbackRef)(l),onThumbPositionChange:F,onThumbPointerDown:(0,h.useCallbackRef)(m),children:(0,b.jsx)(d.Primitive.div,{...t,ref:y,style:{position:"absolute",...t.style},onPointerDown:(0,n.composeEventHandlers)(a.onPointerDown,a=>{0===a.button&&(a.target.setPointerCapture(a.pointerId),A.current=w.getBoundingClientRect(),B.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",u.viewport&&(u.viewport.style.scrollBehavior="auto"),I(a))}),onPointerMove:(0,n.composeEventHandlers)(a.onPointerMove,I),onPointerUp:(0,n.composeEventHandlers)(a.onPointerUp,a=>{let b=a.target;b.hasPointerCapture(a.pointerId)&&b.releasePointerCapture(a.pointerId),document.body.style.webkitUserSelect=B.current,u.viewport&&(u.viewport.style.scrollBehavior=""),A.current=null})})})},"ScrollAreaScrollbarImpl")),K="ScrollAreaThumb",L=c.forwardRef(p(function(a,c){let{forceMount:d,...f}=a,g=I(K,a.__scopeScrollArea);return(0,b.jsx)(e.Presence,{present:d||g.hasThumb,children:(0,b.jsx)(M,{ref:c,...f})})},"ScrollAreaThumb")),M=c.forwardRef(p(function(a,e){let{__scopeScrollArea:f,style:h,...i}=a,j=v(K,f),k=I(K,f),{onThumbPositionChange:l}=k,m=(0,g.useComposedRefs)(e,k.onThumbChange),o=c.useRef(void 0),q=Y(()=>{o.current&&(o.current(),o.current=void 0)},100);return c.useEffect(()=>{let a=j.viewport;if(a){let b=p(()=>{q(),o.current||(o.current=X(a,l),l())},"handleScroll");return l(),a.addEventListener("scroll",b),()=>a.removeEventListener("scroll",b)}},[j.viewport,q,l]),(0,b.jsx)(d.Primitive.div,{"data-state":k.hasThumb?"visible":"hidden",...i,ref:m,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...h},onPointerDownCapture:(0,n.composeEventHandlers)(a.onPointerDownCapture,a=>{let b=a.target.getBoundingClientRect(),c=a.clientX-b.left,d=a.clientY-b.top;k.onThumbPointerDown({x:c,y:d})}),onPointerUp:(0,n.composeEventHandlers)(a.onPointerUp,k.onThumbPointerUp)})},"ScrollAreaThumbImpl")),N="ScrollAreaCorner",O=c.forwardRef(p(function(a,c){let d=v(N,a.__scopeScrollArea),e=!!(d.scrollbarX&&d.scrollbarY);return"scroll"!==d.type&&e?(0,b.jsx)(P,{...a,ref:c}):null},"ScrollAreaCorner")),P=c.forwardRef(p(function(a,e){let{__scopeScrollArea:f,...g}=a,h=v(N,f),[i,j]=c.useState(0),[k,l]=c.useState(0),m=!!(i&&k),{onCornerWidthChange:n,onCornerHeightChange:o}=h;return Z(h.scrollbarX,()=>{let a=h.scrollbarX?.offsetHeight||0;h.onCornerHeightChange(a),l(a)}),Z(h.scrollbarY,()=>{let a=h.scrollbarY?.offsetWidth||0;h.onCornerWidthChange(a),j(a)}),c.useEffect(()=>()=>{n(0),o(0)},[n,o]),m?(0,b.jsx)(d.Primitive.div,{...g,ref:e,style:{width:i,height:k,position:"absolute",right:"ltr"===h.dir?0:void 0,left:"rtl"===h.dir?0:void 0,bottom:0,...a.style}}):null},"ScrollAreaCornerImpl"));function Q(a){return a?parseInt(a,10):0}function R(a,b){let c=a/b;return isNaN(c)?0:c}function S(a){let b=R(a.viewport,a.content),c=a.scrollbar.paddingStart+a.scrollbar.paddingEnd;return Math.max((a.scrollbar.size-c)*b,18)}function T(a,b,c,d="ltr"){let e=S(c),f=b||e/2,g=c.scrollbar.paddingStart+f,h=c.scrollbar.size-c.scrollbar.paddingEnd-(e-f),i=c.content-c.viewport;return V([g,h],"ltr"===d?[0,i]:[-1*i,0])(a)}function U(a,b,c="ltr"){let d=S(b),e=b.scrollbar.paddingStart+b.scrollbar.paddingEnd,f=b.scrollbar.size-e,g=b.content-b.viewport,h=m(a,"ltr"===c?[0,g]:[-1*g,0]);return V([0,g],[0,f-d])(h)}function V(a,b){return c=>{if(a[0]===a[1]||b[0]===b[1])return b[0];let d=(b[1]-b[0])/(a[1]-a[0]);return b[0]+d*(c-a[0])}}function W(a,b){return a>0&&a<b}p(Q,"toInt"),p(R,"getThumbRatio"),p(S,"getThumbSize"),p(T,"getScrollPositionFromPointer"),p(U,"getThumbOffsetFromScroll"),p(V,"linearScale"),p(W,"isScrollingWithinScrollbarBounds");var X=p((a,b=()=>{})=>(a.scrollLeft,a.scrollTop,()=>window.cancelAnimationFrame(0)),"addUnlinkedScrollListener");function Y(a,b){let d=(0,h.useCallbackRef)(a),e=c.useRef(0);return c.useEffect(()=>()=>window.clearTimeout(e.current),[]),c.useCallback(()=>{window.clearTimeout(e.current),e.current=window.setTimeout(d,b)},[d,b])}function Z(a,b){let c=(0,h.useCallbackRef)(b);(0,l.useLayoutEffect)(()=>{let b=0;if(a){let d=new ResizeObserver(()=>{cancelAnimationFrame(b),b=window.requestAnimationFrame(c)});return d.observe(a),()=>{window.cancelAnimationFrame(b),d.unobserve(a)}}},[a,c])}p(Y,"useDebounceCallback"),p(Z,"useResizeObserver");var $=a.i(368114);let _=c.forwardRef(({className:a,children:c,...d},e)=>(0,b.jsxs)(w,{ref:e,className:(0,$.cn)("relative overflow-hidden",a),...d,children:[(0,b.jsx)(x,{className:"h-full w-full rounded-[inherit]",children:c}),(0,b.jsx)(aa,{}),(0,b.jsx)(O,{})]}));_.displayName=w.displayName;let aa=c.forwardRef(({className:a,orientation:c="vertical",...d},e)=>(0,b.jsx)(A,{ref:e,orientation:c,className:(0,$.cn)("flex touch-none select-none transition-colors","vertical"===c&&"h-full w-2.5 border-l border-l-transparent p-px","horizontal"===c&&"h-2.5 flex-col border-t border-t-transparent p-px",a),...d,children:(0,b.jsx)(L,{className:"relative flex-1 rounded-full bg-border2"})}));aa.displayName=A.displayName,a.s(["ScrollArea",0,_],269876)}];
2
-
3
- //# sourceMappingURL=src_components_ui_scroll-area_tsx_0i-n_27._.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../node_modules/.pnpm/%40radix-ui%2Bnumber%401.1.3/node_modules/%40radix-ui/number/dist/index.mjs","../../../../node_modules/.pnpm/%40radix-ui%2Breact-direction%401.1.4_%40types%2Breact%4019.3.0_react%4019.3.0/node_modules/%40radix-ui/react-direction/dist/index.mjs","../../../../node_modules/.pnpm/%40radix-ui%2Breact-scroll-area%401.2.18_%40types%2Breact-dom%4019.3.0_%40types%2Breact%4019.3.0__%40types%2B_47b6dff4b2d9824e3df7c2f128498256/node_modules/%40radix-ui/react-scroll-area/dist/index.mjs","../../../../src/components/ui/scroll-area.tsx"],"sourcesContent":["var __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\n\n// src/number.ts\nfunction clamp(value, [min, max]) {\n return Math.min(max, Math.max(min, value));\n}\n__name(clamp, \"clamp\");\nexport {\n clamp\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\nvar __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\n\n// src/direction.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DirectionContext = React.createContext(void 0);\nvar DirectionProvider = /* @__PURE__ */ __name((props) => {\n const { dir, children } = props;\n return /* @__PURE__ */ jsx(DirectionContext.Provider, { value: dir, children });\n}, \"DirectionProvider\");\nfunction useDirection(localDir) {\n const globalDir = React.useContext(DirectionContext);\n return localDir || globalDir || \"ltr\";\n}\n__name(useDirection, \"useDirection\");\nvar Provider = DirectionProvider;\nexport {\n DirectionProvider,\n Provider,\n useDirection\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\nvar __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\n\n// src/scroll-area.tsx\nimport * as React2 from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { clamp } from \"@radix-ui/number\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\n\n// src/use-state-machine.ts\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n return React.useReducer((state, event) => {\n const nextState = machine[state][event];\n return nextState ?? state;\n }, initialState);\n}\n__name(useStateMachine, \"useStateMachine\");\n\n// src/scroll-area.tsx\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar SCROLL_AREA_NAME = \"ScrollArea\";\nvar [createScrollAreaContext, createScrollAreaScope] = createContextScope(SCROLL_AREA_NAME);\nvar [ScrollAreaProvider, useScrollAreaContext] = createScrollAreaContext(SCROLL_AREA_NAME);\nvar ScrollArea = /* @__PURE__ */ React2.forwardRef(\n /* @__PURE__ */ __name(function ScrollArea2(props, forwardedRef) {\n const {\n __scopeScrollArea,\n type = \"hover\",\n dir,\n scrollHideDelay = 600,\n ...scrollAreaProps\n } = props;\n const [scrollArea, setScrollArea] = React2.useState(null);\n const [viewport, setViewport] = React2.useState(null);\n const [content, setContent] = React2.useState(null);\n const [scrollbarX, setScrollbarX] = React2.useState(null);\n const [scrollbarY, setScrollbarY] = React2.useState(null);\n const [cornerWidth, setCornerWidth] = React2.useState(0);\n const [cornerHeight, setCornerHeight] = React2.useState(0);\n const [scrollbarXEnabled, setScrollbarXEnabled] = React2.useState(false);\n const [scrollbarYEnabled, setScrollbarYEnabled] = React2.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, setScrollArea);\n const direction = useDirection(dir);\n return /* @__PURE__ */ jsx(\n ScrollAreaProvider,\n {\n scope: __scopeScrollArea,\n type,\n dir: direction,\n scrollHideDelay,\n scrollArea,\n viewport,\n onViewportChange: setViewport,\n content,\n onContentChange: setContent,\n scrollbarX,\n onScrollbarXChange: setScrollbarX,\n scrollbarXEnabled,\n onScrollbarXEnabledChange: setScrollbarXEnabled,\n scrollbarY,\n onScrollbarYChange: setScrollbarY,\n scrollbarYEnabled,\n onScrollbarYEnabledChange: setScrollbarYEnabled,\n onCornerWidthChange: setCornerWidth,\n onCornerHeightChange: setCornerHeight,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n dir: direction,\n ...scrollAreaProps,\n ref: composedRefs,\n style: {\n position: \"relative\",\n // Pass corner sizes as CSS vars to reduce re-renders of context consumers\n \"--radix-scroll-area-corner-width\": cornerWidth + \"px\",\n \"--radix-scroll-area-corner-height\": cornerHeight + \"px\",\n ...props.style\n }\n }\n )\n }\n );\n }, \"ScrollArea\")\n);\nvar VIEWPORT_NAME = \"ScrollAreaViewport\";\nvar ScrollAreaViewport = /* @__PURE__ */ React2.forwardRef(\n // blank line to reduce diff noise\n /* @__PURE__ */ __name(function ScrollAreaViewport2(props, forwardedRef) {\n const { __scopeScrollArea, children, nonce, ...viewportProps } = props;\n const context = useScrollAreaContext(VIEWPORT_NAME, __scopeScrollArea);\n const ref = React2.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref, context.onViewportChange);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(ScrollAreaViewportStyle, { nonce }),\n /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-radix-scroll-area-viewport\": \"\",\n ...viewportProps,\n ref: composedRefs,\n style: {\n /**\n * We don't support `visible` because the intention is to have at least one scrollbar\n * if this component is used and `visible` will behave like `auto` in that case\n * https://developer.mozilla.org/en-US/docs/Web/CSS/overflow#description\n *\n * We don't handle `auto` because the intention is for the native implementation\n * to be hidden if using this component. We just want to ensure the node is scrollable\n * so could have used either `scroll` or `auto` here. We picked `scroll` to prevent\n * the browser from having to work out whether to render native scrollbars or not,\n * we tell it to with the intention of hiding them in CSS.\n */\n overflowX: context.scrollbarXEnabled ? \"scroll\" : \"hidden\",\n overflowY: context.scrollbarYEnabled ? \"scroll\" : \"hidden\",\n ...props.style\n },\n children: /* @__PURE__ */ jsx(\"div\", { ref: context.onContentChange, style: { minWidth: \"100%\", display: \"table\" }, children })\n }\n )\n ] });\n }, \"ScrollAreaViewport\")\n);\nvar ScrollAreaViewportStyle = /* @__PURE__ */ React2.memo(\n /* @__PURE__ */ __name(function ScrollAreaViewportStyle2({ nonce }) {\n return /* @__PURE__ */ jsx(\n \"style\",\n {\n dangerouslySetInnerHTML: {\n __html: `[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}`\n },\n nonce\n }\n );\n }, \"ScrollAreaViewportStyle\"),\n (prevProps, nextProps) => prevProps.nonce === nextProps.nonce\n);\nvar SCROLLBAR_NAME = \"ScrollAreaScrollbar\";\nvar ScrollAreaScrollbar = /* @__PURE__ */ React2.forwardRef(\n // blank line to reduce diff noise\n /* @__PURE__ */ __name(function ScrollAreaScrollbar2(props, forwardedRef) {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const { onScrollbarXEnabledChange, onScrollbarYEnabledChange } = context;\n const isHorizontal = props.orientation === \"horizontal\";\n React2.useEffect(() => {\n isHorizontal ? onScrollbarXEnabledChange(true) : onScrollbarYEnabledChange(true);\n return () => {\n isHorizontal ? onScrollbarXEnabledChange(false) : onScrollbarYEnabledChange(false);\n };\n }, [isHorizontal, onScrollbarXEnabledChange, onScrollbarYEnabledChange]);\n return context.type === \"hover\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarHover, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"scroll\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarScroll, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"auto\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarAuto, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"always\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarVisible, { ...scrollbarProps, ref: forwardedRef, \"data-state\": \"visible\" }) : null;\n }, \"ScrollAreaScrollbar\")\n);\nvar ScrollAreaScrollbarHover = /* @__PURE__ */ React2.forwardRef(/* @__PURE__ */ __name(function ScrollAreaScrollbarHover2(props, forwardedRef) {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [visible, setVisible] = React2.useState(false);\n React2.useEffect(() => {\n const scrollArea = context.scrollArea;\n let hideTimer = 0;\n if (scrollArea) {\n const handlePointerEnter = /* @__PURE__ */ __name(() => {\n window.clearTimeout(hideTimer);\n setVisible(true);\n }, \"handlePointerEnter\");\n const handlePointerLeave = /* @__PURE__ */ __name(() => {\n hideTimer = window.setTimeout(() => setVisible(false), context.scrollHideDelay);\n }, \"handlePointerLeave\");\n scrollArea.addEventListener(\"pointerenter\", handlePointerEnter);\n scrollArea.addEventListener(\"pointerleave\", handlePointerLeave);\n return () => {\n window.clearTimeout(hideTimer);\n scrollArea.removeEventListener(\"pointerenter\", handlePointerEnter);\n scrollArea.removeEventListener(\"pointerleave\", handlePointerLeave);\n };\n }\n }, [context.scrollArea, context.scrollHideDelay]);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || visible, children: /* @__PURE__ */ jsx(\n ScrollAreaScrollbarAuto,\n {\n \"data-state\": visible ? \"visible\" : \"hidden\",\n ...scrollbarProps,\n ref: forwardedRef\n }\n ) });\n}, \"ScrollAreaScrollbarHover\"));\nvar ScrollAreaScrollbarScroll = /* @__PURE__ */ React2.forwardRef(/* @__PURE__ */ __name(function ScrollAreaScrollbarScroll2(props, forwardedRef) {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const isHorizontal = props.orientation === \"horizontal\";\n const debounceScrollEnd = useDebounceCallback(() => send(\"SCROLL_END\"), 100);\n const [state, send] = useStateMachine(\"hidden\", {\n hidden: {\n SCROLL: \"scrolling\"\n },\n scrolling: {\n SCROLL_END: \"idle\",\n POINTER_ENTER: \"interacting\"\n },\n interacting: {\n SCROLL: \"interacting\",\n POINTER_LEAVE: \"idle\"\n },\n idle: {\n HIDE: \"hidden\",\n SCROLL: \"scrolling\",\n POINTER_ENTER: \"interacting\"\n }\n });\n React2.useEffect(() => {\n if (state === \"idle\") {\n const hideTimer = window.setTimeout(() => send(\"HIDE\"), context.scrollHideDelay);\n return () => window.clearTimeout(hideTimer);\n }\n }, [state, context.scrollHideDelay, send]);\n React2.useEffect(() => {\n const viewport = context.viewport;\n const scrollDirection = isHorizontal ? \"scrollLeft\" : \"scrollTop\";\n if (viewport) {\n let prevScrollPos = viewport[scrollDirection];\n const handleScroll = /* @__PURE__ */ __name(() => {\n const scrollPos = viewport[scrollDirection];\n const hasScrollInDirectionChanged = prevScrollPos !== scrollPos;\n if (hasScrollInDirectionChanged) {\n send(\"SCROLL\");\n debounceScrollEnd();\n }\n prevScrollPos = scrollPos;\n }, \"handleScroll\");\n viewport.addEventListener(\"scroll\", handleScroll);\n return () => viewport.removeEventListener(\"scroll\", handleScroll);\n }\n }, [context.viewport, isHorizontal, send, debounceScrollEnd]);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || state !== \"hidden\", children: /* @__PURE__ */ jsx(\n ScrollAreaScrollbarVisible,\n {\n \"data-state\": state === \"hidden\" ? \"hidden\" : \"visible\",\n ...scrollbarProps,\n ref: forwardedRef,\n onPointerEnter: composeEventHandlers(props.onPointerEnter, () => send(\"POINTER_ENTER\")),\n onPointerLeave: composeEventHandlers(props.onPointerLeave, () => send(\"POINTER_LEAVE\"))\n }\n ) });\n}, \"ScrollAreaScrollbarScroll\"));\nvar ScrollAreaScrollbarAuto = /* @__PURE__ */ React2.forwardRef(/* @__PURE__ */ __name(function ScrollAreaScrollbarAuto2(props, forwardedRef) {\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const { forceMount, ...scrollbarProps } = props;\n const [visible, setVisible] = React2.useState(false);\n const isHorizontal = props.orientation === \"horizontal\";\n const handleResize = useDebounceCallback(() => {\n if (context.viewport) {\n const isOverflowX = context.viewport.offsetWidth < context.viewport.scrollWidth;\n const isOverflowY = context.viewport.offsetHeight < context.viewport.scrollHeight;\n setVisible(isHorizontal ? isOverflowX : isOverflowY);\n }\n }, 10);\n useResizeObserver(context.viewport, handleResize);\n useResizeObserver(context.content, handleResize);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || visible, children: /* @__PURE__ */ jsx(\n ScrollAreaScrollbarVisible,\n {\n \"data-state\": visible ? \"visible\" : \"hidden\",\n ...scrollbarProps,\n ref: forwardedRef\n }\n ) });\n}, \"ScrollAreaScrollbarAuto\"));\nvar ScrollAreaScrollbarVisible = /* @__PURE__ */ React2.forwardRef(/* @__PURE__ */ __name(function ScrollAreaScrollbarVisible2(props, forwardedRef) {\n const { orientation = \"vertical\", ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const thumbRef = React2.useRef(null);\n const pointerOffsetRef = React2.useRef(0);\n const [sizes, setSizes] = React2.useState({\n content: 0,\n viewport: 0,\n scrollbar: { size: 0, paddingStart: 0, paddingEnd: 0 }\n });\n const thumbRatio = getThumbRatio(sizes.viewport, sizes.content);\n const commonProps = {\n ...scrollbarProps,\n sizes,\n onSizesChange: setSizes,\n hasThumb: Boolean(thumbRatio > 0 && thumbRatio < 1),\n onThumbChange: /* @__PURE__ */ __name((thumb) => thumbRef.current = thumb, \"onThumbChange\"),\n onThumbPointerUp: /* @__PURE__ */ __name(() => pointerOffsetRef.current = 0, \"onThumbPointerUp\"),\n onThumbPointerDown: /* @__PURE__ */ __name((pointerPos) => pointerOffsetRef.current = pointerPos, \"onThumbPointerDown\")\n };\n function getScrollPosition(pointerPos, dir) {\n return getScrollPositionFromPointer(pointerPos, pointerOffsetRef.current, sizes, dir);\n }\n __name(getScrollPosition, \"getScrollPosition\");\n if (orientation === \"horizontal\") {\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarX,\n {\n ...commonProps,\n ref: forwardedRef,\n onThumbPositionChange: () => {\n if (context.viewport && thumbRef.current) {\n const scrollPos = context.viewport.scrollLeft;\n const offset = getThumbOffsetFromScroll(scrollPos, sizes, context.dir);\n thumbRef.current.style.transform = `translate3d(${offset}px, 0, 0)`;\n }\n },\n onWheelScroll: (scrollPos) => {\n if (context.viewport) context.viewport.scrollLeft = scrollPos;\n },\n onDragScroll: (pointerPos) => {\n if (context.viewport) {\n context.viewport.scrollLeft = getScrollPosition(pointerPos, context.dir);\n }\n }\n }\n );\n }\n if (orientation === \"vertical\") {\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarY,\n {\n ...commonProps,\n ref: forwardedRef,\n onThumbPositionChange: () => {\n if (context.viewport && thumbRef.current) {\n const scrollPos = context.viewport.scrollTop;\n const offset = getThumbOffsetFromScroll(scrollPos, sizes);\n thumbRef.current.style.transform = `translate3d(0, ${offset}px, 0)`;\n }\n },\n onWheelScroll: (scrollPos) => {\n if (context.viewport) context.viewport.scrollTop = scrollPos;\n },\n onDragScroll: (pointerPos) => {\n if (context.viewport) context.viewport.scrollTop = getScrollPosition(pointerPos);\n }\n }\n );\n }\n return null;\n}, \"ScrollAreaScrollbarVisible\"));\nvar ScrollAreaScrollbarX = /* @__PURE__ */ React2.forwardRef(/* @__PURE__ */ __name(function ScrollAreaScrollbarX2(props, forwardedRef) {\n const { sizes, onSizesChange, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [computedStyle, setComputedStyle] = React2.useState();\n const ref = React2.useRef(null);\n const composeRefs = useComposedRefs(forwardedRef, ref, context.onScrollbarXChange);\n React2.useEffect(() => {\n if (ref.current) setComputedStyle(getComputedStyle(ref.current));\n }, [ref]);\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarImpl,\n {\n \"data-orientation\": \"horizontal\",\n ...scrollbarProps,\n ref: composeRefs,\n sizes,\n style: {\n bottom: 0,\n left: context.dir === \"rtl\" ? \"var(--radix-scroll-area-corner-width)\" : 0,\n right: context.dir === \"ltr\" ? \"var(--radix-scroll-area-corner-width)\" : 0,\n \"--radix-scroll-area-thumb-width\": getThumbSize(sizes) + \"px\",\n ...props.style\n },\n onThumbPointerDown: (pointerPos) => props.onThumbPointerDown(pointerPos.x),\n onDragScroll: (pointerPos) => props.onDragScroll(pointerPos.x),\n onWheelScroll: (event, maxScrollPos) => {\n if (context.viewport) {\n const scrollPos = context.viewport.scrollLeft + event.deltaX;\n props.onWheelScroll(scrollPos);\n if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {\n event.preventDefault();\n }\n }\n },\n onResize: () => {\n if (ref.current && context.viewport && computedStyle) {\n onSizesChange({\n content: context.viewport.scrollWidth,\n viewport: context.viewport.offsetWidth,\n scrollbar: {\n size: ref.current.clientWidth,\n paddingStart: toInt(computedStyle.paddingLeft),\n paddingEnd: toInt(computedStyle.paddingRight)\n }\n });\n }\n }\n }\n );\n}, \"ScrollAreaScrollbarX\"));\nvar ScrollAreaScrollbarY = /* @__PURE__ */ React2.forwardRef(/* @__PURE__ */ __name(function ScrollAreaScrollbarY2(props, forwardedRef) {\n const { sizes, onSizesChange, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [computedStyle, setComputedStyle] = React2.useState();\n const ref = React2.useRef(null);\n const composeRefs = useComposedRefs(forwardedRef, ref, context.onScrollbarYChange);\n React2.useEffect(() => {\n if (ref.current) setComputedStyle(getComputedStyle(ref.current));\n }, [ref]);\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarImpl,\n {\n \"data-orientation\": \"vertical\",\n ...scrollbarProps,\n ref: composeRefs,\n sizes,\n style: {\n top: 0,\n right: context.dir === \"ltr\" ? 0 : void 0,\n left: context.dir === \"rtl\" ? 0 : void 0,\n bottom: \"var(--radix-scroll-area-corner-height)\",\n \"--radix-scroll-area-thumb-height\": getThumbSize(sizes) + \"px\",\n ...props.style\n },\n onThumbPointerDown: (pointerPos) => props.onThumbPointerDown(pointerPos.y),\n onDragScroll: (pointerPos) => props.onDragScroll(pointerPos.y),\n onWheelScroll: (event, maxScrollPos) => {\n if (context.viewport) {\n const scrollPos = context.viewport.scrollTop + event.deltaY;\n props.onWheelScroll(scrollPos);\n if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {\n event.preventDefault();\n }\n }\n },\n onResize: () => {\n if (ref.current && context.viewport && computedStyle) {\n onSizesChange({\n content: context.viewport.scrollHeight,\n viewport: context.viewport.offsetHeight,\n scrollbar: {\n size: ref.current.clientHeight,\n paddingStart: toInt(computedStyle.paddingTop),\n paddingEnd: toInt(computedStyle.paddingBottom)\n }\n });\n }\n }\n }\n );\n}, \"ScrollAreaScrollbarY\"));\nvar [ScrollbarProvider, useScrollbarContext] = createScrollAreaContext(SCROLLBAR_NAME);\nvar ScrollAreaScrollbarImpl = /* @__PURE__ */ React2.forwardRef(/* @__PURE__ */ __name(function ScrollAreaScrollbarImpl2(props, forwardedRef) {\n const {\n __scopeScrollArea,\n sizes,\n hasThumb,\n onThumbChange,\n onThumbPointerUp,\n onThumbPointerDown,\n onThumbPositionChange,\n onDragScroll,\n onWheelScroll,\n onResize,\n ...scrollbarProps\n } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, __scopeScrollArea);\n const [scrollbar, setScrollbar] = React2.useState(null);\n const composeRefs = useComposedRefs(forwardedRef, setScrollbar);\n const rectRef = React2.useRef(null);\n const prevWebkitUserSelectRef = React2.useRef(\"\");\n const viewport = context.viewport;\n const maxScrollPos = sizes.content - sizes.viewport;\n const handleWheelScroll = useCallbackRef(onWheelScroll);\n const handleThumbPositionChange = useCallbackRef(onThumbPositionChange);\n const handleResize = useDebounceCallback(onResize, 10);\n function handleDragScroll(event) {\n if (rectRef.current) {\n const x = event.clientX - rectRef.current.left;\n const y = event.clientY - rectRef.current.top;\n onDragScroll({ x, y });\n }\n }\n __name(handleDragScroll, \"handleDragScroll\");\n React2.useEffect(() => {\n const handleWheel = /* @__PURE__ */ __name((event) => {\n const element = event.target;\n const isScrollbarWheel = scrollbar?.contains(element);\n if (isScrollbarWheel) handleWheelScroll(event, maxScrollPos);\n }, \"handleWheel\");\n document.addEventListener(\"wheel\", handleWheel, { passive: false });\n return () => document.removeEventListener(\"wheel\", handleWheel, { passive: false });\n }, [viewport, scrollbar, maxScrollPos, handleWheelScroll]);\n React2.useEffect(handleThumbPositionChange, [sizes, handleThumbPositionChange]);\n useResizeObserver(scrollbar, handleResize);\n useResizeObserver(context.content, handleResize);\n return /* @__PURE__ */ jsx(\n ScrollbarProvider,\n {\n scope: __scopeScrollArea,\n scrollbar,\n hasThumb,\n onThumbChange: useCallbackRef(onThumbChange),\n onThumbPointerUp: useCallbackRef(onThumbPointerUp),\n onThumbPositionChange: handleThumbPositionChange,\n onThumbPointerDown: useCallbackRef(onThumbPointerDown),\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...scrollbarProps,\n ref: composeRefs,\n style: { position: \"absolute\", ...scrollbarProps.style },\n onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n const mainPointer = 0;\n if (event.button === mainPointer) {\n const element = event.target;\n element.setPointerCapture(event.pointerId);\n rectRef.current = scrollbar.getBoundingClientRect();\n prevWebkitUserSelectRef.current = document.body.style.webkitUserSelect;\n document.body.style.webkitUserSelect = \"none\";\n if (context.viewport) context.viewport.style.scrollBehavior = \"auto\";\n handleDragScroll(event);\n }\n }),\n onPointerMove: composeEventHandlers(props.onPointerMove, handleDragScroll),\n onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n const element = event.target;\n if (element.hasPointerCapture(event.pointerId)) {\n element.releasePointerCapture(event.pointerId);\n }\n document.body.style.webkitUserSelect = prevWebkitUserSelectRef.current;\n if (context.viewport) context.viewport.style.scrollBehavior = \"\";\n rectRef.current = null;\n })\n }\n )\n }\n );\n}, \"ScrollAreaScrollbarImpl\"));\nvar THUMB_NAME = \"ScrollAreaThumb\";\nvar ScrollAreaThumb = /* @__PURE__ */ React2.forwardRef(\n // blank line to reduce diff noise\n /* @__PURE__ */ __name(function ScrollAreaThumb2(props, forwardedRef) {\n const { forceMount, ...thumbProps } = props;\n const scrollbarContext = useScrollbarContext(THUMB_NAME, props.__scopeScrollArea);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || scrollbarContext.hasThumb, children: /* @__PURE__ */ jsx(ScrollAreaThumbImpl, { ref: forwardedRef, ...thumbProps }) });\n }, \"ScrollAreaThumb\")\n);\nvar ScrollAreaThumbImpl = /* @__PURE__ */ React2.forwardRef(\n // blank line to reduce diff noise\n /* @__PURE__ */ __name(function ScrollAreaThumbImpl2(props, forwardedRef) {\n const { __scopeScrollArea, style, ...thumbProps } = props;\n const scrollAreaContext = useScrollAreaContext(THUMB_NAME, __scopeScrollArea);\n const scrollbarContext = useScrollbarContext(THUMB_NAME, __scopeScrollArea);\n const { onThumbPositionChange } = scrollbarContext;\n const composedRef = useComposedRefs(forwardedRef, scrollbarContext.onThumbChange);\n const removeUnlinkedScrollListenerRef = React2.useRef(void 0);\n const debounceScrollEnd = useDebounceCallback(() => {\n if (removeUnlinkedScrollListenerRef.current) {\n removeUnlinkedScrollListenerRef.current();\n removeUnlinkedScrollListenerRef.current = void 0;\n }\n }, 100);\n React2.useEffect(() => {\n const viewport = scrollAreaContext.viewport;\n if (viewport) {\n const handleScroll = /* @__PURE__ */ __name(() => {\n debounceScrollEnd();\n if (!removeUnlinkedScrollListenerRef.current) {\n const listener = addUnlinkedScrollListener(viewport, onThumbPositionChange);\n removeUnlinkedScrollListenerRef.current = listener;\n onThumbPositionChange();\n }\n }, \"handleScroll\");\n onThumbPositionChange();\n viewport.addEventListener(\"scroll\", handleScroll);\n return () => viewport.removeEventListener(\"scroll\", handleScroll);\n }\n }, [scrollAreaContext.viewport, debounceScrollEnd, onThumbPositionChange]);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": scrollbarContext.hasThumb ? \"visible\" : \"hidden\",\n ...thumbProps,\n ref: composedRef,\n style: {\n width: \"var(--radix-scroll-area-thumb-width)\",\n height: \"var(--radix-scroll-area-thumb-height)\",\n ...style\n },\n onPointerDownCapture: composeEventHandlers(props.onPointerDownCapture, (event) => {\n const thumb = event.target;\n const thumbRect = thumb.getBoundingClientRect();\n const x = event.clientX - thumbRect.left;\n const y = event.clientY - thumbRect.top;\n scrollbarContext.onThumbPointerDown({ x, y });\n }),\n onPointerUp: composeEventHandlers(props.onPointerUp, scrollbarContext.onThumbPointerUp)\n }\n );\n }, \"ScrollAreaThumbImpl\")\n);\nvar CORNER_NAME = \"ScrollAreaCorner\";\nvar ScrollAreaCorner = /* @__PURE__ */ React2.forwardRef(\n // blank line to reduce diff noise\n /* @__PURE__ */ __name(function ScrollAreaCorner2(props, forwardedRef) {\n const context = useScrollAreaContext(CORNER_NAME, props.__scopeScrollArea);\n const hasBothScrollbarsVisible = Boolean(context.scrollbarX && context.scrollbarY);\n const hasCorner = context.type !== \"scroll\" && hasBothScrollbarsVisible;\n return hasCorner ? /* @__PURE__ */ jsx(ScrollAreaCornerImpl, { ...props, ref: forwardedRef }) : null;\n }, \"ScrollAreaCorner\")\n);\nvar ScrollAreaCornerImpl = /* @__PURE__ */ React2.forwardRef(/* @__PURE__ */ __name(function ScrollAreaCornerImpl2(props, forwardedRef) {\n const { __scopeScrollArea, ...cornerProps } = props;\n const context = useScrollAreaContext(CORNER_NAME, __scopeScrollArea);\n const [width, setWidth] = React2.useState(0);\n const [height, setHeight] = React2.useState(0);\n const hasSize = Boolean(width && height);\n const { onCornerWidthChange, onCornerHeightChange } = context;\n useResizeObserver(context.scrollbarX, () => {\n const height2 = context.scrollbarX?.offsetHeight || 0;\n context.onCornerHeightChange(height2);\n setHeight(height2);\n });\n useResizeObserver(context.scrollbarY, () => {\n const width2 = context.scrollbarY?.offsetWidth || 0;\n context.onCornerWidthChange(width2);\n setWidth(width2);\n });\n React2.useEffect(() => {\n return () => {\n onCornerWidthChange(0);\n onCornerHeightChange(0);\n };\n }, [onCornerWidthChange, onCornerHeightChange]);\n return hasSize ? /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...cornerProps,\n ref: forwardedRef,\n style: {\n width,\n height,\n position: \"absolute\",\n right: context.dir === \"ltr\" ? 0 : void 0,\n left: context.dir === \"rtl\" ? 0 : void 0,\n bottom: 0,\n ...props.style\n }\n }\n ) : null;\n}, \"ScrollAreaCornerImpl\"));\nfunction toInt(value) {\n return value ? parseInt(value, 10) : 0;\n}\n__name(toInt, \"toInt\");\nfunction getThumbRatio(viewportSize, contentSize) {\n const ratio = viewportSize / contentSize;\n return isNaN(ratio) ? 0 : ratio;\n}\n__name(getThumbRatio, \"getThumbRatio\");\nfunction getThumbSize(sizes) {\n const ratio = getThumbRatio(sizes.viewport, sizes.content);\n const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;\n const thumbSize = (sizes.scrollbar.size - scrollbarPadding) * ratio;\n return Math.max(thumbSize, 18);\n}\n__name(getThumbSize, \"getThumbSize\");\nfunction getScrollPositionFromPointer(pointerPos, pointerOffset, sizes, dir = \"ltr\") {\n const thumbSizePx = getThumbSize(sizes);\n const thumbCenter = thumbSizePx / 2;\n const offset = pointerOffset || thumbCenter;\n const thumbOffsetFromEnd = thumbSizePx - offset;\n const minPointerPos = sizes.scrollbar.paddingStart + offset;\n const maxPointerPos = sizes.scrollbar.size - sizes.scrollbar.paddingEnd - thumbOffsetFromEnd;\n const maxScrollPos = sizes.content - sizes.viewport;\n const scrollRange = dir === \"ltr\" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];\n const interpolate = linearScale([minPointerPos, maxPointerPos], scrollRange);\n return interpolate(pointerPos);\n}\n__name(getScrollPositionFromPointer, \"getScrollPositionFromPointer\");\nfunction getThumbOffsetFromScroll(scrollPos, sizes, dir = \"ltr\") {\n const thumbSizePx = getThumbSize(sizes);\n const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;\n const scrollbar = sizes.scrollbar.size - scrollbarPadding;\n const maxScrollPos = sizes.content - sizes.viewport;\n const maxThumbPos = scrollbar - thumbSizePx;\n const scrollClampRange = dir === \"ltr\" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];\n const scrollWithoutMomentum = clamp(scrollPos, scrollClampRange);\n const interpolate = linearScale([0, maxScrollPos], [0, maxThumbPos]);\n return interpolate(scrollWithoutMomentum);\n}\n__name(getThumbOffsetFromScroll, \"getThumbOffsetFromScroll\");\nfunction linearScale(input, output) {\n return (value) => {\n if (input[0] === input[1] || output[0] === output[1]) return output[0];\n const ratio = (output[1] - output[0]) / (input[1] - input[0]);\n return output[0] + ratio * (value - input[0]);\n };\n}\n__name(linearScale, \"linearScale\");\nfunction isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos) {\n return scrollPos > 0 && scrollPos < maxScrollPos;\n}\n__name(isScrollingWithinScrollbarBounds, \"isScrollingWithinScrollbarBounds\");\nvar addUnlinkedScrollListener = /* @__PURE__ */ __name((node, handler = () => {\n}) => {\n let prevPosition = { left: node.scrollLeft, top: node.scrollTop };\n let rAF = 0;\n (/* @__PURE__ */ __name((function loop() {\n const position = { left: node.scrollLeft, top: node.scrollTop };\n const isHorizontalScroll = prevPosition.left !== position.left;\n const isVerticalScroll = prevPosition.top !== position.top;\n if (isHorizontalScroll || isVerticalScroll) handler();\n prevPosition = position;\n rAF = window.requestAnimationFrame(loop);\n }), \"loop\"))();\n return () => window.cancelAnimationFrame(rAF);\n}, \"addUnlinkedScrollListener\");\nfunction useDebounceCallback(callback, delay) {\n const handleCallback = useCallbackRef(callback);\n const debounceTimerRef = React2.useRef(0);\n React2.useEffect(() => () => window.clearTimeout(debounceTimerRef.current), []);\n return React2.useCallback(() => {\n window.clearTimeout(debounceTimerRef.current);\n debounceTimerRef.current = window.setTimeout(handleCallback, delay);\n }, [handleCallback, delay]);\n}\n__name(useDebounceCallback, \"useDebounceCallback\");\nfunction useResizeObserver(element, onResize) {\n const handleResize = useCallbackRef(onResize);\n useLayoutEffect(() => {\n let rAF = 0;\n if (element) {\n const resizeObserver = new ResizeObserver(() => {\n cancelAnimationFrame(rAF);\n rAF = window.requestAnimationFrame(handleResize);\n });\n resizeObserver.observe(element);\n return () => {\n window.cancelAnimationFrame(rAF);\n resizeObserver.unobserve(element);\n };\n }\n }, [element, handleResize]);\n}\n__name(useResizeObserver, \"useResizeObserver\");\nvar Root = ScrollArea;\nvar Viewport = ScrollAreaViewport;\nvar Scrollbar = ScrollAreaScrollbar;\nvar Thumb = ScrollAreaThumb;\nvar Corner = ScrollAreaCorner;\nexport {\n Corner,\n Root,\n ScrollArea,\n ScrollAreaCorner,\n ScrollAreaScrollbar,\n ScrollAreaThumb,\n ScrollAreaViewport,\n Scrollbar,\n Thumb,\n Viewport,\n createScrollAreaScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\"\r\n\r\nimport * as React from \"react\"\r\nimport * as ScrollAreaPrimitive from \"@radix-ui/react-scroll-area\"\r\n\r\nimport { cn } from \"@/lib/utils\"\r\n\r\nconst ScrollArea = React.forwardRef<\r\n React.ElementRef<typeof ScrollAreaPrimitive.Root>,\r\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>\r\n>(({ className, children, ...props }, ref) => (\r\n <ScrollAreaPrimitive.Root\r\n ref={ref}\r\n className={cn(\"relative overflow-hidden\", className)}\r\n {...props}\r\n >\r\n <ScrollAreaPrimitive.Viewport className=\"h-full w-full rounded-[inherit]\">\r\n {children}\r\n </ScrollAreaPrimitive.Viewport>\r\n <ScrollBar />\r\n <ScrollAreaPrimitive.Corner />\r\n </ScrollAreaPrimitive.Root>\r\n))\r\nScrollArea.displayName = ScrollAreaPrimitive.Root.displayName\r\n\r\nconst ScrollBar = React.forwardRef<\r\n React.ElementRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>,\r\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>\r\n>(({ className, orientation = \"vertical\", ...props }, ref) => (\r\n <ScrollAreaPrimitive.ScrollAreaScrollbar\r\n ref={ref}\r\n orientation={orientation}\r\n className={cn(\r\n \"flex touch-none select-none transition-colors\",\r\n orientation === \"vertical\" &&\r\n \"h-full w-2.5 border-l border-l-transparent p-px\",\r\n orientation === \"horizontal\" &&\r\n \"h-2.5 flex-col border-t border-t-transparent p-px\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n <ScrollAreaPrimitive.ScrollAreaThumb className=\"relative flex-1 rounded-full bg-border2\" />\r\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\r\n))\r\nScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName\r\n\r\nexport { ScrollArea, ScrollBar }\r\n"],"names":["defineProperty","__defProp","Object","configurable","__name","target","value","DirectionContext","DirectionProvider","props","dir","children","Provider","useDirection","localDir","globalDir"],"mappings":"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","ignoreList":[0,1,2]}
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,91881,e=>{"use strict";var t=e.i(72345),n=e.i(180338),r=e.i(406952),o=e.i(83790);let i={name:"arrow-left",size:24,node:[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]};i.node;let l=(0,o.default)(i);var a=e.i(975157),s=e.i(776639),u=e.i(519455),c=e.i(793479),d=e.i(759684),f=e.i(649021);e.s(["NewDocModal",0,function({open:e,onOpenChange:o,rootParam:i,onDocCreated:p}){let[h,m]=(0,n.useState)(1),[g,x]=(0,n.useState)(null),[v,y]=(0,n.useState)(""),[w,b]=(0,n.useState)(""),[C,R]=(0,n.useState)(!1);async function j(){if(g&&v.trim()){b(""),R(!0);try{let e=await fetch(`/api/docs${i}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:v.trim(),content:g.content})});if(409===e.status){b("File already exists"),R(!1);return}if(!e.ok){let t=await e.json();b(t.error||"Failed to create file"),R(!1);return}o(!1),p(v.trim())}catch{b("Network error"),R(!1)}}}return(0,n.useEffect)(()=>{e&&(m(1),x(null),y(""),b(""),R(!1))},[e]),(0,t.jsx)(s.Dialog,{open:e,onOpenChange:o,children:(0,t.jsxs)(s.DialogContent,{className:"max-w-2xl bg-surface border-border",children:[(0,t.jsx)(s.DialogHeader,{children:(0,t.jsx)(s.DialogTitle,{className:"text-txt text-sm font-semibold",children:1===h?"Choose a template":"Confirm file path"})}),1===h&&(0,t.jsx)(d.ScrollArea,{className:"max-h-[420px]",children:(0,t.jsx)("div",{className:"grid grid-cols-3 gap-2 p-1",children:f.TEMPLATES.map(e=>(0,t.jsxs)("button",{onClick:()=>{x(e),y(e.defaultPath),b(""),m(2)},className:(0,a.cn)("flex flex-col items-start gap-1.5 p-3 rounded-lg border border-border text-left","bg-surface2 hover:bg-surface2/80 hover:border-accent/50 transition-colors"),children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(r.FileText,{className:"h-3.5 w-3.5 text-accent shrink-0"}),(0,t.jsx)("span",{className:"text-xs font-medium text-txt",children:e.name})]}),(0,t.jsx)("p",{className:"text-[11px] text-muted leading-relaxed",children:e.description}),(0,t.jsx)("p",{className:"text-[10px] text-muted/60 font-mono truncate w-full",children:e.defaultPath})]},e.id))})}),2===h&&g&&(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"flex items-start gap-3 p-3 rounded-lg bg-surface2 border border-border",children:[(0,t.jsx)(r.FileText,{className:"h-4 w-4 text-accent shrink-0 mt-0.5"}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-xs font-medium text-txt",children:g.name}),(0,t.jsx)("p",{className:"text-[11px] text-muted mt-0.5",children:g.description})]})]}),(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("label",{className:"block text-[11px] font-medium text-muted uppercase tracking-wider",children:"File path"}),(0,t.jsx)(c.Input,{autoFocus:!0,value:v,onChange:e=>{y(e.target.value),b("")},onKeyDown:e=>{"Enter"===e.key&&j()},placeholder:"docs/my-document.md",className:"h-8 text-xs bg-surface2 border-border font-mono"}),w&&(0,t.jsx)("p",{className:"text-[11px] text-red-400",children:w})]}),(0,t.jsxs)("div",{className:"flex items-center justify-between pt-1",children:[(0,t.jsxs)(u.Button,{variant:"ghost",size:"sm",onClick:()=>m(1),className:"h-7 text-xs text-muted hover:text-txt gap-1.5",children:[(0,t.jsx)(l,{className:"h-3 w-3"}),"Back"]}),(0,t.jsx)(u.Button,{size:"sm",onClick:j,disabled:C||!v.trim(),className:"h-7 text-xs bg-accent hover:bg-accent/90 text-white",children:C?"Creating…":"Create"})]})]})]})})}],91881)},755146,212534,360065,e=>{"use strict";let t;var n=e.i(72345),r=e.i(180338),o=e.i(543836),i=e.i(166100),l=e.i(264145),a=e.i(315671),s=e.i(978238),u=e.i(617739),c=Object.defineProperty,d=(e,t)=>c(e,"name",{value:t,configurable:!0});function f(e){let t=e+"CollectionProvider",[o,a]=(0,l.createContextScope)(t),[s,c]=o(t,{collectionRef:{current:null},itemMap:new Map}),f=d(e=>{let{scope:t,children:o}=e,i=r.useRef(null),l=r.useRef(new Map).current;return(0,n.jsx)(s,{scope:t,itemMap:l,collectionRef:i,children:o})},"CollectionProvider");f.displayName=t;let p=e+"CollectionSlot",h=(0,u.createSlot)(p),m=r.forwardRef((e,t)=>{let{scope:r,children:o}=e,l=c(p,r),a=(0,i.useComposedRefs)(t,l.collectionRef);return(0,n.jsx)(h,{ref:a,children:o})});m.displayName=p;let g=e+"CollectionItemSlot",x="data-radix-collection-item",v=(0,u.createSlot)(g),y=r.forwardRef((e,t)=>{let{scope:o,children:l,...a}=e,s=r.useRef(null),u=(0,i.useComposedRefs)(t,s),d=c(g,o);return r.useEffect(()=>(d.itemMap.set(s,{ref:s,...a}),()=>void d.itemMap.delete(s))),(0,n.jsx)(v,{...{[x]:""},ref:u,children:l})});function w(t){let n=c(e+"CollectionConsumer",t);return r.useCallback(()=>{let e=n.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${x}]`));return Array.from(n.itemMap.values()).sort((e,n)=>t.indexOf(e.ref.current)-t.indexOf(n.ref.current))},[n.collectionRef,n.itemMap])}return y.displayName=g,d(w,"useCollection"),[{Provider:f,Slot:m,ItemSlot:y},w,a]}d(f,"createCollection");var p=new WeakMap,h=class e extends Map{static{d(this,"OrderedDict")}#e;constructor(e){super(e),this.#e=[...super.keys()],p.set(this,!0)}set(e,t){return p.get(this)&&(this.has(e)?this.#e[this.#e.indexOf(e)]=e:this.#e.push(e)),super.set(e,t),this}insert(e,t,n){let r,o=this.has(t),i=this.#e.length,l=x(e),a=l>=0?l:i+l,s=a<0||a>=i?-1:a;if(s===this.size||o&&s===this.size-1||-1===s)return this.set(t,n),this;let u=this.size+ +!o;l<0&&a++;let c=[...this.#e],d=!1;for(let e=a;e<u;e++)if(a===e){let i=c[e];c[e]===t&&(i=c[e+1]),o&&this.delete(t),r=this.get(i),this.set(t,n)}else{d||c[e-1]!==t||(d=!0);let n=c[d?e:e-1],o=r;r=this.get(n),this.delete(n),this.set(n,o)}return this}with(t,n,r){let o=new e(this);return o.insert(t,n,r),o}before(e){let t=this.#e.indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,n){let r=this.#e.indexOf(e);return -1===r?this:this.insert(r,t,n)}after(e){let t=this.#e.indexOf(e);if(-1!==(t=-1===t||t===this.size-1?-1:t+1))return this.entryAt(t)}setAfter(e,t,n){let r=this.#e.indexOf(e);return -1===r?this:this.insert(r+1,t,n)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#e=[],super.clear()}delete(e){let t=super.delete(e);return t&&this.#e.splice(this.#e.indexOf(e),1),t}deleteAt(e){let t=this.keyAt(e);return void 0!==t&&this.delete(t)}at(e){let t=m(this.#e,e);if(void 0!==t)return this.get(t)}entryAt(e){let t=m(this.#e,e);if(void 0!==t)return[t,this.get(t)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return m(this.#e,e)}from(e,t){let n=this.indexOf(e);if(-1===n)return;let r=n+t;return r<0&&(r=0),r>=this.size&&(r=this.size-1),this.at(r)}keyFrom(e,t){let n=this.indexOf(e);if(-1===n)return;let r=n+t;return r<0&&(r=0),r>=this.size&&(r=this.size-1),this.keyAt(r)}find(e,t){let n=0;for(let r of this){if(Reflect.apply(e,t,[r,n,this]))return r;n++}}findIndex(e,t){let n=0;for(let r of this){if(Reflect.apply(e,t,[r,n,this]))return n;n++}return -1}filter(t,n){let r=[],o=0;for(let e of this)Reflect.apply(t,n,[e,o,this])&&r.push(e),o++;return new e(r)}map(t,n){let r=[],o=0;for(let e of this)r.push([e[0],Reflect.apply(t,n,[e,o,this])]),o++;return new e(r)}reduce(...e){let[t,n]=e,r=0,o=n??this.at(0);for(let n of this)o=0===r&&1===e.length?n:Reflect.apply(t,this,[o,n,r,this]),r++;return o}reduceRight(...e){let[t,n]=e,r=n??this.at(-1);for(let n=this.size-1;n>=0;n--){let o=this.at(n);r=n===this.size-1&&1===e.length?o:Reflect.apply(t,this,[r,o,n,this])}return r}toSorted(t){return new e([...this.entries()].sort(t))}toReversed(){let t=new e;for(let e=this.size-1;e>=0;e--){let n=this.keyAt(e),r=this.get(n);t.set(n,r)}return t}toSpliced(...t){let n=[...this.entries()];return n.splice(...t),new e(n)}slice(t,n){let r=new e,o=this.size-1;if(void 0===t)return r;t<0&&(t+=this.size),void 0!==n&&n>0&&(o=n-1);for(let e=t;e<=o;e++){let t=this.keyAt(e),n=this.get(t);r.set(t,n)}return r}every(e,t){let n=0;for(let r of this){if(!Reflect.apply(e,t,[r,n,this]))return!1;n++}return!0}some(e,t){let n=0;for(let r of this){if(Reflect.apply(e,t,[r,n,this]))return!0;n++}return!1}};function m(e,t){if("at"in Array.prototype)return Array.prototype.at.call(e,t);let n=g(e,t);return -1===n?void 0:e[n]}function g(e,t){let n=e.length,r=x(t),o=r>=0?r:n+r;return o<0||o>=n?-1:o}function x(e){return e!=e||0===e?0:Math.trunc(e)}function v(e,t){if(e===t)return!0;if("object"!=typeof e||"object"!=typeof t||null==e||null==t)return!1;let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||e[r]!==t[r])return!1;return!0}function y(e,t){return!!(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_PRECEDING)}function w(e,t){return e[1].element&&t[1].element?y(e[1].element,t[1].element)?-1:1:0}function b(e){return new MutationObserver(t=>{for(let n of t)if("childList"===n.type)return void e()})}d(m,"at"),d(g,"toSafeIndex"),d(x,"toSafeInteger"),d(function(e){let t=e+"CollectionProvider",[o,a]=(0,l.createContextScope)(t),[s,c]=o(t,{collectionElement:null,collectionRef:{current:null},collectionRefObject:{current:null},itemMap:new h,setItemMap:d(()=>void 0,"setItemMap")}),f=d(({state:e,...t})=>e?(0,n.jsx)(m,{...t,state:e}):(0,n.jsx)(p,{...t}),"CollectionProvider");f.displayName=t;let p=d(e=>{let t=E();return(0,n.jsx)(m,{...e,state:t})},"CollectionInit");p.displayName=t+"Init";let m=d(e=>{let{scope:t,children:o,state:l}=e,a=r.useRef(null),[u,c]=r.useState(null),d=(0,i.useComposedRefs)(a,c),[f,p]=l;return r.useEffect(()=>{if(!u)return;let e=b(()=>{});return e.observe(u,{childList:!0,subtree:!0}),()=>{e.disconnect()}},[u]),(0,n.jsx)(s,{scope:t,itemMap:f,setItemMap:p,collectionRef:d,collectionRefObject:a,collectionElement:u,children:o})},"CollectionProviderImpl");m.displayName=t+"Impl";let g=e+"CollectionSlot",x=(0,u.createSlot)(g),y=r.forwardRef((e,t)=>{let{scope:r,children:o}=e,l=c(g,r),a=(0,i.useComposedRefs)(t,l.collectionRef);return(0,n.jsx)(x,{ref:a,children:o})});y.displayName=g;let C=e+"CollectionItemSlot",R=(0,u.createSlot)(C),j=r.forwardRef((e,t)=>{let{scope:o,children:l,...a}=e,s=r.useRef(null),[u,d]=r.useState(null),f=(0,i.useComposedRefs)(t,s,d),{setItemMap:p}=c(C,o),m=r.useRef(a);v(m.current,a)||(m.current=a);let g=m.current;return r.useEffect(()=>(p(e=>u?e.has(u)?e.set(u,{...g,element:u}).toSorted(w):(e.set(u,{...g,element:u}),e.toSorted(w)):e),()=>{p(e=>u&&e.has(u)?(e.delete(u),new h(e)):e)}),[u,g,p]),(0,n.jsx)(R,{"data-radix-collection-item":"",ref:f,children:l})});function E(){return r.useState(new h)}function P(t){let{itemMap:n}=c(e+"CollectionConsumer",t);return n}return j.displayName=C,d(E,"useInitCollection"),d(P,"useCollection"),[{Provider:f,Slot:y,ItemSlot:j},{createCollectionScope:a,useCollection:P,useInitCollection:E}]},"createCollection"),d(v,"shallowEqual"),d(y,"isElementPreceding"),d(w,"sortByDocumentPosition"),d(b,"getChildListObserver");var C=e.i(900877),R=e.i(296113),j=e.i(314408),E=e.i(349032),P=e.i(432567);let S=["top","right","bottom","left"],k=Math.min,T=Math.max,M=Math.round,O=Math.floor,A=e=>({x:e,y:e}),D={left:"right",right:"left",bottom:"top",top:"bottom"};function I(e,t){return"function"==typeof e?e(t):e}function L(e){return e.split("-")[0]}function N(e){return e.split("-")[1]}function _(e){return"x"===e?"y":"x"}function F(e){return"y"===e?"height":"width"}function H(e){let t=e[0];return"t"===t||"b"===t?"y":"x"}function z(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}let B=["left","right"],K=["right","left"],G=["top","bottom"],V=["bottom","top"];function W(e){let t=L(e);return D[t]+e.slice(t.length)}function $(e){var t,n,r,o;return"number"!=typeof e?{top:null!=(t=e.top)?t:0,right:null!=(n=e.right)?n:0,bottom:null!=(r=e.bottom)?r:0,left:null!=(o=e.left)?o:0}:{top:e,right:e,bottom:e,left:e}}function U(e){let{x:t,y:n,width:r,height:o}=e;return{width:r,height:o,top:n,left:t,right:t+r,bottom:n+o,x:t,y:n}}function X(e,t,n){let r,{reference:o,floating:i}=e,l=H(t),a=_(H(t)),s=F(a),u=L(t),c=o.x+o.width/2-i.width/2,d=o.y+o.height/2-i.height/2,f=o[s]/2-i[s]/2;switch(u){case"top":r={x:c,y:o.y-i.height};break;case"bottom":r={x:c,y:o.y+o.height};break;case"right":r={x:o.x+o.width,y:d};break;case"left":r={x:o.x-i.width,y:d};break;default:r={x:o.x,y:o.y}}let p=N(t);return p&&(r[a]+=f*("end"===p?1:-1)*(n&&"y"===l?-1:1)),r}async function Y(e,t){var n;void 0===t&&(t={});let{x:r,y:o,platform:i,rects:l,elements:a,strategy:s}=e,{boundary:u="clippingAncestors",rootBoundary:c="viewport",elementContext:d="floating",altBoundary:f=!1,padding:p=0}=I(t,e),h=$(p),m=a[f?"floating"===d?"reference":"floating":d],g=U(await i.getClippingRect({element:null==(n=await (null==i.isElement?void 0:i.isElement(m)))||n?m:m.contextElement||await (null==i.getDocumentElement?void 0:i.getDocumentElement(a.floating)),boundary:u,rootBoundary:c,strategy:s})),x="floating"===d?{x:r,y:o,width:l.floating.width,height:l.floating.height}:l.reference,v=await (null==i.getOffsetParent?void 0:i.getOffsetParent(a.floating)),y=await (null==i.isElement?void 0:i.isElement(v))&&await (null==i.getScale?void 0:i.getScale(v))||{x:1,y:1},w=U(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:a,rect:x,offsetParent:v,strategy:s}):x);return{top:(g.top-w.top+h.top)/y.y,bottom:(w.bottom-g.bottom+h.bottom)/y.y,left:(g.left-w.left+h.left)/y.x,right:(w.right-g.right+h.right)/y.x}}let q=async(e,t,n)=>{let{placement:r="bottom",strategy:o="absolute",middleware:i=[],platform:l}=n,a=l.detectOverflow?l:{...l,detectOverflow:Y},s=await (null==l.isRTL?void 0:l.isRTL(t)),u=await l.getElementRects({reference:e,floating:t,strategy:o}),{x:c,y:d}=X(u,r,s),f=r,p=0,h={};for(let n=0;n<i.length;n++){let m=i[n];if(!m)continue;let{name:g,fn:x}=m,{x:v,y:y,data:w,reset:b}=await x({x:c,y:d,initialPlacement:r,placement:f,strategy:o,middlewareData:h,rects:u,platform:a,elements:{reference:e,floating:t}});c=null!=v?v:c,d=null!=y?y:d,h[g]={...h[g],...w},b&&p<50&&(p++,"object"==typeof b&&(b.placement&&(f=b.placement),b.rects&&(u=!0===b.rects?await l.getElementRects({reference:e,floating:t,strategy:o}):b.rects),{x:c,y:d}=X(u,f,s)),n=-1)}return{x:c,y:d,placement:f,strategy:o,middlewareData:h}};function J(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function Z(e){return S.some(t=>e[t]>=0)}let Q=new Set(["left","top"]);async function ee(e,t){let{placement:n,platform:r,elements:o}=e,i=await (null==r.isRTL?void 0:r.isRTL(o.floating)),l=L(n),a=N(n),s="y"===H(n),u=Q.has(l)?-1:1,c=i&&s?-1:1,d=I(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:h}="number"==typeof d?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return a&&"number"==typeof h&&(p="end"===a?-1*h:h),s?{x:p*c,y:f*u}:{x:f*u,y:p*c}}function et(){return"u">typeof window}function en(e){return ei(e)?(e.nodeName||"").toLowerCase():"#document"}function er(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function eo(e){var t;return null==(t=(ei(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function ei(e){return!!et()&&(e instanceof Node||e instanceof er(e).Node)}function el(e){return!!et()&&(e instanceof Element||e instanceof er(e).Element)}function ea(e){return!!et()&&(e instanceof HTMLElement||e instanceof er(e).HTMLElement)}function es(e){return!(!et()||"u"<typeof ShadowRoot)&&(e instanceof ShadowRoot||e instanceof er(e).ShadowRoot)}function eu(e){let{overflow:t,overflowX:n,overflowY:r,display:o}=ex(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&"inline"!==o&&"contents"!==o}function ec(e){try{if(e.matches(":popover-open"))return!0}catch(e){}try{return e.matches(":modal")}catch(e){return!1}}let ed=/transform|translate|scale|rotate|perspective|filter/,ef=/paint|layout|strict|content/,ep=e=>!!e&&"none"!==e;function eh(e){let t=el(e)?ex(e):e;return ep(t.transform)||ep(t.translate)||ep(t.scale)||ep(t.rotate)||ep(t.perspective)||!em()&&(ep(t.backdropFilter)||ep(t.filter))||ed.test(t.willChange||"")||ef.test(t.contain||"")}function em(){return null==t&&(t="u">typeof CSS&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),t}function eg(e){return/^(html|body|#document)$/.test(en(e))}function ex(e){return er(e).getComputedStyle(e)}function ev(e){return el(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function ey(e){if("html"===en(e))return e;let t=e.assignedSlot||e.parentNode||es(e)&&e.host||eo(e);return es(t)?t.host:t}function ew(e,t,n){var r;void 0===t&&(t=[]),void 0===n&&(n=!0);let o=function e(t){let n=ey(t);return eg(n)?(t.ownerDocument||t).body:ea(n)&&eu(n)?n:e(n)}(e),i=o===(null==(r=e.ownerDocument)?void 0:r.body),l=er(o);if(!i)return t.concat(o,ew(o,[],n));{let e=eb(l);return t.concat(l,l.visualViewport||[],eu(o)?o:[],e&&n?ew(e):[])}}function eb(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function eC(e){let t=ex(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,o=ea(e),i=o?e.offsetWidth:n,l=o?e.offsetHeight:r,a=M(n)!==i||M(r)!==l;return a&&(n=i,r=l),{width:n,height:r,$:a}}function eR(e){return el(e)?e:e.contextElement}function ej(e){let t=eR(e);if(!ea(t))return A(1);let n=t.getBoundingClientRect(),{width:r,height:o,$:i}=eC(t),l=(i?M(n.width):n.width)/r,a=(i?M(n.height):n.height)/o;return l&&Number.isFinite(l)||(l=1),a&&Number.isFinite(a)||(a=1),{x:l,y:a}}let eE=A(0);function eP(e){let t=er(e);return em()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:eE}function eS(e,t,n,r){var o;void 0===t&&(t=!1),void 0===n&&(n=!1);let i=e.getBoundingClientRect(),l=eR(e),a=A(1);t&&(r?el(r)&&(a=ej(r)):a=ej(e));let s=(void 0===(o=n)&&(o=!1),r&&o&&r===er(l))?eP(l):A(0),u=(i.left+s.x)/a.x,c=(i.top+s.y)/a.y,d=i.width/a.x,f=i.height/a.y;if(l&&r){let e=er(l),t=el(r)?er(r):r,n=e,o=eb(n);for(;o&&t!==n;){let e=ej(o),t=o.getBoundingClientRect(),r=ex(o),i=t.left+(o.clientLeft+parseFloat(r.paddingLeft))*e.x,l=t.top+(o.clientTop+parseFloat(r.paddingTop))*e.y;u*=e.x,c*=e.y,d*=e.x,f*=e.y,u+=i,c+=l,o=eb(n=er(o))}}return U({width:d,height:f,x:u,y:c})}function ek(e,t){let n=ev(e).scrollLeft;return t?t.left+n:eS(eo(e)).left+n}function eT(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-ek(e,n),y:n.top+t.scrollTop}}function eM(e,t,n){var r;let o;if("viewport"===t||"layoutViewport"===t)o=function(e,t,n){void 0===n&&(n="viewport");let r="layoutViewport"===n,o=er(e),i=eo(e),l=o.visualViewport,a=i.clientWidth,s=i.clientHeight,u=0,c=0;if(l){let e=!em()||"fixed"===t;r?e||(u=-l.offsetLeft,c=-l.offsetTop):(a=l.width,s=l.height,e&&(u=l.offsetLeft,c=l.offsetTop))}if(0>=ek(i)){let e=i.ownerDocument,t=e.body,n=getComputedStyle(t),r="CSS1Compat"===e.compatMode&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(i.clientWidth-t.clientWidth-r),l="stable both-edges"===getComputedStyle(i).scrollbarGutter?o/2:o;l<=25&&(a-=l)}return{width:a,height:s,x:u,y:c}}(e,n,t);else if("document"===t){let t,n,i,l,a,s;t=ev(r=eo(e)),n=r.ownerDocument.body,i=T(r.scrollWidth,r.clientWidth,n.scrollWidth,n.clientWidth),l=T(r.scrollHeight,r.clientHeight,n.scrollHeight,n.clientHeight),a=-t.scrollLeft+ek(r),s=-t.scrollTop,"rtl"===ex(n).direction&&(a+=T(r.clientWidth,n.clientWidth)-i),o={width:i,height:l,x:a,y:s}}else if(el(t)){let e,r,i,l,a,s;r=(e=eS(t,!0,"fixed"===n)).top+t.clientTop,i=e.left+t.clientLeft,l=ej(t),a=t.clientWidth*l.x,s=t.clientHeight*l.y,o={width:a,height:s,x:i*l.x,y:r*l.y}}else{let n=eP(e);o={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return U(o)}function eO(e){return"static"===ex(e).position}function eA(e,t){if(!ea(e)||"fixed"===ex(e).position)return null;if(t)return t(e);let n=e.offsetParent;return eo(e)===n&&(n=n.ownerDocument.body),n}function eD(e,t){var n;let r=er(e);if(ec(e))return r;if(!ea(e)){let t=ey(e);for(;t&&!eg(t);){if(el(t)&&!eO(t))return t;t=ey(t)}return r}let o=eA(e,t);for(;o&&(n=o,/^(table|td|th)$/.test(en(n)))&&eO(o);)o=eA(o,t);return o&&eg(o)&&eO(o)&&!eh(o)?r:o||function(e){let t=ey(e);for(;ea(t)&&!eg(t);){if(eh(t))return t;if(ec(t))break;t=ey(t)}return null}(e)||r}let eI=async function(e){let t=this.getOffsetParent||eD,n=this.getDimensions,r=await n(e.floating);return{reference:function(e,t,n){let r=ea(t),o=eo(t),i="fixed"===n,l=eS(e,!0,i,t),a={scrollLeft:0,scrollTop:0},s=A(0);if((r||!i)&&(("body"!==en(t)||eu(o))&&(a=ev(t)),r)){let e=eS(t,!0,i,t);s.x=e.x+t.clientLeft,s.y=e.y+t.clientTop}!r&&o&&(s.x=ek(o));let u=!o||r||i?A(0):eT(o,a);return{x:l.left+a.scrollLeft-s.x-u.x,y:l.top+a.scrollTop-s.y-u.y,width:l.width,height:l.height}}(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}},eL={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:n,offsetParent:r,strategy:o}=e,i="fixed"===o,l=eo(r),a=!!t&&ec(t.floating);if(r===l||a&&i)return n;let s={scrollLeft:0,scrollTop:0},u=A(1),c=A(0),d=ea(r);if((d||!i)&&(("body"!==en(r)||eu(l))&&(s=ev(r)),d)){let e=eS(r);u=ej(r),c.x=e.x+r.clientLeft,c.y=e.y+r.clientTop}let f=!l||d||i?A(0):eT(l,s);return{width:n.width*u.x,height:n.height*u.y,x:n.x*u.x-s.scrollLeft*u.x+c.x+f.x,y:n.y*u.y-s.scrollTop*u.y+c.y+f.y}},getDocumentElement:eo,getClippingRect:function(e){let{element:t,boundary:n,rootBoundary:r,strategy:o}=e,i=[..."clippingAncestors"===n?ec(t)?[]:function(e,t){let n=t.get(e);if(n)return n;let r=ew(e,[],!1).filter(e=>el(e)&&"body"!==en(e)),o=null,i="fixed"===ex(e).position,l=i?ey(e):e;for(;el(l)&&!eg(l);){let e=ex(l),t=eh(l),n=o?o.position:i?"fixed":"";t||"fixed"!==n&&("absolute"!==n||"static"!==e.position)?o=e:r=r.filter(e=>e!==l),l=ey(l)}return t.set(e,r),r}(t,this._c):[].concat(n),r],l=eM(t,i[0],o),a=l.top,s=l.right,u=l.bottom,c=l.left;for(let e=1;e<i.length;e++){let n=eM(t,i[e],o);a=T(n.top,a),s=k(n.right,s),u=k(n.bottom,u),c=T(n.left,c)}return{width:s-c,height:u-a,x:c,y:a}},getOffsetParent:eD,getElementRects:eI,getClientRects:function(e){return e.getClientRects?Array.from(e.getClientRects()):[]},getDimensions:function(e){let{width:t,height:n}=eC(e);return{width:t,height:n}},getScale:ej,isElement:el,isRTL:function(e){return"rtl"===ex(e).direction}};function eN(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}let e_=e=>({name:"arrow",options:e,async fn(t){let{x:n,y:r,placement:o,rects:i,platform:l,elements:a,middlewareData:s}=t,{element:u,padding:c=0}=I(e,t)||{};if(null==u)return{};let d=$(c),f={x:n,y:r},p=_(H(o)),h=F(p),m=await l.getDimensions(u),g="y"===p,x=g?"clientHeight":"clientWidth",v=i.reference[h]+i.reference[p]-f[p]-i.floating[h],y=f[p]-i.reference[p],w=await (null==l.getOffsetParent?void 0:l.getOffsetParent(u)),b=w?w[x]:0;b&&await (null==l.isElement?void 0:l.isElement(w))||(b=a.floating[x]||i.floating[h]);let C=b/2-m[h]/2-1,R=k(d[g?"top":"left"],C),j=k(d[g?"bottom":"right"],C),E=b-m[h]-j,P=b/2-m[h]/2+(v/2-y/2),S=T(R,k(P,E)),M=!s.arrow&&null!=N(o)&&P!==S&&i.reference[h]/2-(P<R?R:j)-m[h]/2<0,O=M?P<R?P-R:P-E:0;return{[p]:f[p]+O,data:{[p]:S,centerOffset:P-S-O,...M&&{alignmentOffset:O}},reset:M}}});var eF=e.i(399531),eH="u">typeof document?r.useLayoutEffect:function(){};function ez(e,t){let n,r,o;if(e===t)return!0;if(typeof e!=typeof t)return!1;if("function"==typeof e&&e.toString()===t.toString())return!0;if(e&&t&&"object"==typeof e){if(Array.isArray(e)){if((n=e.length)!==t.length)return!1;for(r=n;0!=r--;)if(!ez(e[r],t[r]))return!1;return!0}if((n=(o=Object.keys(e)).length)!==Object.keys(t).length)return!1;for(r=n;0!=r--;)if(!({}).hasOwnProperty.call(t,o[r]))return!1;for(r=n;0!=r--;){let n=o[r];if(("_owner"!==n||!e.$$typeof)&&!ez(e[n],t[n]))return!1}return!0}return e!=e&&t!=t}function eB(e){return"u"<typeof window?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function eK(e,t){let n=eB(e);return Math.round(t*n)/n}function eG(e){let t=r.useRef(e);return eH(()=>{t.current=e}),t}var eV=Object.defineProperty,eW=r.forwardRef(eV(function(e,t){let{children:r,width:o=10,height:i=5,...l}=e;return(0,n.jsx)(s.Primitive.svg,{...l,ref:t,width:o,height:i,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?r:(0,n.jsx)("polygon",{points:"0,0 30,0 15,10"})})},"name",{value:"Arrow",configurable:!0})),e$=e.i(232253),eU=e.i(44532);function eX(e){let[t,n]=r.useState(void 0);return(0,eU.useLayoutEffect)(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{let r,o;if(!Array.isArray(t)||!t.length)return;let i=t[0];if("borderBoxSize"in i){let e=i.borderBoxSize,t=Array.isArray(e)?e[0]:e;r=t.inlineSize,o=t.blockSize}else r=e.offsetWidth,o=e.offsetHeight;n({width:r,height:o})});return t.observe(e,{box:"border-box"}),()=>t.unobserve(e)}n(void 0)},[e]),t}(0,Object.defineProperty)(eX,"name",{value:"useSize",configurable:!0});var eY=Object.defineProperty,eq=(e,t)=>eY(e,"name",{value:t,configurable:!0}),eJ="Popper",[eZ,eQ]=(0,l.createContextScope)(eJ),[e0,e1]=eZ(eJ),e2=eq(e=>{let{__scopePopper:t,children:o}=e,[i,l]=r.useState(null),[a,s]=r.useState(void 0);return(0,n.jsx)(e0,{scope:t,anchor:i,onAnchorChange:l,placementState:a,setPlacementState:s,children:o})},"Popper"),e5=r.forwardRef(eq(function(e,t){let{__scopePopper:o,virtualRef:l,...a}=e,u=e1("PopperAnchor",o),c=r.useRef(null),d=u.onAnchorChange,f=r.useCallback(e=>{c.current=e,e&&d(e)},[d]),p=(0,i.useComposedRefs)(t,f),h=r.useRef(null);r.useEffect(()=>{if(!l)return;let e=h.current;h.current=l.current,e!==h.current&&d(h.current)});let m=u.placementState&&tn(u.placementState),g=m?.[0],x=m?.[1];return l?null:(0,n.jsx)(s.Primitive.div,{"data-radix-popper-side":g,"data-radix-popper-align":x,...a,ref:p})},"PopperAnchor")),e3="PopperContent",[e7,e4]=eZ(e3),e9=r.forwardRef(eq(function(e,t){var o,l,a,u,c,d,f,p,h,m,g,x,v;let y,w,b,C,R,j,{__scopePopper:E,side:P="bottom",sideOffset:S=0,align:M="center",alignOffset:A=0,arrowPadding:D=0,avoidCollisions:$=!0,collisionBoundary:U=[],collisionPadding:X=0,sticky:Y="partial",hideWhenDetached:et=!1,updatePositionStrategy:en="optimized",onPlaced:ei,...el}=e,ea=e1(e3,E),[es,eu]=r.useState(null),ec=(0,i.useComposedRefs)(t,eu),[ed,ef]=r.useState(null),ep=eX(ed),eh=ep?.width??0,em=ep?.height??0,eg="number"==typeof X?X:{top:0,right:0,bottom:0,left:0,...X},ex=Array.isArray(U)?U:[U],ev=ex.length>0,ey={padding:eg,boundary:ex.filter(te),altBoundary:ev},{refs:eb,floatingStyles:eC,placement:ej,isPositioned:eE,middlewareData:eP}=function(e){void 0===e&&(e={});let{placement:t="bottom",strategy:n="absolute",middleware:o=[],platform:i,elements:{reference:l,floating:a}={},transform:s=!0,whileElementsMounted:u,open:c}=e,[d,f]=r.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[p,h]=r.useState(o);ez(p,o)||h(o);let[m,g]=r.useState(null),[x,v]=r.useState(null),y=r.useCallback(e=>{e!==R.current&&(R.current=e,g(e))},[]),w=r.useCallback(e=>{e!==j.current&&(j.current=e,v(e))},[]),b=l||m,C=a||x,R=r.useRef(null),j=r.useRef(null),E=r.useRef(d),P=null!=u,S=eG(u),k=eG(i),T=eG(c),M=r.useCallback(()=>{var e,r;let o,i,l;if(!R.current||!j.current)return;let a={placement:t,strategy:n,middleware:p};k.current&&(a.platform=k.current),(e=R.current,r=j.current,o=new Map,i=null!=a?a:{},l={...eL,...i.platform,_c:o},q(e,r,{...i,platform:l})).then(e=>{let t={...e,isPositioned:!1!==T.current};O.current&&!ez(E.current,t)&&(E.current=t,eF.flushSync(()=>{f(t)}))})},[p,t,n,k,T]);eH(()=>{!1===c&&E.current.isPositioned&&(E.current.isPositioned=!1,f(e=>({...e,isPositioned:!1})))},[c]);let O=r.useRef(!1);eH(()=>(O.current=!0,()=>{O.current=!1}),[]),eH(()=>{if(b&&(R.current=b),C&&(j.current=C),b&&C){if(S.current)return S.current(b,C,M);M()}},[b,C,M,S,P]);let A=r.useMemo(()=>({reference:R,floating:j,setReference:y,setFloating:w}),[y,w]),D=r.useMemo(()=>({reference:b,floating:C}),[b,C]),I=r.useMemo(()=>{let e={position:n,left:0,top:0};if(!D.floating)return e;let t=eK(D.floating,d.x),r=eK(D.floating,d.y);return s?{...e,transform:"translate("+t+"px, "+r+"px)",...eB(D.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:t,top:r}},[n,s,D.floating,d.x,d.y]);return r.useMemo(()=>({...d,update:M,refs:A,elements:D,floatingStyles:I}),[d,M,A,D,I])}({strategy:"fixed",placement:P+("center"!==M?"-"+M:""),whileElementsMounted:eq((...e)=>(function(e,t,n,r){let o;void 0===r&&(r={});let{ancestorScroll:i=!0,ancestorResize:l=!0,elementResize:a="function"==typeof ResizeObserver,layoutShift:s="function"==typeof IntersectionObserver,animationFrame:u=!1}=r,c=eR(e),d=i||l?[...c?ew(c):[],...t?ew(t):[]]:[];d.forEach(e=>{i&&e.addEventListener("scroll",n),l&&e.addEventListener("resize",n)});let f=c&&s?function(e,t,n){let r,o=null,i=eo(e);function l(){var e;clearTimeout(r),null==(e=o)||e.disconnect(),o=null}function a(n,s){void 0===n&&(n=!1),void 0===s&&(s=1),l();let u=e.getBoundingClientRect(),{left:c,top:d,width:f,height:p}=u;if(n||t(),!f||!p)return;let h={rootMargin:-O(d)+"px "+-O(i.clientWidth-(c+f))+"px "+-O(i.clientHeight-(d+p))+"px "+-O(c)+"px",threshold:T(0,k(1,s))||1},m=!0;function g(t){let n=t[0].intersectionRatio;if(!eN(u,e.getBoundingClientRect()))return a();if(n!==s){if(!m)return a();n?a(!1,n):r=setTimeout(()=>{a(!1,1e-7)},1e3)}m=!1}try{o=new IntersectionObserver(g,{...h,root:i.ownerDocument})}catch(e){o=new IntersectionObserver(g,h)}o.observe(e)}let s=er(e),u=()=>a(n);return s.addEventListener("resize",u),a(!0),()=>{s.removeEventListener("resize",u),l()}}(c,n,l):null,p=-1,h=null;a&&(h=new ResizeObserver(e=>{let[r]=e;r&&r.target===c&&h&&t&&(h.unobserve(t),cancelAnimationFrame(p),p=requestAnimationFrame(()=>{var e;null==(e=h)||e.observe(t)})),n()}),c&&!u&&h.observe(c),t&&h.observe(t));let m=u?eS(e):null;return u&&function t(){let r=eS(e);m&&!eN(m,r)&&n(),m=r,o=requestAnimationFrame(t)}(),n(),()=>{var e;d.forEach(e=>{i&&e.removeEventListener("scroll",n),l&&e.removeEventListener("resize",n)}),null==f||f(),null==(e=h)||e.disconnect(),h=null,u&&cancelAnimationFrame(o)}})(...e,{animationFrame:"always"===en}),"whileElementsMounted"),elements:{reference:ea.anchor},middleware:[{name:(y={name:"offset",options:l=o={mainAxis:S+em,alignmentAxis:A},async fn(e){var t,n;let{x:r,y:o,placement:i,middlewareData:a}=e,s=await ee(e,l);return i===(null==(t=a.offset)?void 0:t.placement)&&null!=(n=a.arrow)&&n.alignmentOffset?{}:{x:r+s.x,y:o+s.y,data:{...s,placement:i}}}}).name,fn:y.fn,options:[o,void 0]},$&&{name:(w={name:"shift",options:c=u={mainAxis:!0,crossAxis:!1,limiter:"partial"===Y?{fn:(a=void 0,{options:a={},fn(e){var t,n,r,o;let{x:i,y:l,placement:s,rects:u,middlewareData:c}=e,{offset:d=0,mainAxis:f=!0,crossAxis:p=!0}=I(a,e),h={x:i,y:l},m=H(s),g=_(m),x=h[g],v=h[m],y=I(d,e),w="number"==typeof y?{mainAxis:y,crossAxis:0}:{mainAxis:null!=(t=y.mainAxis)?t:0,crossAxis:null!=(n=y.crossAxis)?n:0};if(f){let e="y"===g?"height":"width",t=u.reference[g]-u.floating[e]+w.mainAxis,n=u.reference[g]+u.reference[e]-w.mainAxis;x<t?x=t:x>n&&(x=n)}if(p){let e="y"===g?"width":"height",t=Q.has(L(s)),n=u.reference[m]-u.floating[e]+(t&&(null==(r=c.offset)?void 0:r[m])||0)+(t?0:w.crossAxis),i=u.reference[m]+u.reference[e]+(t?0:(null==(o=c.offset)?void 0:o[m])||0)-(t?w.crossAxis:0);v<n?v=n:v>i&&(v=i)}return{[g]:x,[m]:v}}}).fn,options:[void 0,void 0]}:void 0,...ey},async fn(e){let{x:t,y:n,placement:r,platform:o}=e,{mainAxis:i=!0,crossAxis:l=!1,limiter:a={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...s}=I(c,e),u={x:t,y:n},d=await o.detectOverflow(e,s),f=H(r),p=_(f),h=u[p],m=u[f],g=(e,t)=>T(t+d["y"===e?"top":"left"],k(t,t-d["y"===e?"bottom":"right"]));i&&(h=g(p,h)),l&&(m=g(f,m));let x=a.fn({...e,[p]:h,[f]:m});return{...x,data:{x:x.x-t,y:x.y-n,enabled:{[p]:i,[f]:l}}}}}).name,fn:w.fn,options:[u,void 0]},$&&{name:(b={name:"flip",options:f=d={...ey},async fn(e){var t,n,r,o,i,l,a,s;let u,c,d,{placement:p,middlewareData:h,rects:m,initialPlacement:g,platform:x,elements:v}=e,{mainAxis:y=!0,crossAxis:w=!0,fallbackPlacements:b,fallbackStrategy:C="bestFit",fallbackAxisSideDirection:R="none",flipAlignment:j=!0,...E}=I(f,e);if(null!=(t=h.arrow)&&t.alignmentOffset)return{};let P=L(p),S=H(g),k=L(g)===g,T=await (null==x.isRTL?void 0:x.isRTL(v.floating)),M=b||(k||!j?[W(g)]:(u=W(g),[z(g),u,z(u)])),O="none"!==R;!b&&O&&M.push(...(c=N(g),d=function(e,t,n){switch(e){case"top":case"bottom":if(n)return t?K:B;return t?B:K;case"left":case"right":return t?G:V;default:return[]}}(L(g),"start"===R,T),c&&(d=d.map(e=>e+"-"+c),j&&(d=d.concat(d.map(z)))),d));let A=[g,...M],D=await x.detectOverflow(e,E),$=[],U=(null==(n=h.flip)?void 0:n.overflows)||[];if(y&&$.push(D[P]),w){let e,t,n,r,o=(l=p,a=m,void 0===(s=T)&&(s=!1),e=N(l),n=F(t=_(H(l))),r="x"===t?e===(s?"end":"start")?"right":"left":"start"===e?"bottom":"top",a.reference[n]>a.floating[n]&&(r=W(r)),[r,W(r)]);$.push(D[o[0]],D[o[1]])}if(U=[...U,{placement:p,overflows:$}],!$.every(e=>e<=0)){let e=((null==(r=h.flip)?void 0:r.index)||0)+1,t=A[e];if(t&&("alignment"!==w||S===H(t)||U.every(e=>H(e.placement)!==S||e.overflows[0]>0)))return{data:{index:e,overflows:U},reset:{placement:t}};let n=null==(o=U.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0])?void 0:o.placement;if(!n)switch(C){case"bestFit":{let e=null==(i=U.filter(e=>{if(O){let t=H(e.placement);return t===S||"y"===t}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0])?void 0:i[0];e&&(n=e);break}case"initialPlacement":n=g}if(p!==n)return{reset:{placement:n}}}return{}}}).name,fn:b.fn,options:[d,void 0]},{name:(C={name:"size",options:h=p={...ey,apply:eq(({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:o,height:i}=t.reference,l=e.floating.style;l.setProperty("--radix-popper-available-width",`${n}px`),l.setProperty("--radix-popper-available-height",`${r}px`),l.setProperty("--radix-popper-anchor-width",`${o}px`),l.setProperty("--radix-popper-anchor-height",`${i}px`)},"apply")},async fn(e){let t,n,{placement:r,rects:o,platform:i,elements:l}=e,{apply:a=()=>{},...s}=I(h,e),u=await i.detectOverflow(e,s),c=L(r),d=N(r),f="y"===H(r),{width:p,height:m}=o.floating;"top"===c||"bottom"===c?(t=c,n=d===(await (null==i.isRTL?void 0:i.isRTL(l.floating))?"start":"end")?"left":"right"):(n=c,t="end"===d?"top":"bottom");let g=m-u.top-u.bottom,x=p-u.left-u.right,v=k(m-u[t],g),y=k(p-u[n],x),w=e.middlewareData.shift,b=!w,C=v,R=y;null!=w&&w.enabled.x&&(R=x),null!=w&&w.enabled.y&&(C=g),b&&!d&&(f?R=p-2*T(u.left,u.right):C=m-2*T(u.top,u.bottom)),await a({...e,availableWidth:R,availableHeight:C});let j=await i.getDimensions(l.floating);return p!==j.width||m!==j.height?{reset:{rects:!0}}:{}}}).name,fn:C.fn,options:[p,void 0]},ed&&{name:(R={name:"arrow",options:g=m={element:ed,padding:D},fn(e){let{element:t,padding:n}="function"==typeof g?g(e):g;return t&&({}).hasOwnProperty.call(t,"current")?null!=t.current?e_({element:t.current,padding:n}).fn(e):{}:t?e_({element:t,padding:n}).fn(e):{}}}).name,fn:R.fn,options:[m,void 0]},tt({arrowWidth:eh,arrowHeight:em}),et&&{name:(j={name:"hide",options:v=x={strategy:"referenceHidden",...ey,boundary:ev?ey.boundary:void 0},async fn(e){let{rects:t,platform:n}=e,{strategy:r="referenceHidden",...o}=I(v,e);switch(r){case"referenceHidden":{let r=J(await n.detectOverflow(e,{...o,elementContext:"reference"}),t.reference);return{data:{referenceHiddenOffsets:r,referenceHidden:Z(r)}}}case"escaped":{let r=J(await n.detectOverflow(e,{...o,altBoundary:!0}),t.floating);return{data:{escapedOffsets:r,escaped:Z(r)}}}default:return{}}}}).name,fn:j.fn,options:[x,void 0]}]}),ek=ea.setPlacementState;(0,eU.useLayoutEffect)(()=>(ek(ej),()=>{ek(void 0)}),[ej,ek]);let[eT,eM]=tn(ej),eO=(0,e$.useCallbackRef)(ei);(0,eU.useLayoutEffect)(()=>{eE&&eO?.()},[eE,eO]);let eA=eP.arrow?.x,eD=eP.arrow?.y,eI=eP.arrow?.centerOffset!==0,[eV,eW]=r.useState();return(0,eU.useLayoutEffect)(()=>{es&&eW(window.getComputedStyle(es).zIndex)},[es]),(0,n.jsx)("div",{ref:eb.setFloating,"data-radix-popper-content-wrapper":"",style:{...eC,transform:eE?eC.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:eV,"--radix-popper-transform-origin":[eP.transformOrigin?.x,eP.transformOrigin?.y].join(" "),...eP.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:(0,n.jsx)(e7,{scope:E,placedSide:eT,placedAlign:eM,onArrowChange:ef,arrowX:eA,arrowY:eD,shouldHideArrow:eI,children:(0,n.jsx)(s.Primitive.div,{"data-side":eT,"data-align":eM,...el,ref:ec,style:{...el.style,animation:eE?el.style?.animation:"none"}})})})},"PopperContent")),e8={top:"bottom",right:"left",bottom:"top",left:"right"},e6=r.forwardRef(eq(function(e,t){let{__scopePopper:r,...o}=e,i=e4("PopperArrow",r),l=e8[i.placedSide];return(0,n.jsx)("span",{ref:i.onArrowChange,style:{position:"absolute",left:i.arrowX,top:i.arrowY,[l]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[i.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[i.placedSide],visibility:i.shouldHideArrow?"hidden":void 0},children:(0,n.jsx)(eW,{...o,ref:t,style:{...o.style,display:"block"}})})},"PopperArrow"));function te(e){return null!==e}eq(te,"isNotNull");var tt=eq(e=>({name:"transformOrigin",options:e,fn(t){let{placement:n,rects:r,middlewareData:o}=t,i=o.arrow?.centerOffset!==0,l=i?0:e.arrowWidth,a=i?0:e.arrowHeight,[s,u]=tn(n),c={start:"0%",center:"50%",end:"100%"}[u],d=(o.arrow?.x??0)+l/2,f=(o.arrow?.y??0)+a/2,p="",h="";return"bottom"===s?(p=i?c:`${d}px`,h=`${-a}px`):"top"===s?(p=i?c:`${d}px`,h=`${r.floating.height+a}px`):"right"===s?(p=`${-a}px`,h=i?c:`${f}px`):"left"===s&&(p=`${r.floating.width+a}px`,h=i?c:`${f}px`),{data:{x:p,y:h}}}}),"transformOrigin");function tn(e){let[t,n="center"]=e.split("-");return[t,n]}eq(tn,"getSideAndAlignFromPlacement"),e.s(["Anchor",0,e5,"Arrow",0,e6,"Content",0,e9,"Root",0,e2,"createPopperScope",0,eQ],212534);var tr=e.i(21738),to=e.i(997611),ti=Object.defineProperty,tl=(e,t)=>ti(e,"name",{value:t,configurable:!0}),ta=!1;function ts(){let[e,t]=r.useState(ta);return r.useEffect(()=>{ta||(ta=!0,t(!0))},[]),e}tl(ts,"useIsHydrated");var tu=r[" useSyncExternalStore ".trim().toString()];function tc(){return()=>{}}function td(){return tu(tc,()=>!0,()=>!1)}tl(tc,"subscribe"),tl(td,"useIsHydratedModern");var tf="function"==typeof tu?td:ts,tp=Object.defineProperty,th=(e,t)=>tp(e,"name",{value:t,configurable:!0}),tm="rovingFocusGroup.onEntryFocus",tg={bubbles:!1,cancelable:!0},tx="RovingFocusGroup",[tv,ty,tw]=f(tx),[tb,tC]=(0,l.createContextScope)(tx,[tw]),[tR,tj]=tb(tx),tE=r.forwardRef(th(function(e,t){return(0,n.jsx)(tv.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,n.jsx)(tv.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,n.jsx)(tP,{...e,ref:t})})})},"RovingFocusGroup")),tP=r.forwardRef(th(function(e,t){let{__scopeRovingFocusGroup:l,orientation:u,loop:c=!1,dir:d,currentTabStopId:f,defaultCurrentTabStopId:p,onCurrentTabStopIdChange:h,onEntryFocus:m,preventScrollOnEntryFocus:g=!1,...x}=e,v=r.useRef(null),y=(0,i.useComposedRefs)(t,v),w=(0,C.useDirection)(d),[b,R]=(0,a.useControllableState)({prop:f,defaultProp:p??null,onChange:h,caller:tx}),[j,E]=r.useState(!1),P=(0,e$.useCallbackRef)(m),S=ty(l),k=r.useRef(!1),[T,M]=r.useState(0);return r.useEffect(()=>{let e=v.current;if(e)return e.addEventListener(tm,P),()=>e.removeEventListener(tm,P)},[P]),(0,n.jsx)(tR,{scope:l,orientation:u,dir:w,loop:c,currentTabStopId:b,onItemFocus:r.useCallback(e=>R(e),[R]),onItemShiftTab:r.useCallback(()=>E(!0),[]),onFocusableItemAdd:r.useCallback(()=>M(e=>e+1),[]),onFocusableItemRemove:r.useCallback(()=>M(e=>e-1),[]),children:(0,n.jsx)(s.Primitive.div,{tabIndex:j||0===T?-1:0,"data-orientation":u,...x,ref:y,style:{outline:"none",...e.style},onMouseDown:(0,o.composeEventHandlers)(e.onMouseDown,()=>{k.current=!0}),onFocus:(0,o.composeEventHandlers)(e.onFocus,e=>{let t=!k.current;if(e.target===e.currentTarget&&t&&!j){let t=new CustomEvent(tm,tg);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=S().filter(e=>e.focusable);tO([e.find(e=>e.active),e.find(e=>e.id===b),...e].filter(Boolean).map(e=>e.ref.current),g)}}k.current=!1}),onBlur:(0,o.composeEventHandlers)(e.onBlur,()=>E(!1))})})},"RovingFocusGroupImpl")),tS=r.forwardRef(th(function(e,t){let{__scopeRovingFocusGroup:i,focusable:l=!0,active:a=!1,tabStopId:u,children:c,...d}=e,f=(0,P.useId)(),p=u||f,h=tj("RovingFocusGroupItem",i),m=h.currentTabStopId===p,g=ty(i),{onFocusableItemAdd:x,onFocusableItemRemove:v,currentTabStopId:y}=h,w=tf();return(0,eU.useLayoutEffect)(()=>{if(w&&l)return x(),()=>v()},[w,l,x,v]),r.useEffect(()=>{if(!w&&l)return x(),()=>v()},[w,l,x,v]),(0,n.jsx)(tv.ItemSlot,{scope:i,id:p,focusable:l,active:a,children:(0,n.jsx)(s.Primitive.span,{tabIndex:m?0:-1,"data-orientation":h.orientation,...d,ref:t,onMouseDown:(0,o.composeEventHandlers)(e.onMouseDown,e=>{l?h.onItemFocus(p):e.preventDefault()}),onFocus:(0,o.composeEventHandlers)(e.onFocus,()=>h.onItemFocus(p)),onKeyDown:(0,o.composeEventHandlers)(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void h.onItemShiftTab();if(e.target!==e.currentTarget)return;let t=tM(e,h.orientation,h.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let n=g().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)n.reverse();else if("prev"===t||"next"===t){"prev"===t&&n.reverse();let r=n.indexOf(e.currentTarget);n=h.loop?tA(n,r+1):n.slice(r+1)}setTimeout(()=>tO(n))}}),children:"function"==typeof c?c({isCurrentTabStop:m,hasTabStop:null!=y}):c})})},"RovingFocusGroupItem")),tk={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function tT(e,t){return"rtl"!==t?e:"ArrowLeft"===e?"ArrowRight":"ArrowRight"===e?"ArrowLeft":e}function tM(e,t,n){let r=tT(e.key,n);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(r))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(r)))return tk[r]}function tO(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function tA(e,t){return e.map((n,r)=>e[(t+r)%e.length])}th(tT,"getDirectionAwareKey"),th(tM,"getFocusIntent"),th(tO,"focusFirst"),th(tA,"wrapArray"),e.s(["Item",0,tS,"Root",0,tE,"createRovingFocusGroupScope",0,tC],360065);var tD=e.i(73772),tI=e.i(715588),tL=Object.defineProperty,tN=(e,t)=>tL(e,"name",{value:t,configurable:!0}),t_=["Enter"," "],tF=["ArrowUp","PageDown","End"],tH=["ArrowDown","PageUp","Home",...tF],tz={ltr:[...t_,"ArrowRight"],rtl:[...t_,"ArrowLeft"]},tB={ltr:["ArrowLeft"],rtl:["ArrowRight"]},tK="Menu",[tG,tV,tW]=f(tK),[t$,tU]=(0,l.createContextScope)(tK,[tW,eQ,tC]),tX=eQ(),tY=tC(),[tq,tJ]=t$(tK),[tZ,tQ]=t$(tK),t0=tN(e=>{let{__scopeMenu:t,open:o=!1,children:i,dir:l,onOpenChange:a,modal:s=!0}=e,u=tX(t),[c,d]=r.useState(null),f=r.useRef(!1),p=(0,e$.useCallbackRef)(a),h=(0,C.useDirection)(l);return r.useEffect(()=>{let e=tN(()=>{f.current=!0,document.addEventListener("pointerdown",t,{capture:!0,once:!0}),document.addEventListener("pointermove",t,{capture:!0,once:!0})},"handleKeyDown"),t=tN(()=>f.current=!1,"handlePointer");return document.addEventListener("keydown",e,{capture:!0}),()=>{document.removeEventListener("keydown",e,{capture:!0}),document.removeEventListener("pointerdown",t,{capture:!0}),document.removeEventListener("pointermove",t,{capture:!0})}},[]),r.useEffect(()=>{if(!o)return;let e=tN(()=>p(!1),"handleBlur");return window.addEventListener("blur",e),()=>window.removeEventListener("blur",e)},[o,p]),(0,n.jsx)(e2,{...u,children:(0,n.jsx)(tq,{scope:t,open:o,onOpenChange:p,content:c,onContentChange:d,children:(0,n.jsx)(tZ,{scope:t,onClose:r.useCallback(()=>p(!1),[p]),isUsingKeyboardRef:f,dir:h,modal:s,children:i})})})},"Menu"),t1=r.forwardRef(tN(function(e,t){let{__scopeMenu:r,...o}=e,i=tX(r);return(0,n.jsx)(e5,{...i,...o,ref:t})},"MenuAnchor")),t2="MenuPortal",[t5,t3]=t$(t2,{forceMount:void 0}),t7=tN(e=>{let{__scopeMenu:t,forceMount:r,children:o,container:i}=e,l=tJ(t2,t);return(0,n.jsx)(t5,{scope:t,forceMount:r,children:(0,n.jsx)(to.Presence,{present:r||l.open,children:(0,n.jsx)(tr.Portal,{asChild:!0,container:i,children:o})})})},"MenuPortal"),t4="MenuContent",[t9,t8]=t$(t4),t6=r.forwardRef(tN(function(e,t){let r=t3(t4,e.__scopeMenu),{forceMount:o=r.forceMount,...i}=e,l=tJ(t4,e.__scopeMenu),a=tQ(t4,e.__scopeMenu);return(0,n.jsx)(tG.Provider,{scope:e.__scopeMenu,children:(0,n.jsx)(to.Presence,{present:o||l.open,children:(0,n.jsx)(tG.Slot,{scope:e.__scopeMenu,children:a.modal?(0,n.jsx)(ne,{...i,ref:t}):(0,n.jsx)(nt,{...i,ref:t})})})})},"MenuContent")),ne=r.forwardRef(tN(function(e,t){let l=tJ(t4,e.__scopeMenu),a=r.useRef(null),s=(0,i.useComposedRefs)(t,a);return r.useEffect(()=>{let e=a.current;if(e)return(0,tD.hideOthers)(e)},[]),(0,n.jsx)(nr,{...e,ref:s,trapFocus:l.open,disableOutsidePointerEvents:l.open,disableOutsideScroll:!0,onFocusOutside:(0,o.composeEventHandlers)(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>l.onOpenChange(!1)})},"MenuRootContentModal")),nt=r.forwardRef(tN(function(e,t){let r=tJ(t4,e.__scopeMenu);return(0,n.jsx)(nr,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>r.onOpenChange(!1)})},"MenuRootContentNonModal")),nn=(0,u.createSlot)("MenuContent.ScrollLock"),nr=r.forwardRef(tN(function(e,t){let{__scopeMenu:l,loop:a=!1,trapFocus:s,onOpenAutoFocus:u,onCloseAutoFocus:c,disableOutsidePointerEvents:d,onEntryFocus:f,onEscapeKeyDown:p,onPointerDownOutside:h,onFocusOutside:m,onInteractOutside:g,onDismiss:x,disableOutsideScroll:v,...y}=e,w=tJ(t4,l),b=tQ(t4,l),C=tX(l),P=tY(l),S=tV(l),[k,T]=r.useState(null),M=r.useRef(null),O=(0,i.useComposedRefs)(t,M,w.onContentChange),A=r.useRef(0),D=r.useRef(""),I=r.useRef(0),L=r.useRef(null),N=r.useRef("right"),_=r.useRef(0),F=v?tI.RemoveScroll:r.Fragment,H=tN(e=>{let t=D.current+e,n=S().filter(e=>!e.disabled),r=document.activeElement,o=n.find(e=>e.ref.current===r)?.textValue,i=nM(n.map(e=>e.textValue),t,o),l=n.find(e=>e.textValue===i)?.ref.current;l&&setTimeout(()=>l.focus())},"handleTypeaheadSearch");r.useEffect(()=>()=>window.clearTimeout(A.current),[]),(0,j.useFocusGuards)();let z=r.useCallback(e=>N.current===L.current?.side&&nA(e,L.current?.area),[]);return(0,n.jsx)(t9,{scope:l,searchRef:D,onItemEnter:r.useCallback(e=>{z(e)&&e.preventDefault()},[z]),onItemLeave:r.useCallback(e=>{z(e)||(M.current?.focus(),T(null))},[z]),onTriggerLeave:r.useCallback(e=>{z(e)&&e.preventDefault()},[z]),pointerGraceTimerRef:I,onPointerGraceIntentChange:r.useCallback(e=>{L.current=e},[]),children:(0,n.jsx)(F,{...v?{as:nn,allowPinchZoom:!0}:void 0,children:(0,n.jsx)(E.FocusScope,{asChild:!0,trapped:s,onMountAutoFocus:(0,o.composeEventHandlers)(u,e=>{e.preventDefault(),M.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:c,children:(0,n.jsx)(R.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:d,onEscapeKeyDown:p,onPointerDownOutside:h,onFocusOutside:m,onInteractOutside:g,onDismiss:x,children:(0,n.jsx)(tE,{asChild:!0,...P,dir:b.dir,orientation:"vertical",loop:a,currentTabStopId:k,onCurrentTabStopIdChange:T,onEntryFocus:(0,o.composeEventHandlers)(f,e=>{b.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,n.jsx)(e9,{role:"menu","aria-orientation":"vertical","data-state":nE(w.open),"data-radix-menu-content":"",dir:b.dir,...C,...y,ref:O,style:{outline:"none",...y.style},onKeyDown:(0,o.composeEventHandlers)(y.onKeyDown,e=>{let t=e.target.closest("[data-radix-menu-content]")===e.currentTarget,n=e.ctrlKey||e.altKey||e.metaKey,r=1===e.key.length;t&&("Tab"===e.key&&e.preventDefault(),!n&&r&&H(e.key));let o=M.current;if(e.target!==o||!tH.includes(e.key))return;e.preventDefault();let i=S().filter(e=>!e.disabled).map(e=>e.ref.current);tF.includes(e.key)&&i.reverse(),nk(i)}),onBlur:(0,o.composeEventHandlers)(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(A.current),D.current="")}),onPointerMove:(0,o.composeEventHandlers)(e.onPointerMove,nD(e=>{let t=e.target,n=_.current!==e.clientX;e.currentTarget.contains(t)&&n&&(N.current=e.clientX>_.current?"right":"left",_.current=e.clientX)}))})})})})})})},"MenuContentImpl")),no=r.forwardRef(tN(function(e,t){let{__scopeMenu:r,...o}=e;return(0,n.jsx)(s.Primitive.div,{role:"group",...o,ref:t})},"MenuGroup")),ni=r.forwardRef(tN(function(e,t){let{__scopeMenu:r,...o}=e;return(0,n.jsx)(s.Primitive.div,{...o,ref:t})},"MenuLabel")),nl="MenuItem",na="menu.itemSelect",ns=r.forwardRef(tN(function(e,t){let{disabled:l=!1,onSelect:a,...u}=e,c=r.useRef(null),d=tQ(nl,e.__scopeMenu),f=t8(nl,e.__scopeMenu),p=(0,i.useComposedRefs)(t,c),h=r.useRef(!1),m=tN(()=>{let e=c.current;if(!l&&e){let t=new CustomEvent(na,{bubbles:!0,cancelable:!0});e.addEventListener(na,e=>a?.(e),{once:!0}),(0,s.dispatchDiscreteCustomEvent)(e,t),t.defaultPrevented?h.current=!1:d.onClose()}},"handleSelect");return(0,n.jsx)(nu,{...u,ref:p,disabled:l,onClick:(0,o.composeEventHandlers)(e.onClick,m),onPointerDown:t=>{e.onPointerDown?.(t),h.current=!0},onPointerUp:(0,o.composeEventHandlers)(e.onPointerUp,e=>{h.current||e.currentTarget?.click()}),onKeyDown:(0,o.composeEventHandlers)(e.onKeyDown,e=>{l||e.target!==e.currentTarget||(""===f.searchRef.current||" "!==e.key)&&t_.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})},"MenuItem")),nu=r.forwardRef(tN(function(e,t){let{__scopeMenu:l,disabled:a=!1,textValue:u,...c}=e,d=t8(nl,l),f=tY(l),p=r.useRef(null),h=(0,i.useComposedRefs)(t,p),[m,g]=r.useState(!1),[x,v]=r.useState("");return r.useEffect(()=>{let e=p.current;e&&v((e.textContent??"").trim())},[c.children]),(0,n.jsx)(tG.ItemSlot,{scope:l,disabled:a,textValue:u??x,children:(0,n.jsx)(tS,{asChild:!0,...f,focusable:!a,children:(0,n.jsx)(s.Primitive.div,{role:"menuitem","data-highlighted":m?"":void 0,"aria-disabled":a||void 0,"data-disabled":a?"":void 0,...c,ref:h,onPointerMove:(0,o.composeEventHandlers)(e.onPointerMove,nD(e=>{a?d.onItemLeave(e):(d.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:(0,o.composeEventHandlers)(e.onPointerLeave,nD(e=>d.onItemLeave(e))),onFocus:(0,o.composeEventHandlers)(e.onFocus,()=>g(!0)),onBlur:(0,o.composeEventHandlers)(e.onBlur,()=>g(!1))})})})},"MenuItemImpl")),nc=r.forwardRef(tN(function(e,t){let{checked:r=!1,onCheckedChange:i,...l}=e;return(0,n.jsx)(nm,{scope:e.__scopeMenu,checked:r,children:(0,n.jsx)(ns,{role:"menuitemcheckbox","aria-checked":nP(r)?"mixed":r,...l,ref:t,"data-state":nS(r),onSelect:(0,o.composeEventHandlers)(l.onSelect,()=>i?.(!!nP(r)||!r),{checkForDefaultPrevented:!1})})})},"MenuCheckboxItem")),[nd,nf]=t$("MenuRadioGroup",{value:void 0,onValueChange:tN(()=>{},"onValueChange")}),np=r.forwardRef(tN(function(e,t){let{value:r,...i}=e,l=nf("MenuRadioItem",e.__scopeMenu),a=r===l.value;return(0,n.jsx)(nm,{scope:e.__scopeMenu,checked:a,children:(0,n.jsx)(ns,{role:"menuitemradio","aria-checked":a,...i,ref:t,"data-state":nS(a),onSelect:(0,o.composeEventHandlers)(i.onSelect,()=>l.onValueChange?.(r),{checkForDefaultPrevented:!1})})})},"MenuRadioItem")),nh="MenuItemIndicator",[nm,ng]=t$(nh,{checked:!1}),nx=r.forwardRef(tN(function(e,t){let{__scopeMenu:r,forceMount:o,...i}=e,l=ng(nh,r);return(0,n.jsx)(to.Presence,{present:o||nP(l.checked)||!0===l.checked,children:(0,n.jsx)(s.Primitive.span,{...i,ref:t,"data-state":nS(l.checked)})})},"MenuItemIndicator")),nv=r.forwardRef(tN(function(e,t){let{__scopeMenu:r,...o}=e;return(0,n.jsx)(s.Primitive.div,{role:"separator","aria-orientation":"horizontal",...o,ref:t})},"MenuSeparator")),ny="MenuSub",[nw,nb]=t$(ny),nC=(e=>{let{__scopeMenu:t,children:o,open:i=!1,onOpenChange:l}=e,a=tJ(ny,t),s=tX(t),[u,c]=r.useState(null),[d,f]=r.useState(null),p=(0,e$.useCallbackRef)(l);return r.useEffect(()=>(!1===a.open&&p(!1),()=>p(!1)),[a.open,p]),(0,n.jsx)(e2,{...s,children:(0,n.jsx)(tq,{scope:t,open:i,onOpenChange:p,content:d,onContentChange:f,children:(0,n.jsx)(nw,{scope:t,contentId:(0,P.useId)(),triggerId:(0,P.useId)(),trigger:u,onTriggerChange:c,children:o})})})},"MenuSubTrigger"),nR=r.forwardRef(tN(function(e,t){let l=tJ(nC,e.__scopeMenu),a=tQ(nC,e.__scopeMenu),s=nb(nC,e.__scopeMenu),u=t8(nC,e.__scopeMenu),c=r.useRef(null),{pointerGraceTimerRef:d,onPointerGraceIntentChange:f}=u,p={__scopeMenu:e.__scopeMenu},h=r.useCallback(()=>{c.current&&window.clearTimeout(c.current),c.current=null},[]);r.useEffect(()=>h,[h]),r.useEffect(()=>{let e=d.current;return()=>{window.clearTimeout(e),f(null)}},[d,f]);let m=(0,i.useComposedRefs)(t,s.onTriggerChange);return(0,n.jsx)(t1,{asChild:!0,...p,children:(0,n.jsx)(nu,{id:s.triggerId,"aria-haspopup":"menu","aria-expanded":l.open,"aria-controls":l.open?s.contentId:void 0,"data-state":nE(l.open),...e,ref:m,onClick:t=>{e.onClick?.(t),e.disabled||t.defaultPrevented||(t.currentTarget.focus(),l.open||l.onOpenChange(!0))},onPointerMove:(0,o.composeEventHandlers)(e.onPointerMove,nD(t=>{u.onItemEnter(t),!t.defaultPrevented&&(e.disabled||l.open||c.current||(u.onPointerGraceIntentChange(null),c.current=window.setTimeout(()=>{l.onOpenChange(!0),h()},100)))})),onPointerLeave:(0,o.composeEventHandlers)(e.onPointerLeave,nD(e=>{h();let t=l.content?.getBoundingClientRect();if(t){let n=l.content?.dataset.side,r="right"===n,o=t[r?"left":"right"],i=t[r?"right":"left"];u.onPointerGraceIntentChange({area:[{x:e.clientX+(r?-5:5),y:e.clientY},{x:o,y:t.top},{x:i,y:t.top},{x:i,y:t.bottom},{x:o,y:t.bottom}],side:n}),window.clearTimeout(d.current),d.current=window.setTimeout(()=>u.onPointerGraceIntentChange(null),300)}else{if(u.onTriggerLeave(e),e.defaultPrevented)return;u.onPointerGraceIntentChange(null)}})),onKeyDown:(0,o.composeEventHandlers)(e.onKeyDown,t=>{e.disabled||t.target!==t.currentTarget||(""===u.searchRef.current||" "!==t.key)&&tz[a.dir].includes(t.key)&&(l.onOpenChange(!0),l.content?.focus(),t.preventDefault())})})})},"MenuSubTrigger")),nj=r.forwardRef(tN(function(e,t){let l=t3(t4,e.__scopeMenu),{forceMount:a=l.forceMount,align:s="start",...u}=e,c=tJ(t4,e.__scopeMenu),d=tQ(t4,e.__scopeMenu),f=nb("MenuSubContent",e.__scopeMenu),p=r.useRef(null),h=(0,i.useComposedRefs)(t,p);return(0,n.jsx)(tG.Provider,{scope:e.__scopeMenu,children:(0,n.jsx)(to.Presence,{present:a||c.open,children:(0,n.jsx)(tG.Slot,{scope:e.__scopeMenu,children:(0,n.jsx)(nr,{id:f.contentId,"aria-labelledby":f.triggerId,...u,ref:h,align:s,side:"rtl"===d.dir?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{d.isUsingKeyboardRef.current&&p.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:(0,o.composeEventHandlers)(e.onFocusOutside,e=>{e.target!==f.trigger&&c.onOpenChange(!1)}),onEscapeKeyDown:(0,o.composeEventHandlers)(e.onEscapeKeyDown,e=>{d.onClose(),e.preventDefault()}),onKeyDown:(0,o.composeEventHandlers)(e.onKeyDown,e=>{let t=e.currentTarget.contains(e.target),n=tB[d.dir].includes(e.key);t&&n&&(c.onOpenChange(!1),f.trigger?.focus(),e.preventDefault())})})})})})},"MenuSubContent"));function nE(e){return e?"open":"closed"}function nP(e){return"indeterminate"===e}function nS(e){return nP(e)?"indeterminate":e?"checked":"unchecked"}function nk(e){let t=document.activeElement;for(let n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function nT(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function nM(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,o=n?e.indexOf(n):-1,i=nT(e,Math.max(o,0));1===r.length&&(i=i.filter(e=>e!==n));let l=i.find(e=>e.toLowerCase().startsWith(r.toLowerCase()));return l!==n?l:void 0}function nO(e,t){let{x:n,y:r}=e,o=!1;for(let e=0,i=t.length-1;e<t.length;i=e++){let l=t[e],a=t[i],s=l.x,u=l.y,c=a.x,d=a.y;u>r!=d>r&&n<(c-s)*(r-u)/(d-u)+s&&(o=!o)}return o}function nA(e,t){return!!t&&nO({x:e.clientX,y:e.clientY},t)}function nD(e){return t=>"mouse"===t.pointerType?e(t):void 0}tN(nE,"getOpenState"),tN(nP,"isIndeterminate"),tN(nS,"getCheckedState"),tN(nk,"focusFirst"),tN(nT,"wrapArray"),tN(nM,"getNextMatch"),tN(nO,"isPointInPolygon"),tN(nA,"isPointerInGraceArea"),tN(nD,"whenMouse");var nI=Object.defineProperty,nL=(e,t)=>nI(e,"name",{value:t,configurable:!0}),nN="DropdownMenu",[n_,nF]=(0,l.createContextScope)(nN,[tU]),nH=tU(),[nz,nB]=n_(nN),nK=nL(e=>{let{__scopeDropdownMenu:t,children:o,dir:i,open:l,defaultOpen:s,onOpenChange:u,modal:c=!0}=e,d=nH(t),f=r.useRef(null),[p,h]=(0,a.useControllableState)({prop:l,defaultProp:s??!1,onChange:u,caller:nN});return(0,n.jsx)(nz,{scope:t,triggerId:(0,P.useId)(),triggerRef:f,contentId:(0,P.useId)(),open:p,onOpenChange:h,onOpenToggle:r.useCallback(()=>h(e=>!e),[h]),modal:c,children:(0,n.jsx)(t0,{...d,open:p,onOpenChange:h,dir:i,modal:c,children:o})})},"DropdownMenu"),nG=r.forwardRef(nL(function(e,t){let{__scopeDropdownMenu:r,disabled:l=!1,...a}=e,u=nB("DropdownMenuTrigger",r),c=nH(r),d=(0,i.useComposedRefs)(t,u.triggerRef);return(0,n.jsx)(t1,{asChild:!0,...c,children:(0,n.jsx)(s.Primitive.button,{type:"button",id:u.triggerId,"aria-haspopup":"menu","aria-expanded":u.open,"aria-controls":u.open?u.contentId:void 0,"data-state":u.open?"open":"closed","data-disabled":l?"":void 0,disabled:l,...a,ref:d,onPointerDown:(0,o.composeEventHandlers)(e.onPointerDown,e=>{!l&&0===e.button&&!1===e.ctrlKey&&(u.onOpenToggle(),u.open||e.preventDefault())}),onKeyDown:(0,o.composeEventHandlers)(e.onKeyDown,e=>{!l&&(["Enter"," "].includes(e.key)&&u.onOpenToggle(),"ArrowDown"===e.key&&u.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(e.key)&&e.preventDefault())})})})},"DropdownMenuTrigger")),nV=nL(e=>{let{__scopeDropdownMenu:t,...r}=e,o=nH(t);return(0,n.jsx)(t7,{...o,...r})},"DropdownMenuPortal"),nW=r.forwardRef(nL(function(e,t){let{__scopeDropdownMenu:i,...l}=e,a=nB("DropdownMenuContent",i),s=nH(i),u=r.useRef(!1);return(0,n.jsx)(t6,{id:a.contentId,"aria-labelledby":a.triggerId,...s,...l,ref:t,onCloseAutoFocus:(0,o.composeEventHandlers)(e.onCloseAutoFocus,e=>{u.current||a.triggerRef.current?.focus(),u.current=!1,e.preventDefault()}),onInteractOutside:(0,o.composeEventHandlers)(e.onInteractOutside,e=>{let t=e.detail.originalEvent,n=0===t.button&&!0===t.ctrlKey,r=2===t.button||n;(!a.modal||r)&&(u.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})},"DropdownMenuContent")),n$=r.forwardRef(nL(function(e,t){let{__scopeDropdownMenu:r,...o}=e,i=nH(r);return(0,n.jsx)(ni,{...i,...o,ref:t})},"DropdownMenuLabel")),nU=r.forwardRef(nL(function(e,t){let{__scopeDropdownMenu:r,...o}=e,i=nH(r);return(0,n.jsx)(ns,{...i,...o,ref:t})},"DropdownMenuItem")),nX=r.forwardRef(nL(function(e,t){let{__scopeDropdownMenu:r,...o}=e,i=nH(r);return(0,n.jsx)(nc,{...i,...o,ref:t})},"DropdownMenuCheckboxItem")),nY=r.forwardRef(nL(function(e,t){let{__scopeDropdownMenu:r,...o}=e,i=nH(r);return(0,n.jsx)(np,{...i,...o,ref:t})},"DropdownMenuRadioItem")),nq=r.forwardRef(nL(function(e,t){let{__scopeDropdownMenu:r,...o}=e,i=nH(r);return(0,n.jsx)(nx,{...i,...o,ref:t})},"DropdownMenuItemIndicator")),nJ=r.forwardRef(nL(function(e,t){let{__scopeDropdownMenu:r,...o}=e,i=nH(r);return(0,n.jsx)(nv,{...i,...o,ref:t})},"DropdownMenuSeparator")),nZ=r.forwardRef(nL(function(e,t){let{__scopeDropdownMenu:r,...o}=e,i=nH(r);return(0,n.jsx)(nR,{...i,...o,ref:t})},"DropdownMenuSubTrigger")),nQ=r.forwardRef(nL(function(e,t){let{__scopeDropdownMenu:r,...o}=e,i=nH(r);return(0,n.jsx)(nj,{...i,...o,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})},"DropdownMenuSubContent")),n0=e.i(837001),n1=e.i(675964),n2=e.i(83790);let n5={name:"circle",size:24,node:[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]};n5.node;let n3=(0,n2.default)(n5);var n7=e.i(975157);r.forwardRef(({className:e,inset:t,children:r,...o},i)=>(0,n.jsxs)(nZ,{ref:i,className:(0,n7.cn)("flex cursor-default select-none items-center gap-2 rounded-xs px-2 py-1.5 text-sm outline-hidden focus:bg-surface2 data-[state=open]:bg-surface2 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",t&&"pl-8",e),...o,children:[r,(0,n.jsx)(n1.ChevronRight,{className:"ml-auto"})]})).displayName=nZ.displayName,r.forwardRef(({className:e,...t},r)=>(0,n.jsx)(nQ,{ref:r,className:(0,n7.cn)("z-50 min-w-32 overflow-hidden rounded-md border border-border bg-surface p-1 text-txt shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-(--radix-dropdown-menu-content-transform-origin)",e),...t})).displayName=nQ.displayName;let n4=r.forwardRef(({className:e,sideOffset:t=4,...r},o)=>(0,n.jsx)(nV,{children:(0,n.jsx)(nW,{ref:o,sideOffset:t,className:(0,n7.cn)("z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-32 overflow-y-auto overflow-x-hidden rounded-md border border-border bg-surface p-1 text-txt shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-(--radix-dropdown-menu-content-transform-origin)",e),...r})}));n4.displayName=nW.displayName;let n9=r.forwardRef(({className:e,inset:t,...r},o)=>(0,n.jsx)(nU,{ref:o,className:(0,n7.cn)("relative flex cursor-default select-none items-center gap-2 rounded-xs px-2 py-1.5 text-sm outline-hidden transition-colors focus:bg-surface2 focus:text-txt data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",t&&"pl-8",e),...r}));n9.displayName=nU.displayName,r.forwardRef(({className:e,children:t,checked:r,...o},i)=>(0,n.jsxs)(nX,{ref:i,className:(0,n7.cn)("relative flex cursor-default select-none items-center rounded-xs py-1.5 pl-8 pr-2 text-sm outline-hidden transition-colors focus:bg-surface2 focus:text-txt data-disabled:pointer-events-none data-disabled:opacity-50",e),checked:r,...o,children:[(0,n.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,n.jsx)(nq,{children:(0,n.jsx)(n0.Check,{className:"h-4 w-4"})})}),t]})).displayName=nX.displayName,r.forwardRef(({className:e,children:t,...r},o)=>(0,n.jsxs)(nY,{ref:o,className:(0,n7.cn)("relative flex cursor-default select-none items-center rounded-xs py-1.5 pl-8 pr-2 text-sm outline-hidden transition-colors focus:bg-surface2 focus:text-txt data-disabled:pointer-events-none data-disabled:opacity-50",e),...r,children:[(0,n.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,n.jsx)(nq,{children:(0,n.jsx)(n3,{className:"h-2 w-2 fill-current"})})}),t]})).displayName=nY.displayName,r.forwardRef(({className:e,inset:t,...r},o)=>(0,n.jsx)(n$,{ref:o,className:(0,n7.cn)("px-2 py-1.5 text-sm font-semibold",t&&"pl-8",e),...r})).displayName=n$.displayName,r.forwardRef(({className:e,...t},r)=>(0,n.jsx)(nJ,{ref:r,className:(0,n7.cn)("-mx-1 my-1 h-px bg-border",e),...t})).displayName=nJ.displayName,e.s(["DropdownMenu",0,nK,"DropdownMenuContent",0,n4,"DropdownMenuItem",0,n9,"DropdownMenuTrigger",0,nG],755146)},772436,e=>{"use strict";var t=e.i(72345),n=e.i(180338),r=e.i(978238),o=Object.defineProperty,i=(e,t)=>o(e,"name",{value:t,configurable:!0}),l="horizontal",a=["horizontal","vertical"],s=n.forwardRef(i(function(e,n){let{decorative:o,orientation:i=l,...a}=e,s=u(i)?i:l;return(0,t.jsx)(r.Primitive.div,{"data-orientation":s,...o?{role:"none"}:{"aria-orientation":"vertical"===s?s:void 0,role:"separator"},...a,ref:n})},"Separator"));function u(e){return a.includes(e)}i(u,"isValidOrientation");var c=e.i(975157);let d=n.forwardRef(({className:e,orientation:n="horizontal",decorative:r=!0,...o},i)=>(0,t.jsx)(s,{ref:i,decorative:r,orientation:n,className:(0,c.cn)("shrink-0 bg-border","horizontal"===n?"h-px w-full":"h-full w-px",e),...o}));d.displayName=s.displayName,e.s(["Separator",0,d],772436)},746798,e=>{"use strict";var t=e.i(72345),n=e.i(180338),r=e.i(543836),o=e.i(166100),i=e.i(264145),l=e.i(296113),a=e.i(432567),s=e.i(212534),u=(e.i(21738),e.i(997611)),c=e.i(978238),d=e.i(617739),f=e.i(315671),p=e.i(44532),h=Object.defineProperty,m=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),g=n.forwardRef(h(function(e,n){return(0,t.jsx)(c.Primitive.span,{...e,ref:n,style:{...m,...e.style}})},"name",{value:"VisuallyHidden",configurable:!0})),x=Object.defineProperty,v=(e,t)=>x(e,"name",{value:t,configurable:!0}),[y,w]=(0,i.createContextScope)("Tooltip",[s.createPopperScope]),b=(0,s.createPopperScope)(),C="tooltip.open",[R,j]=y("TooltipProvider"),E=v(e=>{let{__scopeTooltip:r,delayDuration:o=700,skipDelayDuration:i=300,disableHoverableContent:l=!1,children:a}=e,s=n.useRef(!0),u=n.useRef(!1),c=n.useRef(0);return n.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,t.jsx)(R,{scope:r,isOpenDelayedRef:s,delayDuration:o,onOpen:n.useCallback(()=>{i<=0||(window.clearTimeout(c.current),s.current=!1)},[i]),onClose:n.useCallback(()=>{i<=0||(window.clearTimeout(c.current),c.current=window.setTimeout(()=>s.current=!0,i))},[i]),isPointerInTransitRef:u,onPointerInTransitChange:n.useCallback(e=>{u.current=e},[]),disableHoverableContent:l,children:a})},"TooltipProvider"),P="Tooltip",[S,k]=y(P),T=v(e=>{let{__scopeTooltip:r,children:o,open:i,defaultOpen:l,onOpenChange:u,disableHoverableContent:c,delayDuration:d}=e,p=j(P,e.__scopeTooltip),h=b(r),[m,g]=n.useState(null),[x,y]=n.useState(void 0),w=(0,a.useId)(),R=n.useRef(0),E=c??p.disableHoverableContent,k=d??p.delayDuration,T=n.useRef(!1),[M,O]=(0,f.useControllableState)({prop:i,defaultProp:l??!1,onChange:v(e=>{e?(p.onOpen(),document.dispatchEvent(new CustomEvent(C))):p.onClose(),u?.(e)},"onChange"),caller:P}),A=n.useMemo(()=>M?T.current?"delayed-open":"instant-open":"closed",[M]),D=n.useCallback(()=>{window.clearTimeout(R.current),R.current=0,T.current=!1,O(!0)},[O]),I=n.useCallback(()=>{window.clearTimeout(R.current),R.current=0,O(!1)},[O]),L=n.useCallback(()=>{window.clearTimeout(R.current),R.current=window.setTimeout(()=>{T.current=!0,O(!0),R.current=0},k)},[k,O]);return n.useEffect(()=>()=>{R.current&&(window.clearTimeout(R.current),R.current=0)},[]),(0,t.jsx)(s.Root,{...h,children:(0,t.jsx)(S,{scope:r,contentId:x??w,setContentId:y,open:M,stateAttribute:A,trigger:m,onTriggerChange:g,onTriggerEnter:n.useCallback(()=>{p.isOpenDelayedRef.current?L():D()},[p.isOpenDelayedRef,L,D]),onTriggerLeave:n.useCallback(()=>{E?I():(window.clearTimeout(R.current),R.current=0)},[I,E]),onOpen:D,onClose:I,disableHoverableContent:E,children:o})})},"Tooltip"),M="TooltipTrigger",O=n.forwardRef(v(function(e,i){let{__scopeTooltip:l,...a}=e,u=k(M,l),d=j(M,l),f=b(l),p=n.useRef(null),h=(0,o.useComposedRefs)(i,p,u.onTriggerChange),m=n.useRef(!1),g=n.useRef(!1),x=n.useCallback(()=>m.current=!1,[]);return n.useEffect(()=>()=>document.removeEventListener("pointerup",x),[x]),(0,t.jsx)(s.Anchor,{asChild:!0,...f,children:(0,t.jsx)(c.Primitive.button,{"aria-describedby":u.open?u.contentId:void 0,"data-state":u.stateAttribute,...a,ref:h,onPointerMove:(0,r.composeEventHandlers)(e.onPointerMove,e=>{"touch"!==e.pointerType&&(g.current||d.isPointerInTransitRef.current||(u.onTriggerEnter(),g.current=!0))}),onPointerLeave:(0,r.composeEventHandlers)(e.onPointerLeave,()=>{u.onTriggerLeave(),g.current=!1}),onPointerDown:(0,r.composeEventHandlers)(e.onPointerDown,()=>{u.open&&u.onClose(),m.current=!0,document.addEventListener("pointerup",x,{once:!0})}),onFocus:(0,r.composeEventHandlers)(e.onFocus,()=>{m.current||u.onOpen()}),onBlur:(0,r.composeEventHandlers)(e.onBlur,u.onClose),onClick:(0,r.composeEventHandlers)(e.onClick,u.onClose)})})},"TooltipTrigger")),[A,D]=y("TooltipPortal",{forceMount:void 0}),I="TooltipContent",L=n.forwardRef(v(function(e,n){let r=D(I,e.__scopeTooltip),{forceMount:o=r.forceMount,side:i="top",...l}=e,a=k(I,e.__scopeTooltip);return(0,t.jsx)(u.Presence,{present:o||a.open,children:a.disableHoverableContent?(0,t.jsx)(F,{side:i,...l,ref:n}):(0,t.jsx)(N,{side:i,...l,ref:n})})},"TooltipContent")),N=n.forwardRef(v(function(e,r){let i=k(I,e.__scopeTooltip),l=j(I,e.__scopeTooltip),a=n.useRef(null),s=(0,o.useComposedRefs)(r,a),[u,c]=n.useState(null),{trigger:d,onClose:f}=i,p=a.current,{onPointerInTransitChange:h}=l,m=n.useCallback(()=>{c(null),h(!1)},[h]),g=n.useCallback((e,t)=>{let n=e.currentTarget,r={x:e.clientX,y:e.clientY},o=H(r,n.getBoundingClientRect());c(G([...z(r,o),...B(t.getBoundingClientRect())])),h(!0)},[h]);return n.useEffect(()=>()=>m(),[m]),n.useEffect(()=>{if(d&&p){let e=v(e=>g(e,p),"handleTriggerLeave"),t=v(e=>g(e,d),"handleContentLeave");return d.addEventListener("pointerleave",e),p.addEventListener("pointerleave",t),()=>{d.removeEventListener("pointerleave",e),p.removeEventListener("pointerleave",t)}}},[d,p,g,m]),n.useEffect(()=>{if(u){let e=v(e=>{let t=e.target,n={x:e.clientX,y:e.clientY},r=d?.contains(t)||p?.contains(t),o=!K(n,u);r?m():o&&(m(),f())},"handleTrackPointerGrace");return document.addEventListener("pointermove",e),()=>document.removeEventListener("pointermove",e)}},[d,p,u,f,m]),(0,t.jsx)(F,{...e,ref:s})},"TooltipContentHoverable")),_=(0,d.createSlottable)("TooltipContent"),F=n.forwardRef(v(function(e,r){let{__scopeTooltip:o,children:i,"aria-label":a,id:u,onEscapeKeyDown:c,onPointerDownOutside:d,...f}=e,h=k(I,o),m=b(o),{onClose:x}=h;n.useEffect(()=>(document.addEventListener(C,x),()=>document.removeEventListener(C,x)),[x]),n.useEffect(()=>{if(h.trigger){let e=v(e=>{e.target instanceof Node&&e.target.contains(h.trigger)&&x()},"handleScroll");return window.addEventListener("scroll",e,{capture:!0}),()=>window.removeEventListener("scroll",e,{capture:!0})}},[h.trigger,x]);let{setContentId:y}=h;return(0,p.useLayoutEffect)(()=>(y(u),()=>{y(void 0)}),[u,y]),(0,t.jsx)(l.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:c,onPointerDownOutside:d,onFocusOutside:e=>e.preventDefault(),onDismiss:x,children:(0,t.jsxs)(s.Content,{"data-state":h.stateAttribute,role:a?void 0:"tooltip",id:a?void 0:h.contentId,...m,...f,ref:r,style:{...f.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[(0,t.jsx)(_,{children:i}),a?(0,t.jsx)(g,{id:h.contentId,role:"tooltip",children:a}):null]})})},"TooltipContentImpl"));function H(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),o=Math.abs(t.right-e.x),i=Math.abs(t.left-e.x);switch(Math.min(n,r,o,i)){case i:return"left";case o:return"right";case n:return"top";case r:return"bottom";default:throw Error("unreachable")}}function z(e,t,n=5){let r=[];switch(t){case"top":r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case"bottom":r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case"left":r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case"right":r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n})}return r}function B(e){let{top:t,right:n,bottom:r,left:o}=e;return[{x:o,y:t},{x:n,y:t},{x:n,y:r},{x:o,y:r}]}function K(e,t){let{x:n,y:r}=e,o=!1;for(let e=0,i=t.length-1;e<t.length;i=e++){let l=t[e],a=t[i],s=l.x,u=l.y,c=a.x,d=a.y;u>r!=d>r&&n<(c-s)*(r-u)/(d-u)+s&&(o=!o)}return o}function G(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:1*!!(e.y>t.y)),V(t)}function V(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t[t.length-1],n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n[n.length-1],t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return(n.pop(),1===t.length&&1===n.length&&t[0].x===n[0].x&&t[0].y===n[0].y)?t:t.concat(n)}v(H,"getExitSideFromRect"),v(z,"getPaddedExitPoints"),v(B,"getPointsFromRect"),v(K,"isPointInPolygon"),v(G,"getHull"),v(V,"getHullPresorted");var W=e.i(975157);let $=n.forwardRef(({className:e,sideOffset:n=4,...r},o)=>(0,t.jsx)(L,{ref:o,sideOffset:n,className:(0,W.cn)("z-50 overflow-hidden rounded-md border border-border bg-surface px-3 py-1.5 text-sm text-txt shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-(--radix-tooltip-content-transform-origin)",e),...r}));$.displayName=L.displayName,e.s(["Tooltip",0,T,"TooltipContent",0,$,"TooltipProvider",0,E,"TooltipTrigger",0,O],746798)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,475850,e=>{"use strict";var t=e.i(83790);let s={name:"message-square",size:24,node:[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]};s.node;let a=(0,t.default)(s);e.s(["MessageSquare",0,a],475850)},955787,e=>{"use strict";var t=e.i(72345),s=e.i(180338),a=e.i(910172),r=e.i(763371),n=e.i(155515),o=e.i(975157),l=e.i(487486),d=e.i(34086);function i({status:e,tasks:a,onMoveTask:r,onOpenTask:n}){let[c,x]=(0,s.useState)(!1);return(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[(0,t.jsx)("span",{className:"text-sm",children:d.STATUS_ICONS[e]}),(0,t.jsx)("span",{className:"text-xs font-mono font-semibold text-muted uppercase tracking-wider",children:e}),(0,t.jsx)(l.Badge,{variant:"secondary",className:"ml-auto font-mono text-xs h-5 px-1.5",children:a.length})]}),(0,t.jsxs)("div",{className:(0,o.cn)("flex flex-col gap-2 min-h-[60px] rounded-lg transition-colors",c&&"ring-1 ring-accent/50 bg-accent/5"),onDragOver:e=>{e.preventDefault(),x(!0)},onDragLeave:e=>{e.currentTarget.contains(e.relatedTarget)||x(!1)},onDrop:t=>{t.preventDefault(),x(!1);let s=t.dataTransfer.getData("taskId");s&&r(s,e)},children:[(a??[]).map(e=>(0,t.jsx)(d.TaskCard,{task:e,onMove:r,onOpen:()=>n(e)},e.id)),0===a.length&&(0,t.jsx)("div",{className:"border border-dashed border-border rounded-lg py-6 text-center text-xs text-muted",children:"empty"})]})]})}function c({board:e,summary:s,onMoveTask:a,onOpenTask:r,onNewTask:o}){return(0,t.jsxs)("div",{className:"p-6",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-6",children:[(0,t.jsx)("h1",{className:"font-display text-xl font-semibold tracking-tight",children:"Task Board"}),(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsxs)("span",{className:"text-xs font-mono text-muted",children:[s?.tasks.total||0," tasks"]}),(0,t.jsxs)("button",{onClick:o,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,t.jsx)(n.Plus,{className:"w-3.5 h-3.5"}),"New Task"]})]})]}),(0,t.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-4 gap-4",children:["in-progress","todo","blocked","done"].map(s=>(0,t.jsx)(i,{status:s,tasks:e[s],onMoveTask:a,onOpenTask:r},s))})]})}var x=e.i(592381),u=e.i(287272),m=e.i(765470),p=e.i(240595);let b=[{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 h({open:e,onOpenChange:a,rootParam:r,onTaskCreated:l}){let[d,i]=(0,s.useState)(""),[c,x]=(0,s.useState)(""),[g,f]=(0,s.useState)(""),[j,v]=(0,s.useState)(""),[N,k]=(0,s.useState)(""),[y,w]=(0,s.useState)(""),[S,T]=(0,s.useState)(!1);async function C(e){if(e.preventDefault(),!d.trim())return void w("Title is required");T(!0),w("");try{let e=await fetch(`/api/tasks/create${r}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:d.trim(),phase:c.trim()||void 0,size:g||void 0,description:j.trim()||void 0,dependsOn:N.trim()||void 0})});if(!e.ok){let t=await e.json();w(t.error??"Failed to create task"),T(!1);return}T(!1),l(),a(!1)}catch{w("Network error — please try again"),T(!1)}}return(0,s.useEffect)(()=>{e&&(i(""),x(""),f(""),v(""),k(""),w(""),T(!1))},[e]),(0,t.jsx)(u.Root,{open:e,onOpenChange:a,children:(0,t.jsxs)(u.Portal,{children:[(0,t.jsx)(u.Overlay,{className:"fixed inset-0 z-50 bg-black/60"}),(0,t.jsxs)(u.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,t.jsxs)("div",{className:"flex items-center justify-between px-5 py-4 border-b border-border",children:[(0,t.jsx)(u.Title,{className:"font-semibold text-txt",children:"New Task"}),(0,t.jsx)(u.Close,{className:"text-muted hover:text-txt transition-colors",children:(0,t.jsx)(m.X,{className:"w-4 h-4"})})]}),(0,t.jsxs)("form",{onSubmit:C,className:"p-5 space-y-4",children:[(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsxs)("label",{className:"block text-xs font-medium text-muted uppercase tracking-wide",children:["Title ",(0,t.jsx)("span",{className:"text-danger",children:"*"})]}),(0,t.jsx)("input",{autoFocus:!0,type:"text",value:d,onChange:e=>i(e.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,t.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("label",{className:"block text-xs font-medium text-muted uppercase tracking-wide",children:"Phase"}),(0,t.jsx)("input",{type:"text",value:c,onChange:e=>x(e.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,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("label",{className:"block text-xs font-medium text-muted uppercase tracking-wide",children:"Size"}),(0,t.jsxs)("select",{value:g,onChange:e=>f(e.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,t.jsx)("option",{value:"",children:"—"}),b.map(e=>(0,t.jsx)("option",{value:e.value,children:e.label},e.value))]})]})]}),(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("label",{className:"block text-xs font-medium text-muted uppercase tracking-wide",children:"Depends on"}),(0,t.jsx)("input",{type:"text",value:N,onChange:e=>k(e.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,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("label",{className:"block text-xs font-medium text-muted uppercase tracking-wide",children:"Description"}),(0,t.jsx)("textarea",{value:j,onChange:e=>v(e.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"})]}),y&&(0,t.jsx)("p",{className:"text-sm text-danger",children:y}),(0,t.jsxs)("div",{className:"flex items-center justify-end gap-2 pt-1",children:[(0,t.jsx)(u.Close,{type:"button",className:"px-4 py-2 text-sm text-muted hover:text-txt transition-colors",children:"Cancel"}),(0,t.jsxs)("button",{type:"submit",disabled:S||!d.trim(),className:(0,o.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:[S?(0,t.jsx)(p.Loader2,{className:"w-4 h-4 animate-spin"}):(0,t.jsx)(n.Plus,{className:"w-4 h-4"}),S?"Creating…":"Create Task"]})]})]})]})]})})}function g(){let{board:e,summary:n,moveTask:o,refresh:l,rootParam:d}=(0,r.useApp)(),i=(0,a.useRouter)(),[u,m]=(0,s.useState)(null),p=(0,a.useSearchParams)().get("task"),[b,g]=(0,s.useState)(null);if(e&&p!==b){g(p);let t=p?Object.values(e).flat().find(e=>e.id===p):void 0;t&&m(t)}let[f,j]=(0,s.useState)(!1);return e?(0,t.jsxs)("div",{className:"relative flex-1",children:[(0,t.jsx)(c,{board:e,summary:n,onMoveTask:o,onOpenTask:m,onNewTask:()=>j(!0)}),(0,t.jsx)(x.TaskDetailPanel,{task:u,onClose:()=>{m(null),p&&i.replace("/board",{scroll:!1})},onMove:o}),(0,t.jsx)(h,{open:f,onOpenChange:j,rootParam:d,onTaskCreated:l})]}):null}e.s(["default",0,function(){return(0,t.jsx)(s.Suspense,{children:(0,t.jsx)(g,{})})}],955787)},34086,e=>{"use strict";var t=e.i(72345),s=e.i(180338),a=e.i(975157),r=e.i(487486),n=e.i(519455),o=e.i(723528);let l={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"},d={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:"❌"},c={todo:["in-progress"],"in-progress":["done","blocked","todo"],blocked:["in-progress","cancelled"],done:["todo"],cancelled:["todo"]};e.s(["STATUS_ICONS",0,i,"TaskCard",0,function({task:e,onMove:x,onOpen:u}){let[m,p]=(0,s.useState)(!1),b=c[e.status]||[];return(0,t.jsxs)("div",{draggable:!0,onDragStart:t=>{t.dataTransfer.setData("taskId",e.id),t.dataTransfer.effectAllowed="move",p(!0)},onDragEnd:()=>p(!1),style:{viewTransitionName:`task-${e.file.replace(/[^a-zA-Z0-9_-]/g,"_")}`},className:(0,a.cn)("group relative bg-surface border rounded-lg p-3 text-sm transition-[border-color,opacity] hover:border-border2",l[e.status]||"border-border",m&&"opacity-50 cursor-grabbing"),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-1.5",children:[(0,t.jsxs)("span",{className:"flex items-center gap-1.5 text-xs font-mono text-muted",children:[e.id,(0,t.jsx)(o.AgentDot,{attach:{kind:"task",id:e.id}})]}),(0,t.jsx)(r.Badge,{variant:"outline",className:(0,a.cn)("text-[10px] h-4 px-1.5 font-normal",d[e.status]),children:"in-progress"===e.status?"active":e.status})]}),(0,t.jsx)("p",{className:"font-medium text-txt text-sm leading-snug mb-2",children:e.title}),e.phase&&(0,t.jsx)("p",{className:"text-xs text-muted mb-2",children:e.phase}),(0,t.jsxs)("div",{className:"flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity",children:[(0,t.jsx)(n.Button,{variant:"ghost",size:"sm",className:"h-6 text-xs px-2",onClick:u,children:"open"}),b.map(s=>(0,t.jsxs)(n.Button,{variant:"ghost",size:"sm",className:"h-6 text-xs px-2",onClick:()=>x(e.id,s),children:[i[s]," ","in-progress"===s?"start":s]},s))]})]})}])},592381,329090,e=>{"use strict";var t=e.i(72345),s=e.i(180338),a=e.i(975157),r=e.i(980376),n=e.i(998822),o=e.i(34086),l=e.i(910172),d=e.i(763371);let i={task_updated:"🔨",decision_logged:"📝",memory_updated:"🧠",doc_read:"📄",session_start:"🤖",roadmap_updated:"🗺️"};function c(e){let t=(Date.now()-new Date(e).getTime())/1e3;return t<60?"just now":t<3600?`${Math.floor(t/60)}m ago`:t<86400?`${Math.floor(t/3600)}h ago`:`${Math.floor(t/86400)}d ago`}function x({taskId:e,onNavigate:a}){let{rootParam:r}=(0,d.useApp)(),n=(0,l.useRouter)(),[o,i]=(0,s.useState)(null);return(0,s.useEffect)(()=>{let t=r?`${r}&`:"?";fetch(`/api/sessions${t}taskId=${encodeURIComponent(e)}`).then(e=>e.json()).then(e=>i(Array.isArray(e)?e:[])).catch(()=>i([]))},[r,e]),(0,t.jsxs)("div",{className:"px-5 py-3 border-b border-border shrink-0",children:[(0,t.jsx)("p",{className:"mb-2 text-xs font-mono uppercase tracking-wide text-muted",children:"Sessions"}),null===o?null:0===o.length?(0,t.jsx)("p",{className:"text-xs text-muted",children:"No recorded sessions"}):(0,t.jsx)("div",{className:"flex max-h-40 flex-col gap-1 overflow-y-auto",children:o.map(e=>(0,t.jsxs)("button",{onClick:()=>{a(),n.push(`/activity?session=${encodeURIComponent(e.id)}`)},className:"flex items-center gap-2 rounded-sm px-2 py-1 text-left text-xs hover:bg-surface2",children:[(0,t.jsx)("span",{children:"ai"===e.actor?"🤖":"👤"}),(0,t.jsx)("span",{className:"shrink-0 font-mono text-muted",children:c(e.start)}),(0,t.jsx)("span",{className:"truncate text-txt",children:e.headline})]},e.id))})]})}e.s(["ActivityEventRow",0,function({event:e}){return(0,t.jsxs)("div",{className:"flex gap-4 pb-4 animate-fade-in",children:[(0,t.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:i[e.type]||"•"}),(0,t.jsxs)("div",{className:"flex-1 pt-1 min-w-0",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 mb-0.5",children:[(0,t.jsx)("span",{className:"text-sm font-medium text-txt",children:e.title}),"ai"===e.actor&&(0,t.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"})]}),e.detail&&(0,t.jsx)("p",{className:"text-xs text-muted truncate",children:e.detail}),(0,t.jsx)("p",{className:"text-xs text-muted/60 mt-0.5 font-mono",children:c(e.timestamp)})]})]})},"timeAgo",0,c],329090);var u=e.i(475850),m=e.i(723528),p=e.i(244267),b=e.i(481523);let h={todo:["in-progress"],"in-progress":["done","blocked","todo"],blocked:["in-progress","cancelled"],done:["todo"],cancelled:["todo"]},g={"in-progress":"start",done:"done",blocked:"blocked",todo:"backlog",cancelled:"cancel"},f={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"};e.s(["TaskDetailPanel",0,function({task:e,onClose:l,onMove:d}){let[i,c]=(0,s.useState)(e);e&&e!==i&&c(e);let j=i&&h[i.status]||[],{chats:v,showAbout:N}=(0,p.useChats)(),k=i?(0,b.chatFor)(v,{kind:"task",id:i.id}):void 0;return(0,t.jsx)(r.Sheet,{open:!!e,onOpenChange:e=>{e||l()},children:(0,t.jsx)(r.SheetContent,{side:"right","aria-describedby":void 0,className:"p-0 gap-0 sm:max-w-[420px] border-border flex flex-col",children:i&&(0,t.jsxs)(t.Fragment,{children:[(0,t.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,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"font-mono text-xs text-muted",children:i.id}),(0,t.jsxs)("span",{className:(0,a.cn)("text-xs px-1.5 py-0.5 rounded-sm border font-mono",f[i.status]),children:[o.STATUS_ICONS[i.status]," ",i.status]}),(0,t.jsx)(m.AgentMark,{attach:{kind:"task",id:i.id}})]}),(0,t.jsx)(r.SheetTitle,{className:"font-medium text-txt text-sm leading-snug",children:i.title})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2 px-5 py-3 border-b border-border shrink-0",children:[j.map(e=>(0,t.jsxs)("button",{onClick:()=>{d(i.id,e),l()},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:[o.STATUS_ICONS[e]," ",g[e]||e]},e)),(0,t.jsxs)("button",{onClick:()=>{l(),N({kind:"task",id:i.id})},className:"ml-auto inline-flex items-center gap-1.5 text-xs px-2.5 py-1 rounded-sm bg-accent text-white transition-[filter] hover:brightness-110",children:[(0,t.jsx)(u.MessageSquare,{className:"size-3.5"})," ",k?"Open chat":"Chat about task"]})]}),(0,t.jsx)(x,{taskId:i.id,onNavigate:l},i.id),(0,t.jsx)("div",{className:"flex-1 overflow-y-auto px-5 py-4",children:i.raw?(0,t.jsx)(n.MarkdownRenderer,{content:i.raw}):(0,t.jsx)("p",{className:"text-sm text-muted",children:"No content available."})})]})})})}],592381)},723528,e=>{"use strict";var t=e.i(72345),s=e.i(479432),a=e.i(240595),r=e.i(975157),n=e.i(244267);let o={running:"Agent working","needs-answer":"Agent needs you",review:"Plan to review"};e.s(["AgentDot",0,function({attach:e}){let s=(0,n.useItemAgent)(e);if(!s)return null;let l=o[s.status];return(0,t.jsx)("span",{title:l,"aria-label":l,role:"img",className:"inline-flex shrink-0",children:"running"===s.status?(0,t.jsx)(a.Loader2,{className:"size-3 animate-spin text-accent"}):(0,t.jsx)("span",{className:(0,r.cn)("size-1.5 rounded-full animate-pulse-dot","needs-answer"===s.status?"bg-amber":"bg-accent")})})},"AgentMark",0,function({attach:e,className:l}){let d=(0,n.useItemAgent)(e),{show:i}=(0,n.useChats)();if(!d)return null;let c=o[d.status];return(0,t.jsxs)("button",{type:"button",onClick:e=>{e.stopPropagation(),i(d.chatId)},title:`${c} \xb7 open chat`,"aria-label":`${c}, open chat`,className:(0,r.cn)("nodrag inline-flex shrink-0 items-center gap-1 rounded-full border px-1.5 py-px font-mono text-[10px] leading-4 animate-fade-in transition-colors duration-(--duration-fast)","running"===d.status&&"border-accent/50 text-accent hover:bg-accent/10","needs-answer"===d.status&&"border-amber/50 text-amber hover:bg-amber/10","review"===d.status&&"border-accent/50 bg-accent/10 text-accent hover:bg-accent/20",l),children:["running"===d.status?(0,t.jsx)(a.Loader2,{className:"size-3 animate-spin"}):(0,t.jsx)(s.Bot,{className:"size-3"}),c]})}])}]);
@@ -1,3 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,83790,e=>{"use strict";var t=e.i(180338);let s=(...e)=>e.filter((e,t,s)=>!!e&&""!==e.trim()&&s.indexOf(e)===t).join(" ").trim(),n={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"},a=(0,t.createContext)({}),i=(0,t.forwardRef)(({color:e,size:i,width:r,height:o,strokeWidth:l,absoluteStrokeWidth:d,nonScalingStroke:c,className:u="",children:p,iconNode:f=[],icon:h={node:f,aliases:[],size:24},...m},g)=>{let{size:y=24,strokeWidth:b=2,absoluteStrokeWidth:w=!1,nonScalingStroke:x=!1,color:v="currentColor",className:k=""}=(0,t.useContext)(a)??{},N=!!p||(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(m),[j,A,S=[]]=function(e,t={}){return function(e,t={}){let a=t.attributeNames??{},i=e=>a[e]??e,r=e.size??e.width??n.width,o=e.size??e.height??n.height,l=e.aliases?.filter(e=>"string"==typeof e&&""!==e.trim()).map(e=>`lucide-${e}`)??[],d=[...e.name?[`lucide-${e.name}`]:[],...l],c=t.className?.split(" ").filter(Boolean)??[],u=!1===t.includeDefaultClasses?s(...c):s("lucide",...d,...c),p=t.absoluteStrokeWidth?Number(t.strokeWidth??n["stroke-width"])*Number(e.size??e.width??n.width)/Number(t.size??t.width??n.width):t.strokeWidth??n["stroke-width"];return["svg",{...Object.entries(n).reduce((e,[t,s])=>(e[i(t)]=s,e),{}),..."color"in t&&t.color&&{[i("stroke")]:t.color},..."size"in t&&null!=t.size&&{[i("width")]:t.size,[i("height")]:t.size},..."width"in t&&null!=t.width&&{[i("width")]:t.width},..."height"in t&&null!=t.height&&{[i("height")]:t.height},[i("stroke-width")]:p,...u&&{[i("class")]:u},[i("viewBox")]:`0 0 ${r} ${o}`,...!1===t.hasA11yProp?{[i("aria-hidden")]:"true"}:{},..."attributes"in t&&t.attributes},e.node.map(e=>{let[s,n,a]=e,r=t.nonScalingStroke?{[i("vector-effect")]:"non-scaling-stroke",...n}:n;return a?[s,r,a]:[s,r]})]}(e,{...t,attributeNames:{...t.attributeNames,class:"className","stroke-width":"strokeWidth","stroke-linecap":"strokeLinecap","stroke-linejoin":"strokeLinejoin","vector-effect":"vectorEffect"}})}(h,{color:e??v,width:r??i??y,height:o??i??y,strokeWidth:l??b,absoluteStrokeWidth:d??w,nonScalingStroke:c??x,className:s(k,u),hasA11yProp:N,attributes:m});return(0,t.createElement)(j,{ref:g,...A},[...S.map(([e,s])=>(0,t.createElement)(e,s)),...Array.isArray(p)?p:[p]])});e.s(["default",0,function(e,s=[],n=[]){let a,r="string"==typeof e?function(e,t,s=[]){if(null==t)throw Error("[lucide]: iconNode is required when icon name is used");return{name:e?.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),size:24,node:t,...s.length>0?{aliases:s}:{}}}(e,s,n):e,o=(0,t.forwardRef)(({className:e,...s},n)=>(0,t.createElement)(i,{ref:n,icon:r,className:e,...s}));return r.name&&(o.displayName=(a=(e=>{let t="",s=!1;for(let n of e){if("-"===n||"_"===n||n<=" "){s=t.length>0;continue}0===t.length?t+=n.toLowerCase():t+=s?n.toUpperCase():n,s=!1}return t})(r.name)).charAt(0).toUpperCase()+a.slice(1)),o}],83790)},479432,e=>{"use strict";var t=e.i(83790);let s={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"}]]};s.node;let n=(0,t.default)(s);e.s(["Bot",0,n],479432)},675964,e=>{"use strict";var t=e.i(83790);let s={name:"chevron-right",size:24,node:[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]};s.node;let n=(0,t.default)(s);e.s(["ChevronRight",0,n],675964)},406952,e=>{"use strict";var t=e.i(83790);let s={name:"file-text",size:24,node:[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]};s.node;let n=(0,t.default)(s);e.s(["FileText",0,n],406952)},240595,e=>{"use strict";var t=e.i(83790);let s={name:"loader-circle",size:24,node:[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],aliases:["loader-2"]};s.node;let n=(0,t.default)(s);e.s(["Loader2",0,n],240595)},765470,e=>{"use strict";var t=e.i(83790);let s={name:"x",size:24,node:[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]};s.node;let n=(0,t.default)(s);e.s(["X",0,n],765470)},776639,e=>{"use strict";var t=e.i(72345),s=e.i(180338),n=e.i(287272),a=e.i(765470),i=e.i(975157);let r=n.Root;n.Trigger;let o=n.Portal;n.Close;let l=s.forwardRef(({className:e,...s},a)=>(0,t.jsx)(n.Overlay,{ref:a,className:(0,i.cn)("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...s}));l.displayName=n.Overlay.displayName;let d=s.forwardRef(({className:e,children:s,...r},d)=>(0,t.jsxs)(o,{children:[(0,t.jsx)(l,{}),(0,t.jsxs)(n.Content,{ref:d,className:(0,i.cn)("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border border-border bg-surface p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",e),...r,children:[s,(0,t.jsxs)(n.Close,{className:"absolute right-4 top-4 rounded-xs opacity-70 ring-offset-bg transition-opacity hover:opacity-100 focus:outline-hidden focus:ring-2 focus:ring-accent focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-surface2 data-[state=open]:text-muted",children:[(0,t.jsx)(a.X,{className:"h-4 w-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));d.displayName=n.Content.displayName;let c=({className:e,...s})=>(0,t.jsx)("div",{className:(0,i.cn)("flex flex-col space-y-1.5 text-center sm:text-left",e),...s});c.displayName="DialogHeader";let u=s.forwardRef(({className:e,...s},a)=>(0,t.jsx)(n.Title,{ref:a,className:(0,i.cn)("text-lg font-semibold leading-none tracking-tight",e),...s}));u.displayName=n.Title.displayName,s.forwardRef(({className:e,...s},a)=>(0,t.jsx)(n.Description,{ref:a,className:(0,i.cn)("text-sm text-muted",e),...s})).displayName=n.Description.displayName,e.s(["Dialog",0,r,"DialogContent",0,d,"DialogHeader",0,c,"DialogTitle",0,u])},793479,e=>{"use strict";var t=e.i(72345),s=e.i(180338),n=e.i(975157);let a=s.forwardRef(({className:e,type:s,...a},i)=>(0,t.jsx)("input",{type:s,className:(0,n.cn)("flex h-10 w-full rounded-md border border-border bg-bg px-3 py-2 text-base ring-offset-bg file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-txt placeholder:text-muted focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:i,...a}));a.displayName="Input",e.s(["Input",0,a])},980376,e=>{"use strict";var t=e.i(72345),s=e.i(180338),n=e.i(287272),a=e.i(294237),i=e.i(765470),r=e.i(975157);let o=n.Root;n.Trigger,n.Close;let l=n.Portal,d=s.forwardRef(({className:e,...s},a)=>(0,t.jsx)(n.Overlay,{className:(0,r.cn)("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...s,ref:a}));d.displayName=n.Overlay.displayName;let c=(0,a.cva)("fixed z-50 gap-4 bg-surface p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",{variants:{side:{top:"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",left:"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",right:"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"}},defaultVariants:{side:"right"}}),u=s.forwardRef(({side:e="right",className:s,children:a,...o},u)=>(0,t.jsxs)(l,{children:[(0,t.jsx)(d,{}),(0,t.jsxs)(n.Content,{ref:u,className:(0,r.cn)(c({side:e}),s),...o,children:[a,(0,t.jsxs)(n.Close,{className:"absolute right-4 top-4 rounded-xs opacity-70 ring-offset-bg transition-opacity hover:opacity-100 focus:outline-hidden focus:ring-2 focus:ring-accent focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-surface2",children:[(0,t.jsx)(i.X,{className:"h-4 w-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));u.displayName=n.Content.displayName;let p=({className:e,...s})=>(0,t.jsx)("div",{className:(0,r.cn)("flex flex-col space-y-2 text-center sm:text-left",e),...s});p.displayName="SheetHeader";let f=s.forwardRef(({className:e,...s},a)=>(0,t.jsx)(n.Title,{ref:a,className:(0,r.cn)("text-lg font-semibold text-txt",e),...s}));f.displayName=n.Title.displayName;let h=s.forwardRef(({className:e,...s},a)=>(0,t.jsx)(n.Description,{ref:a,className:(0,r.cn)("text-sm text-muted",e),...s}));h.displayName=n.Description.displayName,e.s(["Sheet",0,o,"SheetContent",0,u,"SheetDescription",0,h,"SheetHeader",0,p,"SheetTitle",0,f])},244267,702197,481523,e=>{"use strict";var t=e.i(72345),s=e.i(180338),n=e.i(910172),a=e.i(763371),i=e.i(975157);function r(e){return Array.isArray(e)&&e.length>0&&e.every(e=>!!e&&"object"==typeof e&&"string"==typeof e.question&&"string"==typeof e.header&&Array.isArray(e.options)&&e.options.every(e=>!!e&&"object"==typeof e&&"string"==typeof e.label))}let o="\0other";function l(e,t){return["Answers:",...e.map((e,s)=>`- ${e.header}: ${t[s]}`)].join("\n")}e.s(["QuestionCard",0,function({set:e,disabled:n,onSubmit:a}){let[r,l]=(0,s.useState)(()=>e.questions.map(()=>[])),[d,c]=(0,s.useState)(()=>e.questions.map(()=>"")),u=!!e.answers,p=e.questions.map((e,t)=>{let s=e.options.map(e=>e.label).filter(e=>r[t].includes(e));return r[t].includes(o)&&d[t].trim()&&s.push(`Other: "${d[t].trim()}"`),s.join(", ")}),f=p.every(Boolean);return(0,t.jsxs)("div",{className:"my-2 rounded-md border border-border overflow-hidden","data-question-card":!0,children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 px-2 py-1.5 bg-surface2 border-b border-border",children:[(0,t.jsx)("span",{className:"text-[10px] font-mono uppercase tracking-widest text-muted",children:"Questions"}),u&&(0,t.jsx)("span",{className:"ml-auto text-[10px] font-mono text-accent",children:"✓ Answered"})]}),(0,t.jsxs)("div",{className:"p-2 space-y-3",children:[e.questions.map((s,n)=>(0,t.jsxs)("fieldset",{disabled:u,className:"space-y-1",children:[(0,t.jsxs)("legend",{className:"mb-1",children:[(0,t.jsx)("span",{className:"text-[10px] font-mono px-1.5 py-0.5 rounded-sm bg-surface2 border border-border text-accent mr-1.5",children:s.header}),(0,t.jsx)("span",{className:"text-xs text-txt",children:s.question})]}),u?(0,t.jsx)("p",{className:"text-xs text-txt pl-1",children:e.answers?.[n]}):(0,t.jsxs)(t.Fragment,{children:[[...s.options,{label:"Other",value:o}].map(a=>{let o="value"in a?a.value:a.label,d=r[n].includes(o);return(0,t.jsxs)("label",{className:(0,i.cn)("flex gap-2 items-start rounded-sm px-1 py-0.5 cursor-pointer hover:bg-surface2",d&&"bg-surface2"),children:[(0,t.jsx)("input",{type:s.multiSelect?"checkbox":"radio",name:`${e.id}-${n}`,checked:d,onChange:()=>{var e;return e=s.multiSelect,void l(t=>t.map((t,s)=>s!==n?t:e?t.includes(o)?t.filter(e=>e!==o):[...t,o]:[o]))},className:"mt-0.5 accent-accent"}),(0,t.jsxs)("span",{className:"text-xs",children:[(0,t.jsx)("span",{className:"text-txt",children:a.label}),"description"in a&&a.description&&(0,t.jsx)("span",{className:"block text-muted",children:a.description})]})]},o)}),r[n].includes(o)&&(0,t.jsx)("input",{value:d[n],onChange:e=>c(t=>t.map((t,s)=>s===n?e.target.value:t)),placeholder:"Your answer","aria-label":`Other answer for ${s.header}`,className:"ml-6 w-[calc(100%-1.5rem)] rounded-sm bg-surface2 border border-border px-2 py-1 text-xs text-txt placeholder:text-muted focus:outline-hidden focus:border-accent"})]})]},n)),!u&&(0,t.jsx)("button",{onClick:()=>a(p),disabled:!f||n,className:"text-xs px-2 py-0.5 rounded-sm bg-accent/20 text-accent hover:bg-accent/30 disabled:opacity-50",children:"Submit"})]})]})},"formatAnswers",0,l,"isRenderableQuestions",0,r],702197);let d=e=>!!e&&"object"==typeof e&&!Array.isArray(e),c=e=>"string"==typeof e?e.trim():"";var u=e.i(956555);function p(e,t=Math.random()){return`c-${e.toString(36)}${t.toString(36).slice(2,6)}`}function f(e,t,s={}){var n;let a=s.now??new Date().toISOString();return[...e,{id:t,title:s.title??(s.attach?"epic"===(n=s.attach).kind?`Epic ${n.id}`:`Task ${n.id}`:"New chat"),messages:[],sessionId:null,busy:!1,notes:[],attach:s.attach??null,createdAt:a,updatedAt:a}]}function h(e,t,s){return e.map(e=>e.id===t?s(e):e)}function m(e){return e.messages.reduce((e,t)=>e+t.plans.filter(e=>"pending"===e.status).length+t.proposals.filter(e=>"pending"===e.status).length,0)}function g(e){if(e.busy)return"running";let t=e.messages[e.messages.length-1];if(t?.questions.some(e=>!e.answers))return"needs-answer";if(m(e))return"review";let s=e.messages.findLast(e=>"assistant"===e.role);return s?.error?"error":"idle"}let y=e=>"needs-answer"===e||"review"===e;function b(e,t,s={}){if((s.running??e.filter(e=>e.busy).length)>=4)return{refused:"Too many agents running (4). Stop or close a chat, or wait."};let n=e.find(e=>e.id===t);return!n||n.busy||s.newChat?{newChat:!0}:{chatId:n.id}}let w=e=>`${e.kind}:${e.id}`;function x(e){return e.trim().match(/^Break down epic (R\d+)/i)?.[1].toUpperCase()??null}function v(e,t){return e.filter(e=>{let s;return s=e.attach,!!s&&!!t&&s.kind===t.kind&&s.id===t.id}).sort((e,t)=>t.updatedAt.localeCompare(e.updatedAt))[0]}let k={running:3,"needs-answer":2,review:1};function N(e){let t={};for(let s of e){let e=g(s);if(!s.attach||"idle"===e||"error"===e)continue;let n=w(s.attach),a=t[n];(!a||k[e]>k[a.status])&&(t[n]={status:e,chatId:s.id})}return t}function j(e){return"epic"===e.kind?`[This chat is about epic ${e.id}. Read it with vibedoc_get_roadmap (and its tasks with vibedoc_get_task) before answering.]`:`[This chat is about task ${e.id}. Read it with vibedoc_get_task before answering.]`}function A(e){let t=[...e].sort((e,t)=>t.updatedAt.localeCompare(e.updatedAt)),s={needsYou:[],running:[],recent:[]};for(let e of t){let t=g(e);y(t)?s.needsYou.push(e):"running"===t?s.running.push(e):s.recent.push(e)}return s}function S(e){let t=A(e);return t.needsYou[0]??t.running[0]??t.recent[0]}function C(e){return e.messages.length?{...e,busy:!1}:null}function $(e){if(!e||"string"!=typeof e.id||!Array.isArray(e.messages))return null;let t=e.messages[e.messages.length-1],s=t?.role!=="assistant"||t.text||t.error||t.tools?.length||t.plans?.length||t.proposals?.length||t.questions?.length?e.messages:[...e.messages.slice(0,-1),{...t,error:"Interrupted: the page reloaded while the agent was working."}],n=e.updatedAt??e.createdAt??new Date(0).toISOString();return{...e,messages:s,busy:!1,notes:e.notes??[],attach:e.attach??null,createdAt:e.createdAt??n,updatedAt:n}}function _(e,t){return t.flatMap(t=>{let s=g(t);return y(s)&&e[t.id]!==s?[{chat:t,status:s}]:[]})}function E(e,t){let s=e.replace(/^\(\d+\) /,"");return t>0?`(${t}) ${s}`:s}function T(e){let t=x(e);if(t)return`Break down ${t}`;let s=e.trim().split("\n")[0];return s.length>40?`${s.slice(0,40).trimEnd()}…`:s}e.s(["MAX_RUNNING_CHATS",0,4,"STATUS_LABEL",0,{running:"Running","needs-answer":"Waiting for your answers",review:"Plan or edit to review",error:"Error",idle:"Idle"},"addChat",0,f,"ago",0,function(e,t){let s=Math.max(0,Math.floor((t-Date.parse(e))/6e4));return s<1?"now":s<60?`${s}m`:s<1440?`${Math.floor(s/60)}h`:`${Math.floor(s/1440)}d`},"attachContext",0,j,"attachKey",0,w,"chatFor",0,v,"chatStatus",0,g,"chatTitle",0,T,"defaultChat",0,S,"epicOf",0,x,"fromSaved",0,$,"groupChats",0,A,"isWaiting",0,y,"itemAgents",0,N,"newChatId",0,p,"newlyWaiting",0,_,"patchChat",0,h,"pendingReviews",0,m,"routeAsk",0,b,"suggestions",0,function(e){return e?"epic"===e.kind?[`Break down epic ${e.id} into tasks.`,"Summarize this epic's progress.","What is at risk in this epic?"]:["Refine this task's spec.","Split this task into smaller tasks.","What blocks this task?"]:["What should I work on next?","Plan a roadmap for this project.","What is blocked right now?"]},"toSaved",0,C,"waitingTitle",0,E],481523);let z=(e,t="")=>({role:e,text:t,tools:[],proposals:[],plans:[],questions:[]}),R=(0,s.createContext)(null),O=(0,s.createContext)({});e.s(["ChatProvider",0,function({children:e}){let{rootParam:i,activeProject:o,selectedDoc:w}=(0,a.useApp)(),k=(0,n.usePathname)(),A=(0,n.useRouter)(),[q,I]=(0,s.useState)([]),[M,P]=(0,s.useState)(!1),[W,D]=(0,s.useState)(null),[L,U]=(0,s.useState)(null),[B,H]=(0,s.useState)(null),V=(0,s.useRef)(new Map),J=(0,s.useRef)(new Set),K=(0,s.useRef)({}),Q="/chat"===k,X="/docs"===k?w?.path:void 0;(0,s.useEffect)(()=>{for(let e of V.current.values())e.abort();V.current.clear(),J.current.clear();let e=!1;return fetch(`/api/conversations${i}`).then(e=>e.ok?e.json():{chats:[]}).then(t=>{if(e)return;let s=(t.chats??[]).map(e=>$(e)).filter(e=>!!e);K.current=Object.fromEntries(s.map(e=>[e.id,g(e)])),I(s),D(null),U(null),P(!0)}).catch(t=>{console.warn("[vibedoc] could not load chats:",t),e||(I([]),P(!0))}),()=>{e=!0}},[o,i]),(0,s.useEffect)(()=>{for(let e of[...J.current]){let t=q.find(t=>t.id===e);J.current.delete(e);let s=t&&C(t);s&&fetch(`/api/conversations${i}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({chat:s})}).catch(t=>console.warn(`[vibedoc] could not save chat ${e}:`,t))}},[q,i]);let Y=(0,s.useRef)({key:"{}",value:{}}),F=(0,s.useMemo)(()=>{let e=N(q),t=JSON.stringify(e);return t!==Y.current.key&&(Y.current={key:t,value:e}),Y.current.value},[q]),G=q.filter(e=>e.busy).length,Z=q.filter(e=>y(g(e))).length;function ee(e){J.current.add(e)}function et(e){U(e),Q?(D(null),A.replace(`/chat?id=${encodeURIComponent(e)}`,{scroll:!1})):D(e)}function es(e=null){let t=p(Date.now());return I(s=>f(s,t,{attach:e})),t}function en(e,t){I(s=>h(s,e,e=>({...e,messages:[...e.messages.slice(0,-1),t(e.messages[e.messages.length-1])]})))}async function ea(e,t){let s=t.trim(),n=q.find(t=>t.id===e);if(!s||n?.busy)return;"Notification"in window&&"default"===Notification.permission&&Notification.requestPermission().catch(()=>{});let a=!n?.messages.length,o=x(s),l=n?.attach??(o?{kind:"epic",id:o}:null);I(t=>h(t,e,e=>({...e,title:e.messages.length?e.title:T(s),attach:e.attach??l,busy:!0,notes:[],updatedAt:new Date().toISOString(),messages:[...e.messages,z("user",s),z("assistant")]}))),ee(e);let c=[...a&&n?.attach?[j(n.attach)]:[],...n?.notes.length?[`[${n.notes.join(" ")}]`]:[]],u=c.length?`${c.join("\n")}
2
-
3
- ${s}`:s,p=new AbortController;V.current.set(e,p);try{let t=await fetch(`/api/chat${i}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({message:u,sessionId:n?.sessionId??null,docPath:X}),signal:p.signal});if(!t.ok||!t.body){let e=await t.json().catch(()=>null);throw Error(e?.error??`Request failed (${t.status})`)}let s=t.body.getReader(),a=new TextDecoder,o="";for(;;){let{done:t,value:n}=await s.read();if(t)break;let i=(o+=a.decode(n,{stream:!0})).split("\n");for(let t of(o=i.pop()??"",i))if(t.trim())try{!function(e,t){if(t.session_id&&I(s=>h(s,e,e=>e.sessionId===t.session_id?e:{...e,sessionId:t.session_id})),"stream_event"===t.type){let s=t.event;s?.type==="message_start"?en(e,e=>e.text&&!e.text.endsWith("\n\n")?{...e,text:e.text+"\n\n"}:e):s?.type==="content_block_delta"&&s.delta?.type==="text_delta"&&en(e,e=>({...e,text:e.text+s.delta.text}))}else if("assistant"===t.type){let s=(t.message?.content??[]).filter(e=>"tool_use"===e.type),n=s.filter(e=>e.name.endsWith("vibedoc_propose_edit")&&"string"==typeof e.input?.path&&Array.isArray(e.input?.edits)).map(e=>({id:e.id,path:e.input.path,edits:e.input.edits,summary:"string"==typeof e.input.summary?e.input.summary:void 0,status:"pending"})),a=s.filter(e=>e.name.endsWith("vibedoc_propose_plan")).flatMap(e=>{let t=function(e){if(!d(e))return null;let t=(e,t)=>Array.isArray(e)&&e.every(e=>d(e)&&t.every(t=>"string"==typeof e[t])&&(void 0===e.dependsOn||Array.isArray(e.dependsOn)));if("breakdown"===e.kind){let s=void 0===e.epic||"string"==typeof e.epic,n=void 0===e.newEpic||d(e.newEpic)&&"string"==typeof e.newEpic.title&&"string"==typeof e.newEpic.parent;return s&&n&&t(e.tasks,["key","title"])&&e.tasks.length>0?e:null}if("roadmap"===e.kind){let s=e.horizons??[],n=e.epics??[];return t(s,["key","title"])&&t(n,["key","title","parent"])?{kind:"roadmap",horizons:s,epics:n}:null}return null}(e.input?.plan);return t?[{id:e.id,plan:t,status:"pending"}]:[]}),i=s.filter(e=>e.name.endsWith("vibedoc_ask_questions")&&r(e.input?.questions)).map(e=>({id:e.id,questions:e.input.questions})),o=["vibedoc_propose_edit","vibedoc_propose_plan","vibedoc_ask_questions"],l=s.filter(e=>!o.some(t=>e.name.endsWith(t))).map(e=>e.name.replace(/^mcp__vibedoc__vibedoc_/,""));(l.length||n.length||a.length||i.length)&&en(e,e=>({...e,tools:[...e.tools,...l],proposals:[...e.proposals,...n],plans:[...e.plans,...a],questions:[...e.questions,...i]}))}else if("user"===t.type){let s=new Set((t.message?.content??[]).filter(e=>"tool_result"===e.type&&e.is_error).map(e=>e.tool_use_id));s.size&&en(e,e=>({...e,proposals:e.proposals.filter(e=>!s.has(e.id)),plans:e.plans.filter(e=>!s.has(e.id)),questions:e.questions.filter(e=>!s.has(e.id))}))}else"result"===t.type&&t.is_error?en(e,e=>({...e,error:t.result??t.subtype??"Agent error"})):"error"===t.type&&en(e,e=>({...e,error:t.message}))}(e,JSON.parse(t))}catch{}}}catch(t){p.signal.aborted?en(e,e=>e.text||e.error?e:{...e,error:"Stopped."}):en(e,e=>({...e,error:t.message}))}finally{V.current.get(e)===p&&(V.current.delete(e),ee(e)),I(t=>h(t,e,e=>({...e,busy:!1,updatedAt:new Date().toISOString()})))}}function ei(e){V.current.get(e)?.abort()}function er(e,t,s){I(n=>h(n,e,e=>({...e,notes:s?[...e.notes,s]:e.notes,messages:e.messages.map(t)}))),ee(e)}return(0,s.useEffect)(()=>{document.title=E(document.title,Z)},[Z,k]),(0,s.useEffect)(()=>{let e=_(K.current,q);if(K.current=Object.fromEntries(q.map(e=>[e.id,g(e)])),e.length&&document.hidden&&"Notification"in window&&"granted"===Notification.permission)for(let{chat:t,status:s}of e){let e=new Notification("needs-answer"===s?"Agent needs your answer":"Plan ready to review",{body:t.title,tag:t.id});e.onclick=()=>{window.focus(),(0,u.openAgentChat)(t.id),e.close()}}},[q]),(0,s.useEffect)(()=>{function e(e){let{message:t,newChat:s}=e.detail??{};if(!t)return;let n=b(q,L,{newChat:s,running:V.current.size});if("refused"in n)return H(n.refused);H(null);let a=x(t),i="chatId"in n?n.chatId:es(a?{kind:"epic",id:a}:null);ea(i,t),s||et(i)}function t(e){let t=e.detail?.chatId;t&&q.some(e=>e.id===t)&&et(t)}return window.addEventListener(u.ASK_AGENT_EVENT,e),window.addEventListener(u.OPEN_CHAT_EVENT,t),()=>{window.removeEventListener(u.ASK_AGENT_EVENT,e),window.removeEventListener(u.OPEN_CHAT_EVENT,t)}}),(0,t.jsx)(R.Provider,{value:{chats:q,loaded:M,modalId:W,closeModal:function(e={}){e.keep||I(e=>e.filter(e=>e.id!==W||e.messages.length>0)),D(null)},show:et,showDefault:function(){let e=S(q);et(e?e.id:es())},showAbout:function(e){let t=v(q,e);et(t?t.id:es(e))},create:es,send:ea,stop:ei,remove:function(e){let t=q.find(t=>t.id===e),s=t?m(t):0;return(!s||!!window.confirm(`Discard ${s} unreviewed proposal${1===s?"":"s"}?`))&&(ei(e),V.current.delete(e),J.current.delete(e),I(t=>t.filter(t=>t.id!==e)),W===e&&D(null),L===e&&U(null),fetch(`/api/conversations${i}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({delete:e})}).catch(t=>console.warn(`[vibedoc] could not delete chat ${e}:`,t)),!0)},resolveProposal:function(e,t,s,n){er(e,e=>({...e,proposals:e.proposals.map(e=>e.id===t?{...e,status:n}:e)}),`User ${n} your proposed edit to ${s}.`)},resolvePlan:function(e,t,s,n,a){var i;let r="breakdown"===t.plan.kind?c((i=t.plan).epic)?c(i.epic).toUpperCase():i.newEpic?`new epic "${c(i.newEpic.title)}"`:"no epic":"the roadmap";er(e,e=>({...e,plans:e.plans.map(e=>e.id===t.id?{...e,status:s,created:n}:e)}),"accepted"===s?`User accepted plan for ${r}: created ${n.map(e=>e.id).join(", ")}${a.length?` (unchecked: ${a.join(", ")})`:""}.`:`User rejected the plan for ${r}.`)},answerQuestions:function(e,t,s){q.find(t=>t.id===e)?.busy||(er(e,e=>({...e,questions:e.questions.map(e=>e.id===t.id?{...e,answers:s}:e)})),ea(e,l(t.questions,s)))},agents:F,runningCount:G,waitingCount:Z,notice:B,dismissNotice:()=>H(null)},children:(0,t.jsx)(O.Provider,{value:F,children:e})})},"useChats",0,function(){let e=(0,s.useContext)(R);if(!e)throw Error("useChats() must be used inside <ChatProvider>");return e},"useItemAgent",0,function(e){return(0,s.useContext)(O)[w(e)]}],244267)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,475850,e=>{"use strict";var t=e.i(83790);let s={name:"message-square",size:24,node:[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]};s.node;let a=(0,t.default)(s);e.s(["MessageSquare",0,a],475850)},66858,e=>{"use strict";var t=e.i(72345),s=e.i(180338),a=e.i(910172),n=e.i(763371),r=e.i(975157),i=e.i(329090);function o({activity:e}){return(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)("div",{className:"absolute left-4 top-0 bottom-0 w-px bg-border"}),(0,t.jsx)("div",{className:"flex flex-col gap-0",children:e.map(e=>(0,t.jsx)(i.ActivityEventRow,{event:e},e.id))})]})}let l={done:"bg-teal","in-progress":"bg-amber",blocked:"bg-danger",todo:"bg-muted",cancelled:"bg-border2"},d="inline-flex max-w-full items-center gap-1.5 truncate rounded-md border border-border bg-bg/40 px-2 py-1 text-xs font-mono text-txt transition-[border-color,background-color,transform] duration-(--duration-fast) ease-out-soft hover:-translate-y-px hover:border-border2 hover:bg-surface2 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/60";function c({open:e,events:s}){return(0,t.jsx)("div",{className:(0,r.cn)("grid transition-[grid-template-rows,opacity] duration-(--duration-slow) ease-out-soft",e?"grid-rows-[1fr] opacity-100":"grid-rows-[0fr] opacity-0"),children:(0,t.jsx)("div",{className:"min-h-0 overflow-hidden",inert:!e,children:(0,t.jsxs)("div",{className:"relative mt-4 border-t border-border pt-4",children:[(0,t.jsx)("div",{className:"absolute left-4 top-4 bottom-0 w-px bg-border"}),s.map(e=>(0,t.jsx)(i.ActivityEventRow,{event:e},e.id))]})})})}function x({open:e}){return(0,t.jsx)("span",{className:(0,r.cn)("inline-block text-muted transition-transform duration-(--duration-base) ease-out-soft",e&&"rotate-90"),"aria-hidden":!0,children:"▸"})}function m({session:e,events:a,onOpenTask:n,onOpenDoc:i,focused:o=!1,live:u=!1}){let p,[h,b]=(0,s.useState)(o),g=(0,s.useRef)(null);(0,s.useEffect)(()=>{o&&g.current?.scrollIntoView({block:"center",behavior:"smooth"})},[o]);let f="ai"===e.actor,v=e.tasks.filter(e=>"done"===e.lastStatus).length,j=e.tasks.length+e.docs.length+e.decisions.length>0,N=`${(p=Math.round((Date.parse(e.end)-Date.parse(e.start))/6e4))<1?"<1m":p<60?`${p}m`:`${Math.floor(p/60)}h ${p%60}m`} \xb7 ${e.eventCount} event${1===e.eventCount?"":"s"}`;return j?(0,t.jsxs)("div",{ref:g,className:(0,r.cn)("group rounded-xl border bg-surface p-4 transition-[border-color,transform,box-shadow] duration-(--duration-base) ease-out-soft hover:-translate-y-0.5 hover:border-border2 hover:shadow-lg hover:shadow-black/20",u?"border-accent/40":"border-border",o&&"border-accent/60 animate-flash"),children:[(0,t.jsxs)("button",{onClick:()=>b(e=>!e),"aria-expanded":h,className:"flex w-full items-center gap-2 text-left text-xs",children:[(0,t.jsx)("span",{className:(0,r.cn)("font-medium",f?"text-accent":"text-txt"),children:f?"🤖 Agent":"👤 Human"}),u&&(0,t.jsxs)("span",{className:"flex items-center gap-1 rounded-full bg-accent/10 px-1.5 py-0.5 font-mono text-[10px] uppercase tracking-wide text-accent",children:[(0,t.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-accent animate-pulse-dot"}),"live"]}),(0,t.jsx)("span",{className:"ml-auto font-mono text-muted",children:N}),(0,t.jsx)(x,{open:h})]}),(0,t.jsx)("p",{className:"mt-2 text-[15px] font-medium leading-snug text-txt",children:e.headline}),e.tasks.length>0&&(0,t.jsxs)("div",{className:"mt-3 flex items-center gap-2",title:`${v} of ${e.tasks.length} tasks done`,children:[(0,t.jsx)("div",{className:"h-1 flex-1 overflow-hidden rounded-full bg-surface2",children:(0,t.jsx)("div",{className:"h-full origin-left rounded-full bg-teal animate-grow-x transition-[width] duration-(--duration-slow) ease-out-soft",style:{width:`${v/e.tasks.length*100}%`}})}),(0,t.jsxs)("span",{className:"font-mono text-[11px] text-muted",children:[v,"/",e.tasks.length]})]}),(0,t.jsxs)("div",{className:"mt-3 flex flex-wrap gap-1.5",children:[e.tasks.map(e=>(0,t.jsxs)("button",{onClick:()=>n(e.id),className:d,title:`${e.id} → ${e.lastStatus}`,children:[(0,t.jsx)("span",{className:(0,r.cn)("h-1.5 w-1.5 shrink-0 rounded-full",l[e.lastStatus])}),e.id,(0,t.jsx)("span",{className:"text-muted",children:e.lastStatus})]},e.id)),e.docs.map(e=>(0,t.jsxs)("button",{onClick:()=>i(e),className:d,title:e,children:["📄 ",e.split("/").pop()]},e)),e.decisions.map(e=>(0,t.jsxs)("button",{onClick:()=>i(e.split(":")[0]),className:(0,r.cn)(d,"text-accent"),title:e,children:["📝 ",e]},e))]}),(0,t.jsx)(c,{open:h,events:a})]}):(0,t.jsxs)("div",{ref:g,className:(0,r.cn)("rounded-lg px-3 py-2 transition-colors duration-(--duration-fast) hover:bg-surface/60",o&&"bg-surface animate-flash"),children:[(0,t.jsxs)("button",{onClick:()=>b(e=>!e),"aria-expanded":h,className:"flex w-full items-center gap-2 text-left text-sm text-muted",children:[(0,t.jsx)("span",{children:f?"🤖":"👤"}),(0,t.jsx)("span",{className:"truncate",children:e.headline}),(0,t.jsx)("span",{className:"ml-auto shrink-0 font-mono text-xs text-muted/70",children:N}),(0,t.jsx)(x,{open:h})]}),(0,t.jsx)(c,{open:h,events:a})]})}function u(e){let t=new Date(e),s=new Date,a=new Date(s);return(a.setDate(s.getDate()-1),t.toDateString()===s.toDateString())?"Today":t.toDateString()===a.toDateString()?"Yesterday":t.toLocaleDateString(void 0,{weekday:"short",month:"short",day:"numeric"})}function p({value:e,label:s,tone:a}){return(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("p",{className:(0,r.cn)("font-display text-2xl font-semibold tabular-nums leading-none",e?a??"text-txt":"text-muted/50"),children:e}),(0,t.jsx)("p",{className:"mt-1.5 text-xs text-muted",children:s})]})}function h({sessions:e,events:a,onOpenTask:n,onOpenDoc:i,focusSessionId:o}){var l;let d,[c,x]=(0,s.useState)("all"),[b,g]=(0,s.useState)(()=>Date.now());(0,s.useEffect)(()=>{let e=setInterval(()=>g(Date.now()),3e4);return()=>clearInterval(e)},[]);let f=(l=b-864e5,{sessions:(d=e.filter(e=>Date.parse(e.end)>=l)).length,tasksDone:new Set(d.flatMap(e=>e.tasks.filter(e=>"done"===e.lastStatus).map(e=>e.id))).size,docs:new Set(d.flatMap(e=>e.docs)).size,decisions:d.reduce((e,t)=>e+t.decisions.length,0)}),v={all:e.length,ai:e.filter(e=>"ai"===e.actor).length,human:e.filter(e=>"human"===e.actor).length},j="all"===c?e:e.filter(e=>e.actor===c);return(0,t.jsxs)("div",{children:[(0,t.jsxs)("section",{className:"mb-6 grid grid-cols-2 gap-5 rounded-xl border border-border bg-surface px-5 py-4 animate-fade-in sm:grid-cols-4",children:[(0,t.jsx)(p,{value:f.sessions,label:"sessions · 24h"}),(0,t.jsx)(p,{value:f.tasksDone,label:"tasks done",tone:"text-teal"}),(0,t.jsx)(p,{value:f.docs,label:"docs changed"}),(0,t.jsx)(p,{value:f.decisions,label:"ADRs logged",tone:"text-accent"})]}),(0,t.jsx)("div",{className:"mb-4 flex items-center gap-1 text-xs",role:"tablist","aria-label":"Filter by actor",children:["all","ai","human"].map(e=>(0,t.jsxs)("button",{role:"tab","aria-selected":c===e,onClick:()=>x(e),className:(0,r.cn)("rounded-full px-3 py-1 transition-colors duration-(--duration-fast)",c===e?"bg-surface2 text-txt":"text-muted hover:text-txt"),children:["all"===e?"All":"ai"===e?"🤖 Agent":"👤 Human",(0,t.jsx)("span",{className:"ml-1.5 font-mono text-muted",children:v[e]})]},e))}),0===j.length?(0,t.jsxs)("p",{className:"py-10 text-center text-sm text-muted",children:["No ","ai"===c?"agent":"human"," sessions yet."]}):(0,t.jsxs)("ol",{className:"relative",children:[(0,t.jsx)("div",{className:"absolute left-[3.5rem] top-2 bottom-2 w-px bg-border","aria-hidden":!0}),j.map((e,s)=>{let l=u(e.start),d=0===s||u(j[s-1].start)!==l,c=function(e,t=Date.now(),s=3e5){return t-Date.parse(e.end)<s}(e,b),x=e.tasks.length+e.docs.length+e.decisions.length===0;return(0,t.jsxs)("li",{className:"animate-fade-in",style:{animationDelay:`${45*Math.min(s,8)}ms`,animationFillMode:"both"},children:[d&&(0,t.jsx)("p",{className:"sticky top-0 z-10 -mx-1 mb-2 bg-bg/90 px-1 py-2 text-xs font-mono uppercase tracking-wide text-muted backdrop-blur-sm",children:l}),(0,t.jsxs)("div",{className:"grid grid-cols-[2.75rem_1.5rem_1fr] items-start pb-3",children:[(0,t.jsx)("time",{dateTime:e.start,className:(0,r.cn)("text-right font-mono text-[11px] text-muted",x?"pt-2.5":"pt-4"),title:new Date(e.start).toLocaleString(),children:new Date(e.start).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",hourCycle:"h23"})}),(0,t.jsx)("span",{className:(0,r.cn)("flex justify-center",x?"pt-[0.95rem]":"pt-[1.2rem]"),"aria-hidden":!0,children:(0,t.jsx)("span",{className:(0,r.cn)("relative z-[1] rounded-full ring-4 ring-bg",x?"h-1.5 w-1.5":"h-2.5 w-2.5","ai"===e.actor?"bg-accent":"bg-muted",c&&"animate-pulse-dot")})}),(0,t.jsx)(m,{session:e,events:e.eventIds.flatMap(e=>a.get(e)??[]),onOpenTask:n,onOpenDoc:i,focused:e.id===o,live:c})]})]},e.id)})]})]})}var b=e.i(635743);function g({activity:e,liveIndicator:a,rootParam:n,onOpenTask:i,onOpenDoc:l,focusSessionId:d}){let[c,x]=(0,s.useState)("sessions"),[m,u]=(0,s.useState)(d);d!==m&&(u(d),d&&x("sessions"));let[p,f]=(0,s.useState)(null),[v,j]=(0,s.useState)(!1),[N,k]=(0,s.useState)(new Map);(0,s.useEffect)(()=>{let e=n?`${n}&`:"?",t=()=>Promise.all([fetch(`/api/sessions${n}`).then(e=>e.json()),fetch(`/api/activity${e}limit=2000`).then(e=>e.json())]).then(([e,t])=>{j(!1),f(Array.isArray(e)?e:[]),k(new Map((Array.isArray(t)?t:[]).map(e=>[e.id,e])))}).catch(()=>{j(!0),f(e=>e??[])});return t(),window.addEventListener("vibedoc:sse",t),()=>window.removeEventListener("vibedoc:sse",t)},[n]);let w="sessions"===c?p?.length===0:0===e.length;return(0,t.jsxs)("div",{className:"p-6 max-w-3xl",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-6",children:[(0,t.jsx)("h1",{className:"font-display text-xl font-semibold tracking-tight",children:"Activity"}),(0,t.jsxs)("div",{className:"flex items-center gap-4",children:[(0,t.jsxs)("div",{className:"relative grid grid-cols-2 rounded-md border border-border p-0.5 text-xs",children:[(0,t.jsx)("span",{"aria-hidden":!0,className:(0,r.cn)("absolute inset-y-0.5 left-0.5 w-[calc(50%-2px)] rounded-sm bg-surface2 transition-transform duration-(--duration-base) ease-out-soft","events"===c&&"translate-x-full")}),["sessions","events"].map(e=>(0,t.jsx)("button",{onClick:()=>x(e),"aria-pressed":c===e,className:(0,r.cn)("relative px-3 py-1 transition-colors duration-(--duration-fast)",c===e?"text-txt":"text-muted hover:text-txt"),children:"sessions"===e?"Sessions":"All events"},e))]}),(0,t.jsxs)("div",{className:"flex items-center gap-1.5 text-xs font-mono text-teal",children:[(0,t.jsxs)("span",{className:"relative flex h-1.5 w-1.5",children:[a&&(0,t.jsx)("span",{className:"absolute inset-0 rounded-full bg-teal animate-ping"}),(0,t.jsx)("span",{className:"relative h-1.5 w-1.5 rounded-full bg-teal"})]}),"live"]})]})]}),v&&(0,t.jsx)("p",{className:"mb-4 rounded-md border border-danger/30 bg-danger/5 px-3 py-2 text-xs text-danger animate-fade-in",children:"Couldn't load sessions. Showing the last data we had; it retries on the next update."}),"sessions"===c&&null===p?(0,t.jsxs)("div",{className:"flex flex-col gap-3","aria-busy":"true","aria-label":"Loading sessions",children:[(0,t.jsx)("div",{className:"h-[76px] rounded-xl bg-surface animate-pulse"}),[0,1,2].map(e=>(0,t.jsx)("div",{className:"ml-[4.25rem] h-24 rounded-xl bg-surface animate-pulse",style:{animationDelay:`${120*e}ms`}},e))]}):w?(0,t.jsx)(b.EmptyState,{icon:"⚡",message:"No activity yet.",subMessage:"Connect an AI agent to see real-time updates here."}):"sessions"===c?(0,t.jsx)(h,{focusSessionId:d,sessions:p??[],events:N,onOpenTask:i,onOpenDoc:l},d??""):(0,t.jsx)(o,{activity:e})]})}var f=e.i(592381);function v(){let{activity:e,liveIndicator:r,rootParam:i,board:o,moveTask:l,openDoc:d}=(0,n.useApp)(),c=(0,a.useSearchParams)().get("session"),[x,m]=(0,s.useState)(null),u=o&&x&&Object.values(o).flat().find(e=>e.id===x)||null;return(0,t.jsxs)("div",{className:"relative flex-1",children:[(0,t.jsx)(g,{activity:e,liveIndicator:r,rootParam:i,onOpenTask:m,onOpenDoc:d,focusSessionId:c}),(0,t.jsx)(f.TaskDetailPanel,{task:u,onClose:()=>m(null),onMove:l})]})}e.s(["default",0,function(){return(0,t.jsx)(s.Suspense,{children:(0,t.jsx)(v,{})})}],66858)},34086,e=>{"use strict";var t=e.i(72345),s=e.i(180338),a=e.i(975157),n=e.i(487486),r=e.i(519455),i=e.i(723528);let o={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"},l={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"},d={todo:"📋","in-progress":"🔨",blocked:"🚫",done:"✅",cancelled:"❌"},c={todo:["in-progress"],"in-progress":["done","blocked","todo"],blocked:["in-progress","cancelled"],done:["todo"],cancelled:["todo"]};e.s(["STATUS_ICONS",0,d,"TaskCard",0,function({task:e,onMove:x,onOpen:m}){let[u,p]=(0,s.useState)(!1),h=c[e.status]||[];return(0,t.jsxs)("div",{draggable:!0,onDragStart:t=>{t.dataTransfer.setData("taskId",e.id),t.dataTransfer.effectAllowed="move",p(!0)},onDragEnd:()=>p(!1),style:{viewTransitionName:`task-${e.file.replace(/[^a-zA-Z0-9_-]/g,"_")}`},className:(0,a.cn)("group relative bg-surface border rounded-lg p-3 text-sm transition-[border-color,opacity] hover:border-border2",o[e.status]||"border-border",u&&"opacity-50 cursor-grabbing"),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-1.5",children:[(0,t.jsxs)("span",{className:"flex items-center gap-1.5 text-xs font-mono text-muted",children:[e.id,(0,t.jsx)(i.AgentDot,{attach:{kind:"task",id:e.id}})]}),(0,t.jsx)(n.Badge,{variant:"outline",className:(0,a.cn)("text-[10px] h-4 px-1.5 font-normal",l[e.status]),children:"in-progress"===e.status?"active":e.status})]}),(0,t.jsx)("p",{className:"font-medium text-txt text-sm leading-snug mb-2",children:e.title}),e.phase&&(0,t.jsx)("p",{className:"text-xs text-muted mb-2",children:e.phase}),(0,t.jsxs)("div",{className:"flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity",children:[(0,t.jsx)(r.Button,{variant:"ghost",size:"sm",className:"h-6 text-xs px-2",onClick:m,children:"open"}),h.map(s=>(0,t.jsxs)(r.Button,{variant:"ghost",size:"sm",className:"h-6 text-xs px-2",onClick:()=>x(e.id,s),children:[d[s]," ","in-progress"===s?"start":s]},s))]})]})}])},592381,329090,e=>{"use strict";var t=e.i(72345),s=e.i(180338),a=e.i(975157),n=e.i(980376),r=e.i(998822),i=e.i(34086),o=e.i(910172),l=e.i(763371);let d={task_updated:"🔨",decision_logged:"📝",memory_updated:"🧠",doc_read:"📄",session_start:"🤖",roadmap_updated:"🗺️"};function c(e){let t=(Date.now()-new Date(e).getTime())/1e3;return t<60?"just now":t<3600?`${Math.floor(t/60)}m ago`:t<86400?`${Math.floor(t/3600)}h ago`:`${Math.floor(t/86400)}d ago`}function x({taskId:e,onNavigate:a}){let{rootParam:n}=(0,l.useApp)(),r=(0,o.useRouter)(),[i,d]=(0,s.useState)(null);return(0,s.useEffect)(()=>{let t=n?`${n}&`:"?";fetch(`/api/sessions${t}taskId=${encodeURIComponent(e)}`).then(e=>e.json()).then(e=>d(Array.isArray(e)?e:[])).catch(()=>d([]))},[n,e]),(0,t.jsxs)("div",{className:"px-5 py-3 border-b border-border shrink-0",children:[(0,t.jsx)("p",{className:"mb-2 text-xs font-mono uppercase tracking-wide text-muted",children:"Sessions"}),null===i?null:0===i.length?(0,t.jsx)("p",{className:"text-xs text-muted",children:"No recorded sessions"}):(0,t.jsx)("div",{className:"flex max-h-40 flex-col gap-1 overflow-y-auto",children:i.map(e=>(0,t.jsxs)("button",{onClick:()=>{a(),r.push(`/activity?session=${encodeURIComponent(e.id)}`)},className:"flex items-center gap-2 rounded-sm px-2 py-1 text-left text-xs hover:bg-surface2",children:[(0,t.jsx)("span",{children:"ai"===e.actor?"🤖":"👤"}),(0,t.jsx)("span",{className:"shrink-0 font-mono text-muted",children:c(e.start)}),(0,t.jsx)("span",{className:"truncate text-txt",children:e.headline})]},e.id))})]})}e.s(["ActivityEventRow",0,function({event:e}){return(0,t.jsxs)("div",{className:"flex gap-4 pb-4 animate-fade-in",children:[(0,t.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:d[e.type]||"•"}),(0,t.jsxs)("div",{className:"flex-1 pt-1 min-w-0",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 mb-0.5",children:[(0,t.jsx)("span",{className:"text-sm font-medium text-txt",children:e.title}),"ai"===e.actor&&(0,t.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"})]}),e.detail&&(0,t.jsx)("p",{className:"text-xs text-muted truncate",children:e.detail}),(0,t.jsx)("p",{className:"text-xs text-muted/60 mt-0.5 font-mono",children:c(e.timestamp)})]})]})},"timeAgo",0,c],329090);var m=e.i(475850),u=e.i(723528),p=e.i(244267),h=e.i(481523);let b={todo:["in-progress"],"in-progress":["done","blocked","todo"],blocked:["in-progress","cancelled"],done:["todo"],cancelled:["todo"]},g={"in-progress":"start",done:"done",blocked:"blocked",todo:"backlog",cancelled:"cancel"},f={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"};e.s(["TaskDetailPanel",0,function({task:e,onClose:o,onMove:l}){let[d,c]=(0,s.useState)(e);e&&e!==d&&c(e);let v=d&&b[d.status]||[],{chats:j,showAbout:N}=(0,p.useChats)(),k=d?(0,h.chatFor)(j,{kind:"task",id:d.id}):void 0;return(0,t.jsx)(n.Sheet,{open:!!e,onOpenChange:e=>{e||o()},children:(0,t.jsx)(n.SheetContent,{side:"right","aria-describedby":void 0,className:"p-0 gap-0 sm:max-w-[420px] border-border flex flex-col",children:d&&(0,t.jsxs)(t.Fragment,{children:[(0,t.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,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"font-mono text-xs text-muted",children:d.id}),(0,t.jsxs)("span",{className:(0,a.cn)("text-xs px-1.5 py-0.5 rounded-sm border font-mono",f[d.status]),children:[i.STATUS_ICONS[d.status]," ",d.status]}),(0,t.jsx)(u.AgentMark,{attach:{kind:"task",id:d.id}})]}),(0,t.jsx)(n.SheetTitle,{className:"font-medium text-txt text-sm leading-snug",children:d.title})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2 px-5 py-3 border-b border-border shrink-0",children:[v.map(e=>(0,t.jsxs)("button",{onClick:()=>{l(d.id,e),o()},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:[i.STATUS_ICONS[e]," ",g[e]||e]},e)),(0,t.jsxs)("button",{onClick:()=>{o(),N({kind:"task",id:d.id})},className:"ml-auto inline-flex items-center gap-1.5 text-xs px-2.5 py-1 rounded-sm bg-accent text-white transition-[filter] hover:brightness-110",children:[(0,t.jsx)(m.MessageSquare,{className:"size-3.5"})," ",k?"Open chat":"Chat about task"]})]}),(0,t.jsx)(x,{taskId:d.id,onNavigate:o},d.id),(0,t.jsx)("div",{className:"flex-1 overflow-y-auto px-5 py-4",children:d.raw?(0,t.jsx)(r.MarkdownRenderer,{content:d.raw}):(0,t.jsx)("p",{className:"text-sm text-muted",children:"No content available."})})]})})})}],592381)},723528,e=>{"use strict";var t=e.i(72345),s=e.i(479432),a=e.i(240595),n=e.i(975157),r=e.i(244267);let i={running:"Agent working","needs-answer":"Agent needs you",review:"Plan to review"};e.s(["AgentDot",0,function({attach:e}){let s=(0,r.useItemAgent)(e);if(!s)return null;let o=i[s.status];return(0,t.jsx)("span",{title:o,"aria-label":o,role:"img",className:"inline-flex shrink-0",children:"running"===s.status?(0,t.jsx)(a.Loader2,{className:"size-3 animate-spin text-accent"}):(0,t.jsx)("span",{className:(0,n.cn)("size-1.5 rounded-full animate-pulse-dot","needs-answer"===s.status?"bg-amber":"bg-accent")})})},"AgentMark",0,function({attach:e,className:o}){let l=(0,r.useItemAgent)(e),{show:d}=(0,r.useChats)();if(!l)return null;let c=i[l.status];return(0,t.jsxs)("button",{type:"button",onClick:e=>{e.stopPropagation(),d(l.chatId)},title:`${c} \xb7 open chat`,"aria-label":`${c}, open chat`,className:(0,n.cn)("nodrag inline-flex shrink-0 items-center gap-1 rounded-full border px-1.5 py-px font-mono text-[10px] leading-4 animate-fade-in transition-colors duration-(--duration-fast)","running"===l.status&&"border-accent/50 text-accent hover:bg-accent/10","needs-answer"===l.status&&"border-amber/50 text-amber hover:bg-amber/10","review"===l.status&&"border-accent/50 bg-accent/10 text-accent hover:bg-accent/20",o),children:["running"===l.status?(0,t.jsx)(a.Loader2,{className:"size-3 animate-spin"}):(0,t.jsx)(s.Bot,{className:"size-3"}),c]})}])},635743,e=>{"use strict";var t=e.i(72345),s=e.i(975157);e.s(["EmptyState",0,function({icon:e,message:a,subMessage:n,bordered:r}){return(0,t.jsxs)("div",{className:(0,s.cn)("text-center py-16 text-muted text-sm",r&&"border border-dashed border-border rounded-xl"),children:[(0,t.jsx)("p",{className:"text-3xl mb-3",children:e}),(0,t.jsx)("p",{children:a}),n&&(0,t.jsx)("p",{className:"text-xs mt-1",children:n})]})}])}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,837001,t=>{"use strict";var e=t.i(83790);let s={name:"check",size:24,node:[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]};s.node;let a=(0,e.default)(s);t.s(["Check",0,a],837001)},155515,t=>{"use strict";var e=t.i(83790);let s={name:"plus",size:24,node:[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]};s.node;let a=(0,e.default)(s);t.s(["Plus",0,a],155515)},458055,t=>{"use strict";var e=t.i(83790);let s={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"]};s.node;let a=(0,e.default)(s);t.s(["Trash2",0,a],458055)},788293,463464,t=>{"use strict";var e=t.i(83790);let s={name:"zap",size:24,node:[["path",{d:"M15.914 4a1.5 1.5 0 00-2.474-1.561l-9 9A1.5 1.5 0 005.5 14h4.002a.5.5 0 01.471.666L8.086 20a1.5 1.5 0 002.475 1.56l9-9A1.5 1.5 0 0018.5 10h-3.997a.5.5 0 01-.472-.667z",key:"1v7up4"}]]};s.node;let a=(0,e.default)(s);t.s(["Zap",0,a],788293);let n={name:"settings",size:24,node:[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]};n.node;let c=(0,e.default)(n);t.s(["Settings",0,c],463464)},528427,t=>{t.v(e=>Promise.all(["static/chunks/3wehcul43z-up.js","static/chunks/090qol92bm3lm.js","static/chunks/16amofje8v-rw.js","static/chunks/2a46a9zwq8i_j.js","static/chunks/3rmz5_d6ve6ut.js","static/chunks/3ezb3p4b8ibl2.js","static/chunks/2uhr8khh963wn.js","static/chunks/2zy289po30i-l.js","static/chunks/2rubn40gv6g5w.js","static/chunks/25-4d7lo7j_n3.js"].map(e=>t.l(e))).then(()=>e(20832)))},476785,t=>{"use strict";var e=t.i(180338);let s=()=>()=>{};t.s(["useOrigin",0,function(){return(0,e.useSyncExternalStore)(s,()=>window.location.origin,()=>"")}])},573009,t=>{"use strict";var e=t.i(243668);t.s(["applyAccent",0,function(t){document.documentElement.setAttribute("data-accent",t)},"applyFontSize",0,function(t){document.documentElement.setAttribute("data-font-size",t)},"applyFonts",0,function(t){let s=document.documentElement;s.setAttribute("data-font-sans",t.fontSans??e.DEFAULT_SETTINGS.fontSans),s.setAttribute("data-font-mono",t.fontMono??e.DEFAULT_SETTINGS.fontMono)},"applyTheme",0,function(t){let e=document.documentElement,s=window.matchMedia("(prefers-color-scheme: dark)").matches;e.classList.toggle("dark","dark"===t||"system"===t&&s)}])}]);