prime-dev-cli 1.0.18 → 1.0.19

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 (247) hide show
  1. package/bin/cli.mjs +6 -1
  2. package/dist/server/.next/BUILD_ID +1 -1
  3. package/dist/server/.next/app-build-manifest.json +8 -8
  4. package/dist/server/.next/app-path-routes-manifest.json +4 -0
  5. package/dist/server/.next/build-manifest.json +6 -6
  6. package/dist/server/.next/cache/.rscinfo +1 -1
  7. package/dist/server/.next/cache/.tsbuildinfo +1 -1
  8. package/dist/server/.next/cache/eslint/.cache_1qa5vxt +1 -1
  9. package/dist/server/.next/fallback-build-manifest.json +6 -6
  10. package/dist/server/.next/next-minimal-server.js.nft.json +1 -1
  11. package/dist/server/.next/next-server.js.nft.json +1 -1
  12. package/dist/server/.next/prerender-manifest.json +9 -9
  13. package/dist/server/.next/required-server-files.json +1 -0
  14. package/dist/server/.next/server/app/_not-found/page/app-build-manifest.json +1 -1
  15. package/dist/server/.next/server/app/_not-found/page.js +1 -1
  16. package/dist/server/.next/server/app/_not-found/page.js.nft.json +1 -1
  17. package/dist/server/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  18. package/dist/server/.next/server/app/_not-found.html +1 -1
  19. package/dist/server/.next/server/app/_not-found.rsc +2 -2
  20. package/dist/server/.next/server/app/api/admin-status/route/app-build-manifest.json +10 -0
  21. package/dist/server/.next/server/app/api/admin-status/route/app-paths-manifest.json +3 -0
  22. package/dist/server/.next/server/app/api/admin-status/route/build-manifest.json +16 -0
  23. package/dist/server/.next/server/app/api/admin-status/route/next-font-manifest.json +6 -0
  24. package/dist/server/.next/server/app/api/admin-status/route/react-loadable-manifest.json +1 -0
  25. package/dist/server/.next/server/app/api/admin-status/route/server-reference-manifest.json +4 -0
  26. package/dist/server/.next/server/app/api/admin-status/route.js +8 -0
  27. package/dist/server/.next/server/app/api/admin-status/route.js.map +5 -0
  28. package/dist/server/.next/server/app/api/admin-status/route.js.nft.json +1 -0
  29. package/dist/server/.next/server/app/api/admin-status/route_client-reference-manifest.js +2 -0
  30. package/dist/server/.next/server/app/api/all-projects-envs/route.js +1 -1
  31. package/dist/server/.next/server/app/api/all-projects-envs/route.js.nft.json +1 -1
  32. package/dist/server/.next/server/app/api/check-mock-intercept/route.js +1 -1
  33. package/dist/server/.next/server/app/api/check-mock-intercept/route.js.nft.json +1 -1
  34. package/dist/server/.next/server/app/api/check-workspace/route.js +1 -1
  35. package/dist/server/.next/server/app/api/check-workspace/route.js.nft.json +1 -1
  36. package/dist/server/.next/server/app/api/cleanup-mock/route.js +1 -1
  37. package/dist/server/.next/server/app/api/cleanup-mock/route.js.nft.json +1 -1
  38. package/dist/server/.next/server/app/api/cleanup-project/route.js +1 -1
  39. package/dist/server/.next/server/app/api/cleanup-project/route.js.nft.json +1 -1
  40. package/dist/server/.next/server/app/api/current-branch/route.js +1 -1
  41. package/dist/server/.next/server/app/api/current-branch/route.js.nft.json +1 -1
  42. package/dist/server/.next/server/app/api/delete-mock-api/route.js +1 -1
  43. package/dist/server/.next/server/app/api/delete-mock-api/route.js.nft.json +1 -1
  44. package/dist/server/.next/server/app/api/get-mock-data/route.js +1 -1
  45. package/dist/server/.next/server/app/api/get-mock-data/route.js.nft.json +1 -1
  46. package/dist/server/.next/server/app/api/initialize-workspace/route.js +1 -1
  47. package/dist/server/.next/server/app/api/initialize-workspace/route.js.nft.json +1 -1
  48. package/dist/server/.next/server/app/api/memory-status/route.js +1 -1
  49. package/dist/server/.next/server/app/api/memory-status/route.js.nft.json +1 -1
  50. package/dist/server/.next/server/app/api/microapp-proxy-change-stream/route.js +1 -1
  51. package/dist/server/.next/server/app/api/microapp-proxy-change-stream/route.js.nft.json +1 -1
  52. package/dist/server/.next/server/app/api/microapp-proxy-config/route.js +1 -1
  53. package/dist/server/.next/server/app/api/microapp-proxy-config/route.js.nft.json +1 -1
  54. package/dist/server/.next/server/app/api/mock-file/route.js +1 -1
  55. package/dist/server/.next/server/app/api/mock-file/route.js.nft.json +1 -1
  56. package/dist/server/.next/server/app/api/mock-file-content/route.js +1 -1
  57. package/dist/server/.next/server/app/api/mock-file-content/route.js.nft.json +1 -1
  58. package/dist/server/.next/server/app/api/mock-open-status/route.js +1 -1
  59. package/dist/server/.next/server/app/api/mock-open-status/route.js.nft.json +1 -1
  60. package/dist/server/.next/server/app/api/mock-setting/route.js +1 -1
  61. package/dist/server/.next/server/app/api/mock-setting/route.js.nft.json +1 -1
  62. package/dist/server/.next/server/app/api/open-all-mock/route.js +1 -1
  63. package/dist/server/.next/server/app/api/open-all-mock/route.js.nft.json +1 -1
  64. package/dist/server/.next/server/app/api/open-project/route.js +1 -1
  65. package/dist/server/.next/server/app/api/open-project/route.js.nft.json +1 -1
  66. package/dist/server/.next/server/app/api/process/logs/route.js +1 -1
  67. package/dist/server/.next/server/app/api/process/logs/route.js.nft.json +1 -1
  68. package/dist/server/.next/server/app/api/process/logs/stream/route.js +1 -1
  69. package/dist/server/.next/server/app/api/process/logs/stream/route.js.nft.json +1 -1
  70. package/dist/server/.next/server/app/api/process/start/route.js +1 -1
  71. package/dist/server/.next/server/app/api/process/start/route.js.nft.json +1 -1
  72. package/dist/server/.next/server/app/api/process/status/route.js +1 -1
  73. package/dist/server/.next/server/app/api/process/status/route.js.nft.json +1 -1
  74. package/dist/server/.next/server/app/api/project-config/route.js +1 -1
  75. package/dist/server/.next/server/app/api/project-config/route.js.nft.json +1 -1
  76. package/dist/server/.next/server/app/api/retry-project/route.js +1 -1
  77. package/dist/server/.next/server/app/api/retry-project/route.js.nft.json +1 -1
  78. package/dist/server/.next/server/app/api/uat-git-flow/abort/route/app-build-manifest.json +10 -0
  79. package/dist/server/.next/server/app/api/uat-git-flow/abort/route/app-paths-manifest.json +3 -0
  80. package/dist/server/.next/server/app/api/uat-git-flow/abort/route/build-manifest.json +16 -0
  81. package/dist/server/.next/server/app/api/uat-git-flow/abort/route/next-font-manifest.json +6 -0
  82. package/dist/server/.next/server/app/api/uat-git-flow/abort/route/react-loadable-manifest.json +1 -0
  83. package/dist/server/.next/server/app/api/uat-git-flow/abort/route/server-reference-manifest.json +4 -0
  84. package/dist/server/.next/server/app/api/uat-git-flow/abort/route.js +8 -0
  85. package/dist/server/.next/server/app/api/uat-git-flow/abort/route.js.map +5 -0
  86. package/dist/server/.next/server/app/api/uat-git-flow/abort/route.js.nft.json +1 -0
  87. package/dist/server/.next/server/app/api/uat-git-flow/abort/route_client-reference-manifest.js +2 -0
  88. package/dist/server/.next/server/app/api/uat-git-flow/route/app-build-manifest.json +10 -0
  89. package/dist/server/.next/server/app/api/uat-git-flow/route/app-paths-manifest.json +3 -0
  90. package/dist/server/.next/server/app/api/uat-git-flow/route/build-manifest.json +16 -0
  91. package/dist/server/.next/server/app/api/uat-git-flow/route/next-font-manifest.json +6 -0
  92. package/dist/server/.next/server/app/api/uat-git-flow/route/react-loadable-manifest.json +1 -0
  93. package/dist/server/.next/server/app/api/uat-git-flow/route/server-reference-manifest.json +4 -0
  94. package/dist/server/.next/server/app/api/uat-git-flow/route.js +9 -0
  95. package/dist/server/.next/server/app/api/uat-git-flow/route.js.map +5 -0
  96. package/dist/server/.next/server/app/api/uat-git-flow/route.js.nft.json +1 -0
  97. package/dist/server/.next/server/app/api/uat-git-flow/route_client-reference-manifest.js +2 -0
  98. package/dist/server/.next/server/app/api/uat-git-flow/step/route/app-build-manifest.json +10 -0
  99. package/dist/server/.next/server/app/api/uat-git-flow/step/route/app-paths-manifest.json +3 -0
  100. package/dist/server/.next/server/app/api/uat-git-flow/step/route/build-manifest.json +16 -0
  101. package/dist/server/.next/server/app/api/uat-git-flow/step/route/next-font-manifest.json +6 -0
  102. package/dist/server/.next/server/app/api/uat-git-flow/step/route/react-loadable-manifest.json +1 -0
  103. package/dist/server/.next/server/app/api/uat-git-flow/step/route/server-reference-manifest.json +4 -0
  104. package/dist/server/.next/server/app/api/uat-git-flow/step/route.js +9 -0
  105. package/dist/server/.next/server/app/api/uat-git-flow/step/route.js.map +5 -0
  106. package/dist/server/.next/server/app/api/uat-git-flow/step/route.js.nft.json +1 -0
  107. package/dist/server/.next/server/app/api/uat-git-flow/step/route_client-reference-manifest.js +2 -0
  108. package/dist/server/.next/server/app/api/workspace/create/route.js +1 -1
  109. package/dist/server/.next/server/app/api/workspace/create/route.js.nft.json +1 -1
  110. package/dist/server/.next/server/app/configuration/page/app-build-manifest.json +3 -3
  111. package/dist/server/.next/server/app/configuration/page.js +1 -1
  112. package/dist/server/.next/server/app/configuration/page.js.nft.json +1 -1
  113. package/dist/server/.next/server/app/configuration/page_client-reference-manifest.js +1 -1
  114. package/dist/server/.next/server/app/configuration.html +1 -1
  115. package/dist/server/.next/server/app/configuration.rsc +3 -3
  116. package/dist/server/.next/server/app/index.html +1 -1
  117. package/dist/server/.next/server/app/index.rsc +2 -2
  118. package/dist/server/.next/server/app/initialization/page/app-build-manifest.json +3 -3
  119. package/dist/server/.next/server/app/initialization/page.js +1 -1
  120. package/dist/server/.next/server/app/initialization/page.js.nft.json +1 -1
  121. package/dist/server/.next/server/app/initialization/page_client-reference-manifest.js +1 -1
  122. package/dist/server/.next/server/app/initialization.html +1 -1
  123. package/dist/server/.next/server/app/initialization.rsc +3 -3
  124. package/dist/server/.next/server/app/page/app-build-manifest.json +1 -1
  125. package/dist/server/.next/server/app/page.js +1 -1
  126. package/dist/server/.next/server/app/page.js.nft.json +1 -1
  127. package/dist/server/.next/server/app/page_client-reference-manifest.js +1 -1
  128. package/dist/server/.next/server/app-paths-manifest.json +4 -0
  129. package/dist/server/.next/server/chunks/{[root-of-the-server]__8fcbb2f0._.js → [root-of-the-server]__0879b2d6._.js} +2 -2
  130. package/dist/server/.next/server/chunks/[root-of-the-server]__0d56f35b._.js +3 -0
  131. package/dist/server/.next/server/chunks/[root-of-the-server]__0d56f35b._.js.map +1 -0
  132. package/dist/server/.next/server/chunks/{[root-of-the-server]__771e8133._.js → [root-of-the-server]__0e8a08fc._.js} +2 -2
  133. package/dist/server/.next/server/chunks/{[root-of-the-server]__21616bf9._.js → [root-of-the-server]__1e792460._.js} +2 -2
  134. package/dist/server/.next/server/chunks/{[root-of-the-server]__03c2b225._.js → [root-of-the-server]__2a29597f._.js} +2 -2
  135. package/dist/server/.next/server/chunks/{[root-of-the-server]__5348b4aa._.js → [root-of-the-server]__2a78acef._.js} +2 -2
  136. package/dist/server/.next/server/chunks/{[root-of-the-server]__5100a0c5._.js → [root-of-the-server]__2f8b52da._.js} +2 -2
  137. package/dist/server/.next/server/chunks/{[root-of-the-server]__3dfc0dc4._.js → [root-of-the-server]__2ffbf0d3._.js} +2 -2
  138. package/dist/server/.next/server/chunks/{[root-of-the-server]__899d82eb._.js → [root-of-the-server]__452b5f9c._.js} +2 -2
  139. package/dist/server/.next/server/chunks/[root-of-the-server]__4ab3dd83._.js +16 -0
  140. package/dist/server/.next/server/chunks/[root-of-the-server]__4ab3dd83._.js.map +1 -0
  141. package/dist/server/.next/server/chunks/{[root-of-the-server]__2fcc7175._.js → [root-of-the-server]__4b595942._.js} +2 -2
  142. package/dist/server/.next/server/chunks/{[root-of-the-server]__973c48a6._.js → [root-of-the-server]__4ec3205b._.js} +2 -2
  143. package/dist/server/.next/server/chunks/{[root-of-the-server]__072f5c45._.js → [root-of-the-server]__4fd52ac1._.js} +2 -2
  144. package/dist/server/.next/server/chunks/{[root-of-the-server]__6e5dc117._.js → [root-of-the-server]__5c9f62f9._.js} +2 -2
  145. package/dist/server/.next/server/chunks/[root-of-the-server]__6cbd50e9._.js +16 -0
  146. package/dist/server/.next/server/chunks/[root-of-the-server]__6cbd50e9._.js.map +1 -0
  147. package/dist/server/.next/server/chunks/[root-of-the-server]__703c317f._.js +3 -0
  148. package/dist/server/.next/server/chunks/[root-of-the-server]__703c317f._.js.map +1 -0
  149. package/dist/server/.next/server/chunks/{[root-of-the-server]__7500acb0._.js → [root-of-the-server]__8637b7f1._.js} +2 -2
  150. package/dist/server/.next/server/chunks/[root-of-the-server]__98088bea._.js +3 -0
  151. package/dist/server/.next/server/chunks/[root-of-the-server]__98088bea._.js.map +1 -0
  152. package/dist/server/.next/server/chunks/{[root-of-the-server]__94e10604._.js → [root-of-the-server]__a6fbefc6._.js} +2 -2
  153. package/dist/server/.next/server/chunks/{[root-of-the-server]__31a13318._.js → [root-of-the-server]__a74239fc._.js} +2 -2
  154. package/dist/server/.next/server/chunks/{[root-of-the-server]__388e6150._.js → [root-of-the-server]__aaa3fe74._.js} +2 -2
  155. package/dist/server/.next/server/chunks/{[root-of-the-server]__7fc974c9._.js → [root-of-the-server]__b176e8df._.js} +2 -2
  156. package/dist/server/.next/server/chunks/{[root-of-the-server]__a292866b._.js → [root-of-the-server]__be14bdb6._.js} +2 -2
  157. package/dist/server/.next/server/chunks/{[root-of-the-server]__f815ea40._.js → [root-of-the-server]__c18498ef._.js} +2 -2
  158. package/dist/server/.next/server/chunks/{[root-of-the-server]__c8b26634._.js → [root-of-the-server]__c9627539._.js} +2 -2
  159. package/dist/server/.next/server/chunks/{[root-of-the-server]__5355b75a._.js → [root-of-the-server]__dda45cac._.js} +2 -2
  160. package/dist/server/.next/server/chunks/{[root-of-the-server]__d0112f7b._.js → [root-of-the-server]__de18efbd._.js} +3 -3
  161. package/dist/server/.next/server/chunks/{[root-of-the-server]__d0112f7b._.js.map → [root-of-the-server]__de18efbd._.js.map} +1 -1
  162. package/dist/server/.next/server/chunks/{[root-of-the-server]__2ba93285._.js → [root-of-the-server]__e0b7050d._.js} +2 -2
  163. package/dist/server/.next/server/chunks/{[root-of-the-server]__419d3b16._.js → [root-of-the-server]__ec681197._.js} +2 -2
  164. package/dist/server/.next/server/chunks/_24087f66._.js +3 -0
  165. package/dist/server/.next/server/chunks/_24087f66._.js.map +1 -0
  166. package/dist/server/.next/server/chunks/_61c263b3._.js +3 -0
  167. package/dist/server/.next/server/chunks/_61c263b3._.js.map +1 -0
  168. package/dist/server/.next/server/chunks/ssr/[root-of-the-server]__2e9964e3._.js +3 -0
  169. package/dist/server/.next/server/chunks/ssr/{[root-of-the-server]__63c188bd._.js → [root-of-the-server]__b8a5c1ab._.js} +2 -2
  170. package/dist/server/.next/server/chunks/ssr/_5579d68f._.js +57 -0
  171. package/dist/server/.next/server/chunks/ssr/_5579d68f._.js.map +1 -0
  172. package/dist/server/.next/server/chunks/ssr/{_a1cb0beb._.js → _a1ab1c09._.js} +6 -2
  173. package/dist/server/.next/server/chunks/ssr/_a1ab1c09._.js.map +1 -0
  174. package/dist/server/.next/server/chunks/ssr/_ee0c9da0._.js +8 -0
  175. package/dist/server/.next/server/chunks/ssr/_ee0c9da0._.js.map +1 -0
  176. package/dist/server/.next/server/chunks/ssr/packages_server_src_7cef6dbd._.js +1 -1
  177. package/dist/server/.next/server/chunks/ssr/packages_server_src_7cef6dbd._.js.map +1 -1
  178. package/dist/server/.next/server/middleware-build-manifest.js +4 -4
  179. package/dist/server/.next/server/pages/404.html +1 -1
  180. package/dist/server/.next/server/pages/500.html +1 -1
  181. package/dist/server/.next/server/pages/_app/build-manifest.json +2 -2
  182. package/dist/server/.next/server/pages/_document.js +1 -1
  183. package/dist/server/.next/server/pages/_document.js.nft.json +1 -1
  184. package/dist/server/.next/server/pages/_error/build-manifest.json +2 -2
  185. package/dist/server/.next/server/pages/_error.js +1 -1
  186. package/dist/server/.next/server/pages/_error.js.nft.json +1 -1
  187. package/dist/server/.next/server/server-reference-manifest.js +1 -1
  188. package/dist/server/.next/server/server-reference-manifest.json +1 -1
  189. package/dist/server/.next/static/chunks/{d65b8ba84ba3d819.js → 1091ba2f3c451a47.js} +1 -1
  190. package/dist/server/.next/static/chunks/{294d677a4838a994.js → 1154a499e8e3867b.js} +1 -1
  191. package/dist/server/.next/static/chunks/{f9ef1d12f3c1646a.js → 1aa036ed62a506c8.js} +2 -2
  192. package/dist/server/.next/static/chunks/205cbae70a6c50e1.js.map +1 -0
  193. package/dist/server/.next/static/chunks/{479d60165927b286.js.map → 2602bf706e977560.js.map} +1 -1
  194. package/dist/server/.next/static/chunks/2d2322acba49236a.js +57 -0
  195. package/dist/server/.next/static/chunks/{dcfeeb80bf779e48.js → 43c514797c454939.js} +6 -2
  196. package/dist/server/.next/static/chunks/511924c894f8e3de.css.map +1 -0
  197. package/dist/server/.next/static/chunks/861aac2fba8d4e28.css +3 -0
  198. package/dist/server/.next/static/chunks/888146b3e75fe817.js.map +1 -0
  199. package/dist/server/.next/static/chunks/9148331cad3a934e.js +7 -0
  200. package/dist/server/.next/static/chunks/99154153690ad580.js.map +1 -0
  201. package/dist/server/.next/static/chunks/9bc1bbb3fe6e5eb3.js +3 -0
  202. package/dist/server/.next/static/chunks/e70508cc9f59709d.js.map +1 -0
  203. package/dist/server/.next/static/chunks/pages/_app.js +2 -2
  204. package/dist/server/.next/static/chunks/pages/_error.js +2 -2
  205. package/dist/server/.next/trace +1 -1
  206. package/package.json +1 -1
  207. package/dist/server/.next/server/chunks/[root-of-the-server]__629e6d6a._.js +0 -3
  208. package/dist/server/.next/server/chunks/[root-of-the-server]__629e6d6a._.js.map +0 -1
  209. package/dist/server/.next/server/chunks/ssr/[root-of-the-server]__e3a2aebd._.js +0 -3
  210. package/dist/server/.next/server/chunks/ssr/_a1cb0beb._.js.map +0 -1
  211. package/dist/server/.next/server/chunks/ssr/_bee8e6b2._.js +0 -61
  212. package/dist/server/.next/server/chunks/ssr/_bee8e6b2._.js.map +0 -1
  213. package/dist/server/.next/static/chunks/1e69de6d92e0d593.js.map +0 -1
  214. package/dist/server/.next/static/chunks/249ab5825a2160c6.js.map +0 -1
  215. package/dist/server/.next/static/chunks/37783149158d61fd.css +0 -3
  216. package/dist/server/.next/static/chunks/851593de9d497459.css.map +0 -1
  217. package/dist/server/.next/static/chunks/a4de3104c17624f9.js.map +0 -1
  218. package/dist/server/.next/static/chunks/bb95e2f817926795.js +0 -3
  219. package/dist/server/.next/static/chunks/f90a10be5908d5fa.js +0 -61
  220. /package/dist/server/.next/server/chunks/{[root-of-the-server]__8fcbb2f0._.js.map → [root-of-the-server]__0879b2d6._.js.map} +0 -0
  221. /package/dist/server/.next/server/chunks/{[root-of-the-server]__771e8133._.js.map → [root-of-the-server]__0e8a08fc._.js.map} +0 -0
  222. /package/dist/server/.next/server/chunks/{[root-of-the-server]__21616bf9._.js.map → [root-of-the-server]__1e792460._.js.map} +0 -0
  223. /package/dist/server/.next/server/chunks/{[root-of-the-server]__03c2b225._.js.map → [root-of-the-server]__2a29597f._.js.map} +0 -0
  224. /package/dist/server/.next/server/chunks/{[root-of-the-server]__5348b4aa._.js.map → [root-of-the-server]__2a78acef._.js.map} +0 -0
  225. /package/dist/server/.next/server/chunks/{[root-of-the-server]__5100a0c5._.js.map → [root-of-the-server]__2f8b52da._.js.map} +0 -0
  226. /package/dist/server/.next/server/chunks/{[root-of-the-server]__3dfc0dc4._.js.map → [root-of-the-server]__2ffbf0d3._.js.map} +0 -0
  227. /package/dist/server/.next/server/chunks/{[root-of-the-server]__899d82eb._.js.map → [root-of-the-server]__452b5f9c._.js.map} +0 -0
  228. /package/dist/server/.next/server/chunks/{[root-of-the-server]__2fcc7175._.js.map → [root-of-the-server]__4b595942._.js.map} +0 -0
  229. /package/dist/server/.next/server/chunks/{[root-of-the-server]__973c48a6._.js.map → [root-of-the-server]__4ec3205b._.js.map} +0 -0
  230. /package/dist/server/.next/server/chunks/{[root-of-the-server]__072f5c45._.js.map → [root-of-the-server]__4fd52ac1._.js.map} +0 -0
  231. /package/dist/server/.next/server/chunks/{[root-of-the-server]__6e5dc117._.js.map → [root-of-the-server]__5c9f62f9._.js.map} +0 -0
  232. /package/dist/server/.next/server/chunks/{[root-of-the-server]__7500acb0._.js.map → [root-of-the-server]__8637b7f1._.js.map} +0 -0
  233. /package/dist/server/.next/server/chunks/{[root-of-the-server]__94e10604._.js.map → [root-of-the-server]__a6fbefc6._.js.map} +0 -0
  234. /package/dist/server/.next/server/chunks/{[root-of-the-server]__31a13318._.js.map → [root-of-the-server]__a74239fc._.js.map} +0 -0
  235. /package/dist/server/.next/server/chunks/{[root-of-the-server]__388e6150._.js.map → [root-of-the-server]__aaa3fe74._.js.map} +0 -0
  236. /package/dist/server/.next/server/chunks/{[root-of-the-server]__7fc974c9._.js.map → [root-of-the-server]__b176e8df._.js.map} +0 -0
  237. /package/dist/server/.next/server/chunks/{[root-of-the-server]__a292866b._.js.map → [root-of-the-server]__be14bdb6._.js.map} +0 -0
  238. /package/dist/server/.next/server/chunks/{[root-of-the-server]__f815ea40._.js.map → [root-of-the-server]__c18498ef._.js.map} +0 -0
  239. /package/dist/server/.next/server/chunks/{[root-of-the-server]__c8b26634._.js.map → [root-of-the-server]__c9627539._.js.map} +0 -0
  240. /package/dist/server/.next/server/chunks/{[root-of-the-server]__5355b75a._.js.map → [root-of-the-server]__dda45cac._.js.map} +0 -0
  241. /package/dist/server/.next/server/chunks/{[root-of-the-server]__2ba93285._.js.map → [root-of-the-server]__e0b7050d._.js.map} +0 -0
  242. /package/dist/server/.next/server/chunks/{[root-of-the-server]__419d3b16._.js.map → [root-of-the-server]__ec681197._.js.map} +0 -0
  243. /package/dist/server/.next/server/chunks/ssr/{[root-of-the-server]__e3a2aebd._.js.map → [root-of-the-server]__2e9964e3._.js.map} +0 -0
  244. /package/dist/server/.next/server/chunks/ssr/{[root-of-the-server]__63c188bd._.js.map → [root-of-the-server]__b8a5c1ab._.js.map} +0 -0
  245. /package/dist/server/.next/static/{rBe6tUwudOthfNpVSim6S → tz_bf3MbzRijrx8XdXPWA}/_buildManifest.js +0 -0
  246. /package/dist/server/.next/static/{rBe6tUwudOthfNpVSim6S → tz_bf3MbzRijrx8XdXPWA}/_clientMiddlewareManifest.json +0 -0
  247. /package/dist/server/.next/static/{rBe6tUwudOthfNpVSim6S → tz_bf3MbzRijrx8XdXPWA}/_ssgManifest.js +0 -0
@@ -0,0 +1,57 @@
1
+ (globalThis.TURBOPACK=globalThis.TURBOPACK||[]).push(["object"==typeof document?document.currentScript:void 0,{39171:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({Item:()=>I,Root:()=>R,RovingFocusGroup:()=>S,RovingFocusGroupItem:()=>T,createRovingFocusGroupScope:()=>j});var n=e.i(19886),s=e.i(77787),a=e.i(29615),o=e.i(28537),i=e.i(15836),l=e.i(86048),c=e.i(42352),d=e.i(81897),u=e.i(98644),m=e.i(53955),p=e.i(20393),h="rovingFocusGroup.onEntryFocus",f={bubbles:!1,cancelable:!0},x="RovingFocusGroup",[g,v,y]=(0,a.createCollection)(x),[b,j]=(0,i.createContextScope)(x,[y]),[w,N]=b(x),S=(0,n.forwardRef)((e,t)=>(0,p.jsx)(g.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,p.jsx)(g.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,p.jsx)(k,{...e,ref:t})})}));S.displayName=x;var k=(0,n.forwardRef)((e,t)=>{let{__scopeRovingFocusGroup:r,orientation:a,loop:i=!1,dir:l,currentTabStopId:g,defaultCurrentTabStopId:y,onCurrentTabStopIdChange:b,onEntryFocus:j,preventScrollOnEntryFocus:N=!1,...S}=e,k=(0,n.useRef)(null),C=(0,o.useComposedRefs)(t,k),T=(0,m.useDirection)(l),[E,R]=(0,u.useControllableState)({prop:g,defaultProp:y??null,onChange:b,caller:x}),[I,O]=(0,n.useState)(!1),M=(0,d.useCallbackRef)(j),_=v(r),L=(0,n.useRef)(!1),[D,A]=(0,n.useState)(0);return(0,n.useEffect)(()=>{let e=k.current;if(e)return e.addEventListener(h,M),()=>e.removeEventListener(h,M)},[M]),(0,p.jsx)(w,{scope:r,orientation:a,dir:T,loop:i,currentTabStopId:E,onItemFocus:(0,n.useCallback)(e=>R(e),[R]),onItemShiftTab:(0,n.useCallback)(()=>O(!0),[]),onFocusableItemAdd:(0,n.useCallback)(()=>A(e=>e+1),[]),onFocusableItemRemove:(0,n.useCallback)(()=>A(e=>e-1),[]),children:(0,p.jsx)(c.Primitive.div,{tabIndex:I||0===D?-1:0,"data-orientation":a,...S,ref:C,style:{outline:"none",...e.style},onMouseDown:(0,s.composeEventHandlers)(e.onMouseDown,()=>{L.current=!0}),onFocus:(0,s.composeEventHandlers)(e.onFocus,e=>{let t=!L.current;if(e.target===e.currentTarget&&t&&!I){let t=new CustomEvent(h,f);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=_().filter(e=>e.focusable);P([e.find(e=>e.active),e.find(e=>e.id===E),...e].filter(Boolean).map(e=>e.ref.current),N)}}L.current=!1}),onBlur:(0,s.composeEventHandlers)(e.onBlur,()=>O(!1))})})}),C="RovingFocusGroupItem",T=(0,n.forwardRef)((e,t)=>{let{__scopeRovingFocusGroup:r,focusable:a=!0,active:o=!1,tabStopId:i,children:d,...u}=e,m=(0,l.useId)(),h=i||m,f=N(C,r),x=f.currentTabStopId===h,y=v(r),{onFocusableItemAdd:b,onFocusableItemRemove:j,currentTabStopId:w}=f;return(0,n.useEffect)(()=>{if(a)return b(),()=>j()},[a,b,j]),(0,p.jsx)(g.ItemSlot,{scope:r,id:h,focusable:a,active:o,children:(0,p.jsx)(c.Primitive.span,{tabIndex:x?0:-1,"data-orientation":f.orientation,...u,ref:t,onMouseDown:(0,s.composeEventHandlers)(e.onMouseDown,e=>{a?f.onItemFocus(h):e.preventDefault()}),onFocus:(0,s.composeEventHandlers)(e.onFocus,()=>f.onItemFocus(h)),onKeyDown:(0,s.composeEventHandlers)(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void f.onItemShiftTab();if(e.target!==e.currentTarget)return;let t=function(e,t,r){var n;let s=(n=e.key,"rtl"!==r?n:"ArrowLeft"===n?"ArrowRight":"ArrowRight"===n?"ArrowLeft":n);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(s))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(s)))return E[s]}(e,f.orientation,f.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let r=y().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)r.reverse();else if("prev"===t||"next"===t){"prev"===t&&r.reverse();let n=r.indexOf(e.currentTarget);r=f.loop?function(e,t){return e.map((r,n)=>e[(t+n)%e.length])}(r,n+1):r.slice(n+1)}setTimeout(()=>P(r))}}),children:"function"==typeof d?d({isCurrentTabStop:x,hasTabStop:null!=w}):d})})});T.displayName=C;var E={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function P(e,t=!1){let r=document.activeElement;for(let n of e)if(n===r||(n.focus({preventScroll:t}),document.activeElement!==r))return}var R=S,I=T},47385:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({Content:()=>I,List:()=>P,Root:()=>E,Tabs:()=>y,TabsContent:()=>k,TabsList:()=>j,TabsTrigger:()=>N,Trigger:()=>R,createTabsScope:()=>f});var n=e.i(19886),s=e.i(77787),a=e.i(15836),o=e.i(39171),i=e.i(85017),l=e.i(42352),c=e.i(53955),d=e.i(98644),u=e.i(86048),m=e.i(20393),p="Tabs",[h,f]=(0,a.createContextScope)(p,[o.createRovingFocusGroupScope]),x=(0,o.createRovingFocusGroupScope)(),[g,v]=h(p),y=(0,n.forwardRef)((e,t)=>{let{__scopeTabs:r,value:n,onValueChange:s,defaultValue:a,orientation:o="horizontal",dir:i,activationMode:h="automatic",...f}=e,x=(0,c.useDirection)(i),[v,y]=(0,d.useControllableState)({prop:n,onChange:s,defaultProp:a??"",caller:p});return(0,m.jsx)(g,{scope:r,baseId:(0,u.useId)(),value:v,onValueChange:y,orientation:o,dir:x,activationMode:h,children:(0,m.jsx)(l.Primitive.div,{dir:x,"data-orientation":o,...f,ref:t})})});y.displayName=p;var b="TabsList",j=(0,n.forwardRef)((e,t)=>{let{__scopeTabs:r,loop:n=!0,...s}=e,a=v(b,r),i=x(r);return(0,m.jsx)(o.Root,{asChild:!0,...i,orientation:a.orientation,dir:a.dir,loop:n,children:(0,m.jsx)(l.Primitive.div,{role:"tablist","aria-orientation":a.orientation,...s,ref:t})})});j.displayName=b;var w="TabsTrigger",N=(0,n.forwardRef)((e,t)=>{let{__scopeTabs:r,value:n,disabled:a=!1,...i}=e,c=v(w,r),d=x(r),u=C(c.baseId,n),p=T(c.baseId,n),h=n===c.value;return(0,m.jsx)(o.Item,{asChild:!0,...d,focusable:!a,active:h,children:(0,m.jsx)(l.Primitive.button,{type:"button",role:"tab","aria-selected":h,"aria-controls":p,"data-state":h?"active":"inactive","data-disabled":a?"":void 0,disabled:a,id:u,...i,ref:t,onMouseDown:(0,s.composeEventHandlers)(e.onMouseDown,e=>{a||0!==e.button||!1!==e.ctrlKey?e.preventDefault():c.onValueChange(n)}),onKeyDown:(0,s.composeEventHandlers)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&c.onValueChange(n)}),onFocus:(0,s.composeEventHandlers)(e.onFocus,()=>{let e="manual"!==c.activationMode;h||a||!e||c.onValueChange(n)})})})});N.displayName=w;var S="TabsContent",k=(0,n.forwardRef)((e,t)=>{let{__scopeTabs:r,value:s,forceMount:a,children:o,...c}=e,d=v(S,r),u=C(d.baseId,s),p=T(d.baseId,s),h=s===d.value,f=(0,n.useRef)(h);return(0,n.useEffect)(()=>{let e=requestAnimationFrame(()=>f.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,m.jsx)(i.Presence,{present:a||h,children:({present:r})=>(0,m.jsx)(l.Primitive.div,{"data-state":h?"active":"inactive","data-orientation":d.orientation,role:"tabpanel","aria-labelledby":u,hidden:!r,id:p,tabIndex:0,...c,ref:t,style:{...e.style,animationDuration:f.current?"0s":void 0},children:r&&o})})});function C(e,t){return`${e}-trigger-${t}`}function T(e,t){return`${e}-content-${t}`}k.displayName=S;var E=y,P=j,R=N,I=k},72242:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({Tabs:()=>o,TabsContent:()=>c,TabsList:()=>i,TabsTrigger:()=>l});var n=e.i(20393),s=e.i(47385),a=e.i(39037);function o({className:e,...t}){return(0,n.jsx)(s.Root,{"data-slot":"tabs",className:(0,a.cn)("flex flex-col gap-2",e),...t})}function i({className:e,...t}){return(0,n.jsx)(s.List,{"data-slot":"tabs-list",className:(0,a.cn)("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]",e),...t})}function l({className:e,...t}){return(0,n.jsx)(s.Trigger,{"data-slot":"tabs-trigger",className:(0,a.cn)("data-[state=active]:bg-background dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...t})}function c({className:e,...t}){return(0,n.jsx)(s.Content,{"data-slot":"tabs-content",className:(0,a.cn)("flex-1 outline-none",e),...t})}},44299:e=>{"use strict";var{g:t,__dirname:r}=e;function n(e,[t,r]){return Math.min(r,Math.max(t,e))}e.s({clamp:()=>n})},25663:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({ALIGN_OPTIONS:()=>f,Anchor:()=>L,Arrow:()=>A,Content:()=>D,Popper:()=>j,PopperAnchor:()=>N,PopperArrow:()=>R,PopperContent:()=>T,Root:()=>_,SIDE_OPTIONS:()=>h,createPopperScope:()=>v});var n=e.i(19886),s=e.i(73784),a=e.i(13450),o=e.i(36578),i=e.i(28537),l=e.i(15836),c=e.i(42352),d=e.i(81897),u=e.i(91327),m=e.i(30287),p=e.i(20393),h=["top","right","bottom","left"],f=["start","center","end"],x="Popper",[g,v]=(0,l.createContextScope)(x),[y,b]=g(x),j=e=>{let{__scopePopper:t,children:r}=e,[s,a]=(0,n.useState)(null);return(0,p.jsx)(y,{scope:t,anchor:s,onAnchorChange:a,children:r})};j.displayName=x;var w="PopperAnchor",N=(0,n.forwardRef)((e,t)=>{let{__scopePopper:r,virtualRef:s,...a}=e,o=b(w,r),l=(0,n.useRef)(null),d=(0,i.useComposedRefs)(t,l);return(0,n.useEffect)(()=>{o.onAnchorChange(s?.current||l.current)}),s?null:(0,p.jsx)(c.Primitive.div,{...a,ref:d})});N.displayName=w;var S="PopperContent",[k,C]=g(S),T=(0,n.forwardRef)((e,t)=>{let{__scopePopper:r,side:o="bottom",sideOffset:l=0,align:h="center",alignOffset:f=0,arrowPadding:x=0,avoidCollisions:g=!0,collisionBoundary:v=[],collisionPadding:y=0,sticky:j="partial",hideWhenDetached:w=!1,updatePositionStrategy:N="optimized",onPlaced:C,...T}=e,E=b(S,r),[P,R]=(0,n.useState)(null),_=(0,i.useComposedRefs)(t,e=>R(e)),[L,D]=(0,n.useState)(null),A=(0,m.useSize)(L),$=A?.width??0,z=A?.height??0,H="number"==typeof y?y:{top:0,right:0,bottom:0,left:0,...y},F=Array.isArray(v)?v:[v],B=F.length>0,U={padding:H,boundary:F.filter(I),altBoundary:B},{refs:V,floatingStyles:G,placement:K,isPositioned:W,middlewareData:q}=(0,s.useFloating)({strategy:"fixed",placement:o+("center"!==h?"-"+h:""),whileElementsMounted:(...e)=>(0,a.autoUpdate)(...e,{animationFrame:"always"===N}),elements:{reference:E.anchor},middleware:[(0,s.offset)({mainAxis:l+z,alignmentAxis:f}),g&&(0,s.shift)({mainAxis:!0,crossAxis:!1,limiter:"partial"===j?(0,s.limitShift)():void 0,...U}),g&&(0,s.flip)({...U}),(0,s.size)({...U,apply:({elements:e,rects:t,availableWidth:r,availableHeight:n})=>{let{width:s,height:a}=t.reference,o=e.floating.style;o.setProperty("--radix-popper-available-width",`${r}px`),o.setProperty("--radix-popper-available-height",`${n}px`),o.setProperty("--radix-popper-anchor-width",`${s}px`),o.setProperty("--radix-popper-anchor-height",`${a}px`)}}),L&&(0,s.arrow)({element:L,padding:x}),O({arrowWidth:$,arrowHeight:z}),w&&(0,s.hide)({strategy:"referenceHidden",...U})]}),[J,Y]=M(K),X=(0,d.useCallbackRef)(C);(0,u.useLayoutEffect)(()=>{W&&X?.()},[W,X]);let Z=q.arrow?.x,Q=q.arrow?.y,ee=q.arrow?.centerOffset!==0,[et,er]=(0,n.useState)();return(0,u.useLayoutEffect)(()=>{P&&er(window.getComputedStyle(P).zIndex)},[P]),(0,p.jsx)("div",{ref:V.setFloating,"data-radix-popper-content-wrapper":"",style:{...G,transform:W?G.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:et,"--radix-popper-transform-origin":[q.transformOrigin?.x,q.transformOrigin?.y].join(" "),...q.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:(0,p.jsx)(k,{scope:r,placedSide:J,onArrowChange:D,arrowX:Z,arrowY:Q,shouldHideArrow:ee,children:(0,p.jsx)(c.Primitive.div,{"data-side":J,"data-align":Y,...T,ref:_,style:{...T.style,animation:W?void 0:"none"}})})})});T.displayName=S;var E="PopperArrow",P={top:"bottom",right:"left",bottom:"top",left:"right"},R=(0,n.forwardRef)(function(e,t){let{__scopePopper:r,...n}=e,s=C(E,r),a=P[s.placedSide];return(0,p.jsx)("span",{ref:s.onArrowChange,style:{position:"absolute",left:s.arrowX,top:s.arrowY,[a]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[s.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[s.placedSide],visibility:s.shouldHideArrow?"hidden":void 0},children:(0,p.jsx)(o.Root,{...n,ref:t,style:{...n.style,display:"block"}})})});function I(e){return null!==e}R.displayName=E;var O=e=>({name:"transformOrigin",options:e,fn(t){let{placement:r,rects:n,middlewareData:s}=t,a=s.arrow?.centerOffset!==0,o=a?0:e.arrowWidth,i=a?0:e.arrowHeight,[l,c]=M(r),d={start:"0%",center:"50%",end:"100%"}[c],u=(s.arrow?.x??0)+o/2,m=(s.arrow?.y??0)+i/2,p="",h="";return"bottom"===l?(p=a?d:`${u}px`,h=`${-i}px`):"top"===l?(p=a?d:`${u}px`,h=`${n.floating.height+i}px`):"right"===l?(p=`${-i}px`,h=a?d:`${m}px`):"left"===l&&(p=`${n.floating.width+i}px`,h=a?d:`${m}px`),{data:{x:p,y:h}}}});function M(e){let[t,r="center"]=e.split("-");return[t,r]}var _=j,L=N,D=T,A=R},44916:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({usePrevious:()=>s});var n=e.i(19886);function s(e){let t=(0,n.useRef)({value:e,previous:e});return(0,n.useMemo)(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}},76:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({Root:()=>l,VISUALLY_HIDDEN_STYLES:()=>o,VisuallyHidden:()=>i});var n=e.i(19886),s=e.i(42352),a=e.i(20393),o=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),i=(0,n.forwardRef)((e,t)=>(0,a.jsx)(s.Primitive.span,{...e,ref:t,style:{...o,...e.style}}));i.displayName="VisuallyHidden";var l=i},1990:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({Arrow:()=>eK,Content:()=>eD,Group:()=>e$,Icon:()=>e_,Item:()=>eH,ItemIndicator:()=>eB,ItemText:()=>eF,Label:()=>ez,Portal:()=>eL,Root:()=>eI,ScrollDownButton:()=>eV,ScrollUpButton:()=>eU,Select:()=>H,SelectArrow:()=>eC,SelectContent:()=>q,SelectGroup:()=>el,SelectIcon:()=>G,SelectItem:()=>eh,SelectItemIndicator:()=>ev,SelectItemText:()=>ex,SelectLabel:()=>ed,SelectPortal:()=>K,SelectScrollDownButton:()=>ew,SelectScrollUpButton:()=>eb,SelectSeparator:()=>eS,SelectTrigger:()=>B,SelectValue:()=>V,SelectViewport:()=>es,Separator:()=>eG,Trigger:()=>eO,Value:()=>eM,Viewport:()=>eA,createSelectScope:()=>_});var n=e.i(19886),s=e.i(14709),a=e.i(44299),o=e.i(77787),i=e.i(29615),l=e.i(28537),c=e.i(15836),d=e.i(53955),u=e.i(74702),m=e.i(63433),p=e.i(32240),h=e.i(86048),f=e.i(25663),x=e.i(23214),g=e.i(42352),v=e.i(74009),y=e.i(81897),b=e.i(98644),j=e.i(91327),w=e.i(44916),N=e.i(76),S=e.i(83276),k=e.i(65544),C=e.i(20393),T=[" ","Enter","ArrowUp","ArrowDown"],E=[" ","Enter"],P="Select",[R,I,O]=(0,i.createCollection)(P),[M,_]=(0,c.createContextScope)(P,[O,f.createPopperScope]),L=(0,f.createPopperScope)(),[D,A]=M(P),[$,z]=M(P),H=e=>{let{__scopeSelect:t,children:r,open:s,defaultOpen:a,onOpenChange:o,value:i,defaultValue:l,onValueChange:c,dir:u,name:m,autoComplete:p,disabled:x,required:g,form:v}=e,y=L(t),[j,w]=(0,n.useState)(null),[N,S]=(0,n.useState)(null),[k,T]=(0,n.useState)(!1),E=(0,d.useDirection)(u),[I,O]=(0,b.useControllableState)({prop:s,defaultProp:a??!1,onChange:o,caller:P}),[M,_]=(0,b.useControllableState)({prop:i,defaultProp:l,onChange:c,caller:P}),A=(0,n.useRef)(null),z=!j||v||!!j.closest("form"),[H,F]=(0,n.useState)(new Set),B=Array.from(H).map(e=>e.props.value).join(";");return(0,C.jsx)(f.Root,{...y,children:(0,C.jsxs)(D,{required:g,scope:t,trigger:j,onTriggerChange:w,valueNode:N,onValueNodeChange:S,valueNodeHasChildren:k,onValueNodeHasChildrenChange:T,contentId:(0,h.useId)(),value:M,onValueChange:_,open:I,onOpenChange:O,dir:E,triggerPointerDownPosRef:A,disabled:x,children:[(0,C.jsx)(R.Provider,{scope:t,children:(0,C.jsx)($,{scope:e.__scopeSelect,onNativeOptionAdd:(0,n.useCallback)(e=>{F(t=>new Set(t).add(e))},[]),onNativeOptionRemove:(0,n.useCallback)(e=>{F(t=>{let r=new Set(t);return r.delete(e),r})},[]),children:r})}),z?(0,C.jsxs)(eT,{"aria-hidden":!0,required:g,tabIndex:-1,name:m,autoComplete:p,value:M,onChange:e=>_(e.target.value),disabled:x,form:v,children:[void 0===M?(0,C.jsx)("option",{value:""}):null,Array.from(H)]},B):null]})})};H.displayName=P;var F="SelectTrigger",B=(0,n.forwardRef)((e,t)=>{let{__scopeSelect:r,disabled:s=!1,...a}=e,i=L(r),c=A(F,r),d=c.disabled||s,u=(0,l.useComposedRefs)(t,c.onTriggerChange),m=I(r),p=(0,n.useRef)("touch"),[h,x,v]=eP(e=>{let t=m().filter(e=>!e.disabled),r=t.find(e=>e.value===c.value),n=eR(t,e,r);void 0!==n&&c.onValueChange(n.value)}),y=e=>{d||(c.onOpenChange(!0),v()),e&&(c.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})};return(0,C.jsx)(f.Anchor,{asChild:!0,...i,children:(0,C.jsx)(g.Primitive.button,{type:"button",role:"combobox","aria-controls":c.contentId,"aria-expanded":c.open,"aria-required":c.required,"aria-autocomplete":"none",dir:c.dir,"data-state":c.open?"open":"closed",disabled:d,"data-disabled":d?"":void 0,"data-placeholder":eE(c.value)?"":void 0,...a,ref:u,onClick:(0,o.composeEventHandlers)(a.onClick,e=>{e.currentTarget.focus(),"mouse"!==p.current&&y(e)}),onPointerDown:(0,o.composeEventHandlers)(a.onPointerDown,e=>{p.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),0===e.button&&!1===e.ctrlKey&&"mouse"===e.pointerType&&(y(e),e.preventDefault())}),onKeyDown:(0,o.composeEventHandlers)(a.onKeyDown,e=>{let t=""!==h.current;e.ctrlKey||e.altKey||e.metaKey||1!==e.key.length||x(e.key),(!t||" "!==e.key)&&T.includes(e.key)&&(y(),e.preventDefault())})})})});B.displayName=F;var U="SelectValue",V=(0,n.forwardRef)((e,t)=>{let{__scopeSelect:r,className:n,style:s,children:a,placeholder:o="",...i}=e,c=A(U,r),{onValueNodeHasChildrenChange:d}=c,u=void 0!==a,m=(0,l.useComposedRefs)(t,c.onValueNodeChange);return(0,j.useLayoutEffect)(()=>{d(u)},[d,u]),(0,C.jsx)(g.Primitive.span,{...i,ref:m,style:{pointerEvents:"none"},children:eE(c.value)?(0,C.jsx)(C.Fragment,{children:o}):a})});V.displayName=U;var G=(0,n.forwardRef)((e,t)=>{let{__scopeSelect:r,children:n,...s}=e;return(0,C.jsx)(g.Primitive.span,{"aria-hidden":!0,...s,ref:t,children:n||"▼"})});G.displayName="SelectIcon";var K=e=>(0,C.jsx)(x.Portal,{asChild:!0,...e});K.displayName="SelectPortal";var W="SelectContent",q=(0,n.forwardRef)((e,t)=>{let r=A(W,e.__scopeSelect),[a,o]=(0,n.useState)();return((0,j.useLayoutEffect)(()=>{o(new DocumentFragment)},[]),r.open)?(0,C.jsx)(Z,{...e,ref:t}):a?(0,s.createPortal)((0,C.jsx)(J,{scope:e.__scopeSelect,children:(0,C.jsx)(R.Slot,{scope:e.__scopeSelect,children:(0,C.jsx)("div",{children:e.children})})}),a):null});q.displayName=W;var[J,Y]=M(W),X=(0,v.createSlot)("SelectContent.RemoveScroll"),Z=(0,n.forwardRef)((e,t)=>{let{__scopeSelect:r,position:s="item-aligned",onCloseAutoFocus:a,onEscapeKeyDown:i,onPointerDownOutside:c,side:d,sideOffset:h,align:f,alignOffset:x,arrowPadding:g,collisionBoundary:v,collisionPadding:y,sticky:b,hideWhenDetached:j,avoidCollisions:w,...N}=e,T=A(W,r),[E,P]=(0,n.useState)(null),[R,O]=(0,n.useState)(null),M=(0,l.useComposedRefs)(t,e=>P(e)),[_,L]=(0,n.useState)(null),[D,$]=(0,n.useState)(null),z=I(r),[H,F]=(0,n.useState)(!1),B=(0,n.useRef)(!1);(0,n.useEffect)(()=>{if(E)return(0,S.hideOthers)(E)},[E]),(0,m.useFocusGuards)();let U=(0,n.useCallback)(e=>{let[t,...r]=z().map(e=>e.ref.current),[n]=r.slice(-1),s=document.activeElement;for(let r of e)if(r===s||(r?.scrollIntoView({block:"nearest"}),r===t&&R&&(R.scrollTop=0),r===n&&R&&(R.scrollTop=R.scrollHeight),r?.focus(),document.activeElement!==s))return},[z,R]),V=(0,n.useCallback)(()=>U([_,E]),[U,_,E]);(0,n.useEffect)(()=>{H&&V()},[H,V]);let{onOpenChange:G,triggerPointerDownPosRef:K}=T;(0,n.useEffect)(()=>{if(E){let e={x:0,y:0},t=t=>{e={x:Math.abs(Math.round(t.pageX)-(K.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(K.current?.y??0))}},r=r=>{e.x<=10&&e.y<=10?r.preventDefault():E.contains(r.target)||G(!1),document.removeEventListener("pointermove",t),K.current=null};return null!==K.current&&(document.addEventListener("pointermove",t),document.addEventListener("pointerup",r,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",t),document.removeEventListener("pointerup",r,{capture:!0})}}},[E,G,K]),(0,n.useEffect)(()=>{let e=()=>G(!1);return window.addEventListener("blur",e),window.addEventListener("resize",e),()=>{window.removeEventListener("blur",e),window.removeEventListener("resize",e)}},[G]);let[q,Y]=eP(e=>{let t=z().filter(e=>!e.disabled),r=t.find(e=>e.ref.current===document.activeElement),n=eR(t,e,r);n&&setTimeout(()=>n.ref.current.focus())}),Z=(0,n.useCallback)((e,t,r)=>{let n=!B.current&&!r;(void 0!==T.value&&T.value===t||n)&&(L(e),n&&(B.current=!0))},[T.value]),et=(0,n.useCallback)(()=>E?.focus(),[E]),er=(0,n.useCallback)((e,t,r)=>{let n=!B.current&&!r;(void 0!==T.value&&T.value===t||n)&&$(e)},[T.value]),en="popper"===s?ee:Q,es=en===ee?{side:d,sideOffset:h,align:f,alignOffset:x,arrowPadding:g,collisionBoundary:v,collisionPadding:y,sticky:b,hideWhenDetached:j,avoidCollisions:w}:{};return(0,C.jsx)(J,{scope:r,content:E,viewport:R,onViewportChange:O,itemRefCallback:Z,selectedItem:_,onItemLeave:et,itemTextRefCallback:er,focusSelectedItem:V,selectedItemText:D,position:s,isPositioned:H,searchRef:q,children:(0,C.jsx)(k.RemoveScroll,{as:X,allowPinchZoom:!0,children:(0,C.jsx)(p.FocusScope,{asChild:!0,trapped:T.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:(0,o.composeEventHandlers)(a,e=>{T.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:(0,C.jsx)(u.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:i,onPointerDownOutside:c,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>T.onOpenChange(!1),children:(0,C.jsx)(en,{role:"listbox",id:T.contentId,"data-state":T.open?"open":"closed",dir:T.dir,onContextMenu:e=>e.preventDefault(),...N,...es,onPlaced:()=>F(!0),ref:M,style:{display:"flex",flexDirection:"column",outline:"none",...N.style},onKeyDown:(0,o.composeEventHandlers)(N.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if("Tab"===e.key&&e.preventDefault(),t||1!==e.key.length||Y(e.key),["ArrowUp","ArrowDown","Home","End"].includes(e.key)){let t=z().filter(e=>!e.disabled).map(e=>e.ref.current);if(["ArrowUp","End"].includes(e.key)&&(t=t.slice().reverse()),["ArrowUp","ArrowDown"].includes(e.key)){let r=e.target,n=t.indexOf(r);t=t.slice(n+1)}setTimeout(()=>U(t)),e.preventDefault()}})})})})})})});Z.displayName="SelectContentImpl";var Q=(0,n.forwardRef)((e,t)=>{let{__scopeSelect:r,onPlaced:s,...o}=e,i=A(W,r),c=Y(W,r),[d,u]=(0,n.useState)(null),[m,p]=(0,n.useState)(null),h=(0,l.useComposedRefs)(t,e=>p(e)),f=I(r),x=(0,n.useRef)(!1),v=(0,n.useRef)(!0),{viewport:y,selectedItem:b,selectedItemText:w,focusSelectedItem:N}=c,S=(0,n.useCallback)(()=>{if(i.trigger&&i.valueNode&&d&&m&&y&&b&&w){let e=i.trigger.getBoundingClientRect(),t=m.getBoundingClientRect(),r=i.valueNode.getBoundingClientRect(),n=w.getBoundingClientRect();if("rtl"!==i.dir){let s=n.left-t.left,o=r.left-s,i=e.left-o,l=e.width+i,c=Math.max(l,t.width),u=window.innerWidth-10,m=(0,a.clamp)(o,[10,Math.max(10,u-c)]);d.style.minWidth=l+"px",d.style.left=m+"px"}else{let s=t.right-n.right,o=window.innerWidth-r.right-s,i=window.innerWidth-e.right-o,l=e.width+i,c=Math.max(l,t.width),u=window.innerWidth-10,m=(0,a.clamp)(o,[10,Math.max(10,u-c)]);d.style.minWidth=l+"px",d.style.right=m+"px"}let o=f(),l=window.innerHeight-20,c=y.scrollHeight,u=window.getComputedStyle(m),p=parseInt(u.borderTopWidth,10),h=parseInt(u.paddingTop,10),g=parseInt(u.borderBottomWidth,10),v=p+h+c+parseInt(u.paddingBottom,10)+g,j=Math.min(5*b.offsetHeight,v),N=window.getComputedStyle(y),S=parseInt(N.paddingTop,10),k=parseInt(N.paddingBottom,10),C=e.top+e.height/2-10,T=b.offsetHeight/2,E=p+h+(b.offsetTop+T);if(E<=C){let e=o.length>0&&b===o[o.length-1].ref.current;d.style.bottom="0px";let t=Math.max(l-C,T+(e?k:0)+(m.clientHeight-y.offsetTop-y.offsetHeight)+g);d.style.height=E+t+"px"}else{let e=o.length>0&&b===o[0].ref.current;d.style.top="0px";let t=Math.max(C,p+y.offsetTop+(e?S:0)+T);d.style.height=t+(v-E)+"px",y.scrollTop=E-C+y.offsetTop}d.style.margin="10px 0",d.style.minHeight=j+"px",d.style.maxHeight=l+"px",s?.(),requestAnimationFrame(()=>x.current=!0)}},[f,i.trigger,i.valueNode,d,m,y,b,w,i.dir,s]);(0,j.useLayoutEffect)(()=>S(),[S]);let[k,T]=(0,n.useState)();(0,j.useLayoutEffect)(()=>{m&&T(window.getComputedStyle(m).zIndex)},[m]);let E=(0,n.useCallback)(e=>{e&&!0===v.current&&(S(),N?.(),v.current=!1)},[S,N]);return(0,C.jsx)(et,{scope:r,contentWrapper:d,shouldExpandOnScrollRef:x,onScrollButtonChange:E,children:(0,C.jsx)("div",{ref:u,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:k},children:(0,C.jsx)(g.Primitive.div,{...o,ref:h,style:{boxSizing:"border-box",maxHeight:"100%",...o.style}})})})});Q.displayName="SelectItemAlignedPosition";var ee=(0,n.forwardRef)((e,t)=>{let{__scopeSelect:r,align:n="start",collisionPadding:s=10,...a}=e,o=L(r);return(0,C.jsx)(f.Content,{...o,...a,ref:t,align:n,collisionPadding:s,style:{boxSizing:"border-box",...a.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});ee.displayName="SelectPopperPosition";var[et,er]=M(W,{}),en="SelectViewport",es=(0,n.forwardRef)((e,t)=>{let{__scopeSelect:r,nonce:s,...a}=e,i=Y(en,r),c=er(en,r),d=(0,l.useComposedRefs)(t,i.onViewportChange),u=(0,n.useRef)(0);return(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:s}),(0,C.jsx)(R.Slot,{scope:r,children:(0,C.jsx)(g.Primitive.div,{"data-radix-select-viewport":"",role:"presentation",...a,ref:d,style:{position:"relative",flex:1,overflow:"hidden auto",...a.style},onScroll:(0,o.composeEventHandlers)(a.onScroll,e=>{let t=e.currentTarget,{contentWrapper:r,shouldExpandOnScrollRef:n}=c;if(n?.current&&r){let e=Math.abs(u.current-t.scrollTop);if(e>0){let n=window.innerHeight-20,s=Math.max(parseFloat(r.style.minHeight),parseFloat(r.style.height));if(s<n){let a=s+e,o=Math.min(n,a),i=a-o;r.style.height=o+"px","0px"===r.style.bottom&&(t.scrollTop=i>0?i:0,r.style.justifyContent="flex-end")}}}u.current=t.scrollTop})})})]})});es.displayName=en;var ea="SelectGroup",[eo,ei]=M(ea),el=(0,n.forwardRef)((e,t)=>{let{__scopeSelect:r,...n}=e,s=(0,h.useId)();return(0,C.jsx)(eo,{scope:r,id:s,children:(0,C.jsx)(g.Primitive.div,{role:"group","aria-labelledby":s,...n,ref:t})})});el.displayName=ea;var ec="SelectLabel",ed=(0,n.forwardRef)((e,t)=>{let{__scopeSelect:r,...n}=e,s=ei(ec,r);return(0,C.jsx)(g.Primitive.div,{id:s.id,...n,ref:t})});ed.displayName=ec;var eu="SelectItem",[em,ep]=M(eu),eh=(0,n.forwardRef)((e,t)=>{let{__scopeSelect:r,value:s,disabled:a=!1,textValue:i,...c}=e,d=A(eu,r),u=Y(eu,r),m=d.value===s,[p,f]=(0,n.useState)(i??""),[x,v]=(0,n.useState)(!1),y=(0,l.useComposedRefs)(t,e=>u.itemRefCallback?.(e,s,a)),b=(0,h.useId)(),j=(0,n.useRef)("touch"),w=()=>{a||(d.onValueChange(s),d.onOpenChange(!1))};if(""===s)throw Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return(0,C.jsx)(em,{scope:r,value:s,disabled:a,textId:b,isSelected:m,onItemTextChange:(0,n.useCallback)(e=>{f(t=>t||(e?.textContent??"").trim())},[]),children:(0,C.jsx)(R.ItemSlot,{scope:r,value:s,disabled:a,textValue:p,children:(0,C.jsx)(g.Primitive.div,{role:"option","aria-labelledby":b,"data-highlighted":x?"":void 0,"aria-selected":m&&x,"data-state":m?"checked":"unchecked","aria-disabled":a||void 0,"data-disabled":a?"":void 0,tabIndex:a?void 0:-1,...c,ref:y,onFocus:(0,o.composeEventHandlers)(c.onFocus,()=>v(!0)),onBlur:(0,o.composeEventHandlers)(c.onBlur,()=>v(!1)),onClick:(0,o.composeEventHandlers)(c.onClick,()=>{"mouse"!==j.current&&w()}),onPointerUp:(0,o.composeEventHandlers)(c.onPointerUp,()=>{"mouse"===j.current&&w()}),onPointerDown:(0,o.composeEventHandlers)(c.onPointerDown,e=>{j.current=e.pointerType}),onPointerMove:(0,o.composeEventHandlers)(c.onPointerMove,e=>{j.current=e.pointerType,a?u.onItemLeave?.():"mouse"===j.current&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:(0,o.composeEventHandlers)(c.onPointerLeave,e=>{e.currentTarget===document.activeElement&&u.onItemLeave?.()}),onKeyDown:(0,o.composeEventHandlers)(c.onKeyDown,e=>{(u.searchRef?.current===""||" "!==e.key)&&(E.includes(e.key)&&w()," "===e.key&&e.preventDefault())})})})})});eh.displayName=eu;var ef="SelectItemText",ex=(0,n.forwardRef)((e,t)=>{let{__scopeSelect:r,className:a,style:o,...i}=e,c=A(ef,r),d=Y(ef,r),u=ep(ef,r),m=z(ef,r),[p,h]=(0,n.useState)(null),f=(0,l.useComposedRefs)(t,e=>h(e),u.onItemTextChange,e=>d.itemTextRefCallback?.(e,u.value,u.disabled)),x=p?.textContent,v=(0,n.useMemo)(()=>(0,C.jsx)("option",{value:u.value,disabled:u.disabled,children:x},u.value),[u.disabled,u.value,x]),{onNativeOptionAdd:y,onNativeOptionRemove:b}=m;return(0,j.useLayoutEffect)(()=>(y(v),()=>b(v)),[y,b,v]),(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(g.Primitive.span,{id:u.textId,...i,ref:f}),u.isSelected&&c.valueNode&&!c.valueNodeHasChildren?(0,s.createPortal)(i.children,c.valueNode):null]})});ex.displayName=ef;var eg="SelectItemIndicator",ev=(0,n.forwardRef)((e,t)=>{let{__scopeSelect:r,...n}=e;return ep(eg,r).isSelected?(0,C.jsx)(g.Primitive.span,{"aria-hidden":!0,...n,ref:t}):null});ev.displayName=eg;var ey="SelectScrollUpButton",eb=(0,n.forwardRef)((e,t)=>{let r=Y(ey,e.__scopeSelect),s=er(ey,e.__scopeSelect),[a,o]=(0,n.useState)(!1),i=(0,l.useComposedRefs)(t,s.onScrollButtonChange);return(0,j.useLayoutEffect)(()=>{if(r.viewport&&r.isPositioned){let e=function(){o(t.scrollTop>0)},t=r.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}},[r.viewport,r.isPositioned]),a?(0,C.jsx)(eN,{...e,ref:i,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=r;e&&t&&(e.scrollTop=e.scrollTop-t.offsetHeight)}}):null});eb.displayName=ey;var ej="SelectScrollDownButton",ew=(0,n.forwardRef)((e,t)=>{let r=Y(ej,e.__scopeSelect),s=er(ej,e.__scopeSelect),[a,o]=(0,n.useState)(!1),i=(0,l.useComposedRefs)(t,s.onScrollButtonChange);return(0,j.useLayoutEffect)(()=>{if(r.viewport&&r.isPositioned){let e=function(){let e=t.scrollHeight-t.clientHeight;o(Math.ceil(t.scrollTop)<e)},t=r.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}},[r.viewport,r.isPositioned]),a?(0,C.jsx)(eN,{...e,ref:i,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=r;e&&t&&(e.scrollTop=e.scrollTop+t.offsetHeight)}}):null});ew.displayName=ej;var eN=(0,n.forwardRef)((e,t)=>{let{__scopeSelect:r,onAutoScroll:s,...a}=e,i=Y("SelectScrollButton",r),l=(0,n.useRef)(null),c=I(r),d=(0,n.useCallback)(()=>{null!==l.current&&(window.clearInterval(l.current),l.current=null)},[]);return(0,n.useEffect)(()=>()=>d(),[d]),(0,j.useLayoutEffect)(()=>{let e=c().find(e=>e.ref.current===document.activeElement);e?.ref.current?.scrollIntoView({block:"nearest"})},[c]),(0,C.jsx)(g.Primitive.div,{"aria-hidden":!0,...a,ref:t,style:{flexShrink:0,...a.style},onPointerDown:(0,o.composeEventHandlers)(a.onPointerDown,()=>{null===l.current&&(l.current=window.setInterval(s,50))}),onPointerMove:(0,o.composeEventHandlers)(a.onPointerMove,()=>{i.onItemLeave?.(),null===l.current&&(l.current=window.setInterval(s,50))}),onPointerLeave:(0,o.composeEventHandlers)(a.onPointerLeave,()=>{d()})})}),eS=(0,n.forwardRef)((e,t)=>{let{__scopeSelect:r,...n}=e;return(0,C.jsx)(g.Primitive.div,{"aria-hidden":!0,...n,ref:t})});eS.displayName="SelectSeparator";var ek="SelectArrow",eC=(0,n.forwardRef)((e,t)=>{let{__scopeSelect:r,...n}=e,s=L(r),a=A(ek,r),o=Y(ek,r);return a.open&&"popper"===o.position?(0,C.jsx)(f.Arrow,{...s,...n,ref:t}):null});eC.displayName=ek;var eT=(0,n.forwardRef)(({__scopeSelect:e,value:t,...r},s)=>{let a=(0,n.useRef)(null),o=(0,l.useComposedRefs)(s,a),i=(0,w.usePrevious)(t);return(0,n.useEffect)(()=>{let e=a.current;if(!e)return;let r=Object.getOwnPropertyDescriptor(window.HTMLSelectElement.prototype,"value").set;if(i!==t&&r){let n=new Event("change",{bubbles:!0});r.call(e,t),e.dispatchEvent(n)}},[i,t]),(0,C.jsx)(g.Primitive.select,{...r,style:{...N.VISUALLY_HIDDEN_STYLES,...r.style},ref:o,defaultValue:t})});function eE(e){return""===e||void 0===e}function eP(e){let t=(0,y.useCallbackRef)(e),r=(0,n.useRef)(""),s=(0,n.useRef)(0),a=(0,n.useCallback)(e=>{let n=r.current+e;t(n),function e(t){r.current=t,window.clearTimeout(s.current),""!==t&&(s.current=window.setTimeout(()=>e(""),1e3))}(n)},[t]),o=(0,n.useCallback)(()=>{r.current="",window.clearTimeout(s.current)},[]);return(0,n.useEffect)(()=>()=>window.clearTimeout(s.current),[]),[r,a,o]}function eR(e,t,r){var n,s;let a=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,o=r?e.indexOf(r):-1,i=(n=e,s=Math.max(o,0),n.map((e,t)=>n[(s+t)%n.length]));1===a.length&&(i=i.filter(e=>e!==r));let l=i.find(e=>e.textValue.toLowerCase().startsWith(a.toLowerCase()));return l!==r?l:void 0}eT.displayName="SelectBubbleInput";var eI=H,eO=B,eM=V,e_=G,eL=K,eD=q,eA=es,e$=el,ez=ed,eH=eh,eF=ex,eB=ev,eU=eb,eV=ew,eG=eS,eK=eC},68080:e=>{"use strict";var{g:t,__dirname:r}=e;{e.s({__iconNode:()=>t,default:()=>r});var n=e.i(49770);let t=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],r=(0,n.default)("chevron-up",t)}},9927:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({ChevronUpIcon:()=>n.default});var n=e.i(68080)},40989:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({Select:()=>c,SelectContent:()=>p,SelectGroup:()=>d,SelectItem:()=>f,SelectLabel:()=>h,SelectScrollDownButton:()=>v,SelectScrollUpButton:()=>g,SelectSeparator:()=>x,SelectTrigger:()=>m,SelectValue:()=>u});var n=e.i(20393),s=e.i(1990),a=e.i(31110),o=e.i(20546),i=e.i(9927),l=e.i(39037);function c({...e}){return(0,n.jsx)(s.Root,{"data-slot":"select",...e})}function d({...e}){return(0,n.jsx)(s.Group,{"data-slot":"select-group",...e})}function u({...e}){return(0,n.jsx)(s.Value,{"data-slot":"select-value",...e})}function m({className:e,size:t="default",children:r,...a}){return(0,n.jsxs)(s.Trigger,{"data-slot":"select-trigger","data-size":t,className:(0,l.cn)("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...a,children:[r,(0,n.jsx)(s.Icon,{asChild:!0,children:(0,n.jsx)(o.ChevronDownIcon,{className:"size-4 opacity-50"})})]})}function p({className:e,children:t,position:r="popper",...a}){return(0,n.jsx)(s.Portal,{children:(0,n.jsxs)(s.Content,{"data-slot":"select-content",className:(0,l.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md","popper"===r&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:r,...a,children:[(0,n.jsx)(g,{}),(0,n.jsx)(s.Viewport,{className:(0,l.cn)("p-1","popper"===r&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:t}),(0,n.jsx)(v,{})]})})}function h({className:e,...t}){return(0,n.jsx)(s.Label,{"data-slot":"select-label",className:(0,l.cn)("text-muted-foreground px-2 py-1.5 text-xs",e),...t})}function f({className:e,children:t,...r}){return(0,n.jsxs)(s.Item,{"data-slot":"select-item",className:(0,l.cn)("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none 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),...r,children:[(0,n.jsx)("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,n.jsx)(s.ItemIndicator,{children:(0,n.jsx)(a.CheckIcon,{className:"size-4"})})}),(0,n.jsx)(s.ItemText,{children:t})]})}function x({className:e,...t}){return(0,n.jsx)(s.Separator,{"data-slot":"select-separator",className:(0,l.cn)("bg-border pointer-events-none -mx-1 my-1 h-px",e),...t})}function g({className:e,...t}){return(0,n.jsx)(s.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:(0,l.cn)("flex cursor-default items-center justify-center py-1",e),...t,children:(0,n.jsx)(i.ChevronUpIcon,{className:"size-4"})})}function v({className:e,...t}){return(0,n.jsx)(s.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:(0,l.cn)("flex cursor-default items-center justify-center py-1",e),...t,children:(0,n.jsx)(o.ChevronDownIcon,{className:"size-4"})})}},60994:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({Root:()=>w,Switch:()=>g,SwitchThumb:()=>y,Thumb:()=>N,createSwitchScope:()=>h});var n=e.i(19886),s=e.i(77787),a=e.i(28537),o=e.i(15836),i=e.i(98644),l=e.i(44916),c=e.i(30287),d=e.i(42352),u=e.i(20393),m="Switch",[p,h]=(0,o.createContextScope)(m),[f,x]=p(m),g=(0,n.forwardRef)((e,t)=>{let{__scopeSwitch:r,name:o,checked:l,defaultChecked:c,required:p,disabled:h,value:x="on",onCheckedChange:g,form:v,...y}=e,[w,N]=(0,n.useState)(null),S=(0,a.useComposedRefs)(t,e=>N(e)),k=(0,n.useRef)(!1),C=!w||v||!!w.closest("form"),[T,E]=(0,i.useControllableState)({prop:l,defaultProp:c??!1,onChange:g,caller:m});return(0,u.jsxs)(f,{scope:r,checked:T,disabled:h,children:[(0,u.jsx)(d.Primitive.button,{type:"button",role:"switch","aria-checked":T,"aria-required":p,"data-state":j(T),"data-disabled":h?"":void 0,disabled:h,value:x,...y,ref:S,onClick:(0,s.composeEventHandlers)(e.onClick,e=>{E(e=>!e),C&&(k.current=e.isPropagationStopped(),k.current||e.stopPropagation())})}),C&&(0,u.jsx)(b,{control:w,bubbles:!k.current,name:o,value:x,checked:T,required:p,disabled:h,form:v,style:{transform:"translateX(-100%)"}})]})});g.displayName=m;var v="SwitchThumb",y=(0,n.forwardRef)((e,t)=>{let{__scopeSwitch:r,...n}=e,s=x(v,r);return(0,u.jsx)(d.Primitive.span,{"data-state":j(s.checked),"data-disabled":s.disabled?"":void 0,...n,ref:t})});y.displayName=v;var b=(0,n.forwardRef)(({__scopeSwitch:e,control:t,checked:r,bubbles:s=!0,...o},i)=>{let d=(0,n.useRef)(null),m=(0,a.useComposedRefs)(d,i),p=(0,l.usePrevious)(r),h=(0,c.useSize)(t);return(0,n.useEffect)(()=>{let e=d.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(p!==r&&t){let n=new Event("click",{bubbles:s});t.call(e,r),e.dispatchEvent(n)}},[p,r,s]),(0,u.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:r,...o,tabIndex:-1,ref:m,style:{...o.style,...h,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});function j(e){return e?"checked":"unchecked"}b.displayName="SwitchBubbleInput";var w=g,N=y},46284:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({Switch:()=>o});var n=e.i(20393),s=e.i(60994),a=e.i(39037);function o({className:e,...t}){return(0,n.jsx)(s.Root,{"data-slot":"switch",className:(0,a.cn)("peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",e),...t,children:(0,n.jsx)(s.Thumb,{"data-slot":"switch-thumb",className:(0,a.cn)("bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0")})})}},9385:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({Table:()=>a,TableBody:()=>i,TableCaption:()=>m,TableCell:()=>u,TableFooter:()=>l,TableHead:()=>d,TableHeader:()=>o,TableRow:()=>c});var n=e.i(20393),s=e.i(39037);function a({className:e,...t}){return(0,n.jsx)("div",{"data-slot":"table-container",className:"relative w-full overflow-x-auto",children:(0,n.jsx)("table",{"data-slot":"table",className:(0,s.cn)("w-full caption-bottom text-sm",e),...t})})}function o({className:e,...t}){return(0,n.jsx)("thead",{"data-slot":"table-header",className:(0,s.cn)("[&_tr]:border-b",e),...t})}function i({className:e,...t}){return(0,n.jsx)("tbody",{"data-slot":"table-body",className:(0,s.cn)("[&_tr:last-child]:border-0",e),...t})}function l({className:e,...t}){return(0,n.jsx)("tfoot",{"data-slot":"table-footer",className:(0,s.cn)("bg-muted/50 border-t font-medium [&>tr]:last:border-b-0",e),...t})}function c({className:e,...t}){return(0,n.jsx)("tr",{"data-slot":"table-row",className:(0,s.cn)("hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",e),...t})}function d({className:e,...t}){return(0,n.jsx)("th",{"data-slot":"table-head",className:(0,s.cn)("text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...t})}function u({className:e,...t}){return(0,n.jsx)("td",{"data-slot":"table-cell",className:(0,s.cn)("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...t})}function m({className:e,...t}){return(0,n.jsx)("caption",{"data-slot":"table-caption",className:(0,s.cn)("text-muted-foreground mt-4 text-sm",e),...t})}},78237:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({Checkbox:()=>j,CheckboxIndicator:()=>N,Indicator:()=>N,Root:()=>j,createCheckboxScope:()=>f,unstable_BubbleInput:()=>k,unstable_CheckboxBubbleInput:()=>k,unstable_CheckboxProvider:()=>v,unstable_CheckboxTrigger:()=>b,unstable_Provider:()=>v,unstable_Trigger:()=>b});var n=e.i(19886),s=e.i(28537),a=e.i(15836),o=e.i(92391),i=e.i(98644),l=e.i(44916),c=e.i(30287),d=e.i(62585),u=e.i(42352),m=e.i(20393),p="Checkbox",[h,f]=(0,a.createContextScope)(p),[x,g]=h(p);function v(e){let{__scopeCheckbox:t,checked:r,children:s,defaultChecked:a,disabled:o,form:l,name:c,onCheckedChange:d,required:u,value:h="on",internal_do_not_use_render:f}=e,[g,v]=(0,i.useControllableState)({prop:r,defaultProp:a??!1,onChange:d,caller:p}),[y,b]=(0,n.useState)(null),[j,w]=(0,n.useState)(null),N=(0,n.useRef)(!1),S=!y||!!l||!!y.closest("form"),k={checked:g,disabled:o,setChecked:v,control:y,setControl:b,name:c,form:l,value:h,hasConsumerStoppedPropagationRef:N,required:u,defaultChecked:!C(a)&&a,isFormControl:S,bubbleInput:j,setBubbleInput:w};return(0,m.jsx)(x,{scope:t,...k,children:"function"==typeof f?f(k):s})}var y="CheckboxTrigger",b=(0,n.forwardRef)(({__scopeCheckbox:e,onKeyDown:t,onClick:r,...a},i)=>{let{control:l,value:c,disabled:d,checked:p,required:h,setControl:f,setChecked:x,hasConsumerStoppedPropagationRef:v,isFormControl:b,bubbleInput:j}=g(y,e),w=(0,s.useComposedRefs)(i,f),N=(0,n.useRef)(p);return(0,n.useEffect)(()=>{let e=l?.form;if(e){let t=()=>x(N.current);return e.addEventListener("reset",t),()=>e.removeEventListener("reset",t)}},[l,x]),(0,m.jsx)(u.Primitive.button,{type:"button",role:"checkbox","aria-checked":C(p)?"mixed":p,"aria-required":h,"data-state":T(p),"data-disabled":d?"":void 0,disabled:d,value:c,...a,ref:w,onKeyDown:(0,o.composeEventHandlers)(t,e=>{"Enter"===e.key&&e.preventDefault()}),onClick:(0,o.composeEventHandlers)(r,e=>{x(e=>!!C(e)||!e),j&&b&&(v.current=e.isPropagationStopped(),v.current||e.stopPropagation())})})});b.displayName=y;var j=(0,n.forwardRef)((e,t)=>{let{__scopeCheckbox:r,name:n,checked:s,defaultChecked:a,required:o,disabled:i,value:l,onCheckedChange:c,form:d,...u}=e;return(0,m.jsx)(v,{__scopeCheckbox:r,checked:s,defaultChecked:a,disabled:i,required:o,onCheckedChange:c,name:n,form:d,value:l,internal_do_not_use_render:({isFormControl:e})=>(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(b,{...u,ref:t,__scopeCheckbox:r}),e&&(0,m.jsx)(k,{__scopeCheckbox:r})]})})});j.displayName=p;var w="CheckboxIndicator",N=(0,n.forwardRef)((e,t)=>{let{__scopeCheckbox:r,forceMount:n,...s}=e,a=g(w,r);return(0,m.jsx)(d.Presence,{present:n||C(a.checked)||!0===a.checked,children:(0,m.jsx)(u.Primitive.span,{"data-state":T(a.checked),"data-disabled":a.disabled?"":void 0,...s,ref:t,style:{pointerEvents:"none",...e.style}})})});N.displayName=w;var S="CheckboxBubbleInput",k=(0,n.forwardRef)(({__scopeCheckbox:e,...t},r)=>{let{control:a,hasConsumerStoppedPropagationRef:o,checked:i,defaultChecked:d,required:p,disabled:h,name:f,value:x,form:v,bubbleInput:y,setBubbleInput:b}=g(S,e),j=(0,s.useComposedRefs)(r,b),w=(0,l.usePrevious)(i),N=(0,c.useSize)(a);(0,n.useEffect)(()=>{if(!y)return;let e=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,t=!o.current;if(w!==i&&e){let r=new Event("click",{bubbles:t});y.indeterminate=C(i),e.call(y,!C(i)&&i),y.dispatchEvent(r)}},[y,w,i,o]);let k=(0,n.useRef)(!C(i)&&i);return(0,m.jsx)(u.Primitive.input,{type:"checkbox","aria-hidden":!0,defaultChecked:d??k.current,required:p,disabled:h,name:f,value:x,form:v,...t,tabIndex:-1,ref:j,style:{...t.style,...N,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function C(e){return"indeterminate"===e}function T(e){return C(e)?"indeterminate":e?"checked":"unchecked"}k.displayName=S},46456:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({Check:()=>n.default});var n=e.i(64412)},42736:e=>{"use strict";var{g:t,__dirname:r}=e;{e.s({Checkbox:()=>t});var n=e.i(20393),s=e.i(19886),a=e.i(78237),o=e.i(46456),i=e.i(39037);let t=(0,s.forwardRef)(({className:e,...t},r)=>(0,n.jsx)(a.Root,{ref:r,className:(0,i.cn)("peer h-4 w-4 shrink-0 rounded-sm border border-gray-300 ring-offset-white focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-950 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-gray-900 data-[state=checked]:text-white dark:border-gray-800 dark:ring-offset-gray-950 dark:focus-visible:ring-gray-300 dark:data-[state=checked]:bg-gray-50 dark:data-[state=checked]:text-gray-900",e),...t,children:(0,n.jsx)(a.Indicator,{className:(0,i.cn)("flex items-center justify-center text-current"),children:(0,n.jsx)(o.Check,{className:"h-4 w-4"})})}));t.displayName=a.Root.displayName}},95113:e=>{"use strict";var{g:t,__dirname:r}=e;function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function s(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function a(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?s(Object(r),!0).forEach(function(t){n(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):s(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function o(e,t){if(null==e)return{};var r,n,s={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(s[r]=e[r]);return s}function i(e,t){if(null==e)return{};var r,n,s=o(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(s[r]=e[r])}return s}function l(e,t){return c(e)||d(e,t)||u(e,t)||p()}function c(e){if(Array.isArray(e))return e}function d(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var r=[],n=!0,s=!1,a=void 0;try{for(var o,i=e[Symbol.iterator]();!(n=(o=i.next()).done)&&(r.push(o.value),!t||r.length!==t);n=!0);}catch(e){s=!0,a=e}finally{try{n||null==i.return||i.return()}finally{if(s)throw a}}return r}}function u(e,t){if(e){if("string"==typeof e)return m(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return m(e,t)}}function m(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function p(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}e.s({arrayLikeToArray:()=>m,arrayWithHoles:()=>c,defineProperty:()=>n,iterableToArrayLimit:()=>d,nonIterableRest:()=>p,objectSpread2:()=>a,objectWithoutProperties:()=>i,objectWithoutPropertiesLoose:()=>o,slicedToArray:()=>l,unsupportedIterableToArray:()=>u})},85767:e=>{"use strict";var{g:t,__dirname:r}=e;{function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function s(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?n(Object(r),!0).forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):n(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function a(e){return function t(){for(var r=this,n=arguments.length,s=Array(n),a=0;a<n;a++)s[a]=arguments[a];return s.length>=e.length?e.apply(this,s):function(){for(var e=arguments.length,n=Array(e),a=0;a<e;a++)n[a]=arguments[a];return t.apply(r,[].concat(s,n))}}}function o(e){return({}).toString.call(e).includes("Object")}function i(e){return"function"==typeof e}e.s({default:()=>t});var l=a(function(e,t){throw Error(e[t]||e.default)})({initialIsRequired:"initial state is required",initialType:"initial state should be an object",initialContent:"initial state shouldn't be an empty object",handlerType:"handler should be an object or a function",handlersType:"all handlers should be a functions",selectorType:"selector should be a function",changeType:"provided value of changes should be an object",changeField:'it seams you want to change a field in the state which is not specified in the "initial" state',default:"an unknown error accured in `state-local` package"}),c={changes:function(e,t){return o(t)||l("changeType"),Object.keys(t).some(function(t){return!Object.prototype.hasOwnProperty.call(e,t)})&&l("changeField"),t},selector:function(e){i(e)||l("selectorType")},handler:function(e){i(e)||o(e)||l("handlerType"),o(e)&&Object.values(e).some(function(e){return!i(e)})&&l("handlersType")},initial:function(e){e||l("initialIsRequired"),o(e)||l("initialType"),Object.keys(e).length||l("initialContent")}};function d(e,t){return i(t)?t(e.current):t}function u(e,t){return e.current=s(s({},e.current),t),t}function m(e,t,r){return i(t)?t(e.current):Object.keys(r).forEach(function(r){var n;return null==(n=t[r])?void 0:n.call(t,e.current[r])}),r}let t={create:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};c.initial(e),c.handler(t);var r={current:e},n=a(m)(r,t),s=a(u)(r),o=a(c.changes)(e),i=a(d)(r);return[function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(e){return e};return c.selector(e),e(r.current)},function(e){(function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return function(e){return t.reduceRight(function(e,t){return t(e)},e)}})(n,s,o,i)(e)}]}}}},53120:e=>{"use strict";var{g:t,__dirname:r}=e;{e.s({default:()=>t});let t={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.52.2/min/vs"}}}},72460:e=>{"use strict";var{g:t,__dirname:r}=e;{e.s({default:()=>t});let t=function(e){return function t(){for(var r=this,n=arguments.length,s=Array(n),a=0;a<n;a++)s[a]=arguments[a];return s.length>=e.length?e.apply(this,s):function(){for(var e=arguments.length,n=Array(e),a=0;a<e;a++)n[a]=arguments[a];return t.apply(r,[].concat(s,n))}}}}},63839:e=>{"use strict";var{g:t,__dirname:r}=e;{e.s({default:()=>t});let t=function(e){return({}).toString.call(e).includes("Object")}}},93408:e=>{"use strict";var{g:t,__dirname:r}=e;{e.s({default:()=>t,errorHandler:()=>o,errorMessages:()=>a});var n=e.i(72460),s=e.i(63839),a={configIsRequired:"the configuration object is required",configType:"the configuration object should be an object",default:"an unknown error accured in `@monaco-editor/loader` package",deprecation:"Deprecation warning!\n You are using deprecated way of configuration.\n\n Instead of using\n monaco.config({ urls: { monacoBase: '...' } })\n use\n monaco.config({ paths: { vs: '...' } })\n\n For more please check the link https://github.com/suren-atoyan/monaco-loader#config\n "},o=(0,n.default)(function(e,t){throw Error(e[t]||e.default)})(a);let t={config:function(e){return(e||o("configIsRequired"),(0,s.default)(e)||o("configType"),e.urls)?(console.warn(a.deprecation),{paths:{vs:e.urls.monacoBase}}):e}}}},28295:e=>{"use strict";var{g:t,__dirname:r}=e;{e.s({default:()=>t});let t=function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return function(e){return t.reduceRight(function(e,t){return t(e)},e)}}}},13614:e=>{"use strict";var{g:t,__dirname:r}=e;{e.s({default:()=>t});var n=e.i(95113);let t=function e(t,r){return Object.keys(r).forEach(function(n){r[n]instanceof Object&&t[n]&&Object.assign(r[n],e(t[n],r[n]))}),(0,n.objectSpread2)((0,n.objectSpread2)({},t),r)}}},28042:e=>{"use strict";var{g:t,__dirname:r}=e;{e.s({CANCELATION_MESSAGE:()=>n,default:()=>t});var n={type:"cancelation",msg:"operation is manually canceled"};let t=function(e){var t=!1,r=new Promise(function(r,s){e.then(function(e){return t?s(n):r(e)}),e.catch(s)});return r.cancel=function(){return t=!0},r}}},72189:e=>{"use strict";var{g:t,__dirname:r}=e;{e.s({default:()=>t});var n=e.i(95113),s=e.i(85767),a=e.i(53120),o=e.i(93408),i=e.i(28295),l=e.i(13614),c=e.i(28042),d=s.default.create({config:a.default,isInitialized:!1,resolve:null,reject:null,monaco:null}),u=(0,n.slicedToArray)(d,2),m=u[0],p=u[1];function h(e){return document.body.appendChild(e)}function f(e){var t,r,n=m(function(e){return{config:e.config,reject:e.reject}}),s=(t="".concat(n.config.paths.vs,"/loader.js"),r=document.createElement("script"),t&&(r.src=t),r);return s.onload=function(){return e()},s.onerror=n.reject,s}function x(){var e=m(function(e){return{config:e.config,resolve:e.resolve,reject:e.reject}}),t=window.require;t.config(e.config),t(["vs/editor/editor.main"],function(t){g(t),e.resolve(t)},function(t){e.reject(t)})}function g(e){m().monaco||p({monaco:e})}var v=new Promise(function(e,t){return p({resolve:e,reject:t})});let t={config:function(e){var t=o.default.config(e),r=t.monaco,s=(0,n.objectWithoutProperties)(t,["monaco"]);p(function(e){return{config:(0,l.default)(e.config,s),monaco:r}})},init:function(){var e=m(function(e){return{monaco:e.monaco,isInitialized:e.isInitialized,resolve:e.resolve}});if(!e.isInitialized){if(p({isInitialized:!0}),e.monaco)return e.resolve(e.monaco),(0,c.default)(v);if(window.monaco&&window.monaco.editor)return g(window.monaco),e.resolve(window.monaco),(0,c.default)(v);(0,i.default)(h,f)(x)}return(0,c.default)(v)},__getMonacoInstance:function(){return m(function(e){return e.monaco})}}}},25799:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({}),e.i(72189)},30079:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({}),e.i(72189),e.i(25799)},14991:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({DiffEditor:()=>h,Editor:()=>v,default:()=>y,useMonaco:()=>f}),e.i(30079);var n=e.i(19886),s=e.i(72189),a={wrapper:{display:"flex",position:"relative",textAlign:"initial"},fullWidth:{width:"100%"},hide:{display:"none"}},o={container:{display:"flex",height:"100%",width:"100%",justifyContent:"center",alignItems:"center"}},i=function({children:e}){return n.default.createElement("div",{style:o.container},e)},l=(0,n.memo)(function({width:e,height:t,isEditorReady:r,loading:s,_ref:o,className:l,wrapperProps:c}){return n.default.createElement("section",{style:{...a.wrapper,width:e,height:t},...c},!r&&n.default.createElement(i,null,s),n.default.createElement("div",{ref:o,style:{...a.fullWidth,...!r&&a.hide},className:l}))}),c=function(e){(0,n.useEffect)(e,[])},d=function(e,t,r=!0){let s=(0,n.useRef)(!0);(0,n.useEffect)(s.current||!r?()=>{s.current=!1}:e,t)};function u(){}function m(e,t,r,n){var s,a,o,i,l,c;return s=e,a=n,s.editor.getModel(p(s,a))||(o=e,i=t,l=r,c=n,o.editor.createModel(i,l,c?p(o,c):void 0))}function p(e,t){return e.Uri.parse(t)}var h=(0,n.memo)(function({original:e,modified:t,language:r,originalLanguage:a,modifiedLanguage:o,originalModelPath:i,modifiedModelPath:p,keepCurrentOriginalModel:h=!1,keepCurrentModifiedModel:f=!1,theme:x="light",loading:g="Loading...",options:v={},height:y="100%",width:b="100%",className:j,wrapperProps:w={},beforeMount:N=u,onMount:S=u}){let[k,C]=(0,n.useState)(!1),[T,E]=(0,n.useState)(!0),P=(0,n.useRef)(null),R=(0,n.useRef)(null),I=(0,n.useRef)(null),O=(0,n.useRef)(S),M=(0,n.useRef)(N),_=(0,n.useRef)(!1);c(()=>{let e=s.default.init();return e.then(e=>(R.current=e)&&E(!1)).catch(e=>e?.type!=="cancelation"&&console.error("Monaco initialization: error:",e)),()=>{let t;return P.current?(t=P.current?.getModel(),void(h||t?.original?.dispose(),f||t?.modified?.dispose(),P.current?.dispose())):e.cancel()}}),d(()=>{if(P.current&&R.current){let t=P.current.getOriginalEditor(),n=m(R.current,e||"",a||r||"text",i||"");n!==t.getModel()&&t.setModel(n)}},[i],k),d(()=>{if(P.current&&R.current){let e=P.current.getModifiedEditor(),n=m(R.current,t||"",o||r||"text",p||"");n!==e.getModel()&&e.setModel(n)}},[p],k),d(()=>{let e=P.current.getModifiedEditor();e.getOption(R.current.editor.EditorOption.readOnly)?e.setValue(t||""):t!==e.getValue()&&(e.executeEdits("",[{range:e.getModel().getFullModelRange(),text:t||"",forceMoveMarkers:!0}]),e.pushUndoStop())},[t],k),d(()=>{P.current?.getModel()?.original.setValue(e||"")},[e],k),d(()=>{let{original:e,modified:t}=P.current.getModel();R.current.editor.setModelLanguage(e,a||r||"text"),R.current.editor.setModelLanguage(t,o||r||"text")},[r,a,o],k),d(()=>{R.current?.editor.setTheme(x)},[x],k),d(()=>{P.current?.updateOptions(v)},[v],k);let L=(0,n.useCallback)(()=>{if(!R.current)return;M.current(R.current);let n=m(R.current,e||"",a||r||"text",i||""),s=m(R.current,t||"",o||r||"text",p||"");P.current?.setModel({original:n,modified:s})},[r,t,o,e,a,i,p]),D=(0,n.useCallback)(()=>{!_.current&&I.current&&(P.current=R.current.editor.createDiffEditor(I.current,{automaticLayout:!0,...v}),L(),R.current?.editor.setTheme(x),C(!0),_.current=!0)},[v,x,L]);return(0,n.useEffect)(()=>{k&&O.current(P.current,R.current)},[k]),(0,n.useEffect)(()=>{T||k||D()},[T,k,D]),n.default.createElement(l,{width:b,height:y,isEditorReady:k,loading:g,_ref:I,className:j,wrapperProps:w})}),f=function(){let[e,t]=(0,n.useState)(s.default.__getMonacoInstance());return c(()=>{let r;return e||(r=s.default.init()).then(e=>{t(e)}),()=>r?.cancel()}),e},x=function(e){let t=(0,n.useRef)();return(0,n.useEffect)(()=>{t.current=e},[e]),t.current},g=new Map,v=(0,n.memo)(function({defaultValue:e,defaultLanguage:t,defaultPath:r,value:a,language:o,path:i,theme:p="light",line:h,loading:f="Loading...",options:v={},overrideServices:y={},saveViewState:b=!0,keepCurrentModel:j=!1,width:w="100%",height:N="100%",className:S,wrapperProps:k={},beforeMount:C=u,onMount:T=u,onChange:E,onValidate:P=u}){let[R,I]=(0,n.useState)(!1),[O,M]=(0,n.useState)(!0),_=(0,n.useRef)(null),L=(0,n.useRef)(null),D=(0,n.useRef)(null),A=(0,n.useRef)(T),$=(0,n.useRef)(C),z=(0,n.useRef)(),H=(0,n.useRef)(a),F=x(i),B=(0,n.useRef)(!1),U=(0,n.useRef)(!1);c(()=>{let e=s.default.init();return e.then(e=>(_.current=e)&&M(!1)).catch(e=>e?.type!=="cancelation"&&console.error("Monaco initialization: error:",e)),()=>L.current?void(z.current?.dispose(),j?b&&g.set(i,L.current.saveViewState()):L.current.getModel()?.dispose(),L.current.dispose()):e.cancel()}),d(()=>{let n=m(_.current,e||a||"",t||o||"",i||r||"");n!==L.current?.getModel()&&(b&&g.set(F,L.current?.saveViewState()),L.current?.setModel(n),b&&L.current?.restoreViewState(g.get(i)))},[i],R),d(()=>{L.current?.updateOptions(v)},[v],R),d(()=>{L.current&&void 0!==a&&(L.current.getOption(_.current.editor.EditorOption.readOnly)?L.current.setValue(a):a!==L.current.getValue()&&(U.current=!0,L.current.executeEdits("",[{range:L.current.getModel().getFullModelRange(),text:a,forceMoveMarkers:!0}]),L.current.pushUndoStop(),U.current=!1))},[a],R),d(()=>{let e=L.current?.getModel();e&&o&&_.current?.editor.setModelLanguage(e,o)},[o],R),d(()=>{void 0!==h&&L.current?.revealLine(h)},[h],R),d(()=>{_.current?.editor.setTheme(p)},[p],R);let V=(0,n.useCallback)(()=>{if(!(!D.current||!_.current)&&!B.current){$.current(_.current);let n=i||r,s=m(_.current,a||e||"",t||o||"",n||"");L.current=_.current?.editor.create(D.current,{model:s,automaticLayout:!0,...v},y),b&&L.current.restoreViewState(g.get(n)),_.current.editor.setTheme(p),void 0!==h&&L.current.revealLine(h),I(!0),B.current=!0}},[e,t,r,a,o,i,v,y,b,p,h]);return(0,n.useEffect)(()=>{R&&A.current(L.current,_.current)},[R]),(0,n.useEffect)(()=>{O||R||V()},[O,R,V]),H.current=a,(0,n.useEffect)(()=>{R&&E&&(z.current?.dispose(),z.current=L.current?.onDidChangeModelContent(e=>{U.current||E(L.current.getValue(),e)}))},[R,E]),(0,n.useEffect)(()=>{if(R){let e=_.current.editor.onDidChangeMarkers(e=>{let t=L.current.getModel()?.uri;if(t&&e.find(e=>e.path===t.path)){let e=_.current.editor.getModelMarkers({resource:t});P?.(e)}});return()=>{e?.dispose()}}return()=>{}},[R,P]),n.default.createElement(l,{width:w,height:N,isEditorReady:R,loading:f,_ref:D,className:S,wrapperProps:k})}),y=v},94087:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({}),e.i(30079),e.i(19886),e.i(14991)},20561:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({default:()=>l});var n=e.i(20393),s=e.i(19886),a=e.i(9385),o=e.i(70599),i=e.i(86871);function l({className:e,currentProjectName:t,currentEnvName:r}){let[l,c]=(0,s.useState)([]),[d,u]=(0,s.useState)(!0),[m,p]=(0,s.useState)(null),[h,f]=(0,s.useState)(new Set),[x,g]=(0,s.useState)(""),[v,y]=(0,s.useState)(!1),[b,j]=(0,s.useState)(""),[w,N]=(0,s.useState)(!1),[S,k]=(0,s.useState)(null),C=(0,s.useRef)(null);(0,s.useEffect)(()=>{if(l.length>0){let e=l.find(e=>e.projectName===t&&e.envName===r);if(e&&e.subApps.length>0){let t=new Set;e.subApps.forEach(e=>{l.forEach(r=>{r.envName===e&&t.add(I(r))})}),f(t)}}},[l,t,r]);let T=async()=>{u(!0),p(null);try{let e=await fetch("/api/all-projects-envs"),t=await e.json();t.success?c(t.data):p(t.error||"获取项目环境信息失败")}catch(e){console.error("获取项目环境信息失败:",e),p("获取项目环境信息失败: 网络错误")}finally{u(!1)}};(0,s.useEffect)(()=>(T(),E(),()=>{P()}),[r]);let E=()=>{C.current&&P();let e=`microapp-table-${Date.now()}-${Math.random().toString(36).substr(2,9)}`,t=`/api/microapp-proxy-change-stream?env=${encodeURIComponent(r)}&clientId=${encodeURIComponent(e)}`;console.log(`[SSE] 建立连接到: ${t}`),k(null);try{let e=new EventSource(t);C.current=e,e.onopen=()=>{console.log(`[SSE] 连接已建立,环境: ${r}`),N(!0),k(null)},e.onmessage=e=>{try{let t=JSON.parse(e.data);R(t)}catch(e){console.error("[SSE] 解析消息失败:",e)}},e.onerror=()=>{console.error(`[SSE] 连接错误,环境: ${r}`),N(!1),k("实时推送连接断开"),setTimeout(()=>{C.current&&C.current.readyState!==EventSource.CLOSED||(console.log("[SSE] 尝试重新连接..."),E())},3e3)}}catch(e){console.error("[SSE] 建立连接失败:",e),k("无法建立实时推送连接")}},P=()=>{C.current&&(console.log("[SSE] 关闭连接"),C.current.close(),C.current=null,N(!1))},R=e=>{switch(console.log("[SSE] 收到消息:",e),e.type){case"connection-established":console.log(`[SSE] 连接确认: ${e.message}`),N(!0),k(null);break;case"microapp-proxy-config-change":if(console.log(`[SSE] 配置变化通知: 环境=${e.envName}`),console.log(`[SSE] 变化详情:`,e.changes),e.changes){let{added:t,removed:r}=e.changes,n="";t.length>0&&(n+=`新增: ${t.join(", ")}`),r.length>0&&(n&&(n+="; "),n+=`移除: ${r.join(", ")}`),j(`配置已更新 (${n})`)}else j("配置已更新");T(),setTimeout(()=>j(""),3e3);break;case"heartbeat":N(!0),k(null);break;default:console.log("[SSE] 未知消息类型:",e.type)}},I=e=>`${e.projectName}-${e.envName}`,O=x.trim()?l.filter(e=>e.projectName.toLowerCase().includes(x.toLowerCase())||e.envName.toLowerCase().includes(x.toLowerCase())||e.host.toLowerCase().includes(x.toLowerCase())):l,M=(e,t)=>{let r=new Set(h);t?r.add(e):r.delete(e),f(r)},_=e=>{e?f(new Set(O.map(e=>I(e)))):f(new Set)},L=async()=>{y(!0),j("");try{let e=Array.from(h).map(e=>{let t=l.find(t=>I(t)===e);return t?t.envName:""}).filter(e=>""!==e),n=[...new Set(e)],s=await fetch("/api/microapp-proxy-config",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectName:t,envName:r,selectedItems:n})}),a=await s.json();a.success?(j(a.message||"保存成功"),await T()):j(`保存失败: ${a.error}`)}catch(e){console.error("保存MicroApp代理配置失败:",e),j("保存失败: 网络错误")}finally{y(!1),setTimeout(()=>{j("")},5e3)}},D=h.size,A=O.length>0&&O.every(e=>h.has(I(e))),$=O.some(e=>h.has(I(e)));return d?(0,n.jsxs)("div",{className:`p-6 bg-gray-50 rounded-lg ${e}`,children:[(0,n.jsx)("h4",{className:"text-md font-medium mb-4",children:"MicroApp代理配置"}),(0,n.jsx)("div",{className:"text-center py-8",children:(0,n.jsx)("p",{className:"text-gray-500",children:"加载中..."})})]}):m?(0,n.jsxs)("div",{className:`p-6 bg-gray-50 rounded-lg ${e}`,children:[(0,n.jsx)("h4",{className:"text-md font-medium mb-4",children:"MicroApp代理配置"}),(0,n.jsxs)("div",{className:"text-center py-8",children:[(0,n.jsx)("p",{className:"text-red-500",children:m}),(0,n.jsx)(i.Button,{variant:"outline",size:"sm",onClick:T,className:"mt-2",children:"重试"})]})]}):(0,n.jsxs)("div",{className:`p-6 bg-gray-50 rounded-lg ${e}`,children:[(0,n.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h4",{className:"text-md font-medium",children:"MicroApp代理配置"}),(0,n.jsxs)("p",{className:"text-xs text-gray-500 mt-1",children:["为 ",t," - ",r," 环境配置微应用代理"]})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsxs)("div",{className:"flex items-center gap-1",children:[(0,n.jsx)("div",{className:`w-2 h-2 rounded-full ${w?"bg-green-500":"bg-red-500"}`,title:w?"实时推送已连接":"实时推送断开"}),(0,n.jsx)("span",{className:"text-xs text-gray-500",children:w?"实时":"离线"})]}),(b||S)&&(0,n.jsx)("span",{className:`text-sm max-w-xs ${b&&b.includes("失败")||S?"text-red-600":b&&b.includes("但有")?"text-yellow-600":"text-green-600"}`,title:b||S||"",children:b||S}),(0,n.jsx)(i.Button,{variant:"outline",size:"sm",onClick:T,disabled:v,children:"刷新"}),(0,n.jsx)(i.Button,{variant:"default",size:"sm",onClick:L,disabled:v,children:v?"保存中...":"保存配置"})]})]}),(0,n.jsxs)("div",{className:"space-y-3 mb-4",children:[(0,n.jsx)("div",{className:"flex items-center gap-2",children:(0,n.jsxs)("div",{className:"relative flex-1 max-w-md",children:[(0,n.jsx)(o.Input,{placeholder:"搜索项目名称、环境名称或Host...",value:x,onChange:e=>g(e.target.value),className:"pr-8"}),x&&(0,n.jsx)(i.Button,{variant:"ghost",size:"sm",onClick:()=>{g("")},className:"absolute right-1 top-1/2 transform -translate-y-1/2 h-6 w-6 p-0 hover:bg-gray-100",children:"×"})]})}),(0,n.jsxs)("div",{className:"flex items-center justify-between text-sm text-gray-600",children:[(0,n.jsxs)("div",{className:"flex items-center gap-4",children:[(0,n.jsxs)("span",{children:["显示 ",O.length," 个环境配置",x&&` (搜索: "${x}")`]}),D>0&&(0,n.jsxs)("span",{className:"text-blue-600 font-medium",children:["已选择 ",D," 项"]})]}),D>0&&(0,n.jsx)(i.Button,{variant:"outline",size:"sm",onClick:()=>{f(new Set)},children:"清空选择"})]})]}),O.length>0?(0,n.jsx)("div",{className:"border rounded-md",children:(0,n.jsxs)(a.Table,{children:[(0,n.jsx)(a.TableHeader,{children:(0,n.jsxs)(a.TableRow,{children:[(0,n.jsx)(a.TableHead,{className:"w-12",children:(0,n.jsx)("input",{type:"checkbox",checked:A,onChange:e=>_(e.target.checked),ref:e=>{e&&(e.indeterminate=$&&!A)},className:"rounded border-gray-300"})}),(0,n.jsx)(a.TableHead,{children:"环境名称"}),(0,n.jsx)(a.TableHead,{children:"项目名称"}),(0,n.jsx)(a.TableHead,{children:"Host地址"}),(0,n.jsx)(a.TableHead,{children:"当前代理"})]})}),(0,n.jsx)(a.TableBody,{children:O.map(e=>{let t=I(e),r=h.has(t);return(0,n.jsxs)(a.TableRow,{children:[(0,n.jsx)(a.TableCell,{children:(0,n.jsx)("input",{type:"checkbox",checked:r,onChange:e=>M(t,e.target.checked),className:"rounded border-gray-300"})}),(0,n.jsx)(a.TableCell,{children:(0,n.jsx)("span",{className:"px-2 py-1 rounded text-xs font-medium bg-blue-100 text-blue-800",children:e.envName})}),(0,n.jsx)(a.TableCell,{className:"font-medium",children:e.projectName}),(0,n.jsx)(a.TableCell,{className:"font-mono text-sm",children:e.host}),(0,n.jsxs)(a.TableCell,{className:"text-sm text-gray-600",children:[e.currentProxy,e.proxyEnv[e.currentProxy]&&(0,n.jsx)("div",{className:"text-xs text-gray-500",children:e.proxyEnv[e.currentProxy]})]})]},t)})})]})}):(0,n.jsx)("div",{className:"text-center py-8",children:(0,n.jsx)("p",{className:"text-gray-500",children:x?"没有找到匹配的环境配置":"暂无环境配置"})}),D>0&&(0,n.jsx)("div",{className:"mt-4 p-3 bg-blue-50 rounded-md",children:(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("span",{className:"text-sm text-blue-700",children:["已选择 ",D," 个环境配置将作为微应用代理"]}),(0,n.jsx)("span",{className:"text-xs text-blue-600",children:"点击上方“保存配置”按钮保存设置"})]})})]})}},94334:function(e){var{g:t,__dirname:r,m:n,e:s}=e},51904:function(e){var{g:t,__dirname:r,m:n,e:s}=e,a=e.i(47412);e.r(94334);var o=e.r(19886),i=o&&"object"==typeof o&&"default"in o?o:{default:o},l=void 0!==a.default&&a.default.env&&!0,c=function(e){return"[object String]"===Object.prototype.toString.call(e)},d=function(){function e(e){var t=void 0===e?{}:e,r=t.name,n=void 0===r?"stylesheet":r,s=t.optimizeForSpeed,a=void 0===s?l:s;u(c(n),"`name` must be a string"),this._name=n,this._deletedRulePlaceholder="#"+n+"-deleted-rule____{}",u("boolean"==typeof a,"`optimizeForSpeed` must be a boolean"),this._optimizeForSpeed=a,this._serverSheet=void 0,this._tags=[],this._injected=!1,this._rulesCount=0;var o="undefined"!=typeof window&&document.querySelector('meta[property="csp-nonce"]');this._nonce=o?o.getAttribute("content"):null}var t,r=e.prototype;return r.setOptimizeForSpeed=function(e){u("boolean"==typeof e,"`setOptimizeForSpeed` accepts a boolean"),u(0===this._rulesCount,"optimizeForSpeed cannot be when rules have already been inserted"),this.flush(),this._optimizeForSpeed=e,this.inject()},r.isOptimizeForSpeed=function(){return this._optimizeForSpeed},r.inject=function(){var e=this;if(u(!this._injected,"sheet already injected"),this._injected=!0,"undefined"!=typeof window&&this._optimizeForSpeed){this._tags[0]=this.makeStyleTag(this._name),this._optimizeForSpeed="insertRule"in this.getSheet(),this._optimizeForSpeed||(l||console.warn("StyleSheet: optimizeForSpeed mode not supported falling back to standard mode."),this.flush(),this._injected=!0);return}this._serverSheet={cssRules:[],insertRule:function(t,r){return"number"==typeof r?e._serverSheet.cssRules[r]={cssText:t}:e._serverSheet.cssRules.push({cssText:t}),r},deleteRule:function(t){e._serverSheet.cssRules[t]=null}}},r.getSheetForTag=function(e){if(e.sheet)return e.sheet;for(var t=0;t<document.styleSheets.length;t++)if(document.styleSheets[t].ownerNode===e)return document.styleSheets[t]},r.getSheet=function(){return this.getSheetForTag(this._tags[this._tags.length-1])},r.insertRule=function(e,t){if(u(c(e),"`insertRule` accepts only strings"),"undefined"==typeof window)return"number"!=typeof t&&(t=this._serverSheet.cssRules.length),this._serverSheet.insertRule(e,t),this._rulesCount++;if(this._optimizeForSpeed){var r=this.getSheet();"number"!=typeof t&&(t=r.cssRules.length);try{r.insertRule(e,t)}catch(t){return l||console.warn("StyleSheet: illegal rule: \n\n"+e+"\n\nSee https://stackoverflow.com/q/20007992 for more info"),-1}}else{var n=this._tags[t];this._tags.push(this.makeStyleTag(this._name,e,n))}return this._rulesCount++},r.replaceRule=function(e,t){if(this._optimizeForSpeed||"undefined"==typeof window){var r="undefined"!=typeof window?this.getSheet():this._serverSheet;if(t.trim()||(t=this._deletedRulePlaceholder),!r.cssRules[e])return e;r.deleteRule(e);try{r.insertRule(t,e)}catch(n){l||console.warn("StyleSheet: illegal rule: \n\n"+t+"\n\nSee https://stackoverflow.com/q/20007992 for more info"),r.insertRule(this._deletedRulePlaceholder,e)}}else{var n=this._tags[e];u(n,"old rule at index `"+e+"` not found"),n.textContent=t}return e},r.deleteRule=function(e){if("undefined"==typeof window)return void this._serverSheet.deleteRule(e);if(this._optimizeForSpeed)this.replaceRule(e,"");else{var t=this._tags[e];u(t,"rule at index `"+e+"` not found"),t.parentNode.removeChild(t),this._tags[e]=null}},r.flush=function(){this._injected=!1,this._rulesCount=0,"undefined"!=typeof window?(this._tags.forEach(function(e){return e&&e.parentNode.removeChild(e)}),this._tags=[]):this._serverSheet.cssRules=[]},r.cssRules=function(){var e=this;return"undefined"==typeof window?this._serverSheet.cssRules:this._tags.reduce(function(t,r){return r?t=t.concat(Array.prototype.map.call(e.getSheetForTag(r).cssRules,function(t){return t.cssText===e._deletedRulePlaceholder?null:t})):t.push(null),t},[])},r.makeStyleTag=function(e,t,r){t&&u(c(t),"makeStyleTag accepts only strings as second parameter");var n=document.createElement("style");this._nonce&&n.setAttribute("nonce",this._nonce),n.type="text/css",n.setAttribute("data-"+e,""),t&&n.appendChild(document.createTextNode(t));var s=document.head||document.getElementsByTagName("head")[0];return r?s.insertBefore(n,r):s.appendChild(n),n},t=[{key:"length",get:function(){return this._rulesCount}}],function(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}(e.prototype,t),e}();function u(e,t){if(!e)throw Error("StyleSheet: "+t+".")}var m=function(e){for(var t=5381,r=e.length;r;)t=33*t^e.charCodeAt(--r);return t>>>0},p={};function h(e,t){if(!t)return"jsx-"+e;var r=String(t),n=e+r;return p[n]||(p[n]="jsx-"+m(e+"-"+r)),p[n]}function f(e,t){"undefined"==typeof window&&(t=t.replace(/\/style/gi,"\\/style"));var r=e+t;return p[r]||(p[r]=t.replace(/__jsx-style-dynamic-selector/g,e)),p[r]}var x=function(){function e(e){var t=void 0===e?{}:e,r=t.styleSheet,n=void 0===r?null:r,s=t.optimizeForSpeed,a=void 0!==s&&s;this._sheet=n||new d({name:"styled-jsx",optimizeForSpeed:a}),this._sheet.inject(),n&&"boolean"==typeof a&&(this._sheet.setOptimizeForSpeed(a),this._optimizeForSpeed=this._sheet.isOptimizeForSpeed()),this._fromServer=void 0,this._indices={},this._instancesCounts={}}var t=e.prototype;return t.add=function(e){var t=this;void 0===this._optimizeForSpeed&&(this._optimizeForSpeed=Array.isArray(e.children),this._sheet.setOptimizeForSpeed(this._optimizeForSpeed),this._optimizeForSpeed=this._sheet.isOptimizeForSpeed()),"undefined"==typeof window||this._fromServer||(this._fromServer=this.selectFromServer(),this._instancesCounts=Object.keys(this._fromServer).reduce(function(e,t){return e[t]=0,e},{}));var r=this.getIdAndRules(e),n=r.styleId,s=r.rules;if(n in this._instancesCounts){this._instancesCounts[n]+=1;return}var a=s.map(function(e){return t._sheet.insertRule(e)}).filter(function(e){return -1!==e});this._indices[n]=a,this._instancesCounts[n]=1},t.remove=function(e){var t=this,r=this.getIdAndRules(e).styleId;if(function(e,t){if(!e)throw Error("StyleSheetRegistry: "+t+".")}(r in this._instancesCounts,"styleId: `"+r+"` not found"),this._instancesCounts[r]-=1,this._instancesCounts[r]<1){var n=this._fromServer&&this._fromServer[r];n?(n.parentNode.removeChild(n),delete this._fromServer[r]):(this._indices[r].forEach(function(e){return t._sheet.deleteRule(e)}),delete this._indices[r]),delete this._instancesCounts[r]}},t.update=function(e,t){this.add(t),this.remove(e)},t.flush=function(){this._sheet.flush(),this._sheet.inject(),this._fromServer=void 0,this._indices={},this._instancesCounts={}},t.cssRules=function(){var e=this,t=this._fromServer?Object.keys(this._fromServer).map(function(t){return[t,e._fromServer[t]]}):[],r=this._sheet.cssRules();return t.concat(Object.keys(this._indices).map(function(t){return[t,e._indices[t].map(function(e){return r[e].cssText}).join(e._optimizeForSpeed?"":"\n")]}).filter(function(e){return!!e[1]}))},t.styles=function(e){var t,r;return t=this.cssRules(),void 0===(r=e)&&(r={}),t.map(function(e){var t=e[0],n=e[1];return i.default.createElement("style",{id:"__"+t,key:"__"+t,nonce:r.nonce?r.nonce:void 0,dangerouslySetInnerHTML:{__html:n}})})},t.getIdAndRules=function(e){var t=e.children,r=e.dynamic,n=e.id;if(r){var s=h(n,r);return{styleId:s,rules:Array.isArray(t)?t.map(function(e){return f(s,e)}):[f(s,t)]}}return{styleId:h(n),rules:Array.isArray(t)?t:[t]}},t.selectFromServer=function(){return Array.prototype.slice.call(document.querySelectorAll('[id^="__jsx-"]')).reduce(function(e,t){return e[t.id.slice(2)]=t,e},{})},e}(),g=o.createContext(null);function v(){return new x}function y(){return o.useContext(g)}g.displayName="StyleSheetContext";var b=i.default.useInsertionEffect||i.default.useLayoutEffect,j="undefined"!=typeof window?v():void 0;function w(e){var t=j||y();return t&&("undefined"==typeof window?t.add(e):b(function(){return t.add(e),function(){t.remove(e)}},[e.id,String(e.dynamic)])),null}w.dynamic=function(e){return e.map(function(e){return h(e[0],e[1])}).join(" ")},s.StyleRegistry=function(e){var t=e.registry,r=e.children,n=o.useContext(g),s=o.useState(function(){return n||t||v()})[0];return i.default.createElement(g.Provider,{value:s},r)},s.createStyleRegistry=v,s.style=w,s.useStyleRegistry=y},56591:function(e){var{g:t,__dirname:r,m:n,e:s}=e;n.exports=e.r(51904).style},23619:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({default:()=>o});var n=e.i(20393),s=e.i(56591),a=e.i(19886);function o({logs:e}){let t=(0,a.useRef)(null),r=(0,a.useRef)(!0),o=e=>e.replace(/\x1b\[[0-9;]*m/g,"").replace(/\x1b\[[0-9]*[A-Z]/g,"").replace(/\x1b\[K/g,"").replace(/\x1b\[2K/g,"").replace(/\x1b\[G/g,"").replace(/\x1b\[\d+A/g,"").replace(/\x1b\[\d+B/g,"").replace(/\x1b\[\d+C/g,"").replace(/\x1b\[\d+D/g,"").replace(/\[2K\[1A\[2K\[G/g,"").replace(/\[\d+[A-Z]/g,"").replace(/\[STDOUT\]/g,"[OUT]").replace(/\[STDERR\]/g,"[ERR]"),i=()=>{if(!t.current)return!0;let{scrollTop:e,scrollHeight:r,clientHeight:n}=t.current;return r-e-n<100},l=()=>{t.current&&r.current&&(t.current.scrollTop=t.current.scrollHeight)};return(0,a.useEffect)(()=>{setTimeout(l,10)},[e]),(0,n.jsxs)("div",{ref:t,onScroll:()=>{r.current=i()},style:{scrollBehavior:"smooth",maxHeight:"100%"},className:"jsx-b464fb0f479e34f5 h-full w-full overflow-y-auto overflow-x-hidden p-4 custom-scrollbar",children:[(0,n.jsx)(s.default,{id:"b464fb0f479e34f5",children:".custom-scrollbar.jsx-b464fb0f479e34f5{scrollbar-width:thin;scrollbar-color:#fff3 #0000001a}.custom-scrollbar.jsx-b464fb0f479e34f5::-webkit-scrollbar{width:10px;height:10px}.custom-scrollbar.jsx-b464fb0f479e34f5::-webkit-scrollbar-track{background:#0000001a;border-radius:5px}.custom-scrollbar.jsx-b464fb0f479e34f5::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:5px}.custom-scrollbar.jsx-b464fb0f479e34f5.jsx-b464fb0f479e34f5::-webkit-scrollbar-thumb:hover{background:#fff6}"}),(0,n.jsx)("div",{className:"jsx-b464fb0f479e34f5 space-y-0.5",children:e.length>0?e.map((e,t)=>{let r=o(e);if(!r.trim())return null;let s=e.includes("[STDERR]"),a=e.includes("[SYSTEM]"),i=r.match(/^\[([\d-T:.Z]+)\]/)?.[1],l=r.replace(/^\[[\d-T:.Z]+\]\s*/,"");return(0,n.jsxs)("div",{className:`jsx-b464fb0f479e34f5 font-mono text-xs leading-5 ${s?"text-red-400":a?"text-yellow-400":"text-gray-100"}`,children:[i&&(0,n.jsxs)("span",{className:"jsx-b464fb0f479e34f5 text-gray-500 mr-2",children:["[",new Date(i).toLocaleTimeString("zh-CN"),"]"]}),(0,n.jsx)("span",{className:"jsx-b464fb0f479e34f5 whitespace-pre-wrap break-all",children:l})]},t)}):(0,n.jsx)("div",{className:"jsx-b464fb0f479e34f5 text-center text-gray-500 mt-8",children:"等待日志输出..."})})]})}},40941:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({default:()=>o});var n=e.i(20393),s=e.i(19886),a=e.i(86871);function o({projectName:e,className:t="",compact:r=!1}){let[o,i]=(0,s.useState)(null),[l,c]=(0,s.useState)(!1),[d,u]=(0,s.useState)(null),[m,p]=(0,s.useState)(""),h=(0,s.useCallback)(async()=>{if(e){c(!0),u(null);try{let t=await fetch(`/api/current-branch?project=${encodeURIComponent(e)}`),r=await t.json();r.success?(i(r.data),p(new Date().toLocaleTimeString("zh-CN",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"}))):u(r.error||"获取分支信息失败")}catch(e){u("网络请求失败"),console.error("获取分支信息失败:",e)}finally{c(!1)}}},[e]);(0,s.useEffect)(()=>{h()},[h]),(0,s.useEffect)(()=>{if(!e)return;let t=setInterval(()=>{h()},r?15e3:3e4);return()=>clearInterval(t)},[e,h,r]);let f=e=>0===e?"text-gray-500":"text-orange-600",x=()=>{if(!o)return null;let{ahead:e,behind:t}=o.status;return e>0&&t>0?(0,n.jsx)("span",{className:"text-yellow-500 text-xs",children:"↕"}):e>0?(0,n.jsx)("span",{className:"text-green-500 text-xs",children:"↑"}):t>0?(0,n.jsx)("span",{className:"text-red-500 text-xs",children:"↓"}):(0,n.jsx)("span",{className:"text-gray-400 text-xs",children:"✓"})};return l&&!o?r?(0,n.jsxs)("div",{className:`flex items-center gap-2 px-3 py-1 bg-gray-50 rounded-md ${t}`,children:[(0,n.jsx)("div",{className:"animate-spin w-3 h-3 border-2 border-blue-500 border-t-transparent rounded-full"}),(0,n.jsx)("span",{className:"text-xs text-gray-500",children:"加载中..."})]}):(0,n.jsxs)("div",{className:`bg-white rounded-lg shadow-sm border p-4 ${t}`,children:[(0,n.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,n.jsx)("h3",{className:"text-sm font-semibold text-gray-700",children:"Git 分支信息"}),(0,n.jsx)("div",{className:"animate-spin w-4 h-4 border-2 border-blue-500 border-t-transparent rounded-full"})]}),(0,n.jsx)("div",{className:"text-sm text-gray-500",children:"正在加载分支信息..."})]}):d?r?(0,n.jsxs)("div",{className:`flex items-center gap-2 px-3 py-1 bg-red-50 rounded-md ${t}`,children:[(0,n.jsx)("span",{className:"text-xs text-red-500",children:"分支信息错误"}),(0,n.jsx)(a.Button,{variant:"ghost",size:"sm",onClick:h,disabled:l,className:"h-5 w-5 p-0 text-red-500 hover:bg-red-100",children:"↻"})]}):(0,n.jsxs)("div",{className:`bg-white rounded-lg shadow-sm border p-4 ${t}`,children:[(0,n.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,n.jsx)("h3",{className:"text-sm font-semibold text-gray-700",children:"Git 分支信息"}),(0,n.jsx)(a.Button,{variant:"outline",size:"sm",onClick:h,disabled:l,className:"h-6 px-2 text-xs",children:l?"刷新中...":"重试"})]}),(0,n.jsx)("div",{className:"text-sm text-red-500 bg-red-50 p-2 rounded",children:d})]}):o?r?(0,n.jsxs)("div",{className:`flex items-center gap-2 px-3 py-1 bg-blue-50 border border-blue-200 rounded-md ${t}`,children:[(0,n.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"text-blue-600",children:[(0,n.jsx)("polyline",{points:"6,3 6,15"}),(0,n.jsx)("circle",{cx:"18",cy:"6",r:"3"}),(0,n.jsx)("circle",{cx:"6",cy:"18",r:"3"}),(0,n.jsx)("path",{d:"m18,9a9,9 0 0,1-9,9"})]}),(0,n.jsx)("span",{className:"text-sm font-medium text-blue-800",children:o.currentBranch}),x(),(0,n.jsx)(a.Button,{variant:"ghost",size:"sm",onClick:h,disabled:l,className:"h-5 w-5 p-0 text-blue-600 hover:bg-blue-100",title:"刷新分支信息",children:l?(0,n.jsx)("div",{className:"animate-spin w-3 h-3 border-2 border-blue-600 border-t-transparent rounded-full"}):"↻"})]}):(0,n.jsxs)("div",{className:`bg-white rounded-lg shadow-sm border p-4 ${t}`,children:[(0,n.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,n.jsx)("h3",{className:"text-sm font-semibold text-gray-700",children:"Git 分支信息"}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[m&&(0,n.jsx)("span",{className:"text-xs text-gray-400",children:m}),(0,n.jsx)(a.Button,{variant:"outline",size:"sm",onClick:h,disabled:l,className:"h-6 px-2 text-xs",children:l?"刷新中...":"刷新"})]})]}),(0,n.jsxs)("div",{className:"space-y-3",children:[(0,n.jsx)("div",{className:"flex items-center gap-2",children:(0,n.jsxs)("div",{className:"flex items-center gap-1",children:[(0,n.jsx)("span",{className:"text-xs text-gray-500",children:"分支:"}),(0,n.jsx)("span",{className:"text-sm font-medium text-blue-600 bg-blue-50 px-2 py-1 rounded",children:o.currentBranch}),x()]})}),(0,n.jsxs)("div",{className:"bg-gray-50 p-3 rounded text-xs space-y-1",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("span",{className:"text-gray-500",children:"提交:"}),(0,n.jsx)("code",{className:"bg-gray-200 px-1 rounded font-mono text-xs",children:o.lastCommit.hash})]}),(0,n.jsx)("div",{className:"text-gray-700 font-medium line-clamp-2",children:o.lastCommit.message}),(0,n.jsxs)("div",{className:"flex items-center justify-between text-gray-500",children:[(0,n.jsx)("span",{children:o.lastCommit.author}),(0,n.jsx)("span",{children:o.lastCommit.date})]})]}),(0,n.jsxs)("div",{className:"grid grid-cols-2 gap-2 text-xs",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsx)("span",{className:"text-gray-500",children:"领先:"}),(0,n.jsx)("span",{className:f(o.status.ahead),children:o.status.ahead})]}),(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsx)("span",{className:"text-gray-500",children:"落后:"}),(0,n.jsx)("span",{className:f(o.status.behind),children:o.status.behind})]}),(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsx)("span",{className:"text-gray-500",children:"已修改:"}),(0,n.jsx)("span",{className:f(o.status.modified),children:o.status.modified})]}),(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsx)("span",{className:"text-gray-500",children:"已暂存:"}),(0,n.jsx)("span",{className:f(o.status.staged),children:o.status.staged})]}),(0,n.jsxs)("div",{className:"flex items-center justify-between col-span-2",children:[(0,n.jsx)("span",{className:"text-gray-500",children:"未跟踪:"}),(0,n.jsx)("span",{className:f(o.status.untracked),children:o.status.untracked})]})]}),(o.status.ahead>0||o.status.behind>0)&&(0,n.jsxs)("div",{className:"text-xs p-2 rounded bg-yellow-50 border border-yellow-200",children:[o.status.ahead>0&&o.status.behind>0&&(0,n.jsxs)("span",{className:"text-yellow-700",children:["分支与远程不同步,有 ",o.status.ahead," 个本地提交,",o.status.behind," 个远程提交"]}),o.status.ahead>0&&0===o.status.behind&&(0,n.jsxs)("span",{className:"text-green-700",children:["本地领先远程 ",o.status.ahead," 个提交"]}),0===o.status.ahead&&o.status.behind>0&&(0,n.jsxs)("span",{className:"text-red-700",children:["本地落后远程 ",o.status.behind," 个提交"]})]})]})]}):r?(0,n.jsx)("div",{className:`flex items-center gap-2 px-3 py-1 bg-gray-50 rounded-md ${t}`,children:(0,n.jsx)("span",{className:"text-xs text-gray-500",children:"暂无分支信息"})}):(0,n.jsxs)("div",{className:`bg-white rounded-lg shadow-sm border p-4 ${t}`,children:[(0,n.jsx)("div",{className:"flex items-center justify-between mb-3",children:(0,n.jsx)("h3",{className:"text-sm font-semibold text-gray-700",children:"Git 分支信息"})}),(0,n.jsx)("div",{className:"text-sm text-gray-500",children:"暂无分支信息"})]})}},66445:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({default:()=>w});var n=e.i(20393),s=e.i(19886),a=e.i(42152),o=e.i(86871),i=e.i(75777),l=e.i(72242),c=e.i(40989),d=e.i(70599),u=e.i(80226),m=e.i(46284),p=e.i(9385),h=e.i(19579),f=e.i(42736);e.i(94087);var x=e.i(14991),g=e.i(20561),v=e.i(23619),y=e.i(40941),b=function(e){return e.PENDING="pending",e.EXISTING="existing",e.CLONING="cloning",e.SUCCESS="success",e.FAILED="failed",e.RETRYING="retrying",e}(b||{});function j(){let e=(0,a.useSearchParams)(),t=(0,a.useRouter)(),r=e.get("project"),[b,j]=(0,s.useState)(null),[w,N]=(0,s.useState)(!0),[S,k]=(0,s.useState)(null),[C,T]=(0,s.useState)({}),[E,P]=(0,s.useState)({mockingIntercept:!1,mockOpen:!1}),[R,I]=(0,s.useState)(!1),[O,M]=(0,s.useState)(null),[_,L]=(0,s.useState)(!1),[D,A]=(0,s.useState)(1),[$]=(0,s.useState)(10),[z,H]=(0,s.useState)(""),[F,B]=(0,s.useState)(null),[U,V]=(0,s.useState)(!1),[G,K]=(0,s.useState)(!1),[W,q]=(0,s.useState)(!1),[J,Y]=(0,s.useState)(!0),[X,Z]=(0,s.useState)(null),[Q,ee]=(0,s.useState)([]),[et,er]=(0,s.useState)(!1),[en,es]=(0,s.useState)({}),[ea,eo]=(0,s.useState)(!1),[ei,el]=(0,s.useState)(!1),[ec,ed]=(0,s.useState)({apiPath:"",method:"GET",siteName:"默认场景",mockOpen:!0}),[eu,em]=(0,s.useState)(null),[ep,eh]=(0,s.useState)(!1),[ef,ex]=(0,s.useState)({open:!1,apiName:"",method:"",siteName:""}),[eg,ev]=(0,s.useState)({open:!1,apiName:"",apiPath:""}),[ey,eb]=(0,s.useState)({open:!1,type:"success",message:""}),[ej,ew]=(0,s.useState)(!1),[eN,eS]=(0,s.useState)([]),[ek,eC]=(0,s.useState)(!1),[eT,eE]=(0,s.useState)(""),eP=(0,s.useRef)(null),[eR,eI]=(0,s.useState)({}),[eO,eM]=(0,s.useState)(!1),[e_,eL]=(0,s.useState)(""),[eD,eA]=(0,s.useState)([]),e$=(0,s.useCallback)(async()=>{X&&await eH(X)},[X]),ez=(0,s.useCallback)(async e=>{U&&(e.metaKey||e.ctrlKey)&&"s"===e.key&&(e.preventDefault(),await e$())},[U,e$]);(0,s.useEffect)(()=>{if(U)return document.addEventListener("keydown",ez),()=>{document.removeEventListener("keydown",ez)}},[U,X,ez]);let eH=async e=>{try{await new Promise(e=>setTimeout(e,200));let t=e.getModel();if(t){await e.getAction("editor.action.formatDocument")?.run();let r=t.getValue();if(r&&!r.includes("\n")&&r.length>50){let n=r.replace(/\{\s*/g,"{\n ").replace(/\}\s*/g,"\n}").replace(/;\s*/g,";\n ").replace(/,\s*/g,",\n ").replace(/\n\s*\n/g,"\n").trim();n!==r&&(t.setValue(n),setTimeout(()=>{e.getAction("editor.action.formatDocument")?.run()},100))}}}catch(e){console.log("自动格式化失败:",e)}},eF=()=>{t.push("/initialization")},eB=async()=>{er(!0);try{let e=await fetch("/api/check-workspace"),t=await e.json();if(t.success&&t.projects){let e=t.projects.map(e=>({name:e.name,status:e.status,message:e.message}));ee(e)}else console.error("获取项目列表失败:",t.error),ee([])}catch(e){console.error("获取项目列表失败:",e),ee([])}finally{er(!1)}},eU=(0,s.useCallback)(async()=>{try{let e=await fetch("/api/process/status"),t=await e.json();if(t.success&&Array.isArray(t.data)){let e={};t.data.forEach(t=>{(t.running||t.portInUse)&&(e[t.projectName]=!0)}),es(e)}else es({})}catch(e){console.error("获取运行中项目失败:",e),es({})}},[]),eV=async(e="cursor")=>{if(r){I(!0);try{let t=await fetch("/api/open-project",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectName:r,editor:e})}),n=await t.json();if(n.success&&n.editorUrl){let e=document.createElement("a");e.href=n.editorUrl,e.style.display="none",document.body.appendChild(e),e.click(),document.body.removeChild(e)}else console.error("打开项目失败:",n.error),tm("error",`打开项目失败: ${n.error}`)}catch(e){console.error("打开项目失败:",e),tm("error","打开项目失败: 网络错误")}finally{I(!1)}}},eG=async(e="cursor")=>{if(0===eN.length)return void tm("error","请至少选择一个项目");eC(!0);try{let t=await fetch("/api/workspace/create",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projects:eN,editor:e})}),r=await t.json();r.success?(tm("success",r.message||"工作区已创建"),ew(!1),eS([])):tm("error",`创建工作区失败: ${r.error}`)}catch(e){console.error("创建工作区失败:",e),tm("error","创建工作区失败: 网络错误")}finally{eC(!1)}},eK=e=>{eS(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])};(0,s.useEffect)(()=>{if(!r){k("项目名称缺失"),N(!1);return}(async()=>{try{let e=await fetch(`/api/project-config?project=${encodeURIComponent(r)}`),t=await e.json();if(t.success){j(t.data);let e={};Object.keys(t.data.envs).forEach(r=>{let n=t.data.envs[r],s="";s=n.proxyEnv[n.currentProxy]?n.proxyEnv[n.currentProxy]:n.currentProxy;let a="";a=n.proxyEnv[n.currentProxy]?n.currentProxy:"custom",e[r]={selectedProxy:s||"",selectedOption:a}}),T(e),P({mockingIntercept:t.data.mockingIntercept||!1,mockOpen:t.data.mockOpen||!1})}else k(t.error)}catch(e){k("获取项目配置失败"),console.error("获取项目配置失败:",e)}finally{N(!1)}})()},[r]);let eW=(0,s.useCallback)(async()=>{if(r){L(!0);try{let e=await fetch(`/api/mock-file?project=${encodeURIComponent(r)}`),t=await e.json();t.success?M(t.data):console.error("获取Mock数据失败:",t.error)}catch(e){console.error("获取Mock数据失败:",e)}finally{L(!1)}}},[r]);(0,s.useEffect)(()=>{if(b&&r){let e=null!==eP.current&&eP.current!==r;e&&(eE(""),A(1),M(null)),eP.current=r;let t=Object.keys(b.envs),n=new URLSearchParams(window.location.search).get("tab"),s="";(s=z&&("mock"===z||t.includes(z))?z:n&&("mock"===n||t.includes(n))?n:t.length>0?t[0]:"mock")!==z?(H(s),"mock"===s&&eW()):e&&"mock"===z&&eW()}},[b,r,z,eW]),(0,s.useEffect)(()=>{eB()},[]),(0,s.useEffect)(()=>{eU()},[eU]);let eq=(0,s.useCallback)(async()=>{if(!r||!b)return;let e={};for(let t of Object.keys(b.envs))e[`${t}`]={loading:!0,running:!1};eI(e);let t=Object.keys(b.envs).map(async e=>{try{let t=await fetch(`/api/process/status?projectName=${encodeURIComponent(r)}&envName=${encodeURIComponent(e)}`),n=await t.json();if(n.success&&n.data)return{envName:e,status:n.data}}catch(t){console.error(`获取环境 ${e} 状态失败:`,t)}return{envName:e,status:{running:!1}}}),n=await Promise.all(t),s={};n.forEach(({envName:e,status:t})=>{s[e]={running:t.running||!1,pid:t.pid,startTime:t.startTime,port:t.port,loading:!1}}),eI(s)},[r,b]),eJ=async e=>{if(!r||!b)return;let t=b.envs[e];if(!t.startCommand)return void tm("error","该环境未配置启动命令");eI(t=>({...t,[e]:{...t[e],loading:!0}}));try{let n=await fetch("/api/process/start",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectName:r,envName:e,startCommand:t.startCommand})}),s=await n.json();if(s.success)eI(t=>({...t,[e]:{running:!0,pid:s.data.pid,startTime:s.data.startTime,port:s.data.port,loading:!1}})),es(e=>({...e,[r]:!0}));else throw Error(s.error||"启动失败")}catch(t){console.error("启动进程失败:",t),tm("error",`启动失败: ${t instanceof Error?t.message:"未知错误"}`),eI(t=>({...t,[e]:{...t[e],loading:!1}}))}},eY=async e=>{if(r){eI(t=>({...t,[e]:{...t[e],loading:!0}}));try{let t=await fetch(`/api/process/start?projectName=${encodeURIComponent(r)}&envName=${encodeURIComponent(e)}`,{method:"DELETE"}),n=await t.json();if(n.success)eI(t=>({...t,[e]:{running:!1,loading:!1}})),eU();else throw Error(n.error||"停止失败")}catch(t){console.error("停止进程失败:",t),tm("error",`停止失败: ${t instanceof Error?t.message:"未知错误"}`),eI(t=>({...t,[e]:{...t[e],loading:!1}}))}}},[eX,eZ]=(0,s.useState)(null),eQ=e=>{if(!r)return;eX&&eX.close(),eA([]);let t=new EventSource(`/api/process/logs/stream?projectName=${encodeURIComponent(r)}&envName=${encodeURIComponent(e)}`);t.onmessage=e=>{try{let t=JSON.parse(e.data);"log"===t.type?eA(e=>{let r=[...e,t.content];return r.length>1e3?r.slice(-1e3):r}):"init"===t.type?eA([t.message]):"end"===t.type&&eA(e=>[...e,`[系统] ${t.message}`])}catch(e){console.error("解析日志数据失败:",e)}},t.onerror=e=>{console.error("日志流错误:",e),t.close(),eZ(null)},eZ(t)},e0=()=>{eX&&(eX.close(),eZ(null))},e1=e=>{eL(e),eM(!0),eQ(e)},e2=()=>{eM(!1),eA([]),eL(""),e0()};(0,s.useEffect)(()=>{if(b&&r){eq();let e=setInterval(()=>{eq()},5e3);return()=>clearInterval(e)}},[b,r,eq]);let e4=(e,t)=>{if(!b)return;let r=b.envs[e],n="";n="custom"===t?C[e]?.selectedOption==="custom"?C[e]?.selectedProxy||"":r.proxyEnv.custom||"":r.proxyEnv[t]||"",T(r=>({...r,[e]:{...r[e],selectedProxy:n,selectedOption:t,saveMessage:""}}))},e5=(e,t)=>{T(r=>({...r,[e]:{...r[e],selectedProxy:t,saveMessage:""}}))},e3=async e=>{P(t=>({...t,mockingIntercept:e,saving:!0,saveMessage:""}));try{let t=await fetch("/api/project-config",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectName:r,projectConfig:{mockingIntercept:e,mockOpen:E.mockOpen}})}),n=await t.json();if(n.success)j(t=>t?{...t,mockingIntercept:e}:t),P(e=>({...e,saving:!1,saveMessage:"Mock拦截配置已保存"})),setTimeout(()=>{P(e=>({...e,saveMessage:""}))},2e3);else throw Error(n.error||"保存失败")}catch(t){console.error("保存Mock拦截配置失败:",t),P(r=>({...r,mockingIntercept:!e,saving:!1,saveMessage:`保存失败: ${t instanceof Error?t.message:"未知错误"}`})),setTimeout(()=>{P(e=>({...e,saveMessage:""}))},3e3)}},e6=async e=>{P(t=>({...t,mockOpen:e,saving:!0,saveMessage:""}));try{let t=await fetch("/api/project-config",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectName:r,projectConfig:{mockingIntercept:E.mockingIntercept,mockOpen:e}})}),n=await t.json();if(n.success)j(t=>t?{...t,mockOpen:e}:t),P(e=>({...e,saving:!1,saveMessage:"Mock开启配置已保存"})),setTimeout(()=>{P(e=>({...e,saveMessage:""}))},2e3);else throw Error(n.error||"保存失败")}catch(t){console.error("保存Mock开启配置失败:",t),P(r=>({...r,mockOpen:!e,saving:!1,saveMessage:`保存失败: ${t instanceof Error?t.message:"未知错误"}`})),setTimeout(()=>{P(e=>({...e,saveMessage:""}))},3e3)}},e9=async e=>{if(!b||!r)return;let t=C[e]?.selectedProxy?.trim();if(!t)return void T(t=>({...t,[e]:{...t[e],saveMessage:"请先选择或填写代理地址"}}));let n=C[e]?.selectedOption,s="custom"===n;T(t=>({...t,[e]:{...t[e],saving:!0,saveMessage:""}}));try{let a={projectName:r,envName:e,newProxy:s?"custom":n||""};s&&(a.customProxyUrl=t);let o=await fetch("/api/project-config",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)}),i=await o.json();i.success?(j(r=>{if(!r)return r;let n={...r.envs};return n[e]={...n[e],currentProxy:i.data.currentProxy},"custom"===i.data.currentProxy&&(n[e].proxyEnv={...n[e].proxyEnv,custom:t}),{...r,envs:n}}),T(t=>({...t,[e]:{...t[e],saving:!1,saveMessage:"保存成功"}}))):T(t=>({...t,[e]:{...t[e],saving:!1,saveMessage:`保存失败: ${i.error}`}}))}catch(t){console.error("保存配置失败:",t),T(t=>({...t,[e]:{...t[e],saving:!1,saveMessage:"保存失败: 网络错误"}}))}},e8=async()=>{if(window.confirm("确定要一键关闭所有Mock吗?"))try{let e=await fetch("/api/cleanup-mock",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectName:r})});(await e.json()).success&&await eW()}catch(e){console.error("清空Mock配置失败:",e)}},e7=async()=>{if(window.confirm("确定要一键开启所有Mock吗?"))try{let e=await fetch("/api/open-all-mock",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectName:r})});(await e.json()).success&&await eW()}catch(e){console.error("清空Mock配置失败:",e)}},te=async(e,t,n)=>{if(r)try{let s=await fetch("/api/mock-setting",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectName:r,apiName:e,method:t,currentSite:n})}),a=await s.json();a.success?M(r=>r?{...r,mockFiles:r.mockFiles.map(r=>r.apiName===e?{...r,methods:r.methods.map(e=>e.method===t?{...e,setting:{...e.setting,currentSite:n}}:e)}:r)}:r):(console.error("更新场景失败:",a.error),tm("error",`更新场景失败: ${a.error}`))}catch(e){console.error("更新场景失败:",e),tm("error","更新场景失败: 网络错误")}},tt=async(e,t,n)=>{if(r){K(!0),Y(!0);try{let s=await fetch(`/api/mock-file-content?project=${encodeURIComponent(r)}&apiName=${encodeURIComponent(e)}&method=${encodeURIComponent(t)}&siteName=${encodeURIComponent(n)}`),a=await s.json();a.success?(B({projectName:r,apiName:e,method:t,siteName:n,content:a.data.content}),V(!0)):(console.error("获取文件内容失败:",a.error),tm("error",`获取文件内容失败: ${a.error}`))}catch(e){console.error("获取文件内容失败:",e),tm("error","获取文件内容失败: 网络错误")}finally{K(!1)}}},tr=async()=>{if(F){q(!0);try{let e=await fetch("/api/mock-file-content",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(F)}),t=await e.json();t.success?(V(!1),B(null)):(console.error("保存文件失败:",t.error),tm("error",`保存文件失败: ${t.error}`))}catch(e){console.error("保存文件失败:",e),tm("error","保存文件失败: 网络错误")}finally{q(!1)}}},tn=()=>{V(!1),B(null),Y(!0)},ts=(e,t)=>{"siteName"===e&&ea||ed(r=>({...r,[e]:t}))},ta=(e,t)=>{let r=e.toUpperCase(),n=t.replace(/\//g,"_").replace(/^_/,"");switch(r){case"GET":return`const Mock = require('mockjs');
2
+
3
+ module.exports = Mock.mock({
4
+ "code": 200,
5
+ "message": "获取${n}成功",
6
+ "data": {
7
+ "id|1-100": 1,
8
+ "name": "@cname",
9
+ "email": "@email",
10
+ "phone": /^1[3-9]\\d{9}$/,
11
+ "status|1": ["active", "inactive", "pending"],
12
+ "createTime": "@datetime('yyyy-MM-dd HH:mm:ss')",
13
+ "updateTime": "@now('yyyy-MM-dd HH:mm:ss')",
14
+ "avatar": "@image('200x200', '@color', '@cname')",
15
+ "address": "@county(true)"
16
+ }
17
+ });`;case"POST":return`const Mock = require('mockjs');
18
+
19
+ module.exports = Mock.mock({
20
+ "code": 200,
21
+ "message": "创建${n}成功",
22
+ "data": {
23
+ "id|1-100": 1,
24
+ "result": "success",
25
+ "createTime": "@now('yyyy-MM-dd HH:mm:ss')"
26
+ }
27
+ });`;case"PUT":return`const Mock = require('mockjs');
28
+
29
+ module.exports = Mock.mock({
30
+ "code": 200,
31
+ "message": "更新${n}成功",
32
+ "data": {
33
+ "id|1-100": 1,
34
+ "result": "success",
35
+ "updateTime": "@now('yyyy-MM-dd HH:mm:ss')"
36
+ }
37
+ });`;case"DELETE":return`const Mock = require('mockjs');
38
+
39
+ module.exports = Mock.mock({
40
+ "code": 200,
41
+ "message": "删除${n}成功",
42
+ "data": {
43
+ "result": "success",
44
+ "deleteTime": "@now('yyyy-MM-dd HH:mm:ss')"
45
+ }
46
+ });`;default:return`const Mock = require('mockjs');
47
+
48
+ module.exports = Mock.mock({
49
+ "code": 200,
50
+ "message": "操作成功",
51
+ "data": {
52
+ "id|1-100": 1,
53
+ "timestamp": "@now('yyyy-MM-dd HH:mm:ss')"
54
+ }
55
+ });`}},to=(e,t,r)=>{if(!O)return!1;let n=e.replace(/\//g,"_").replace(/^_/,""),s=O.mockFiles.find(e=>e.apiName===n);if(!s)return!1;let a=s.methods.find(e=>e.method.toLowerCase()===t.toLowerCase());return!!a&&!!a.files.find(e=>e.siteName===r)},ti=async()=>{if(!ec.apiPath.trim())return void tm("error","请输入接口地址");if(to(ec.apiPath,ec.method,ec.siteName))return void tm("error",`接口 ${ec.apiPath} [${ec.method.toUpperCase()}] 的场景 "${ec.siteName}" 已存在,不能重复创建`);eh(!0);try{let e=ec.apiPath.replace(/\//g,"_").replace(/^_/,""),t=F?.content??ta(ec.method,ec.apiPath),n=await fetch("/api/mock-file",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectName:r,apiName:e,method:ec.method.toLowerCase(),siteName:ec.siteName,content:t})}),s=await n.json();if(s.success)ec.mockOpen&&await tu(e,ec.method.toLowerCase(),ec.siteName,!0),ed({apiPath:"",method:"GET",siteName:"默认场景",mockOpen:!0}),eo(!1),await eW(),tm("success","Mock文件创建成功");else throw Error(s.error||"创建失败")}catch(e){console.error("创建Mock文件失败:",e),tm("error",`创建Mock文件失败: ${e instanceof Error?e.message:"未知错误"}`)}finally{eh(!1)}},tl=(e,t,n)=>{console.log("新增场景点击:",{apiName:e,method:t,apiPath:n}),em({apiName:e,method:t,apiPath:n});let s={apiPath:n,method:t.toUpperCase(),siteName:"",mockOpen:!0};console.log("设置表单数据:",s),ed(s),el(!0);let a=ta(s.method,s.apiPath);B({projectName:r||"",apiName:e,method:t.toLowerCase(),siteName:"",content:a||""})},tc=(e,t,r)=>{if(!O)return!1;let n=O.mockFiles.find(t=>t.apiName===e);if(!n)return!1;let s=n.methods.find(e=>e.method.toLowerCase()===t.toLowerCase());return!!s&&!!s.files.find(e=>e.siteName===r)},td=async()=>{if(!eu||!ec.siteName.trim())return void tm("error","请输入场景名称");if(tc(eu.apiName,eu.method,ec.siteName))return void tm("error",`接口 ${eu.apiPath} [${eu.method.toUpperCase()}] 的场景 "${ec.siteName}" 已存在`);eh(!0);try{let e=F?.content??ta(eu.method,eu.apiPath);console.log("defaultContent",e,F);let t=await fetch("/api/mock-file",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectName:r,apiName:eu.apiName,method:eu.method.toLowerCase(),siteName:ec.siteName,content:e})}),n=await t.json();if(n.success){if(ec.mockOpen&&await tu(eu.apiName,eu.method,ec.siteName,!0),ed({apiPath:"",method:"GET",siteName:"默认场景",mockOpen:!0}),b)try{let e=await fetch("/api/mock-setting",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectName:b.projectName,apiName:eu.apiName,method:eu.method,currentSite:ec.siteName})}),t=await e.json();t.success||console.warn("切换到新场景失败:",t.error)}catch(e){console.warn("切换到新场景失败:",e)}try{await tu(eu.apiName,eu.method,ec.siteName,!0)}catch(e){console.warn("自动开启新场景失败:",e)}el(!1),em(null),await eW(),tm("success","场景创建成功")}else throw Error(n.error||"创建失败")}catch(e){console.error("创建场景失败:",e),tm("error",`创建场景失败: ${e instanceof Error?e.message:"未知错误"}`)}finally{eh(!1)}},tu=async(e,t,r,n)=>{if(b)try{let s=await fetch("/api/mock-open-status",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectName:b.projectName,apiName:e,method:t,siteName:r,isOpen:n})}),a=await s.json();a.success?await eW():console.error("更新Mock开启状态失败:",a.error)}catch(e){console.error("更新Mock开启状态失败:",e)}},tm=(e,t)=>{eb({open:!0,type:e,message:t}),setTimeout(()=>{eb({open:!1,type:"success",message:""})},3e3)},tp=(e,t,r)=>{ex({open:!0,apiName:e,method:t,siteName:r})},th=async()=>{if(!b)return;let{apiName:e,method:t,siteName:r}=ef;try{let n=await fetch(`/api/mock-file?project=${encodeURIComponent(b.projectName)}&apiName=${encodeURIComponent(e)}&method=${encodeURIComponent(t)}&siteName=${encodeURIComponent(r)}`,{method:"DELETE"}),s=await n.json();if(s.success){let e=window.scrollY;await eW(),window.scrollTo(0,e),tm("success","场景删除成功")}else console.error("删除场景失败:",s.error),tm("error",`删除场景失败: ${s.error}`)}catch(e){console.error("删除场景失败:",e),tm("error","删除场景失败: 网络错误")}finally{ex({open:!1,apiName:"",method:"",siteName:""})}},tf=(e,t)=>{ev({open:!0,apiName:e,apiPath:t})},tx=async()=>{if(!b)return;let{apiName:e}=eg;try{let t=await fetch(`/api/delete-mock-api?project=${encodeURIComponent(b.projectName)}&apiName=${encodeURIComponent(e)}`,{method:"DELETE"}),r=await t.json();if(r.success){let e=window.scrollY;await eW(),window.scrollTo(0,e),tm("success","接口删除成功")}else console.error("删除接口失败:",r.error),tm("error",`删除接口失败: ${r.error}`)}catch(e){console.error("删除接口失败:",e),tm("error","删除接口失败: 网络错误")}finally{ev({open:!1,apiName:"",apiPath:""})}},tg=e=>{eE(e),A(1)};if(w)return(0,n.jsx)("main",{className:"container mx-auto p-4 sm:p-6 md:p-8",children:(0,n.jsx)("div",{className:"text-center py-8",children:(0,n.jsx)("p",{children:"加载中..."})})});if(S||!b)return(0,n.jsxs)("main",{className:"container mx-auto p-4 sm:p-6 md:p-8",children:[(0,n.jsxs)("div",{className:"flex justify-between items-center mb-6",children:[(0,n.jsx)("h1",{className:"text-2xl font-bold",children:"项目配置"}),(0,n.jsxs)("div",{className:"flex gap-2",children:[r&&(0,n.jsx)(i.EditorSplitButton,{onOpen:eV,loading:R,loadingText:"打开中...",variant:"default"}),(0,n.jsx)(o.Button,{variant:"outline",onClick:eF,children:"返回初始化页面"})]})]}),(0,n.jsx)("div",{className:"text-center text-red-500 py-8",children:(0,n.jsx)("p",{children:S||"未找到项目配置"})})]});let tv=Object.keys(b.envs);return(0,n.jsxs)("main",{className:"container mx-auto p-4 sm:p-6 md:p-8",children:[(0,n.jsxs)("div",{className:"flex justify-between items-center mb-6",children:[(0,n.jsxs)("div",{className:"flex items-center gap-4",children:[(0,n.jsxs)("h1",{className:"text-2xl font-bold",children:[b.projectName," - 项目配置"]}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(u.Label,{className:"text-sm font-medium text-gray-600",children:"切换项目:"}),(0,n.jsxs)(c.Select,{value:r||"",onValueChange:n=>{if(n===r)return;eE(""),A(1),M(null);let s=e.get("tab"),a=`/configuration?project=${encodeURIComponent(n)}${s?`&tab=${s}`:""}`;t.push(a)},disabled:et,children:[(0,n.jsx)(c.SelectTrigger,{className:"w-40",children:(0,n.jsx)(c.SelectValue,{placeholder:et?"加载中...":"选择项目"})}),(0,n.jsx)(c.SelectContent,{children:Q.map(e=>(0,n.jsx)(c.SelectItem,{value:e.name,children:(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("span",{className:`h-2 w-2 rounded-full ${"existing"===e.status?"bg-green-500":"failed"===e.status?"bg-red-500":"bg-yellow-500"} ${en[e.name]?"animate-pulse":""}`}),(0,n.jsx)("span",{children:e.name})]})},e.name))})]})]}),(0,n.jsx)("div",{className:"ml-4",children:(0,n.jsx)(y.default,{projectName:r||"",compact:!0})})]}),(0,n.jsxs)("div",{className:"flex gap-2",children:[(0,n.jsx)(o.Button,{variant:"outline",onClick:()=>ew(!0),children:"创建工作区"}),(0,n.jsx)(i.EditorSplitButton,{onOpen:eV,loading:R,loadingText:"打开中...",variant:"default"}),(0,n.jsx)(o.Button,{variant:"outline",onClick:eF,children:"返回初始化页面"})]})]}),tv.length>0?(0,n.jsxs)(l.Tabs,{value:z||tv[0],onValueChange:e=>{H(e),"mock"===e&&eW()},className:"w-full",children:[(0,n.jsxs)(l.TabsList,{className:"grid w-full",style:{gridTemplateColumns:`repeat(${tv.length+1}, 1fr)`},children:[tv.map(e=>(0,n.jsx)(l.TabsTrigger,{value:e,className:"capitalize relative",children:(0,n.jsxs)("span",{className:"flex items-center gap-2",children:[e,eR[e]?.running&&(0,n.jsx)("span",{className:"w-2 h-2 bg-green-500 rounded-full animate-pulse",title:"运行中"})]})},e)),(0,n.jsx)(l.TabsTrigger,{value:"mock",className:"capitalize",children:"Mock配置"})]}),tv.map(e=>{let t=b.envs[e],r=Object.entries(t.proxyEnv),s=C[e]?.selectedProxy||"",a=C[e]?.selectedOption||"",i=t.currentProxy,m=t.proxyEnv[i]||i,p=t.proxyEnv[i]?i:"custom";return(0,n.jsxs)(l.TabsContent,{value:e,className:"space-y-6",children:[(0,n.jsxs)("div",{className:"p-6 bg-gray-50 rounded-lg",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,n.jsx)("h3",{className:"text-lg font-semibold",children:"开发服务器控制"}),(0,n.jsx)("div",{className:"flex items-center gap-4",children:eR[e]?.running?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("span",{className:"flex items-center gap-2 text-sm text-green-600",children:[(0,n.jsx)("span",{className:"w-2 h-2 bg-green-500 rounded-full animate-pulse"}),"运行中 (PID: ",eR[e]?.pid,")"]}),(0,n.jsx)(o.Button,{variant:"outline",size:"sm",onClick:()=>e1(e),children:"查看日志"}),(0,n.jsx)(o.Button,{variant:"destructive",size:"sm",onClick:()=>eY(e),disabled:eR[e]?.loading,children:eR[e]?.loading?"处理中...":"停止"})]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("span",{className:"flex items-center gap-2 text-sm text-gray-500",children:[(0,n.jsx)("span",{className:"w-2 h-2 bg-gray-400 rounded-full"}),"未运行"]}),(0,n.jsx)(o.Button,{variant:"outline",size:"sm",onClick:()=>e1(e),children:"查看日志"}),(0,n.jsx)(o.Button,{variant:"default",size:"sm",onClick:()=>eJ(e),disabled:eR[e]?.loading||!t.startCommand,children:eR[e]?.loading?"处理中...":"启动"})]})})]}),t.startCommand?(0,n.jsxs)("div",{className:"text-sm text-gray-600",children:[(0,n.jsx)("span",{className:"font-medium",children:"启动命令:"})," ",(0,n.jsx)("code",{className:"px-2 py-1 bg-gray-200 rounded",children:t.startCommand})]}):(0,n.jsx)("div",{className:"text-sm text-yellow-600",children:"⚠️ 该环境未配置启动命令"}),t.host&&(0,n.jsxs)("div",{className:"text-sm text-gray-600 mt-2",children:[(0,n.jsx)("span",{className:"font-medium",children:"访问地址:"}),eR[e]?.running?(0,n.jsx)("a",{href:t.host,target:"_blank",rel:"noopener noreferrer",className:"ml-2 text-blue-600 hover:underline",children:t.host}):(0,n.jsx)("span",{className:"ml-2",children:t.host})]})]}),(0,n.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6",children:[(0,n.jsxs)("div",{className:"p-6 bg-gray-50 rounded-lg",children:[(0,n.jsxs)("h3",{className:"text-lg font-semibold mb-4",children:[e," 环境配置"]}),(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)(u.Label,{className:"block text-sm font-medium mb-2",children:"接口代理环境切换"}),(0,n.jsxs)(c.Select,{value:a,onValueChange:t=>e4(e,t),children:[(0,n.jsx)(c.SelectTrigger,{className:"w-full",children:(0,n.jsx)(c.SelectValue,{placeholder:"选择代理环境"})}),(0,n.jsx)(c.SelectContent,{children:r.map(([e,t])=>(0,n.jsxs)(c.SelectItem,{value:e,children:[e,"(",t,")"]},e))})]})]}),m&&(0,n.jsxs)("div",{className:"p-3 bg-blue-50 rounded-md",children:[(0,n.jsxs)("p",{className:"text-sm text-blue-700",children:["当前项目接口已代理至:",p," 环境"]}),(0,n.jsxs)("p",{className:"text-sm text-blue-600",children:["代理地址为:",m]})]}),"custom"===a&&(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(u.Label,{className:"block text-sm font-medium",children:"自定义代理地址"}),(0,n.jsx)(d.Input,{type:"url",placeholder:"请输入自定义代理地址 (如: http://localhost:52741)",value:s,onChange:t=>e5(e,t.target.value),className:"w-full"}),(0,n.jsx)("p",{className:"text-xs text-gray-500",children:"请输入完整的代理地址,包括协议 (http:// 或 https://)"})]}),(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsx)(o.Button,{onClick:()=>e9(e),disabled:C[e]?.saving,className:"w-full sm:w-auto",children:C[e]?.saving?"保存中...":"保存配置"}),C[e]?.saveMessage&&(0,n.jsx)("span",{className:`text-sm ml-3 ${C[e]?.saveMessage==="保存成功"?"text-green-600":"text-red-600"}`,children:C[e]?.saveMessage})]})]})]}),(0,n.jsx)(g.default,{currentProjectName:b.projectName,currentEnvName:e})]})]},e)}),(0,n.jsx)(l.TabsContent,{value:"mock",className:"space-y-6",children:(0,n.jsxs)("div",{className:"p-6 bg-gray-50 rounded-lg",children:[(0,n.jsx)("h3",{className:"text-lg font-semibold mb-4",children:"Mock配置"}),(0,n.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6 mb-6",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("div",{className:"space-y-1",children:[(0,n.jsx)(u.Label,{className:"text-sm font-medium",children:"Mock拦截"}),(0,n.jsx)("p",{className:"text-xs text-gray-500",children:"启用或禁用Mock拦截功能"})]}),(0,n.jsx)(m.Switch,{checked:E.mockingIntercept,onCheckedChange:e3})]}),(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("div",{className:"space-y-1",children:[(0,n.jsx)(u.Label,{className:"text-sm font-medium",children:"Mock开启"}),(0,n.jsx)("p",{className:"text-xs text-gray-500",children:"启用或禁用Mock功能"})]}),(0,n.jsx)(m.Switch,{checked:E.mockOpen,onCheckedChange:e6})]})]}),E.saveMessage&&(0,n.jsx)("div",{className:"mb-6",children:(0,n.jsx)("span",{className:`text-sm ${E.saveMessage.includes("已保存")?"text-green-600":"text-red-600"}`,children:E.saveMessage})}),(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsx)("h4",{className:"text-md font-medium",children:"Mock接口列表"}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(o.Button,{onClick:()=>{eo(!0);let e=ta(ec.method,ec.apiPath);B({projectName:r||"",apiName:ec.apiPath,method:ec.method.toLowerCase(),siteName:"",content:e||""})},variant:"default",size:"sm",children:"新建"}),(0,n.jsx)(o.Button,{onClick:eW,disabled:_,variant:"outline",size:"sm",children:_?"加载中...":"刷新"}),(0,n.jsx)(o.Button,{onClick:e8,variant:"outline",size:"sm",children:"一键关闭"}),(0,n.jsx)(o.Button,{onClick:e7,variant:"outline",size:"sm",children:"一键开启"})]})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsxs)("div",{className:"relative flex-1 max-w-md",children:[(0,n.jsx)(d.Input,{placeholder:"搜索接口地址...",value:eT,onChange:e=>tg(e.target.value),className:"pr-8"}),eT&&(0,n.jsx)(o.Button,{variant:"ghost",size:"sm",onClick:()=>{eE(""),A(1)},className:"absolute right-1 top-1/2 transform -translate-y-1/2 h-6 w-6 p-0 hover:bg-gray-100",children:"×"})]}),eT&&(0,n.jsxs)("span",{className:"text-sm text-gray-500",children:['搜索关键词: "',eT,'"']})]}),_?(0,n.jsx)("div",{className:"text-center py-8",children:(0,n.jsx)("p",{className:"text-gray-500",children:"加载Mock数据中..."})}):O&&O.mockFiles.length>0?(()=>{let e=[];O.mockFiles.forEach(t=>{t.methods.forEach(r=>{let n=t.apiName.replace(/_/g,"/"),s=r.files.map(e=>e.siteName),a=r.setting?.currentSite||s[0]||"",o=r.setting?.open||[],i=o.includes(a);e.push({apiPath:n,method:r.method.toUpperCase(),currentSite:a,availableSites:s,apiName:t.apiName,isOpen:i,openSites:o})})});let t=eT.trim()?e.filter(e=>e.apiPath.toLowerCase().includes(eT.toLowerCase())):e,r=t.length,s=Math.ceil(r/$),a=(D-1)*$,i=a+$,l=t.slice(a,i);return(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsxs)(p.Table,{children:[(0,n.jsx)(p.TableHeader,{children:(0,n.jsxs)(p.TableRow,{children:[(0,n.jsx)(p.TableHead,{children:"接口地址"}),(0,n.jsx)(p.TableHead,{children:"请求方法"}),(0,n.jsx)(p.TableHead,{children:"当前场景"}),(0,n.jsx)(p.TableHead,{children:"开启mock"}),(0,n.jsx)(p.TableHead,{children:"操作"})]})}),(0,n.jsx)(p.TableBody,{children:l.map((e,t)=>(0,n.jsxs)(p.TableRow,{children:[(0,n.jsx)(p.TableCell,{className:"font-medium",children:e.apiPath}),(0,n.jsx)(p.TableCell,{children:(0,n.jsx)("span",{className:`px-2 py-1 rounded text-xs font-medium ${"GET"===e.method?"bg-green-100 text-green-800":"POST"===e.method?"bg-blue-100 text-blue-800":"PUT"===e.method?"bg-yellow-100 text-yellow-800":"DELETE"===e.method?"bg-red-100 text-red-800":"bg-gray-100 text-gray-800"}`,children:e.method})}),(0,n.jsx)(p.TableCell,{children:(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsxs)(c.Select,{value:e.currentSite,onValueChange:t=>te(e.apiName,e.method.toLowerCase(),t),children:[(0,n.jsx)(c.SelectTrigger,{className:"w-32",children:(0,n.jsx)(c.SelectValue,{})}),(0,n.jsx)(c.SelectContent,{children:e.availableSites.map(e=>(0,n.jsx)(c.SelectItem,{value:e,children:e},e))})]}),e.availableSites.length>1&&(0,n.jsx)(o.Button,{variant:"ghost",size:"sm",onClick:()=>tp(e.apiName,e.method.toLowerCase(),e.currentSite),className:"h-8 w-8 p-0 text-red-500 hover:text-red-700 hover:bg-red-50",title:"删除当前场景",children:(0,n.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,n.jsx)("path",{d:"M3 6h18"}),(0,n.jsx)("path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"}),(0,n.jsx)("path",{d:"M8 6V4c0-1 1-2 2-2h4c0 1 1 2 2 2v2"})]})})]})}),(0,n.jsx)(p.TableCell,{children:(0,n.jsx)(m.Switch,{checked:e.isOpen,onCheckedChange:t=>tu(e.apiName,e.method.toLowerCase(),e.currentSite,t)})}),(0,n.jsx)(p.TableCell,{children:(0,n.jsxs)("div",{className:"flex gap-2",children:[(0,n.jsx)(o.Button,{variant:"outline",size:"sm",onClick:()=>tt(e.apiName,e.method.toLowerCase(),e.currentSite),disabled:G,children:G?"加载中...":"编辑"}),(0,n.jsx)(o.Button,{variant:"outline",size:"sm",onClick:()=>tl(e.apiName,e.method.toLowerCase(),e.apiPath),disabled:ep,children:"新增场景"}),(0,n.jsx)(o.Button,{variant:"outline",size:"sm",onClick:()=>tf(e.apiName,e.apiPath),className:"text-red-500 hover:text-red-700 hover:border-red-300",children:"删除接口"})]})})]},`${e.apiName}-${e.method}-${t}`))})]}),s>1&&(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("div",{className:"text-sm text-gray-500",children:["显示 ",a+1,"-",Math.min(i,r)," 条,共 ",r," 条"]}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(o.Button,{variant:"outline",size:"sm",onClick:()=>A(e=>Math.max(1,e-1)),disabled:1===D,children:"上一页"}),(0,n.jsxs)("span",{className:"text-sm",children:[D," / ",s]}),(0,n.jsx)(o.Button,{variant:"outline",size:"sm",onClick:()=>A(e=>Math.min(s,e+1)),disabled:D===s,children:"下一页"})]})]})]})})():(0,n.jsxs)("div",{className:"text-center py-8",children:[(0,n.jsx)("p",{className:"text-gray-500",children:"暂无Mock接口数据"}),(0,n.jsx)("p",{className:"text-xs text-gray-400 mt-1",children:"请先创建Mock文件"})]})]})]})})]}):(0,n.jsx)("div",{className:"text-center text-gray-500 py-8",children:(0,n.jsx)("p",{children:"该项目没有配置环境信息"})}),(0,n.jsx)(h.Dialog,{open:U||ea||ei,onOpenChange:e=>{e||(V(!1),eo(!1),el(!1),em(null))},children:(0,n.jsxs)(h.DialogContent,{className:"w-screen h-screen max-w-none max-h-none m-0 rounded-none overflow-hidden flex flex-col",children:[(0,n.jsxs)(h.DialogHeader,{className:"flex-shrink-0 border-b pb-4",children:[(0,n.jsx)(h.DialogTitle,{children:ea?"新建Mock文件":ei?"新增场景":"编辑Mock文件"}),(0,n.jsx)(h.DialogDescription,{children:ea?"创建一个新的Mock接口文件":ei&&eu?(0,n.jsxs)(n.Fragment,{children:["为接口 ",eu.apiPath," [",eu.method.toUpperCase(),"] 新增场景"]}):F?(0,n.jsxs)(n.Fragment,{children:["编辑 ",F.apiName.replace(/_/g,"/")," - ",F.method.toUpperCase()," - ",F.siteName,".cjs"]}):null})]}),(ea||ei)&&(0,n.jsxs)("div",{className:"flex-shrink-0 border-b pb-4",children:[(0,n.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(u.Label,{htmlFor:"apiPath",className:"text-sm font-medium",children:"接口地址"}),ei?(0,n.jsx)("div",{className:"px-3 py-2 bg-gray-50 border border-gray-200 rounded-md text-sm text-gray-600",children:ec.apiPath}):(0,n.jsx)(d.Input,{id:"apiPath",placeholder:"/api/user/info",value:ec.apiPath,onChange:e=>ts("apiPath",e.target.value)})]}),(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(u.Label,{htmlFor:"method",className:"text-sm font-medium",children:"请求方法"}),ei?(0,n.jsx)("div",{className:"px-3 py-2 bg-gray-50 border border-gray-200 rounded-md text-sm text-gray-600",children:ec.method}):(0,n.jsxs)(c.Select,{value:ec.method,onValueChange:e=>ts("method",e),children:[(0,n.jsx)(c.SelectTrigger,{children:(0,n.jsx)(c.SelectValue,{})}),(0,n.jsxs)(c.SelectContent,{children:[(0,n.jsx)(c.SelectItem,{value:"GET",children:"GET"}),(0,n.jsx)(c.SelectItem,{value:"POST",children:"POST"}),(0,n.jsx)(c.SelectItem,{value:"PUT",children:"PUT"}),(0,n.jsx)(c.SelectItem,{value:"DELETE",children:"DELETE"}),(0,n.jsx)(c.SelectItem,{value:"PATCH",children:"PATCH"})]})]})]}),(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(u.Label,{htmlFor:"siteName",className:"text-sm font-medium",children:"场景名称"}),ea?(0,n.jsx)("div",{className:"px-3 py-2 bg-gray-50 border border-gray-200 rounded-md text-sm text-gray-600",children:"默认场景"}):(0,n.jsx)(d.Input,{id:"siteName",placeholder:"请输入场景名称",value:ec.siteName,onChange:e=>ts("siteName",e.target.value)})]}),(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(u.Label,{htmlFor:"mockOpen",className:"text-sm font-medium",children:"开启Mock"}),(0,n.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,n.jsx)(m.Switch,{id:"mockOpen",checked:ec.mockOpen,onCheckedChange:e=>ts("mockOpen",e)}),(0,n.jsx)("span",{className:"text-sm text-gray-600",children:ec.mockOpen?"开启":"关闭"})]})]})]}),ea&&ec.apiPath.trim()&&ec.siteName.trim()&&to(ec.apiPath,ec.method,ec.siteName)&&(0,n.jsx)("div",{className:"mt-4 p-3 bg-red-50 border border-red-200 rounded-md",children:(0,n.jsx)("div",{className:"flex items-center",children:(0,n.jsxs)("span",{className:"text-red-600 text-sm",children:["⚠️ 接口 ",ec.apiPath," [",ec.method.toUpperCase(),'] 的场景 "',ec.siteName,'" 已存在']})})}),ei&&eu&&ec.siteName.trim()&&tc(eu.apiName,eu.method,ec.siteName)&&(0,n.jsx)("div",{className:"mt-4 p-3 bg-red-50 border border-red-200 rounded-md",children:(0,n.jsx)("div",{className:"flex items-center",children:(0,n.jsxs)("span",{className:"text-red-600 text-sm",children:['⚠️ 场景 "',ec.siteName,'" 已存在']})})})]}),(0,n.jsx)("div",{className:"flex-1 flex flex-col space-y-4 py-4",children:(0,n.jsxs)("div",{className:"flex-1 flex flex-col",children:[(0,n.jsx)(u.Label,{className:"text-sm font-medium mb-2",children:"文件内容"}),(0,n.jsxs)("div",{className:"flex-1 border rounded-md overflow-hidden relative",children:[J&&(0,n.jsx)("div",{className:"absolute inset-0 bg-gray-50 flex items-center justify-center z-10",children:(0,n.jsx)("p",{className:"text-gray-500",children:"编辑器加载中..."})}),(0,n.jsx)(x.default,{height:"100%",defaultLanguage:"javascript",value:F?.content||"",onChange:e=>{B(t=>t?{...t,content:e||""}:null)},onMount:async e=>{console.log("编辑器挂载,模式:",{isCreateMode:ea,isAddSceneMode:ei,createFormData:ec}),Z(e),Y(!1),setTimeout(()=>eH(e),500)},loading:(0,n.jsx)("div",{className:"flex items-center justify-center h-full",children:(0,n.jsx)("p",{className:"text-gray-500",children:"编辑器加载中..."})}),options:{minimap:{enabled:!1},fontSize:14,lineNumbers:"on",roundedSelection:!1,scrollBeyondLastLine:!1,automaticLayout:!0,tabSize:2,insertSpaces:!0,wordWrap:"on",theme:"vs-dark",bracketPairColorization:{enabled:!0},quickSuggestions:{other:!0,comments:!0,strings:!0},formatOnPaste:!0,formatOnType:!0,readOnly:!1}},ea?"create":ei?"addscene":"edit")]})]})}),(0,n.jsxs)(h.DialogFooter,{className:"flex justify-between flex-shrink-0 border-t pt-4",children:[(0,n.jsx)(o.Button,{variant:"secondary",onClick:e$,disabled:!X||J,children:"格式化代码"}),(0,n.jsxs)("div",{className:"flex gap-2",children:[(0,n.jsx)(o.Button,{variant:"outline",onClick:()=>{ea?(eo(!1),ed({apiPath:"",method:"GET",siteName:"默认场景",mockOpen:!0})):ei?(el(!1),em(null),ed({apiPath:"",method:"GET",siteName:"默认场景",mockOpen:!0})):tn()},children:"取消"}),ea?(0,n.jsx)(o.Button,{onClick:ti,disabled:ep||!ec.apiPath.trim()||!ec.siteName.trim()||to(ec.apiPath,ec.method,ec.siteName),children:ep?"创建中...":"创建"}):ei?(0,n.jsx)(o.Button,{onClick:td,disabled:ep||!ec.siteName.trim()||!!eu&&tc(eu.apiName,eu.method,ec.siteName),children:ep?"创建中...":"创建"}):(0,n.jsx)(o.Button,{onClick:tr,disabled:W,children:W?"保存中...":"保存"})]})]})]})}),(0,n.jsx)(h.Dialog,{open:eO,onOpenChange:e=>{e||e2()},children:(0,n.jsxs)(h.DialogContent,{className:"max-w-5xl h-[85vh] max-h-[85vh] flex flex-col p-0",children:[(0,n.jsxs)(h.DialogHeader,{className:"px-6 pt-6 pb-4",children:[(0,n.jsxs)(h.DialogTitle,{className:"flex items-center justify-between",children:[(0,n.jsxs)("span",{children:["进程日志 - ",r," - ",e_]}),(0,n.jsx)("span",{className:"flex items-center gap-2 text-sm font-normal",children:eX&&(0,n.jsxs)("span",{className:"flex items-center gap-1 text-green-600",children:[(0,n.jsx)("span",{className:"w-2 h-2 bg-green-500 rounded-full animate-pulse"}),"实时连接"]})})]}),(0,n.jsx)(h.DialogDescription,{children:"实时显示进程输出日志"})]}),(0,n.jsx)("div",{className:"flex-1 min-h-0 bg-gray-900 mx-6 rounded-md overflow-hidden",children:(0,n.jsx)(v.default,{logs:eD})}),(0,n.jsxs)(h.DialogFooter,{className:"flex items-center justify-between px-6 pb-6 pt-4",children:[(0,n.jsxs)("div",{className:"text-sm text-gray-500",children:["共 ",eD.length," 条日志"]}),(0,n.jsxs)("div",{className:"flex gap-2",children:[(0,n.jsx)(o.Button,{variant:"outline",onClick:()=>{e_&&(e0(),eQ(e_))},disabled:!!eX,children:"重新连接"}),(0,n.jsx)(o.Button,{variant:"default",onClick:e2,children:"关闭"})]})]})]})}),(0,n.jsx)(h.Dialog,{open:ef.open,onOpenChange:e=>{e||ex({open:!1,apiName:"",method:"",siteName:""})},children:(0,n.jsxs)(h.DialogContent,{className:"max-w-md",children:[(0,n.jsxs)(h.DialogHeader,{children:[(0,n.jsxs)(h.DialogTitle,{className:"flex items-center gap-2 text-red-600",children:[(0,n.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,n.jsx)("path",{d:"M3 6h18"}),(0,n.jsx)("path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"}),(0,n.jsx)("path",{d:"M8 6V4c0-1 1-2 2-2h4c0 1 1 2 2 2v2"})]}),"确认删除场景"]}),(0,n.jsxs)(h.DialogDescription,{children:["确定要删除场景 ",(0,n.jsxs)("span",{className:"font-medium text-gray-900",children:['"',ef.siteName,'"']})," 吗?",(0,n.jsx)("br",{}),(0,n.jsx)("span",{className:"text-red-500 text-sm mt-2 block",children:"此操作不可撤销"})]})]}),(0,n.jsxs)(h.DialogFooter,{className:"flex gap-2 justify-end",children:[(0,n.jsx)(o.Button,{variant:"outline",onClick:()=>ex({open:!1,apiName:"",method:"",siteName:""}),children:"取消"}),(0,n.jsx)(o.Button,{variant:"destructive",onClick:th,children:"删除"})]})]})}),(0,n.jsx)(h.Dialog,{open:eg.open,onOpenChange:e=>{e||ev({open:!1,apiName:"",apiPath:""})},children:(0,n.jsxs)(h.DialogContent,{className:"max-w-md",children:[(0,n.jsxs)(h.DialogHeader,{children:[(0,n.jsxs)(h.DialogTitle,{className:"flex items-center gap-2 text-red-600",children:[(0,n.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,n.jsx)("path",{d:"M3 6h18"}),(0,n.jsx)("path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"}),(0,n.jsx)("path",{d:"M8 6V4c0-1 1-2 2-2h4c0 1 1 2 2 2v2"})]}),"确认删除接口"]}),(0,n.jsxs)(h.DialogDescription,{children:["确定要删除整个接口 ",(0,n.jsxs)("span",{className:"font-medium text-gray-900",children:['"',eg.apiPath,'"']})," 吗?",(0,n.jsx)("br",{}),(0,n.jsx)("span",{className:"text-red-500 text-sm mt-2 block font-medium",children:"⚠️ 这将删除该接口的所有场景和相关文件,此操作不可撤销"})]})]}),(0,n.jsxs)(h.DialogFooter,{className:"flex gap-2 justify-end",children:[(0,n.jsx)(o.Button,{variant:"outline",onClick:()=>ev({open:!1,apiName:"",apiPath:""}),children:"取消"}),(0,n.jsx)(o.Button,{variant:"destructive",onClick:tx,children:"删除整个接口"})]})]})}),(0,n.jsx)(h.Dialog,{open:ej,onOpenChange:ew,children:(0,n.jsxs)(h.DialogContent,{className:"max-w-md",children:[(0,n.jsxs)(h.DialogHeader,{children:[(0,n.jsx)(h.DialogTitle,{children:"创建工作区"}),(0,n.jsx)(h.DialogDescription,{children:"选择要包含在工作区中的项目"})]}),(0,n.jsxs)("div",{className:"py-4 max-h-96 overflow-y-auto",children:[(0,n.jsx)("div",{className:"space-y-3",children:Q.filter(e=>"existing"===e.status).map(e=>(0,n.jsxs)("div",{className:"flex items-center space-x-3 p-3 rounded-lg border border-gray-200 hover:bg-gray-50 transition-colors",children:[(0,n.jsx)(f.Checkbox,{id:`workspace-${e.name}`,checked:eN.includes(e.name),onCheckedChange:()=>eK(e.name)}),(0,n.jsx)("label",{htmlFor:`workspace-${e.name}`,className:"flex-1 cursor-pointer text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:e.name})]},e.name))}),0===Q.filter(e=>"existing"===e.status).length&&(0,n.jsx)("div",{className:"text-center py-8 text-gray-500",children:"没有可用的项目"})]}),(0,n.jsxs)(h.DialogFooter,{className:"flex gap-2 justify-end",children:[(0,n.jsx)(o.Button,{variant:"outline",onClick:()=>{ew(!1),eS([])},children:"取消"}),(0,n.jsx)(i.EditorSplitButton,{onOpen:eG,loading:ek,loadingText:"创建中...",disabled:0===eN.length,actionType:"create",variant:"default"})]})]})}),ey.open&&(0,n.jsx)("div",{className:"fixed top-4 right-4 z-50 animate-in slide-in-from-top-2 duration-300",children:(0,n.jsxs)("div",{className:`flex items-center gap-3 px-4 py-3 rounded-lg shadow-lg border max-w-sm ${"success"===ey.type?"bg-green-50 border-green-200 text-green-800":"bg-red-50 border-red-200 text-red-800"}`,children:[(0,n.jsx)("div",{className:"flex-shrink-0",children:"success"===ey.type?(0,n.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"text-green-600",children:(0,n.jsx)("path",{d:"M20 6L9 17l-5-5"})}):(0,n.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"text-red-600",children:[(0,n.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,n.jsx)("line",{x1:"15",y1:"9",x2:"9",y2:"15"}),(0,n.jsx)("line",{x1:"9",y1:"9",x2:"15",y2:"15"})]})}),(0,n.jsx)("p",{className:"text-sm font-medium",children:ey.message}),(0,n.jsx)("button",{onClick:()=>eb({open:!1,type:"success",message:""}),className:"flex-shrink-0 ml-auto",children:(0,n.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"opacity-60 hover:opacity-100",children:[(0,n.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,n.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]})})]})}function w(){return(0,n.jsx)(s.Suspense,{fallback:(0,n.jsx)("div",{className:"min-h-screen bg-gray-50 flex items-center justify-center",children:(0,n.jsxs)("div",{className:"text-center space-y-4",children:[(0,n.jsx)("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-blue-600 mx-auto"}),(0,n.jsx)("p",{className:"text-gray-600",children:"正在加载配置页面..."})]})}),children:(0,n.jsx)(j,{})})}}}]);
56
+
57
+ //# sourceMappingURL=205cbae70a6c50e1.js.map