tower-studio 0.2.40 → 0.2.42

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 (285) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-path-routes-manifest.json +2 -0
  3. package/.next/standalone/.next/build-manifest.json +3 -3
  4. package/.next/standalone/.next/prerender-manifest.json +3 -3
  5. package/.next/standalone/.next/routes-manifest.json +16 -0
  6. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  7. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  8. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  10. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  11. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  12. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  13. package/.next/standalone/.next/server/app/_not-found/page/react-loadable-manifest.json +3 -3
  14. package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +31 -31
  15. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  16. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  17. package/.next/standalone/.next/server/app/api/adapters/test/route.js +2 -2
  18. package/.next/standalone/.next/server/app/api/adapters/test/route.js.nft.json +1 -1
  19. package/.next/standalone/.next/server/app/api/browse-fs/route.js.nft.json +1 -1
  20. package/.next/standalone/.next/server/app/api/files/assets/[projectId]/[filename]/route.js.nft.json +1 -1
  21. package/.next/standalone/.next/server/app/api/git/route.js.nft.json +1 -1
  22. package/.next/standalone/.next/server/app/api/internal/assets/[projectId]/[filename]/route.js.nft.json +1 -1
  23. package/.next/standalone/.next/server/app/api/internal/assets/reveal/route.js.nft.json +1 -1
  24. package/.next/standalone/.next/server/app/api/internal/assistant/attachments/route.js +1 -1
  25. package/.next/standalone/.next/server/app/api/internal/assistant/attachments/route.js.nft.json +1 -1
  26. package/.next/standalone/.next/server/app/api/internal/assistant/chat/route.js +1 -1
  27. package/.next/standalone/.next/server/app/api/internal/assistant/chat/route.js.nft.json +1 -1
  28. package/.next/standalone/.next/server/app/api/internal/assistant/route.js +1 -1
  29. package/.next/standalone/.next/server/app/api/internal/assistant/route.js.nft.json +1 -1
  30. package/.next/standalone/.next/server/app/api/internal/assistant/sessions/route.js +1 -1
  31. package/.next/standalone/.next/server/app/api/internal/assistant/sessions/route.js.nft.json +1 -1
  32. package/.next/standalone/.next/server/app/api/internal/backup/import/route.js +1 -1
  33. package/.next/standalone/.next/server/app/api/internal/backup/import/route.js.nft.json +1 -1
  34. package/.next/standalone/.next/server/app/api/internal/cache/[...segments]/route.js.nft.json +1 -1
  35. package/.next/standalone/.next/server/app/api/internal/hooks/install/route.js +2 -3
  36. package/.next/standalone/.next/server/app/api/internal/hooks/install/route.js.nft.json +1 -1
  37. package/.next/standalone/.next/server/app/api/internal/hooks/stop/route.js +1 -1
  38. package/.next/standalone/.next/server/app/api/internal/hooks/stop/route.js.nft.json +1 -1
  39. package/.next/standalone/.next/server/app/api/internal/hooks/upload/route.js +1 -1
  40. package/.next/standalone/.next/server/app/api/internal/hooks/upload/route.js.nft.json +1 -1
  41. package/.next/standalone/.next/server/app/api/internal/monaco/[...path]/route.js.nft.json +1 -1
  42. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/buffer/route.js.nft.json +1 -1
  43. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/input/route.js.nft.json +1 -1
  44. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/resume/route/app-paths-manifest.json +3 -0
  45. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/resume/route/build-manifest.json +9 -0
  46. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/resume/route/server-reference-manifest.json +4 -0
  47. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/resume/route.js +11 -0
  48. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/resume/route.js.nft.json +1 -0
  49. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/resume/route_client-reference-manifest.js +3 -0
  50. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/start/route.js +5 -5
  51. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/start/route.js.nft.json +1 -1
  52. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/stop/route/app-paths-manifest.json +3 -0
  53. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/stop/route/build-manifest.json +9 -0
  54. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/stop/route/server-reference-manifest.json +4 -0
  55. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/stop/route.js +11 -0
  56. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/stop/route.js.nft.json +1 -0
  57. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/stop/route_client-reference-manifest.js +3 -0
  58. package/.next/standalone/.next/server/app/api/tasks/[taskId]/diff/route.js +1 -1
  59. package/.next/standalone/.next/server/app/api/tasks/[taskId]/diff/route.js.nft.json +1 -1
  60. package/.next/standalone/.next/server/app/api/tasks/[taskId]/diff-patch/route.js +1 -1
  61. package/.next/standalone/.next/server/app/api/tasks/[taskId]/diff-patch/route.js.nft.json +1 -1
  62. package/.next/standalone/.next/server/app/api/tasks/[taskId]/merge/route.js +1 -1
  63. package/.next/standalone/.next/server/app/api/tasks/[taskId]/merge/route.js.nft.json +1 -1
  64. package/.next/standalone/.next/server/app/missions/page/react-loadable-manifest.json +2 -2
  65. package/.next/standalone/.next/server/app/missions/page/server-reference-manifest.json +118 -118
  66. package/.next/standalone/.next/server/app/missions/page.js +2 -3
  67. package/.next/standalone/.next/server/app/missions/page.js.nft.json +1 -1
  68. package/.next/standalone/.next/server/app/missions/page_client-reference-manifest.js +1 -1
  69. package/.next/standalone/.next/server/app/onboarding/page/react-loadable-manifest.json +3 -3
  70. package/.next/standalone/.next/server/app/onboarding/page/server-reference-manifest.json +31 -31
  71. package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
  72. package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  73. package/.next/standalone/.next/server/app/page/react-loadable-manifest.json +3 -3
  74. package/.next/standalone/.next/server/app/page/server-reference-manifest.json +31 -31
  75. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  76. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  77. package/.next/standalone/.next/server/app/settings/page/react-loadable-manifest.json +3 -3
  78. package/.next/standalone/.next/server/app/settings/page/server-reference-manifest.json +48 -48
  79. package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
  80. package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  81. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page/react-loadable-manifest.json +3 -3
  82. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page/server-reference-manifest.json +118 -106
  83. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page.js.nft.json +1 -1
  84. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page_client-reference-manifest.js +1 -1
  85. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page/react-loadable-manifest.json +3 -3
  86. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page/server-reference-manifest.json +97 -85
  87. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page.js.nft.json +1 -1
  88. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page_client-reference-manifest.js +1 -1
  89. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page/react-loadable-manifest.json +3 -3
  90. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page/server-reference-manifest.json +74 -62
  91. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page.js.nft.json +1 -1
  92. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page_client-reference-manifest.js +1 -1
  93. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page/react-loadable-manifest.json +3 -3
  94. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page/server-reference-manifest.json +77 -77
  95. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page.js.nft.json +1 -1
  96. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page_client-reference-manifest.js +1 -1
  97. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/react-loadable-manifest.json +3 -3
  98. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/server-reference-manifest.json +31 -31
  99. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page.js.nft.json +1 -1
  100. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page_client-reference-manifest.js +1 -1
  101. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page/react-loadable-manifest.json +3 -3
  102. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page/server-reference-manifest.json +73 -73
  103. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page.js.nft.json +1 -1
  104. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page_client-reference-manifest.js +1 -1
  105. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/react-loadable-manifest.json +4 -4
  106. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/server-reference-manifest.json +88 -76
  107. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page.js.nft.json +1 -1
  108. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page_client-reference-manifest.js +1 -1
  109. package/.next/standalone/.next/server/app/workspaces/page/react-loadable-manifest.json +3 -3
  110. package/.next/standalone/.next/server/app/workspaces/page/server-reference-manifest.json +59 -47
  111. package/.next/standalone/.next/server/app/workspaces/page.js.nft.json +1 -1
  112. package/.next/standalone/.next/server/app/workspaces/page_client-reference-manifest.js +1 -1
  113. package/.next/standalone/.next/server/app-paths-manifest.json +2 -0
  114. package/.next/standalone/.next/server/chunks/07-d_@anthropic-ai_claude-agent-sdk_sdk_mjs_0.721uk._.js +16 -9
  115. package/.next/standalone/.next/server/chunks/0se9_next_dist_esm_build_templates_app-route_0eh8dj_.js +5 -5
  116. package/.next/standalone/.next/server/chunks/0zjb_server_app_api_internal_terminal_[taskId]_resume_route_actions_0uascj..js +3 -0
  117. package/.next/standalone/.next/server/chunks/0zjb_server_app_api_internal_terminal_[taskId]_stop_route_actions_0r3bvc-.js +3 -0
  118. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0.tbb~k._.js +3 -0
  119. package/.next/standalone/.next/server/chunks/[root-of-the-server]__05zlbau._.js +4 -0
  120. package/.next/standalone/.next/server/chunks/[root-of-the-server]__06qz5fz._.js +4 -0
  121. package/.next/standalone/.next/server/chunks/[root-of-the-server]__075f7rs._.js +4 -0
  122. package/.next/standalone/.next/server/chunks/[root-of-the-server]__08b~~wj._.js +3 -0
  123. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__037x-0a._.js → [root-of-the-server]__0askhfg._.js} +4 -4
  124. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__04u7b2g._.js → [root-of-the-server]__0bo_6v~._.js} +2 -2
  125. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0e~6fr~._.js +3 -0
  126. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0kexk71._.js → [root-of-the-server]__0fxmnch._.js} +3 -3
  127. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0gr~8aq._.js +3 -0
  128. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0hd.0to._.js +3 -0
  129. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0g2lv9x._.js → [root-of-the-server]__0j3l3l4._.js} +2 -2
  130. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0obk~80._.js +28 -0
  131. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__05nz.tg._.js → [root-of-the-server]__0skk0fd._.js} +2 -2
  132. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0ag-i9m._.js → [root-of-the-server]__0v2nkck._.js} +2 -2
  133. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0~6py0f._.js +4 -0
  134. package/.next/standalone/.next/server/chunks/[root-of-the-server]__126b53k._.js +4 -0
  135. package/.next/standalone/.next/server/chunks/_0aflzks._.js +7 -0
  136. package/.next/standalone/.next/server/chunks/_0b~hjvi._.js +7 -0
  137. package/.next/standalone/.next/server/chunks/_0qk_esg._.js +4 -0
  138. package/.next/standalone/.next/server/chunks/src_02ruq-1._.js +1 -1
  139. package/.next/standalone/.next/server/chunks/src_07gek7k._.js +3 -0
  140. package/.next/standalone/.next/server/chunks/src_0mqkaid._.js +3 -0
  141. package/.next/standalone/.next/server/chunks/src_actions_agent-actions_ts_10q9r5b._.js +4 -0
  142. package/.next/standalone/.next/server/chunks/ssr/0iu._[workspaceId]_projects_[projectId]_versions_version-timeline-client_tsx_07o_kyi._.js +1 -1
  143. package/.next/standalone/.next/server/chunks/ssr/{0ws9_lucide-react_dist_esm_icons_10_90yo._.js → 0ws9_lucide-react_dist_esm_icons_0pkla8j._.js} +2 -2
  144. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0.-z9ts._.js +1 -1
  145. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__038u_kv._.js +3 -3
  146. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__045k323._.js +3 -0
  147. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__04wbr9x._.js +1 -1
  148. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__058rbx5._.js +3 -3
  149. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__05xg05r._.js +1 -1
  150. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__087pocz._.js +3 -0
  151. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0c2mh1c._.js +47 -0
  152. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ce3fpq._.js +3 -3
  153. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0dsaqeq._.js +3 -0
  154. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0gt5dbj._.js +3 -0
  155. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0h-se8t._.js +3 -0
  156. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0h589~0._.js +3 -3
  157. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0jymb~t._.js +1 -1
  158. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0oq-j16._.js +3 -3
  159. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0whlq2_._.js +4 -0
  160. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0z7je5_._.js +1 -1
  161. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__10s67lq._.js +3 -3
  162. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12w35bx._.js +3 -3
  163. package/.next/standalone/.next/server/chunks/ssr/_0-~9em3._.js +1 -1
  164. package/.next/standalone/.next/server/chunks/ssr/_03lt1_x._.js +3 -3
  165. package/.next/standalone/.next/server/chunks/ssr/_04~zqvy._.js +3 -3
  166. package/.next/standalone/.next/server/chunks/ssr/_070t_mh._.js +2 -2
  167. package/.next/standalone/.next/server/chunks/ssr/{_0_z-t6g._.js → _08bq4g8._.js} +2 -2
  168. package/.next/standalone/.next/server/chunks/ssr/{_0t863nl._.js → _09z2zmm._.js} +1 -1
  169. package/.next/standalone/.next/server/chunks/ssr/_0_5abui._.js +3 -0
  170. package/.next/standalone/.next/server/chunks/ssr/_0axcfvf._.js +3 -0
  171. package/.next/standalone/.next/server/chunks/ssr/_0c2gong._.js +3 -0
  172. package/.next/standalone/.next/server/chunks/ssr/_0cj9a7y._.js +1 -1
  173. package/.next/standalone/.next/server/chunks/ssr/{_0ecu98s._.js → _0dye20y._.js} +2 -2
  174. package/.next/standalone/.next/server/chunks/ssr/{_0zqwuq~._.js → _0f~l8kv._.js} +3 -3
  175. package/.next/standalone/.next/server/chunks/ssr/{_0o3rthp._.js → _0m.wslt._.js} +2 -2
  176. package/.next/standalone/.next/server/chunks/ssr/_0o2tntr._.js +3 -0
  177. package/.next/standalone/.next/server/chunks/ssr/_0p6p_68._.js +3 -3
  178. package/.next/standalone/.next/server/chunks/ssr/{_0u_uywm._.js → _0q2mf9q._.js} +1 -1
  179. package/.next/standalone/.next/server/chunks/ssr/_0rdyrfd._.js +1 -1
  180. package/.next/standalone/.next/server/chunks/ssr/{_0be3783._.js → _0rq68d8._.js} +2 -2
  181. package/.next/standalone/.next/server/chunks/ssr/{_0hh17jg._.js → _0rxeqmo._.js} +2 -2
  182. package/.next/standalone/.next/server/chunks/ssr/{_07_8m~l._.js → _0u.n7v8._.js} +2 -2
  183. package/.next/standalone/.next/server/chunks/ssr/_0u7c6bz._.js +3 -3
  184. package/.next/standalone/.next/server/chunks/ssr/_0wbcp88._.js +1 -1
  185. package/.next/standalone/.next/server/chunks/ssr/_0whlnt7._.js +3 -0
  186. package/.next/standalone/.next/server/chunks/ssr/_0~oc5bl._.js +3 -0
  187. package/.next/standalone/.next/server/chunks/ssr/_116-_2z._.js +3 -0
  188. package/.next/standalone/.next/server/chunks/ssr/_12ca88g._.js +3 -3
  189. package/.next/standalone/.next/server/chunks/ssr/src_0djxlqx._.js +1 -1
  190. package/.next/standalone/.next/server/chunks/ssr/src_0eufeyj._.js +1 -1
  191. package/.next/standalone/.next/server/chunks/ssr/src_actions_agent-actions_ts_0~wc.sy._.js +2 -2
  192. package/.next/standalone/.next/server/chunks/ssr/src_actions_file-actions_ts_0gcvqwm._.js +1 -1
  193. package/.next/standalone/.next/server/chunks/ssr/src_app_missions_missions-client_tsx_11429lj._.js +1 -1
  194. package/.next/standalone/.next/server/chunks/ssr/src_app_onboarding_page_tsx_0xf7hpz._.js +1 -1
  195. package/.next/standalone/.next/server/chunks/ssr/src_app_settings_page_tsx_0h9v7dr._.js +1 -1
  196. package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_assets_assets-page-client_tsx_0wyzpam._.js +1 -1
  197. package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_board-page-client_tsx_0gips66._.js +1 -1
  198. package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_notes_notes-page-client_tsx_10gyo3v._.js +1 -1
  199. package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_tasks_[taskId]_task-page-client_tsx_02t7blt._.js +1 -1
  200. package/.next/standalone/.next/server/chunks/ssr/src_components_ui_select_tsx_0d2ra01._.js +1 -1
  201. package/.next/standalone/.next/server/chunks/ssr/{src_lib_11w~.ge._.js → src_lib_0x6grav._.js} +1 -1
  202. package/.next/standalone/.next/server/functions-config-manifest.json +2 -0
  203. package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
  204. package/.next/standalone/.next/server/pages/500.html +1 -1
  205. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  206. package/.next/standalone/.next/server/server-reference-manifest.json +364 -322
  207. package/.next/standalone/.next/static/chunks/0-efd~h5j2ufi.js +1 -0
  208. package/.next/standalone/.next/static/chunks/{0s6gcjv24hfkq.js → 0.onaugl2w8ci.js} +1 -1
  209. package/.next/standalone/.next/static/chunks/{03jo4masky_ji.js → 0.wxa05y455w7.js} +1 -1
  210. package/.next/standalone/.next/static/chunks/{0nc-n~ecfjozt.js → 0.z171pzeg-.7.js} +1 -1
  211. package/.next/standalone/.next/static/chunks/01zlxs4rl~h_o.js +1 -0
  212. package/.next/standalone/.next/static/chunks/{0vm6adb7s2i4g.js → 02f8-ju2se8qw.js} +1 -1
  213. package/.next/standalone/.next/static/chunks/{0roncmx7dp-47.js → 035a_v6g7ioyw.js} +1 -1
  214. package/.next/standalone/.next/static/chunks/{11brr5_f60yx-.js → 040j8d.w8mkyn.js} +1 -1
  215. package/.next/standalone/.next/static/chunks/0_d04kox03m72.css +1 -0
  216. package/.next/standalone/.next/static/chunks/0af7afat3acfx.js +1 -0
  217. package/.next/standalone/.next/static/chunks/0ais32-8.3wlj.js +1 -0
  218. package/.next/standalone/.next/static/chunks/{0tb.0x~6y.21w.js → 0bdwzhoelky9-.js} +1 -1
  219. package/.next/standalone/.next/static/chunks/{0.65.u3zhwau~.js → 0clewc5ifaruu.js} +1 -1
  220. package/.next/standalone/.next/static/chunks/0dewfthzwmcwb.js +1 -0
  221. package/.next/standalone/.next/static/chunks/0f43x~jzb70f4.js +1 -0
  222. package/.next/standalone/.next/static/chunks/{0v.l5.sqos562.js → 0i-x__600fys6.js} +1 -1
  223. package/.next/standalone/.next/static/chunks/{050agjgyp545k.js → 0l25d0nc5ygyd.js} +1 -1
  224. package/.next/standalone/.next/static/chunks/0lyq0-a32.15m.js +1 -0
  225. package/.next/standalone/.next/static/chunks/{0~33w7-91bik-.js → 0m~m1~si.ot17.js} +1 -1
  226. package/.next/standalone/.next/static/chunks/{0bq80txkiwk0q.js → 0rozlwh3y46l0.js} +1 -1
  227. package/.next/standalone/.next/static/chunks/{1821tyytk30ed.js → 0t8lz62rmr801.js} +2 -2
  228. package/.next/standalone/.next/static/chunks/0utrquxfg25b2.js +1 -0
  229. package/.next/standalone/.next/static/chunks/{0bx6xpa7fgedh.js → 0wcdxs4sl-gjf.js} +1 -1
  230. package/.next/standalone/.next/static/chunks/0wcwdbtpm0~r6.js +1 -0
  231. package/.next/standalone/.next/static/chunks/0x-ug4iz~~qr2.js +1 -0
  232. package/.next/standalone/.next/static/chunks/0xj6v_80hlyv0.js +1 -0
  233. package/.next/standalone/.next/static/chunks/0xl7h5fsfc7zk.js +1 -0
  234. package/.next/standalone/.next/static/chunks/{0xxn47mtozln~.js → 0ypd9eqm_pj-o.js} +1 -1
  235. package/.next/standalone/.next/static/chunks/115ae91fq~slq.js +1 -0
  236. package/.next/standalone/.next/static/chunks/{120u45g91sx4q.js → 13.3woq55msp..js} +1 -1
  237. package/.next/standalone/.next/static/chunks/17fug-zaik-v~.js +1 -0
  238. package/.next/standalone/.next/static/chunks/{0v8apmh_d7lz3.js → 17m4o~gdsvuo3.js} +1 -1
  239. package/.next/standalone/package.json +1 -1
  240. package/README.md +25 -3
  241. package/README.zh.md +25 -3
  242. package/dist/mcp-server.cjs +115 -0
  243. package/package.json +1 -1
  244. package/.next/standalone/.next/server/chunks/0se9_next_dist_esm_build_templates_app-route_0hrprmi.js +0 -4
  245. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0.wld9h._.js +0 -3
  246. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0.z8.oi._.js +0 -4
  247. package/.next/standalone/.next/server/chunks/[root-of-the-server]__02jy80j._.js +0 -4
  248. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0az764e._.js +0 -3
  249. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0d1bhsb._.js +0 -28
  250. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0kuo6q5._.js +0 -4
  251. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0np.553._.js +0 -4
  252. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0u_-4~7._.js +0 -3
  253. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__01kyzx1._.js +0 -3
  254. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__02mo_kb._.js +0 -3
  255. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__02~6htc._.js +0 -4
  256. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__077c1-u._.js +0 -3
  257. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0da~mv~._.js +0 -47
  258. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ea-1l0._.js +0 -3
  259. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__10~3-.h._.js +0 -3
  260. package/.next/standalone/.next/server/chunks/ssr/_0-_yznx._.js +0 -43
  261. package/.next/standalone/.next/server/chunks/ssr/_04jcctt._.js +0 -3
  262. package/.next/standalone/.next/server/chunks/ssr/_0a-.s7z._.js +0 -3
  263. package/.next/standalone/.next/server/chunks/ssr/_0aqfqr5._.js +0 -3
  264. package/.next/standalone/.next/server/chunks/ssr/_0g8mw1b._.js +0 -3
  265. package/.next/standalone/.next/server/chunks/ssr/_0qrc1eu._.js +0 -3
  266. package/.next/standalone/.next/server/chunks/ssr/_0~cy-h1._.js +0 -3
  267. package/.next/standalone/.next/server/chunks/ssr/_11rjd4d._.js +0 -3
  268. package/.next/standalone/.next/static/chunks/02zqmiej0opg7.js +0 -1
  269. package/.next/standalone/.next/static/chunks/03rl6s3rpptas.js +0 -1
  270. package/.next/standalone/.next/static/chunks/05n5tgexx2_92.js +0 -1
  271. package/.next/standalone/.next/static/chunks/0651zmy-w~saj.js +0 -1
  272. package/.next/standalone/.next/static/chunks/09ossbd-6zx4g.js +0 -1
  273. package/.next/standalone/.next/static/chunks/0_d-xz2x5qb_c.js +0 -1
  274. package/.next/standalone/.next/static/chunks/0dp-d685xgb68.js +0 -1
  275. package/.next/standalone/.next/static/chunks/0kf6kwtt_mouu.js +0 -1
  276. package/.next/standalone/.next/static/chunks/0l2-qbv0tx44i.js +0 -1
  277. package/.next/standalone/.next/static/chunks/0l3n_2z5xfhor.js +0 -1
  278. package/.next/standalone/.next/static/chunks/0mu2posb9cg4b.js +0 -1
  279. package/.next/standalone/.next/static/chunks/0t1nk8jlwgyb-.js +0 -1
  280. package/.next/standalone/.next/static/chunks/0~qrkswofk7zn.css +0 -1
  281. package/.next/standalone/.next/static/chunks/16e-u8e~pzz_-.js +0 -1
  282. package/.next/standalone/.next/static/chunks/183m8iouij_n8.js +0 -1
  283. /package/.next/standalone/.next/static/{wtOlqKEl8oeuEeWLbCnuv → LCBoYZWhXzs8PjuBmxw7g}/_buildManifest.js +0 -0
  284. /package/.next/standalone/.next/static/{wtOlqKEl8oeuEeWLbCnuv → LCBoYZWhXzs8PjuBmxw7g}/_clientMiddlewareManifest.js +0 -0
  285. /package/.next/standalone/.next/static/{wtOlqKEl8oeuEeWLbCnuv → LCBoYZWhXzs8PjuBmxw7g}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,368490,e=>{"use strict";var t=e.i(776405);e.s(["ChevronRight",()=>t.default])},875840,e=>{"use strict";let t=(0,e.i(572989).default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);e.s(["Copy",0,t],875840)},254826,309735,e=>{"use strict";var t=e.i(990216);e.s([],254826),e.s(["Streamdown",()=>t.C],309735)},313029,e=>{"use strict";let t=(0,e.i(572989).default)("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);e.s(["Square",0,t],313029)},673984,e=>{"use strict";let t=(0,e.i(572989).default)("user",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);e.s(["User",0,t],673984)},113627,e=>{"use strict";var t=e.i(289721),s=e.i(965652),a=e.i(989548),r=e.i(572989);let n=(0,r.default)("clipboard-list",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}],["path",{d:"M12 11h4",key:"1jrz19"}],["path",{d:"M12 16h4",key:"n85exb"}],["path",{d:"M8 11h.01",key:"1dfujw"}],["path",{d:"M8 16h.01",key:"18s6g9"}]]);var i=e.i(275360),l=e.i(400355),o=e.i(232545),c=e.i(738690);let d=(0,r.default)("send-horizontal",[["path",{d:"M3.714 3.048a.498.498 0 0 0-.683.627l2.843 7.627a2 2 0 0 1 0 1.396l-2.842 7.627a.498.498 0 0 0 .682.627l18-8.5a.5.5 0 0 0 0-.904z",key:"117uat"}],["path",{d:"M6 12h16",key:"s4cdu5"}]]);var u=e.i(313029);let m=(0,r.default)("trending-up",[["path",{d:"M16 7h6v6",key:"box55l"}],["path",{d:"m22 7-8.5 8.5-5-5L2 17",key:"1t1m79"}]]);var x=e.i(759684),p=e.i(624687),h=e.i(519455),f=e.i(746798),g=e.i(533499),b=e.i(338187),v=e.i(597746),j=e.i(368490),y=e.i(875840),w=e.i(645378);let N=(0,r.default)("image-off",[["line",{x1:"2",x2:"22",y1:"2",y2:"22",key:"a6p6uj"}],["path",{d:"M10.41 10.41a2 2 0 1 1-2.83-2.83",key:"1bzlo9"}],["line",{x1:"13.5",x2:"6",y1:"13.5",y2:"21",key:"1q0aeu"}],["line",{x1:"18",x2:"21",y1:"12",y2:"15",key:"5mozeu"}],["path",{d:"M3.59 3.59A1.99 1.99 0 0 0 3 5v14a2 2 0 0 0 2 2h14c.55 0 1.052-.22 1.41-.59",key:"mmje98"}],["path",{d:"M21 15V5a2 2 0 0 0-2-2H9",key:"43el77"}]]);var k=e.i(673984);let C=["jpg","jpeg","png","gif","webp"],z=["md","txt","json","csv"],R=[...C,...z].join("|"),T=RegExp(`^\\d{4}-\\d{2}/(images|files)/[^/]+\\.(${R})$`,"i");function U(e){let t=e.replace(/^\./,"").toLowerCase();return C.includes(t)?"image":z.includes(t)?"text":null}let A=[...C.map(e=>`.${e}`),...z.map(e=>`.${e}`),"image/*"].join(",");e.i(254826);var S=e.i(309735);function I({content:e,isStreaming:s}){return(0,t.jsx)(S.Streamdown,{className:"text-sm leading-relaxed [&>*:first-child]:mt-0 [&>*:last-child]:mb-0 [&_td]:whitespace-nowrap",mode:s?"streaming":"static",animated:!0,isAnimating:s,caret:s?"block":void 0,children:e})}function P({text:e,className:a}){let[r,n]=(0,s.useState)(!1),{t:i}=(0,g.useI18n)(),l=async t=>{t.stopPropagation();try{if(navigator.clipboard)await navigator.clipboard.writeText(e);else{let t=document.createElement("textarea");t.value=e,document.body.appendChild(t),t.select(),document.execCommand("copy"),document.body.removeChild(t)}n(!0),setTimeout(()=>n(!1),1500)}catch{}};return(0,t.jsx)(h.Button,{variant:"ghost",size:"icon-xs",onClick:l,className:`text-muted-foreground ${a??""}`,"aria-label":i("assistant.copy"),children:r?(0,t.jsx)(v.Check,{className:"h-3 w-3 text-emerald-400"}):(0,t.jsx)(y.Copy,{className:"h-3 w-3"})})}function M({filename:e,onPreview:a}){let{t:r}=(0,g.useI18n)(),[n,i]=(0,s.useState)(!1),l=`/api/internal/cache/${e}`;return n?(0,t.jsx)("div",{className:"size-16 rounded-md bg-muted flex items-center justify-center",title:r("assistant.brokenImage"),children:(0,t.jsx)(N,{className:"size-4 text-muted-foreground"})}):(0,t.jsx)("button",{type:"button",className:"relative size-16 rounded-md overflow-hidden bg-muted shrink-0",onClick:()=>a?.(l),children:(0,t.jsx)("img",{src:l,alt:"",loading:"lazy",className:"size-16 rounded-md object-cover cursor-pointer hover:opacity-80 transition-opacity",onError:()=>i(!0)})})}function D({filename:e}){let s=`/api/internal/cache/${e}`,a=e.split("/").pop()??e;return(0,t.jsxs)("a",{href:s,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1.5 px-2 py-1 rounded-md bg-primary-foreground/10 text-primary-foreground hover:bg-primary-foreground/20 transition-colors max-w-[180px]",title:a,children:[(0,t.jsx)(w.FileText,{className:"size-3.5 shrink-0"}),(0,t.jsx)("span",{className:"text-xs truncate",children:a})]})}function L({content:e,attachmentFilenames:s,onImagePreview:a}){let r=[],n=[];if(s)for(let e of s){let t=function(e){if(!T.test(e))return null;let t=e.lastIndexOf(".");return t<0?null:U(e.slice(t+1))}(e);"image"===t?r.push(e):"text"===t&&n.push(e)}return(0,t.jsxs)("div",{className:"flex justify-end gap-2 animate-in fade-in slide-in-from-bottom-2 duration-200","aria-label":"You",children:[(0,t.jsxs)("div",{className:"bg-primary text-primary-foreground max-w-[80%] rounded-2xl rounded-br-sm px-3 py-2 text-sm whitespace-pre-wrap break-words",children:[r.length>0&&(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5 mb-2",style:{maxWidth:"calc(4 * 64px + 3 * 6px)"},children:r.map(e=>(0,t.jsx)(M,{filename:e,onPreview:a},e))}),n.length>0&&(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5 mb-2",children:n.map(e=>(0,t.jsx)(D,{filename:e},e))}),e]}),(0,t.jsx)("div",{className:"flex size-7 shrink-0 items-center justify-center rounded-full bg-muted mt-1",children:(0,t.jsx)(k.User,{className:"size-3.5 text-muted-foreground"})})]})}function E({content:e,isStreaming:s}){return(0,t.jsxs)("div",{className:"group/bubble flex justify-start gap-2 animate-in fade-in slide-in-from-bottom-2 duration-200","aria-label":"Assistant",children:[(0,t.jsx)("div",{className:"flex size-7 shrink-0 items-center justify-center rounded-full bg-primary/10 mt-1",children:(0,t.jsx)(a.Bot,{className:"size-3.5 text-primary"})}),(0,t.jsxs)("div",{className:"max-w-[85%] min-w-0",children:[(0,t.jsx)("div",{className:"bg-muted text-foreground rounded-2xl rounded-bl-sm px-3 py-2",children:(0,t.jsx)(I,{content:e,isStreaming:s})}),(0,t.jsx)("div",{className:"flex items-center gap-0.5 mt-0.5 opacity-0 group-hover/bubble:opacity-100 transition-opacity",children:(0,t.jsx)(P,{text:e})})]})]})}function O(){let{t:e}=(0,g.useI18n)();return(0,t.jsxs)("div",{className:"flex justify-start gap-2 animate-in fade-in slide-in-from-bottom-2 duration-200",role:"status","aria-live":"polite","aria-label":e("assistant.thinking"),children:[(0,t.jsx)("div",{className:"flex size-7 shrink-0 items-center justify-center rounded-full bg-primary/10 mt-1",children:(0,t.jsx)(a.Bot,{className:"size-3.5 text-primary"})}),(0,t.jsx)("div",{className:"bg-muted/50 text-muted-foreground max-w-[200px] rounded-2xl rounded-bl-sm px-3 py-2",children:(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[(0,t.jsx)("span",{className:"size-1.5 rounded-full bg-primary/60 animate-pulse",style:{animationDelay:"0ms"}}),(0,t.jsx)("span",{className:"size-1.5 rounded-full bg-primary/60 animate-pulse",style:{animationDelay:"150ms"}}),(0,t.jsx)("span",{className:"size-1.5 rounded-full bg-primary/60 animate-pulse",style:{animationDelay:"300ms"}})]})})]})}function $({content:e,toolName:a}){let[r,n]=(0,s.useState)(!1),{t:i}=(0,g.useI18n)(),l=a??i("assistant.toolLabel");return(0,t.jsxs)("div",{className:"group/tool flex justify-start gap-2 animate-in fade-in slide-in-from-bottom-2 duration-200",children:[(0,t.jsx)("div",{className:"size-7 shrink-0"}),(0,t.jsxs)("div",{className:"bg-muted/60 border border-border max-w-[90%] rounded-lg px-3 py-1",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5 w-full text-left py-0.5 cursor-pointer",onClick:()=>n(e=>!e),role:"button","aria-expanded":r,"aria-label":i("assistant.expandTool"),children:[(0,t.jsx)(j.ChevronRight,{className:`h-3.5 w-3.5 text-muted-foreground shrink-0 transition-transform duration-150 ${r?"rotate-90":""}`}),(0,t.jsx)("span",{className:"text-xs font-semibold text-foreground truncate",children:l}),(0,t.jsx)("span",{className:"flex-1"}),(0,t.jsx)(P,{text:e,className:"opacity-0 group-hover/tool:opacity-100"}),(0,t.jsx)("span",{className:"bg-muted text-muted-foreground text-[10px] px-1.5 rounded shrink-0",children:i("assistant.toolLabel")})]}),r&&(0,t.jsx)("div",{className:"mt-1 mb-1 rounded-md bg-background/60 border border-border/60 px-2.5 py-1.5",children:(0,t.jsx)("pre",{className:"font-mono text-[12px] leading-relaxed max-h-[240px] overflow-auto whitespace-pre-wrap break-all text-muted-foreground",children:e})})]})]})}function F({message:e,onImagePreview:s}){switch(e.role){case"user":return(0,t.jsx)(L,{content:e.content,attachmentFilenames:e.attachmentFilenames,onImagePreview:s});case"assistant":return(0,t.jsx)(E,{content:e.content,isStreaming:e.isStreaming});case"thinking":return(0,t.jsx)(O,{});case"tool":return(0,t.jsx)($,{content:e.content,toolName:e.toolName});default:return null}}var B=e.i(938499),q=e.i(657153);function H(e){let t=0;for(let s of e){let e=s.codePointAt(0)??0;e>=12288&&e<=40959||e>=44032&&e<=55215||e>=65280&&e<=65519||e>=131072?t+=2:t+=1}return t}function K(e,t){let s=0,a="";for(let r of e){let e=H(r);if(s+e>t)break;a+=r,s+=e}return a}function V({pendingAttachments:e,onRemove:s,onPreview:a}){let{t:r}=(0,g.useI18n)(),n=e.filter(e=>"image"===e.kind);return 0===n.length?null:(0,t.jsx)("div",{className:"flex flex-row flex-wrap items-center gap-2 px-3 py-2 border-b border-border/60",children:n.map(e=>(0,t.jsx)(_,{item:e,onRemove:s,onPreview:a,t:r},e.id))})}function X({pendingAttachments:e,onRemove:s}){let{t:a}=(0,g.useI18n)(),r=e.filter(e=>"text"===e.kind);return 0===r.length?null:(0,t.jsx)("div",{className:"flex flex-row flex-wrap items-center gap-2 px-3 py-2 border-b border-border/60",children:r.map(e=>(0,t.jsx)(W,{item:e,onRemove:s,t:a},e.id))})}function _({item:e,onRemove:s,onPreview:a,t:r}){return(0,t.jsxs)("div",{className:"group relative h-9 w-9 shrink-0",children:[(0,t.jsxs)("div",{className:`relative h-full w-full overflow-hidden rounded-md border ${"error"===e.status?"border-destructive":"border-border"} bg-muted`,children:[(0,t.jsx)("button",{type:"button",className:`h-full w-full p-0 border-0 bg-transparent ${"uploading"===e.status?"cursor-wait":"cursor-pointer"}`,disabled:"uploading"===e.status,"aria-label":r("assistant.previewImage"),onClick:()=>a(e),children:e.blobUrl&&(0,t.jsx)("img",{src:e.blobUrl,className:"h-full w-full object-cover",alt:""})}),"uploading"===e.status&&(0,t.jsx)("div",{className:"absolute inset-x-0 bottom-0 h-0.5 bg-primary/20",children:(0,t.jsx)("div",{role:"progressbar","aria-valuenow":e.progress,"aria-valuemin":0,"aria-valuemax":100,className:"h-full bg-primary transition-all duration-150",style:{width:`${e.progress}%`}})}),"error"===e.status&&(0,t.jsx)("div",{className:"absolute inset-0 flex items-center justify-center bg-black/50",children:(0,t.jsx)(B.AlertCircle,{className:"h-3.5 w-3.5 text-white"})})]}),(0,t.jsx)(J,{item:e,onRemove:s,t:r})]})}function W({item:e,onRemove:s,t:a}){let r=function(e,t=22){if(H(e)<=t)return e;let s=e.lastIndexOf("."),a=s>0&&e.length-s<=8,r=a?e.slice(s):"",n=a?e.slice(0,s):e,i=t-H(r)-1;if(i<4)return K(e,t-1)+"…";let l=Math.ceil(i/2);return K(n,l)+"…"+function(e,t){let s=Array.from(e),a=0,r="";for(let e=s.length-1;e>=0;e--){let n=H(s[e]);if(a+n>t)break;r=s[e]+r,a+=n}return r}(n,i-l)+r}(e.file.name,22);return(0,t.jsxs)("div",{className:`group relative flex items-center h-7 w-[200px] shrink-0 rounded-md border bg-background overflow-hidden transition-colors ${"error"===e.status?"border-destructive":"border-border hover:bg-accent/40"}`,title:e.file.name,children:[(0,t.jsx)("button",{type:"button",className:"flex h-full w-7 shrink-0 items-center justify-center text-muted-foreground hover:bg-destructive/10 hover:text-destructive transition-colors","aria-label":a("assistant.removeAttachment"),onClick:t=>{t.stopPropagation(),s(e.id)},children:(0,t.jsx)(q.X,{className:"h-3 w-3"})}),(0,t.jsx)("div",{className:"h-4 w-px bg-border shrink-0"}),(0,t.jsx)("span",{className:"px-2 text-xs text-foreground tabular-nums whitespace-nowrap",children:r}),"uploading"===e.status&&(0,t.jsx)("div",{className:"pointer-events-none absolute inset-x-0 bottom-0 h-0.5 overflow-hidden",children:(0,t.jsx)("div",{role:"progressbar","aria-valuenow":e.progress,"aria-valuemin":0,"aria-valuemax":100,className:"h-full bg-primary transition-all duration-150",style:{width:`${e.progress}%`}})}),"error"===e.status&&(0,t.jsx)(B.AlertCircle,{className:"ml-auto mr-2 h-3 w-3 shrink-0 text-destructive"})]})}function J({item:e,onRemove:s,t:a}){return(0,t.jsx)("button",{type:"button",className:"absolute -top-1.5 -right-1.5 h-4 w-4 rounded-full bg-foreground text-background shadow-sm opacity-0 group-hover:opacity-90 hover:!opacity-100 transition-opacity flex items-center justify-center","aria-label":a("assistant.removeAttachment"),title:"error"===e.status?a("assistant.uploadFailedRemoveHint"):void 0,onClick:t=>{t.stopPropagation(),s(e.id)},children:(0,t.jsx)(q.X,{className:"h-2.5 w-2.5",strokeWidth:3})})}var Y=e.i(776639);function G({imageUrl:e,open:a,onOpenChange:r}){let{t:n}=(0,g.useI18n)(),[i,l]=(0,s.useState)(!1);return(0,s.useEffect)(()=>{l(!1)},[a]),(0,t.jsx)(Y.Dialog,{open:a,onOpenChange:r,children:(0,t.jsxs)(Y.DialogContent,{showCloseButton:!1,className:"max-w-[90vw] max-h-[90vh] p-0 overflow-hidden bg-black/90 ring-0",children:[(0,t.jsx)(Y.DialogClose,{render:(0,t.jsx)(h.Button,{variant:"ghost",className:"absolute top-2 right-2 z-10 h-8 w-8 p-0 text-white hover:bg-white/20 hover:text-white"}),"aria-label":n("assistant.closePreview"),children:(0,t.jsx)(q.X,{className:"h-4 w-4"})}),e&&(0,t.jsx)("img",{src:e,alt:"",onClick:()=>l(e=>!e),className:i?"w-auto h-auto max-w-none cursor-zoom-out":"max-w-full max-h-[85vh] object-contain cursor-zoom-in mx-auto"})]})})}e.s(["AssistantChat",0,function(){let[e,r]=(0,s.useState)(""),v=(0,s.useRef)(null),j=(0,s.useRef)(null),y=(0,s.useRef)(null),{t:w}=(0,g.useI18n)(),{chatMessages:N,isChatThinking:k,isLoadingHistory:R,sendChatMessage:T,cancelChat:S}=(0,b.useAssistant)(),{pendingAttachments:I,addAttachments:P,removeAttachment:M,clearAll:D,hasUploading:L}=function(){let[e,t]=(0,s.useState)([]),a=(0,s.useRef)(new Map),r=(0,s.useRef)([]);(0,s.useEffect)(()=>{r.current=e},[e]),(0,s.useEffect)(()=>()=>{r.current.forEach(e=>{e.blobUrl&&URL.revokeObjectURL(e.blobUrl)}),a.current.forEach(e=>e.abort()),a.current.clear()},[]);let n=(0,s.useCallback)(e=>{let s=[];for(let t of e){let e=U(function(e){let t=e.name.lastIndexOf(".");return t>=0?e.name.slice(t):""}(t));e&&s.push({id:crypto.randomUUID(),file:t,kind:e,blobUrl:"image"===e?URL.createObjectURL(t):null,status:"uploading",progress:0})}if(0!==s.length)for(let e of(r.current=[...r.current,...s],t(e=>[...e,...s]),s)){let s=new XMLHttpRequest;a.current.set(e.id,s),s.upload.onprogress=s=>{if(s.lengthComputable){let a=Math.round(s.loaded/s.total*100);t(t=>t.map(t=>t.id===e.id?{...t,progress:a}:t))}},s.onload=()=>{if(a.current.delete(e.id),200===s.status)try{let a=JSON.parse(s.responseText),r="string"==typeof a.filename&&a.filename?a.filename:null;if(!r)throw Error("Invalid upload response");t(t=>t.map(t=>t.id===e.id?{...t,status:"done",progress:100,filename:r}:t))}catch{t(t=>t.map(t=>t.id===e.id?{...t,status:"error"}:t))}else t(t=>t.map(t=>t.id===e.id?{...t,status:"error"}:t))},s.onerror=()=>{a.current.delete(e.id),t(t=>t.map(t=>t.id===e.id?{...t,status:"error"}:t))};let r=new FormData;r.append("file",e.file),s.open("POST","/api/internal/assistant/attachments"),s.send(r)}},[]),i=(0,s.useCallback)(e=>{let s=a.current.get(e);s&&(s.abort(),a.current.delete(e)),t(t=>{let s=t.find(t=>t.id===e);return s?.blobUrl&&URL.revokeObjectURL(s.blobUrl),t.filter(t=>t.id!==e)})},[]),l=(0,s.useCallback)(()=>{t(e=>(e.forEach(e=>{let t=a.current.get(e.id);t&&(t.abort(),a.current.delete(e.id)),e.blobUrl&&URL.revokeObjectURL(e.blobUrl)}),a.current.clear(),[]))},[]),o=e.some(e=>"uploading"===e.status);return{pendingAttachments:e,addAttachments:n,removeAttachment:i,clearAll:l,hasUploading:o}}(),[E,O]=(0,s.useState)(null),[$,B]=(0,s.useState)(null);(0,s.useEffect)(()=>{v.current?.focus()},[]);let q=(0,s.useRef)(!1),H=N[N.length-1]?.content.length??0;(0,s.useEffect)(()=>{let e=q.current?"smooth":"instant";y.current?.scrollIntoView({behavior:e}),q.current=!0},[N.length,H]);let K=10-I.length,[_,W]=(0,s.useState)(!1),J=(0,s.useCallback)(e=>{let t=e.lastIndexOf(".");return null!==U(t>=0?e.slice(t):"")},[]),Y=(0,s.useCallback)(e=>{if(0===e.length||K<=0)return;let t=e.filter(e=>{let t=e.name.lastIndexOf(".");return null!==U(t>=0?e.name.slice(t):"")}).slice(0,K);t.length>0&&P(t)},[P,K]),Q=(0,s.useCallback)(e=>{let t=Array.from(e.clipboardData.items),s=[];for(let e of t){if("file"!==e.kind)continue;let t=e.getAsFile();t&&(e.type.startsWith("image/")||J(t.name))&&s.push(t)}s.length>0&&Y(s)},[Y,J]),Z=(0,s.useCallback)(e=>{let t=e.target.files?Array.from(e.target.files):[];t.length>0&&Y(t),j.current&&(j.current.value="")},[Y]),ee=(0,s.useRef)(0),et=(0,s.useCallback)(e=>{Array.from(e.dataTransfer.types).includes("Files")&&(e.preventDefault(),ee.current+=1,W(!0))},[]),es=(0,s.useCallback)(e=>{Array.from(e.dataTransfer.types).includes("Files")&&(e.preventDefault(),e.dataTransfer.dropEffect="copy")},[]),ea=(0,s.useCallback)(e=>{Array.from(e.dataTransfer.types).includes("Files")&&(ee.current=Math.max(0,ee.current-1),0===ee.current&&W(!1))},[]),er=(0,s.useCallback)(e=>{if(!Array.from(e.dataTransfer.types).includes("Files"))return;e.preventDefault(),ee.current=0,W(!1);let t=Array.from(e.dataTransfer.files).filter(e=>J(e.name));t.length>0&&Y(t)},[J,Y]),en=()=>{let t=e.trim(),s=I.filter(e=>"done"===e.status).map(e=>e.filename);!t&&0===s.length||k||L||(T(t,{attachmentFilenames:s}),r(""),D(),v.current?.focus())},ei=()=>{let e=S();e&&r(e),v.current?.focus()},el=I.some(e=>"done"===e.status),eo=!e.trim()&&!el||k||L;return(0,t.jsxs)("div",{className:"flex flex-col h-full",children:[(0,t.jsx)(x.ScrollArea,{className:"flex-1 overflow-hidden",children:(0,t.jsxs)("div",{className:`flex flex-col gap-3 p-4 min-h-full ${R||0===N.length?"justify-center":""}`,role:"log","aria-live":"polite",children:[R?(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center gap-2",children:[(0,t.jsx)(l.Loader2,{className:"size-5 animate-spin text-muted-foreground"}),(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:w("assistant.loading")})]}):0===N.length?(0,t.jsxs)("div",{className:"flex flex-col items-center gap-4 px-6",children:[(0,t.jsx)(a.Bot,{className:"size-8 text-muted-foreground/40"}),(0,t.jsx)("h3",{className:"text-sm font-semibold text-foreground",children:w("assistant.emptyTitle")}),(0,t.jsx)("div",{className:"grid grid-cols-1 gap-2 w-full max-w-[280px]",children:[{icon:i.FolderPlus,label:w("assistant.suggestion.createProject")},{icon:n,label:w("assistant.suggestion.createTask")},{icon:c.Search,label:w("assistant.suggestion.checkProgress")},{icon:m,label:w("assistant.suggestion.dailySummary")}].map(({icon:e,label:s})=>(0,t.jsxs)(h.Button,{variant:"outline",className:"flex items-center gap-2 rounded-lg px-3 py-2 text-xs text-muted-foreground transition-colors hover:bg-accent hover:text-foreground text-left justify-start h-auto",onClick:()=>{r(s),v.current?.focus()},children:[(0,t.jsx)(e,{className:"size-3.5 shrink-0"}),s]},s))})]}):N.map(e=>(0,t.jsx)(F,{message:e,onImagePreview:e=>B(e)},e.id)),(0,t.jsx)("div",{ref:y})]})}),(0,t.jsx)("div",{className:"border-t border-border bg-sidebar p-4",onDragEnter:et,onDragOver:es,onDragLeave:ea,onDrop:er,children:(0,t.jsxs)("div",{className:`relative rounded-lg border bg-background transition-colors ${_?"border-primary ring-3 ring-primary/40":"border-border focus-within:border-ring focus-within:ring-3 focus-within:ring-ring/50"}`,children:[_&&(0,t.jsx)("div",{className:"pointer-events-none absolute inset-0 z-10 flex items-center justify-center rounded-lg bg-primary/10 text-xs font-medium text-primary",children:w("assistant.dropToUpload")}),(0,t.jsx)(V,{pendingAttachments:I,onRemove:M,onPreview:e=>O(e)}),(0,t.jsx)(X,{pendingAttachments:I,onRemove:M}),(0,t.jsx)(p.Textarea,{ref:v,value:e,onChange:e=>r(e.target.value),onKeyDown:e=>{!e.nativeEvent.isComposing&&("Enter"!==e.key||e.shiftKey||(e.preventDefault(),en()),"Escape"===e.key&&k&&(e.preventDefault(),ei()))},onPaste:Q,placeholder:w("assistant.inputPlaceholder"),className:"min-h-[72px] max-h-[120px] resize-none rounded-none border-0 focus-visible:ring-0 focus-visible:border-0 bg-transparent dark:bg-transparent text-sm",rows:3}),(0,t.jsxs)("div",{className:"flex items-center justify-between px-2 pb-2 border-t border-border/60 pt-2",children:[(0,t.jsx)("input",{ref:j,type:"file",accept:A,multiple:!0,hidden:!0,onChange:Z}),(0,t.jsxs)(f.Tooltip,{children:[(0,t.jsx)(f.TooltipTrigger,{onClick:()=>j.current?.click(),disabled:K<=0,"aria-label":w("assistant.addAttachment"),className:"inline-flex items-center justify-center h-7 w-7 rounded-md text-muted-foreground hover:bg-accent hover:text-foreground disabled:opacity-40 disabled:pointer-events-none transition-colors",children:(0,t.jsx)(o.Plus,{className:"h-4 w-4"})}),(0,t.jsx)(f.TooltipContent,{side:"top",align:"start",className:"max-w-xs",children:K<=0?(0,t.jsx)("span",{className:"text-xs",children:w("assistant.attachmentLimitReached")}):(0,t.jsxs)("div",{className:"space-y-1 text-xs",children:[(0,t.jsx)("div",{className:"font-medium",children:w("assistant.addAttachment")}),(0,t.jsxs)("div",{className:"opacity-80",children:[(0,t.jsxs)("span",{children:[w("assistant.attachmentTypeImages"),": "]}),(0,t.jsx)("span",{className:"font-mono",children:C.map(e=>`.${e}`).join(" ")})]}),(0,t.jsxs)("div",{className:"opacity-80",children:[(0,t.jsxs)("span",{children:[w("assistant.attachmentTypeText"),": "]}),(0,t.jsx)("span",{className:"font-mono",children:z.map(e=>`.${e}`).join(" ")})]})]})})]}),k?(0,t.jsx)(h.Button,{variant:"outline",size:"icon",className:"h-7 w-7 border-destructive/50 text-destructive transition-colors hover:bg-destructive/20 hover:text-destructive hover:border-destructive",onClick:ei,"aria-label":w("assistant.cancelLabel"),children:(0,t.jsx)(u.Square,{className:"h-3 w-3 fill-current"})}):(0,t.jsx)(h.Button,{variant:"ghost",size:"icon",className:"h-7 w-7 text-muted-foreground transition-colors hover:bg-primary/10 hover:text-primary",onClick:en,disabled:eo,"aria-label":w("assistant.sendLabel"),children:(0,t.jsx)(d,{className:"h-4 w-4"})})]})]})}),(0,t.jsx)(G,{imageUrl:E?.blobUrl??null,open:null!==E&&"image"===E.kind,onOpenChange:e=>{e||O(null)}}),(0,t.jsx)(G,{imageUrl:$,open:null!==$,onOpenChange:e=>{e||B(null)}})]})}],113627)},103363,e=>{e.n(e.i(113627))},244455,e=>{e.v(t=>Promise.all(["static/chunks/075e-zs_kgc_g.js"].map(t=>e.l(t))).then(()=>t(629495)))},800307,e=>{e.v(t=>Promise.all(["static/chunks/0zm4fvu.lntrp.js"].map(t=>e.l(t))).then(()=>t(267483)))}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,368490,e=>{"use strict";var t=e.i(776405);e.s(["ChevronRight",()=>t.default])},875840,e=>{"use strict";let t=(0,e.i(572989).default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);e.s(["Copy",0,t],875840)},254826,309735,e=>{"use strict";var t=e.i(990216);e.s([],254826),e.s(["Streamdown",()=>t.C],309735)},313029,e=>{"use strict";let t=(0,e.i(572989).default)("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);e.s(["Square",0,t],313029)},673984,e=>{"use strict";let t=(0,e.i(572989).default)("user",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);e.s(["User",0,t],673984)},113627,e=>{"use strict";var t=e.i(289721),s=e.i(965652),a=e.i(989548),r=e.i(572989);let n=(0,r.default)("clipboard-list",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}],["path",{d:"M12 11h4",key:"1jrz19"}],["path",{d:"M12 16h4",key:"n85exb"}],["path",{d:"M8 11h.01",key:"1dfujw"}],["path",{d:"M8 16h.01",key:"18s6g9"}]]);var i=e.i(275360),l=e.i(400355),o=e.i(232545),c=e.i(738690);let d=(0,r.default)("send-horizontal",[["path",{d:"M3.714 3.048a.498.498 0 0 0-.683.627l2.843 7.627a2 2 0 0 1 0 1.396l-2.842 7.627a.498.498 0 0 0 .682.627l18-8.5a.5.5 0 0 0 0-.904z",key:"117uat"}],["path",{d:"M6 12h16",key:"s4cdu5"}]]);var u=e.i(313029);let m=(0,r.default)("trending-up",[["path",{d:"M16 7h6v6",key:"box55l"}],["path",{d:"m22 7-8.5 8.5-5-5L2 17",key:"1t1m79"}]]);var x=e.i(759684),p=e.i(624687),h=e.i(519455),f=e.i(746798),g=e.i(533499),b=e.i(338187),v=e.i(597746),j=e.i(368490),y=e.i(875840),w=e.i(645378);let N=(0,r.default)("image-off",[["line",{x1:"2",x2:"22",y1:"2",y2:"22",key:"a6p6uj"}],["path",{d:"M10.41 10.41a2 2 0 1 1-2.83-2.83",key:"1bzlo9"}],["line",{x1:"13.5",x2:"6",y1:"13.5",y2:"21",key:"1q0aeu"}],["line",{x1:"18",x2:"21",y1:"12",y2:"15",key:"5mozeu"}],["path",{d:"M3.59 3.59A1.99 1.99 0 0 0 3 5v14a2 2 0 0 0 2 2h14c.55 0 1.052-.22 1.41-.59",key:"mmje98"}],["path",{d:"M21 15V5a2 2 0 0 0-2-2H9",key:"43el77"}]]);var k=e.i(673984);let C=["jpg","jpeg","png","gif","webp"],z=["md","txt","json","csv"],R=[...C,...z].join("|"),T=RegExp(`^\\d{4}-\\d{2}/(images|files)/[^/]+\\.(${R})$`,"i");function U(e){let t=e.replace(/^\./,"").toLowerCase();return C.includes(t)?"image":z.includes(t)?"text":null}let A=[...C.map(e=>`.${e}`),...z.map(e=>`.${e}`),"image/*"].join(",");e.i(254826);var S=e.i(309735);function I({content:e,isStreaming:s}){return(0,t.jsx)(S.Streamdown,{className:"text-sm leading-relaxed [&>*:first-child]:mt-0 [&>*:last-child]:mb-0 [&_td]:whitespace-nowrap",mode:s?"streaming":"static",animated:!0,isAnimating:s,caret:s?"block":void 0,children:e})}function P({text:e,className:a}){let[r,n]=(0,s.useState)(!1),{t:i}=(0,g.useI18n)(),l=async t=>{t.stopPropagation();try{if(navigator.clipboard)await navigator.clipboard.writeText(e);else{let t=document.createElement("textarea");t.value=e,document.body.appendChild(t),t.select(),document.execCommand("copy"),document.body.removeChild(t)}n(!0),setTimeout(()=>n(!1),1500)}catch{}};return(0,t.jsx)(h.Button,{variant:"ghost",size:"icon-xs",onClick:l,className:`text-muted-foreground ${a??""}`,"aria-label":i("assistant.copy"),children:r?(0,t.jsx)(v.Check,{className:"h-3 w-3 text-emerald-400"}):(0,t.jsx)(y.Copy,{className:"h-3 w-3"})})}function M({filename:e,onPreview:a}){let{t:r}=(0,g.useI18n)(),[n,i]=(0,s.useState)(!1),l=`/api/internal/cache/${e}`;return n?(0,t.jsx)("div",{className:"size-16 rounded-md bg-muted flex items-center justify-center",title:r("assistant.brokenImage"),children:(0,t.jsx)(N,{className:"size-4 text-muted-foreground"})}):(0,t.jsx)("button",{type:"button",className:"relative size-16 rounded-md overflow-hidden bg-muted shrink-0",onClick:()=>a?.(l),children:(0,t.jsx)("img",{src:l,alt:"",loading:"lazy",className:"size-16 rounded-md object-cover cursor-pointer hover:opacity-80 transition-opacity",onError:()=>i(!0)})})}function D({filename:e}){let s=`/api/internal/cache/${e}`,a=e.split("/").pop()??e;return(0,t.jsxs)("a",{href:s,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1.5 px-2 py-1 rounded-md bg-primary-foreground/10 text-primary-foreground hover:bg-primary-foreground/20 transition-colors max-w-[180px]",title:a,children:[(0,t.jsx)(w.FileText,{className:"size-3.5 shrink-0"}),(0,t.jsx)("span",{className:"text-xs truncate",children:a})]})}function E({content:e,attachmentFilenames:s,onImagePreview:a}){let r=[],n=[];if(s)for(let e of s){let t=function(e){if(!T.test(e))return null;let t=e.lastIndexOf(".");return t<0?null:U(e.slice(t+1))}(e);"image"===t?r.push(e):"text"===t&&n.push(e)}return(0,t.jsxs)("div",{className:"flex justify-end gap-2 animate-in fade-in slide-in-from-bottom-2 duration-200","aria-label":"You",children:[(0,t.jsxs)("div",{className:"bg-primary text-primary-foreground max-w-[80%] rounded-2xl rounded-br-sm px-3 py-2 text-sm whitespace-pre-wrap break-words",children:[r.length>0&&(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5 mb-2",style:{maxWidth:"calc(4 * 64px + 3 * 6px)"},children:r.map(e=>(0,t.jsx)(M,{filename:e,onPreview:a},e))}),n.length>0&&(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5 mb-2",children:n.map(e=>(0,t.jsx)(D,{filename:e},e))}),e]}),(0,t.jsx)("div",{className:"flex size-7 shrink-0 items-center justify-center rounded-full bg-muted mt-1",children:(0,t.jsx)(k.User,{className:"size-3.5 text-muted-foreground"})})]})}function L({content:e,isStreaming:s}){return(0,t.jsxs)("div",{className:"group/bubble flex justify-start gap-2 animate-in fade-in slide-in-from-bottom-2 duration-200","aria-label":"Assistant",children:[(0,t.jsx)("div",{className:"flex size-7 shrink-0 items-center justify-center rounded-full bg-primary/10 mt-1",children:(0,t.jsx)(a.Bot,{className:"size-3.5 text-primary"})}),(0,t.jsxs)("div",{className:"max-w-[85%] min-w-0",children:[(0,t.jsx)("div",{className:"bg-muted text-foreground rounded-2xl rounded-bl-sm px-3 py-2",children:(0,t.jsx)(I,{content:e,isStreaming:s})}),(0,t.jsx)("div",{className:"flex items-center gap-0.5 mt-0.5 opacity-0 group-hover/bubble:opacity-100 transition-opacity",children:(0,t.jsx)(P,{text:e})})]})]})}function O(){let{t:e}=(0,g.useI18n)();return(0,t.jsxs)("div",{className:"flex justify-start gap-2 animate-in fade-in slide-in-from-bottom-2 duration-200",role:"status","aria-live":"polite","aria-label":e("assistant.thinking"),children:[(0,t.jsx)("div",{className:"flex size-7 shrink-0 items-center justify-center rounded-full bg-primary/10 mt-1",children:(0,t.jsx)(a.Bot,{className:"size-3.5 text-primary"})}),(0,t.jsx)("div",{className:"bg-muted/50 text-muted-foreground max-w-[200px] rounded-2xl rounded-bl-sm px-3 py-2",children:(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[(0,t.jsx)("span",{className:"size-1.5 rounded-full bg-primary/60 animate-pulse",style:{animationDelay:"0ms"}}),(0,t.jsx)("span",{className:"size-1.5 rounded-full bg-primary/60 animate-pulse",style:{animationDelay:"150ms"}}),(0,t.jsx)("span",{className:"size-1.5 rounded-full bg-primary/60 animate-pulse",style:{animationDelay:"300ms"}})]})})]})}function $({content:e,toolName:a}){let[r,n]=(0,s.useState)(!1),{t:i}=(0,g.useI18n)(),l=a??i("assistant.toolLabel");return(0,t.jsxs)("div",{className:"group/tool flex justify-start gap-2 animate-in fade-in slide-in-from-bottom-2 duration-200",children:[(0,t.jsx)("div",{className:"size-7 shrink-0"}),(0,t.jsxs)("div",{className:"bg-muted/60 border border-border max-w-[90%] rounded-lg px-3 py-1",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5 w-full text-left py-0.5 cursor-pointer",onClick:()=>n(e=>!e),role:"button","aria-expanded":r,"aria-label":i("assistant.expandTool"),children:[(0,t.jsx)(j.ChevronRight,{className:`h-3.5 w-3.5 text-muted-foreground shrink-0 transition-transform duration-150 ${r?"rotate-90":""}`}),(0,t.jsx)("span",{className:"text-xs font-semibold text-foreground truncate",children:l}),(0,t.jsx)("span",{className:"flex-1"}),(0,t.jsx)(P,{text:e,className:"opacity-0 group-hover/tool:opacity-100"}),(0,t.jsx)("span",{className:"bg-muted text-muted-foreground text-[10px] px-1.5 rounded shrink-0",children:i("assistant.toolLabel")})]}),r&&(0,t.jsx)("div",{className:"mt-1 mb-1 rounded-md bg-background/60 border border-border/60 px-2.5 py-1.5",children:(0,t.jsx)("pre",{className:"font-mono text-[12px] leading-relaxed max-h-[240px] overflow-auto whitespace-pre-wrap break-all text-muted-foreground",children:e})})]})]})}function F({message:e,onImagePreview:s}){switch(e.role){case"user":return(0,t.jsx)(E,{content:e.content,attachmentFilenames:e.attachmentFilenames,onImagePreview:s});case"assistant":return(0,t.jsx)(L,{content:e.content,isStreaming:e.isStreaming});case"thinking":return(0,t.jsx)(O,{});case"tool":return(0,t.jsx)($,{content:e.content,toolName:e.toolName});default:return null}}var B=e.i(938499),q=e.i(657153);function H(e){let t=0;for(let s of e){let e=s.codePointAt(0)??0;e>=12288&&e<=40959||e>=44032&&e<=55215||e>=65280&&e<=65519||e>=131072?t+=2:t+=1}return t}function K(e,t){let s=0,a="";for(let r of e){let e=H(r);if(s+e>t)break;a+=r,s+=e}return a}function V({pendingAttachments:e,onRemove:s,onPreview:a}){let{t:r}=(0,g.useI18n)(),n=e.filter(e=>"image"===e.kind);return 0===n.length?null:(0,t.jsx)("div",{className:"flex flex-row flex-wrap items-center gap-2 px-3 py-2 border-b border-border/60",children:n.map(e=>(0,t.jsx)(_,{item:e,onRemove:s,onPreview:a,t:r},e.id))})}function X({pendingAttachments:e,onRemove:s}){let{t:a}=(0,g.useI18n)(),r=e.filter(e=>"text"===e.kind);return 0===r.length?null:(0,t.jsx)("div",{className:"flex flex-row flex-wrap items-center gap-2 px-3 py-2 border-b border-border/60",children:r.map(e=>(0,t.jsx)(W,{item:e,onRemove:s,t:a},e.id))})}function _({item:e,onRemove:s,onPreview:a,t:r}){return(0,t.jsxs)("div",{className:"group relative h-9 w-9 shrink-0",children:[(0,t.jsxs)("div",{className:`relative h-full w-full overflow-hidden rounded-md border ${"error"===e.status?"border-destructive":"border-border"} bg-muted`,children:[(0,t.jsx)("button",{type:"button",className:`h-full w-full p-0 border-0 bg-transparent ${"uploading"===e.status?"cursor-wait":"cursor-pointer"}`,disabled:"uploading"===e.status,"aria-label":r("assistant.previewImage"),onClick:()=>a(e),children:e.blobUrl&&(0,t.jsx)("img",{src:e.blobUrl,className:"h-full w-full object-cover",alt:""})}),"uploading"===e.status&&(0,t.jsx)("div",{className:"absolute inset-x-0 bottom-0 h-0.5 bg-primary/20",children:(0,t.jsx)("div",{role:"progressbar","aria-valuenow":e.progress,"aria-valuemin":0,"aria-valuemax":100,className:"h-full bg-primary transition-all duration-150",style:{width:`${e.progress}%`}})}),"error"===e.status&&(0,t.jsx)("div",{className:"absolute inset-0 flex items-center justify-center bg-black/50",children:(0,t.jsx)(B.AlertCircle,{className:"h-3.5 w-3.5 text-white"})})]}),(0,t.jsx)(J,{item:e,onRemove:s,t:r})]})}function W({item:e,onRemove:s,t:a}){let r=function(e,t=22){if(H(e)<=t)return e;let s=e.lastIndexOf("."),a=s>0&&e.length-s<=8,r=a?e.slice(s):"",n=a?e.slice(0,s):e,i=t-H(r)-1;if(i<4)return K(e,t-1)+"…";let l=Math.ceil(i/2);return K(n,l)+"…"+function(e,t){let s=Array.from(e),a=0,r="";for(let e=s.length-1;e>=0;e--){let n=H(s[e]);if(a+n>t)break;r=s[e]+r,a+=n}return r}(n,i-l)+r}(e.file.name,22);return(0,t.jsxs)("div",{className:`group relative flex items-center h-7 w-[200px] shrink-0 rounded-md border bg-background overflow-hidden transition-colors ${"error"===e.status?"border-destructive":"border-border hover:bg-accent/40"}`,title:e.file.name,children:[(0,t.jsx)("button",{type:"button",className:"flex h-full w-7 shrink-0 items-center justify-center text-muted-foreground hover:bg-destructive/10 hover:text-destructive transition-colors","aria-label":a("assistant.removeAttachment"),onClick:t=>{t.stopPropagation(),s(e.id)},children:(0,t.jsx)(q.X,{className:"h-3 w-3"})}),(0,t.jsx)("div",{className:"h-4 w-px bg-border shrink-0"}),(0,t.jsx)("span",{className:"px-2 text-xs text-foreground tabular-nums whitespace-nowrap",children:r}),"uploading"===e.status&&(0,t.jsx)("div",{className:"pointer-events-none absolute inset-x-0 bottom-0 h-0.5 overflow-hidden",children:(0,t.jsx)("div",{role:"progressbar","aria-valuenow":e.progress,"aria-valuemin":0,"aria-valuemax":100,className:"h-full bg-primary transition-all duration-150",style:{width:`${e.progress}%`}})}),"error"===e.status&&(0,t.jsx)(B.AlertCircle,{className:"ml-auto mr-2 h-3 w-3 shrink-0 text-destructive"})]})}function J({item:e,onRemove:s,t:a}){return(0,t.jsx)("button",{type:"button",className:"absolute -top-1.5 -right-1.5 h-4 w-4 rounded-full bg-foreground text-background shadow-sm opacity-0 group-hover:opacity-90 hover:!opacity-100 transition-opacity flex items-center justify-center","aria-label":a("assistant.removeAttachment"),title:"error"===e.status?a("assistant.uploadFailedRemoveHint"):void 0,onClick:t=>{t.stopPropagation(),s(e.id)},children:(0,t.jsx)(q.X,{className:"h-2.5 w-2.5",strokeWidth:3})})}var Y=e.i(776639);function G({imageUrl:e,open:a,onOpenChange:r}){let{t:n}=(0,g.useI18n)(),[i,l]=(0,s.useState)(!1);return(0,s.useEffect)(()=>{l(!1)},[a]),(0,t.jsx)(Y.Dialog,{open:a,onOpenChange:r,children:(0,t.jsxs)(Y.DialogContent,{showCloseButton:!1,className:"max-w-[90vw] max-h-[90vh] p-0 overflow-hidden bg-black/90 ring-0",children:[(0,t.jsx)(Y.DialogClose,{render:(0,t.jsx)(h.Button,{variant:"ghost",className:"absolute top-2 right-2 z-10 h-8 w-8 p-0 text-white hover:bg-white/20 hover:text-white"}),"aria-label":n("assistant.closePreview"),children:(0,t.jsx)(q.X,{className:"h-4 w-4"})}),e&&(0,t.jsx)("img",{src:e,alt:"",onClick:()=>l(e=>!e),className:i?"w-auto h-auto max-w-none cursor-zoom-out":"max-w-full max-h-[85vh] object-contain cursor-zoom-in mx-auto"})]})})}e.s(["AssistantChat",0,function(){let[e,r]=(0,s.useState)(""),v=(0,s.useRef)(null),j=(0,s.useRef)(null),y=(0,s.useRef)(null),{t:w}=(0,g.useI18n)(),{chatMessages:N,isChatThinking:k,isLoadingHistory:R,sendChatMessage:T,cancelChat:S,inputFocusSignal:I}=(0,b.useAssistant)(),{pendingAttachments:P,addAttachments:M,removeAttachment:D,clearAll:E,hasUploading:L}=function(){let[e,t]=(0,s.useState)([]),a=(0,s.useRef)(new Map),r=(0,s.useRef)([]);(0,s.useEffect)(()=>{r.current=e},[e]),(0,s.useEffect)(()=>()=>{r.current.forEach(e=>{e.blobUrl&&URL.revokeObjectURL(e.blobUrl)}),a.current.forEach(e=>e.abort()),a.current.clear()},[]);let n=(0,s.useCallback)(e=>{let s=[];for(let t of e){let e=U(function(e){let t=e.name.lastIndexOf(".");return t>=0?e.name.slice(t):""}(t));e&&s.push({id:crypto.randomUUID(),file:t,kind:e,blobUrl:"image"===e?URL.createObjectURL(t):null,status:"uploading",progress:0})}if(0!==s.length)for(let e of(r.current=[...r.current,...s],t(e=>[...e,...s]),s)){let s=new XMLHttpRequest;a.current.set(e.id,s),s.upload.onprogress=s=>{if(s.lengthComputable){let a=Math.round(s.loaded/s.total*100);t(t=>t.map(t=>t.id===e.id?{...t,progress:a}:t))}},s.onload=()=>{if(a.current.delete(e.id),200===s.status)try{let a=JSON.parse(s.responseText),r="string"==typeof a.filename&&a.filename?a.filename:null;if(!r)throw Error("Invalid upload response");t(t=>t.map(t=>t.id===e.id?{...t,status:"done",progress:100,filename:r}:t))}catch{t(t=>t.map(t=>t.id===e.id?{...t,status:"error"}:t))}else t(t=>t.map(t=>t.id===e.id?{...t,status:"error"}:t))},s.onerror=()=>{a.current.delete(e.id),t(t=>t.map(t=>t.id===e.id?{...t,status:"error"}:t))};let r=new FormData;r.append("file",e.file),s.open("POST","/api/internal/assistant/attachments"),s.send(r)}},[]),i=(0,s.useCallback)(e=>{let s=a.current.get(e);s&&(s.abort(),a.current.delete(e)),t(t=>{let s=t.find(t=>t.id===e);return s?.blobUrl&&URL.revokeObjectURL(s.blobUrl),t.filter(t=>t.id!==e)})},[]),l=(0,s.useCallback)(()=>{t(e=>(e.forEach(e=>{let t=a.current.get(e.id);t&&(t.abort(),a.current.delete(e.id)),e.blobUrl&&URL.revokeObjectURL(e.blobUrl)}),a.current.clear(),[]))},[]),o=e.some(e=>"uploading"===e.status);return{pendingAttachments:e,addAttachments:n,removeAttachment:i,clearAll:l,hasUploading:o}}(),[O,$]=(0,s.useState)(null),[B,q]=(0,s.useState)(null);(0,s.useEffect)(()=>{v.current?.focus()},[]),(0,s.useEffect)(()=>{I>0&&v.current?.focus()},[I]);let H=(0,s.useRef)(!1),K=N[N.length-1]?.content.length??0;(0,s.useEffect)(()=>{let e=H.current?"smooth":"instant";y.current?.scrollIntoView({behavior:e}),H.current=!0},[N.length,K]);let _=10-P.length,[W,J]=(0,s.useState)(!1),Y=(0,s.useCallback)(e=>{let t=e.lastIndexOf(".");return null!==U(t>=0?e.slice(t):"")},[]),Q=(0,s.useCallback)(e=>{if(0===e.length||_<=0)return;let t=e.filter(e=>{let t=e.name.lastIndexOf(".");return null!==U(t>=0?e.name.slice(t):"")}).slice(0,_);t.length>0&&M(t)},[M,_]),Z=(0,s.useCallback)(e=>{let t=Array.from(e.clipboardData.items),s=[];for(let e of t){if("file"!==e.kind)continue;let t=e.getAsFile();t&&(e.type.startsWith("image/")||Y(t.name))&&s.push(t)}s.length>0&&Q(s)},[Q,Y]),ee=(0,s.useCallback)(e=>{let t=e.target.files?Array.from(e.target.files):[];t.length>0&&Q(t),j.current&&(j.current.value="")},[Q]),et=(0,s.useRef)(0),es=(0,s.useCallback)(e=>{Array.from(e.dataTransfer.types).includes("Files")&&(e.preventDefault(),et.current+=1,J(!0))},[]),ea=(0,s.useCallback)(e=>{Array.from(e.dataTransfer.types).includes("Files")&&(e.preventDefault(),e.dataTransfer.dropEffect="copy")},[]),er=(0,s.useCallback)(e=>{Array.from(e.dataTransfer.types).includes("Files")&&(et.current=Math.max(0,et.current-1),0===et.current&&J(!1))},[]),en=(0,s.useCallback)(e=>{if(!Array.from(e.dataTransfer.types).includes("Files"))return;e.preventDefault(),et.current=0,J(!1);let t=Array.from(e.dataTransfer.files).filter(e=>Y(e.name));t.length>0&&Q(t)},[Y,Q]),ei=()=>{let t=e.trim(),s=P.filter(e=>"done"===e.status).map(e=>e.filename);!t&&0===s.length||k||L||(T(t,{attachmentFilenames:s}),r(""),E(),v.current?.focus())},el=()=>{let e=S();e&&r(e),v.current?.focus()},eo=P.some(e=>"done"===e.status),ec=!e.trim()&&!eo||k||L;return(0,t.jsxs)("div",{className:"flex flex-col h-full",children:[(0,t.jsx)(x.ScrollArea,{className:"flex-1 overflow-hidden",children:(0,t.jsxs)("div",{className:`flex flex-col gap-3 p-4 min-h-full ${R||0===N.length?"justify-center":""}`,role:"log","aria-live":"polite",children:[R?(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center gap-2",children:[(0,t.jsx)(l.Loader2,{className:"size-5 animate-spin text-muted-foreground"}),(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:w("assistant.loading")})]}):0===N.length?(0,t.jsxs)("div",{className:"flex flex-col items-center gap-4 px-6",children:[(0,t.jsx)(a.Bot,{className:"size-8 text-muted-foreground/40"}),(0,t.jsx)("h3",{className:"text-sm font-semibold text-foreground",children:w("assistant.emptyTitle")}),(0,t.jsx)("div",{className:"grid grid-cols-1 gap-2 w-full max-w-[280px]",children:[{icon:i.FolderPlus,label:w("assistant.suggestion.createProject")},{icon:n,label:w("assistant.suggestion.createTask")},{icon:c.Search,label:w("assistant.suggestion.checkProgress")},{icon:m,label:w("assistant.suggestion.dailySummary")}].map(({icon:e,label:s})=>(0,t.jsxs)(h.Button,{variant:"outline",className:"flex items-center gap-2 rounded-lg px-3 py-2 text-xs text-muted-foreground transition-colors hover:bg-accent hover:text-foreground text-left justify-start h-auto",onClick:()=>{r(s),v.current?.focus()},children:[(0,t.jsx)(e,{className:"size-3.5 shrink-0"}),s]},s))})]}):N.map(e=>(0,t.jsx)(F,{message:e,onImagePreview:e=>q(e)},e.id)),(0,t.jsx)("div",{ref:y})]})}),(0,t.jsx)("div",{className:"border-t border-border bg-sidebar p-4",onDragEnter:es,onDragOver:ea,onDragLeave:er,onDrop:en,children:(0,t.jsxs)("div",{className:`relative rounded-lg border bg-background transition-colors ${W?"border-primary ring-3 ring-primary/40":"border-border focus-within:border-ring focus-within:ring-3 focus-within:ring-ring/50"}`,children:[W&&(0,t.jsx)("div",{className:"pointer-events-none absolute inset-0 z-10 flex items-center justify-center rounded-lg bg-primary/10 text-xs font-medium text-primary",children:w("assistant.dropToUpload")}),(0,t.jsx)(V,{pendingAttachments:P,onRemove:D,onPreview:e=>$(e)}),(0,t.jsx)(X,{pendingAttachments:P,onRemove:D}),(0,t.jsx)(p.Textarea,{ref:v,"data-assistant-input":!0,value:e,onChange:e=>r(e.target.value),onKeyDown:e=>{!e.nativeEvent.isComposing&&("Enter"!==e.key||e.shiftKey||(e.preventDefault(),ei()),"Escape"===e.key&&k&&(e.preventDefault(),el()))},onPaste:Z,placeholder:w("assistant.inputPlaceholder"),className:"min-h-[72px] max-h-[120px] resize-none rounded-none border-0 focus-visible:ring-0 focus-visible:border-0 bg-transparent dark:bg-transparent text-sm",rows:3}),(0,t.jsxs)("div",{className:"flex items-center justify-between px-2 pb-2 border-t border-border/60 pt-2",children:[(0,t.jsx)("input",{ref:j,type:"file",accept:A,multiple:!0,hidden:!0,onChange:ee}),(0,t.jsxs)(f.Tooltip,{children:[(0,t.jsx)(f.TooltipTrigger,{onClick:()=>j.current?.click(),disabled:_<=0,"aria-label":w("assistant.addAttachment"),className:"inline-flex items-center justify-center h-7 w-7 rounded-md text-muted-foreground hover:bg-accent hover:text-foreground disabled:opacity-40 disabled:pointer-events-none transition-colors",children:(0,t.jsx)(o.Plus,{className:"h-4 w-4"})}),(0,t.jsx)(f.TooltipContent,{side:"top",align:"start",className:"max-w-xs",children:_<=0?(0,t.jsx)("span",{className:"text-xs",children:w("assistant.attachmentLimitReached")}):(0,t.jsxs)("div",{className:"space-y-1 text-xs",children:[(0,t.jsx)("div",{className:"font-medium",children:w("assistant.addAttachment")}),(0,t.jsxs)("div",{className:"opacity-80",children:[(0,t.jsxs)("span",{children:[w("assistant.attachmentTypeImages"),": "]}),(0,t.jsx)("span",{className:"font-mono",children:C.map(e=>`.${e}`).join(" ")})]}),(0,t.jsxs)("div",{className:"opacity-80",children:[(0,t.jsxs)("span",{children:[w("assistant.attachmentTypeText"),": "]}),(0,t.jsx)("span",{className:"font-mono",children:z.map(e=>`.${e}`).join(" ")})]})]})})]}),k?(0,t.jsx)(h.Button,{variant:"outline",size:"icon",className:"h-7 w-7 border-destructive/50 text-destructive transition-colors hover:bg-destructive/20 hover:text-destructive hover:border-destructive",onClick:el,"aria-label":w("assistant.cancelLabel"),children:(0,t.jsx)(u.Square,{className:"h-3 w-3 fill-current"})}):(0,t.jsx)(h.Button,{variant:"ghost",size:"icon",className:"h-7 w-7 text-muted-foreground transition-colors hover:bg-primary/10 hover:text-primary",onClick:ei,disabled:ec,"aria-label":w("assistant.sendLabel"),children:(0,t.jsx)(d,{className:"h-4 w-4"})})]})]})}),(0,t.jsx)(G,{imageUrl:O?.blobUrl??null,open:null!==O&&"image"===O.kind,onOpenChange:e=>{e||$(null)}}),(0,t.jsx)(G,{imageUrl:B,open:null!==B,onOpenChange:e=>{e||q(null)}})]})}],113627)},103363,e=>{e.n(e.i(113627))},244455,e=>{e.v(t=>Promise.all(["static/chunks/075e-zs_kgc_g.js"].map(t=>e.l(t))).then(()=>t(629495)))},800307,e=>{e.v(t=>Promise.all(["static/chunks/0zm4fvu.lntrp.js"].map(t=>e.l(t))).then(()=>t(267483)))}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,645119,e=>{"use strict";var t=e.i(289721),s=e.i(965652),r=e.i(538059),n=e.i(210702),a=e.i(232545),i=e.i(487278),l=e.i(368490),o=e.i(259846),d=e.i(572989);let c=(0,d.default)("settings-2",[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]]);var x=e.i(519455),m=e.i(759684),u=e.i(606393),p=e.i(226145),h=e.i(340873),f=e.i(263938),g=e.i(960518),v=e.i(453889),j=e.i(645378);let b=(0,d.default)("image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]);var N=e.i(464249);let y=(0,d.default)("package-check",[["path",{d:"M12 22V12",key:"d0xqtd"}],["path",{d:"m16 17 2 2 4-4",key:"uh5qu3"}],["path",{d:"M21 11.127V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.729l7 4a2 2 0 0 0 2 .001l1.32-.753",key:"kpkbpo"}],["path",{d:"M3.29 7 12 12l8.71-5",key:"19ckod"}],["path",{d:"m7.5 4.27 8.997 5.148",key:"9yrvtv"}]]),w=(0,d.default)("panel-right",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M15 3v18",key:"14nvp0"}]]);var C=e.i(746798),S=e.i(685149),k=e.i(35967),D=e.i(533499);function T(e){if(!e)return"";let t="string"==typeof e?new Date(e):e;if(isNaN(t.getTime()))return"";let s=String(t.getMonth()+1).padStart(2,"0"),r=String(t.getDate()).padStart(2,"0");return`${s}-${r}`}let B=Object.fromEntries(S.BOARD_COLUMNS.map(e=>[e.id,e.color]));function E({children:e,className:s}){return(0,t.jsx)("span",{className:`inline-flex items-center gap-1.5 rounded-md border border-border bg-muted/40 px-2 py-0.5 text-xs text-muted-foreground ${s??""}`,children:e})}function I({task:e,onOpenDetail:r}){let{t:n}=(0,D.useI18n)(),[a,i]=(0,s.useState)(!1),o="CANCELLED"===e.status?"text-muted-foreground line-through decoration-muted-foreground/40":"DONE"===e.status?"text-muted-foreground":"text-foreground";return(0,t.jsxs)("div",{className:"rounded-[10px]",children:[(0,t.jsxs)("button",{type:"button",onClick:()=>i(e=>!e),className:"flex w-full items-center gap-2.5 rounded-[10px] px-2.5 py-2.5 text-left transition-colors hover:bg-muted/50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:[(0,t.jsx)(l.ChevronRight,{className:`h-3.5 w-3.5 flex-none text-muted-foreground/60 transition-transform duration-150 ${a?"rotate-90":""}`}),(0,t.jsx)("span",{className:`h-2 w-2 flex-none rounded-full ${B[e.status]??"bg-slate-400"}`}),(0,t.jsx)("span",{className:`text-[13.5px] font-medium ${o}`,children:e.title}),e.labels.map(({label:e})=>(0,t.jsx)("span",{className:"rounded-full border border-border px-1.5 py-px text-[10.5px] text-muted-foreground",style:e.color?{borderColor:e.color+"55",color:e.color}:void 0,children:e.name},e.id)),(0,t.jsx)("span",{className:"flex-1"}),(0,t.jsx)("span",{className:"flex w-16 flex-none justify-center",children:(0,t.jsx)("span",{className:`rounded-[5px] px-1.5 py-px text-[10.5px] font-bold ${S.PRIORITY_CONFIG[e.priority]?.color??S.PRIORITY_CONFIG.LOW.color}`,children:e.priority})}),(0,t.jsx)("span",{className:"h-3 w-px bg-border flex-none"}),(0,t.jsxs)("span",{className:"flex w-[72px] flex-none items-center gap-1.5",children:[(0,t.jsx)("span",{className:`h-1.5 w-1.5 flex-none rounded-full ${B[e.status]??"bg-slate-400"}`}),(0,t.jsx)("span",{className:"truncate text-[10.5px] text-muted-foreground",children:n(`version.taskStatus.${e.status}`)})]}),(0,t.jsx)("span",{className:"h-3 w-px bg-border flex-none"}),(0,t.jsx)("span",{className:"flex w-6 flex-none justify-center",children:r&&(0,t.jsxs)(C.Tooltip,{children:[(0,t.jsx)(C.TooltipTrigger,{render:(0,t.jsx)(x.Button,{variant:"ghost",size:"icon",className:"h-6 w-6 text-muted-foreground",onClick:t=>{t.stopPropagation(),r(e.id)}}),children:(0,t.jsx)(w,{className:"h-3.5 w-3.5"})}),(0,t.jsx)(C.TooltipContent,{children:n("version.detail")})]})})]}),a&&(0,t.jsxs)("div",{className:"flex flex-col gap-2.5 pb-3 pl-[30px] pr-3 pt-1",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"mb-1.5 flex items-center gap-1.5",children:[(0,t.jsx)(v.FolderOpen,{className:"h-3 w-3 text-muted-foreground/60"}),(0,t.jsx)("span",{className:"text-[11px] font-bold uppercase tracking-wide text-muted-foreground/60",children:n("version.resources")})]}),0===e.assets.length?(0,t.jsx)("p",{className:"text-[12px] italic text-muted-foreground/60",children:n("version.empty.resources")}):(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:e.assets.map(e=>{var s;let r=e.mimeType?.startsWith("image/");return(0,t.jsxs)("span",{className:"inline-flex cursor-pointer items-center gap-1.5 rounded-lg border border-border bg-background px-2.5 py-1.5 text-[12px] text-foreground shadow-sm transition-colors hover:border-primary/50",children:[r?(0,t.jsx)(b,{className:"h-3.5 w-3.5 text-muted-foreground"}):(0,t.jsx)(j.FileText,{className:"h-3.5 w-3.5 text-muted-foreground"}),(0,t.jsx)("span",{children:e.filename}),null!=e.size&&(0,t.jsx)("span",{className:"text-[11px] text-muted-foreground/60",children:(s=e.size)<1024?`${s} B`:s<1048576?`${Math.round(s/1024)} KB`:`${(s/1048576).toFixed(1)} MB`})]},e.id)})})]}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"mb-1.5 flex items-center gap-1.5",children:[(0,t.jsx)(j.FileText,{className:"h-3 w-3 text-muted-foreground/60"}),(0,t.jsx)("span",{className:"text-[11px] font-bold uppercase tracking-wide text-muted-foreground/60",children:n("version.notes")})]}),0===e.notes.length?(0,t.jsx)("p",{className:"text-[12px] italic text-muted-foreground/60",children:n("version.empty.notes")}):(0,t.jsx)("div",{className:"flex flex-col gap-1.5",children:e.notes.map(e=>(0,t.jsx)("div",{className:"rounded-lg border border-border border-l-violet-500/50 bg-background px-2.5 py-2 shadow-sm [border-left-width:3px]",children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-[12.5px] font-semibold text-foreground",children:e.title}),e.category&&(0,t.jsx)("span",{className:"rounded-[5px] border border-violet-500/30 bg-violet-500/15 px-1.5 py-px text-[10px] font-bold text-violet-300",children:e.category})]})},e.id))})]})]})]})}function L({version:e,diffStat:r,onEdit:n,onRelease:a,onViewDiff:i,onOpenTaskDetail:o}){var d;let c,{t:m}=(0,D.useI18n)(),[v,j]=(0,s.useState)(e.isCurrent),b="RELEASED"===e.status,w="ACTIVE"===e.status,S=e.tasks.length,B=e.tasks.filter(e=>"DONE"===e.status).length,R=!!(e.releaseCommit||r),$=(c=`${S} ${m("version.tasksCount")}`,B>0&&B<S?`${c} \xb7 ${B} ${m("version.doneCount")}`:B>0&&B===S?`${c} \xb7 ${m("version.allDone")}`:c);return(0,t.jsxs)("div",{className:["overflow-hidden rounded-[14px] border bg-card shadow-sm transition-shadow duration-150 hover:shadow-md",e.isCurrent?"border-border border-l-2 border-l-primary ring-1 ring-primary/20":"border-border",b?"opacity-[.96]":""].filter(Boolean).join(" "),children:[(0,t.jsx)("button",{type:"button",onClick:()=>j(e=>!e),className:"w-full text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:(0,t.jsxs)("div",{className:"px-4 py-3.5",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)(l.ChevronRight,{className:`h-4 w-4 flex-none text-muted-foreground/60 transition-transform duration-150 ${v?"rotate-90":""}`}),(0,t.jsx)("span",{className:"font-mono text-[14.5px] font-bold text-foreground",children:e.number}),(0,t.jsx)("span",{className:"text-[14.5px] font-semibold text-foreground",children:e.name}),(0,t.jsx)(k.VersionTypeBadge,{name:e.type?.name??null}),(0,t.jsx)(k.VersionStatusBadge,{status:e.status}),e.isCurrent&&(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 rounded-full border border-primary/30 bg-primary/15 px-2.5 py-0.5 text-[11px] font-bold text-primary shadow-sm",children:[(0,t.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-primary opacity-90"}),m("version.current")]}),(0,t.jsx)("span",{className:"flex-1"}),S>0&&(0,t.jsx)("span",{className:"text-[11.5px] text-muted-foreground",children:$}),(0,t.jsxs)("span",{className:"flex items-center gap-1",onClick:e=>e.stopPropagation(),onKeyDown:e=>e.stopPropagation(),children:[n&&(0,t.jsxs)(C.Tooltip,{children:[(0,t.jsx)(C.TooltipTrigger,{render:(0,t.jsx)(x.Button,{variant:"ghost",size:"icon",className:"h-7 w-7 text-muted-foreground",onClick:()=>n(e.id)}),children:(0,t.jsx)(N.Pencil,{className:"h-3.5 w-3.5"})}),(0,t.jsx)(C.TooltipContent,{children:m("version.edit")})]}),w&&a&&(0,t.jsxs)(x.Button,{variant:"outline",className:"h-7 px-2 text-xs font-semibold",onClick:()=>a(e.id),children:[(0,t.jsx)(y,{className:"h-3.5 w-3.5"}),m("version.release")]})]})]}),(0,t.jsxs)("div",{className:"mt-2.5 flex flex-wrap items-center gap-2",children:[b&&e.releasedAt?(0,t.jsxs)(E,{children:[(0,t.jsx)(u.Calendar,{className:"h-3 w-3"}),m("version.releasedAt"),(0,t.jsx)("strong",{className:"text-foreground",children:T(e.releasedAt)})]}):e.startDate||e.targetDate?(0,t.jsxs)(E,{children:[(0,t.jsx)(u.Calendar,{className:"h-3 w-3"}),e.startDate?T(e.startDate):"—"," → ",e.targetDate?(0,t.jsx)("strong",{className:"text-foreground",children:T(e.targetDate)}):"—"]}):null,e.baseBranch&&(0,t.jsxs)(E,{children:[(0,t.jsx)(p.GitBranch,{className:"h-3 w-3"}),(0,t.jsx)("span",{className:"font-mono text-[11px] text-foreground",children:e.baseBranch})]}),e.baseCommit&&(0,t.jsxs)(E,{children:[(0,t.jsx)(h.GitCommitHorizontal,{className:"h-3 w-3"}),m("version.field.baseCommit"),(0,t.jsx)("span",{className:"font-mono text-[11px] text-foreground",children:(d=e.baseCommit)?d.slice(0,7):""})]}),b&&(0,t.jsxs)(E,{children:[(0,t.jsx)(f.Tag,{className:"h-3 w-3"}),(0,t.jsx)("span",{className:"font-mono text-[11px] text-foreground",children:e.number})]}),r&&(0,t.jsxs)(E,{children:[(0,t.jsx)(g.GitCompare,{className:"h-3 w-3"}),!b&&(0,t.jsx)("span",{className:"text-muted-foreground",children:m("version.diff.live")}),(0,t.jsxs)("span",{className:"font-bold text-emerald-400",children:["+",r.additions.toLocaleString()]}),(0,t.jsxs)("span",{className:"font-bold text-rose-400",children:["−",r.deletions.toLocaleString()]}),(0,t.jsxs)("span",{className:"text-muted-foreground",children:["· ",r.files," ",m("version.diff.files")]})]}),R&&i&&(0,t.jsxs)(x.Button,{variant:"ghost",size:"sm",className:"h-6 gap-1 px-2 text-xs text-muted-foreground",onClick:t=>{t.stopPropagation(),i(e.id)},children:[(0,t.jsx)(g.GitCompare,{className:"h-3 w-3"}),m("version.diff.view")," →"]})]}),e.description&&(0,t.jsx)("p",{className:"mt-2 text-[13px] text-muted-foreground",children:e.description})]})}),v&&S>0&&(0,t.jsx)("div",{className:"border-t border-dashed border-border bg-muted/40 px-2 pb-2 pt-1.5",children:e.tasks.map(e=>(0,t.jsx)(I,{task:e,onOpenDetail:o},e.id))})]})}var R=e.i(360112),$=e.i(597746),_=e.i(456346),O=e.i(776639),A=e.i(793479),V=e.i(110204),P=e.i(967489),M=e.i(337822),F=e.i(317056),z=e.i(699375),U=e.i(624687),H=e.i(514798);let G=(0,H.createServerReference)("4043ff5a84972c7c2ddfeec3147ebf2ebff8945c16",H.callServer,void 0,H.findSourceMapURL,"createVersion"),K=(0,H.createServerReference)("60c607e708bae26458385379ad99da3c737194b662",H.callServer,void 0,H.findSourceMapURL,"updateVersion"),W=(0,H.createServerReference)("4081ee9c9a695196c6d3e70e0038201b8597cf6d5b",H.callServer,void 0,H.findSourceMapURL,"getVersionTypes");var Y=e.i(6138),q=e.i(279430),J=e.i(998626);let Q=(0,H.createServerReference)("40c779892dde01fe899f24bb278250b6a894fc0fd4",H.callServer,void 0,H.findSourceMapURL,"createVersionType"),X=(0,H.createServerReference)("600aa2ba48626ad0d43da5526025b52a5e4e9a28a8",H.callServer,void 0,H.findSourceMapURL,"updateVersionType"),Z=(0,H.createServerReference)("40246dc2f400ccc74a808f18f2f00baf7c638f4a77",H.callServer,void 0,H.findSourceMapURL,"deleteVersionType");function ee({open:e,onOpenChange:r,workspaceId:n,onChanged:a}){let{t:i}=(0,D.useI18n)(),[l,o]=(0,s.useState)([]),[d,c]=(0,s.useState)(""),[m,u]=(0,s.useState)({}),[p,h]=(0,s.useTransition)(),f=async()=>{let e=await W(n);o(e),u(t=>{let s={};return e.forEach(e=>{s[e.id]=e.id in t?t[e.id]:e.name}),s})};(0,s.useEffect)(()=>{e&&(f(),c(""))},[e,n]);let g=()=>{let e=d.trim();e&&h(async()=>{try{await Q({workspaceId:n,name:e}),c(""),await f(),a?.(),R.toast.success(i("version.type.add"))}catch(e){R.toast.error(e instanceof Error?e.message:String(e))}})};return(0,t.jsx)(O.Dialog,{open:e,onOpenChange:r,children:(0,t.jsxs)(O.DialogContent,{className:"sm:max-w-md",children:[(0,t.jsx)(O.DialogHeader,{children:(0,t.jsx)(O.DialogTitle,{children:i("version.manageTypes")})}),(0,t.jsxs)("div",{className:"flex flex-col gap-4 py-2",children:[(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)(A.Input,{value:d,onChange:e=>c(e.target.value),placeholder:i("version.type.namePlaceholder"),disabled:p,onKeyDown:e=>{"Enter"===e.key&&g()},className:"flex-1"}),(0,t.jsx)(x.Button,{onClick:g,disabled:p||!d.trim(),children:i("version.type.add")})]}),0===l.length?(0,t.jsx)("p",{className:"text-center text-sm text-muted-foreground py-4",children:i("version.type.empty")}):(0,t.jsx)("div",{className:"flex flex-col gap-1.5",children:l.map(e=>(0,t.jsxs)("div",{className:"flex items-center gap-2 rounded-lg border border-border bg-muted/30 px-3 py-2",children:[(0,t.jsx)("span",{className:`inline-flex h-2.5 w-2.5 flex-none rounded-full ${(0,k.typeBadgeColor)(m[e.id]??e.name).split(" ").filter(e=>e.startsWith("bg-"))[0]??"bg-muted"}`}),(0,t.jsx)(A.Input,{value:m[e.id]??e.name,onChange:t=>u(s=>({...s,[e.id]:t.target.value})),onBlur:()=>(e=>{let t=(m[e]??"").trim();if(!t)return;let s=l.find(t=>t.id===e);s?.name!==t&&h(async()=>{try{await X(e,{name:t}),await f(),a?.()}catch(t){R.toast.error(t instanceof Error?t.message:String(t)),u(t=>({...t,[e]:s?.name??""}))}})})(e.id),onKeyDown:e=>{"Enter"===e.key&&e.target.blur()},disabled:p,className:"h-7 flex-1 border-transparent bg-transparent shadow-none focus-visible:border-input focus-visible:bg-background focus-visible:shadow-sm"}),(0,t.jsx)(x.Button,{variant:"ghost",size:"icon",className:"h-7 w-7 flex-none text-muted-foreground hover:text-destructive",onClick:()=>{var t;return t=e.id,void(window.confirm(i("version.type.deleteConfirm"))&&h(async()=>{try{await Z(t),await f(),a?.()}catch(e){R.toast.error(e instanceof Error?e.message:String(e))}}))},disabled:p,children:(0,t.jsx)(J.Trash2,{className:"h-3.5 w-3.5"})})]},e.id))})]})]})})}function et(e){if(!e)return"";let t="string"==typeof e?new Date(e):e;if(isNaN(t.getTime()))return"";let s=t.getFullYear(),r=String(t.getMonth()+1).padStart(2,"0"),n=String(t.getDate()).padStart(2,"0");return`${s}-${r}-${n}`}function es(e){if(!e)return;let t=new Date(e);return isNaN(t.getTime())?void 0:t}function er({open:e,onOpenChange:r,projectId:n,workspaceId:a,editVersion:i,defaultBaseBranch:l,projectLocalPath:o,onSuccess:d}){let{t:c}=(0,D.useI18n)(),m=!!i,[u,h]=(0,s.useState)(""),[f,g]=(0,s.useState)(""),[v,j]=(0,s.useState)(""),[b,N]=(0,s.useState)([]),[y,w]=(0,s.useState)(!1),[C,S]=(0,s.useState)(""),[k,T]=(0,s.useState)(""),[B,E]=(0,s.useState)(""),[I,L]=(0,s.useState)(""),[H,J]=(0,s.useState)(!1),[Q,X]=(0,s.useState)([]),[Z,en]=(0,s.useState)(!1),[ea,ei]=(0,s.useState)(!1),el=!!o,[eo,ed]=(0,s.useTransition)();return(0,s.useEffect)(()=>{e&&(i?(h(i.number),g(i.name),j(i.typeId??""),S(i.baseBranch??""),T(et(i.startDate)),E(et(i.targetDate)),L(i.description??"")):(h(""),g(""),j(""),S(l??""),T(""),E(""),L("")),J(!1))},[e,i,l]),(0,s.useEffect)(()=>{e&&W(a).then(N).catch(()=>N([]))},[e,a]),(0,s.useEffect)(()=>{e&&el?(en(!0),(0,Y.getProjectBranches)(o).then(X).catch(()=>X([])).finally(()=>en(!1)),(0,q.fetchRemoteBranches)(o).then(()=>(0,Y.getProjectBranches)(o).then(X)).catch(()=>{})):X([])},[e,el,o]),(0,t.jsxs)(O.Dialog,{open:e,onOpenChange:r,children:[(0,t.jsxs)(O.DialogContent,{className:"sm:max-w-md",children:[(0,t.jsx)(O.DialogHeader,{children:(0,t.jsx)(O.DialogTitle,{children:m?c("version.edit"):c("version.new")})}),(0,t.jsxs)("div",{className:"grid gap-4 py-2",children:[(0,t.jsxs)("div",{className:"grid gap-1.5",children:[(0,t.jsxs)(V.Label,{htmlFor:"version-number",children:[c("version.field.number"),(0,t.jsx)("span",{className:"text-destructive ml-0.5",children:"*"})]}),(0,t.jsx)(A.Input,{id:"version-number",value:u,onChange:e=>h(e.target.value),placeholder:c("version.placeholder.number"),disabled:eo})]}),(0,t.jsxs)("div",{className:"grid gap-1.5",children:[(0,t.jsxs)(V.Label,{htmlFor:"version-name",children:[c("version.field.name"),(0,t.jsx)("span",{className:"text-destructive ml-0.5",children:"*"})]}),(0,t.jsx)(A.Input,{id:"version-name",value:f,onChange:e=>g(e.target.value),placeholder:c("version.placeholder.name"),disabled:eo})]}),(0,t.jsxs)("div",{className:"grid gap-1.5",children:[(0,t.jsx)(V.Label,{children:c("version.field.type")}),(0,t.jsxs)(P.Select,{value:v||"__none__",onValueChange:e=>{j(e&&"__none__"!==e?e:"")},children:[(0,t.jsx)(P.SelectTrigger,{className:"w-full",disabled:eo,children:(0,t.jsx)("span",{className:"truncate",children:v?b.find(e=>e.id===v)?.name??c("version.type.uncategorized"):c("version.type.uncategorized")})}),(0,t.jsxs)(P.SelectContent,{children:[(0,t.jsx)(P.SelectItem,{value:"__none__",children:c("version.type.uncategorized")}),b.map(e=>(0,t.jsx)(P.SelectItem,{value:e.id,children:e.name},e.id))]})]}),(0,t.jsxs)(x.Button,{type:"button",variant:"ghost",size:"sm",className:"h-auto justify-start px-0 py-0.5 text-xs text-muted-foreground hover:text-foreground",onClick:()=>w(!0),disabled:eo,children:["+ ",c("version.manageTypes")]})]}),(0,t.jsxs)("div",{className:"grid gap-1.5",children:[(0,t.jsx)(V.Label,{children:c("version.field.baseBranch")}),Z?(0,t.jsx)("div",{className:"text-sm text-muted-foreground",children:c("task.branchLoading")}):el&&Q.length>0?(0,t.jsxs)(M.Popover,{open:ea,onOpenChange:ei,children:[(0,t.jsxs)(M.PopoverTrigger,{className:"flex h-8 w-full items-center gap-2 rounded-lg border border-input bg-transparent px-3 text-sm transition-colors hover:bg-accent focus:outline-none focus-visible:ring-3 focus-visible:ring-ring/50 disabled:opacity-50",disabled:eo,"data-testid":"version-branch-selector",children:[(0,t.jsx)(p.GitBranch,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}),(0,t.jsx)("span",{className:`flex-1 truncate text-left text-xs ${C?"font-mono":"text-muted-foreground"}`,title:C||void 0,children:C||c("version.field.noBranch")}),(0,t.jsx)(_.ChevronsUpDown,{className:"h-3.5 w-3.5 shrink-0 opacity-50"})]}),(0,t.jsx)(M.PopoverContent,{className:"w-[min(32rem,90vw)] p-0",align:"start",children:(0,t.jsxs)(F.Command,{children:[(0,t.jsx)(F.CommandInput,{placeholder:c("task.branchSearch")}),(0,t.jsxs)(F.CommandList,{children:[(0,t.jsx)(F.CommandEmpty,{children:c("task.branchNone")}),(0,t.jsxs)(F.CommandGroup,{children:[(0,t.jsxs)(F.CommandItem,{value:"__none__",onSelect:()=>{S(""),ei(!1)},children:[(0,t.jsx)("span",{className:"flex-1 truncate text-muted-foreground",children:c("version.field.noBranch")}),!C&&(0,t.jsx)($.Check,{className:"ml-auto h-3 w-3 shrink-0 text-primary"})]}),Q.map(e=>(0,t.jsxs)(F.CommandItem,{value:e,onSelect:()=>{S(e),ei(!1)},children:[(0,t.jsx)(p.GitBranch,{className:"mr-2 h-3 w-3 shrink-0 text-muted-foreground"}),(0,t.jsx)("span",{className:"flex-1 truncate font-mono",title:e,children:e}),e===C&&(0,t.jsx)($.Check,{className:"ml-auto h-3 w-3 shrink-0 text-primary"})]},e))]})]})]})})]}):(0,t.jsx)(A.Input,{id:"version-base-branch",value:C,onChange:e=>S(e.target.value),placeholder:"main",disabled:eo})]}),(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,t.jsxs)("div",{className:"grid gap-1.5",children:[(0,t.jsx)(V.Label,{htmlFor:"version-start-date",children:c("version.field.startDate")}),(0,t.jsx)("input",{id:"version-start-date",type:"date",value:k,onChange:e=>T(e.target.value),disabled:eo,className:"h-8 w-full rounded-lg border border-input bg-transparent px-2.5 py-1 text-sm outline-none transition-colors focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50"})]}),(0,t.jsxs)("div",{className:"grid gap-1.5",children:[(0,t.jsx)(V.Label,{htmlFor:"version-target-date",children:c("version.field.targetDate")}),(0,t.jsx)("input",{id:"version-target-date",type:"date",value:B,onChange:e=>E(e.target.value),disabled:eo,className:"h-8 w-full rounded-lg border border-input bg-transparent px-2.5 py-1 text-sm outline-none transition-colors focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50"})]})]}),(0,t.jsxs)("div",{className:"grid gap-1.5",children:[(0,t.jsx)(V.Label,{htmlFor:"version-description",children:c("version.field.description")}),(0,t.jsx)(U.Textarea,{id:"version-description",value:I,onChange:e=>L(e.target.value),rows:3,disabled:eo})]}),!m&&(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)(z.Switch,{id:"version-set-current",checked:H,onCheckedChange:J,disabled:eo}),(0,t.jsx)(V.Label,{htmlFor:"version-set-current",className:"cursor-pointer",children:c("version.field.setCurrent")})]})]}),(0,t.jsxs)(O.DialogFooter,{children:[(0,t.jsx)(x.Button,{variant:"outline",onClick:()=>r(!1),disabled:eo,children:c("common.cancel")}),(0,t.jsx)(x.Button,{onClick:()=>{u.trim()&&f.trim()&&ed(async()=>{try{m&&i?await K(i.id,{number:u.trim(),name:f.trim(),typeId:v||null,baseBranch:C.trim()||null,startDate:es(k)??null,targetDate:es(B)??null,description:I.trim()||null}):await G({projectId:n,number:u.trim(),name:f.trim(),typeId:v||void 0,baseBranch:C.trim()||void 0,startDate:es(k),targetDate:es(B),description:I.trim()||void 0,setCurrent:H}),R.toast.success(m?c("version.edit"):c("version.new")),r(!1),d?.()}catch(e){R.toast.error(e instanceof Error?e.message:String(e))}})},disabled:eo||!u.trim()||!f.trim(),children:m?c("common.save"):c("common.create")})]})]}),(0,t.jsx)(ee,{open:y,onOpenChange:w,workspaceId:a,onChanged:()=>W(a).then(N)})]})}let en=(0,H.createServerReference)("60c83673486198449864e4d0427d473a3d723d4daf",H.callServer,void 0,H.findSourceMapURL,"releaseVersion");function ea({open:e,onOpenChange:r,version:n,candidates:a,onSuccess:i}){let{t:l}=(0,D.useI18n)(),[o,d]=(0,s.useState)(""),[c,m]=(0,s.useTransition)();(0,s.useEffect)(()=>{e&&d("")},[e,n]);let u=a.find(e=>e.id===o),p=a.length>0,h=p&&!!o&&!c;return(0,t.jsx)(O.Dialog,{open:e,onOpenChange:r,children:(0,t.jsxs)(O.DialogContent,{className:"sm:max-w-md",children:[(0,t.jsx)(O.DialogHeader,{children:(0,t.jsx)(O.DialogTitle,{children:l("version.releaseAction")})}),(0,t.jsxs)("div",{className:"grid gap-4 py-2",children:[n&&(0,t.jsxs)("p",{className:"text-sm text-muted-foreground",children:[n.number," · ",n.name]}),(0,t.jsxs)("div",{className:"text-sm",children:[(0,t.jsx)("span",{children:l("version.release.rolloverHint")}),n?.unfinishedCount!==void 0&&n.unfinishedCount>0&&(0,t.jsxs)("span",{className:"ml-1 font-medium text-foreground",children:["(",n.unfinishedCount,")"]})]}),(0,t.jsxs)("div",{className:"grid gap-1.5",children:[(0,t.jsx)("label",{className:"text-sm font-medium",children:l("version.release.nextVersion")}),p?(0,t.jsxs)(P.Select,{value:o,onValueChange:e=>{e&&d(e)},disabled:c,children:[(0,t.jsx)(P.SelectTrigger,{className:"w-full",children:(0,t.jsx)("span",{className:"truncate",children:u?`${u.number} \xb7 ${u.name}`:""})}),(0,t.jsx)(P.SelectContent,{children:a.map(e=>(0,t.jsxs)(P.SelectItem,{value:e.id,children:[e.number," · ",e.name]},e.id))})]}):(0,t.jsx)("p",{className:"text-xs text-destructive",children:l("version.release.noCandidates")})]})]}),(0,t.jsxs)(O.DialogFooter,{children:[(0,t.jsx)(x.Button,{variant:"outline",onClick:()=>r(!1),disabled:c,children:l("common.cancel")}),(0,t.jsx)(x.Button,{onClick:()=>{n&&o&&m(async()=>{try{await en(n.id,o),R.toast.success(l("version.release")),r(!1),i?.()}catch(e){R.toast.error(e instanceof Error?e.message:String(e))}})},disabled:!h,children:l("version.release")})]})]})})}var ei=e.i(400355);let el=(0,H.createServerReference)("408b7eafacb1268ff3a626f14508f7dd2d4fcd84eb",H.callServer,void 0,H.findSourceMapURL,"getVersionDiff");var eo=e.i(196199);function ed({file:e}){let{t:r}=(0,D.useI18n)(),[n,a]=(0,s.useState)(!0),i=e.to&&"/dev/null"!==e.to?e.to:e.from??"",o=e.additions??0,d=e.deletions??0,c=[];for(let t of e.chunks)for(let e of(c.push({type:"normal",content:t.content,chunkHeader:t.content}),t.changes))c.push({type:e.type,content:e.content});let x=c.length>500,m=x?c.slice(0,500):c;return(0,t.jsxs)("div",{className:"overflow-hidden rounded-[10px] border border-border",children:[(0,t.jsxs)("button",{type:"button",onClick:()=>a(e=>!e),className:"flex w-full items-center gap-2 bg-muted/40 px-3 py-2 text-left transition-colors hover:bg-accent/50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:[(0,t.jsx)(l.ChevronRight,{className:`h-3.5 w-3.5 flex-none text-muted-foreground/60 transition-transform duration-150 ${n?"rotate-90":""}`}),(0,t.jsx)("span",{className:"flex-1 truncate font-mono text-[12px] font-medium text-foreground",children:i}),(0,t.jsxs)("span",{className:"shrink-0 font-mono text-[11px] font-bold text-emerald-400",children:["+",o]}),(0,t.jsxs)("span",{className:"shrink-0 font-mono text-[11px] font-bold text-rose-400",children:["−",d]})]}),n&&(0,t.jsxs)("div",{className:"overflow-x-auto",children:[(0,t.jsx)("pre",{className:"m-0 p-0",children:m.map((e,s)=>void 0!==e.chunkHeader?(0,t.jsx)("div",{className:"whitespace-pre px-3 py-px font-mono text-xs text-muted-foreground bg-muted/40",children:e.content},s):"add"===e.type?(0,t.jsx)("div",{className:"whitespace-pre px-3 py-px font-mono text-xs text-emerald-300 bg-emerald-500/10",children:e.content},s):"del"===e.type?(0,t.jsx)("div",{className:"whitespace-pre px-3 py-px font-mono text-xs text-rose-300 bg-rose-500/10",children:e.content},s):(0,t.jsx)("div",{className:"whitespace-pre px-3 py-px font-mono text-xs text-muted-foreground",children:e.content},s))}),x&&(0,t.jsx)("p",{className:"border-t border-border px-3 py-2 text-[11px] text-muted-foreground/70 italic",children:r("version.diff.truncated")})]})]})}function ec({open:e,onOpenChange:r,versionId:n,versionLabel:a}){let{t:i}=(0,D.useI18n)(),[l,o]=(0,s.useTransition)(),[d,c]=(0,s.useState)(null),[x,m]=(0,s.useState)(!1);return(0,s.useEffect)(()=>{e&&n&&(c(null),m(!1),o(async()=>{let e=await el(n);if(!e)return void m(!0);let t=(0,eo.parseUnifiedDiff)(e.patch);0===t.length||""===e.patch?m(!0):c(t)}))},[e,n]),(0,t.jsx)(O.Dialog,{open:e,onOpenChange:r,children:(0,t.jsxs)(O.DialogContent,{className:"sm:max-w-3xl max-h-[80vh] overflow-auto",children:[(0,t.jsx)(O.DialogHeader,{children:(0,t.jsxs)(O.DialogTitle,{children:[i("version.diff.title"),a?` — ${a}`:""]})}),l&&(0,t.jsxs)("div",{className:"flex items-center justify-center gap-2 py-12 text-muted-foreground",children:[(0,t.jsx)(ei.Loader2,{className:"h-5 w-5 animate-spin"}),(0,t.jsx)("span",{className:"text-sm",children:i("version.diff.loading")})]}),!l&&x&&(0,t.jsx)("p",{className:"py-10 text-center text-sm text-muted-foreground",children:i("version.diff.empty")}),!l&&d&&d.length>0&&(0,t.jsx)("div",{className:"flex flex-col gap-2",children:d.map((e,s)=>(0,t.jsx)(ed,{file:e},s))})]})})}var ex=e.i(605005),em=e.i(889620);function eu({version:e,isFirst:s,isLast:r,dashed:n=!1,diffStat:a,onEdit:i,onRelease:l,onViewDiff:o,onOpenTaskDetail:d}){return(0,t.jsxs)("div",{className:"flex gap-4",children:[(0,t.jsxs)("div",{className:"relative flex w-5 flex-none flex-col items-center",children:[(0,t.jsx)("div",{className:["w-px flex-none",s?"h-0":"h-6",n?"bg-[repeating-linear-gradient(to_bottom,var(--border)_0_4px,transparent_4px_8px)]":"bg-border"].filter(Boolean).join(" ")}),(0,t.jsx)("div",{className:["z-10 h-3.5 w-3.5 flex-none rounded-full border-2",e.isCurrent?"border-primary bg-primary ring-2 ring-primary/30":"ACTIVE"===e.status?"border-emerald-400 bg-emerald-400":"RELEASED"===e.status?"border-zinc-500 bg-zinc-500":"border-muted-foreground/40 bg-transparent border-dashed"].join(" ")}),!r&&(0,t.jsx)("div",{className:["w-px flex-1",n?"bg-[repeating-linear-gradient(to_bottom,var(--border)_0_4px,transparent_4px_8px)]":"bg-border"].join(" ")})]}),(0,t.jsx)("div",{className:"min-w-0 flex-1 pb-5",children:(0,t.jsx)(L,{version:e,diffStat:a??null,onEdit:i,onRelease:l,onViewDiff:o,onOpenTaskDetail:d})})]})}e.s(["VersionTimelineClient",0,function({project:e,workspaceId:d,versions:u,diffStats:p,backlog:h}){let f,{t:g}=(0,D.useI18n)(),v=(0,r.useRouter)();(0,s.useEffect)(()=>{(0,em.setLastProjectId)(d,e.id)},[d,e.id]);let[j,b]=(0,s.useState)(!1),[N,y]=(0,s.useState)(null),[w,C]=(0,s.useState)(!1),[S,k]=(0,s.useState)(!1),[T,B]=(0,s.useState)(null),[E,L]=(0,s.useState)(null),[R,$]=(0,s.useState)(null),[_,O]=(0,s.useState)(!1),A=[...[...u.filter(e=>"RELEASED"!==e.status)].sort((e,t)=>{if(!e.targetDate&&!t.targetDate)return 0;if(!e.targetDate)return 1;if(!t.targetDate)return -1;let s=new Date(t.targetDate).getTime()-new Date(e.targetDate).getTime();return 0!==s?s:new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime()}),...[...u.filter(e=>"RELEASED"===e.status)].sort((e,t)=>e.releasedAt||t.releasedAt?e.releasedAt?t.releasedAt?new Date(t.releasedAt).getTime()-new Date(e.releasedAt).getTime():-1:1:0)],V=e=>{let t=u.find(t=>t.id===e);t&&(y({id:t.id,number:t.number,name:t.name,typeId:t.typeId??null,baseBranch:t.baseBranch,startDate:t.startDate,targetDate:t.targetDate,description:t.description}),b(!0))},P=e=>{let t=u.find(t=>t.id===e);t&&(B(t),k(!0))},M=e=>{L(e)},F=()=>{y(null),b(!0)},z=()=>{v.refresh()},U=T?u.filter(e=>e.id!==T.id&&("PLANNED"===e.status||"ACTIVE"===e.status)).map(e=>({id:e.id,number:e.number,name:e.name})):[],H=T?T.tasks.filter(e=>"DONE"!==e.status&&"CANCELLED"!==e.status).length:void 0;return(0,t.jsxs)("div",{className:"flex h-full flex-col overflow-hidden",children:[(0,t.jsxs)("div",{className:"header-xl flex shrink-0 items-center gap-4 border-b px-6",children:[(0,t.jsxs)(n.default,{href:`/workspaces/${d}?projectId=${e.id}`,className:"flex items-center gap-1.5 text-sm text-muted-foreground transition-colors hover:text-foreground",children:[(0,t.jsx)(o.ArrowLeft,{className:"h-3.5 w-3.5"}),(0,t.jsx)("span",{children:g("archive.backToBoard")})]}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,t.jsx)("span",{className:"truncate font-medium",children:e.name}),(0,t.jsx)("span",{children:"/"}),(0,t.jsx)("span",{children:g("version.timeline")})]}),(0,t.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground/70",children:g("version.historyHint")})]}),(0,t.jsxs)(x.Button,{variant:"outline",onClick:()=>C(!0),children:[(0,t.jsx)(c,{className:"h-4 w-4"}),g("version.manageTypes")]}),(0,t.jsxs)(x.Button,{onClick:F,children:[(0,t.jsx)(a.Plus,{className:"h-4 w-4"}),g("version.new")]})]}),(0,t.jsx)(m.ScrollArea,{className:"min-h-0 flex-1",children:(0,t.jsx)("div",{className:"px-6 py-6",children:(0,t.jsxs)("div",{className:"mx-auto max-w-3xl",children:[0===u.length&&0===h.length&&(0,t.jsxs)("div",{className:"flex flex-col items-center gap-4 py-20 text-center text-muted-foreground",children:[(0,t.jsx)("p",{className:"text-sm",children:g("version.empty.list")}),(0,t.jsxs)(x.Button,{variant:"outline",onClick:F,children:[(0,t.jsx)(a.Plus,{className:"h-4 w-4"}),g("version.new")]})]}),A.length>0&&(0,t.jsx)("div",{className:"relative",children:A.map((e,s)=>(0,t.jsx)(eu,{version:e,isFirst:0===s,isLast:s===A.length-1&&0===h.length,diffStat:p[e.id],onEdit:V,onRelease:P,onViewDiff:M,onOpenTaskDetail:$},e.id))}),h.length>0&&(0,t.jsxs)("div",{className:"flex gap-4",children:[(0,t.jsxs)("div",{className:"relative flex w-5 flex-none flex-col items-center",children:[(0,t.jsx)("div",{className:"h-6 w-px bg-[repeating-linear-gradient(to_bottom,var(--border)_0_4px,transparent_4px_8px)]"}),(0,t.jsx)("div",{className:"z-10 h-3.5 w-3.5 flex-none rounded-full border-2 border-dashed border-muted-foreground/40 bg-transparent"})]}),(0,t.jsx)("div",{className:"min-w-0 flex-1 pb-5",children:(0,t.jsxs)("div",{className:"overflow-hidden rounded-[14px] border border-dashed bg-muted/40 shadow-sm",children:[(0,t.jsxs)("button",{type:"button",onClick:()=>O(e=>!e),className:"w-full px-4 py-3 text-left transition-colors hover:bg-accent/50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,t.jsx)(l.ChevronRight,{className:`h-3.5 w-3.5 flex-none text-muted-foreground/60 transition-transform duration-150 ${_?"rotate-90":""}`}),(0,t.jsx)(i.Archive,{className:"h-4 w-4 flex-none text-muted-foreground/70"}),(0,t.jsx)("span",{className:"text-sm font-semibold text-foreground",children:g("version.history")}),(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:g("version.historySub")}),(0,t.jsx)("span",{className:"flex-1"}),(0,t.jsxs)("span",{className:"text-[11.5px] text-muted-foreground",children:[h.length," ",g("version.tasksCount")]})]}),(0,t.jsx)("p",{className:"mt-2 text-xs text-muted-foreground/70",children:g("version.historyHint")})]}),_&&(0,t.jsx)("div",{className:"border-t border-dashed border-border px-2 pb-2 pt-1.5",children:h.map(e=>(0,t.jsx)(I,{task:e,onOpenDetail:$},e.id))})]})})]})]})})}),(0,t.jsx)(er,{open:j,onOpenChange:e=>{b(e),e||y(null)},projectId:e.id,workspaceId:d,editVersion:N,defaultBaseBranch:null,projectLocalPath:e.localPath,onSuccess:z}),(0,t.jsx)(ee,{open:w,onOpenChange:C,workspaceId:d,onChanged:()=>v.refresh()}),(0,t.jsx)(ea,{open:S,onOpenChange:e=>{k(e),e||B(null)},version:T?{id:T.id,number:T.number,name:T.name,unfinishedCount:H}:null,candidates:U,onSuccess:z}),(0,t.jsx)(ec,{open:!!E,onOpenChange:e=>{e||L(null)},versionId:E,versionLabel:E&&(f=u.find(e=>e.id===E))?`${f.number} ${f.name}`:void 0}),(0,t.jsx)(ex.TaskOverviewDrawer,{open:!!R,onOpenChange:e=>{e||$(null)},taskId:R})]})}],645119)}]);
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,967489,331411,e=>{"use strict";var t=e.i(289721);e.s([],648333),e.i(648333);var r=e.i(965652),n=e.i(416369),l=e.i(362891),o=e.i(903224),i=e.i(528796),s=e.i(314757),a=e.i(804849),u=e.i(887642),c=e.i(20746),d=e.i(812901),p=e.i(956741),f=e.i(430557),m=e.i(594640),g=e.i(592604),h=e.i(306296),v=e.i(234951),S=e.i(471959);e.i(708878);var b=e.i(462902);let x=r.createContext(null),y=r.createContext(null);function w(){let e=r.useContext(x);if(null===e)throw Error((0,b.default)(60));return e}function E(){let e=r.useContext(y);if(null===e)throw Error((0,b.default)(61));return e}var R=e.i(890514),M=e.i(103353),I=e.i(193214),A=e.i(596290);let C=(e,t)=>Object.is(e,t);function T(e,t,r){return null==e||null==t?Object.is(e,t):r(e,t)}function P(e,t,r){return e&&0!==e.length?e.findIndex(e=>void 0!==e&&T(e,t,r)):-1}function j(e){if(null==e)return"";if("string"==typeof e)return e;try{return JSON.stringify(e)}catch{return String(e)}}function V(e){return null!=e&&e.length>0&&"object"==typeof e[0]&&null!=e[0]&&"items"in e[0]}function L(e,t){return t&&null!=e?t(e)??"":e&&"object"==typeof e&&"value"in e&&"label"in e?j(e.value):j(e)}function k(e,t,r){function n(){if(r&&null!=e)return r(e)??"";if(e&&"object"==typeof e){if("label"in e&&null!=e.label)return String(e.label);if("value"in e)return String(e.value)}return j(e)}if(r&&null!=e)return r(e);if(e&&"object"==typeof e&&"label"in e&&null!=e.label)return e.label;if(t&&!Array.isArray(t))return t[e]??n();if(Array.isArray(t)){let r=V(t)?t.flatMap(e=>e.items):t;if(null==e||"object"!=typeof e){let t=r.find(t=>t.value===e);return t&&null!=t.label?t.label:n()}if("value"in e){let t=r.find(t=>t&&t.value===e.value);if(t&&null!=t.label)return t.label}}return n()}let O={id:(0,A.createSelector)(e=>e.id),labelId:(0,A.createSelector)(e=>e.labelId),modal:(0,A.createSelector)(e=>e.modal),multiple:(0,A.createSelector)(e=>e.multiple),items:(0,A.createSelector)(e=>e.items),itemToStringLabel:(0,A.createSelector)(e=>e.itemToStringLabel),itemToStringValue:(0,A.createSelector)(e=>e.itemToStringValue),isItemEqualToValue:(0,A.createSelector)(e=>e.isItemEqualToValue),value:(0,A.createSelector)(e=>e.value),hasSelectedValue:(0,A.createSelector)(e=>{let{value:t,multiple:r,itemToStringValue:n}=e;return null!=t&&(r&&Array.isArray(t)?t.length>0:""!==L(t,n))}),hasNullItemLabel:(0,A.createSelector)((e,t)=>!!t&&function(e){if(!Array.isArray(e))return null!=e&&"null"in e;if(V(e)){for(let t of e)for(let e of t.items)if(e&&null==e.value&&null!=e.label)return!0;return!1}for(let t of e)if(t&&null==t.value&&null!=t.label)return!0;return!1}(e.items)),open:(0,A.createSelector)(e=>e.open),mounted:(0,A.createSelector)(e=>e.mounted),forceMount:(0,A.createSelector)(e=>e.forceMount),transitionStatus:(0,A.createSelector)(e=>e.transitionStatus),openMethod:(0,A.createSelector)(e=>e.openMethod),activeIndex:(0,A.createSelector)(e=>e.activeIndex),selectedIndex:(0,A.createSelector)(e=>e.selectedIndex),isActive:(0,A.createSelector)((e,t)=>e.activeIndex===t),isSelected:(0,A.createSelector)((e,t,r)=>{let n=e.isItemEqualToValue,l=e.value;return e.multiple?Array.isArray(l)&&l.some(e=>T(r,e,n)):e.selectedIndex===t&&null!==e.selectedIndex||T(r,l,n)}),isSelectedByFocus:(0,A.createSelector)((e,t)=>e.selectedIndex===t),popupProps:(0,A.createSelector)(e=>e.popupProps),triggerProps:(0,A.createSelector)(e=>e.triggerProps),triggerElement:(0,A.createSelector)(e=>e.triggerElement),positionerElement:(0,A.createSelector)(e=>e.positionerElement),listElement:(0,A.createSelector)(e=>e.listElement),scrollUpArrowVisible:(0,A.createSelector)(e=>e.scrollUpArrowVisible),scrollDownArrowVisible:(0,A.createSelector)(e=>e.scrollDownArrowVisible),hasScrollArrows:(0,A.createSelector)(e=>e.hasScrollArrows)};var D=e.i(67077),U=e.i(586622),N=e.i(504068),H=e.i(571870),F=e.i(421689),B=e.i(954588),z=e.i(353052),_=e.i(892069),Y=e.i(565455),$=e.i(581263),q=e.i(551974),W=e.i(397791);let K=r.forwardRef(function(e,t){let{render:r,className:n,...l}=e;delete l.id;let o=(0,R.useFieldRootContext)(),{store:i}=w(),s=(0,d.useStore)(i,O.triggerElement),a=(0,d.useStore)(i,O.id),u=null==a?void 0:`${a}-label`,c=(0,W.useLabel)({id:u,fallbackControlId:s?.id??a,setLabelId(e){i.set("labelId",e)}});return(0,$.useRenderElement)("div",e,{ref:t,state:o.state,props:[c,l],stateAttributesMapping:q.fieldValidityMapping})});var X=e.i(102094),G=e.i(161476),J=e.i(179279),Q=e.i(845756),Z=e.i(748299),ee=e.i(682354),et=e.i(282109);let er={...Q.pressableTriggerOpenStateMapping,...q.fieldValidityMapping,value:()=>null},en=r.forwardRef(function(e,t){let{render:n,className:o,id:i,disabled:s=!1,nativeButton:a=!0,...p}=e,{setTouched:f,setFocused:m,validationMode:g,state:h,disabled:v}=(0,R.useFieldRootContext)(),{labelId:S}=(0,J.useLabelableContext)(),{store:b,setOpen:x,selectionRef:y,validation:E,readOnly:I,required:A,alignItemWithTriggerActiveRef:C,disabled:T,keyboardActiveRef:P}=w(),j=v||T||s,V=(0,d.useStore)(b,O.open),L=(0,d.useStore)(b,O.value),k=(0,d.useStore)(b,O.triggerProps),N=(0,d.useStore)(b,O.positionerElement),H=(0,d.useStore)(b,O.listElement),F=(0,d.useStore)(b,O.id),B=(0,d.useStore)(b,O.labelId),z=(0,d.useStore)(b,O.hasSelectedValue),_=!z&&V,q=(0,d.useStore)(b,O.hasNullItemLabel,_),W=i??F;(0,M.useLabelableId)({id:W});let K=(0,c.useValueAsRef)(N),Q=r.useRef(null),{getButtonProps:en,buttonRef:el}=(0,et.useButton)({disabled:j,native:a}),eo=(0,u.useStableCallback)(e=>{b.set("triggerElement",e)}),ei=(0,l.useMergedRefs)(t,Q,el,eo),es=(0,G.useTimeout)(),ea=(0,G.useTimeout)(),eu=(0,G.useTimeout)(),ec=(0,G.useTimeout)();r.useEffect(()=>{if(V)return z||q?ec.start(200,()=>{y.current.allowUnselectedMouseUp=!0,eu.start(200,()=>{y.current.allowSelectedMouseUp=!0})}):eu.start(400,()=>{y.current.allowUnselectedMouseUp=!0,y.current.allowSelectedMouseUp=!0}),()=>{eu.clear(),ec.clear()};y.current={allowSelectedMouseUp:!1,allowUnselectedMouseUp:!1},ea.clear()},[V,z,q,y,ea,eu,ec]);let ed=r.useMemo(()=>H?.id??(0,ee.getFloatingFocusElement)(N)?.id,[H,N]),ep=(0,Y.mergeProps)(k,{id:W,role:"combobox","aria-expanded":V?"true":"false","aria-haspopup":"listbox","aria-controls":V?ed:void 0,"aria-labelledby":S??B,"aria-readonly":I||void 0,"aria-required":A||void 0,tabIndex:j?-1:0,ref:ei,onFocus(e){m(!0),V&&C.current&&x(!1,(0,D.createChangeEventDetails)(U.REASONS.none,e.nativeEvent)),es.start(0,()=>{b.set("forceMount",!0)})},onBlur(e){(0,ee.contains)(N,e.relatedTarget)||(f(!0),m(!1),"onBlur"===g&&E.commit(L))},onPointerMove(){P.current=!1},onKeyDown(){P.current=!0},onMouseDown(e){if(V)return;let t=(0,X.ownerDocument)(e.currentTarget);function r(e){if(!Q.current)return;let t=e.target;if((0,ee.contains)(Q.current,t)||(0,ee.contains)(K.current,t)||t===Q.current)return;let r=(0,Z.getPseudoElementBounds)(Q.current);e.clientX>=r.left-2&&e.clientX<=r.right+2&&e.clientY>=r.top-2&&e.clientY<=r.bottom+2||x(!1,(0,D.createChangeEventDetails)(U.REASONS.cancelOpen,e))}ea.start(0,()=>{t.addEventListener("mouseup",r,{once:!0})})}},E.getValidationProps,p,en);ep.role="combobox";let ef={...h,open:V,disabled:j,value:L,readOnly:I,placeholder:!z};return(0,$.useRenderElement)("button",e,{ref:[t,Q],state:ef,stateAttributesMapping:er,props:ep})}),el={value:()=>null},eo=r.forwardRef(function(e,n){let{className:l,render:o,children:i,placeholder:s,...a}=e,{store:u,valueRef:c}=w(),p=(0,d.useStore)(u,O.value),f=(0,d.useStore)(u,O.items),m=(0,d.useStore)(u,O.itemToStringLabel),g=(0,d.useStore)(u,O.hasSelectedValue),h=(0,d.useStore)(u,O.hasNullItemLabel,!g&&null!=s&&null==i),v=null;if("function"==typeof i)v=i(p);else if(null!=i)v=i;else if(g||null==s||h)if(Array.isArray(p))v=p.reduce((e,n,l)=>(l>0&&e.push(", "),e.push((0,t.jsx)(r.Fragment,{children:k(n,f,m)},l)),e),[]);else v=k(p,f,m);else v=s;return(0,$.useRenderElement)("span",e,{state:{value:p,placeholder:!g},ref:[n,c],props:[{children:v},a],stateAttributesMapping:el})}),ei=r.forwardRef(function(e,t){let{className:r,render:n,...l}=e,{store:o}=w(),i=(0,d.useStore)(o,O.open);return(0,$.useRenderElement)("span",e,{state:{open:i},ref:t,props:[{"aria-hidden":!0,children:"▼"},l],stateAttributesMapping:Q.triggerOpenStateMapping})});var es=e.i(888393);let ea=r.createContext(void 0),eu=r.forwardRef(function(e,r){let{store:n}=w(),l=(0,d.useStore)(n,O.mounted),o=(0,d.useStore)(n,O.forceMount);return l||o?(0,t.jsx)(ea.Provider,{value:!0,children:(0,t.jsx)(es.FloatingPortal,{ref:r,...e})}):null});var ec=e.i(809058);let ed={...Q.popupStateMapping,...ec.transitionStatusMapping},ep=r.forwardRef(function(e,t){let{className:r,render:n,...l}=e,{store:o}=w(),i=(0,d.useStore)(o,O.open),s=(0,d.useStore)(o,O.mounted),a=(0,d.useStore)(o,O.transitionStatus);return(0,$.useRenderElement)("div",e,{state:{open:i,transitionStatus:a},ref:t,props:[{role:"presentation",hidden:!s,style:{userSelect:"none",WebkitUserSelect:"none"}},l],stateAttributesMapping:ed})});var ef=e.i(831766),em=e.i(620163),eg=e.i(579028),eh=e.i(887943);let ev=r.createContext(void 0);function eS(){let e=r.useContext(ev);if(!e)throw Error((0,b.default)(59));return e}var eb=e.i(72287),ex=e.i(693354),ey=e.i(808754);function ew(e,t){e&&Object.assign(e.style,t)}let eE={position:"relative",maxHeight:"100%",overflowX:"hidden",overflowY:"auto"},eR={position:"fixed"},eM=r.forwardRef(function(e,n){let{anchor:l,positionMethod:o="absolute",className:i,render:s,side:c="bottom",align:p="center",sideOffset:f=0,alignOffset:m=0,collisionBoundary:g="clipping-ancestors",collisionPadding:h,arrowPadding:v=5,sticky:S=!1,disableAnchorTracking:b,alignItemWithTrigger:x=!0,collisionAvoidance:y=ex.DROPDOWN_COLLISION_AVOIDANCE,...R}=e,{store:M,listRef:I,labelsRef:A,alignItemWithTriggerActiveRef:C,selectedItemTextRef:j,valuesRef:V,initialValueRef:L,popupRef:k,setValue:N}=w(),H=E(),F=(0,d.useStore)(M,O.open),B=(0,d.useStore)(M,O.mounted),z=(0,d.useStore)(M,O.modal),_=(0,d.useStore)(M,O.value),Y=(0,d.useStore)(M,O.openMethod),q=(0,d.useStore)(M,O.positionerElement),W=(0,d.useStore)(M,O.triggerElement),K=(0,d.useStore)(M,O.isItemEqualToValue),X=(0,d.useStore)(M,O.transitionStatus),G=r.useRef(null),J=r.useRef(null),[Z,ee]=r.useState(x),et=B&&Z&&"touch"!==Y;B||Z===x||ee(x),(0,a.useIsoLayoutEffect)(()=>{!B&&(O.scrollUpArrowVisible(M.state)&&M.set("scrollUpArrowVisible",!1),O.scrollDownArrowVisible(M.state)&&M.set("scrollDownArrowVisible",!1))},[M,B]),r.useImperativeHandle(C,()=>et),(0,em.useScrollLock)((et||z)&&F&&"touch"!==Y,W);let er=(0,eh.useAnchorPositioning)({anchor:l,floatingRootContext:H,positionMethod:o,mounted:B,side:c,sideOffset:f,align:p,alignOffset:m,arrowPadding:v,collisionBoundary:g,collisionPadding:h,sticky:S,disableAnchorTracking:b??et,collisionAvoidance:y,keepMounted:!0}),en=et?"none":er.side,el=et?eR:er.positionerStyles,eo=r.useMemo(()=>{let e={};return F||(e.pointerEvents="none"),{role:"presentation",hidden:!B,style:{...el,...e}}},[F,B,el]),ei={open:F,side:en,align:er.align,anchorHidden:er.anchorHidden},es=(0,u.useStableCallback)(e=>{M.set("positionerElement",e)}),ea=(0,$.useRenderElement)("div",e,{ref:[n,es],state:ei,stateAttributesMapping:Q.popupStateMapping,props:[eo,(0,ey.getDisabledMountTransitionStyles)(X),R]}),eu=r.useRef(0),ec=(0,u.useStableCallback)(e=>{if(0===e.size&&0===eu.current||0===V.current.length)return;let t=eu.current;if(eu.current=e.size,e.size===t)return;let r=(0,D.createChangeEventDetails)(U.REASONS.none);if(0!==t&&!M.state.multiple&&null!==_&&-1===P(V.current,_,K)){let e=L.current,t=null!=e&&-1!==P(V.current,e,K)?e:null;N(t,r),null===t&&(M.set("selectedIndex",null),j.current=null)}if(0!==t&&M.state.multiple&&Array.isArray(_)){let e=_.filter(e=>-1!==P(V.current,e,K));(e.length!==_.length||e.some(e=>!(_&&0!==_.length&&_.some(t=>void 0!==t&&T(e,t,K)))))&&(N(e,r),0===e.length&&(M.set("selectedIndex",null),j.current=null))}if(F&&et){M.update({scrollUpArrowVisible:!1,scrollDownArrowVisible:!1});let e={height:""};ew(q,e),ew(k.current,e)}}),ed=r.useMemo(()=>({...er,side:en,alignItemWithTriggerActive:et,setControlledAlignItemWithTrigger:ee,scrollUpArrowRef:G,scrollDownArrowRef:J}),[er,en,et,ee]);return(0,t.jsx)(eg.CompositeList,{elementsRef:I,labelsRef:A,onMapChange:ec,children:(0,t.jsxs)(ev.Provider,{value:ed,children:[B&&z&&(0,t.jsx)(eb.InternalBackdrop,{inert:(0,ef.inertValue)(!F),cutout:W}),ea]})})});var eI=e.i(585012),eA=e.i(641645),eC=e.i(442383),eT=e.i(285182);function eP(e){let t=e.currentTarget.getBoundingClientRect();return t.top+1<=e.clientY&&e.clientY<=t.bottom-1&&t.left+1<=e.clientX&&e.clientX<=t.right-1}var ej=e.i(946467),eV=e.i(11931),eL=e.i(278928),ek=e.i(685668),eO=e.i(196368),eD=e.i(197920),eU=e.i(867467),eN=e.i(743945);let eH={...Q.popupStateMapping,...ec.transitionStatusMapping},eF=r.forwardRef(function(e,n){let{render:l,className:o,finalFocus:i,...s}=e,{store:c,popupRef:p,onOpenChangeComplete:f,setOpen:m,valueRef:g,selectedItemTextRef:h,keyboardActiveRef:v,multiple:S,handleScrollArrowVisibility:b,scrollHandlerRef:x,highlightItemOnHover:y}=w(),{side:R,align:M,alignItemWithTriggerActive:I,setControlledAlignItemWithTrigger:A,scrollDownArrowRef:C,scrollUpArrowRef:T}=eS(),P=null!=(0,eO.useToolbarRootContext)(!0),j=E(),{nonce:V,disableStyleElements:L}=(0,eN.useCSPContext)(),k=(0,G.useTimeout)(),H=(0,d.useStore)(c,O.id),F=(0,d.useStore)(c,O.open),B=(0,d.useStore)(c,O.mounted),z=(0,d.useStore)(c,O.popupProps),_=(0,d.useStore)(c,O.transitionStatus),Y=(0,d.useStore)(c,O.triggerElement),q=(0,d.useStore)(c,O.positionerElement),W=(0,d.useStore)(c,O.listElement),K=r.useRef(0),J=r.useRef(!1),Q=r.useRef(0),Z=r.useRef(!1),ee=r.useRef({}),et=(0,ej.useAnimationFrame)(),er=(0,u.useStableCallback)(e=>{if(!q||!p.current||!Z.current)return;if(J.current||!I)return void b();let t="0px"===q.style.top,r="0px"===q.style.bottom,n=q.getBoundingClientRect().height,l=(0,X.ownerDocument)(q),o=getComputedStyle(q),i=parseFloat(o.marginTop),s=parseFloat(o.marginBottom),a=eB(getComputedStyle(p.current)),u=Math.min(l.documentElement.clientHeight-i-s,a),c=e.scrollTop,d=ez(e),f=0,m=null,g=!1,h=!1,v=e=>{q.style.height=`${e}px`},S=(t,r)=>{let l=(0,eU.clamp)(t,0,u-n);l>0&&v(n+l),e.scrollTop=r,u-(n+l)<=1&&(J.current=!0),b()};if(t){let e=d-c,t=Math.min(n+e,u);if(f=t,e<=1)return void S(e,d);u-t>1?h=!0:g=!0}else if(r){let e=n+c,t=Math.min(e,u);if(f=t,c<=1)return void S(c,0);u-t>1?m=0:(g=!0,c<d&&(m=c-(c-(e-u))))}if(0!==(f=Math.ceil(f))&&v(f),h||null!=m){let t=ez(e),r=h?t:(0,eU.clamp)(m,0,t);Math.abs(e.scrollTop-r)>1&&(e.scrollTop=r)}(g||f>=u-1)&&(J.current=!0),b()});r.useImperativeHandle(x,()=>er,[er]),(0,N.useOpenChangeComplete)({open:F,ref:p,onComplete(){F&&f?.(!0)}}),(0,a.useIsoLayoutEffect)(()=>{q&&p.current&&!Object.keys(ee.current).length&&(ee.current={top:q.style.top||"0",left:q.style.left||"0",right:q.style.right,height:q.style.height,bottom:q.style.bottom,minHeight:q.style.minHeight,maxHeight:q.style.maxHeight,marginTop:q.style.marginTop,marginBottom:q.style.marginBottom})},[p,q]),(0,a.useIsoLayoutEffect)(()=>{F||I||(Z.current=!1,J.current=!1,K.current=0,Q.current=0,ew(q,ee.current))},[F,I,q,p]),(0,a.useIsoLayoutEffect)(()=>{let e=p.current;if(F&&Y&&q&&e&&"ending"!==c.state.transitionStatus){if(!I){Z.current=!0,et.request(b),e.style.removeProperty("--transform-origin");return}queueMicrotask(()=>{let t=function(e){let{style:t}=e,r={};for(let[e,n]of eY)r[e]=t.getPropertyValue(e),t.setProperty(e,n,"important");return()=>{for(let[e]of eY){let n=r[e];n?t.setProperty(e,n):t.removeProperty(e)}}}(e);e.style.removeProperty("--transform-origin");try{var r;let t,n=getComputedStyle(q),l=getComputedStyle(e),o=(0,X.ownerDocument)(Y),i=(0,eT.ownerWindow)(q),s=(r=Y,eL.platform.getScale(r)),a=e_(Y.getBoundingClientRect(),s),u=e_(q.getBoundingClientRect(),s),c=a.left,d=a.height,p=W||e,f=p.scrollHeight,m=parseFloat(l.borderBottomWidth),v=parseFloat(n.marginTop)||10,S=parseFloat(n.marginBottom)||10,x=parseFloat(n.minHeight)||100,y=eB(l),w=o.documentElement.clientHeight-v-S,E=o.documentElement.clientWidth,R=w-a.bottom+d,M=h.current,I=g.current,C=0,T=0;if(M&&I){let e=e_(I.getBoundingClientRect(),s);t=e_(M.getBoundingClientRect(),s);let r=e.left-c,n=t.left-u.left,l=e.top-a.top+e.height/2,o=t.top-u.top+t.height/2;C=r-n,T=o-l}let P=R+T+S+m,j=Math.min(w,P),V=w-v-S,L=P-j,k=Math.max(5,c+C),O=Math.max(0,k+u.width-(E-5));q.style.left=`${k-O}px`,q.style.height=`${j}px`,q.style.maxHeight="auto",q.style.marginTop=`${v}px`,q.style.marginBottom=`${S}px`,e.style.height="100%";let D=ez(p),U=L>=D-1;U&&(j=Math.min(w,u.height)-(L-D));let N=a.top<20||a.bottom>w-20||Math.ceil(j)+1<Math.min(f,x),H=(i.visualViewport?.scale??1)!==1&&eC.isWebKit;if(N||H){Z.current=!0,ew(q,ee.current),eI.flushSync(()=>A(!1));return}if(U){let e=Math.max(0,w-P);q.style.top=u.height>=V?"0":`${e}px`,q.style.height=`${j}px`,p.scrollTop=ez(p),K.current=Math.max(x,j)}else q.style.bottom="0",K.current=Math.max(x,j),p.scrollTop=L;if(t){let r=u.top,n=u.height,l=t.top+t.height/2,o=(0,eU.clamp)(n>0?(l-r)/n*100:50,0,100);e.style.setProperty("--transform-origin",`50% ${o}%`)}(K.current===w||j>=y)&&(J.current=!0),b(),setTimeout(()=>{Z.current=!0})}finally{t()}})}},[c,F,q,Y,g,h,p,b,I,A,et,C,T,W]),r.useEffect(()=>{if(!I||!q||!F)return;let e=(0,eT.ownerWindow)(q);function t(e){m(!1,(0,D.createChangeEventDetails)(U.REASONS.windowResize,e))}return e.addEventListener("resize",t),()=>{e.removeEventListener("resize",t)}},[m,I,q,F]);let en={...W?{role:"presentation","aria-orientation":void 0}:{role:"listbox","aria-multiselectable":S||void 0,id:`${H}-list`},onKeyDown(e){v.current=!0,P&&eD.COMPOSITE_KEYS.has(e.key)&&e.stopPropagation()},onMouseMove(){v.current=!1},onPointerLeave(e){if(!y||eP(e)||"touch"===e.pointerType)return;let t=e.currentTarget;k.start(0,()=>{c.set("activeIndex",null),t.focus({preventScroll:!0})})},onScroll(e){W||er(e.currentTarget)},...I&&{style:W?{height:"100%"}:eE}},el=(0,$.useRenderElement)("div",e,{ref:[n,p],state:{open:F,transitionStatus:_,side:R,align:M},stateAttributesMapping:eH,props:[z,en,(0,ey.getDisabledMountTransitionStyles)(_),{className:!W&&I?ek.styleDisableScrollbar.className:void 0},s]});return(0,t.jsxs)(r.Fragment,{children:[!L&&ek.styleDisableScrollbar.getElement(V),(0,t.jsx)(eV.FloatingFocusManager,{context:j,modal:!1,disabled:!B,returnFocus:i,restoreFocus:!0,children:el})]})});function eB(e){let t=e.maxHeight||"";return t.endsWith("px")&&parseFloat(t)||1/0}function ez(e){return Math.max(0,e.scrollHeight-e.clientHeight)}function e_(e,t){return(0,eA.rectToClientRect)({x:e.x/t.x,y:e.y/t.y,width:e.width/t.x,height:e.height/t.y})}let eY=[["transform","none"],["scale","1"],["translate","0 0"]],e$=r.forwardRef(function(e,t){let{className:r,render:n,...l}=e,{store:o,scrollHandlerRef:i}=w(),{alignItemWithTriggerActive:s}=eS(),a=(0,d.useStore)(o,O.hasScrollArrows),c=(0,d.useStore)(o,O.openMethod),p=(0,d.useStore)(o,O.multiple),f=(0,d.useStore)(o,O.id),m={id:`${f}-list`,role:"listbox","aria-multiselectable":p||void 0,onScroll(e){i.current?.(e.currentTarget)},...s&&{style:eE},className:a&&"touch"!==c?ek.styleDisableScrollbar.className:void 0},g=(0,u.useStableCallback)(e=>{o.set("listElement",e)});return(0,$.useRenderElement)("div",e,{ref:[t,g],props:[m,l]})});var eq=e.i(655728);let eW=r.createContext(void 0);function eK(){let e=r.useContext(eW);if(!e)throw Error((0,b.default)(57));return e}let eX=r.memo(r.forwardRef(function(e,n){let{render:l,className:o,value:i=null,label:s,disabled:u=!1,nativeButton:p=!1,...f}=e,m=r.useRef(null),g=(0,eq.useCompositeListItem)({label:s,textRef:m,indexGuessBehavior:eq.IndexGuessBehavior.GuessFromOrder}),{store:h,getItemProps:v,setOpen:S,setValue:b,selectionRef:x,typingRef:y,valuesRef:E,keyboardActiveRef:R,multiple:M,highlightItemOnHover:I}=w(),A=(0,G.useTimeout)(),C=(0,d.useStore)(h,O.isActive,g.index),P=(0,d.useStore)(h,O.isSelected,g.index,i),j=(0,d.useStore)(h,O.isSelectedByFocus,g.index),V=(0,d.useStore)(h,O.isItemEqualToValue),L=g.index,k=-1!==L,N=r.useRef(null),H=(0,c.useValueAsRef)(L);(0,a.useIsoLayoutEffect)(()=>{if(!k)return;let e=E.current;return e[L]=i,()=>{delete e[L]}},[k,L,i,E]),(0,a.useIsoLayoutEffect)(()=>{if(!k)return;let e=h.state.value,t=e;M&&Array.isArray(e)&&e.length>0&&(t=e[e.length-1]),void 0!==t&&T(i,t,V)&&h.set("selectedIndex",L)},[k,L,M,V,h,i]);let F=v({active:C,selected:P});F.onFocus=void 0,F.id=void 0;let B=r.useRef(null),z=r.useRef("mouse"),_=r.useRef(!1),{getButtonProps:Y,buttonRef:q}=(0,et.useButton)({disabled:u,focusableWhenDisabled:!0,native:p,composite:!0}),W=(0,$.useRenderElement)("div",e,{ref:[q,n,g.ref,N],state:{disabled:u,selected:P,highlighted:C},props:[F,{role:"option","aria-selected":P,tabIndex:C?0:-1,onFocus(){h.set("activeIndex",L)},onMouseEnter(){!R.current&&null===h.state.selectedIndex&&I&&h.set("activeIndex",L)},onMouseMove(){I&&h.set("activeIndex",L)},onMouseLeave(e){!I||R.current||eP(e)||A.start(0,()=>{h.state.activeIndex===L&&h.set("activeIndex",null)})},onTouchStart(){x.current={allowSelectedMouseUp:!1,allowUnselectedMouseUp:!1}},onKeyDown(e){B.current=e.key,h.set("activeIndex",L)," "===e.key&&y.current&&e.preventDefault()},onClick(e){_.current=!1,"keydown"===e.type&&null===B.current||u||"keydown"===e.type&&" "===B.current&&y.current||"touch"!==z.current&&!C||(B.current=null,function(e){let t=h.state.value;if(M){let r=Array.isArray(t)?t:[];b(P?r.filter(e=>!T(i,e,V)):[...r,i],(0,D.createChangeEventDetails)(U.REASONS.itemPress,e))}else b(i,(0,D.createChangeEventDetails)(U.REASONS.itemPress,e)),S(!1,(0,D.createChangeEventDetails)(U.REASONS.itemPress,e))}(e.nativeEvent))},onPointerEnter(e){z.current=e.pointerType},onPointerDown(e){z.current=e.pointerType,_.current=!0},onMouseUp(){if(u)return;if(_.current){_.current=!1;return}let e=!x.current.allowSelectedMouseUp&&P,t=!x.current.allowUnselectedMouseUp&&!P;e||t||"touch"!==z.current&&!C||N.current?.click()}},f,Y]}),K=r.useMemo(()=>({selected:P,indexRef:H,textRef:m,selectedByFocus:j,hasRegistered:k}),[P,H,m,j,k]);return(0,t.jsx)(eW.Provider,{value:K,children:W})})),eG=r.forwardRef(function(e,r){let n=e.keepMounted??!1,{selected:l}=eK();return n||l?(0,t.jsx)(eJ,{...e,ref:r}):null}),eJ=r.memo(r.forwardRef((e,t)=>{let{render:n,className:l,keepMounted:o,...i}=e,{selected:s}=eK(),a=r.useRef(null),{transitionStatus:u,setMounted:c}=(0,I.useTransitionStatus)(s),d=(0,$.useRenderElement)("span",e,{ref:[t,a],state:{selected:s,transitionStatus:u},props:[{"aria-hidden":!0,children:"✔️"},i],stateAttributesMapping:ec.transitionStatusMapping});return(0,N.useOpenChangeComplete)({open:s,ref:a,onComplete(){s||c(!1)}}),d})),eQ=r.memo(r.forwardRef(function(e,t){let{indexRef:n,textRef:l,selectedByFocus:o,hasRegistered:i}=eK(),{selectedItemTextRef:s}=w(),{className:a,render:u,...c}=e,d=r.useCallback(e=>{if(!e||!i)return;let t=null===s.current||!s.current.isConnected;(o||t&&0===n.current)&&(s.current=e)},[s,n,o,i]);return(0,$.useRenderElement)("div",e,{ref:[d,t,l],props:c})})),eZ={...Q.popupStateMapping,...ec.transitionStatusMapping},e0=r.forwardRef(function(e,t){let{className:r,render:n,...l}=e,{store:o}=w(),{side:i,align:s,arrowRef:a,arrowStyles:u,arrowUncentered:c,alignItemWithTriggerActive:p}=eS(),f=(0,d.useStore)(o,O.open,!0),m=(0,$.useRenderElement)("div",e,{state:{open:f,side:i,align:s,uncentered:c},ref:[a,t],props:[{style:u,"aria-hidden":!0},l],stateAttributesMapping:eZ});return p?null:m}),e1=r.forwardRef(function(e,t){let{render:r,className:n,direction:l,keepMounted:o=!1,...i}=e,{store:s,popupRef:u,listRef:c,handleScrollArrowVisibility:p,scrollArrowsMountedCountRef:f}=w(),{side:m,scrollDownArrowRef:g,scrollUpArrowRef:h}=eS(),v="up"===l?O.scrollUpArrowVisible:O.scrollDownArrowVisible,S=(0,d.useStore)(s,v),b=(0,d.useStore)(s,O.openMethod),x=S&&"touch"!==b,y=(0,G.useTimeout)(),E="up"===l?h:g,{transitionStatus:R,setMounted:M}=(0,I.useTransitionStatus)(x);(0,a.useIsoLayoutEffect)(()=>(f.current+=1,s.state.hasScrollArrows||s.set("hasScrollArrows",!0),()=>{f.current=Math.max(0,f.current-1),0===f.current&&s.state.hasScrollArrows&&s.set("hasScrollArrows",!1)}),[s,f]),(0,N.useOpenChangeComplete)({open:x,ref:E,onComplete(){x||M(!1)}});let A=(0,$.useRenderElement)("div",e,{ref:[t,E],state:{direction:l,visible:x,side:m,transitionStatus:R},props:[{"aria-hidden":!0,children:"up"===l?"▲":"▼",style:{position:"absolute"},onMouseMove(e){0===e.movementX&&0===e.movementY||y.isStarted()||(s.set("activeIndex",null),y.start(40,function e(){let t=s.state.listElement??u.current;if(!t)return;s.set("activeIndex",null),p();let r=0===t.scrollTop,n=Math.round(t.scrollTop+t.clientHeight)>=t.scrollHeight;if(0===c.current.length&&("up"===l?s.set("scrollUpArrowVisible",!r):s.set("scrollDownArrowVisible",!n)),"up"===l&&r||"down"===l&&n)return void y.clear();if((s.state.listElement||u.current)&&c.current&&c.current.length>0){let e=c.current,r=E.current?.offsetHeight||0;if("up"===l){let n=0,l=t.scrollTop+r;for(let t=0;t<e.length;t+=1){let r=e[t];if(r&&r.offsetTop>=l){n=t;break}}let o=Math.max(0,n-1);if(o<n){let n=e[o];n&&(t.scrollTop=Math.max(0,n.offsetTop-r))}else t.scrollTop=0}else{let n=e.length-1,l=t.scrollTop+t.clientHeight-r;for(let t=0;t<e.length;t+=1){let r=e[t];if(r&&r.offsetTop+r.offsetHeight>l){n=Math.max(0,t-1);break}}let o=Math.min(e.length-1,n+1);if(o>n){let n=e[o];n&&(t.scrollTop=n.offsetTop+n.offsetHeight-t.clientHeight+r)}else t.scrollTop=t.scrollHeight-t.clientHeight}}y.start(40,e)}))},onMouseLeave(){y.clear()}},i]});return x||o?A:null}),e5=r.forwardRef(function(e,r){return(0,t.jsx)(e1,{...e,ref:r,direction:"down"})}),e2=r.forwardRef(function(e,r){return(0,t.jsx)(e1,{...e,ref:r,direction:"up"})}),e4=r.createContext(void 0),e8=r.forwardRef(function(e,n){let{className:l,render:o,...i}=e,[s,a]=r.useState(),u=r.useMemo(()=>({labelId:s,setLabelId:a}),[s,a]),c=(0,$.useRenderElement)("div",e,{ref:n,props:[{role:"group","aria-labelledby":s},i]});return(0,t.jsx)(e4.Provider,{value:u,children:c})});var e6=e.i(207516);let e9=r.forwardRef(function(e,t){let{className:n,render:l,id:o,...i}=e,{setLabelId:s}=function(){let e=r.useContext(e4);if(void 0===e)throw Error((0,b.default)(56));return e}(),u=(0,e6.useBaseUiId)(o);return(0,a.useIsoLayoutEffect)(()=>{s(u)},[u,s]),(0,$.useRenderElement)("div",e,{ref:t,props:[{id:u},i]})});var e3=e.i(983640);e.s(["Arrow",0,e0,"Backdrop",0,ep,"Group",0,e8,"GroupLabel",0,e9,"Icon",0,ei,"Item",0,eX,"ItemIndicator",0,eG,"ItemText",0,eQ,"Label",0,K,"List",0,e$,"Popup",0,eF,"Portal",0,eu,"Positioner",0,eM,"Root",0,function(e){let{id:b,value:w,defaultValue:E=null,onValueChange:A,open:T,defaultOpen:j=!1,onOpenChange:V,name:k,autoComplete:$,disabled:q=!1,readOnly:W=!1,required:K=!1,modal:X=!0,actionsRef:G,inputRef:J,onOpenChangeComplete:Q,items:Z,multiple:ee=!1,itemToStringLabel:et,itemToStringValue:er,isItemEqualToValue:en=C,highlightItemOnHover:el=!0,children:eo}=e,{clearErrors:ei}=(0,H.useFormContext)(),{setDirty:es,setTouched:ea,setFocused:eu,shouldValidateOnChange:ec,validityData:ed,setFilled:ep,name:ef,disabled:em,validation:eg,validationMode:eh}=(0,R.useFieldRootContext)(),ev=(0,M.useLabelableId)({id:b}),eS=em||q,eb=ef??k,[ex,ey]=(0,s.useControlled)({controlled:w,default:ee?E??B.EMPTY_ARRAY:E,name:"Select",state:"value"}),[ew,eE]=(0,s.useControlled)({controlled:T,default:j,name:"Select",state:"open"}),eR=r.useRef([]),eM=r.useRef([]),eI=r.useRef(null),eA=r.useRef(null),eC=r.useRef(0),eT=r.useRef(null),eP=r.useRef([]),ej=r.useRef(!1),eV=r.useRef(!1),eL=r.useRef(null),ek=r.useRef({allowSelectedMouseUp:!1,allowUnselectedMouseUp:!1}),eO=r.useRef(!1),{mounted:eD,setMounted:eU,transitionStatus:eN}=(0,I.useTransitionStatus)(ew),{openMethod:eH,triggerProps:eF}=(0,_.useOpenInteractionType)(ew),eB=(0,o.useRefWithInit)(()=>new p.Store({id:ev,labelId:void 0,modal:X,multiple:ee,itemToStringLabel:et,itemToStringValue:er,isItemEqualToValue:en,value:ex,open:ew,mounted:eD,transitionStatus:eN,items:Z,forceMount:!1,openMethod:null,activeIndex:null,selectedIndex:null,popupProps:{},triggerProps:{},triggerElement:null,positionerElement:null,listElement:null,scrollUpArrowVisible:!1,scrollDownArrowVisible:!1,hasScrollArrows:!1})).current,ez=(0,d.useStore)(eB,O.activeIndex),e_=(0,d.useStore)(eB,O.selectedIndex),eY=(0,d.useStore)(eB,O.triggerElement),e$=(0,d.useStore)(eB,O.positionerElement),eq=r.useMemo(()=>ee&&Array.isArray(ex)&&0===ex.length?"":L(ex,er),[ee,ex,er]),eW=r.useMemo(()=>ee&&Array.isArray(ex)?ex.map(e=>L(e,er)):L(ex,er),[ee,ex,er]),eK=(0,c.useValueAsRef)(eB.state.triggerElement);(0,F.useField)({id:ev,commit:eg.commit,value:ex,controlRef:eK,name:eb,getValue:()=>eW});let eX=r.useRef(ex);(0,a.useIsoLayoutEffect)(()=>{ex!==eX.current&&eB.set("forceMount",!0)},[eB,ex]),(0,a.useIsoLayoutEffect)(()=>{ep(ee?Array.isArray(ex)&&ex.length>0:null!=ex)},[ee,ex,ep]),(0,a.useIsoLayoutEffect)(function(){if(ew)return;let e=eP.current;if(ee){let t=Array.isArray(ex)?ex:[];if(0===t.length)return void eB.set("selectedIndex",null);let r=P(e,t[t.length-1],en);return void eB.set("selectedIndex",-1===r?null:r)}let t=P(e,ex,en);eB.set("selectedIndex",-1===t?null:t)},[ee,ew,ex,eP,en,eB]),(0,z.useValueChanged)(ex,()=>{ei(eb),es(ex!==ed.initialValue),ec()?eg.commit(ex):eg.commit(ex,!0)});let eG=(0,u.useStableCallback)((e,t)=>{if(V?.(e,t),!t.isCanceled&&(eE(e),e||t.reason!==U.REASONS.focusOut&&t.reason!==U.REASONS.outsidePress||(ea(!0),eu(!1),"onBlur"===eh&&eg.commit(ex)),!e&&null!==eB.state.activeIndex)){let e=eR.current[eB.state.activeIndex];queueMicrotask(()=>{e?.setAttribute("tabindex","-1")})}}),eJ=(0,u.useStableCallback)(()=>{eU(!1),eB.set("activeIndex",null),Q?.(!1)});(0,N.useOpenChangeComplete)({enabled:!G,open:ew,ref:eI,onComplete(){ew||eJ()}}),r.useImperativeHandle(G,()=>({unmount:eJ}),[eJ]);let eQ=(0,u.useStableCallback)((e,t)=>{A?.(e,t),t.isCanceled||ey(e)}),eZ=(0,u.useStableCallback)(()=>{let e=eB.state.listElement||eI.current;if(!e)return;let t=e.scrollTop,r=e.scrollTop+e.clientHeight,n=t>1,l=r<e.scrollHeight-1;eB.state.scrollUpArrowVisible!==n&&eB.set("scrollUpArrowVisible",n),eB.state.scrollDownArrowVisible!==l&&eB.set("scrollDownArrowVisible",l)}),e0=(0,g.useFloatingRootContext)({open:ew,onOpenChange:eG,elements:{reference:eY,floating:e$}}),e1=(0,f.useClick)(e0,{enabled:!W&&!eS,event:"mousedown"}),e5=(0,m.useDismiss)(e0,{bubbles:!1}),e2=(0,v.useListNavigation)(e0,{enabled:!W&&!eS,listRef:eR,activeIndex:ez,selectedIndex:e_,disabledIndices:B.EMPTY_ARRAY,onNavigate(e){(null!==e||ew)&&eB.set("activeIndex",e)},focusItemOnHover:!1}),e4=(0,S.useTypeahead)(e0,{enabled:!W&&!eS&&(ew||!ee),listRef:eM,activeIndex:ez,selectedIndex:e_,onMatch(e){ew?eB.set("activeIndex",e):eQ(eP.current[e],(0,D.createChangeEventDetails)("none"))},onTypingChange(e){ej.current=e}}),{getReferenceProps:e8,getFloatingProps:e6,getItemProps:e9}=(0,h.useInteractions)([e1,e5,e2,e4]),e3=r.useMemo(()=>(0,Y.mergeProps)(e8(),eF,ev?{id:ev}:B.EMPTY_OBJECT),[e8,eF,ev]);(0,i.useOnFirstRender)(()=>{eB.update({popupProps:e6(),triggerProps:e3})}),(0,a.useIsoLayoutEffect)(()=>{eB.update({id:ev,modal:X,multiple:ee,value:ex,open:ew,mounted:eD,transitionStatus:eN,popupProps:e6(),triggerProps:e3,items:Z,itemToStringLabel:et,itemToStringValue:er,isItemEqualToValue:en,openMethod:eH})},[eB,ev,X,ee,ex,ew,eD,eN,e6,e3,Z,et,er,en,eH]);let e7=r.useMemo(()=>({store:eB,name:eb,required:K,disabled:eS,readOnly:W,multiple:ee,itemToStringLabel:et,itemToStringValue:er,highlightItemOnHover:el,setValue:eQ,setOpen:eG,listRef:eR,popupRef:eI,scrollHandlerRef:eA,handleScrollArrowVisibility:eZ,scrollArrowsMountedCountRef:eC,getItemProps:e9,events:e0.context.events,valueRef:eT,valuesRef:eP,labelsRef:eM,typingRef:ej,selectionRef:ek,selectedItemTextRef:eL,validation:eg,onOpenChangeComplete:Q,keyboardActiveRef:eV,alignItemWithTriggerActiveRef:eO,initialValueRef:eX}),[eB,eb,K,eS,W,ee,et,er,el,eQ,eG,e9,e0.context.events,eg,Q,eZ]),te=(0,l.useMergedRefs)(J,eg.inputRef),tt=ee&&Array.isArray(ex)&&ex.length>0,tr=ee?void 0:eb,tn=r.useMemo(()=>ee&&Array.isArray(ex)&&eb?ex.map(e=>{let r=L(e,er);return(0,t.jsx)("input",{type:"hidden",name:eb,value:r},r)}):null,[ee,ex,eb,er]);return(0,t.jsx)(x.Provider,{value:e7,children:(0,t.jsxs)(y.Provider,{value:e0,children:[eo,(0,t.jsx)("input",{...eg.getInputValidationProps({onFocus(){eB.state.triggerElement?.focus({focusVisible:!0})},onChange(e){if(e.nativeEvent.defaultPrevented)return;let t=e.target.value,r=(0,D.createChangeEventDetails)(U.REASONS.none,e.nativeEvent);eB.set("forceMount",!0),queueMicrotask(function(){if(ee)return;let e=eP.current.find(e=>L(e,er).toLowerCase()===t.toLowerCase());null!=e&&(es(e!==ed.initialValue),eQ(e,r),ec()&&eg.commit(e))})}}),id:ev&&null==tr?`${ev}-hidden-input`:void 0,name:tr,autoComplete:$,value:eq,disabled:eS,required:K&&!tt,readOnly:W,ref:te,style:eb?n.visuallyHiddenInput:n.visuallyHidden,tabIndex:-1,"aria-hidden":!0}),tn]})})},"ScrollDownArrow",0,e5,"ScrollUpArrow",0,e2,"Separator",()=>e3.Separator,"Trigger",0,en,"Value",0,eo],278289);var e7=e.i(278289),e7=e7,te=e.i(975157),tt=e.i(314338),tt=tt,tr=e.i(533133),tn=e.i(792566),tn=tn;function tl({className:e,...r}){return(0,t.jsx)(e7.ScrollUpArrow,{"data-slot":"select-scroll-up-button",className:(0,te.cn)("top-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4",e),...r,children:(0,t.jsx)(tn.default,{})})}function to({className:e,...r}){return(0,t.jsx)(e7.ScrollDownArrow,{"data-slot":"select-scroll-down-button",className:(0,te.cn)("bottom-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4",e),...r,children:(0,t.jsx)(tt.default,{})})}e.s(["Select",0,function(e){return(0,t.jsx)(e7.Root,{modal:!1,...e})},"SelectContent",0,function({className:e,children:r,side:n="bottom",sideOffset:l=4,align:o="start",alignOffset:i=0,alignItemWithTrigger:s=!1,...a}){return(0,t.jsxs)(e7.Portal,{children:[(0,t.jsx)(e7.Backdrop,{className:"fixed inset-0 z-50"}),(0,t.jsx)(e7.Positioner,{side:n,sideOffset:l,align:o,alignOffset:i,alignItemWithTrigger:s,className:"isolate z-50",children:(0,t.jsxs)(e7.Popup,{"data-slot":"select-content","data-align-trigger":s,className:(0,te.cn)("relative isolate z-50 max-h-(--available-height) w-(--anchor-width) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[align-trigger=true]:animate-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-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 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",e),...a,children:[(0,t.jsx)(tl,{}),(0,t.jsx)(e7.List,{children:r}),(0,t.jsx)(to,{})]})})]})},"SelectItem",0,function({className:e,children:r,...n}){return(0,t.jsxs)(e7.Item,{"data-slot":"select-item",className:(0,te.cn)("relative flex w-full cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e),...n,children:[(0,t.jsx)(e7.ItemText,{className:"flex flex-1 shrink-0 gap-2 whitespace-nowrap",children:r}),(0,t.jsx)(e7.ItemIndicator,{render:(0,t.jsx)("span",{className:"pointer-events-none absolute right-2 flex size-4 items-center justify-center"}),children:(0,t.jsx)(tr.CheckIcon,{className:"pointer-events-none"})})]})},"SelectTrigger",0,function({className:e,size:r="default",children:n,...l}){return(0,t.jsxs)(e7.Trigger,{"data-slot":"select-trigger","data-size":r,className:(0,te.cn)("flex w-fit items-center justify-between gap-1.5 rounded-lg border border-input bg-transparent py-2 pr-2 pl-2.5 text-sm whitespace-nowrap transition-colors outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-placeholder:text-muted-foreground data-[size=default]:h-8 data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)] *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...l,children:[n,(0,t.jsx)(e7.Icon,{render:(0,t.jsx)(tt.default,{className:"pointer-events-none size-4 text-muted-foreground"})})]})}],967489);var ti=e.i(514798);let ts=(0,ti.createServerReference)("40a283864003a4da243f67ff5cebec5697a35f8ce0",ti.callServer,void 0,ti.findSourceMapURL,"openInTerminal");e.s(["openInTerminal",0,ts],331411)}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,967489,338973,e=>{"use strict";var t=e.i(289721);e.s([],648333),e.i(648333);var r=e.i(965652),n=e.i(416369),l=e.i(362891),o=e.i(903224),i=e.i(528796),s=e.i(314757),a=e.i(804849),u=e.i(887642),c=e.i(20746),d=e.i(812901),p=e.i(956741),f=e.i(430557),m=e.i(594640),g=e.i(592604),h=e.i(306296),v=e.i(234951),S=e.i(471959);e.i(708878);var b=e.i(462902);let x=r.createContext(null),y=r.createContext(null);function w(){let e=r.useContext(x);if(null===e)throw Error((0,b.default)(60));return e}function E(){let e=r.useContext(y);if(null===e)throw Error((0,b.default)(61));return e}var R=e.i(890514),M=e.i(103353),I=e.i(193214),A=e.i(596290);let C=(e,t)=>Object.is(e,t);function T(e,t,r){return null==e||null==t?Object.is(e,t):r(e,t)}function P(e,t,r){return e&&0!==e.length?e.findIndex(e=>void 0!==e&&T(e,t,r)):-1}function j(e){if(null==e)return"";if("string"==typeof e)return e;try{return JSON.stringify(e)}catch{return String(e)}}function V(e){return null!=e&&e.length>0&&"object"==typeof e[0]&&null!=e[0]&&"items"in e[0]}function L(e,t){return t&&null!=e?t(e)??"":e&&"object"==typeof e&&"value"in e&&"label"in e?j(e.value):j(e)}function k(e,t,r){function n(){if(r&&null!=e)return r(e)??"";if(e&&"object"==typeof e){if("label"in e&&null!=e.label)return String(e.label);if("value"in e)return String(e.value)}return j(e)}if(r&&null!=e)return r(e);if(e&&"object"==typeof e&&"label"in e&&null!=e.label)return e.label;if(t&&!Array.isArray(t))return t[e]??n();if(Array.isArray(t)){let r=V(t)?t.flatMap(e=>e.items):t;if(null==e||"object"!=typeof e){let t=r.find(t=>t.value===e);return t&&null!=t.label?t.label:n()}if("value"in e){let t=r.find(t=>t&&t.value===e.value);if(t&&null!=t.label)return t.label}}return n()}let O={id:(0,A.createSelector)(e=>e.id),labelId:(0,A.createSelector)(e=>e.labelId),modal:(0,A.createSelector)(e=>e.modal),multiple:(0,A.createSelector)(e=>e.multiple),items:(0,A.createSelector)(e=>e.items),itemToStringLabel:(0,A.createSelector)(e=>e.itemToStringLabel),itemToStringValue:(0,A.createSelector)(e=>e.itemToStringValue),isItemEqualToValue:(0,A.createSelector)(e=>e.isItemEqualToValue),value:(0,A.createSelector)(e=>e.value),hasSelectedValue:(0,A.createSelector)(e=>{let{value:t,multiple:r,itemToStringValue:n}=e;return null!=t&&(r&&Array.isArray(t)?t.length>0:""!==L(t,n))}),hasNullItemLabel:(0,A.createSelector)((e,t)=>!!t&&function(e){if(!Array.isArray(e))return null!=e&&"null"in e;if(V(e)){for(let t of e)for(let e of t.items)if(e&&null==e.value&&null!=e.label)return!0;return!1}for(let t of e)if(t&&null==t.value&&null!=t.label)return!0;return!1}(e.items)),open:(0,A.createSelector)(e=>e.open),mounted:(0,A.createSelector)(e=>e.mounted),forceMount:(0,A.createSelector)(e=>e.forceMount),transitionStatus:(0,A.createSelector)(e=>e.transitionStatus),openMethod:(0,A.createSelector)(e=>e.openMethod),activeIndex:(0,A.createSelector)(e=>e.activeIndex),selectedIndex:(0,A.createSelector)(e=>e.selectedIndex),isActive:(0,A.createSelector)((e,t)=>e.activeIndex===t),isSelected:(0,A.createSelector)((e,t,r)=>{let n=e.isItemEqualToValue,l=e.value;return e.multiple?Array.isArray(l)&&l.some(e=>T(r,e,n)):e.selectedIndex===t&&null!==e.selectedIndex||T(r,l,n)}),isSelectedByFocus:(0,A.createSelector)((e,t)=>e.selectedIndex===t),popupProps:(0,A.createSelector)(e=>e.popupProps),triggerProps:(0,A.createSelector)(e=>e.triggerProps),triggerElement:(0,A.createSelector)(e=>e.triggerElement),positionerElement:(0,A.createSelector)(e=>e.positionerElement),listElement:(0,A.createSelector)(e=>e.listElement),scrollUpArrowVisible:(0,A.createSelector)(e=>e.scrollUpArrowVisible),scrollDownArrowVisible:(0,A.createSelector)(e=>e.scrollDownArrowVisible),hasScrollArrows:(0,A.createSelector)(e=>e.hasScrollArrows)};var D=e.i(67077),U=e.i(586622),N=e.i(504068),H=e.i(571870),F=e.i(421689),B=e.i(954588),z=e.i(353052),_=e.i(892069),Y=e.i(565455),$=e.i(581263),q=e.i(551974),W=e.i(397791);let K=r.forwardRef(function(e,t){let{render:r,className:n,...l}=e;delete l.id;let o=(0,R.useFieldRootContext)(),{store:i}=w(),s=(0,d.useStore)(i,O.triggerElement),a=(0,d.useStore)(i,O.id),u=null==a?void 0:`${a}-label`,c=(0,W.useLabel)({id:u,fallbackControlId:s?.id??a,setLabelId(e){i.set("labelId",e)}});return(0,$.useRenderElement)("div",e,{ref:t,state:o.state,props:[c,l],stateAttributesMapping:q.fieldValidityMapping})});var X=e.i(102094),G=e.i(161476),J=e.i(179279),Q=e.i(845756),Z=e.i(748299),ee=e.i(682354),et=e.i(282109);let er={...Q.pressableTriggerOpenStateMapping,...q.fieldValidityMapping,value:()=>null},en=r.forwardRef(function(e,t){let{render:n,className:o,id:i,disabled:s=!1,nativeButton:a=!0,...p}=e,{setTouched:f,setFocused:m,validationMode:g,state:h,disabled:v}=(0,R.useFieldRootContext)(),{labelId:S}=(0,J.useLabelableContext)(),{store:b,setOpen:x,selectionRef:y,validation:E,readOnly:I,required:A,alignItemWithTriggerActiveRef:C,disabled:T,keyboardActiveRef:P}=w(),j=v||T||s,V=(0,d.useStore)(b,O.open),L=(0,d.useStore)(b,O.value),k=(0,d.useStore)(b,O.triggerProps),N=(0,d.useStore)(b,O.positionerElement),H=(0,d.useStore)(b,O.listElement),F=(0,d.useStore)(b,O.id),B=(0,d.useStore)(b,O.labelId),z=(0,d.useStore)(b,O.hasSelectedValue),_=!z&&V,q=(0,d.useStore)(b,O.hasNullItemLabel,_),W=i??F;(0,M.useLabelableId)({id:W});let K=(0,c.useValueAsRef)(N),Q=r.useRef(null),{getButtonProps:en,buttonRef:el}=(0,et.useButton)({disabled:j,native:a}),eo=(0,u.useStableCallback)(e=>{b.set("triggerElement",e)}),ei=(0,l.useMergedRefs)(t,Q,el,eo),es=(0,G.useTimeout)(),ea=(0,G.useTimeout)(),eu=(0,G.useTimeout)(),ec=(0,G.useTimeout)();r.useEffect(()=>{if(V)return z||q?ec.start(200,()=>{y.current.allowUnselectedMouseUp=!0,eu.start(200,()=>{y.current.allowSelectedMouseUp=!0})}):eu.start(400,()=>{y.current.allowUnselectedMouseUp=!0,y.current.allowSelectedMouseUp=!0}),()=>{eu.clear(),ec.clear()};y.current={allowSelectedMouseUp:!1,allowUnselectedMouseUp:!1},ea.clear()},[V,z,q,y,ea,eu,ec]);let ed=r.useMemo(()=>H?.id??(0,ee.getFloatingFocusElement)(N)?.id,[H,N]),ep=(0,Y.mergeProps)(k,{id:W,role:"combobox","aria-expanded":V?"true":"false","aria-haspopup":"listbox","aria-controls":V?ed:void 0,"aria-labelledby":S??B,"aria-readonly":I||void 0,"aria-required":A||void 0,tabIndex:j?-1:0,ref:ei,onFocus(e){m(!0),V&&C.current&&x(!1,(0,D.createChangeEventDetails)(U.REASONS.none,e.nativeEvent)),es.start(0,()=>{b.set("forceMount",!0)})},onBlur(e){(0,ee.contains)(N,e.relatedTarget)||(f(!0),m(!1),"onBlur"===g&&E.commit(L))},onPointerMove(){P.current=!1},onKeyDown(){P.current=!0},onMouseDown(e){if(V)return;let t=(0,X.ownerDocument)(e.currentTarget);function r(e){if(!Q.current)return;let t=e.target;if((0,ee.contains)(Q.current,t)||(0,ee.contains)(K.current,t)||t===Q.current)return;let r=(0,Z.getPseudoElementBounds)(Q.current);e.clientX>=r.left-2&&e.clientX<=r.right+2&&e.clientY>=r.top-2&&e.clientY<=r.bottom+2||x(!1,(0,D.createChangeEventDetails)(U.REASONS.cancelOpen,e))}ea.start(0,()=>{t.addEventListener("mouseup",r,{once:!0})})}},E.getValidationProps,p,en);ep.role="combobox";let ef={...h,open:V,disabled:j,value:L,readOnly:I,placeholder:!z};return(0,$.useRenderElement)("button",e,{ref:[t,Q],state:ef,stateAttributesMapping:er,props:ep})}),el={value:()=>null},eo=r.forwardRef(function(e,n){let{className:l,render:o,children:i,placeholder:s,...a}=e,{store:u,valueRef:c}=w(),p=(0,d.useStore)(u,O.value),f=(0,d.useStore)(u,O.items),m=(0,d.useStore)(u,O.itemToStringLabel),g=(0,d.useStore)(u,O.hasSelectedValue),h=(0,d.useStore)(u,O.hasNullItemLabel,!g&&null!=s&&null==i),v=null;if("function"==typeof i)v=i(p);else if(null!=i)v=i;else if(g||null==s||h)if(Array.isArray(p))v=p.reduce((e,n,l)=>(l>0&&e.push(", "),e.push((0,t.jsx)(r.Fragment,{children:k(n,f,m)},l)),e),[]);else v=k(p,f,m);else v=s;return(0,$.useRenderElement)("span",e,{state:{value:p,placeholder:!g},ref:[n,c],props:[{children:v},a],stateAttributesMapping:el})}),ei=r.forwardRef(function(e,t){let{className:r,render:n,...l}=e,{store:o}=w(),i=(0,d.useStore)(o,O.open);return(0,$.useRenderElement)("span",e,{state:{open:i},ref:t,props:[{"aria-hidden":!0,children:"▼"},l],stateAttributesMapping:Q.triggerOpenStateMapping})});var es=e.i(888393);let ea=r.createContext(void 0),eu=r.forwardRef(function(e,r){let{store:n}=w(),l=(0,d.useStore)(n,O.mounted),o=(0,d.useStore)(n,O.forceMount);return l||o?(0,t.jsx)(ea.Provider,{value:!0,children:(0,t.jsx)(es.FloatingPortal,{ref:r,...e})}):null});var ec=e.i(809058);let ed={...Q.popupStateMapping,...ec.transitionStatusMapping},ep=r.forwardRef(function(e,t){let{className:r,render:n,...l}=e,{store:o}=w(),i=(0,d.useStore)(o,O.open),s=(0,d.useStore)(o,O.mounted),a=(0,d.useStore)(o,O.transitionStatus);return(0,$.useRenderElement)("div",e,{state:{open:i,transitionStatus:a},ref:t,props:[{role:"presentation",hidden:!s,style:{userSelect:"none",WebkitUserSelect:"none"}},l],stateAttributesMapping:ed})});var ef=e.i(831766),em=e.i(620163),eg=e.i(579028),eh=e.i(887943);let ev=r.createContext(void 0);function eS(){let e=r.useContext(ev);if(!e)throw Error((0,b.default)(59));return e}var eb=e.i(72287),ex=e.i(693354),ey=e.i(808754);function ew(e,t){e&&Object.assign(e.style,t)}let eE={position:"relative",maxHeight:"100%",overflowX:"hidden",overflowY:"auto"},eR={position:"fixed"},eM=r.forwardRef(function(e,n){let{anchor:l,positionMethod:o="absolute",className:i,render:s,side:c="bottom",align:p="center",sideOffset:f=0,alignOffset:m=0,collisionBoundary:g="clipping-ancestors",collisionPadding:h,arrowPadding:v=5,sticky:S=!1,disableAnchorTracking:b,alignItemWithTrigger:x=!0,collisionAvoidance:y=ex.DROPDOWN_COLLISION_AVOIDANCE,...R}=e,{store:M,listRef:I,labelsRef:A,alignItemWithTriggerActiveRef:C,selectedItemTextRef:j,valuesRef:V,initialValueRef:L,popupRef:k,setValue:N}=w(),H=E(),F=(0,d.useStore)(M,O.open),B=(0,d.useStore)(M,O.mounted),z=(0,d.useStore)(M,O.modal),_=(0,d.useStore)(M,O.value),Y=(0,d.useStore)(M,O.openMethod),q=(0,d.useStore)(M,O.positionerElement),W=(0,d.useStore)(M,O.triggerElement),K=(0,d.useStore)(M,O.isItemEqualToValue),X=(0,d.useStore)(M,O.transitionStatus),G=r.useRef(null),J=r.useRef(null),[Z,ee]=r.useState(x),et=B&&Z&&"touch"!==Y;B||Z===x||ee(x),(0,a.useIsoLayoutEffect)(()=>{!B&&(O.scrollUpArrowVisible(M.state)&&M.set("scrollUpArrowVisible",!1),O.scrollDownArrowVisible(M.state)&&M.set("scrollDownArrowVisible",!1))},[M,B]),r.useImperativeHandle(C,()=>et),(0,em.useScrollLock)((et||z)&&F&&"touch"!==Y,W);let er=(0,eh.useAnchorPositioning)({anchor:l,floatingRootContext:H,positionMethod:o,mounted:B,side:c,sideOffset:f,align:p,alignOffset:m,arrowPadding:v,collisionBoundary:g,collisionPadding:h,sticky:S,disableAnchorTracking:b??et,collisionAvoidance:y,keepMounted:!0}),en=et?"none":er.side,el=et?eR:er.positionerStyles,eo=r.useMemo(()=>{let e={};return F||(e.pointerEvents="none"),{role:"presentation",hidden:!B,style:{...el,...e}}},[F,B,el]),ei={open:F,side:en,align:er.align,anchorHidden:er.anchorHidden},es=(0,u.useStableCallback)(e=>{M.set("positionerElement",e)}),ea=(0,$.useRenderElement)("div",e,{ref:[n,es],state:ei,stateAttributesMapping:Q.popupStateMapping,props:[eo,(0,ey.getDisabledMountTransitionStyles)(X),R]}),eu=r.useRef(0),ec=(0,u.useStableCallback)(e=>{if(0===e.size&&0===eu.current||0===V.current.length)return;let t=eu.current;if(eu.current=e.size,e.size===t)return;let r=(0,D.createChangeEventDetails)(U.REASONS.none);if(0!==t&&!M.state.multiple&&null!==_&&-1===P(V.current,_,K)){let e=L.current,t=null!=e&&-1!==P(V.current,e,K)?e:null;N(t,r),null===t&&(M.set("selectedIndex",null),j.current=null)}if(0!==t&&M.state.multiple&&Array.isArray(_)){let e=_.filter(e=>-1!==P(V.current,e,K));(e.length!==_.length||e.some(e=>!(_&&0!==_.length&&_.some(t=>void 0!==t&&T(e,t,K)))))&&(N(e,r),0===e.length&&(M.set("selectedIndex",null),j.current=null))}if(F&&et){M.update({scrollUpArrowVisible:!1,scrollDownArrowVisible:!1});let e={height:""};ew(q,e),ew(k.current,e)}}),ed=r.useMemo(()=>({...er,side:en,alignItemWithTriggerActive:et,setControlledAlignItemWithTrigger:ee,scrollUpArrowRef:G,scrollDownArrowRef:J}),[er,en,et,ee]);return(0,t.jsx)(eg.CompositeList,{elementsRef:I,labelsRef:A,onMapChange:ec,children:(0,t.jsxs)(ev.Provider,{value:ed,children:[B&&z&&(0,t.jsx)(eb.InternalBackdrop,{inert:(0,ef.inertValue)(!F),cutout:W}),ea]})})});var eI=e.i(585012),eA=e.i(641645),eC=e.i(442383),eT=e.i(285182);function eP(e){let t=e.currentTarget.getBoundingClientRect();return t.top+1<=e.clientY&&e.clientY<=t.bottom-1&&t.left+1<=e.clientX&&e.clientX<=t.right-1}var ej=e.i(946467),eV=e.i(11931),eL=e.i(278928),ek=e.i(685668),eO=e.i(196368),eD=e.i(197920),eU=e.i(867467),eN=e.i(743945);let eH={...Q.popupStateMapping,...ec.transitionStatusMapping},eF=r.forwardRef(function(e,n){let{render:l,className:o,finalFocus:i,...s}=e,{store:c,popupRef:p,onOpenChangeComplete:f,setOpen:m,valueRef:g,selectedItemTextRef:h,keyboardActiveRef:v,multiple:S,handleScrollArrowVisibility:b,scrollHandlerRef:x,highlightItemOnHover:y}=w(),{side:R,align:M,alignItemWithTriggerActive:I,setControlledAlignItemWithTrigger:A,scrollDownArrowRef:C,scrollUpArrowRef:T}=eS(),P=null!=(0,eO.useToolbarRootContext)(!0),j=E(),{nonce:V,disableStyleElements:L}=(0,eN.useCSPContext)(),k=(0,G.useTimeout)(),H=(0,d.useStore)(c,O.id),F=(0,d.useStore)(c,O.open),B=(0,d.useStore)(c,O.mounted),z=(0,d.useStore)(c,O.popupProps),_=(0,d.useStore)(c,O.transitionStatus),Y=(0,d.useStore)(c,O.triggerElement),q=(0,d.useStore)(c,O.positionerElement),W=(0,d.useStore)(c,O.listElement),K=r.useRef(0),J=r.useRef(!1),Q=r.useRef(0),Z=r.useRef(!1),ee=r.useRef({}),et=(0,ej.useAnimationFrame)(),er=(0,u.useStableCallback)(e=>{if(!q||!p.current||!Z.current)return;if(J.current||!I)return void b();let t="0px"===q.style.top,r="0px"===q.style.bottom,n=q.getBoundingClientRect().height,l=(0,X.ownerDocument)(q),o=getComputedStyle(q),i=parseFloat(o.marginTop),s=parseFloat(o.marginBottom),a=eB(getComputedStyle(p.current)),u=Math.min(l.documentElement.clientHeight-i-s,a),c=e.scrollTop,d=ez(e),f=0,m=null,g=!1,h=!1,v=e=>{q.style.height=`${e}px`},S=(t,r)=>{let l=(0,eU.clamp)(t,0,u-n);l>0&&v(n+l),e.scrollTop=r,u-(n+l)<=1&&(J.current=!0),b()};if(t){let e=d-c,t=Math.min(n+e,u);if(f=t,e<=1)return void S(e,d);u-t>1?h=!0:g=!0}else if(r){let e=n+c,t=Math.min(e,u);if(f=t,c<=1)return void S(c,0);u-t>1?m=0:(g=!0,c<d&&(m=c-(c-(e-u))))}if(0!==(f=Math.ceil(f))&&v(f),h||null!=m){let t=ez(e),r=h?t:(0,eU.clamp)(m,0,t);Math.abs(e.scrollTop-r)>1&&(e.scrollTop=r)}(g||f>=u-1)&&(J.current=!0),b()});r.useImperativeHandle(x,()=>er,[er]),(0,N.useOpenChangeComplete)({open:F,ref:p,onComplete(){F&&f?.(!0)}}),(0,a.useIsoLayoutEffect)(()=>{q&&p.current&&!Object.keys(ee.current).length&&(ee.current={top:q.style.top||"0",left:q.style.left||"0",right:q.style.right,height:q.style.height,bottom:q.style.bottom,minHeight:q.style.minHeight,maxHeight:q.style.maxHeight,marginTop:q.style.marginTop,marginBottom:q.style.marginBottom})},[p,q]),(0,a.useIsoLayoutEffect)(()=>{F||I||(Z.current=!1,J.current=!1,K.current=0,Q.current=0,ew(q,ee.current))},[F,I,q,p]),(0,a.useIsoLayoutEffect)(()=>{let e=p.current;if(F&&Y&&q&&e&&"ending"!==c.state.transitionStatus){if(!I){Z.current=!0,et.request(b),e.style.removeProperty("--transform-origin");return}queueMicrotask(()=>{let t=function(e){let{style:t}=e,r={};for(let[e,n]of eY)r[e]=t.getPropertyValue(e),t.setProperty(e,n,"important");return()=>{for(let[e]of eY){let n=r[e];n?t.setProperty(e,n):t.removeProperty(e)}}}(e);e.style.removeProperty("--transform-origin");try{var r;let t,n=getComputedStyle(q),l=getComputedStyle(e),o=(0,X.ownerDocument)(Y),i=(0,eT.ownerWindow)(q),s=(r=Y,eL.platform.getScale(r)),a=e_(Y.getBoundingClientRect(),s),u=e_(q.getBoundingClientRect(),s),c=a.left,d=a.height,p=W||e,f=p.scrollHeight,m=parseFloat(l.borderBottomWidth),v=parseFloat(n.marginTop)||10,S=parseFloat(n.marginBottom)||10,x=parseFloat(n.minHeight)||100,y=eB(l),w=o.documentElement.clientHeight-v-S,E=o.documentElement.clientWidth,R=w-a.bottom+d,M=h.current,I=g.current,C=0,T=0;if(M&&I){let e=e_(I.getBoundingClientRect(),s);t=e_(M.getBoundingClientRect(),s);let r=e.left-c,n=t.left-u.left,l=e.top-a.top+e.height/2,o=t.top-u.top+t.height/2;C=r-n,T=o-l}let P=R+T+S+m,j=Math.min(w,P),V=w-v-S,L=P-j,k=Math.max(5,c+C),O=Math.max(0,k+u.width-(E-5));q.style.left=`${k-O}px`,q.style.height=`${j}px`,q.style.maxHeight="auto",q.style.marginTop=`${v}px`,q.style.marginBottom=`${S}px`,e.style.height="100%";let D=ez(p),U=L>=D-1;U&&(j=Math.min(w,u.height)-(L-D));let N=a.top<20||a.bottom>w-20||Math.ceil(j)+1<Math.min(f,x),H=(i.visualViewport?.scale??1)!==1&&eC.isWebKit;if(N||H){Z.current=!0,ew(q,ee.current),eI.flushSync(()=>A(!1));return}if(U){let e=Math.max(0,w-P);q.style.top=u.height>=V?"0":`${e}px`,q.style.height=`${j}px`,p.scrollTop=ez(p),K.current=Math.max(x,j)}else q.style.bottom="0",K.current=Math.max(x,j),p.scrollTop=L;if(t){let r=u.top,n=u.height,l=t.top+t.height/2,o=(0,eU.clamp)(n>0?(l-r)/n*100:50,0,100);e.style.setProperty("--transform-origin",`50% ${o}%`)}(K.current===w||j>=y)&&(J.current=!0),b(),setTimeout(()=>{Z.current=!0})}finally{t()}})}},[c,F,q,Y,g,h,p,b,I,A,et,C,T,W]),r.useEffect(()=>{if(!I||!q||!F)return;let e=(0,eT.ownerWindow)(q);function t(e){m(!1,(0,D.createChangeEventDetails)(U.REASONS.windowResize,e))}return e.addEventListener("resize",t),()=>{e.removeEventListener("resize",t)}},[m,I,q,F]);let en={...W?{role:"presentation","aria-orientation":void 0}:{role:"listbox","aria-multiselectable":S||void 0,id:`${H}-list`},onKeyDown(e){v.current=!0,P&&eD.COMPOSITE_KEYS.has(e.key)&&e.stopPropagation()},onMouseMove(){v.current=!1},onPointerLeave(e){if(!y||eP(e)||"touch"===e.pointerType)return;let t=e.currentTarget;k.start(0,()=>{c.set("activeIndex",null),t.focus({preventScroll:!0})})},onScroll(e){W||er(e.currentTarget)},...I&&{style:W?{height:"100%"}:eE}},el=(0,$.useRenderElement)("div",e,{ref:[n,p],state:{open:F,transitionStatus:_,side:R,align:M},stateAttributesMapping:eH,props:[z,en,(0,ey.getDisabledMountTransitionStyles)(_),{className:!W&&I?ek.styleDisableScrollbar.className:void 0},s]});return(0,t.jsxs)(r.Fragment,{children:[!L&&ek.styleDisableScrollbar.getElement(V),(0,t.jsx)(eV.FloatingFocusManager,{context:j,modal:!1,disabled:!B,returnFocus:i,restoreFocus:!0,children:el})]})});function eB(e){let t=e.maxHeight||"";return t.endsWith("px")&&parseFloat(t)||1/0}function ez(e){return Math.max(0,e.scrollHeight-e.clientHeight)}function e_(e,t){return(0,eA.rectToClientRect)({x:e.x/t.x,y:e.y/t.y,width:e.width/t.x,height:e.height/t.y})}let eY=[["transform","none"],["scale","1"],["translate","0 0"]],e$=r.forwardRef(function(e,t){let{className:r,render:n,...l}=e,{store:o,scrollHandlerRef:i}=w(),{alignItemWithTriggerActive:s}=eS(),a=(0,d.useStore)(o,O.hasScrollArrows),c=(0,d.useStore)(o,O.openMethod),p=(0,d.useStore)(o,O.multiple),f=(0,d.useStore)(o,O.id),m={id:`${f}-list`,role:"listbox","aria-multiselectable":p||void 0,onScroll(e){i.current?.(e.currentTarget)},...s&&{style:eE},className:a&&"touch"!==c?ek.styleDisableScrollbar.className:void 0},g=(0,u.useStableCallback)(e=>{o.set("listElement",e)});return(0,$.useRenderElement)("div",e,{ref:[t,g],props:[m,l]})});var eq=e.i(655728);let eW=r.createContext(void 0);function eK(){let e=r.useContext(eW);if(!e)throw Error((0,b.default)(57));return e}let eX=r.memo(r.forwardRef(function(e,n){let{render:l,className:o,value:i=null,label:s,disabled:u=!1,nativeButton:p=!1,...f}=e,m=r.useRef(null),g=(0,eq.useCompositeListItem)({label:s,textRef:m,indexGuessBehavior:eq.IndexGuessBehavior.GuessFromOrder}),{store:h,getItemProps:v,setOpen:S,setValue:b,selectionRef:x,typingRef:y,valuesRef:E,keyboardActiveRef:R,multiple:M,highlightItemOnHover:I}=w(),A=(0,G.useTimeout)(),C=(0,d.useStore)(h,O.isActive,g.index),P=(0,d.useStore)(h,O.isSelected,g.index,i),j=(0,d.useStore)(h,O.isSelectedByFocus,g.index),V=(0,d.useStore)(h,O.isItemEqualToValue),L=g.index,k=-1!==L,N=r.useRef(null),H=(0,c.useValueAsRef)(L);(0,a.useIsoLayoutEffect)(()=>{if(!k)return;let e=E.current;return e[L]=i,()=>{delete e[L]}},[k,L,i,E]),(0,a.useIsoLayoutEffect)(()=>{if(!k)return;let e=h.state.value,t=e;M&&Array.isArray(e)&&e.length>0&&(t=e[e.length-1]),void 0!==t&&T(i,t,V)&&h.set("selectedIndex",L)},[k,L,M,V,h,i]);let F=v({active:C,selected:P});F.onFocus=void 0,F.id=void 0;let B=r.useRef(null),z=r.useRef("mouse"),_=r.useRef(!1),{getButtonProps:Y,buttonRef:q}=(0,et.useButton)({disabled:u,focusableWhenDisabled:!0,native:p,composite:!0}),W=(0,$.useRenderElement)("div",e,{ref:[q,n,g.ref,N],state:{disabled:u,selected:P,highlighted:C},props:[F,{role:"option","aria-selected":P,tabIndex:C?0:-1,onFocus(){h.set("activeIndex",L)},onMouseEnter(){!R.current&&null===h.state.selectedIndex&&I&&h.set("activeIndex",L)},onMouseMove(){I&&h.set("activeIndex",L)},onMouseLeave(e){!I||R.current||eP(e)||A.start(0,()=>{h.state.activeIndex===L&&h.set("activeIndex",null)})},onTouchStart(){x.current={allowSelectedMouseUp:!1,allowUnselectedMouseUp:!1}},onKeyDown(e){B.current=e.key,h.set("activeIndex",L)," "===e.key&&y.current&&e.preventDefault()},onClick(e){_.current=!1,"keydown"===e.type&&null===B.current||u||"keydown"===e.type&&" "===B.current&&y.current||"touch"!==z.current&&!C||(B.current=null,function(e){let t=h.state.value;if(M){let r=Array.isArray(t)?t:[];b(P?r.filter(e=>!T(i,e,V)):[...r,i],(0,D.createChangeEventDetails)(U.REASONS.itemPress,e))}else b(i,(0,D.createChangeEventDetails)(U.REASONS.itemPress,e)),S(!1,(0,D.createChangeEventDetails)(U.REASONS.itemPress,e))}(e.nativeEvent))},onPointerEnter(e){z.current=e.pointerType},onPointerDown(e){z.current=e.pointerType,_.current=!0},onMouseUp(){if(u)return;if(_.current){_.current=!1;return}let e=!x.current.allowSelectedMouseUp&&P,t=!x.current.allowUnselectedMouseUp&&!P;e||t||"touch"!==z.current&&!C||N.current?.click()}},f,Y]}),K=r.useMemo(()=>({selected:P,indexRef:H,textRef:m,selectedByFocus:j,hasRegistered:k}),[P,H,m,j,k]);return(0,t.jsx)(eW.Provider,{value:K,children:W})})),eG=r.forwardRef(function(e,r){let n=e.keepMounted??!1,{selected:l}=eK();return n||l?(0,t.jsx)(eJ,{...e,ref:r}):null}),eJ=r.memo(r.forwardRef((e,t)=>{let{render:n,className:l,keepMounted:o,...i}=e,{selected:s}=eK(),a=r.useRef(null),{transitionStatus:u,setMounted:c}=(0,I.useTransitionStatus)(s),d=(0,$.useRenderElement)("span",e,{ref:[t,a],state:{selected:s,transitionStatus:u},props:[{"aria-hidden":!0,children:"✔️"},i],stateAttributesMapping:ec.transitionStatusMapping});return(0,N.useOpenChangeComplete)({open:s,ref:a,onComplete(){s||c(!1)}}),d})),eQ=r.memo(r.forwardRef(function(e,t){let{indexRef:n,textRef:l,selectedByFocus:o,hasRegistered:i}=eK(),{selectedItemTextRef:s}=w(),{className:a,render:u,...c}=e,d=r.useCallback(e=>{if(!e||!i)return;let t=null===s.current||!s.current.isConnected;(o||t&&0===n.current)&&(s.current=e)},[s,n,o,i]);return(0,$.useRenderElement)("div",e,{ref:[d,t,l],props:c})})),eZ={...Q.popupStateMapping,...ec.transitionStatusMapping},e0=r.forwardRef(function(e,t){let{className:r,render:n,...l}=e,{store:o}=w(),{side:i,align:s,arrowRef:a,arrowStyles:u,arrowUncentered:c,alignItemWithTriggerActive:p}=eS(),f=(0,d.useStore)(o,O.open,!0),m=(0,$.useRenderElement)("div",e,{state:{open:f,side:i,align:s,uncentered:c},ref:[a,t],props:[{style:u,"aria-hidden":!0},l],stateAttributesMapping:eZ});return p?null:m}),e1=r.forwardRef(function(e,t){let{render:r,className:n,direction:l,keepMounted:o=!1,...i}=e,{store:s,popupRef:u,listRef:c,handleScrollArrowVisibility:p,scrollArrowsMountedCountRef:f}=w(),{side:m,scrollDownArrowRef:g,scrollUpArrowRef:h}=eS(),v="up"===l?O.scrollUpArrowVisible:O.scrollDownArrowVisible,S=(0,d.useStore)(s,v),b=(0,d.useStore)(s,O.openMethod),x=S&&"touch"!==b,y=(0,G.useTimeout)(),E="up"===l?h:g,{transitionStatus:R,setMounted:M}=(0,I.useTransitionStatus)(x);(0,a.useIsoLayoutEffect)(()=>(f.current+=1,s.state.hasScrollArrows||s.set("hasScrollArrows",!0),()=>{f.current=Math.max(0,f.current-1),0===f.current&&s.state.hasScrollArrows&&s.set("hasScrollArrows",!1)}),[s,f]),(0,N.useOpenChangeComplete)({open:x,ref:E,onComplete(){x||M(!1)}});let A=(0,$.useRenderElement)("div",e,{ref:[t,E],state:{direction:l,visible:x,side:m,transitionStatus:R},props:[{"aria-hidden":!0,children:"up"===l?"▲":"▼",style:{position:"absolute"},onMouseMove(e){0===e.movementX&&0===e.movementY||y.isStarted()||(s.set("activeIndex",null),y.start(40,function e(){let t=s.state.listElement??u.current;if(!t)return;s.set("activeIndex",null),p();let r=0===t.scrollTop,n=Math.round(t.scrollTop+t.clientHeight)>=t.scrollHeight;if(0===c.current.length&&("up"===l?s.set("scrollUpArrowVisible",!r):s.set("scrollDownArrowVisible",!n)),"up"===l&&r||"down"===l&&n)return void y.clear();if((s.state.listElement||u.current)&&c.current&&c.current.length>0){let e=c.current,r=E.current?.offsetHeight||0;if("up"===l){let n=0,l=t.scrollTop+r;for(let t=0;t<e.length;t+=1){let r=e[t];if(r&&r.offsetTop>=l){n=t;break}}let o=Math.max(0,n-1);if(o<n){let n=e[o];n&&(t.scrollTop=Math.max(0,n.offsetTop-r))}else t.scrollTop=0}else{let n=e.length-1,l=t.scrollTop+t.clientHeight-r;for(let t=0;t<e.length;t+=1){let r=e[t];if(r&&r.offsetTop+r.offsetHeight>l){n=Math.max(0,t-1);break}}let o=Math.min(e.length-1,n+1);if(o>n){let n=e[o];n&&(t.scrollTop=n.offsetTop+n.offsetHeight-t.clientHeight+r)}else t.scrollTop=t.scrollHeight-t.clientHeight}}y.start(40,e)}))},onMouseLeave(){y.clear()}},i]});return x||o?A:null}),e2=r.forwardRef(function(e,r){return(0,t.jsx)(e1,{...e,ref:r,direction:"down"})}),e5=r.forwardRef(function(e,r){return(0,t.jsx)(e1,{...e,ref:r,direction:"up"})}),e8=r.createContext(void 0),e9=r.forwardRef(function(e,n){let{className:l,render:o,...i}=e,[s,a]=r.useState(),u=r.useMemo(()=>({labelId:s,setLabelId:a}),[s,a]),c=(0,$.useRenderElement)("div",e,{ref:n,props:[{role:"group","aria-labelledby":s},i]});return(0,t.jsx)(e8.Provider,{value:u,children:c})});var e6=e.i(207516);let e4=r.forwardRef(function(e,t){let{className:n,render:l,id:o,...i}=e,{setLabelId:s}=function(){let e=r.useContext(e8);if(void 0===e)throw Error((0,b.default)(56));return e}(),u=(0,e6.useBaseUiId)(o);return(0,a.useIsoLayoutEffect)(()=>{s(u)},[u,s]),(0,$.useRenderElement)("div",e,{ref:t,props:[{id:u},i]})});var e3=e.i(983640);e.s(["Arrow",0,e0,"Backdrop",0,ep,"Group",0,e9,"GroupLabel",0,e4,"Icon",0,ei,"Item",0,eX,"ItemIndicator",0,eG,"ItemText",0,eQ,"Label",0,K,"List",0,e$,"Popup",0,eF,"Portal",0,eu,"Positioner",0,eM,"Root",0,function(e){let{id:b,value:w,defaultValue:E=null,onValueChange:A,open:T,defaultOpen:j=!1,onOpenChange:V,name:k,autoComplete:$,disabled:q=!1,readOnly:W=!1,required:K=!1,modal:X=!0,actionsRef:G,inputRef:J,onOpenChangeComplete:Q,items:Z,multiple:ee=!1,itemToStringLabel:et,itemToStringValue:er,isItemEqualToValue:en=C,highlightItemOnHover:el=!0,children:eo}=e,{clearErrors:ei}=(0,H.useFormContext)(),{setDirty:es,setTouched:ea,setFocused:eu,shouldValidateOnChange:ec,validityData:ed,setFilled:ep,name:ef,disabled:em,validation:eg,validationMode:eh}=(0,R.useFieldRootContext)(),ev=(0,M.useLabelableId)({id:b}),eS=em||q,eb=ef??k,[ex,ey]=(0,s.useControlled)({controlled:w,default:ee?E??B.EMPTY_ARRAY:E,name:"Select",state:"value"}),[ew,eE]=(0,s.useControlled)({controlled:T,default:j,name:"Select",state:"open"}),eR=r.useRef([]),eM=r.useRef([]),eI=r.useRef(null),eA=r.useRef(null),eC=r.useRef(0),eT=r.useRef(null),eP=r.useRef([]),ej=r.useRef(!1),eV=r.useRef(!1),eL=r.useRef(null),ek=r.useRef({allowSelectedMouseUp:!1,allowUnselectedMouseUp:!1}),eO=r.useRef(!1),{mounted:eD,setMounted:eU,transitionStatus:eN}=(0,I.useTransitionStatus)(ew),{openMethod:eH,triggerProps:eF}=(0,_.useOpenInteractionType)(ew),eB=(0,o.useRefWithInit)(()=>new p.Store({id:ev,labelId:void 0,modal:X,multiple:ee,itemToStringLabel:et,itemToStringValue:er,isItemEqualToValue:en,value:ex,open:ew,mounted:eD,transitionStatus:eN,items:Z,forceMount:!1,openMethod:null,activeIndex:null,selectedIndex:null,popupProps:{},triggerProps:{},triggerElement:null,positionerElement:null,listElement:null,scrollUpArrowVisible:!1,scrollDownArrowVisible:!1,hasScrollArrows:!1})).current,ez=(0,d.useStore)(eB,O.activeIndex),e_=(0,d.useStore)(eB,O.selectedIndex),eY=(0,d.useStore)(eB,O.triggerElement),e$=(0,d.useStore)(eB,O.positionerElement),eq=r.useMemo(()=>ee&&Array.isArray(ex)&&0===ex.length?"":L(ex,er),[ee,ex,er]),eW=r.useMemo(()=>ee&&Array.isArray(ex)?ex.map(e=>L(e,er)):L(ex,er),[ee,ex,er]),eK=(0,c.useValueAsRef)(eB.state.triggerElement);(0,F.useField)({id:ev,commit:eg.commit,value:ex,controlRef:eK,name:eb,getValue:()=>eW});let eX=r.useRef(ex);(0,a.useIsoLayoutEffect)(()=>{ex!==eX.current&&eB.set("forceMount",!0)},[eB,ex]),(0,a.useIsoLayoutEffect)(()=>{ep(ee?Array.isArray(ex)&&ex.length>0:null!=ex)},[ee,ex,ep]),(0,a.useIsoLayoutEffect)(function(){if(ew)return;let e=eP.current;if(ee){let t=Array.isArray(ex)?ex:[];if(0===t.length)return void eB.set("selectedIndex",null);let r=P(e,t[t.length-1],en);return void eB.set("selectedIndex",-1===r?null:r)}let t=P(e,ex,en);eB.set("selectedIndex",-1===t?null:t)},[ee,ew,ex,eP,en,eB]),(0,z.useValueChanged)(ex,()=>{ei(eb),es(ex!==ed.initialValue),ec()?eg.commit(ex):eg.commit(ex,!0)});let eG=(0,u.useStableCallback)((e,t)=>{if(V?.(e,t),!t.isCanceled&&(eE(e),e||t.reason!==U.REASONS.focusOut&&t.reason!==U.REASONS.outsidePress||(ea(!0),eu(!1),"onBlur"===eh&&eg.commit(ex)),!e&&null!==eB.state.activeIndex)){let e=eR.current[eB.state.activeIndex];queueMicrotask(()=>{e?.setAttribute("tabindex","-1")})}}),eJ=(0,u.useStableCallback)(()=>{eU(!1),eB.set("activeIndex",null),Q?.(!1)});(0,N.useOpenChangeComplete)({enabled:!G,open:ew,ref:eI,onComplete(){ew||eJ()}}),r.useImperativeHandle(G,()=>({unmount:eJ}),[eJ]);let eQ=(0,u.useStableCallback)((e,t)=>{A?.(e,t),t.isCanceled||ey(e)}),eZ=(0,u.useStableCallback)(()=>{let e=eB.state.listElement||eI.current;if(!e)return;let t=e.scrollTop,r=e.scrollTop+e.clientHeight,n=t>1,l=r<e.scrollHeight-1;eB.state.scrollUpArrowVisible!==n&&eB.set("scrollUpArrowVisible",n),eB.state.scrollDownArrowVisible!==l&&eB.set("scrollDownArrowVisible",l)}),e0=(0,g.useFloatingRootContext)({open:ew,onOpenChange:eG,elements:{reference:eY,floating:e$}}),e1=(0,f.useClick)(e0,{enabled:!W&&!eS,event:"mousedown"}),e2=(0,m.useDismiss)(e0,{bubbles:!1}),e5=(0,v.useListNavigation)(e0,{enabled:!W&&!eS,listRef:eR,activeIndex:ez,selectedIndex:e_,disabledIndices:B.EMPTY_ARRAY,onNavigate(e){(null!==e||ew)&&eB.set("activeIndex",e)},focusItemOnHover:!1}),e8=(0,S.useTypeahead)(e0,{enabled:!W&&!eS&&(ew||!ee),listRef:eM,activeIndex:ez,selectedIndex:e_,onMatch(e){ew?eB.set("activeIndex",e):eQ(eP.current[e],(0,D.createChangeEventDetails)("none"))},onTypingChange(e){ej.current=e}}),{getReferenceProps:e9,getFloatingProps:e6,getItemProps:e4}=(0,h.useInteractions)([e1,e2,e5,e8]),e3=r.useMemo(()=>(0,Y.mergeProps)(e9(),eF,ev?{id:ev}:B.EMPTY_OBJECT),[e9,eF,ev]);(0,i.useOnFirstRender)(()=>{eB.update({popupProps:e6(),triggerProps:e3})}),(0,a.useIsoLayoutEffect)(()=>{eB.update({id:ev,modal:X,multiple:ee,value:ex,open:ew,mounted:eD,transitionStatus:eN,popupProps:e6(),triggerProps:e3,items:Z,itemToStringLabel:et,itemToStringValue:er,isItemEqualToValue:en,openMethod:eH})},[eB,ev,X,ee,ex,ew,eD,eN,e6,e3,Z,et,er,en,eH]);let e7=r.useMemo(()=>({store:eB,name:eb,required:K,disabled:eS,readOnly:W,multiple:ee,itemToStringLabel:et,itemToStringValue:er,highlightItemOnHover:el,setValue:eQ,setOpen:eG,listRef:eR,popupRef:eI,scrollHandlerRef:eA,handleScrollArrowVisibility:eZ,scrollArrowsMountedCountRef:eC,getItemProps:e4,events:e0.context.events,valueRef:eT,valuesRef:eP,labelsRef:eM,typingRef:ej,selectionRef:ek,selectedItemTextRef:eL,validation:eg,onOpenChangeComplete:Q,keyboardActiveRef:eV,alignItemWithTriggerActiveRef:eO,initialValueRef:eX}),[eB,eb,K,eS,W,ee,et,er,el,eQ,eG,e4,e0.context.events,eg,Q,eZ]),te=(0,l.useMergedRefs)(J,eg.inputRef),tt=ee&&Array.isArray(ex)&&ex.length>0,tr=ee?void 0:eb,tn=r.useMemo(()=>ee&&Array.isArray(ex)&&eb?ex.map(e=>{let r=L(e,er);return(0,t.jsx)("input",{type:"hidden",name:eb,value:r},r)}):null,[ee,ex,eb,er]);return(0,t.jsx)(x.Provider,{value:e7,children:(0,t.jsxs)(y.Provider,{value:e0,children:[eo,(0,t.jsx)("input",{...eg.getInputValidationProps({onFocus(){eB.state.triggerElement?.focus({focusVisible:!0})},onChange(e){if(e.nativeEvent.defaultPrevented)return;let t=e.target.value,r=(0,D.createChangeEventDetails)(U.REASONS.none,e.nativeEvent);eB.set("forceMount",!0),queueMicrotask(function(){if(ee)return;let e=eP.current.find(e=>L(e,er).toLowerCase()===t.toLowerCase());null!=e&&(es(e!==ed.initialValue),eQ(e,r),ec()&&eg.commit(e))})}}),id:ev&&null==tr?`${ev}-hidden-input`:void 0,name:tr,autoComplete:$,value:eq,disabled:eS,required:K&&!tt,readOnly:W,ref:te,style:eb?n.visuallyHiddenInput:n.visuallyHidden,tabIndex:-1,"aria-hidden":!0}),tn]})})},"ScrollDownArrow",0,e2,"ScrollUpArrow",0,e5,"Separator",()=>e3.Separator,"Trigger",0,en,"Value",0,eo],278289);var e7=e.i(278289),e7=e7,te=e.i(975157),tt=e.i(314338),tt=tt,tr=e.i(533133),tn=e.i(792566),tn=tn;function tl({className:e,...r}){return(0,t.jsx)(e7.ScrollUpArrow,{"data-slot":"select-scroll-up-button",className:(0,te.cn)("top-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4",e),...r,children:(0,t.jsx)(tn.default,{})})}function to({className:e,...r}){return(0,t.jsx)(e7.ScrollDownArrow,{"data-slot":"select-scroll-down-button",className:(0,te.cn)("bottom-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4",e),...r,children:(0,t.jsx)(tt.default,{})})}e.s(["Select",0,function(e){return(0,t.jsx)(e7.Root,{modal:!1,...e})},"SelectContent",0,function({className:e,children:r,side:n="bottom",sideOffset:l=4,align:o="start",alignOffset:i=0,alignItemWithTrigger:s=!1,...a}){return(0,t.jsxs)(e7.Portal,{children:[(0,t.jsx)(e7.Backdrop,{className:"fixed inset-0 z-50"}),(0,t.jsx)(e7.Positioner,{side:n,sideOffset:l,align:o,alignOffset:i,alignItemWithTrigger:s,className:"isolate z-50",children:(0,t.jsxs)(e7.Popup,{"data-slot":"select-content","data-align-trigger":s,className:(0,te.cn)("relative isolate z-50 max-h-(--available-height) w-(--anchor-width) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[align-trigger=true]:animate-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-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 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",e),...a,children:[(0,t.jsx)(tl,{}),(0,t.jsx)(e7.List,{children:r}),(0,t.jsx)(to,{})]})})]})},"SelectItem",0,function({className:e,children:r,...n}){return(0,t.jsxs)(e7.Item,{"data-slot":"select-item",className:(0,te.cn)("relative flex w-full cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e),...n,children:[(0,t.jsx)(e7.ItemText,{className:"flex flex-1 shrink-0 gap-2 whitespace-nowrap",children:r}),(0,t.jsx)(e7.ItemIndicator,{render:(0,t.jsx)("span",{className:"pointer-events-none absolute right-2 flex size-4 items-center justify-center"}),children:(0,t.jsx)(tr.CheckIcon,{className:"pointer-events-none"})})]})},"SelectTrigger",0,function({className:e,size:r="default",children:n,...l}){return(0,t.jsxs)(e7.Trigger,{"data-slot":"select-trigger","data-size":r,className:(0,te.cn)("flex w-fit items-center justify-between gap-1.5 rounded-lg border border-input bg-transparent py-2 pr-2 pl-2.5 text-sm whitespace-nowrap transition-colors outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-placeholder:text-muted-foreground data-[size=default]:h-8 data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)] *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...l,children:[n,(0,t.jsx)(e7.Icon,{render:(0,t.jsx)(tt.default,{className:"pointer-events-none size-4 text-muted-foreground"})})]})}],967489);var ti=e.i(514798);let ts=(0,ti.createServerReference)("40118872f3d23c38466036d1df507ff3b1a2f96ba8",ti.callServer,void 0,ti.findSourceMapURL,"openInTerminal");e.s(["openInTerminal",0,ts],338973)}]);