@shipit-ai/cli 1.164.2 → 1.165.0-pr11.8598321

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 (597) hide show
  1. package/README.md +3 -7
  2. package/dist/packages/core/src/application/ports/output/services/environment-detector.service.d.ts +54 -0
  3. package/dist/packages/core/src/application/ports/output/services/environment-detector.service.d.ts.map +1 -0
  4. package/dist/packages/core/src/application/ports/output/services/environment-detector.service.js +8 -0
  5. package/dist/packages/core/src/application/ports/output/services/index.d.ts +1 -0
  6. package/dist/packages/core/src/application/ports/output/services/index.d.ts.map +1 -1
  7. package/dist/packages/core/src/application/ports/output/services/tool-metadata-service.interface.d.ts +5 -1
  8. package/dist/packages/core/src/application/ports/output/services/tool-metadata-service.interface.d.ts.map +1 -1
  9. package/dist/packages/core/src/application/use-cases/agents/configure-agent.use-case.d.ts +1 -1
  10. package/dist/packages/core/src/application/use-cases/agents/configure-agent.use-case.js +1 -1
  11. package/dist/packages/core/src/application/use-cases/agents/stop-agent-run.use-case.d.ts +1 -1
  12. package/dist/packages/core/src/application/use-cases/agents/stop-agent-run.use-case.js +1 -1
  13. package/dist/packages/core/src/application/use-cases/features/adopt-branch.use-case.d.ts +1 -1
  14. package/dist/packages/core/src/application/use-cases/features/adopt-branch.use-case.js +1 -1
  15. package/dist/packages/core/src/application/use-cases/settings/detect-environment-defaults.use-case.d.ts +18 -0
  16. package/dist/packages/core/src/application/use-cases/settings/detect-environment-defaults.use-case.d.ts.map +1 -0
  17. package/dist/packages/core/src/application/use-cases/settings/detect-environment-defaults.use-case.js +40 -0
  18. package/dist/packages/core/src/application/use-cases/settings/index.d.ts +1 -0
  19. package/dist/packages/core/src/application/use-cases/settings/index.d.ts.map +1 -1
  20. package/dist/packages/core/src/application/use-cases/settings/index.js +1 -0
  21. package/dist/packages/core/src/application/use-cases/settings/initialize-settings.use-case.d.ts +10 -4
  22. package/dist/packages/core/src/application/use-cases/settings/initialize-settings.use-case.d.ts.map +1 -1
  23. package/dist/packages/core/src/application/use-cases/settings/initialize-settings.use-case.js +34 -7
  24. package/dist/packages/core/src/application/use-cases/tools/list-tools.use-case.d.ts +1 -1
  25. package/dist/packages/core/src/application/use-cases/tools/list-tools.use-case.d.ts.map +1 -1
  26. package/dist/packages/core/src/domain/factories/settings-defaults.factory.d.ts +18 -2
  27. package/dist/packages/core/src/domain/factories/settings-defaults.factory.d.ts.map +1 -1
  28. package/dist/packages/core/src/domain/factories/settings-defaults.factory.js +16 -5
  29. package/dist/packages/core/src/index.d.ts +2 -2
  30. package/dist/packages/core/src/index.js +2 -2
  31. package/dist/packages/core/src/infrastructure/di/modules/services.module.d.ts.map +1 -1
  32. package/dist/packages/core/src/infrastructure/di/modules/services.module.js +2 -0
  33. package/dist/packages/core/src/infrastructure/di/modules/use-cases.module.d.ts.map +1 -1
  34. package/dist/packages/core/src/infrastructure/di/modules/use-cases.module.js +2 -0
  35. package/dist/packages/core/src/infrastructure/di/modules/web-tokens.module.d.ts.map +1 -1
  36. package/dist/packages/core/src/infrastructure/di/modules/web-tokens.module.js +4 -0
  37. package/dist/packages/core/src/infrastructure/services/agents/common/executors/fixtures/plan.fixture.d.ts +1 -1
  38. package/dist/packages/core/src/infrastructure/services/agents/common/executors/fixtures/plan.fixture.js +1 -1
  39. package/dist/packages/core/src/infrastructure/services/agents/common/executors/fixtures/research.fixture.d.ts +1 -1
  40. package/dist/packages/core/src/infrastructure/services/agents/common/executors/fixtures/research.fixture.js +1 -1
  41. package/dist/packages/core/src/infrastructure/services/agents/common/executors/fixtures/spec-analyze.fixture.d.ts +2 -2
  42. package/dist/packages/core/src/infrastructure/services/agents/common/executors/fixtures/spec-analyze.fixture.d.ts.map +1 -1
  43. package/dist/packages/core/src/infrastructure/services/agents/common/executors/fixtures/spec-analyze.fixture.js +5 -5
  44. package/dist/packages/core/src/infrastructure/services/agents/common/executors/fixtures/spec-requirements.fixture.d.ts +2 -2
  45. package/dist/packages/core/src/infrastructure/services/agents/common/executors/fixtures/spec-requirements.fixture.d.ts.map +1 -1
  46. package/dist/packages/core/src/infrastructure/services/agents/common/executors/fixtures/spec-requirements.fixture.js +6 -6
  47. package/dist/packages/core/src/infrastructure/services/agents/common/executors/fixtures/tasks.fixture.d.ts +1 -1
  48. package/dist/packages/core/src/infrastructure/services/agents/common/executors/fixtures/tasks.fixture.js +1 -1
  49. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/evidence-prompts.js +1 -1
  50. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/merge-prompts.js +1 -1
  51. package/dist/packages/core/src/infrastructure/services/environment-detector.service.d.ts +38 -0
  52. package/dist/packages/core/src/infrastructure/services/environment-detector.service.d.ts.map +1 -0
  53. package/dist/packages/core/src/infrastructure/services/environment-detector.service.js +196 -0
  54. package/dist/packages/core/src/infrastructure/services/filesystem/shipit-ai-directory.service.d.ts +2 -2
  55. package/dist/packages/core/src/infrastructure/services/filesystem/shipit-ai-directory.service.js +4 -4
  56. package/dist/packages/core/src/infrastructure/services/git/pr-branding.d.ts +4 -4
  57. package/dist/packages/core/src/infrastructure/services/git/pr-branding.js +4 -4
  58. package/dist/packages/core/src/infrastructure/services/interactive/feature-context.builder.d.ts +1 -1
  59. package/dist/packages/core/src/infrastructure/services/interactive/feature-context.builder.js +7 -7
  60. package/dist/packages/core/src/infrastructure/services/port.service.d.ts +1 -1
  61. package/dist/packages/core/src/infrastructure/services/port.service.d.ts.map +1 -1
  62. package/dist/packages/core/src/infrastructure/services/port.service.js +1 -1
  63. package/dist/packages/core/src/infrastructure/services/tool-installer/tool-metadata.d.ts +6 -1
  64. package/dist/packages/core/src/infrastructure/services/tool-installer/tool-metadata.d.ts.map +1 -1
  65. package/dist/packages/core/src/infrastructure/services/tool-installer/tool-metadata.js +7 -0
  66. package/dist/packages/core/src/infrastructure/services/tool-installer/tool-metadata.service.d.ts +1 -0
  67. package/dist/packages/core/src/infrastructure/services/tool-installer/tool-metadata.service.d.ts.map +1 -1
  68. package/dist/packages/core/src/infrastructure/services/tool-installer/tool-metadata.service.js +4 -1
  69. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/CLAUDE.md +2 -1
  70. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/bash.json +20 -0
  71. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/codex-cli.json +31 -0
  72. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/fish.json +19 -0
  73. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/powershell.json +24 -0
  74. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/zsh.json +19 -0
  75. package/dist/src/presentation/cli/commands/agent/approve.command.d.ts +1 -1
  76. package/dist/src/presentation/cli/commands/agent/approve.command.js +1 -1
  77. package/dist/src/presentation/cli/commands/agent/delete.command.d.ts +1 -1
  78. package/dist/src/presentation/cli/commands/agent/delete.command.js +1 -1
  79. package/dist/src/presentation/cli/commands/agent/index.d.ts +6 -6
  80. package/dist/src/presentation/cli/commands/agent/index.js +6 -6
  81. package/dist/src/presentation/cli/commands/agent/logs.command.d.ts +3 -3
  82. package/dist/src/presentation/cli/commands/agent/logs.command.js +3 -3
  83. package/dist/src/presentation/cli/commands/agent/ls.command.d.ts +1 -1
  84. package/dist/src/presentation/cli/commands/agent/ls.command.js +1 -1
  85. package/dist/src/presentation/cli/commands/agent/reject.command.d.ts +1 -1
  86. package/dist/src/presentation/cli/commands/agent/reject.command.js +1 -1
  87. package/dist/src/presentation/cli/commands/agent/show.command.d.ts +1 -1
  88. package/dist/src/presentation/cli/commands/agent/show.command.js +1 -1
  89. package/dist/src/presentation/cli/commands/agent/stop.command.d.ts +1 -1
  90. package/dist/src/presentation/cli/commands/agent/stop.command.js +1 -1
  91. package/dist/src/presentation/cli/commands/daemon/start-daemon.d.ts +4 -4
  92. package/dist/src/presentation/cli/commands/daemon/start-daemon.js +4 -4
  93. package/dist/src/presentation/cli/commands/daemon/stop-daemon.d.ts +5 -5
  94. package/dist/src/presentation/cli/commands/daemon/stop-daemon.js +5 -5
  95. package/dist/src/presentation/cli/commands/feat/adopt.command.d.ts +3 -3
  96. package/dist/src/presentation/cli/commands/feat/adopt.command.js +3 -3
  97. package/dist/src/presentation/cli/commands/feat/approve.command.d.ts +1 -1
  98. package/dist/src/presentation/cli/commands/feat/approve.command.js +1 -1
  99. package/dist/src/presentation/cli/commands/feat/archive.command.d.ts +3 -3
  100. package/dist/src/presentation/cli/commands/feat/archive.command.js +3 -3
  101. package/dist/src/presentation/cli/commands/feat/del.command.d.ts +5 -5
  102. package/dist/src/presentation/cli/commands/feat/del.command.js +5 -5
  103. package/dist/src/presentation/cli/commands/feat/index.d.ts +4 -4
  104. package/dist/src/presentation/cli/commands/feat/index.js +4 -4
  105. package/dist/src/presentation/cli/commands/feat/logs.command.d.ts +3 -3
  106. package/dist/src/presentation/cli/commands/feat/logs.command.js +3 -3
  107. package/dist/src/presentation/cli/commands/feat/ls.command.d.ts +3 -3
  108. package/dist/src/presentation/cli/commands/feat/ls.command.js +3 -3
  109. package/dist/src/presentation/cli/commands/feat/new.command.d.ts +3 -3
  110. package/dist/src/presentation/cli/commands/feat/new.command.js +4 -4
  111. package/dist/src/presentation/cli/commands/feat/reject.command.d.ts +1 -1
  112. package/dist/src/presentation/cli/commands/feat/reject.command.js +1 -1
  113. package/dist/src/presentation/cli/commands/feat/resume.command.d.ts +1 -1
  114. package/dist/src/presentation/cli/commands/feat/resume.command.js +1 -1
  115. package/dist/src/presentation/cli/commands/feat/review.command.d.ts +1 -1
  116. package/dist/src/presentation/cli/commands/feat/review.command.js +1 -1
  117. package/dist/src/presentation/cli/commands/feat/show.command.d.ts +1 -1
  118. package/dist/src/presentation/cli/commands/feat/show.command.d.ts.map +1 -1
  119. package/dist/src/presentation/cli/commands/feat/show.command.js +4 -3
  120. package/dist/src/presentation/cli/commands/feat/start.command.d.ts +1 -1
  121. package/dist/src/presentation/cli/commands/feat/start.command.js +1 -1
  122. package/dist/src/presentation/cli/commands/feat/unarchive.command.d.ts +2 -2
  123. package/dist/src/presentation/cli/commands/feat/unarchive.command.js +2 -2
  124. package/dist/src/presentation/cli/commands/ide-open.command.d.ts +1 -1
  125. package/dist/src/presentation/cli/commands/ide-open.command.js +1 -1
  126. package/dist/src/presentation/cli/commands/log-viewer.d.ts +1 -1
  127. package/dist/src/presentation/cli/commands/log-viewer.js +1 -1
  128. package/dist/src/presentation/cli/commands/repo/add.command.d.ts +3 -3
  129. package/dist/src/presentation/cli/commands/repo/add.command.js +3 -3
  130. package/dist/src/presentation/cli/commands/repo/index.d.ts +4 -4
  131. package/dist/src/presentation/cli/commands/repo/index.js +4 -4
  132. package/dist/src/presentation/cli/commands/repo/ls.command.d.ts +1 -1
  133. package/dist/src/presentation/cli/commands/repo/ls.command.js +1 -1
  134. package/dist/src/presentation/cli/commands/repo/show.command.d.ts +1 -1
  135. package/dist/src/presentation/cli/commands/repo/show.command.js +1 -1
  136. package/dist/src/presentation/cli/commands/restart.command.d.ts +3 -3
  137. package/dist/src/presentation/cli/commands/restart.command.js +5 -5
  138. package/dist/src/presentation/cli/commands/run.command.d.ts +5 -5
  139. package/dist/src/presentation/cli/commands/run.command.js +5 -5
  140. package/dist/src/presentation/cli/commands/session/index.d.ts +3 -3
  141. package/dist/src/presentation/cli/commands/session/index.js +3 -3
  142. package/dist/src/presentation/cli/commands/session/ls.command.d.ts +6 -6
  143. package/dist/src/presentation/cli/commands/session/ls.command.js +6 -6
  144. package/dist/src/presentation/cli/commands/session/show.command.d.ts +3 -3
  145. package/dist/src/presentation/cli/commands/session/show.command.js +3 -3
  146. package/dist/src/presentation/cli/commands/settings/agent.command.d.ts +4 -4
  147. package/dist/src/presentation/cli/commands/settings/agent.command.js +7 -7
  148. package/dist/src/presentation/cli/commands/settings/ide.command.d.ts +3 -3
  149. package/dist/src/presentation/cli/commands/settings/ide.command.js +6 -6
  150. package/dist/src/presentation/cli/commands/settings/index.d.ts +10 -10
  151. package/dist/src/presentation/cli/commands/settings/index.js +10 -10
  152. package/dist/src/presentation/cli/commands/settings/init.command.d.ts +3 -3
  153. package/dist/src/presentation/cli/commands/settings/init.command.js +6 -6
  154. package/dist/src/presentation/cli/commands/settings/language.command.d.ts +2 -2
  155. package/dist/src/presentation/cli/commands/settings/language.command.js +3 -3
  156. package/dist/src/presentation/cli/commands/settings/model.command.d.ts +2 -2
  157. package/dist/src/presentation/cli/commands/settings/model.command.js +3 -3
  158. package/dist/src/presentation/cli/commands/settings/show.command.d.ts +4 -4
  159. package/dist/src/presentation/cli/commands/settings/show.command.js +7 -7
  160. package/dist/src/presentation/cli/commands/settings/workflow.command.d.ts +3 -3
  161. package/dist/src/presentation/cli/commands/settings/workflow.command.js +6 -6
  162. package/dist/src/presentation/cli/commands/start.command.d.ts +3 -3
  163. package/dist/src/presentation/cli/commands/start.command.js +5 -5
  164. package/dist/src/presentation/cli/commands/status.command.d.ts +4 -4
  165. package/dist/src/presentation/cli/commands/status.command.js +4 -4
  166. package/dist/src/presentation/cli/commands/stop.command.d.ts +2 -2
  167. package/dist/src/presentation/cli/commands/stop.command.js +2 -2
  168. package/dist/src/presentation/cli/commands/tools.command.d.ts +1 -1
  169. package/dist/src/presentation/cli/commands/tools.command.js +1 -1
  170. package/dist/src/presentation/cli/commands/ui.command.d.ts +4 -4
  171. package/dist/src/presentation/cli/commands/ui.command.js +7 -7
  172. package/dist/src/presentation/cli/commands/upgrade.command.d.ts +2 -2
  173. package/dist/src/presentation/cli/commands/upgrade.command.js +2 -2
  174. package/dist/src/presentation/cli/commands/version.command.d.ts +2 -2
  175. package/dist/src/presentation/cli/commands/version.command.js +2 -2
  176. package/dist/src/presentation/cli/index.d.ts +3 -3
  177. package/dist/src/presentation/cli/index.js +4 -4
  178. package/dist/src/presentation/cli/ui/index.d.ts +1 -1
  179. package/dist/src/presentation/cli/ui/index.js +1 -1
  180. package/dist/src/presentation/tui/themes/shipit-ai.theme.d.ts +4 -4
  181. package/dist/src/presentation/tui/themes/shipit-ai.theme.js +4 -4
  182. package/dist/src/presentation/web/app/actions/check-agent-auth.d.ts.map +1 -1
  183. package/dist/src/presentation/web/app/actions/check-agent-auth.js +69 -24
  184. package/dist/src/presentation/web/app/actions/deploy-feature.js +2 -2
  185. package/dist/src/presentation/web/app/actions/deploy-repository.js +2 -2
  186. package/dist/src/presentation/web/app/actions/get-all-agent-models.d.ts +1 -0
  187. package/dist/src/presentation/web/app/actions/get-all-agent-models.d.ts.map +1 -1
  188. package/dist/src/presentation/web/app/actions/get-all-agent-models.js +28 -3
  189. package/dist/src/presentation/web/app/actions/get-available-editors.d.ts +14 -0
  190. package/dist/src/presentation/web/app/actions/get-available-editors.d.ts.map +1 -0
  191. package/dist/src/presentation/web/app/actions/get-available-editors.js +24 -0
  192. package/dist/src/presentation/web/app/actions/get-available-shells.d.ts +14 -0
  193. package/dist/src/presentation/web/app/actions/get-available-shells.d.ts.map +1 -0
  194. package/dist/src/presentation/web/app/actions/get-available-shells.js +22 -0
  195. package/dist/src/presentation/web/app/actions/get-merge-review-data.js +3 -3
  196. package/dist/src/presentation/web/app/layout.d.ts.map +1 -1
  197. package/dist/src/presentation/web/app/layout.js +4 -13
  198. package/dist/src/presentation/web/app/settings/page.d.ts.map +1 -1
  199. package/dist/src/presentation/web/app/settings/page.js +6 -2
  200. package/dist/src/presentation/web/components/common/control-center-drawer/adopt-branch-drawer.js +1 -1
  201. package/dist/src/presentation/web/components/common/control-center-drawer/adopt-branch-drawer.stories.d.ts +1 -1
  202. package/dist/src/presentation/web/components/common/control-center-drawer/adopt-branch-drawer.stories.js +1 -1
  203. package/dist/src/presentation/web/components/common/control-center-drawer/global-chat-drawer-client.js +1 -1
  204. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.d.ts +1 -1
  205. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.js +1 -1
  206. package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.stories.js +2 -2
  207. package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.js +8 -8
  208. package/dist/src/presentation/web/components/common/github-import-dialog/github-import-dialog.js +1 -1
  209. package/dist/src/presentation/web/components/common/inline-attachments/inline-attachments.stories.js +5 -5
  210. package/dist/src/presentation/web/components/common/merge-review/merge-review.stories.js +8 -8
  211. package/dist/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire.stories.js +1 -1
  212. package/dist/src/presentation/web/components/common/shipit-ai-logo/index.d.ts +2 -2
  213. package/dist/src/presentation/web/components/common/shipit-ai-logo/index.d.ts.map +1 -1
  214. package/dist/src/presentation/web/components/common/shipit-ai-logo/index.js +1 -1
  215. package/dist/src/presentation/web/components/common/shipit-ai-logo/{shep-logo.d.ts → shipit-ai-logo.d.ts} +1 -1
  216. package/dist/src/presentation/web/components/common/shipit-ai-logo/shipit-ai-logo.d.ts.map +1 -0
  217. package/dist/src/presentation/web/components/common/shipit-ai-logo/shipit-ai-logo.js +8 -0
  218. package/dist/src/presentation/web/components/common/shipit-ai-logo/{shep-logo.stories.d.ts → shipit-ai-logo.stories.d.ts} +2 -2
  219. package/dist/src/presentation/web/components/common/shipit-ai-logo/shipit-ai-logo.stories.d.ts.map +1 -0
  220. package/dist/src/presentation/web/components/common/shipit-ai-logo/{shep-logo.stories.js → shipit-ai-logo.stories.js} +1 -1
  221. package/dist/src/presentation/web/components/common/version-badge/version-badge.stories.js +2 -2
  222. package/dist/src/presentation/web/components/features/chat/ChatSheet.js +1 -1
  223. package/dist/src/presentation/web/components/features/control-center/control-center-empty-state.js +1 -1
  224. package/dist/src/presentation/web/components/features/control-center/welcome-agent-setup.d.ts.map +1 -1
  225. package/dist/src/presentation/web/components/features/control-center/welcome-agent-setup.js +6 -1
  226. package/dist/src/presentation/web/components/features/features-canvas/features-canvas.stories.js +19 -19
  227. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/index.d.ts.map +1 -1
  228. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/index.js +13 -2
  229. package/dist/src/presentation/web/components/features/settings/database-settings-section.js +1 -1
  230. package/dist/src/presentation/web/components/features/settings/settings-page-client.d.ts +5 -1
  231. package/dist/src/presentation/web/components/features/settings/settings-page-client.d.ts.map +1 -1
  232. package/dist/src/presentation/web/components/features/settings/settings-page-client.js +33 -27
  233. package/dist/src/presentation/web/components/features/tools/tool-card.js +1 -1
  234. package/dist/src/presentation/web/components/features/version/version-page-client.js +1 -1
  235. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.d.ts.map +1 -1
  236. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.js +3 -3
  237. package/dist/src/presentation/web/components/ui/sidebar.stories.js +1 -1
  238. package/dist/src/presentation/web/lib/session-scanner.js +2 -2
  239. package/dist/src/presentation/web/lib/version.d.ts +1 -1
  240. package/dist/src/presentation/web/lib/version.js +1 -1
  241. package/dist/src/presentation/web/{middleware.d.ts → proxy.d.ts} +4 -4
  242. package/dist/src/presentation/web/proxy.d.ts.map +1 -0
  243. package/dist/src/presentation/web/{middleware.js → proxy.js} +3 -3
  244. package/dist/src/presentation/web/types/theme.d.ts +1 -1
  245. package/dist/src/presentation/web/types/theme.js +1 -1
  246. package/dist/translations/ar/cli.json +17 -17
  247. package/dist/translations/ar/tui.json +2 -2
  248. package/dist/translations/ar/web.json +7 -5
  249. package/dist/translations/de/cli.json +17 -17
  250. package/dist/translations/de/tui.json +2 -2
  251. package/dist/translations/de/web.json +7 -5
  252. package/dist/translations/en/cli.json +17 -17
  253. package/dist/translations/en/tui.json +2 -2
  254. package/dist/translations/en/web.json +7 -5
  255. package/dist/translations/es/cli.json +17 -17
  256. package/dist/translations/es/tui.json +2 -2
  257. package/dist/translations/es/web.json +7 -5
  258. package/dist/translations/fr/cli.json +17 -17
  259. package/dist/translations/fr/tui.json +2 -2
  260. package/dist/translations/fr/web.json +7 -5
  261. package/dist/translations/he/cli.json +17 -17
  262. package/dist/translations/he/tui.json +2 -2
  263. package/dist/translations/he/web.json +7 -5
  264. package/dist/translations/pt/cli.json +17 -17
  265. package/dist/translations/pt/tui.json +2 -2
  266. package/dist/translations/pt/web.json +7 -5
  267. package/dist/translations/ru/cli.json +17 -17
  268. package/dist/translations/ru/tui.json +2 -2
  269. package/dist/translations/ru/web.json +7 -5
  270. package/dist/tsconfig.build.tsbuildinfo +1 -1
  271. package/package.json +3 -3
  272. package/web/.next/BUILD_ID +1 -1
  273. package/web/.next/build-manifest.json +5 -5
  274. package/web/.next/fallback-build-manifest.json +3 -3
  275. package/web/.next/prerender-manifest.json +3 -3
  276. package/web/.next/required-server-files.js +3 -3
  277. package/web/.next/required-server-files.json +3 -3
  278. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/build-manifest.json +2 -2
  279. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +29 -29
  280. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js +2 -1
  281. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  282. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  283. package/web/.next/server/app/(dashboard)/@drawer/chat/page/build-manifest.json +2 -2
  284. package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +27 -27
  285. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js +2 -1
  286. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
  287. package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
  288. package/web/.next/server/app/(dashboard)/@drawer/create/page/build-manifest.json +2 -2
  289. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +30 -30
  290. package/web/.next/server/app/(dashboard)/@drawer/create/page.js +2 -1
  291. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  292. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  293. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/build-manifest.json +2 -2
  294. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +37 -37
  295. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +2 -1
  296. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  297. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  298. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/build-manifest.json +2 -2
  299. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +37 -37
  300. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +2 -1
  301. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  302. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  303. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/build-manifest.json +2 -2
  304. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +28 -28
  305. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js +2 -1
  306. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  307. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  308. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/build-manifest.json +2 -2
  309. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +28 -28
  310. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +2 -1
  311. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  312. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  313. package/web/.next/server/app/(dashboard)/chat/page/build-manifest.json +2 -2
  314. package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +27 -27
  315. package/web/.next/server/app/(dashboard)/chat/page.js +2 -1
  316. package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
  317. package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  318. package/web/.next/server/app/(dashboard)/create/page/build-manifest.json +2 -2
  319. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +30 -30
  320. package/web/.next/server/app/(dashboard)/create/page.js +2 -1
  321. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  322. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  323. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/build-manifest.json +2 -2
  324. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +37 -37
  325. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +2 -1
  326. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  327. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  328. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/build-manifest.json +2 -2
  329. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +37 -37
  330. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +2 -1
  331. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  332. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  333. package/web/.next/server/app/(dashboard)/page/build-manifest.json +2 -2
  334. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +27 -27
  335. package/web/.next/server/app/(dashboard)/page.js +2 -1
  336. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  337. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  338. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/build-manifest.json +2 -2
  339. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +28 -28
  340. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js +2 -1
  341. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  342. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  343. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/build-manifest.json +2 -2
  344. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +28 -28
  345. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +2 -1
  346. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  347. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  348. package/web/.next/server/app/_global-error/page/build-manifest.json +2 -2
  349. package/web/.next/server/app/_global-error.html +1 -1
  350. package/web/.next/server/app/_global-error.rsc +1 -1
  351. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  352. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  353. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  354. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  355. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  356. package/web/.next/server/app/_not-found/page/build-manifest.json +2 -2
  357. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +6 -6
  358. package/web/.next/server/app/_not-found/page.js +2 -1
  359. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  360. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  361. package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
  362. package/web/.next/server/app/api/attachments/upload-from-path/route.js +1 -1
  363. package/web/.next/server/app/api/attachments/upload-from-path/route.js.nft.json +1 -1
  364. package/web/.next/server/app/api/dialog/pick-files/route.js.nft.json +1 -1
  365. package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
  366. package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
  367. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js.nft.json +1 -1
  368. package/web/.next/server/app/settings/page/build-manifest.json +2 -2
  369. package/web/.next/server/app/settings/page/server-reference-manifest.json +42 -18
  370. package/web/.next/server/app/settings/page.js +3 -2
  371. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  372. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  373. package/web/.next/server/app/skills/page/build-manifest.json +2 -2
  374. package/web/.next/server/app/skills/page/server-reference-manifest.json +11 -11
  375. package/web/.next/server/app/skills/page.js +2 -2
  376. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  377. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  378. package/web/.next/server/app/tools/page/build-manifest.json +2 -2
  379. package/web/.next/server/app/tools/page/server-reference-manifest.json +11 -11
  380. package/web/.next/server/app/tools/page.js +2 -2
  381. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  382. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  383. package/web/.next/server/app/version/page/build-manifest.json +2 -2
  384. package/web/.next/server/app/version/page/server-reference-manifest.json +6 -6
  385. package/web/.next/server/app/version/page.js +2 -1
  386. package/web/.next/server/app/version/page.js.nft.json +1 -1
  387. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  388. package/web/.next/server/chunks/[externals]__11vad82._.js +3 -0
  389. package/web/.next/server/chunks/[externals]__11vad82._.js.map +1 -0
  390. package/web/.next/server/chunks/[root-of-the-server]__0.2exzi._.js.map +1 -1
  391. package/web/.next/server/chunks/[root-of-the-server]__02xmnal._.js.map +1 -1
  392. package/web/.next/server/chunks/[root-of-the-server]__04jjtl_._.js.map +1 -1
  393. package/web/.next/server/chunks/[root-of-the-server]__07suer1._.js.map +1 -1
  394. package/web/.next/server/chunks/[root-of-the-server]__09118p2._.js.map +1 -1
  395. package/web/.next/server/chunks/[root-of-the-server]__0_.w-eb._.js.map +1 -1
  396. package/web/.next/server/chunks/[root-of-the-server]__0ip_e1x._.js.map +1 -1
  397. package/web/.next/server/chunks/{[root-of-the-server]__0ob3z53._.js → [root-of-the-server]__0l1p8bx._.js} +2 -2
  398. package/web/.next/server/chunks/{[root-of-the-server]__0ob3z53._.js.map → [root-of-the-server]__0l1p8bx._.js.map} +1 -1
  399. package/web/.next/server/chunks/[root-of-the-server]__0tb~wwk._.js +1 -1
  400. package/web/.next/server/chunks/[root-of-the-server]__13ni_ow._.js +20 -0
  401. package/web/.next/server/chunks/[root-of-the-server]__13ni_ow._.js.map +1 -0
  402. package/web/.next/server/chunks/ssr/0j.8_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_00~eq5i.js +3 -0
  403. package/web/.next/server/chunks/ssr/0j.8_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_00~eq5i.js.map +1 -0
  404. package/web/.next/server/chunks/ssr/0j.8_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_0979_c..js +3 -0
  405. package/web/.next/server/chunks/ssr/0j.8_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_0979_c..js.map +1 -0
  406. package/web/.next/server/chunks/ssr/0j.8_web__next-internal_server_app_(dashboard)_chat_page_actions_0dqll_1.js +3 -0
  407. package/web/.next/server/chunks/ssr/0j.8_web__next-internal_server_app_(dashboard)_chat_page_actions_0dqll_1.js.map +1 -0
  408. package/web/.next/server/chunks/ssr/0j.8_web_components_common_control-center-drawer_create-drawer-client_tsx_0g70fc5._.js +1 -1
  409. package/web/.next/server/chunks/ssr/0j.8_web_components_common_control-center-drawer_create-drawer-client_tsx_0g70fc5._.js.map +1 -1
  410. package/web/.next/server/chunks/ssr/0j.8_web_components_common_control-center-drawer_feature-drawer-client_tsx_104cna.._.js +2 -2
  411. package/web/.next/server/chunks/ssr/0j.8_web_components_common_control-center-drawer_feature-drawer-client_tsx_104cna.._.js.map +1 -1
  412. package/web/.next/server/chunks/ssr/0ukq_presentation_web_components_features_settings_settings-page-client_tsx_0j1uius._.js +1 -1
  413. package/web/.next/server/chunks/ssr/0ukq_presentation_web_components_features_settings_settings-page-client_tsx_0j1uius._.js.map +1 -1
  414. package/web/.next/server/chunks/ssr/11es_next_dist_0e36~wi._.js +1 -1
  415. package/web/.next/server/chunks/ssr/11y9_components_common_control-center-drawer_global-chat-drawer-client_tsx_03s32.q._.js +1 -1
  416. package/web/.next/server/chunks/ssr/11y9_components_common_control-center-drawer_global-chat-drawer-client_tsx_03s32.q._.js.map +1 -1
  417. package/web/.next/server/chunks/ssr/11y9_components_common_control-center-drawer_repository-drawer-client_tsx_09z.znp._.js +1 -1
  418. package/web/.next/server/chunks/ssr/11y9_components_common_control-center-drawer_repository-drawer-client_tsx_09z.znp._.js.map +1 -1
  419. package/web/.next/server/chunks/ssr/[root-of-the-server]__01~y8wi._.js +3 -0
  420. package/web/.next/server/chunks/ssr/[root-of-the-server]__01~y8wi._.js.map +1 -0
  421. package/web/.next/server/chunks/ssr/[root-of-the-server]__0np51e2._.js +3 -0
  422. package/web/.next/server/chunks/ssr/[root-of-the-server]__0np51e2._.js.map +1 -0
  423. package/web/.next/server/chunks/ssr/[root-of-the-server]__0qh.wn.._.js.map +1 -1
  424. package/web/.next/server/chunks/ssr/[root-of-the-server]__0rv1gci._.js +1 -1
  425. package/web/.next/server/chunks/ssr/[root-of-the-server]__0rv1gci._.js.map +1 -1
  426. package/web/.next/server/chunks/ssr/[root-of-the-server]__0uxn6-j._.js +3 -0
  427. package/web/.next/server/chunks/ssr/[root-of-the-server]__0uxn6-j._.js.map +1 -0
  428. package/web/.next/server/chunks/ssr/[root-of-the-server]__0~h382a._.js +3 -0
  429. package/web/.next/server/chunks/ssr/[root-of-the-server]__0~h382a._.js.map +1 -0
  430. package/web/.next/server/chunks/ssr/[root-of-the-server]__11-~i9u._.js +1 -1
  431. package/web/.next/server/chunks/ssr/[root-of-the-server]__11-~i9u._.js.map +1 -1
  432. package/web/.next/server/chunks/ssr/[root-of-the-server]__12g8h3_._.js +4 -0
  433. package/web/.next/server/chunks/ssr/[root-of-the-server]__12g8h3_._.js.map +1 -0
  434. package/web/.next/server/chunks/ssr/[root-of-the-server]__12qqi.~._.js +3 -0
  435. package/web/.next/server/chunks/ssr/[root-of-the-server]__12qqi.~._.js.map +1 -0
  436. package/web/.next/server/chunks/ssr/{_0sgeiju._.js → _01mq~sm._.js} +2 -2
  437. package/web/.next/server/chunks/ssr/{_0sgeiju._.js.map → _01mq~sm._.js.map} +1 -1
  438. package/web/.next/server/chunks/ssr/{_05h68we._.js → _05xlgp0._.js} +2 -2
  439. package/web/.next/server/chunks/ssr/{_05h68we._.js.map → _05xlgp0._.js.map} +1 -1
  440. package/web/.next/server/chunks/ssr/_0e5cv3q._.js +1 -1
  441. package/web/.next/server/chunks/ssr/_0e5cv3q._.js.map +1 -1
  442. package/web/.next/server/chunks/ssr/_0ez.1o4._.js +1 -1
  443. package/web/.next/server/chunks/ssr/_0ez.1o4._.js.map +1 -1
  444. package/web/.next/server/chunks/ssr/_0jpbsh_._.js +4 -0
  445. package/web/.next/server/chunks/ssr/_0jpbsh_._.js.map +1 -0
  446. package/web/.next/server/chunks/ssr/{_0ts70ov._.js → _0lkemih._.js} +2 -2
  447. package/web/.next/server/chunks/ssr/{_0ts70ov._.js.map → _0lkemih._.js.map} +1 -1
  448. package/web/.next/server/chunks/ssr/_0n.xy38._.js +3 -0
  449. package/web/.next/server/chunks/ssr/_0n.xy38._.js.map +1 -0
  450. package/web/.next/server/chunks/ssr/_0rvaoj4._.js +3 -0
  451. package/web/.next/server/chunks/ssr/_0rvaoj4._.js.map +1 -0
  452. package/web/.next/server/chunks/ssr/{_13e1_1b._.js → _0tk2.oz._.js} +2 -2
  453. package/web/.next/server/chunks/ssr/{_13e1_1b._.js.map → _0tk2.oz._.js.map} +1 -1
  454. package/web/.next/server/chunks/ssr/_0v.yfmg._.js +1 -1
  455. package/web/.next/server/chunks/ssr/_0v.yfmg._.js.map +1 -1
  456. package/web/.next/server/chunks/ssr/_0w-_hww._.js +1 -1
  457. package/web/.next/server/chunks/ssr/_0w-_hww._.js.map +1 -1
  458. package/web/.next/server/chunks/ssr/_11kuznh._.js +1 -1
  459. package/web/.next/server/chunks/ssr/_11kuznh._.js.map +1 -1
  460. package/web/.next/server/chunks/ssr/_13euo-f._.js +1 -1
  461. package/web/.next/server/chunks/ssr/_13euo-f._.js.map +1 -1
  462. package/web/.next/server/chunks/ssr/src_presentation_web_0.e4~xc._.js +3 -0
  463. package/web/.next/server/chunks/ssr/src_presentation_web_0.e4~xc._.js.map +1 -0
  464. package/web/.next/server/chunks/ssr/src_presentation_web_00dvh.m._.js +3 -0
  465. package/web/.next/server/chunks/ssr/src_presentation_web_00dvh.m._.js.map +1 -0
  466. package/web/.next/server/chunks/ssr/src_presentation_web_06b6~lt._.js +5 -0
  467. package/web/.next/server/chunks/ssr/src_presentation_web_06b6~lt._.js.map +1 -0
  468. package/web/.next/server/chunks/ssr/src_presentation_web_08fy2mf._.js +3 -0
  469. package/web/.next/server/chunks/ssr/src_presentation_web_08fy2mf._.js.map +1 -0
  470. package/web/.next/server/chunks/ssr/src_presentation_web_0f~udu1._.js +3 -0
  471. package/web/.next/server/chunks/ssr/src_presentation_web_0f~udu1._.js.map +1 -0
  472. package/web/.next/server/chunks/ssr/src_presentation_web_0qys821._.js +5 -0
  473. package/web/.next/server/chunks/ssr/src_presentation_web_0qys821._.js.map +1 -0
  474. package/web/.next/server/chunks/ssr/src_presentation_web_0q~dt0o._.js +3 -0
  475. package/web/.next/server/chunks/ssr/src_presentation_web_0q~dt0o._.js.map +1 -0
  476. package/web/.next/server/chunks/ssr/src_presentation_web_11jrkxt._.js +3 -0
  477. package/web/.next/server/chunks/ssr/src_presentation_web_11jrkxt._.js.map +1 -0
  478. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_1199d3x.js +3 -0
  479. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_1199d3x.js.map +1 -0
  480. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app__not-found_page_actions_0m2jqxx.js +3 -0
  481. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app__not-found_page_actions_0m2jqxx.js.map +1 -0
  482. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_version_page_actions_0krkh_0.js +3 -0
  483. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_version_page_actions_0krkh_0.js.map +1 -0
  484. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_load-settings_ts_0b8f3pf._.js +3 -0
  485. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_load-settings_ts_0b8f3pf._.js.map +1 -0
  486. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_0w2wqvu._.js +1 -1
  487. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_0w2wqvu._.js.map +1 -1
  488. package/web/.next/server/chunks/ssr/src_presentation_web_components_0sk2qdt._.js +1 -1
  489. package/web/.next/server/chunks/ssr/src_presentation_web_components_0sk2qdt._.js.map +1 -1
  490. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_0l3oxx9._.js +1 -1
  491. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_0l3oxx9._.js.map +1 -1
  492. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_tools_tools-page-client_tsx_0aji.op._.js +1 -1
  493. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_tools_tools-page-client_tsx_0aji.op._.js.map +1 -1
  494. package/web/.next/server/functions-config-manifest.json +11 -1
  495. package/web/.next/server/middleware/middleware-manifest.json +1 -27
  496. package/web/.next/server/middleware-build-manifest.js +5 -5
  497. package/web/.next/server/middleware-manifest.json +2 -32
  498. package/web/.next/server/middleware.js +5 -0
  499. package/web/.next/server/middleware.js.map +5 -0
  500. package/web/.next/server/middleware.js.nft.json +1 -0
  501. package/web/.next/server/pages/500.html +1 -1
  502. package/web/.next/server/server-reference-manifest.js +1 -1
  503. package/web/.next/server/server-reference-manifest.json +80 -56
  504. package/web/.next/static/chunks/{0xs4~af3nc_15.js → 05wxq..ljkx~8.js} +2 -2
  505. package/web/.next/static/chunks/{0bdtgeoys8bq..js → 08iuksm8rvb09.js} +1 -1
  506. package/web/.next/static/chunks/{0.2owry_sk_ak.js → 0ck_tvdt72yqk.js} +1 -1
  507. package/web/.next/static/chunks/0hz4voo3l~1q0.js +1 -0
  508. package/web/.next/static/chunks/0mff9v2tok0iu.js +1 -0
  509. package/web/.next/static/chunks/{01~tm1-qp0baa.js → 0r2mwqxc0v4n5.js} +1 -1
  510. package/web/.next/static/chunks/0r5dju6f1-i38.css +1 -0
  511. package/web/.next/static/chunks/{13xg0bjtuso~r.js → 0riti1bs-erm~.js} +1 -1
  512. package/web/.next/static/chunks/{0g-so1fagegtp.js → 0rxhygp1wctu0.js} +1 -1
  513. package/web/.next/static/chunks/{0qz02~wj25f-f.js → 0uydgl~tzc8jf.js} +1 -1
  514. package/web/.next/static/chunks/0v34l64-7uf8g.js +3 -0
  515. package/web/.next/static/chunks/{0vlx6s5d1~d-w.js → 0wmckrtphfa12.js} +1 -1
  516. package/web/.next/static/chunks/0ytegp-a66bg_.js +1 -0
  517. package/web/.next/static/chunks/{122mzkbtrj4-k.js → 0z996q2k3d.g0.js} +2 -2
  518. package/web/.next/static/chunks/{07lrq10rx0tp1.js → 0~er~22zwvx0i.js} +1 -1
  519. package/web/.next/static/chunks/{17jsatqy81xc..js → 10--deyd63evw.js} +2 -2
  520. package/web/.next/static/chunks/{0_9hv9_f66hur.js → 11dcv8ilx0i3p.js} +1 -1
  521. package/web/.next/static/chunks/{12pwrbjphv3z7.js → 139b_8tpi-94g.js} +1 -1
  522. package/web/.next/static/chunks/{0rnvcu2blaow4.js → 15m2wfd5k_7fj.js} +1 -1
  523. package/web/.next/static/chunks/{turbopack-10upsk2jydmq4.js → turbopack-0ve8f54_veg.u.js} +1 -1
  524. package/web/.next/static/{CJ4Fr1ggL4xWEe_fapYLv → g_IbOz_ALo2NrP2vhGtKn}/_clientMiddlewareManifest.js +1 -1
  525. package/web/public/apple-touch-icon.png +0 -0
  526. package/web/public/favicon-32x32.png +0 -0
  527. package/web/public/icon-192.png +0 -0
  528. package/web/public/icon-512.png +0 -0
  529. package/web/public/icons/agents/openai.svg +1 -1
  530. package/web/public/shipit-brain.png +0 -0
  531. package/web/public/shipit-icon.svg +68 -0
  532. package/web/public/shipit-logo.png +0 -0
  533. package/dist/src/presentation/web/components/common/shipit-ai-logo/shep-logo.d.ts.map +0 -1
  534. package/dist/src/presentation/web/components/common/shipit-ai-logo/shep-logo.js +0 -5
  535. package/dist/src/presentation/web/components/common/shipit-ai-logo/shep-logo.stories.d.ts.map +0 -1
  536. package/dist/src/presentation/web/middleware.d.ts.map +0 -1
  537. package/web/.next/server/chunks/ssr/[root-of-the-server]__0.j0ktf._.js +0 -4
  538. package/web/.next/server/chunks/ssr/[root-of-the-server]__0.j0ktf._.js.map +0 -1
  539. package/web/.next/server/chunks/ssr/[root-of-the-server]__07m44ax._.js +0 -3
  540. package/web/.next/server/chunks/ssr/[root-of-the-server]__07m44ax._.js.map +0 -1
  541. package/web/.next/server/chunks/ssr/[root-of-the-server]__0frgz11._.js +0 -4
  542. package/web/.next/server/chunks/ssr/[root-of-the-server]__0frgz11._.js.map +0 -1
  543. package/web/.next/server/chunks/ssr/[root-of-the-server]__0oi7r67._.js +0 -4
  544. package/web/.next/server/chunks/ssr/[root-of-the-server]__0oi7r67._.js.map +0 -1
  545. package/web/.next/server/chunks/ssr/[root-of-the-server]__0pti1a3._.js +0 -4
  546. package/web/.next/server/chunks/ssr/[root-of-the-server]__0pti1a3._.js.map +0 -1
  547. package/web/.next/server/chunks/ssr/[root-of-the-server]__0s9k_s3._.js +0 -4
  548. package/web/.next/server/chunks/ssr/[root-of-the-server]__0s9k_s3._.js.map +0 -1
  549. package/web/.next/server/chunks/ssr/[root-of-the-server]__0v-vmgt._.js +0 -4
  550. package/web/.next/server/chunks/ssr/[root-of-the-server]__0v-vmgt._.js.map +0 -1
  551. package/web/.next/server/chunks/ssr/[root-of-the-server]__0yky~xo._.js +0 -4
  552. package/web/.next/server/chunks/ssr/[root-of-the-server]__0yky~xo._.js.map +0 -1
  553. package/web/.next/server/chunks/ssr/[root-of-the-server]__11dc42t._.js +0 -4
  554. package/web/.next/server/chunks/ssr/[root-of-the-server]__11dc42t._.js.map +0 -1
  555. package/web/.next/server/chunks/ssr/_0__4si~._.js +0 -4
  556. package/web/.next/server/chunks/ssr/_0__4si~._.js.map +0 -1
  557. package/web/.next/server/chunks/ssr/_0_m17kl._.js +0 -4
  558. package/web/.next/server/chunks/ssr/_0_m17kl._.js.map +0 -1
  559. package/web/.next/server/chunks/ssr/_0d4miu.._.js +0 -4
  560. package/web/.next/server/chunks/ssr/_0d4miu.._.js.map +0 -1
  561. package/web/.next/server/chunks/ssr/_0e8ern9._.js +0 -4
  562. package/web/.next/server/chunks/ssr/_0e8ern9._.js.map +0 -1
  563. package/web/.next/server/chunks/ssr/_0hovej-._.js +0 -6
  564. package/web/.next/server/chunks/ssr/_0hovej-._.js.map +0 -1
  565. package/web/.next/server/chunks/ssr/_0p3zs6p._.js +0 -3
  566. package/web/.next/server/chunks/ssr/_0p3zs6p._.js.map +0 -1
  567. package/web/.next/server/chunks/ssr/_0qpq3xl._.js +0 -3
  568. package/web/.next/server/chunks/ssr/_0qpq3xl._.js.map +0 -1
  569. package/web/.next/server/chunks/ssr/_0r.3n~3._.js +0 -4
  570. package/web/.next/server/chunks/ssr/_0r.3n~3._.js.map +0 -1
  571. package/web/.next/server/chunks/ssr/_0t59q8r._.js +0 -4
  572. package/web/.next/server/chunks/ssr/_0t59q8r._.js.map +0 -1
  573. package/web/.next/server/chunks/ssr/_0zk-h5w._.js +0 -4
  574. package/web/.next/server/chunks/ssr/_0zk-h5w._.js.map +0 -1
  575. package/web/.next/server/chunks/ssr/_0~ev6dw._.js +0 -6
  576. package/web/.next/server/chunks/ssr/_0~ev6dw._.js.map +0 -1
  577. package/web/.next/server/chunks/ssr/_1161g9x._.js +0 -4
  578. package/web/.next/server/chunks/ssr/_1161g9x._.js.map +0 -1
  579. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_05m2q~u.js +0 -3
  580. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_05m2q~u.js.map +0 -1
  581. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_0.6zk.t.js +0 -3
  582. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_0.6zk.t.js.map +0 -1
  583. package/web/.next/server/edge/chunks/0pax_next_dist_esm_build_templates_edge-wrapper_0atr6ca.js +0 -3
  584. package/web/.next/server/edge/chunks/11es_next_dist_esm_build_templates_edge-wrapper_0atr6ca.js.map +0 -1
  585. package/web/.next/server/edge/chunks/11es_next_dist_esm_build_templates_edge-wrapper_0xg0zx-.js +0 -3
  586. package/web/.next/server/edge/chunks/11es_next_dist_esm_build_templates_edge-wrapper_0xg0zx-.js.map +0 -1
  587. package/web/.next/server/edge/chunks/[root-of-the-server]__0m078x4._.js +0 -11
  588. package/web/.next/server/edge/chunks/[root-of-the-server]__0m078x4._.js.map +0 -1
  589. package/web/.next/static/chunks/0dr6q94jmx86b.css +0 -1
  590. package/web/.next/static/chunks/0in40lx7y7f8o.js +0 -1
  591. package/web/.next/static/chunks/0rv6fo9ui94r9.js +0 -1
  592. package/web/.next/static/chunks/0t82zfhqgor5r.js +0 -1
  593. package/web/.next/static/chunks/0whetjaoa5y.l.js +0 -3
  594. package/web/public/favicon-dark.svg +0 -6
  595. package/web/public/favicon-light.svg +0 -6
  596. /package/web/.next/static/{CJ4Fr1ggL4xWEe_fapYLv → g_IbOz_ALo2NrP2vhGtKn}/_buildManifest.js +0 -0
  597. /package/web/.next/static/{CJ4Fr1ggL4xWEe_fapYLv → g_IbOz_ALo2NrP2vhGtKn}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,83843,e=>{"use strict";let a=(0,e.i(3645).default)("chevrons-up-down",[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]]);e.s(["ChevronsUpDown",0,a],83843)},36479,e=>{"use strict";var a=e.i(96871),t=e.i(16539),s=e.i(33109),r=e.i(60112),o=e.i(96976);let n=(0,o.createServerReference)("40ade405f5a04f4e00082946d25292d5d552f6c5f6",o.callServer,void 0,o.findSourceMapURL,"adoptBranch"),l=(0,o.createServerReference)("4094527e453a8b21b45b084d78a8d5a9e1444034f3",o.callServer,void 0,o.findSourceMapURL,"listBranches");var i=e.i(23925),c=e.i(97667),d=e.i(83843),p=e.i(49228),h=e.i(83428);e.i(1650);var u=e.i(11495),m=e.i(45811),x=e.i(35364),f=e.i(98127),b=e.i(41957),v=e.i(66459),g=e.i(31777);let j=t.forwardRef(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,g.cn)("bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",e),...t}));j.displayName="Command";let w=t.forwardRef(({className:e,...t},s)=>(0,a.jsxs)("div",{className:"flex items-center border-b px-3",children:[(0,a.jsx)(v.Search,{className:"me-2 h-4 w-4 shrink-0 opacity-50"}),(0,a.jsx)("input",{ref:s,className:(0,g.cn)("placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none disabled:cursor-not-allowed disabled:opacity-50",e),...t})]}));w.displayName="CommandInput";let N=t.forwardRef(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,g.cn)("max-h-[300px] overflow-x-hidden overflow-y-auto",e),...t}));N.displayName="CommandList";let y=t.forwardRef(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,g.cn)("text-muted-foreground py-6 text-center text-sm",e),...t}));y.displayName="CommandEmpty";let C=t.forwardRef(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,g.cn)("text-foreground overflow-hidden p-1",e),...t}));C.displayName="CommandGroup";let S=t.forwardRef(({className:e,selected:t,...s},r)=>(0,a.jsx)("button",{ref:r,type:"button","data-selected":t,className:(0,g.cn)("relative flex w-full cursor-default items-center rounded-sm px-2 py-1.5 text-sm transition-colors outline-none select-none","hover:bg-accent hover:text-accent-foreground","data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground","disabled:pointer-events-none disabled:opacity-50",e),...s}));S.displayName="CommandItem",t.forwardRef(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,g.cn)("bg-border -mx-1 h-px",e),...t})).displayName="CommandSeparator";var k=e.i(90382);function R({open:e,onClose:s,onSubmit:r,isSubmitting:o=!1,error:n,repositories:l=[],selectedRepositoryPath:v,onRepositoryChange:L,branches:B=[],branchesLoading:P=!1}){let[E,D]=(0,t.useState)(""),[T,I]=(0,t.useState)(!1),[U,A]=(0,t.useState)(""),O=(0,t.useRef)(null),[F,G]=(0,t.useState)(!1),[K,M]=(0,t.useState)(""),$=(0,t.useRef)(null),z=l.find(e=>e.path===v),W=!!v;(0,t.useEffect)(()=>{e||(D(""),A(""),I(!1),G(!1),M(""))},[e]),(0,t.useEffect)(()=>{D(""),A("")},[v]);let q=(0,t.useCallback)(e=>{e.preventDefault();let a=E.trim();a&&v&&!o&&r(a,v)},[E,v,o,r]),H=(0,t.useCallback)(()=>{D(""),A(""),s()},[s]),J=(0,t.useCallback)(e=>{D(e),A(e),I(!1)},[]),Q=(0,t.useCallback)(e=>{A(e.target.value),T||I(!0)},[T]),V=(0,t.useCallback)(e=>{if("Enter"===e.key){e.preventDefault();let a=U.trim();a&&(D(a),I(!1))}"Escape"===e.key&&(I(!1),A(E))},[U,E]),X=(0,t.useCallback)(e=>{L?.(e),G(!1),M("")},[L]),Y=B.filter(e=>e.toLowerCase().includes(U.toLowerCase())),Z=K.trim()?l.filter(e=>e.name.toLowerCase().includes(K.toLowerCase())||e.path.toLowerCase().includes(K.toLowerCase())):l;(0,t.useEffect)(()=>{F?setTimeout(()=>$.current?.focus(),0):M("")},[F]);let _=!E.trim()||!v||o,ee=(0,a.jsxs)("div",{children:[(0,a.jsxs)(m.DrawerTitle,{className:"flex items-center gap-2",children:[(0,a.jsx)(p.GitBranch,{className:"h-4 w-4"}),"Adopt Branch"]}),(0,a.jsx)(m.DrawerDescription,{className:"text-muted-foreground text-sm",children:"Import an existing git branch into ShipIT's feature tracking"})]});return(0,a.jsx)(u.BaseDrawer,{open:e,onClose:H,size:"sm",modal:!1,header:ee,"data-testid":"adopt-branch-drawer",children:(0,a.jsxs)("form",{onSubmit:q,className:"flex flex-1 flex-col",children:[(0,a.jsx)("div",{className:"flex-1 overflow-y-auto p-4",children:(0,a.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)(b.Label,{children:"Repository"}),(0,a.jsxs)(k.Popover,{open:F,onOpenChange:G,children:[(0,a.jsx)(k.PopoverTrigger,{asChild:!0,children:(0,a.jsxs)("button",{type:"button",role:"combobox","aria-expanded":F,"aria-label":"Repository",disabled:o,"data-testid":"adopt-repo-combobox",className:(0,g.cn)("border-input bg-background ring-offset-background focus:ring-ring flex h-9 w-full items-center justify-between rounded-md border px-3 py-2 text-sm focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50",!z&&"text-muted-foreground"),children:[(0,a.jsx)("span",{className:"truncate",children:z?z.name:"Select repository..."}),(0,a.jsx)(d.ChevronsUpDown,{className:"ms-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,a.jsx)(k.PopoverContent,{className:"w-80 p-0",align:"start","data-testid":"adopt-repo-combobox-content",children:(0,a.jsxs)("div",{className:"flex flex-col",children:[(0,a.jsx)("div",{className:"border-b p-2",children:(0,a.jsx)(f.Input,{ref:$,placeholder:"Search repositories...",value:K,onChange:e=>M(e.target.value),className:"h-8 border-0 p-0 text-sm shadow-none focus-visible:ring-0","data-testid":"adopt-repo-search"})}),(0,a.jsx)("div",{className:"max-h-48 overflow-y-auto py-1",role:"listbox","aria-label":"Repositories",children:0===Z.length?(0,a.jsx)("p",{className:"text-muted-foreground px-3 py-2 text-sm",children:"No repositories found."}):Z.map(e=>(0,a.jsxs)("button",{type:"button",role:"option","aria-selected":v===e.path,onClick:()=>X(e.path),className:(0,g.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",v===e.path&&"bg-accent/50"),"data-testid":`adopt-repo-option-${e.id}`,children:[(0,a.jsx)(c.CheckIcon,{className:(0,g.cn)("h-4 w-4 shrink-0",v!==e.path&&"invisible")}),(0,a.jsxs)("span",{className:"flex flex-col items-start truncate",children:[(0,a.jsx)("span",{className:"truncate",children:e.name}),(0,a.jsx)("span",{className:"text-muted-foreground truncate text-xs",children:e.path})]})]},e.id))})]})})]}),(0,a.jsx)("p",{className:"text-muted-foreground text-xs",children:"Select the repository that contains the branch you want to adopt."})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)(b.Label,{htmlFor:"branch-name",children:"Branch name"}),(0,a.jsxs)(k.Popover,{open:T,onOpenChange:I,children:[(0,a.jsx)(k.PopoverTrigger,{asChild:!0,children:(0,a.jsxs)(x.Button,{variant:"outline",role:"combobox","aria-expanded":T,"aria-invalid":!!n,"aria-describedby":n?"adopt-branch-error-msg":void 0,disabled:o||!W,className:"w-full justify-between font-normal","data-testid":"adopt-branch-input",children:[(0,a.jsx)("span",{className:"truncate",children:W?P?"Loading branches...":E||"Select a branch...":"Select a repository first..."}),(0,a.jsx)(d.ChevronsUpDown,{className:"ms-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,a.jsx)(k.PopoverContent,{className:"w-[var(--radix-popover-trigger-width)] p-0",align:"start",children:(0,a.jsxs)(j,{children:[(0,a.jsx)(w,{ref:O,placeholder:"Search branches...",value:U,onChange:Q,onKeyDown:V,"data-testid":"adopt-branch-search"}),(0,a.jsxs)(N,{children:[!P&&0===Y.length&&(0,a.jsx)(y,{children:0===B.length?"No branches found.":U?"No match — press Enter to use this value.":"No branches available."}),P?(0,a.jsx)(y,{children:(0,a.jsx)(h.Loader2,{className:"mx-auto h-4 w-4 animate-spin"})}):null,Y.length>0&&(0,a.jsx)(C,{children:Y.map(e=>(0,a.jsxs)(S,{selected:e===E,onClick:()=>J(e),children:[(0,a.jsx)(i.Check,{className:(0,g.cn)("me-2 h-4 w-4",e===E?"opacity-100":"opacity-0")}),(0,a.jsx)(p.GitBranch,{className:"me-2 h-3 w-3 opacity-50"}),e]},e))})]})]})})]}),(0,a.jsx)("p",{className:"text-muted-foreground text-xs",children:W?"Select a branch from the dropdown or type to search. Local and remote branches are shown.":"Please select a repository above to see available branches."})]}),n?(0,a.jsx)("p",{id:"adopt-branch-error-msg",className:"text-destructive text-sm",role:"alert","data-testid":"adopt-branch-error",children:n}):null]})}),(0,a.jsx)("div",{className:"border-t p-4",children:(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)(x.Button,{type:"button",variant:"outline",onClick:H,disabled:o,className:"flex-1",children:"Cancel"}),(0,a.jsx)(x.Button,{type:"submit",disabled:_,className:"flex-1","data-testid":"adopt-branch-submit",children:o?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(h.Loader2,{className:"me-2 h-4 w-4 animate-spin"}),"Adopting..."]}):"Adopt Branch"})]})})]})})}e.s(["AdoptDrawerClient",0,function({repositoryPath:e,repositories:o}){let i=(0,s.useRouter)(),c=(0,s.usePathname)(),[d,p]=(0,t.useState)(!1),[h,u]=(0,t.useState)(),[m,x]=(0,t.useState)([]),[f,b]=(0,t.useState)(!1),[v,g]=(0,t.useState)(e),j=c.startsWith("/adopt"),w=!d&&j;(0,t.useEffect)(()=>{!j&&d&&p(!1)},[j,d]),(0,t.useEffect)(()=>{j&&(u(void 0),g(e))},[j,e]),(0,t.useEffect)(()=>{j&&v?(b(!0),x([]),l(v).then(x).catch(()=>x([])).finally(()=>b(!1))):x([])},[j,v]);let N=(0,t.useCallback)(()=>{i.push("/")},[i]),y=(0,t.useCallback)(e=>{g(e)},[]),C=(0,t.useCallback)((e,a)=>{u(void 0),p(!0),i.push("/"),n({branchName:e,repositoryPath:a}).then(e=>{e.error?r.toast.error(e.error):(window.dispatchEvent(new CustomEvent("shipit-ai:feature-created",{detail:{featureId:e.feature.id,name:e.feature.name,description:e.feature.description,repositoryPath:e.feature.repositoryPath}})),r.toast.success(`Branch adopted as "${e.feature.name}"`))}).catch(()=>{r.toast.error("Failed to adopt branch"),p(!1)})},[i]);return(0,a.jsx)(R,{open:w,onClose:N,onSubmit:C,isSubmitting:d,error:h,repositories:o,selectedRepositoryPath:v,onRepositoryChange:y,branches:m,branchesLoading:f})}],36479)}]);
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,24042,64970,e=>{"use strict";var t=e.i(3645);let n=(0,t.default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);e.s(["Play",0,n],24042);let r=(0,t.default)("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);e.s(["Square",0,r],64970)},72714,e=>{"use strict";var t=e.i(96871),n=e.i(83428),r=e.i(51251),a=e.i(31777),o=e.i(35364),l=e.i(8361);e.s(["ActionButton",0,function({label:e,onClick:i,loading:u,error:s,icon:d,iconOnly:c=!1,variant:f="outline",size:p="sm"}){let m=(0,l.useSoundAction)("click");return(0,t.jsxs)(o.Button,{variant:f,size:p,"aria-label":e,disabled:u,onClick:()=>{m.play(),i()},className:(0,a.cn)("gap-1.5",s&&"text-destructive hover:text-destructive",!s&&c&&"ghost"===f&&"text-muted-foreground cursor-pointer rounded-full transition-colors hover:text-blue-500"),children:[u?(0,t.jsx)(n.Loader2,{className:"size-4 animate-spin"}):s?(0,t.jsx)(r.CircleAlert,{className:"size-4"}):(0,t.jsx)(d,{className:"size-4"}),c?null:e]})}])},8537,e=>{"use strict";var t=e.i(16539),n=e.i(18354),r=e.i(96976);let a=(0,r.createServerReference)("4055de7f63ae346239d72436a0a2ac5831b046abec",r.callServer,void 0,r.findSourceMapURL,"deployFeature"),o=(0,r.createServerReference)("407a3efc64255473b744b86906dca1d8dabfd7b539",r.callServer,void 0,r.findSourceMapURL,"deployRepository"),l=(0,r.createServerReference)("40f4debde51acb81cfaab44867c666529b892f3ab5",r.callServer,void 0,r.findSourceMapURL,"stopDeployment"),i=(0,r.createServerReference)("40af4bded9712ab861e45bb4927a6fb6c4e234ac3c",r.callServer,void 0,r.findSourceMapURL,"getDeploymentStatus"),u=(0,n.createLogger)("[useDeployAction]");e.s(["useDeployAction",0,function(e){let[n,r]=(0,t.useState)(!1),[s,d]=(0,t.useState)(!1),[c,f]=(0,t.useState)(null),[p,m]=(0,t.useState)(null),[g,h]=(0,t.useState)(null),v=(0,t.useRef)(null),w=(0,t.useRef)(!0),y=(0,t.useRef)(p);(0,t.useEffect)(()=>{y.current=p},[p]),(0,t.useEffect)(()=>(w.current=!0,()=>{w.current=!1}),[]),(0,t.useEffect)(()=>()=>{v.current&&clearInterval(v.current)},[]);let x=(0,t.useCallback)(()=>{v.current&&(u.debug("stopping polling"),clearInterval(v.current),v.current=null)},[]),b=(0,t.useCallback)(e=>{x(),u.debug(`starting polling for "${e}" every 3000ms`),v.current=setInterval(async()=>{let t;if(!w.current)return void x();try{t=await i(e)}catch(t){u.warn(`poll fetch failed for "${e}":`,t),w.current&&(m(null),h(null),x());return}w.current&&(t&&"Stopped"!==t.state?(t.state!==y.current&&u.info(`poll state changed: ${y.current} → ${t.state}, url=${t.url}`),m(t.state),h(t.url)):(u.info(`poll result: ${t?`state=${t.state}`:"null (deployment gone)"} — stopping poll`),m(null),h(null),x()))},3e3)},[x]),j=(0,t.useCallback)(async()=>{if(!e)return void u.warn("deploy() called but input is null — no-op");if(n)return void u.warn("deploy() called but already loading — no-op");u.info(`deploy() — targetType="${e.targetType}", targetId="${e.targetId}", repositoryPath="${e.repositoryPath}"`),r(!0),f(null);try{let t="feature"===e.targetType?await a(e.targetId):await o(e.repositoryPath);if(u.info("server action result:",t),!w.current)return void u.warn("component unmounted after deploy — discarding result");if(t.success)u.info(`deploy succeeded — initial state=${t.state}, starting polling`),m(t.state??null),h(null),b(e.targetId);else{let e=t.error??"An unexpected error occurred";u.warn(`deploy failed: ${e}`),f(e)}}catch(t){if(!w.current)return;let e=t instanceof Error?t.message:"An unexpected error occurred";u.error(`deploy threw exception: ${e}`,t),f(e)}finally{w.current&&r(!1)}},[e,n,b]),T=(0,t.useCallback)(async()=>{if(e&&!s){u.info(`stop() — targetId="${e.targetId}"`),d(!0);try{let t=await l(e.targetId);if(u.info("stop result:",t),!w.current)return;t.success&&(x(),m(null),h(null))}catch(e){u.warn("stop error (non-critical):",e)}finally{w.current&&d(!1)}}},[e,s,x]);return{deploy:j,stop:T,deployLoading:n,stopLoading:s,deployError:c,status:p,url:g}}],8537)},81803,e=>{"use strict";e.i(72714),e.s([])},56719,e=>{"use strict";var t=e.i(62854);e.s(["FocusScope",0,t])},99348,17466,45811,e=>{"use strict";let t;var n=e.i(96871),r=e.i(16539),a=e.i(83428),o=e.i(30702),l=e.i(38573),i=e.i(17406),u=e.i(2828),s=e.i(2287),d=e.i(96976);let c=(0,d.createServerReference)("40394c5890ca63e6fc8243aff4686a4b2865c2ae5c",d.callServer,void 0,d.findSourceMapURL,"getDeploymentLogs");function f({open:e,onOpenChange:t,targetId:a}){let{logs:o,isConnected:l}=function(e){let[t,n]=(0,r.useState)([]),[a,o]=(0,r.useState)(!1),l=(0,r.useRef)(null),i=(0,r.useCallback)(()=>{l.current&&(l.current.close(),l.current=null),o(!1)},[]);return(0,r.useEffect)(()=>{if(!e){n([]),o(!1);return}c(e).then(e=>{e&&n(e)}).catch(()=>{});let t=new EventSource(`/api/deployment-logs?targetId=${e}`);return l.current=t,t.onopen=()=>{o(!0)},t.addEventListener("log",e=>{let t=JSON.parse(e.data);n(e=>[...e,t])}),t.onerror=()=>{o(!1)},()=>{t.close(),l.current=null}},[e,i]),{logs:t,isConnected:a}}(e?a:null);return(0,n.jsx)(p,{open:e,onOpenChange:t,logs:o,isConnected:l})}function p({open:e,onOpenChange:t,logs:a,isConnected:o}){let i=(0,r.useRef)(null),u=(0,r.useRef)(!0),d=(0,r.useCallback)(()=>{let e=i.current;e&&(u.current=e.scrollTop+e.clientHeight>=e.scrollHeight-50)},[]);return(0,r.useEffect)(()=>{u.current&&i.current&&(i.current.scrollTop=i.current.scrollHeight)},[a]),(0,n.jsx)(s.Dialog,{open:e,onOpenChange:t,children:(0,n.jsxs)(s.DialogContent,{className:"flex h-[calc(100vh-48px)] max-h-[calc(100vh-48px)] w-full max-w-[calc(100vw-48px)] flex-col gap-0 bg-zinc-950 p-0 text-zinc-100 sm:rounded-lg","aria-describedby":void 0,children:[(0,n.jsxs)(s.DialogHeader,{className:"flex flex-row items-center justify-between border-b border-zinc-800 px-4 py-3",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(l.Terminal,{className:"h-4 w-4 text-zinc-400"}),(0,n.jsx)(s.DialogTitle,{className:"text-sm font-medium text-zinc-100",children:"Server Logs"})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2 pe-8",children:[(0,n.jsx)("span",{className:`inline-block h-2 w-2 rounded-full ${o?"bg-green-500":"bg-zinc-500"}`}),(0,n.jsx)("span",{className:"text-xs text-zinc-400",children:o?"Connected":"Disconnected"})]})]}),(0,n.jsxs)("div",{ref:i,onScroll:d,className:"flex-1 overflow-auto p-4 font-mono text-sm leading-relaxed",children:[0===a.length?(0,n.jsx)("p",{className:"text-zinc-500",children:"Waiting for log output..."}):a.map(e=>(0,n.jsx)(m,{entry:e},`${e.timestamp}-${e.stream}-${e.line}`)),!o&&a.length>0&&(0,n.jsx)("div",{className:"mt-2 border-t border-zinc-800 pt-2 text-zinc-500",children:"[Server stopped]"})]})]})})}function m({entry:e}){return(0,n.jsx)("div",{"data-stream":e.stream,className:"stderr"===e.stream?"text-red-400":"text-zinc-200",children:(0,n.jsx)("span",{className:"break-all whitespace-pre-wrap",children:e.line})})}let g="text-muted-foreground hover:bg-foreground/8 hover:text-foreground inline-flex size-7 items-center justify-center rounded-[3px]";e.s(["DeploymentStatusBadge",0,function({status:e,url:t,targetId:s}){let[d,c]=(0,r.useState)(!1),p=s&&(e===i.DeploymentState.Booting||e===i.DeploymentState.Ready);switch(e){case i.DeploymentState.Booting:return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"flex items-center gap-1 pl-1",children:[(0,n.jsx)(a.Loader2,{className:"size-3 animate-spin text-blue-500"}),(0,n.jsx)("span",{className:"text-muted-foreground text-[11px]",children:"Starting..."}),p?(0,n.jsx)(u.TooltipProvider,{delayDuration:300,children:(0,n.jsxs)(u.Tooltip,{children:[(0,n.jsx)(u.TooltipTrigger,{asChild:!0,children:(0,n.jsx)("button",{type:"button","aria-label":"View server logs",className:g,onClick:e=>{e.stopPropagation(),c(!0)},children:(0,n.jsx)(l.Terminal,{className:"size-3.5"})})}),(0,n.jsx)(u.TooltipContent,{side:"bottom",className:"text-xs",children:"Server logs"})]})}):null]}),p?(0,n.jsx)(f,{open:d,onOpenChange:c,targetId:s}):null]});case i.DeploymentState.Ready:return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"flex translate-y-px items-center gap-1 pl-1",children:[(0,n.jsx)("span",{className:"inline-block size-1.5 rounded-full bg-green-500"}),t?(0,n.jsxs)("a",{href:t,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-0.5 text-[11px] text-green-600 hover:text-green-500 dark:text-green-400 dark:hover:text-green-300",onClick:e=>e.stopPropagation(),children:[t,(0,n.jsx)(o.ExternalLink,{className:"size-2.5 shrink-0"})]}):(0,n.jsx)("span",{className:"text-[11px] text-green-600 dark:text-green-400",children:"Ready"}),p?(0,n.jsx)(u.TooltipProvider,{delayDuration:300,children:(0,n.jsxs)(u.Tooltip,{children:[(0,n.jsx)(u.TooltipTrigger,{asChild:!0,children:(0,n.jsx)("button",{type:"button","aria-label":"View server logs",className:g,onClick:e=>{e.stopPropagation(),c(!0)},children:(0,n.jsx)(l.Terminal,{className:"size-3.5"})})}),(0,n.jsx)(u.TooltipContent,{side:"bottom",className:"text-xs",children:"Server logs"})]})}):null]}),p?(0,n.jsx)(f,{open:d,onOpenChange:c,targetId:s}):null]});default:return null}}],17466),e.s([],99348);var h=e.i(48249),v=e.i(94983);let w=r.default.createContext({drawerRef:{current:null},overlayRef:{current:null},onPress:()=>{},onRelease:()=>{},onDrag:()=>{},onNestedDrag:()=>{},onNestedOpenChange:()=>{},onNestedRelease:()=>{},openProp:void 0,dismissible:!1,isOpen:!1,isDragging:!1,keyboardIsOpen:{current:!1},snapPointsOffset:null,snapPoints:null,handleOnly:!1,modal:!1,shouldFade:!1,activeSnapPoint:null,onOpenChange:()=>{},setActiveSnapPoint:()=>{},closeDrawer:()=>{},direction:"bottom",shouldAnimate:{current:!0},shouldScaleBackground:!1,setBackgroundColorOnScale:!0,noBodyStyles:!1,container:null,autoFocus:!1}),y=()=>{let e=r.default.useContext(w);if(!e)throw Error("useDrawerContext must be used within a Drawer.Root");return e};function x(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function b(){return j(/^iPhone/)||j(/^iPad/)||j(/^Mac/)&&navigator.maxTouchPoints>1}function j(e){return"u">typeof window&&null!=window.navigator?e.test(window.navigator.platform):void 0}!function(e){if(!e||"u"<typeof document)return;let t=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css",t.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}("[data-vaul-drawer]{touch-action:none;will-change:transform;transition:transform .5s cubic-bezier(.32, .72, 0, 1);animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=open]{animation-name:slideFromBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=closed]{animation-name:slideToBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=open]{animation-name:slideFromTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=closed]{animation-name:slideToTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=open]{animation-name:slideFromLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=closed]{animation-name:slideToLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=open]{animation-name:slideFromRight}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=closed]{animation-name:slideToRight}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--initial-transform,100%),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--initial-transform,100%),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-overlay][data-vaul-snap-points=false]{animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-overlay][data-vaul-snap-points=false][data-state=open]{animation-name:fadeIn}[data-vaul-overlay][data-state=closed]{animation-name:fadeOut}[data-vaul-animate=false]{animation:none!important}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:0;transition:opacity .5s cubic-bezier(.32, .72, 0, 1)}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:1}[data-vaul-drawer]:not([data-vaul-custom-container=true])::after{content:'';position:absolute;background:inherit;background-color:inherit}[data-vaul-drawer][data-vaul-drawer-direction=top]::after{top:initial;bottom:100%;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=bottom]::after{top:100%;bottom:initial;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=left]::after{left:initial;right:100%;top:0;bottom:0;width:200%}[data-vaul-drawer][data-vaul-drawer-direction=right]::after{left:100%;right:initial;top:0;bottom:0;width:200%}[data-vaul-overlay][data-vaul-snap-points=true]:not([data-vaul-snap-points-overlay=true]):not(\n[data-state=closed]\n){opacity:0}[data-vaul-overlay][data-vaul-snap-points-overlay=true]{opacity:1}[data-vaul-handle]{display:block;position:relative;opacity:.7;background:#e2e2e4;margin-left:auto;margin-right:auto;height:5px;width:32px;border-radius:1rem;touch-action:pan-y}[data-vaul-handle]:active,[data-vaul-handle]:hover{opacity:1}[data-vaul-handle-hitarea]{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max(100%,2.75rem);height:max(100%,2.75rem);touch-action:inherit}@media (hover:hover) and (pointer:fine){[data-vaul-drawer]{user-select:none}}@media (pointer:fine){[data-vaul-handle-hitarea]:{width:100%;height:100%}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeOut{to{opacity:0}}@keyframes slideFromBottom{from{transform:translate3d(0,var(--initial-transform,100%),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToBottom{to{transform:translate3d(0,var(--initial-transform,100%),0)}}@keyframes slideFromTop{from{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToTop{to{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}}@keyframes slideFromLeft{from{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToLeft{to{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}}@keyframes slideFromRight{from{transform:translate3d(var(--initial-transform,100%),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToRight{to{transform:translate3d(var(--initial-transform,100%),0,0)}}");let T="u">typeof window?r.useLayoutEffect:r.useEffect;function C(...e){return(...t)=>{for(let n of e)"function"==typeof n&&n(...t)}}let R="u">typeof document&&window.visualViewport;function D(e){let t=window.getComputedStyle(e);return/(auto|scroll)/.test(t.overflow+t.overflowX+t.overflowY)}function E(e){for(D(e)&&(e=e.parentElement);e&&!D(e);)e=e.parentElement;return e||document.scrollingElement||document.documentElement}let S=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]),k=0;function N(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}function $(e){let t=document.scrollingElement||document.documentElement;for(;e&&e!==t;){let t=E(e);if(t!==document.documentElement&&t!==document.body&&t!==e){let n=t.getBoundingClientRect().top,r=e.getBoundingClientRect().top;e.getBoundingClientRect().bottom>t.getBoundingClientRect().bottom+24&&(t.scrollTop+=r-n)}e=t.parentElement}}function P(e){return e instanceof HTMLInputElement&&!S.has(e.type)||e instanceof HTMLTextAreaElement||e instanceof HTMLElement&&e.isContentEditable}function M(...e){return r.useCallback(function(...e){return t=>e.forEach(e=>{"function"==typeof e?e(t):null!=e&&(e.current=t)})}(...e),e)}let z=new WeakMap;function O(e,t,n=!1){if(!e||!(e instanceof HTMLElement))return;let r={};Object.entries(t).forEach(([t,n])=>{t.startsWith("--")?e.style.setProperty(t,n):(r[t]=e.style[t],e.style[t]=n)}),n||z.set(e,r)}let L=e=>{switch(e){case"top":case"bottom":return!0;case"left":case"right":return!1;default:return e}};function F(e,t){if(!e)return null;let n=window.getComputedStyle(e),r=n.transform||n.webkitTransform||n.mozTransform,a=r.match(/^matrix3d\((.+)\)$/);return a?parseFloat(a[1].split(", ")[L(t)?13:12]):(a=r.match(/^matrix\((.+)\)$/))?parseFloat(a[1].split(", ")[L(t)?5:4]):null}function B(e,t){if(!e)return()=>{};let n=e.style.cssText;return Object.assign(e.style,t),()=>{e.style.cssText=n}}let A=[.32,.72,0,1],I="vaul-dragging";function H(e){let t=r.default.useRef(e);return r.default.useEffect(()=>{t.current=e}),r.default.useMemo(()=>(...e)=>null==t.current?void 0:t.current.call(t,...e),[])}function W({prop:e,defaultProp:t,onChange:n=()=>{}}){let[a,o]=function({defaultProp:e,onChange:t}){let n=r.default.useState(e),[a]=n,o=r.default.useRef(a),l=H(t);return r.default.useEffect(()=>{o.current!==a&&(l(a),o.current=a)},[a,o,l]),n}({defaultProp:t,onChange:n}),l=void 0!==e,i=l?e:a,u=H(n);return[i,r.default.useCallback(t=>{if(l){let n="function"==typeof t?t(e):t;n!==e&&u(n)}else o(t)},[l,e,o,u])]}let q=()=>()=>{},U=null;function Y({open:e,onOpenChange:n,children:a,onDrag:o,onRelease:l,snapPoints:i,shouldScaleBackground:u=!1,setBackgroundColorOnScale:s=!0,closeThreshold:d=.25,scrollLockTimeout:c=100,dismissible:f=!0,handleOnly:p=!1,fadeFromIndex:m=i&&i.length-1,activeSnapPoint:g,setActiveSnapPoint:h,fixed:y,modal:j=!0,onClose:D,nested:S,noBodyStyles:M=!1,direction:B="bottom",defaultOpen:H=!1,disablePreventScroll:q=!0,snapToSequentialPoint:X=!1,preventScrollRestoration:V=!1,repositionInputs:K=!0,onAnimationEnd:J,container:_,autoFocus:G=!1}){var Q,Z;let[ee=!1,et]=W({defaultProp:H,prop:e,onChange:e=>{null==n||n(e),e||S||eP(),setTimeout(()=>{null==J||J(e)},500),e&&!j&&"u">typeof window&&window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"}),e||(document.body.style.pointerEvents="auto")}}),[en,er]=r.default.useState(!1),[ea,eo]=r.default.useState(!1),[el,ei]=r.default.useState(!1),eu=r.default.useRef(null),es=r.default.useRef(null),ed=r.default.useRef(null),ec=r.default.useRef(null),ef=r.default.useRef(null),ep=r.default.useRef(!1),em=r.default.useRef(null),eg=r.default.useRef(0),eh=r.default.useRef(!1),ev=r.default.useRef(!H),ew=r.default.useRef(0),ey=r.default.useRef(null),ex=r.default.useRef((null==(Q=ey.current)?void 0:Q.getBoundingClientRect().height)||0),eb=r.default.useRef((null==(Z=ey.current)?void 0:Z.getBoundingClientRect().width)||0),ej=r.default.useRef(0),eT=r.default.useCallback(e=>{i&&e===eS.length-1&&(es.current=new Date)},[]),{activeSnapPoint:eC,activeSnapPointIndex:eR,setActiveSnapPoint:eD,onRelease:eE,snapPointsOffset:eS,onDrag:ek,shouldFade:eN,getPercentageDragged:e$}=function({activeSnapPointProp:e,setActiveSnapPointProp:t,snapPoints:n,drawerRef:a,overlayRef:o,fadeFromIndex:l,onSnapPointChange:i,direction:u="bottom",container:s,snapToSequentialPoint:d}){let[c,f]=W({prop:e,defaultProp:null==n?void 0:n[0],onChange:t}),[p,m]=r.default.useState("u">typeof window?{innerWidth:window.innerWidth,innerHeight:window.innerHeight}:void 0);r.default.useEffect(()=>{function e(){m({innerWidth:window.innerWidth,innerHeight:window.innerHeight})}return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]);let g=r.default.useMemo(()=>c===(null==n?void 0:n[n.length-1])||null,[n,c]),h=r.default.useMemo(()=>{var e;return null!=(e=null==n?void 0:n.findIndex(e=>e===c))?e:null},[n,c]),v=n&&n.length>0&&(l||0===l)&&!Number.isNaN(l)&&n[l]===c||!n,w=r.default.useMemo(()=>{var e;let t=s?{width:s.getBoundingClientRect().width,height:s.getBoundingClientRect().height}:"u">typeof window?{width:window.innerWidth,height:window.innerHeight}:{width:0,height:0};return null!=(e=null==n?void 0:n.map(e=>{let n="string"==typeof e,r=0;if(n&&(r=parseInt(e,10)),L(u)){let a=n?r:p?e*t.height:0;return p?"bottom"===u?t.height-a:-t.height+a:a}let a=n?r:p?e*t.width:0;return p?"right"===u?t.width-a:-t.width+a:a}))?e:[]},[n,p,s]),y=r.default.useMemo(()=>null!==h?null==w?void 0:w[h]:null,[w,h]),x=r.default.useCallback(e=>{var t;let r=null!=(t=null==w?void 0:w.findIndex(t=>t===e))?t:null;i(r),O(a.current,{transition:`transform 0.5s cubic-bezier(${A.join(",")})`,transform:L(u)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`}),w&&r!==w.length-1&&void 0!==l&&r!==l&&r<l?O(o.current,{transition:`opacity 0.5s cubic-bezier(${A.join(",")})`,opacity:"0"}):O(o.current,{transition:`opacity 0.5s cubic-bezier(${A.join(",")})`,opacity:"1"}),f(null==n?void 0:n[Math.max(r,0)])},[a.current,n,w,l,o,f]);return r.default.useEffect(()=>{if(c||e){var t;let r=null!=(t=null==n?void 0:n.findIndex(t=>t===e||t===c))?t:-1;w&&-1!==r&&"number"==typeof w[r]&&x(w[r])}},[c,e,n,w,x]),{isLastSnapPoint:g,activeSnapPoint:c,shouldFade:v,getPercentageDragged:function(e,t){if(!n||"number"!=typeof h||!w||void 0===l)return null;let r=h===l-1;if(h>=l&&t)return 0;if(r&&!t)return 1;if(!v&&!r)return null;let a=r?h+1:h-1,o=e/Math.abs(r?w[a]-w[a-1]:w[a+1]-w[a]);return r?1-o:o},setActiveSnapPoint:f,activeSnapPointIndex:h,onRelease:function({draggedDistance:e,closeDrawer:t,velocity:r,dismissible:a}){if(void 0===l)return;let i="bottom"===u||"right"===u?(null!=y?y:0)-e:(null!=y?y:0)+e,s=h===l-1,c=0===h,f=e>0;if(s&&O(o.current,{transition:`opacity 0.5s cubic-bezier(${A.join(",")})`}),!d&&r>2&&!f)return void(a?t():x(w[0]));if(!d&&r>2&&f&&w&&n)return void x(w[n.length-1]);let p=null==w?void 0:w.reduce((e,t)=>"number"!=typeof e||"number"!=typeof t?e:Math.abs(t-i)<Math.abs(e-i)?t:e),m=L(u)?window.innerHeight:window.innerWidth;if(r>.4&&Math.abs(e)<.4*m){let e=f?1:-1;return e>0&&g&&n?void x(w[n.length-1]):void(c&&e<0&&a&&t(),null===h||x(w[h+e]))}x(p)},onDrag:function({draggedDistance:e}){if(null===y)return;let t="bottom"===u||"right"===u?y-e:y+e;("bottom"===u||"right"===u)&&t<w[w.length-1]||("top"===u||"left"===u)&&t>w[w.length-1]||O(a.current,{transform:L(u)?`translate3d(0, ${t}px, 0)`:`translate3d(${t}px, 0, 0)`})},snapPointsOffset:w}}({snapPoints:i,activeSnapPointProp:g,setActiveSnapPointProp:h,drawerRef:ey,fadeFromIndex:m,overlayRef:eu,onSnapPointChange:eT,direction:B,container:_,snapToSequentialPoint:X});!function(e={}){let{isDisabled:n}=e;T(()=>{if(!n){var e,r,a;let n,o,l,i,u,s,d;return 1==++k&&b()&&(l=0,i=window.pageXOffset,u=window.pageYOffset,s=C((e=document.documentElement,r="paddingRight",a=`${window.innerWidth-document.documentElement.clientWidth}px`,n=e.style[r],e.style[r]=a,()=>{e.style[r]=n})),window.scrollTo(0,0),d=C(N(document,"touchstart",e=>{((o=E(e.target))!==document.documentElement||o!==document.body)&&(l=e.changedTouches[0].pageY)},{passive:!1,capture:!0}),N(document,"touchmove",e=>{if(!o||o===document.documentElement||o===document.body)return void e.preventDefault();let t=e.changedTouches[0].pageY,n=o.scrollTop,r=o.scrollHeight-o.clientHeight;0!==r&&((n<=0&&t>l||n>=r&&t<l)&&e.preventDefault(),l=t)},{passive:!1,capture:!0}),N(document,"touchend",e=>{let t=e.target;P(t)&&t!==document.activeElement&&(e.preventDefault(),t.style.transform="translateY(-2000px)",t.focus(),requestAnimationFrame(()=>{t.style.transform=""}))},{passive:!1,capture:!0}),N(document,"focus",e=>{let t=e.target;P(t)&&(t.style.transform="translateY(-2000px)",requestAnimationFrame(()=>{t.style.transform="",R&&(R.height<window.innerHeight?requestAnimationFrame(()=>{$(t)}):R.addEventListener("resize",()=>$(t),{once:!0}))}))},!0),N(window,"scroll",()=>{window.scrollTo(0,0)})),t=()=>{s(),d(),window.scrollTo(i,u)}),()=>{0==--k&&(null==t||t())}}},[n])}({isDisabled:!ee||ea||!j||el||!en||!K||!q});let{restorePositionSetting:eP}=function({isOpen:e,modal:t,nested:n,hasBeenOpened:a,preventScrollRestoration:o,noBodyStyles:l}){let[i,u]=r.default.useState(()=>"u">typeof window?window.location.href:""),s=r.default.useRef(0),d=r.default.useCallback(()=>{if(x()&&null===U&&e&&!l){U={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left,height:document.body.style.height,right:"unset"};let{scrollX:e,innerHeight:t}=window;document.body.style.setProperty("position","fixed","important"),Object.assign(document.body.style,{top:`${-s.current}px`,left:`${-e}px`,right:"0px",height:"auto"}),window.setTimeout(()=>window.requestAnimationFrame(()=>{let e=t-window.innerHeight;e&&s.current>=t&&(document.body.style.top=`${-(s.current+e)}px`)}),300)}},[e]),c=r.default.useCallback(()=>{if(x()&&null!==U&&!l){let e=-parseInt(document.body.style.top,10),t=-parseInt(document.body.style.left,10);Object.assign(document.body.style,U),window.requestAnimationFrame(()=>{o&&i!==window.location.href?u(window.location.href):window.scrollTo(t,e)}),U=null}},[i]);return r.default.useEffect(()=>{function e(){s.current=window.scrollY}return e(),window.addEventListener("scroll",e),()=>{window.removeEventListener("scroll",e)}},[]),r.default.useEffect(()=>{if(t)return()=>{"u"<typeof document||document.querySelector("[data-vaul-drawer]")||c()}},[t,c]),r.default.useEffect(()=>{!n&&a&&(e?(window.matchMedia("(display-mode: standalone)").matches||d(),t||window.setTimeout(()=>{c()},500)):c())},[e,a,i,t,n,d,c]),{restorePositionSetting:c}}({isOpen:ee,modal:j,nested:null!=S&&S,hasBeenOpened:en,preventScrollRestoration:V,noBodyStyles:M});function eM(){return(window.innerWidth-26)/window.innerWidth}function ez(e,t){var n;let r=e,a=null==(n=window.getSelection())?void 0:n.toString(),o=ey.current?F(ey.current,B):null,l=new Date;if("SELECT"===r.tagName||r.hasAttribute("data-vaul-no-drag")||r.closest("[data-vaul-no-drag]"))return!1;if("right"===B||"left"===B)return!0;if(es.current&&l.getTime()-es.current.getTime()<500)return!1;if(null!==o&&("bottom"===B?o>0:o<0))return!0;if(a&&a.length>0)return!1;if(ef.current&&l.getTime()-ef.current.getTime()<c&&0===o||t)return ef.current=l,!1;for(;r;){if(r.scrollHeight>r.clientHeight){if(0!==r.scrollTop)return ef.current=new Date,!1;if("dialog"===r.getAttribute("role"))break}r=r.parentNode}return!0}function eO(e){ea&&ey.current&&(ey.current.classList.remove(I),ep.current=!1,eo(!1),ec.current=new Date),null==D||D(),e||et(!1),setTimeout(()=>{i&&eD(i[0])},500)}function eL(){if(!ey.current)return;let e=document.querySelector("[data-vaul-drawer-wrapper]"),t=F(ey.current,B);O(ey.current,{transform:"translate3d(0, 0, 0)",transition:`transform 0.5s cubic-bezier(${A.join(",")})`}),O(eu.current,{transition:`opacity 0.5s cubic-bezier(${A.join(",")})`,opacity:"1"}),u&&t&&t>0&&ee&&O(e,{borderRadius:"8px",overflow:"hidden",...L(B)?{transform:`scale(${eM()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,transformOrigin:"top"}:{transform:`scale(${eM()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`,transformOrigin:"left"},transitionProperty:"transform, border-radius",transitionDuration:"0.5s",transitionTimingFunction:`cubic-bezier(${A.join(",")})`},!0)}return r.default.useEffect(()=>{window.requestAnimationFrame(()=>{ev.current=!0})},[]),r.default.useEffect(()=>{var e;function t(){if(ey.current&&K&&(P(document.activeElement)||eh.current)){var e;let t=(null==(e=window.visualViewport)?void 0:e.height)||0,n=window.innerHeight,r=n-t,a=ey.current.getBoundingClientRect().height||0;ej.current||(ej.current=a);let o=ey.current.getBoundingClientRect().top;if(Math.abs(ew.current-r)>60&&(eh.current=!eh.current),i&&i.length>0&&eS&&eR&&(r+=eS[eR]||0),ew.current=r,a>t||eh.current){let e=ey.current.getBoundingClientRect().height,l=e;e>t&&(l=t-(a>.8*n?o:26)),y?ey.current.style.height=`${e-Math.max(r,0)}px`:ey.current.style.height=`${Math.max(l,t-o)}px`}else{let e;e=navigator.userAgent,"u">typeof window&&(/Firefox/.test(e)&&/Mobile/.test(e)||/FxiOS/.test(e))||(ey.current.style.height=`${ej.current}px`)}i&&i.length>0&&!eh.current?ey.current.style.bottom="0px":ey.current.style.bottom=`${Math.max(r,0)}px`}}return null==(e=window.visualViewport)||e.addEventListener("resize",t),()=>{var e;return null==(e=window.visualViewport)?void 0:e.removeEventListener("resize",t)}},[eR,i,eS]),r.default.useEffect(()=>(ee&&(O(document.documentElement,{scrollBehavior:"auto"}),es.current=new Date),()=>{!function(e,t){if(!e||!(e instanceof HTMLElement))return;let n=z.get(e);n&&(e.style[t]=n[t])}(document.documentElement,"scrollBehavior")}),[ee]),r.default.useEffect(()=>{j||window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"})},[j]),r.default.createElement(v.Root,{defaultOpen:H,onOpenChange:e=>{(f||e)&&(e?er(!0):eO(!0),et(e))},open:ee},r.default.createElement(w.Provider,{value:{activeSnapPoint:eC,snapPoints:i,setActiveSnapPoint:eD,drawerRef:ey,overlayRef:eu,onOpenChange:n,onPress:function(e){var t,n;!f&&!i||(!ey.current||ey.current.contains(e.target))&&(ex.current=(null==(t=ey.current)?void 0:t.getBoundingClientRect().height)||0,eb.current=(null==(n=ey.current)?void 0:n.getBoundingClientRect().width)||0,eo(!0),ed.current=new Date,b()&&window.addEventListener("touchend",()=>ep.current=!1,{once:!0}),e.target.setPointerCapture(e.pointerId),eg.current=L(B)?e.pageY:e.pageX)},onRelease:function(e){var t,n;if(!ea||!ey.current)return;ey.current.classList.remove(I),ep.current=!1,eo(!1),ec.current=new Date;let r=F(ey.current,B);if(!e||!ez(e.target,!1)||!r||Number.isNaN(r)||null===ed.current)return;let a=ec.current.getTime()-ed.current.getTime(),o=eg.current-(L(B)?e.pageY:e.pageX),u=Math.abs(o)/a;if(u>.05&&(ei(!0),setTimeout(()=>{ei(!1)},200)),i){eE({draggedDistance:o*("bottom"===B||"right"===B?1:-1),closeDrawer:eO,velocity:u,dismissible:f}),null==l||l(e,!0);return}if("bottom"===B||"right"===B?o>0:o<0){eL(),null==l||l(e,!0);return}if(u>.4){eO(),null==l||l(e,!1);return}let s=Math.min(null!=(t=ey.current.getBoundingClientRect().height)?t:0,window.innerHeight),c=Math.min(null!=(n=ey.current.getBoundingClientRect().width)?n:0,window.innerWidth);if(Math.abs(r)>=("left"===B||"right"===B?c:s)*d){eO(),null==l||l(e,!1);return}null==l||l(e,!0),eL()},onDrag:function(e){if(ey.current&&ea){let t="bottom"===B||"right"===B?1:-1,n=(eg.current-(L(B)?e.pageY:e.pageX))*t,r=n>0,a=i&&!f&&!r;if(a&&0===eR)return;let l=Math.abs(n),s=document.querySelector("[data-vaul-drawer-wrapper]"),d=l/("bottom"===B||"top"===B?ex.current:eb.current),c=e$(l,r);if(null!==c&&(d=c),a&&d>=1||!ep.current&&!ez(e.target,r))return;if(ey.current.classList.add(I),ep.current=!0,O(ey.current,{transition:"none"}),O(eu.current,{transition:"none"}),i&&ek({draggedDistance:n}),r&&!i){let e=Math.min(-(8*(Math.log(n+1)-2)*1),0)*t;O(ey.current,{transform:L(B)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`});return}let p=1-d;if((eN||m&&eR===m-1)&&(null==o||o(e,d),O(eu.current,{opacity:`${p}`,transition:"none"},!0)),s&&eu.current&&u){let e=Math.min(eM()+d*(1-eM()),1),t=8-8*d,n=Math.max(0,14-14*d);O(s,{borderRadius:`${t}px`,transform:L(B)?`scale(${e}) translate3d(0, ${n}px, 0)`:`scale(${e}) translate3d(${n}px, 0, 0)`,transition:"none"},!0)}if(!i){let e=l*t;O(ey.current,{transform:L(B)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`})}}},dismissible:f,shouldAnimate:ev,handleOnly:p,isOpen:ee,isDragging:ea,shouldFade:eN,closeDrawer:eO,onNestedDrag:function(e,t){if(t<0)return;let n=(window.innerWidth-16)/window.innerWidth,r=n+t*(1-n),a=-16+16*t;O(ey.current,{transform:L(B)?`scale(${r}) translate3d(0, ${a}px, 0)`:`scale(${r}) translate3d(${a}px, 0, 0)`,transition:"none"})},onNestedOpenChange:function(e){let t=e?(window.innerWidth-16)/window.innerWidth:1,n=e?-16:0;em.current&&window.clearTimeout(em.current),O(ey.current,{transition:`transform 0.5s cubic-bezier(${A.join(",")})`,transform:L(B)?`scale(${t}) translate3d(0, ${n}px, 0)`:`scale(${t}) translate3d(${n}px, 0, 0)`}),!e&&ey.current&&(em.current=setTimeout(()=>{let e=F(ey.current,B);O(ey.current,{transition:"none",transform:L(B)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`})},500))},onNestedRelease:function(e,t){let n=L(B)?window.innerHeight:window.innerWidth,r=t?(n-16)/n:1,a=t?-16:0;t&&O(ey.current,{transition:`transform 0.5s cubic-bezier(${A.join(",")})`,transform:L(B)?`scale(${r}) translate3d(0, ${a}px, 0)`:`scale(${r}) translate3d(${a}px, 0, 0)`})},keyboardIsOpen:eh,modal:j,snapPointsOffset:eS,activeSnapPointIndex:eR,direction:B,shouldScaleBackground:u,setBackgroundColorOnScale:s,noBodyStyles:M,container:_,autoFocus:G}},a))}let X=r.default.forwardRef(function({...e},t){let{overlayRef:n,snapPoints:a,onRelease:o,shouldFade:l,isOpen:i,modal:u,shouldAnimate:s}=y(),d=M(t,n),c=a&&a.length>0;if(!u)return null;let f=r.default.useCallback(e=>o(e),[o]);return r.default.createElement(v.Overlay,{onMouseUp:f,ref:d,"data-vaul-overlay":"","data-vaul-snap-points":i&&c?"true":"false","data-vaul-snap-points-overlay":i&&l?"true":"false","data-vaul-animate":(null==s?void 0:s.current)?"true":"false",...e})});X.displayName="Drawer.Overlay";let V=r.default.forwardRef(function({onPointerDownOutside:e,style:t,onOpenAutoFocus:n,...a},o){let{drawerRef:l,onPress:i,onRelease:u,onDrag:s,keyboardIsOpen:d,snapPointsOffset:c,activeSnapPointIndex:f,modal:p,isOpen:m,direction:g,snapPoints:h,container:w,handleOnly:x,shouldAnimate:b,autoFocus:j}=y(),[T,C]=r.default.useState(!1),R=M(o,l),D=r.default.useRef(null),E=r.default.useRef(null),S=r.default.useRef(!1),k=h&&h.length>0;function N(e){D.current=null,S.current=!1,u(e)}return!function(){let{direction:e,isOpen:t,shouldScaleBackground:n,setBackgroundColorOnScale:a,noBodyStyles:o}=y(),l=r.default.useRef(null),i=(0,r.useMemo)(()=>document.body.style.backgroundColor,[]);function u(){return(window.innerWidth-26)/window.innerWidth}r.default.useEffect(()=>{if(t&&n){l.current&&clearTimeout(l.current);let t=document.querySelector("[data-vaul-drawer-wrapper]")||document.querySelector("[vaul-drawer-wrapper]");if(!t)return;!function(...e){}(a&&!o?B(document.body,{background:"black"}):q,B(t,{transformOrigin:L(e)?"top":"left",transitionProperty:"transform, border-radius",transitionDuration:"0.5s",transitionTimingFunction:`cubic-bezier(${A.join(",")})`}));let n=B(t,{borderRadius:"8px",overflow:"hidden",...L(e)?{transform:`scale(${u()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`}:{transform:`scale(${u()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`}});return()=>{n(),l.current=window.setTimeout(()=>{i?document.body.style.background=i:document.body.style.removeProperty("background")},500)}}},[t,n,i])}(),r.default.useEffect(()=>{k&&window.requestAnimationFrame(()=>{C(!0)})},[]),r.default.createElement(v.Content,{"data-vaul-drawer-direction":g,"data-vaul-drawer":"","data-vaul-delayed-snap-points":T?"true":"false","data-vaul-snap-points":m&&k?"true":"false","data-vaul-custom-container":w?"true":"false","data-vaul-animate":(null==b?void 0:b.current)?"true":"false",...a,ref:R,style:c&&c.length>0?{"--snap-point-height":`${c[null!=f?f:0]}px`,...t}:t,onPointerDown:e=>{x||(null==a.onPointerDown||a.onPointerDown.call(a,e),D.current={x:e.pageX,y:e.pageY},i(e))},onOpenAutoFocus:e=>{null==n||n(e),j||e.preventDefault()},onPointerDownOutside:t=>{(null==e||e(t),!p||t.defaultPrevented)?t.preventDefault():d.current&&(d.current=!1)},onFocusOutside:e=>{if(!p)return void e.preventDefault()},onPointerMove:e=>{if(E.current=e,x||(null==a.onPointerMove||a.onPointerMove.call(a,e),!D.current))return;let t=e.pageY-D.current.y,n=e.pageX-D.current.x,r="touch"===e.pointerType?10:2;((e,t,n=0)=>{if(S.current)return!0;let r=Math.abs(e.y),a=Math.abs(e.x),o=a>r,l=["bottom","right"].includes(t)?1:-1;if("left"===t||"right"===t){if(!(e.x*l<0)&&a>=0&&a<=n)return o}else if(!(e.y*l<0)&&r>=0&&r<=n)return!o;return S.current=!0,!0})({x:n,y:t},g,r)?s(e):(Math.abs(n)>r||Math.abs(t)>r)&&(D.current=null)},onPointerUp:e=>{null==a.onPointerUp||a.onPointerUp.call(a,e),D.current=null,S.current=!1,u(e)},onPointerOut:e=>{null==a.onPointerOut||a.onPointerOut.call(a,e),N(E.current)},onContextMenu:e=>{null==a.onContextMenu||a.onContextMenu.call(a,e),E.current&&N(E.current)}})});V.displayName="Drawer.Content";let K=r.default.forwardRef(function({preventCycle:e=!1,children:t,...n},a){let{closeDrawer:o,isDragging:l,snapPoints:i,activeSnapPoint:u,setActiveSnapPoint:s,dismissible:d,handleOnly:c,isOpen:f,onPress:p,onDrag:m}=y(),g=r.default.useRef(null),h=r.default.useRef(!1);function v(){g.current&&window.clearTimeout(g.current),h.current=!1}return r.default.createElement("div",{onClick:function(){h.current?v():window.setTimeout(()=>{!function(){if(l||e||h.current)return v();if(v(),!i||0===i.length){d||o();return}if(u===i[i.length-1]&&d)return o();let t=i.findIndex(e=>e===u);-1===t||s(i[t+1])}()},120)},onPointerCancel:v,onPointerDown:e=>{c&&p(e),g.current=window.setTimeout(()=>{h.current=!0},250)},onPointerMove:e=>{c&&m(e)},ref:a,"data-vaul-drawer-visible":f?"true":"false","data-vaul-handle":"","aria-hidden":"true",...n},r.default.createElement("span",{"data-vaul-handle-hitarea":"","aria-hidden":"true"},t))});K.displayName="Drawer.Handle";let J={Root:Y,NestedRoot:function({onDrag:e,onOpenChange:t,open:n,...a}){let{onNestedDrag:o,onNestedOpenChange:l,onNestedRelease:i}=y();if(!o)throw Error("Drawer.NestedRoot must be placed in another drawer");return r.default.createElement(Y,{nested:!0,open:n,onClose:()=>{l(!1)},onDrag:(t,n)=>{o(t,n),null==e||e(t,n)},onOpenChange:e=>{e&&l(e),null==t||t(e)},onRelease:i,...a})},Content:V,Overlay:X,Trigger:v.Trigger,Portal:function(e){let t=y(),{container:n=t.container,...a}=e;return r.default.createElement(v.Portal,{container:n,...a})},Handle:K,Close:v.Close,Title:v.Title,Description:v.Description};var _=e.i(31777);function G({...e}){return(0,n.jsx)(J.Portal,{"data-slot":"drawer-portal",...e})}e.s(["Drawer",0,function({...e}){return(0,n.jsx)(J.Root,{"data-slot":"drawer",...e})},"DrawerContent",0,function({className:e,children:t,direction:r="bottom",showCloseButton:a=!0,...o}){return(0,n.jsx)(G,{children:(0,n.jsxs)(J.Content,{"data-slot":"drawer-content",className:(0,_.cn)("bg-background fixed z-50 flex flex-col shadow-lg","bottom"===r&&"inset-x-0 bottom-0 mb-24 rounded-t-lg border-t","top"===r&&"inset-x-0 top-0 mt-24 rounded-b-lg border-b","right"===r&&"inset-y-0 right-0 h-full w-3/4 border-l","left"===r&&"inset-y-0 left-0 h-full w-3/4 border-r",e),style:{"--initial-transform":"calc(100% + 8px)",userSelect:"text",...o.style??{}},...o,children:[t,a?(0,n.jsxs)(J.Close,{className:"ring-offset-background focus:ring-ring absolute end-4 top-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none",children:[(0,n.jsx)(h.XIcon,{className:"size-4"}),(0,n.jsx)("span",{className:"sr-only",children:"Close"})]}):null]})})},"DrawerDescription",0,function({className:e,...t}){return(0,n.jsx)(J.Description,{"data-slot":"drawer-description",className:(0,_.cn)("text-muted-foreground text-sm",e),...t})},"DrawerFooter",0,function({className:e,...t}){return(0,n.jsx)("div",{"data-slot":"drawer-footer",className:(0,_.cn)("mt-auto flex flex-col gap-2 p-4",e),...t})},"DrawerHeader",0,function({className:e,...t}){return(0,n.jsx)("div",{"data-slot":"drawer-header",className:(0,_.cn)("flex flex-col gap-1.5 p-4",e),...t})},"DrawerOverlay",0,function({className:e,...t}){return(0,n.jsx)(J.Overlay,{"data-slot":"drawer-overlay",className:(0,_.cn)("fixed inset-0 z-50 bg-black/50",e),...t})},"DrawerTitle",0,function({className:e,...t}){return(0,n.jsx)(J.Title,{"data-slot":"drawer-title",className:(0,_.cn)("text-foreground font-semibold",e),...t})}],45811)},11495,e=>{"use strict";var t=e.i(96871),n=e.i(16539),r=e.i(48249),a=e.i(24042),o=e.i(64970),l=e.i(94237),i=e.i(56719),u=e.i(31777);e.i(81803);var s=e.i(72714);e.i(99348);var d=e.i(17466),c=e.i(45811),f=e.i(25235),p=e.i(2828);e.i(98026);var m=e.i(50728),g=e.i(8537),h=e.i(75921);let v=(0,l.cva)("",{variants:{size:{sm:"w-96",md:"w-2xl",lg:"w-[772px]"}},defaultVariants:{size:"sm"}});function w({deployTarget:e}){let n=(0,g.useDeployAction)(e),r="Booting"===n.status||"Ready"===n.status;return(0,t.jsxs)("div",{"data-testid":"base-drawer-deploy-bar",className:"flex items-center gap-2 px-4 pt-3 pb-3",children:[(0,t.jsx)(p.TooltipProvider,{children:(0,t.jsxs)(p.Tooltip,{children:[(0,t.jsx)(p.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{children:(0,t.jsx)(s.ActionButton,{label:r?"Stop Dev Server":"Start Dev Server",onClick:r?n.stop:n.deploy,loading:n.deployLoading||n.stopLoading,error:!!n.deployError,icon:r?o.Square:a.Play,iconOnly:!0,variant:"outline",size:"icon-sm"})})}),(0,t.jsx)(p.TooltipContent,{children:r?"Stop Dev Server":"Start Dev Server"})]})}),r?(0,t.jsx)(d.DeploymentStatusBadge,{status:n.status,url:n.url,targetId:e.targetId}):null]})}e.s(["BaseDrawer",0,function({open:e,onClose:a,modal:o=!1,dismissOnOutsideClick:l=!1,title:s="Drawer",size:d,header:p,children:g,footer:y,className:x,"data-testid":b,deployTarget:j}){let{i18n:T}=(0,m.useTranslation)(),C=(0,h.useFeatureFlags)(),R=(0,n.useRef)(null),D=(0,n.useRef)(null),E="rtl"===T.dir()?"left":"right",S=(0,n.useCallback)(()=>{D.current=document.activeElement},[]),k=(0,n.useCallback)(e=>{D.current&&"function"==typeof D.current.focus&&(e.preventDefault(),D.current.focus(),D.current=null)},[]);return(0,n.useEffect)(()=>{if(!e||o)return;let t=e=>{"Escape"===e.key&&(e.stopPropagation(),a())};return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t)},[e,o,a]),(0,n.useEffect)(()=>{if(!e||o)return;let t=e=>{let t=e.target;!document.body.contains(t)||R.current?.contains(t)||t.closest(l?'[role="alertdialog"], [role="dialog"], [role="menu"], [role="listbox"], [data-radix-popper-content-wrapper]':'[data-no-drawer-close], [role="alertdialog"], [role="dialog"], [role="menu"], [role="listbox"], [data-radix-popper-content-wrapper]')||a()};return document.addEventListener("click",t),()=>document.removeEventListener("click",t)},[e,o,a,l]),(0,t.jsxs)(c.Drawer,{direction:E,modal:o,handleOnly:!0,open:e,onOpenChange:e=>{e||a()},children:[o?(0,t.jsx)(c.DrawerOverlay,{}):null,(0,t.jsxs)(c.DrawerContent,{ref:R,direction:E,showCloseButton:!1,className:(0,u.cn)(v({size:d}),"bg-white/85 backdrop-blur-xl dark:bg-neutral-800/85",x),"data-testid":b,onInteractOutside:o?void 0:e=>e.preventDefault(),...!o?{"aria-modal":!0}:{},children:[(0,t.jsx)(c.DrawerTitle,{asChild:!0,children:(0,t.jsx)("span",{className:"sr-only",children:s})}),(0,t.jsx)(c.DrawerDescription,{asChild:!0,children:(0,t.jsx)("span",{className:"sr-only",children:s})}),(0,t.jsx)(i.FocusScope.Root,{trapped:!o,loop:!o,asChild:!0,onMountAutoFocus:S,onUnmountAutoFocus:k,children:(0,t.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden",children:[(0,t.jsxs)("button",{type:"button","aria-label":"Close",onClick:a,className:"ring-offset-background focus:ring-ring absolute end-3 top-2 z-50 rounded-sm p-1 opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden","data-testid":b?`${b}-close-button`:void 0,children:[(0,t.jsx)(r.XIcon,{className:"size-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]}),p?(0,t.jsx)(c.DrawerHeader,{className:"shrink-0",children:p}):null,p?(0,t.jsx)(f.Separator,{}):null,C.envDeploy&&j?(0,t.jsx)(w,{deployTarget:j}):null,(0,t.jsx)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden",children:g}),y?(0,t.jsx)(c.DrawerFooter,{className:"shrink-0",children:y}):null]})})]})]})}])}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,24042,64970,e=>{"use strict";var t=e.i(3645);let n=(0,t.default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);e.s(["Play",0,n],24042);let r=(0,t.default)("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);e.s(["Square",0,r],64970)},72714,e=>{"use strict";var t=e.i(96871),n=e.i(83428),r=e.i(51251),a=e.i(31777),o=e.i(35364),l=e.i(8361);e.s(["ActionButton",0,function({label:e,onClick:i,loading:u,error:s,icon:d,iconOnly:c=!1,variant:f="outline",size:p="sm"}){let m=(0,l.useSoundAction)("click");return(0,t.jsxs)(o.Button,{variant:f,size:p,"aria-label":e,disabled:u,onClick:()=>{m.play(),i()},className:(0,a.cn)("gap-1.5",s&&"text-destructive hover:text-destructive",!s&&c&&"ghost"===f&&"text-muted-foreground cursor-pointer rounded-full transition-colors hover:text-blue-500"),children:[u?(0,t.jsx)(n.Loader2,{className:"size-4 animate-spin"}):s?(0,t.jsx)(r.CircleAlert,{className:"size-4"}):(0,t.jsx)(d,{className:"size-4"}),c?null:e]})}])},8537,e=>{"use strict";var t=e.i(16539),n=e.i(18354),r=e.i(96976);let a=(0,r.createServerReference)("406c32a8dcec51d98ca7209989a96bcc211da43f1a",r.callServer,void 0,r.findSourceMapURL,"deployFeature"),o=(0,r.createServerReference)("400b67f4dbbbd6ec44a1f8fb15d9982d3af9cf2f3f",r.callServer,void 0,r.findSourceMapURL,"deployRepository"),l=(0,r.createServerReference)("403e76cfc92b40504c0cc5f23a7a524c1e08a0f269",r.callServer,void 0,r.findSourceMapURL,"stopDeployment"),i=(0,r.createServerReference)("40338c79072aed58cfe9a0b65a452d5c9f6cf14ec8",r.callServer,void 0,r.findSourceMapURL,"getDeploymentStatus"),u=(0,n.createLogger)("[useDeployAction]");e.s(["useDeployAction",0,function(e){let[n,r]=(0,t.useState)(!1),[s,d]=(0,t.useState)(!1),[c,f]=(0,t.useState)(null),[p,m]=(0,t.useState)(null),[g,h]=(0,t.useState)(null),v=(0,t.useRef)(null),w=(0,t.useRef)(!0),y=(0,t.useRef)(p);(0,t.useEffect)(()=>{y.current=p},[p]),(0,t.useEffect)(()=>(w.current=!0,()=>{w.current=!1}),[]),(0,t.useEffect)(()=>()=>{v.current&&clearInterval(v.current)},[]);let x=(0,t.useCallback)(()=>{v.current&&(u.debug("stopping polling"),clearInterval(v.current),v.current=null)},[]),b=(0,t.useCallback)(e=>{x(),u.debug(`starting polling for "${e}" every 3000ms`),v.current=setInterval(async()=>{let t;if(!w.current)return void x();try{t=await i(e)}catch(t){u.warn(`poll fetch failed for "${e}":`,t),w.current&&(m(null),h(null),x());return}w.current&&(t&&"Stopped"!==t.state?(t.state!==y.current&&u.info(`poll state changed: ${y.current} → ${t.state}, url=${t.url}`),m(t.state),h(t.url)):(u.info(`poll result: ${t?`state=${t.state}`:"null (deployment gone)"} — stopping poll`),m(null),h(null),x()))},3e3)},[x]),j=(0,t.useCallback)(async()=>{if(!e)return void u.warn("deploy() called but input is null — no-op");if(n)return void u.warn("deploy() called but already loading — no-op");u.info(`deploy() — targetType="${e.targetType}", targetId="${e.targetId}", repositoryPath="${e.repositoryPath}"`),r(!0),f(null);try{let t="feature"===e.targetType?await a(e.targetId):await o(e.repositoryPath);if(u.info("server action result:",t),!w.current)return void u.warn("component unmounted after deploy — discarding result");if(t.success)u.info(`deploy succeeded — initial state=${t.state}, starting polling`),m(t.state??null),h(null),b(e.targetId);else{let e=t.error??"An unexpected error occurred";u.warn(`deploy failed: ${e}`),f(e)}}catch(t){if(!w.current)return;let e=t instanceof Error?t.message:"An unexpected error occurred";u.error(`deploy threw exception: ${e}`,t),f(e)}finally{w.current&&r(!1)}},[e,n,b]),T=(0,t.useCallback)(async()=>{if(e&&!s){u.info(`stop() — targetId="${e.targetId}"`),d(!0);try{let t=await l(e.targetId);if(u.info("stop result:",t),!w.current)return;t.success&&(x(),m(null),h(null))}catch(e){u.warn("stop error (non-critical):",e)}finally{w.current&&d(!1)}}},[e,s,x]);return{deploy:j,stop:T,deployLoading:n,stopLoading:s,deployError:c,status:p,url:g}}],8537)},81803,e=>{"use strict";e.i(72714),e.s([])},56719,e=>{"use strict";var t=e.i(62854);e.s(["FocusScope",0,t])},99348,17466,45811,e=>{"use strict";let t;var n=e.i(96871),r=e.i(16539),a=e.i(83428),o=e.i(30702),l=e.i(38573),i=e.i(17406),u=e.i(2828),s=e.i(2287),d=e.i(96976);let c=(0,d.createServerReference)("40227625f5029cdced4c34de5751400c4dcfb84d25",d.callServer,void 0,d.findSourceMapURL,"getDeploymentLogs");function f({open:e,onOpenChange:t,targetId:a}){let{logs:o,isConnected:l}=function(e){let[t,n]=(0,r.useState)([]),[a,o]=(0,r.useState)(!1),l=(0,r.useRef)(null),i=(0,r.useCallback)(()=>{l.current&&(l.current.close(),l.current=null),o(!1)},[]);return(0,r.useEffect)(()=>{if(!e){n([]),o(!1);return}c(e).then(e=>{e&&n(e)}).catch(()=>{});let t=new EventSource(`/api/deployment-logs?targetId=${e}`);return l.current=t,t.onopen=()=>{o(!0)},t.addEventListener("log",e=>{let t=JSON.parse(e.data);n(e=>[...e,t])}),t.onerror=()=>{o(!1)},()=>{t.close(),l.current=null}},[e,i]),{logs:t,isConnected:a}}(e?a:null);return(0,n.jsx)(p,{open:e,onOpenChange:t,logs:o,isConnected:l})}function p({open:e,onOpenChange:t,logs:a,isConnected:o}){let i=(0,r.useRef)(null),u=(0,r.useRef)(!0),d=(0,r.useCallback)(()=>{let e=i.current;e&&(u.current=e.scrollTop+e.clientHeight>=e.scrollHeight-50)},[]);return(0,r.useEffect)(()=>{u.current&&i.current&&(i.current.scrollTop=i.current.scrollHeight)},[a]),(0,n.jsx)(s.Dialog,{open:e,onOpenChange:t,children:(0,n.jsxs)(s.DialogContent,{className:"flex h-[calc(100vh-48px)] max-h-[calc(100vh-48px)] w-full max-w-[calc(100vw-48px)] flex-col gap-0 bg-zinc-950 p-0 text-zinc-100 sm:rounded-lg","aria-describedby":void 0,children:[(0,n.jsxs)(s.DialogHeader,{className:"flex flex-row items-center justify-between border-b border-zinc-800 px-4 py-3",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(l.Terminal,{className:"h-4 w-4 text-zinc-400"}),(0,n.jsx)(s.DialogTitle,{className:"text-sm font-medium text-zinc-100",children:"Server Logs"})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2 pe-8",children:[(0,n.jsx)("span",{className:`inline-block h-2 w-2 rounded-full ${o?"bg-green-500":"bg-zinc-500"}`}),(0,n.jsx)("span",{className:"text-xs text-zinc-400",children:o?"Connected":"Disconnected"})]})]}),(0,n.jsxs)("div",{ref:i,onScroll:d,className:"flex-1 overflow-auto p-4 font-mono text-sm leading-relaxed",children:[0===a.length?(0,n.jsx)("p",{className:"text-zinc-500",children:"Waiting for log output..."}):a.map(e=>(0,n.jsx)(m,{entry:e},`${e.timestamp}-${e.stream}-${e.line}`)),!o&&a.length>0&&(0,n.jsx)("div",{className:"mt-2 border-t border-zinc-800 pt-2 text-zinc-500",children:"[Server stopped]"})]})]})})}function m({entry:e}){return(0,n.jsx)("div",{"data-stream":e.stream,className:"stderr"===e.stream?"text-red-400":"text-zinc-200",children:(0,n.jsx)("span",{className:"break-all whitespace-pre-wrap",children:e.line})})}let g="text-muted-foreground hover:bg-foreground/8 hover:text-foreground inline-flex size-7 items-center justify-center rounded-[3px]";e.s(["DeploymentStatusBadge",0,function({status:e,url:t,targetId:s}){let[d,c]=(0,r.useState)(!1),p=s&&(e===i.DeploymentState.Booting||e===i.DeploymentState.Ready);switch(e){case i.DeploymentState.Booting:return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"flex items-center gap-1 pl-1",children:[(0,n.jsx)(a.Loader2,{className:"size-3 animate-spin text-blue-500"}),(0,n.jsx)("span",{className:"text-muted-foreground text-[11px]",children:"Starting..."}),p?(0,n.jsx)(u.TooltipProvider,{delayDuration:300,children:(0,n.jsxs)(u.Tooltip,{children:[(0,n.jsx)(u.TooltipTrigger,{asChild:!0,children:(0,n.jsx)("button",{type:"button","aria-label":"View server logs",className:g,onClick:e=>{e.stopPropagation(),c(!0)},children:(0,n.jsx)(l.Terminal,{className:"size-3.5"})})}),(0,n.jsx)(u.TooltipContent,{side:"bottom",className:"text-xs",children:"Server logs"})]})}):null]}),p?(0,n.jsx)(f,{open:d,onOpenChange:c,targetId:s}):null]});case i.DeploymentState.Ready:return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"flex translate-y-px items-center gap-1 pl-1",children:[(0,n.jsx)("span",{className:"inline-block size-1.5 rounded-full bg-green-500"}),t?(0,n.jsxs)("a",{href:t,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-0.5 text-[11px] text-green-600 hover:text-green-500 dark:text-green-400 dark:hover:text-green-300",onClick:e=>e.stopPropagation(),children:[t,(0,n.jsx)(o.ExternalLink,{className:"size-2.5 shrink-0"})]}):(0,n.jsx)("span",{className:"text-[11px] text-green-600 dark:text-green-400",children:"Ready"}),p?(0,n.jsx)(u.TooltipProvider,{delayDuration:300,children:(0,n.jsxs)(u.Tooltip,{children:[(0,n.jsx)(u.TooltipTrigger,{asChild:!0,children:(0,n.jsx)("button",{type:"button","aria-label":"View server logs",className:g,onClick:e=>{e.stopPropagation(),c(!0)},children:(0,n.jsx)(l.Terminal,{className:"size-3.5"})})}),(0,n.jsx)(u.TooltipContent,{side:"bottom",className:"text-xs",children:"Server logs"})]})}):null]}),p?(0,n.jsx)(f,{open:d,onOpenChange:c,targetId:s}):null]});default:return null}}],17466),e.s([],99348);var h=e.i(48249),v=e.i(94983);let w=r.default.createContext({drawerRef:{current:null},overlayRef:{current:null},onPress:()=>{},onRelease:()=>{},onDrag:()=>{},onNestedDrag:()=>{},onNestedOpenChange:()=>{},onNestedRelease:()=>{},openProp:void 0,dismissible:!1,isOpen:!1,isDragging:!1,keyboardIsOpen:{current:!1},snapPointsOffset:null,snapPoints:null,handleOnly:!1,modal:!1,shouldFade:!1,activeSnapPoint:null,onOpenChange:()=>{},setActiveSnapPoint:()=>{},closeDrawer:()=>{},direction:"bottom",shouldAnimate:{current:!0},shouldScaleBackground:!1,setBackgroundColorOnScale:!0,noBodyStyles:!1,container:null,autoFocus:!1}),y=()=>{let e=r.default.useContext(w);if(!e)throw Error("useDrawerContext must be used within a Drawer.Root");return e};function x(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function b(){return j(/^iPhone/)||j(/^iPad/)||j(/^Mac/)&&navigator.maxTouchPoints>1}function j(e){return"u">typeof window&&null!=window.navigator?e.test(window.navigator.platform):void 0}!function(e){if(!e||"u"<typeof document)return;let t=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css",t.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}("[data-vaul-drawer]{touch-action:none;will-change:transform;transition:transform .5s cubic-bezier(.32, .72, 0, 1);animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=open]{animation-name:slideFromBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=closed]{animation-name:slideToBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=open]{animation-name:slideFromTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=closed]{animation-name:slideToTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=open]{animation-name:slideFromLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=closed]{animation-name:slideToLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=open]{animation-name:slideFromRight}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=closed]{animation-name:slideToRight}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--initial-transform,100%),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--initial-transform,100%),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-overlay][data-vaul-snap-points=false]{animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-overlay][data-vaul-snap-points=false][data-state=open]{animation-name:fadeIn}[data-vaul-overlay][data-state=closed]{animation-name:fadeOut}[data-vaul-animate=false]{animation:none!important}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:0;transition:opacity .5s cubic-bezier(.32, .72, 0, 1)}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:1}[data-vaul-drawer]:not([data-vaul-custom-container=true])::after{content:'';position:absolute;background:inherit;background-color:inherit}[data-vaul-drawer][data-vaul-drawer-direction=top]::after{top:initial;bottom:100%;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=bottom]::after{top:100%;bottom:initial;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=left]::after{left:initial;right:100%;top:0;bottom:0;width:200%}[data-vaul-drawer][data-vaul-drawer-direction=right]::after{left:100%;right:initial;top:0;bottom:0;width:200%}[data-vaul-overlay][data-vaul-snap-points=true]:not([data-vaul-snap-points-overlay=true]):not(\n[data-state=closed]\n){opacity:0}[data-vaul-overlay][data-vaul-snap-points-overlay=true]{opacity:1}[data-vaul-handle]{display:block;position:relative;opacity:.7;background:#e2e2e4;margin-left:auto;margin-right:auto;height:5px;width:32px;border-radius:1rem;touch-action:pan-y}[data-vaul-handle]:active,[data-vaul-handle]:hover{opacity:1}[data-vaul-handle-hitarea]{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max(100%,2.75rem);height:max(100%,2.75rem);touch-action:inherit}@media (hover:hover) and (pointer:fine){[data-vaul-drawer]{user-select:none}}@media (pointer:fine){[data-vaul-handle-hitarea]:{width:100%;height:100%}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeOut{to{opacity:0}}@keyframes slideFromBottom{from{transform:translate3d(0,var(--initial-transform,100%),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToBottom{to{transform:translate3d(0,var(--initial-transform,100%),0)}}@keyframes slideFromTop{from{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToTop{to{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}}@keyframes slideFromLeft{from{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToLeft{to{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}}@keyframes slideFromRight{from{transform:translate3d(var(--initial-transform,100%),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToRight{to{transform:translate3d(var(--initial-transform,100%),0,0)}}");let T="u">typeof window?r.useLayoutEffect:r.useEffect;function C(...e){return(...t)=>{for(let n of e)"function"==typeof n&&n(...t)}}let R="u">typeof document&&window.visualViewport;function D(e){let t=window.getComputedStyle(e);return/(auto|scroll)/.test(t.overflow+t.overflowX+t.overflowY)}function E(e){for(D(e)&&(e=e.parentElement);e&&!D(e);)e=e.parentElement;return e||document.scrollingElement||document.documentElement}let S=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]),k=0;function N(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}function $(e){let t=document.scrollingElement||document.documentElement;for(;e&&e!==t;){let t=E(e);if(t!==document.documentElement&&t!==document.body&&t!==e){let n=t.getBoundingClientRect().top,r=e.getBoundingClientRect().top;e.getBoundingClientRect().bottom>t.getBoundingClientRect().bottom+24&&(t.scrollTop+=r-n)}e=t.parentElement}}function P(e){return e instanceof HTMLInputElement&&!S.has(e.type)||e instanceof HTMLTextAreaElement||e instanceof HTMLElement&&e.isContentEditable}function M(...e){return r.useCallback(function(...e){return t=>e.forEach(e=>{"function"==typeof e?e(t):null!=e&&(e.current=t)})}(...e),e)}let z=new WeakMap;function O(e,t,n=!1){if(!e||!(e instanceof HTMLElement))return;let r={};Object.entries(t).forEach(([t,n])=>{t.startsWith("--")?e.style.setProperty(t,n):(r[t]=e.style[t],e.style[t]=n)}),n||z.set(e,r)}let L=e=>{switch(e){case"top":case"bottom":return!0;case"left":case"right":return!1;default:return e}};function F(e,t){if(!e)return null;let n=window.getComputedStyle(e),r=n.transform||n.webkitTransform||n.mozTransform,a=r.match(/^matrix3d\((.+)\)$/);return a?parseFloat(a[1].split(", ")[L(t)?13:12]):(a=r.match(/^matrix\((.+)\)$/))?parseFloat(a[1].split(", ")[L(t)?5:4]):null}function B(e,t){if(!e)return()=>{};let n=e.style.cssText;return Object.assign(e.style,t),()=>{e.style.cssText=n}}let A=[.32,.72,0,1],I="vaul-dragging";function H(e){let t=r.default.useRef(e);return r.default.useEffect(()=>{t.current=e}),r.default.useMemo(()=>(...e)=>null==t.current?void 0:t.current.call(t,...e),[])}function W({prop:e,defaultProp:t,onChange:n=()=>{}}){let[a,o]=function({defaultProp:e,onChange:t}){let n=r.default.useState(e),[a]=n,o=r.default.useRef(a),l=H(t);return r.default.useEffect(()=>{o.current!==a&&(l(a),o.current=a)},[a,o,l]),n}({defaultProp:t,onChange:n}),l=void 0!==e,i=l?e:a,u=H(n);return[i,r.default.useCallback(t=>{if(l){let n="function"==typeof t?t(e):t;n!==e&&u(n)}else o(t)},[l,e,o,u])]}let q=()=>()=>{},U=null;function Y({open:e,onOpenChange:n,children:a,onDrag:o,onRelease:l,snapPoints:i,shouldScaleBackground:u=!1,setBackgroundColorOnScale:s=!0,closeThreshold:d=.25,scrollLockTimeout:c=100,dismissible:f=!0,handleOnly:p=!1,fadeFromIndex:m=i&&i.length-1,activeSnapPoint:g,setActiveSnapPoint:h,fixed:y,modal:j=!0,onClose:D,nested:S,noBodyStyles:M=!1,direction:B="bottom",defaultOpen:H=!1,disablePreventScroll:q=!0,snapToSequentialPoint:X=!1,preventScrollRestoration:V=!1,repositionInputs:K=!0,onAnimationEnd:J,container:_,autoFocus:G=!1}){var Q,Z;let[ee=!1,et]=W({defaultProp:H,prop:e,onChange:e=>{null==n||n(e),e||S||eP(),setTimeout(()=>{null==J||J(e)},500),e&&!j&&"u">typeof window&&window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"}),e||(document.body.style.pointerEvents="auto")}}),[en,er]=r.default.useState(!1),[ea,eo]=r.default.useState(!1),[el,ei]=r.default.useState(!1),eu=r.default.useRef(null),es=r.default.useRef(null),ed=r.default.useRef(null),ec=r.default.useRef(null),ef=r.default.useRef(null),ep=r.default.useRef(!1),em=r.default.useRef(null),eg=r.default.useRef(0),eh=r.default.useRef(!1),ev=r.default.useRef(!H),ew=r.default.useRef(0),ey=r.default.useRef(null),ex=r.default.useRef((null==(Q=ey.current)?void 0:Q.getBoundingClientRect().height)||0),eb=r.default.useRef((null==(Z=ey.current)?void 0:Z.getBoundingClientRect().width)||0),ej=r.default.useRef(0),eT=r.default.useCallback(e=>{i&&e===eS.length-1&&(es.current=new Date)},[]),{activeSnapPoint:eC,activeSnapPointIndex:eR,setActiveSnapPoint:eD,onRelease:eE,snapPointsOffset:eS,onDrag:ek,shouldFade:eN,getPercentageDragged:e$}=function({activeSnapPointProp:e,setActiveSnapPointProp:t,snapPoints:n,drawerRef:a,overlayRef:o,fadeFromIndex:l,onSnapPointChange:i,direction:u="bottom",container:s,snapToSequentialPoint:d}){let[c,f]=W({prop:e,defaultProp:null==n?void 0:n[0],onChange:t}),[p,m]=r.default.useState("u">typeof window?{innerWidth:window.innerWidth,innerHeight:window.innerHeight}:void 0);r.default.useEffect(()=>{function e(){m({innerWidth:window.innerWidth,innerHeight:window.innerHeight})}return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]);let g=r.default.useMemo(()=>c===(null==n?void 0:n[n.length-1])||null,[n,c]),h=r.default.useMemo(()=>{var e;return null!=(e=null==n?void 0:n.findIndex(e=>e===c))?e:null},[n,c]),v=n&&n.length>0&&(l||0===l)&&!Number.isNaN(l)&&n[l]===c||!n,w=r.default.useMemo(()=>{var e;let t=s?{width:s.getBoundingClientRect().width,height:s.getBoundingClientRect().height}:"u">typeof window?{width:window.innerWidth,height:window.innerHeight}:{width:0,height:0};return null!=(e=null==n?void 0:n.map(e=>{let n="string"==typeof e,r=0;if(n&&(r=parseInt(e,10)),L(u)){let a=n?r:p?e*t.height:0;return p?"bottom"===u?t.height-a:-t.height+a:a}let a=n?r:p?e*t.width:0;return p?"right"===u?t.width-a:-t.width+a:a}))?e:[]},[n,p,s]),y=r.default.useMemo(()=>null!==h?null==w?void 0:w[h]:null,[w,h]),x=r.default.useCallback(e=>{var t;let r=null!=(t=null==w?void 0:w.findIndex(t=>t===e))?t:null;i(r),O(a.current,{transition:`transform 0.5s cubic-bezier(${A.join(",")})`,transform:L(u)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`}),w&&r!==w.length-1&&void 0!==l&&r!==l&&r<l?O(o.current,{transition:`opacity 0.5s cubic-bezier(${A.join(",")})`,opacity:"0"}):O(o.current,{transition:`opacity 0.5s cubic-bezier(${A.join(",")})`,opacity:"1"}),f(null==n?void 0:n[Math.max(r,0)])},[a.current,n,w,l,o,f]);return r.default.useEffect(()=>{if(c||e){var t;let r=null!=(t=null==n?void 0:n.findIndex(t=>t===e||t===c))?t:-1;w&&-1!==r&&"number"==typeof w[r]&&x(w[r])}},[c,e,n,w,x]),{isLastSnapPoint:g,activeSnapPoint:c,shouldFade:v,getPercentageDragged:function(e,t){if(!n||"number"!=typeof h||!w||void 0===l)return null;let r=h===l-1;if(h>=l&&t)return 0;if(r&&!t)return 1;if(!v&&!r)return null;let a=r?h+1:h-1,o=e/Math.abs(r?w[a]-w[a-1]:w[a+1]-w[a]);return r?1-o:o},setActiveSnapPoint:f,activeSnapPointIndex:h,onRelease:function({draggedDistance:e,closeDrawer:t,velocity:r,dismissible:a}){if(void 0===l)return;let i="bottom"===u||"right"===u?(null!=y?y:0)-e:(null!=y?y:0)+e,s=h===l-1,c=0===h,f=e>0;if(s&&O(o.current,{transition:`opacity 0.5s cubic-bezier(${A.join(",")})`}),!d&&r>2&&!f)return void(a?t():x(w[0]));if(!d&&r>2&&f&&w&&n)return void x(w[n.length-1]);let p=null==w?void 0:w.reduce((e,t)=>"number"!=typeof e||"number"!=typeof t?e:Math.abs(t-i)<Math.abs(e-i)?t:e),m=L(u)?window.innerHeight:window.innerWidth;if(r>.4&&Math.abs(e)<.4*m){let e=f?1:-1;return e>0&&g&&n?void x(w[n.length-1]):void(c&&e<0&&a&&t(),null===h||x(w[h+e]))}x(p)},onDrag:function({draggedDistance:e}){if(null===y)return;let t="bottom"===u||"right"===u?y-e:y+e;("bottom"===u||"right"===u)&&t<w[w.length-1]||("top"===u||"left"===u)&&t>w[w.length-1]||O(a.current,{transform:L(u)?`translate3d(0, ${t}px, 0)`:`translate3d(${t}px, 0, 0)`})},snapPointsOffset:w}}({snapPoints:i,activeSnapPointProp:g,setActiveSnapPointProp:h,drawerRef:ey,fadeFromIndex:m,overlayRef:eu,onSnapPointChange:eT,direction:B,container:_,snapToSequentialPoint:X});!function(e={}){let{isDisabled:n}=e;T(()=>{if(!n){var e,r,a;let n,o,l,i,u,s,d;return 1==++k&&b()&&(l=0,i=window.pageXOffset,u=window.pageYOffset,s=C((e=document.documentElement,r="paddingRight",a=`${window.innerWidth-document.documentElement.clientWidth}px`,n=e.style[r],e.style[r]=a,()=>{e.style[r]=n})),window.scrollTo(0,0),d=C(N(document,"touchstart",e=>{((o=E(e.target))!==document.documentElement||o!==document.body)&&(l=e.changedTouches[0].pageY)},{passive:!1,capture:!0}),N(document,"touchmove",e=>{if(!o||o===document.documentElement||o===document.body)return void e.preventDefault();let t=e.changedTouches[0].pageY,n=o.scrollTop,r=o.scrollHeight-o.clientHeight;0!==r&&((n<=0&&t>l||n>=r&&t<l)&&e.preventDefault(),l=t)},{passive:!1,capture:!0}),N(document,"touchend",e=>{let t=e.target;P(t)&&t!==document.activeElement&&(e.preventDefault(),t.style.transform="translateY(-2000px)",t.focus(),requestAnimationFrame(()=>{t.style.transform=""}))},{passive:!1,capture:!0}),N(document,"focus",e=>{let t=e.target;P(t)&&(t.style.transform="translateY(-2000px)",requestAnimationFrame(()=>{t.style.transform="",R&&(R.height<window.innerHeight?requestAnimationFrame(()=>{$(t)}):R.addEventListener("resize",()=>$(t),{once:!0}))}))},!0),N(window,"scroll",()=>{window.scrollTo(0,0)})),t=()=>{s(),d(),window.scrollTo(i,u)}),()=>{0==--k&&(null==t||t())}}},[n])}({isDisabled:!ee||ea||!j||el||!en||!K||!q});let{restorePositionSetting:eP}=function({isOpen:e,modal:t,nested:n,hasBeenOpened:a,preventScrollRestoration:o,noBodyStyles:l}){let[i,u]=r.default.useState(()=>"u">typeof window?window.location.href:""),s=r.default.useRef(0),d=r.default.useCallback(()=>{if(x()&&null===U&&e&&!l){U={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left,height:document.body.style.height,right:"unset"};let{scrollX:e,innerHeight:t}=window;document.body.style.setProperty("position","fixed","important"),Object.assign(document.body.style,{top:`${-s.current}px`,left:`${-e}px`,right:"0px",height:"auto"}),window.setTimeout(()=>window.requestAnimationFrame(()=>{let e=t-window.innerHeight;e&&s.current>=t&&(document.body.style.top=`${-(s.current+e)}px`)}),300)}},[e]),c=r.default.useCallback(()=>{if(x()&&null!==U&&!l){let e=-parseInt(document.body.style.top,10),t=-parseInt(document.body.style.left,10);Object.assign(document.body.style,U),window.requestAnimationFrame(()=>{o&&i!==window.location.href?u(window.location.href):window.scrollTo(t,e)}),U=null}},[i]);return r.default.useEffect(()=>{function e(){s.current=window.scrollY}return e(),window.addEventListener("scroll",e),()=>{window.removeEventListener("scroll",e)}},[]),r.default.useEffect(()=>{if(t)return()=>{"u"<typeof document||document.querySelector("[data-vaul-drawer]")||c()}},[t,c]),r.default.useEffect(()=>{!n&&a&&(e?(window.matchMedia("(display-mode: standalone)").matches||d(),t||window.setTimeout(()=>{c()},500)):c())},[e,a,i,t,n,d,c]),{restorePositionSetting:c}}({isOpen:ee,modal:j,nested:null!=S&&S,hasBeenOpened:en,preventScrollRestoration:V,noBodyStyles:M});function eM(){return(window.innerWidth-26)/window.innerWidth}function ez(e,t){var n;let r=e,a=null==(n=window.getSelection())?void 0:n.toString(),o=ey.current?F(ey.current,B):null,l=new Date;if("SELECT"===r.tagName||r.hasAttribute("data-vaul-no-drag")||r.closest("[data-vaul-no-drag]"))return!1;if("right"===B||"left"===B)return!0;if(es.current&&l.getTime()-es.current.getTime()<500)return!1;if(null!==o&&("bottom"===B?o>0:o<0))return!0;if(a&&a.length>0)return!1;if(ef.current&&l.getTime()-ef.current.getTime()<c&&0===o||t)return ef.current=l,!1;for(;r;){if(r.scrollHeight>r.clientHeight){if(0!==r.scrollTop)return ef.current=new Date,!1;if("dialog"===r.getAttribute("role"))break}r=r.parentNode}return!0}function eO(e){ea&&ey.current&&(ey.current.classList.remove(I),ep.current=!1,eo(!1),ec.current=new Date),null==D||D(),e||et(!1),setTimeout(()=>{i&&eD(i[0])},500)}function eL(){if(!ey.current)return;let e=document.querySelector("[data-vaul-drawer-wrapper]"),t=F(ey.current,B);O(ey.current,{transform:"translate3d(0, 0, 0)",transition:`transform 0.5s cubic-bezier(${A.join(",")})`}),O(eu.current,{transition:`opacity 0.5s cubic-bezier(${A.join(",")})`,opacity:"1"}),u&&t&&t>0&&ee&&O(e,{borderRadius:"8px",overflow:"hidden",...L(B)?{transform:`scale(${eM()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,transformOrigin:"top"}:{transform:`scale(${eM()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`,transformOrigin:"left"},transitionProperty:"transform, border-radius",transitionDuration:"0.5s",transitionTimingFunction:`cubic-bezier(${A.join(",")})`},!0)}return r.default.useEffect(()=>{window.requestAnimationFrame(()=>{ev.current=!0})},[]),r.default.useEffect(()=>{var e;function t(){if(ey.current&&K&&(P(document.activeElement)||eh.current)){var e;let t=(null==(e=window.visualViewport)?void 0:e.height)||0,n=window.innerHeight,r=n-t,a=ey.current.getBoundingClientRect().height||0;ej.current||(ej.current=a);let o=ey.current.getBoundingClientRect().top;if(Math.abs(ew.current-r)>60&&(eh.current=!eh.current),i&&i.length>0&&eS&&eR&&(r+=eS[eR]||0),ew.current=r,a>t||eh.current){let e=ey.current.getBoundingClientRect().height,l=e;e>t&&(l=t-(a>.8*n?o:26)),y?ey.current.style.height=`${e-Math.max(r,0)}px`:ey.current.style.height=`${Math.max(l,t-o)}px`}else{let e;e=navigator.userAgent,"u">typeof window&&(/Firefox/.test(e)&&/Mobile/.test(e)||/FxiOS/.test(e))||(ey.current.style.height=`${ej.current}px`)}i&&i.length>0&&!eh.current?ey.current.style.bottom="0px":ey.current.style.bottom=`${Math.max(r,0)}px`}}return null==(e=window.visualViewport)||e.addEventListener("resize",t),()=>{var e;return null==(e=window.visualViewport)?void 0:e.removeEventListener("resize",t)}},[eR,i,eS]),r.default.useEffect(()=>(ee&&(O(document.documentElement,{scrollBehavior:"auto"}),es.current=new Date),()=>{!function(e,t){if(!e||!(e instanceof HTMLElement))return;let n=z.get(e);n&&(e.style[t]=n[t])}(document.documentElement,"scrollBehavior")}),[ee]),r.default.useEffect(()=>{j||window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"})},[j]),r.default.createElement(v.Root,{defaultOpen:H,onOpenChange:e=>{(f||e)&&(e?er(!0):eO(!0),et(e))},open:ee},r.default.createElement(w.Provider,{value:{activeSnapPoint:eC,snapPoints:i,setActiveSnapPoint:eD,drawerRef:ey,overlayRef:eu,onOpenChange:n,onPress:function(e){var t,n;!f&&!i||(!ey.current||ey.current.contains(e.target))&&(ex.current=(null==(t=ey.current)?void 0:t.getBoundingClientRect().height)||0,eb.current=(null==(n=ey.current)?void 0:n.getBoundingClientRect().width)||0,eo(!0),ed.current=new Date,b()&&window.addEventListener("touchend",()=>ep.current=!1,{once:!0}),e.target.setPointerCapture(e.pointerId),eg.current=L(B)?e.pageY:e.pageX)},onRelease:function(e){var t,n;if(!ea||!ey.current)return;ey.current.classList.remove(I),ep.current=!1,eo(!1),ec.current=new Date;let r=F(ey.current,B);if(!e||!ez(e.target,!1)||!r||Number.isNaN(r)||null===ed.current)return;let a=ec.current.getTime()-ed.current.getTime(),o=eg.current-(L(B)?e.pageY:e.pageX),u=Math.abs(o)/a;if(u>.05&&(ei(!0),setTimeout(()=>{ei(!1)},200)),i){eE({draggedDistance:o*("bottom"===B||"right"===B?1:-1),closeDrawer:eO,velocity:u,dismissible:f}),null==l||l(e,!0);return}if("bottom"===B||"right"===B?o>0:o<0){eL(),null==l||l(e,!0);return}if(u>.4){eO(),null==l||l(e,!1);return}let s=Math.min(null!=(t=ey.current.getBoundingClientRect().height)?t:0,window.innerHeight),c=Math.min(null!=(n=ey.current.getBoundingClientRect().width)?n:0,window.innerWidth);if(Math.abs(r)>=("left"===B||"right"===B?c:s)*d){eO(),null==l||l(e,!1);return}null==l||l(e,!0),eL()},onDrag:function(e){if(ey.current&&ea){let t="bottom"===B||"right"===B?1:-1,n=(eg.current-(L(B)?e.pageY:e.pageX))*t,r=n>0,a=i&&!f&&!r;if(a&&0===eR)return;let l=Math.abs(n),s=document.querySelector("[data-vaul-drawer-wrapper]"),d=l/("bottom"===B||"top"===B?ex.current:eb.current),c=e$(l,r);if(null!==c&&(d=c),a&&d>=1||!ep.current&&!ez(e.target,r))return;if(ey.current.classList.add(I),ep.current=!0,O(ey.current,{transition:"none"}),O(eu.current,{transition:"none"}),i&&ek({draggedDistance:n}),r&&!i){let e=Math.min(-(8*(Math.log(n+1)-2)*1),0)*t;O(ey.current,{transform:L(B)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`});return}let p=1-d;if((eN||m&&eR===m-1)&&(null==o||o(e,d),O(eu.current,{opacity:`${p}`,transition:"none"},!0)),s&&eu.current&&u){let e=Math.min(eM()+d*(1-eM()),1),t=8-8*d,n=Math.max(0,14-14*d);O(s,{borderRadius:`${t}px`,transform:L(B)?`scale(${e}) translate3d(0, ${n}px, 0)`:`scale(${e}) translate3d(${n}px, 0, 0)`,transition:"none"},!0)}if(!i){let e=l*t;O(ey.current,{transform:L(B)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`})}}},dismissible:f,shouldAnimate:ev,handleOnly:p,isOpen:ee,isDragging:ea,shouldFade:eN,closeDrawer:eO,onNestedDrag:function(e,t){if(t<0)return;let n=(window.innerWidth-16)/window.innerWidth,r=n+t*(1-n),a=-16+16*t;O(ey.current,{transform:L(B)?`scale(${r}) translate3d(0, ${a}px, 0)`:`scale(${r}) translate3d(${a}px, 0, 0)`,transition:"none"})},onNestedOpenChange:function(e){let t=e?(window.innerWidth-16)/window.innerWidth:1,n=e?-16:0;em.current&&window.clearTimeout(em.current),O(ey.current,{transition:`transform 0.5s cubic-bezier(${A.join(",")})`,transform:L(B)?`scale(${t}) translate3d(0, ${n}px, 0)`:`scale(${t}) translate3d(${n}px, 0, 0)`}),!e&&ey.current&&(em.current=setTimeout(()=>{let e=F(ey.current,B);O(ey.current,{transition:"none",transform:L(B)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`})},500))},onNestedRelease:function(e,t){let n=L(B)?window.innerHeight:window.innerWidth,r=t?(n-16)/n:1,a=t?-16:0;t&&O(ey.current,{transition:`transform 0.5s cubic-bezier(${A.join(",")})`,transform:L(B)?`scale(${r}) translate3d(0, ${a}px, 0)`:`scale(${r}) translate3d(${a}px, 0, 0)`})},keyboardIsOpen:eh,modal:j,snapPointsOffset:eS,activeSnapPointIndex:eR,direction:B,shouldScaleBackground:u,setBackgroundColorOnScale:s,noBodyStyles:M,container:_,autoFocus:G}},a))}let X=r.default.forwardRef(function({...e},t){let{overlayRef:n,snapPoints:a,onRelease:o,shouldFade:l,isOpen:i,modal:u,shouldAnimate:s}=y(),d=M(t,n),c=a&&a.length>0;if(!u)return null;let f=r.default.useCallback(e=>o(e),[o]);return r.default.createElement(v.Overlay,{onMouseUp:f,ref:d,"data-vaul-overlay":"","data-vaul-snap-points":i&&c?"true":"false","data-vaul-snap-points-overlay":i&&l?"true":"false","data-vaul-animate":(null==s?void 0:s.current)?"true":"false",...e})});X.displayName="Drawer.Overlay";let V=r.default.forwardRef(function({onPointerDownOutside:e,style:t,onOpenAutoFocus:n,...a},o){let{drawerRef:l,onPress:i,onRelease:u,onDrag:s,keyboardIsOpen:d,snapPointsOffset:c,activeSnapPointIndex:f,modal:p,isOpen:m,direction:g,snapPoints:h,container:w,handleOnly:x,shouldAnimate:b,autoFocus:j}=y(),[T,C]=r.default.useState(!1),R=M(o,l),D=r.default.useRef(null),E=r.default.useRef(null),S=r.default.useRef(!1),k=h&&h.length>0;function N(e){D.current=null,S.current=!1,u(e)}return!function(){let{direction:e,isOpen:t,shouldScaleBackground:n,setBackgroundColorOnScale:a,noBodyStyles:o}=y(),l=r.default.useRef(null),i=(0,r.useMemo)(()=>document.body.style.backgroundColor,[]);function u(){return(window.innerWidth-26)/window.innerWidth}r.default.useEffect(()=>{if(t&&n){l.current&&clearTimeout(l.current);let t=document.querySelector("[data-vaul-drawer-wrapper]")||document.querySelector("[vaul-drawer-wrapper]");if(!t)return;!function(...e){}(a&&!o?B(document.body,{background:"black"}):q,B(t,{transformOrigin:L(e)?"top":"left",transitionProperty:"transform, border-radius",transitionDuration:"0.5s",transitionTimingFunction:`cubic-bezier(${A.join(",")})`}));let n=B(t,{borderRadius:"8px",overflow:"hidden",...L(e)?{transform:`scale(${u()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`}:{transform:`scale(${u()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`}});return()=>{n(),l.current=window.setTimeout(()=>{i?document.body.style.background=i:document.body.style.removeProperty("background")},500)}}},[t,n,i])}(),r.default.useEffect(()=>{k&&window.requestAnimationFrame(()=>{C(!0)})},[]),r.default.createElement(v.Content,{"data-vaul-drawer-direction":g,"data-vaul-drawer":"","data-vaul-delayed-snap-points":T?"true":"false","data-vaul-snap-points":m&&k?"true":"false","data-vaul-custom-container":w?"true":"false","data-vaul-animate":(null==b?void 0:b.current)?"true":"false",...a,ref:R,style:c&&c.length>0?{"--snap-point-height":`${c[null!=f?f:0]}px`,...t}:t,onPointerDown:e=>{x||(null==a.onPointerDown||a.onPointerDown.call(a,e),D.current={x:e.pageX,y:e.pageY},i(e))},onOpenAutoFocus:e=>{null==n||n(e),j||e.preventDefault()},onPointerDownOutside:t=>{(null==e||e(t),!p||t.defaultPrevented)?t.preventDefault():d.current&&(d.current=!1)},onFocusOutside:e=>{if(!p)return void e.preventDefault()},onPointerMove:e=>{if(E.current=e,x||(null==a.onPointerMove||a.onPointerMove.call(a,e),!D.current))return;let t=e.pageY-D.current.y,n=e.pageX-D.current.x,r="touch"===e.pointerType?10:2;((e,t,n=0)=>{if(S.current)return!0;let r=Math.abs(e.y),a=Math.abs(e.x),o=a>r,l=["bottom","right"].includes(t)?1:-1;if("left"===t||"right"===t){if(!(e.x*l<0)&&a>=0&&a<=n)return o}else if(!(e.y*l<0)&&r>=0&&r<=n)return!o;return S.current=!0,!0})({x:n,y:t},g,r)?s(e):(Math.abs(n)>r||Math.abs(t)>r)&&(D.current=null)},onPointerUp:e=>{null==a.onPointerUp||a.onPointerUp.call(a,e),D.current=null,S.current=!1,u(e)},onPointerOut:e=>{null==a.onPointerOut||a.onPointerOut.call(a,e),N(E.current)},onContextMenu:e=>{null==a.onContextMenu||a.onContextMenu.call(a,e),E.current&&N(E.current)}})});V.displayName="Drawer.Content";let K=r.default.forwardRef(function({preventCycle:e=!1,children:t,...n},a){let{closeDrawer:o,isDragging:l,snapPoints:i,activeSnapPoint:u,setActiveSnapPoint:s,dismissible:d,handleOnly:c,isOpen:f,onPress:p,onDrag:m}=y(),g=r.default.useRef(null),h=r.default.useRef(!1);function v(){g.current&&window.clearTimeout(g.current),h.current=!1}return r.default.createElement("div",{onClick:function(){h.current?v():window.setTimeout(()=>{!function(){if(l||e||h.current)return v();if(v(),!i||0===i.length){d||o();return}if(u===i[i.length-1]&&d)return o();let t=i.findIndex(e=>e===u);-1===t||s(i[t+1])}()},120)},onPointerCancel:v,onPointerDown:e=>{c&&p(e),g.current=window.setTimeout(()=>{h.current=!0},250)},onPointerMove:e=>{c&&m(e)},ref:a,"data-vaul-drawer-visible":f?"true":"false","data-vaul-handle":"","aria-hidden":"true",...n},r.default.createElement("span",{"data-vaul-handle-hitarea":"","aria-hidden":"true"},t))});K.displayName="Drawer.Handle";let J={Root:Y,NestedRoot:function({onDrag:e,onOpenChange:t,open:n,...a}){let{onNestedDrag:o,onNestedOpenChange:l,onNestedRelease:i}=y();if(!o)throw Error("Drawer.NestedRoot must be placed in another drawer");return r.default.createElement(Y,{nested:!0,open:n,onClose:()=>{l(!1)},onDrag:(t,n)=>{o(t,n),null==e||e(t,n)},onOpenChange:e=>{e&&l(e),null==t||t(e)},onRelease:i,...a})},Content:V,Overlay:X,Trigger:v.Trigger,Portal:function(e){let t=y(),{container:n=t.container,...a}=e;return r.default.createElement(v.Portal,{container:n,...a})},Handle:K,Close:v.Close,Title:v.Title,Description:v.Description};var _=e.i(31777);function G({...e}){return(0,n.jsx)(J.Portal,{"data-slot":"drawer-portal",...e})}e.s(["Drawer",0,function({...e}){return(0,n.jsx)(J.Root,{"data-slot":"drawer",...e})},"DrawerContent",0,function({className:e,children:t,direction:r="bottom",showCloseButton:a=!0,...o}){return(0,n.jsx)(G,{children:(0,n.jsxs)(J.Content,{"data-slot":"drawer-content",className:(0,_.cn)("bg-background fixed z-50 flex flex-col shadow-lg","bottom"===r&&"inset-x-0 bottom-0 mb-24 rounded-t-lg border-t","top"===r&&"inset-x-0 top-0 mt-24 rounded-b-lg border-b","right"===r&&"inset-y-0 right-0 h-full w-3/4 border-l","left"===r&&"inset-y-0 left-0 h-full w-3/4 border-r",e),style:{"--initial-transform":"calc(100% + 8px)",userSelect:"text",...o.style??{}},...o,children:[t,a?(0,n.jsxs)(J.Close,{className:"ring-offset-background focus:ring-ring absolute end-4 top-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none",children:[(0,n.jsx)(h.XIcon,{className:"size-4"}),(0,n.jsx)("span",{className:"sr-only",children:"Close"})]}):null]})})},"DrawerDescription",0,function({className:e,...t}){return(0,n.jsx)(J.Description,{"data-slot":"drawer-description",className:(0,_.cn)("text-muted-foreground text-sm",e),...t})},"DrawerFooter",0,function({className:e,...t}){return(0,n.jsx)("div",{"data-slot":"drawer-footer",className:(0,_.cn)("mt-auto flex flex-col gap-2 p-4",e),...t})},"DrawerHeader",0,function({className:e,...t}){return(0,n.jsx)("div",{"data-slot":"drawer-header",className:(0,_.cn)("flex flex-col gap-1.5 p-4",e),...t})},"DrawerOverlay",0,function({className:e,...t}){return(0,n.jsx)(J.Overlay,{"data-slot":"drawer-overlay",className:(0,_.cn)("fixed inset-0 z-50 bg-black/50",e),...t})},"DrawerTitle",0,function({className:e,...t}){return(0,n.jsx)(J.Title,{"data-slot":"drawer-title",className:(0,_.cn)("text-foreground font-semibold",e),...t})}],45811)},11495,e=>{"use strict";var t=e.i(96871),n=e.i(16539),r=e.i(48249),a=e.i(24042),o=e.i(64970),l=e.i(94237),i=e.i(56719),u=e.i(31777);e.i(81803);var s=e.i(72714);e.i(99348);var d=e.i(17466),c=e.i(45811),f=e.i(25235),p=e.i(2828);e.i(98026);var m=e.i(50728),g=e.i(8537),h=e.i(75921);let v=(0,l.cva)("",{variants:{size:{sm:"w-96",md:"w-2xl",lg:"w-[772px]"}},defaultVariants:{size:"sm"}});function w({deployTarget:e}){let n=(0,g.useDeployAction)(e),r="Booting"===n.status||"Ready"===n.status;return(0,t.jsxs)("div",{"data-testid":"base-drawer-deploy-bar",className:"flex items-center gap-2 px-4 pt-3 pb-3",children:[(0,t.jsx)(p.TooltipProvider,{children:(0,t.jsxs)(p.Tooltip,{children:[(0,t.jsx)(p.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{children:(0,t.jsx)(s.ActionButton,{label:r?"Stop Dev Server":"Start Dev Server",onClick:r?n.stop:n.deploy,loading:n.deployLoading||n.stopLoading,error:!!n.deployError,icon:r?o.Square:a.Play,iconOnly:!0,variant:"outline",size:"icon-sm"})})}),(0,t.jsx)(p.TooltipContent,{children:r?"Stop Dev Server":"Start Dev Server"})]})}),r?(0,t.jsx)(d.DeploymentStatusBadge,{status:n.status,url:n.url,targetId:e.targetId}):null]})}e.s(["BaseDrawer",0,function({open:e,onClose:a,modal:o=!1,dismissOnOutsideClick:l=!1,title:s="Drawer",size:d,header:p,children:g,footer:y,className:x,"data-testid":b,deployTarget:j}){let{i18n:T}=(0,m.useTranslation)(),C=(0,h.useFeatureFlags)(),R=(0,n.useRef)(null),D=(0,n.useRef)(null),E="rtl"===T.dir()?"left":"right",S=(0,n.useCallback)(()=>{D.current=document.activeElement},[]),k=(0,n.useCallback)(e=>{D.current&&"function"==typeof D.current.focus&&(e.preventDefault(),D.current.focus(),D.current=null)},[]);return(0,n.useEffect)(()=>{if(!e||o)return;let t=e=>{"Escape"===e.key&&(e.stopPropagation(),a())};return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t)},[e,o,a]),(0,n.useEffect)(()=>{if(!e||o)return;let t=e=>{let t=e.target;!document.body.contains(t)||R.current?.contains(t)||t.closest(l?'[role="alertdialog"], [role="dialog"], [role="menu"], [role="listbox"], [data-radix-popper-content-wrapper]':'[data-no-drawer-close], [role="alertdialog"], [role="dialog"], [role="menu"], [role="listbox"], [data-radix-popper-content-wrapper]')||a()};return document.addEventListener("click",t),()=>document.removeEventListener("click",t)},[e,o,a,l]),(0,t.jsxs)(c.Drawer,{direction:E,modal:o,handleOnly:!0,open:e,onOpenChange:e=>{e||a()},children:[o?(0,t.jsx)(c.DrawerOverlay,{}):null,(0,t.jsxs)(c.DrawerContent,{ref:R,direction:E,showCloseButton:!1,className:(0,u.cn)(v({size:d}),"bg-white/85 backdrop-blur-xl dark:bg-neutral-800/85",x),"data-testid":b,onInteractOutside:o?void 0:e=>e.preventDefault(),...!o?{"aria-modal":!0}:{},children:[(0,t.jsx)(c.DrawerTitle,{asChild:!0,children:(0,t.jsx)("span",{className:"sr-only",children:s})}),(0,t.jsx)(c.DrawerDescription,{asChild:!0,children:(0,t.jsx)("span",{className:"sr-only",children:s})}),(0,t.jsx)(i.FocusScope.Root,{trapped:!o,loop:!o,asChild:!0,onMountAutoFocus:S,onUnmountAutoFocus:k,children:(0,t.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden",children:[(0,t.jsxs)("button",{type:"button","aria-label":"Close",onClick:a,className:"ring-offset-background focus:ring-ring absolute end-3 top-2 z-50 rounded-sm p-1 opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden","data-testid":b?`${b}-close-button`:void 0,children:[(0,t.jsx)(r.XIcon,{className:"size-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]}),p?(0,t.jsx)(c.DrawerHeader,{className:"shrink-0",children:p}):null,p?(0,t.jsx)(f.Separator,{}):null,C.envDeploy&&j?(0,t.jsx)(w,{deployTarget:j}):null,(0,t.jsx)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden",children:g}),y?(0,t.jsx)(c.DrawerFooter,{className:"shrink-0",children:y}):null]})})]})]})}])}]);