@shepai/cli 1.152.0-pr476.cafabb8 → 1.153.0-pr477.9c7fcd0

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 (223) hide show
  1. package/dist/packages/core/src/application/ports/output/services/git-pr-service.interface.d.ts +37 -0
  2. package/dist/packages/core/src/application/ports/output/services/git-pr-service.interface.d.ts.map +1 -1
  3. package/dist/packages/core/src/application/use-cases/repositories/get-repository-commits.use-case.d.ts +18 -0
  4. package/dist/packages/core/src/application/use-cases/repositories/get-repository-commits.use-case.d.ts.map +1 -0
  5. package/dist/packages/core/src/application/use-cases/repositories/get-repository-commits.use-case.js +40 -0
  6. package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
  7. package/dist/packages/core/src/infrastructure/di/container.js +5 -0
  8. package/dist/packages/core/src/infrastructure/services/git/git-pr.service.d.ts +3 -1
  9. package/dist/packages/core/src/infrastructure/services/git/git-pr.service.d.ts.map +1 -1
  10. package/dist/packages/core/src/infrastructure/services/git/git-pr.service.js +40 -0
  11. package/dist/src/presentation/web/app/actions/get-repository-commits.d.ts +13 -0
  12. package/dist/src/presentation/web/app/actions/get-repository-commits.d.ts.map +1 -0
  13. package/dist/src/presentation/web/app/actions/get-repository-commits.js +16 -0
  14. package/dist/src/presentation/web/components/common/commit-history-tree/commit-history-tree.d.ts +14 -0
  15. package/dist/src/presentation/web/components/common/commit-history-tree/commit-history-tree.d.ts.map +1 -0
  16. package/dist/src/presentation/web/components/common/commit-history-tree/commit-history-tree.js +120 -0
  17. package/dist/src/presentation/web/components/common/commit-history-tree/commit-history-tree.stories.d.ts +12 -0
  18. package/dist/src/presentation/web/components/common/commit-history-tree/commit-history-tree.stories.d.ts.map +1 -0
  19. package/dist/src/presentation/web/components/common/commit-history-tree/commit-history-tree.stories.js +140 -0
  20. package/dist/src/presentation/web/components/common/commit-history-tree/use-commit-history.d.ts +16 -0
  21. package/dist/src/presentation/web/components/common/commit-history-tree/use-commit-history.d.ts.map +1 -0
  22. package/dist/src/presentation/web/components/common/commit-history-tree/use-commit-history.js +33 -0
  23. package/dist/src/presentation/web/components/common/control-center-drawer/repository-drawer-client.d.ts +1 -1
  24. package/dist/src/presentation/web/components/common/control-center-drawer/repository-drawer-client.d.ts.map +1 -1
  25. package/dist/src/presentation/web/components/common/control-center-drawer/repository-drawer-client.js +11 -1
  26. package/dist/src/presentation/web/components/features/features-canvas/canvas-toolbar.js +1 -1
  27. package/dist/tsconfig.build.tsbuildinfo +1 -1
  28. package/package.json +1 -1
  29. package/web/.next/BUILD_ID +1 -1
  30. package/web/.next/build-manifest.json +2 -2
  31. package/web/.next/fallback-build-manifest.json +2 -2
  32. package/web/.next/prerender-manifest.json +3 -3
  33. package/web/.next/required-server-files.js +2 -2
  34. package/web/.next/required-server-files.json +2 -2
  35. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +28 -28
  36. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  37. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  38. package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +26 -26
  39. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
  40. package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
  41. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +29 -29
  42. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  43. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  44. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +36 -36
  45. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  46. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  47. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +36 -36
  48. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  49. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  50. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +67 -52
  51. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js +1 -1
  52. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  53. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  54. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +67 -52
  55. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +1 -1
  56. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  57. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  58. package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +26 -26
  59. package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
  60. package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  61. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +29 -29
  62. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  63. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  64. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +36 -36
  65. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  66. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  67. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +36 -36
  68. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  69. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  70. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +26 -26
  71. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  72. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  73. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +67 -52
  74. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js +1 -1
  75. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  76. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  77. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +67 -52
  78. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +1 -1
  79. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  80. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  81. package/web/.next/server/app/_global-error.html +2 -2
  82. package/web/.next/server/app/_global-error.rsc +1 -1
  83. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  84. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  85. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  86. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  87. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  88. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +5 -5
  89. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  90. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  91. package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
  92. package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
  93. package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
  94. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js.nft.json +1 -1
  95. package/web/.next/server/app/api/sessions/route.js.nft.json +1 -1
  96. package/web/.next/server/app/api/sessions-batch/route.js.nft.json +1 -1
  97. package/web/.next/server/app/settings/page/server-reference-manifest.json +8 -8
  98. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  99. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  100. package/web/.next/server/app/skills/page/server-reference-manifest.json +10 -10
  101. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  102. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  103. package/web/.next/server/app/tools/page/server-reference-manifest.json +10 -10
  104. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  105. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  106. package/web/.next/server/app/version/page/server-reference-manifest.json +5 -5
  107. package/web/.next/server/app/version/page.js.nft.json +1 -1
  108. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  109. package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
  110. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  111. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  112. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +2 -2
  113. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -1
  114. package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_refresh-cw_2796b1f0.js +3 -0
  115. package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_refresh-cw_2796b1f0.js.map +1 -0
  116. package/web/.next/server/chunks/ssr/[root-of-the-server]__17ed7ed1._.js +1 -1
  117. package/web/.next/server/chunks/ssr/[root-of-the-server]__17ed7ed1._.js.map +1 -1
  118. package/web/.next/server/chunks/ssr/[root-of-the-server]__28d0d265._.js +2 -2
  119. package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
  120. package/web/.next/server/chunks/ssr/[root-of-the-server]__42bf1807._.js +1 -1
  121. package/web/.next/server/chunks/ssr/[root-of-the-server]__42bf1807._.js.map +1 -1
  122. package/web/.next/server/chunks/ssr/[root-of-the-server]__56b70465._.js +1 -1
  123. package/web/.next/server/chunks/ssr/[root-of-the-server]__56b70465._.js.map +1 -1
  124. package/web/.next/server/chunks/ssr/[root-of-the-server]__88f7e8e6._.js +1 -1
  125. package/web/.next/server/chunks/ssr/[root-of-the-server]__88f7e8e6._.js.map +1 -1
  126. package/web/.next/server/chunks/ssr/[root-of-the-server]__8b0aac03._.js +1 -1
  127. package/web/.next/server/chunks/ssr/[root-of-the-server]__c30f1f82._.js +1 -1
  128. package/web/.next/server/chunks/ssr/[root-of-the-server]__c30f1f82._.js.map +1 -1
  129. package/web/.next/server/chunks/ssr/[root-of-the-server]__ce859680._.js +3 -0
  130. package/web/.next/server/chunks/ssr/{[root-of-the-server]__f8dd4422._.js.map → [root-of-the-server]__ce859680._.js.map} +1 -1
  131. package/web/.next/server/chunks/ssr/[root-of-the-server]__f80bfc75._.js +1 -1
  132. package/web/.next/server/chunks/ssr/[root-of-the-server]__f80bfc75._.js.map +1 -1
  133. package/web/.next/server/chunks/ssr/_05c23ad9._.js +1 -1
  134. package/web/.next/server/chunks/ssr/_05c23ad9._.js.map +1 -1
  135. package/web/.next/server/chunks/ssr/_16eb4fec._.js +1 -1
  136. package/web/.next/server/chunks/ssr/_16eb4fec._.js.map +1 -1
  137. package/web/.next/server/chunks/ssr/{_f5073cd1._.js → _29ca8860._.js} +2 -2
  138. package/web/.next/server/chunks/ssr/{_f5073cd1._.js.map → _29ca8860._.js.map} +1 -1
  139. package/web/.next/server/chunks/ssr/_3a0b989f._.js +2 -2
  140. package/web/.next/server/chunks/ssr/_3a0b989f._.js.map +1 -1
  141. package/web/.next/server/chunks/ssr/{_d8bedf13._.js → _48066275._.js} +2 -2
  142. package/web/.next/server/chunks/ssr/_48066275._.js.map +1 -0
  143. package/web/.next/server/chunks/ssr/{_5f69c13f._.js → _4b41246e._.js} +2 -2
  144. package/web/.next/server/chunks/ssr/_4b41246e._.js.map +1 -0
  145. package/web/.next/server/chunks/ssr/_56b9d60f._.js +1 -1
  146. package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -1
  147. package/web/.next/server/chunks/ssr/{_8219712a._.js → _5eb64260._.js} +2 -2
  148. package/web/.next/server/chunks/ssr/_5eb64260._.js.map +1 -0
  149. package/web/.next/server/chunks/ssr/{_cb5a021e._.js → _6438bf2d._.js} +2 -2
  150. package/web/.next/server/chunks/ssr/_6438bf2d._.js.map +1 -0
  151. package/web/.next/server/chunks/ssr/_7c5b97c6._.js +1 -1
  152. package/web/.next/server/chunks/ssr/_7c5b97c6._.js.map +1 -1
  153. package/web/.next/server/chunks/ssr/_82c57f10._.js +1 -1
  154. package/web/.next/server/chunks/ssr/_82c57f10._.js.map +1 -1
  155. package/web/.next/server/chunks/ssr/{_d86175ae._.js → _87761ee1._.js} +2 -2
  156. package/web/.next/server/chunks/ssr/_87761ee1._.js.map +1 -0
  157. package/web/.next/server/chunks/ssr/_9495d50b._.js +1 -1
  158. package/web/.next/server/chunks/ssr/_9495d50b._.js.map +1 -1
  159. package/web/.next/server/chunks/ssr/_a0e3f7e4._.js +1 -1
  160. package/web/.next/server/chunks/ssr/_a0e3f7e4._.js.map +1 -1
  161. package/web/.next/server/chunks/ssr/{_0454e1de._.js → _a3aa1eb6._.js} +2 -2
  162. package/web/.next/server/chunks/ssr/_a3aa1eb6._.js.map +1 -0
  163. package/web/.next/server/chunks/ssr/_ac4a3873._.js +1 -1
  164. package/web/.next/server/chunks/ssr/_ac4a3873._.js.map +1 -1
  165. package/web/.next/server/chunks/ssr/_c93c0cc6._.js +3 -0
  166. package/web/.next/server/chunks/ssr/_c93c0cc6._.js.map +1 -0
  167. package/web/.next/server/chunks/ssr/_ca0aa7f0._.js +1 -1
  168. package/web/.next/server/chunks/ssr/_ca0aa7f0._.js.map +1 -1
  169. package/web/.next/server/chunks/ssr/{_e9a73a63._.js → _e55a0378._.js} +2 -2
  170. package/web/.next/server/chunks/ssr/{_e9a73a63._.js.map → _e55a0378._.js.map} +1 -1
  171. package/web/.next/server/chunks/ssr/_fa7efce3._.js +2 -2
  172. package/web/.next/server/chunks/ssr/_fa7efce3._.js.map +1 -1
  173. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  174. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  175. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js +3 -0
  176. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js.map +1 -0
  177. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_cdc632e3.js +1 -1
  178. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_cdc632e3.js.map +1 -1
  179. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_39ca0924.js +1 -1
  180. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_39ca0924.js.map +1 -1
  181. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js +1 -1
  182. package/web/.next/server/chunks/ssr/src_presentation_web_components_357e3eb0._.js +1 -1
  183. package/web/.next/server/chunks/ssr/src_presentation_web_components_357e3eb0._.js.map +1 -1
  184. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  185. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
  186. package/web/.next/server/pages/500.html +2 -2
  187. package/web/.next/server/server-reference-manifest.js +1 -1
  188. package/web/.next/server/server-reference-manifest.json +185 -149
  189. package/web/.next/static/chunks/{ccb54cbadfef1316.js → 0b347558818d2628.js} +1 -1
  190. package/web/.next/static/chunks/{cd54b758f58061d0.js → 1406c2860e7fac9c.js} +1 -1
  191. package/web/.next/static/chunks/36208713ad011740.js +1 -0
  192. package/web/.next/static/chunks/3f21588c6956d5b4.css +1 -0
  193. package/web/.next/static/chunks/471bebfd8d0f0acd.js +1 -0
  194. package/web/.next/static/chunks/{035fae40bf0ed469.js → 5a585a2f6bcff4a9.js} +1 -1
  195. package/web/.next/static/chunks/{358f58043189b539.js → 65ece264fa8f6fe1.js} +2 -2
  196. package/web/.next/static/chunks/{0b75bb9e9550073c.js → 929ed61442b5e9f7.js} +1 -1
  197. package/web/.next/static/chunks/{7564b97f874a385f.js → a4ffe2d157f11ad3.js} +1 -1
  198. package/web/.next/static/chunks/{1e472a57005aa6ba.js → aaf8507271e6f018.js} +1 -1
  199. package/web/.next/static/chunks/{6dba47d604ecee1e.js → b27aae090cd67337.js} +2 -2
  200. package/web/.next/static/chunks/{4a40a849f6ba6c6f.js → b2c3da92e5d7864b.js} +3 -3
  201. package/web/.next/static/chunks/bb831852c32a9e59.js +1 -0
  202. package/web/.next/static/chunks/{735012b8a096013d.js → d13a4b544b737cbc.js} +1 -1
  203. package/web/.next/static/chunks/eef9a6b627e39d41.js +1 -0
  204. package/web/.next/static/chunks/{6bf85f5937c714b5.js → fa08611a63bb5369.js} +1 -1
  205. package/web/.next/server/chunks/ssr/[root-of-the-server]__f8dd4422._.js +0 -3
  206. package/web/.next/server/chunks/ssr/_0454e1de._.js.map +0 -1
  207. package/web/.next/server/chunks/ssr/_5f69c13f._.js.map +0 -1
  208. package/web/.next/server/chunks/ssr/_8219712a._.js.map +0 -1
  209. package/web/.next/server/chunks/ssr/_895c848c._.js +0 -3
  210. package/web/.next/server/chunks/ssr/_895c848c._.js.map +0 -1
  211. package/web/.next/server/chunks/ssr/_cb5a021e._.js.map +0 -1
  212. package/web/.next/server/chunks/ssr/_cfbd1d7e._.js +0 -3
  213. package/web/.next/server/chunks/ssr/_cfbd1d7e._.js.map +0 -1
  214. package/web/.next/server/chunks/ssr/_d86175ae._.js.map +0 -1
  215. package/web/.next/server/chunks/ssr/_d8bedf13._.js.map +0 -1
  216. package/web/.next/static/chunks/211a4b7af388252d.js +0 -1
  217. package/web/.next/static/chunks/22c459f1877b1e4f.js +0 -1
  218. package/web/.next/static/chunks/8ba1c07ef18b15a9.js +0 -1
  219. package/web/.next/static/chunks/c86594475dcb03d5.css +0 -1
  220. package/web/.next/static/chunks/cfa3f3734e78d38d.js +0 -1
  221. /package/web/.next/static/{cRfpZzgvy54tlmdKZEXb_ → -_iF1islqFSzVifHA2Zlt}/_buildManifest.js +0 -0
  222. /package/web/.next/static/{cRfpZzgvy54tlmdKZEXb_ → -_iF1islqFSzVifHA2Zlt}/_clientMiddlewareManifest.json +0 -0
  223. /package/web/.next/static/{cRfpZzgvy54tlmdKZEXb_ → -_iF1islqFSzVifHA2Zlt}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,76852,e=>{"use strict";var t=e.i(79054),r=e.i(1237),l=e.i(34902),a=e.i(95341),c=e.i(21023);let s=(0,c.createServerReference)("40a1781fe67dbd2f44ce7d7da119083f9c3d560ee2",c.callServer,void 0,c.findSourceMapURL,"syncRepository");function u(e){let[c,u]=(0,t.useState)(!1),[i,n]=(0,t.useState)(!1),[d,o]=(0,t.useState)(!1),[p,f]=(0,t.useState)(!1),[y,h]=(0,t.useState)(null),[m,v]=(0,t.useState)(null),[k,x]=(0,t.useState)(null),[S,b]=(0,t.useState)(null),R=(0,t.useRef)(null),M=(0,t.useRef)(null),g=(0,t.useRef)(null),C=(0,t.useRef)(null);(0,t.useEffect)(()=>()=>{R.current&&clearTimeout(R.current),M.current&&clearTimeout(M.current),g.current&&clearTimeout(g.current),C.current&&clearTimeout(C.current)},[]);let T=(0,t.useCallback)(async(t,r,l,a,c)=>{if(e&&!c){a.current&&clearTimeout(a.current),r(!0),l(null);try{let e=await t();if(!e.success){let t=e.error??"An unexpected error occurred";l(t),a.current=setTimeout(()=>l(null),5e3)}}catch(e){l(e instanceof Error?e.message:"An unexpected error occurred"),a.current=setTimeout(()=>l(null),5e3)}finally{r(!1)}}},[e]);return{openInIde:(0,t.useCallback)(()=>T(()=>(0,r.openIde)({repositoryPath:e.repositoryPath}),u,h,R,c),[T,c,e]),openInShell:(0,t.useCallback)(()=>T(()=>(0,l.openShell)({repositoryPath:e.repositoryPath}),n,v,M,i),[T,i,e]),openFolder:(0,t.useCallback)(()=>T(()=>(0,a.openFolder)(e.repositoryPath),o,x,g,d),[T,d,e]),syncMain:(0,t.useCallback)(()=>T(()=>s(e.repositoryId??""),f,b,C,p),[T,p,e]),ideLoading:c,shellLoading:i,folderLoading:d,syncLoading:p,ideError:y,shellError:m,folderError:k,syncError:S}}e.s(["useRepositoryActions",()=>u],76852)},19933,e=>{"use strict";let t=(0,e.i(3645).default)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);e.s(["FolderOpen",()=>t],19933)},30702,e=>{"use strict";let t=(0,e.i(3645).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);e.s(["ExternalLink",()=>t],30702)},38573,e=>{"use strict";let t=(0,e.i(3645).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);e.s(["Terminal",()=>t],38573)},1650,e=>{"use strict";e.i(11495),e.s([])},49228,e=>{"use strict";let t=(0,e.i(3645).default)("git-branch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);e.s(["GitBranch",()=>t],49228)},8986,e=>{"use strict";let t=(0,e.i(3645).default)("code-xml",[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]]);e.s(["Code2",()=>t],8986)},83406,e=>{"use strict";let t=(0,e.i(3645).default)("git-commit-horizontal",[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12",key:"1dyftd"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12",key:"oup4p8"}]]);e.s(["default",()=>t])},1237,34902,95341,e=>{"use strict";var t=e.i(21023);let r=(0,t.createServerReference)("40a936167450da7fa1fa831420c27318d20899d4d6",t.callServer,void 0,t.findSourceMapURL,"openIde");e.s(["openIde",()=>r],1237);let l=(0,t.createServerReference)("4022608c89595665b7f4d13a6d49e27521b43e4b0c",t.callServer,void 0,t.findSourceMapURL,"openShell");e.s(["openShell",()=>l],34902);let a=(0,t.createServerReference)("404cddf2fe660b3c938c0cee71da66d9e1378b97ad",t.callServer,void 0,t.findSourceMapURL,"openFolder");e.s(["openFolder",()=>a],95341)},53360,e=>{"use strict";let t=(0,e.i(3645).default)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]);e.s(["Zap",()=>t],53360)},97667,e=>{"use strict";var t=e.i(1012);e.s(["CheckIcon",()=>t.default])},23405,e=>{"use strict";var t=e.i(79054);function r(e){let r=t.useRef({value:e,previous:e});return t.useMemo(()=>(r.current.value!==e&&(r.current.previous=r.current.value,r.current.value=e),r.current.previous),[e])}e.s(["usePrevious",()=>r])},95812,35e3,e=>{"use strict";let t=(0,e.i(3645).default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);e.s(["Circle",()=>t],95812);var r=e.i(80986);e.s(["CheckCircle2",()=>r.default],35e3)},3214,e=>{"use strict";let t=(0,e.i(3645).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",()=>t],3214)},10714,e=>{"use strict";let t=(0,e.i(3645).default)("minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);e.s(["default",()=>t])},54793,7729,e=>{"use strict";var t=e.i(20314),r=e.i(31777);function l({icon:e,title:l,description:a,action:c,className:s,...u}){return(0,t.jsxs)("div",{className:(0,r.cn)("flex flex-col items-center gap-4 px-4 py-12 text-center",s),...u,children:[e?(0,t.jsx)("div",{className:"text-muted-foreground",children:e}):null,(0,t.jsx)("h3",{className:"text-lg font-semibold",children:l}),a?(0,t.jsx)("p",{className:"text-muted-foreground max-w-md text-sm",children:a}):null,c?(0,t.jsx)("div",{className:"mt-2",children:c}):null]})}e.s(["EmptyState",()=>l],7729),e.s([],54793)},91925,e=>{"use strict";let t=(0,e.i(3645).default)("folder-plus",[["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);e.s(["FolderPlus",()=>t],91925)},11190,e=>{"use strict";var t=e.i(21023);let r=(0,t.createServerReference)("408f19ffab87a04c1af9b00f8b91699c2d707e36db",t.callServer,void 0,t.findSourceMapURL,"addRepository");e.s(["addRepository",()=>r])}]);
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,24042,e=>{"use strict";let t=(0,e.i(3645).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",()=>t],24042)},72714,e=>{"use strict";var t=e.i(20314),n=e.i(83428),r=e.i(51251),a=e.i(31777),o=e.i(35364),l=e.i(8361);function i({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]})}e.s(["ActionButton",()=>i])},81803,5259,99348,45811,e=>{"use strict";let t;e.i(72714),e.s([],81803);var n=e.i(20314),r=e.i(79054),a=e.i(83428),o=e.i(30702),l=e.i(38573),i=e.i(17406),u=e.i(81846),s=e.i(2287),d=e.i(21023);let c=(0,d.createServerReference)("4044645c86465da2d49ff636d2e574767ce8773f4b",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 pr-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})})}function g({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)(u.Badge,{className:"border-transparent bg-blue-50 text-blue-700 hover:bg-blue-50",children:[(0,n.jsx)(a.Loader2,{className:"mr-1 h-3.5 w-3.5 animate-spin"}),"Starting...",p?(0,n.jsx)("button",{type:"button","aria-label":"View server logs",className:"ml-1.5 inline-flex items-center rounded-sm p-0.5 hover:bg-blue-100",onClick:e=>{e.stopPropagation(),c(!0)},children:(0,n.jsx)(l.Terminal,{className:"h-3 w-3"})}):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)(u.Badge,{className:"border-transparent bg-green-50 text-green-700 hover:bg-green-50",children:[(0,n.jsx)("span",{className:"mr-1 inline-block h-2 w-2 rounded-full bg-green-500"}),t?(0,n.jsxs)("a",{href:t,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 hover:underline",onClick:e=>e.stopPropagation(),children:[t,(0,n.jsx)(o.ExternalLink,{className:"h-3 w-3"})]}):"Ready",p?(0,n.jsx)("button",{type:"button","aria-label":"View server logs",className:"ml-1.5 inline-flex items-center rounded-sm p-0.5 hover:bg-green-100",onClick:e=>{e.stopPropagation(),c(!0)},children:(0,n.jsx)(l.Terminal,{className:"h-3 w-3"})}):null]}),p?(0,n.jsx)(f,{open:d,onOpenChange:c,targetId:s}):null]});default:return null}}e.s(["DeploymentStatusBadge",()=>g],5259),e.s([],99348);var h=e.i(48249),v=e.i(567);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 b(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function x(){return R(/^iPhone/)||R(/^iPad/)||R(/^Mac/)&&navigator.maxTouchPoints>1}function R(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 C="u">typeof window?r.useLayoutEffect:r.useEffect;function j(...e){return(...t)=>{for(let n of e)"function"==typeof n&&n(...t)}}let D="u">typeof document&&window.visualViewport;function T(e){let t=window.getComputedStyle(e);return/(auto|scroll)/.test(t.overflow+t.overflowX+t.overflowY)}function E(e){for(T(e)&&(e=e.parentElement);e&&!T(e);)e=e.parentElement;return e||document.scrollingElement||document.documentElement}let S=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]),$=0;function N(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}function k(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 O=new WeakMap;function z(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||O.set(e,r)}let L=e=>{switch(e){case"top":case"bottom":return!0;case"left":case"right":return!1;default:return e}};function B(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 F(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=()=>()=>{},Y=null;function U({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:R=!0,onClose:T,nested:S,noBodyStyles:M=!1,direction:F="bottom",defaultOpen:H=!1,disablePreventScroll:q=!0,snapToSequentialPoint:U=!1,preventScrollRestoration:X=!1,repositionInputs:V=!0,onAnimationEnd:K,container:J,autoFocus:_=!1}){var G,Q;let[Z=!1,ee]=W({defaultProp:H,prop:e,onChange:e=>{null==n||n(e),e||S||ek(),setTimeout(()=>{null==K||K(e)},500),e&&!R&&"u">typeof window&&window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"}),e||(document.body.style.pointerEvents="auto")}}),[et,en]=r.default.useState(!1),[er,ea]=r.default.useState(!1),[eo,el]=r.default.useState(!1),ei=r.default.useRef(null),eu=r.default.useRef(null),es=r.default.useRef(null),ed=r.default.useRef(null),ec=r.default.useRef(null),ef=r.default.useRef(!1),ep=r.default.useRef(null),em=r.default.useRef(0),eg=r.default.useRef(!1),eh=r.default.useRef(!H),ev=r.default.useRef(0),ew=r.default.useRef(null),ey=r.default.useRef((null==(G=ew.current)?void 0:G.getBoundingClientRect().height)||0),eb=r.default.useRef((null==(Q=ew.current)?void 0:Q.getBoundingClientRect().width)||0),ex=r.default.useRef(0),eR=r.default.useCallback(e=>{i&&e===eE.length-1&&(eu.current=new Date)},[]),{activeSnapPoint:eC,activeSnapPointIndex:ej,setActiveSnapPoint:eD,onRelease:eT,snapPointsOffset:eE,onDrag:eS,shouldFade:e$,getPercentageDragged:eN}=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]),b=r.default.useCallback(e=>{var t;let r=null!=(t=null==w?void 0:w.findIndex(t=>t===e))?t:null;i(r),z(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?z(o.current,{transition:`opacity 0.5s cubic-bezier(${A.join(",")})`,opacity:"0"}):z(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]&&b(w[r])}},[c,e,n,w,b]),{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&&z(o.current,{transition:`opacity 0.5s cubic-bezier(${A.join(",")})`}),!d&&r>2&&!f)return void(a?t():b(w[0]));if(!d&&r>2&&f&&w&&n)return void b(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 b(w[n.length-1]):void(c&&e<0&&a&&t(),null===h||b(w[h+e]))}b(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]||z(a.current,{transform:L(u)?`translate3d(0, ${t}px, 0)`:`translate3d(${t}px, 0, 0)`})},snapPointsOffset:w}}({snapPoints:i,activeSnapPointProp:g,setActiveSnapPointProp:h,drawerRef:ew,fadeFromIndex:m,overlayRef:ei,onSnapPointChange:eR,direction:F,container:J,snapToSequentialPoint:U});!function(e={}){let{isDisabled:n}=e;C(()=>{if(!n){var e,r,a;let n,o,l,i,u,s,d;return 1==++$&&x()&&(l=0,i=window.pageXOffset,u=window.pageYOffset,s=j((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=j(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="",D&&(D.height<window.innerHeight?requestAnimationFrame(()=>{k(t)}):D.addEventListener("resize",()=>k(t),{once:!0}))}))},!0),N(window,"scroll",()=>{window.scrollTo(0,0)})),t=()=>{s(),d(),window.scrollTo(i,u)}),()=>{0==--$&&(null==t||t())}}},[n])}({isDisabled:!Z||er||!R||eo||!et||!V||!q});let{restorePositionSetting:ek}=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(b()&&null===Y&&e&&!l){Y={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(b()&&null!==Y&&!l){let e=-parseInt(document.body.style.top,10),t=-parseInt(document.body.style.left,10);Object.assign(document.body.style,Y),window.requestAnimationFrame(()=>{o&&i!==window.location.href?u(window.location.href):window.scrollTo(t,e)}),Y=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:Z,modal:R,nested:null!=S&&S,hasBeenOpened:et,preventScrollRestoration:X,noBodyStyles:M});function eP(){return(window.innerWidth-26)/window.innerWidth}function eM(e,t){var n;let r=e,a=null==(n=window.getSelection())?void 0:n.toString(),o=ew.current?B(ew.current,F):null,l=new Date;if("SELECT"===r.tagName||r.hasAttribute("data-vaul-no-drag")||r.closest("[data-vaul-no-drag]"))return!1;if("right"===F||"left"===F)return!0;if(eu.current&&l.getTime()-eu.current.getTime()<500)return!1;if(null!==o&&("bottom"===F?o>0:o<0))return!0;if(a&&a.length>0)return!1;if(ec.current&&l.getTime()-ec.current.getTime()<c&&0===o||t)return ec.current=l,!1;for(;r;){if(r.scrollHeight>r.clientHeight){if(0!==r.scrollTop)return ec.current=new Date,!1;if("dialog"===r.getAttribute("role"))break}r=r.parentNode}return!0}function eO(e){er&&ew.current&&(ew.current.classList.remove(I),ef.current=!1,ea(!1),ed.current=new Date),null==T||T(),e||ee(!1),setTimeout(()=>{i&&eD(i[0])},500)}function ez(){if(!ew.current)return;let e=document.querySelector("[data-vaul-drawer-wrapper]"),t=B(ew.current,F);z(ew.current,{transform:"translate3d(0, 0, 0)",transition:`transform 0.5s cubic-bezier(${A.join(",")})`}),z(ei.current,{transition:`opacity 0.5s cubic-bezier(${A.join(",")})`,opacity:"1"}),u&&t&&t>0&&Z&&z(e,{borderRadius:"8px",overflow:"hidden",...L(F)?{transform:`scale(${eP()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,transformOrigin:"top"}:{transform:`scale(${eP()}) 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(()=>{eh.current=!0})},[]),r.default.useEffect(()=>{var e;function t(){if(ew.current&&V&&(P(document.activeElement)||eg.current)){var e;let t=(null==(e=window.visualViewport)?void 0:e.height)||0,n=window.innerHeight,r=n-t,a=ew.current.getBoundingClientRect().height||0;ex.current||(ex.current=a);let o=ew.current.getBoundingClientRect().top;if(Math.abs(ev.current-r)>60&&(eg.current=!eg.current),i&&i.length>0&&eE&&ej&&(r+=eE[ej]||0),ev.current=r,a>t||eg.current){let e=ew.current.getBoundingClientRect().height,l=e;e>t&&(l=t-(a>.8*n?o:26)),y?ew.current.style.height=`${e-Math.max(r,0)}px`:ew.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))||(ew.current.style.height=`${ex.current}px`)}i&&i.length>0&&!eg.current?ew.current.style.bottom="0px":ew.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)}},[ej,i,eE]),r.default.useEffect(()=>(Z&&(z(document.documentElement,{scrollBehavior:"auto"}),eu.current=new Date),()=>{!function(e,t){if(!e||!(e instanceof HTMLElement))return;let n=O.get(e);n&&(e.style[t]=n[t])}(document.documentElement,"scrollBehavior")}),[Z]),r.default.useEffect(()=>{R||window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"})},[R]),r.default.createElement(v.Root,{defaultOpen:H,onOpenChange:e=>{(f||e)&&(e?en(!0):eO(!0),ee(e))},open:Z},r.default.createElement(w.Provider,{value:{activeSnapPoint:eC,snapPoints:i,setActiveSnapPoint:eD,drawerRef:ew,overlayRef:ei,onOpenChange:n,onPress:function(e){var t,n;!f&&!i||(!ew.current||ew.current.contains(e.target))&&(ey.current=(null==(t=ew.current)?void 0:t.getBoundingClientRect().height)||0,eb.current=(null==(n=ew.current)?void 0:n.getBoundingClientRect().width)||0,ea(!0),es.current=new Date,x()&&window.addEventListener("touchend",()=>ef.current=!1,{once:!0}),e.target.setPointerCapture(e.pointerId),em.current=L(F)?e.pageY:e.pageX)},onRelease:function(e){var t,n;if(!er||!ew.current)return;ew.current.classList.remove(I),ef.current=!1,ea(!1),ed.current=new Date;let r=B(ew.current,F);if(!e||!eM(e.target,!1)||!r||Number.isNaN(r)||null===es.current)return;let a=ed.current.getTime()-es.current.getTime(),o=em.current-(L(F)?e.pageY:e.pageX),u=Math.abs(o)/a;if(u>.05&&(el(!0),setTimeout(()=>{el(!1)},200)),i){eT({draggedDistance:o*("bottom"===F||"right"===F?1:-1),closeDrawer:eO,velocity:u,dismissible:f}),null==l||l(e,!0);return}if("bottom"===F||"right"===F?o>0:o<0){ez(),null==l||l(e,!0);return}if(u>.4){eO(),null==l||l(e,!1);return}let s=Math.min(null!=(t=ew.current.getBoundingClientRect().height)?t:0,window.innerHeight),c=Math.min(null!=(n=ew.current.getBoundingClientRect().width)?n:0,window.innerWidth);if(Math.abs(r)>=("left"===F||"right"===F?c:s)*d){eO(),null==l||l(e,!1);return}null==l||l(e,!0),ez()},onDrag:function(e){if(ew.current&&er){let t="bottom"===F||"right"===F?1:-1,n=(em.current-(L(F)?e.pageY:e.pageX))*t,r=n>0,a=i&&!f&&!r;if(a&&0===ej)return;let l=Math.abs(n),s=document.querySelector("[data-vaul-drawer-wrapper]"),d=l/("bottom"===F||"top"===F?ey.current:eb.current),c=eN(l,r);if(null!==c&&(d=c),a&&d>=1||!ef.current&&!eM(e.target,r))return;if(ew.current.classList.add(I),ef.current=!0,z(ew.current,{transition:"none"}),z(ei.current,{transition:"none"}),i&&eS({draggedDistance:n}),r&&!i){let e=Math.min(-(8*(Math.log(n+1)-2)*1),0)*t;z(ew.current,{transform:L(F)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`});return}let p=1-d;if((e$||m&&ej===m-1)&&(null==o||o(e,d),z(ei.current,{opacity:`${p}`,transition:"none"},!0)),s&&ei.current&&u){let e=Math.min(eP()+d*(1-eP()),1),t=8-8*d,n=Math.max(0,14-14*d);z(s,{borderRadius:`${t}px`,transform:L(F)?`scale(${e}) translate3d(0, ${n}px, 0)`:`scale(${e}) translate3d(${n}px, 0, 0)`,transition:"none"},!0)}if(!i){let e=l*t;z(ew.current,{transform:L(F)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`})}}},dismissible:f,shouldAnimate:eh,handleOnly:p,isOpen:Z,isDragging:er,shouldFade:e$,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;z(ew.current,{transform:L(F)?`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;ep.current&&window.clearTimeout(ep.current),z(ew.current,{transition:`transform 0.5s cubic-bezier(${A.join(",")})`,transform:L(F)?`scale(${t}) translate3d(0, ${n}px, 0)`:`scale(${t}) translate3d(${n}px, 0, 0)`}),!e&&ew.current&&(ep.current=setTimeout(()=>{let e=B(ew.current,F);z(ew.current,{transition:"none",transform:L(F)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`})},500))},onNestedRelease:function(e,t){let n=L(F)?window.innerHeight:window.innerWidth,r=t?(n-16)/n:1,a=t?-16:0;t&&z(ew.current,{transition:`transform 0.5s cubic-bezier(${A.join(",")})`,transform:L(F)?`scale(${r}) translate3d(0, ${a}px, 0)`:`scale(${r}) translate3d(${a}px, 0, 0)`})},keyboardIsOpen:eg,modal:R,snapPointsOffset:eE,activeSnapPointIndex:ej,direction:F,shouldScaleBackground:u,setBackgroundColorOnScale:s,noBodyStyles:M,container:J,autoFocus:_}},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:b,shouldAnimate:x,autoFocus:R}=y(),[C,j]=r.default.useState(!1),D=M(o,l),T=r.default.useRef(null),E=r.default.useRef(null),S=r.default.useRef(!1),$=h&&h.length>0;function N(e){T.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?F(document.body,{background:"black"}):q,F(t,{transformOrigin:L(e)?"top":"left",transitionProperty:"transform, border-radius",transitionDuration:"0.5s",transitionTimingFunction:`cubic-bezier(${A.join(",")})`}));let n=F(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(()=>{$&&window.requestAnimationFrame(()=>{j(!0)})},[]),r.default.createElement(v.Content,{"data-vaul-drawer-direction":g,"data-vaul-drawer":"","data-vaul-delayed-snap-points":C?"true":"false","data-vaul-snap-points":m&&$?"true":"false","data-vaul-custom-container":w?"true":"false","data-vaul-animate":(null==x?void 0:x.current)?"true":"false",...a,ref:D,style:c&&c.length>0?{"--snap-point-height":`${c[null!=f?f:0]}px`,...t}:t,onPointerDown:e=>{b||(null==a.onPointerDown||a.onPointerDown.call(a,e),T.current={x:e.pageX,y:e.pageY},i(e))},onOpenAutoFocus:e=>{null==n||n(e),R||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,b||(null==a.onPointerMove||a.onPointerMove.call(a,e),!T.current))return;let t=e.pageY-T.current.y,n=e.pageX-T.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)&&(T.current=null)},onPointerUp:e=>{null==a.onPointerUp||a.onPointerUp.call(a,e),T.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:U,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(U,{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.Root,{"data-slot":"drawer",...e})}function Q({...e}){return(0,n.jsx)(J.Portal,{"data-slot":"drawer-portal",...e})}function Z({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})}function ee({className:e,children:t,direction:r="bottom",showCloseButton:a=!0,...o}){return(0,n.jsx)(Q,{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":"right"===r?"calc(100% + 8px)":"left"===r||"top"===r?"calc(-100% - 8px)":"calc(100% + 8px)",userSelect:"text",...o.style??{}},...o,children:[t,a?(0,n.jsxs)(J.Close,{className:"ring-offset-background focus:ring-ring absolute top-4 right-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]})})}function et({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})}function en({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})}function er({className:e,...t}){return(0,n.jsx)(J.Title,{"data-slot":"drawer-title",className:(0,_.cn)("text-foreground font-semibold",e),...t})}function ea({className:e,...t}){return(0,n.jsx)(J.Description,{"data-slot":"drawer-description",className:(0,_.cn)("text-muted-foreground text-sm",e),...t})}e.s(["Drawer",()=>G,"DrawerContent",()=>ee,"DrawerDescription",()=>ea,"DrawerFooter",()=>en,"DrawerHeader",()=>et,"DrawerOverlay",()=>Z,"DrawerTitle",()=>er],45811)},8537,e=>{"use strict";var t=e.i(79054),n=e.i(18354),r=e.i(21023);let a=(0,r.createServerReference)("401e99098a45a85ae965e17db93048859ed7c37d8f",r.callServer,void 0,r.findSourceMapURL,"deployFeature"),o=(0,r.createServerReference)("403199485662156f3c6b0a96f973ae2e3a6715fb21",r.callServer,void 0,r.findSourceMapURL,"deployRepository"),l=(0,r.createServerReference)("402c5f4862d1583d4bf2fb72a566330bb80f400a31",r.callServer,void 0,r.findSourceMapURL,"stopDeployment"),i=(0,r.createServerReference)("40b1aaf526f507de71efd21fc9669dc793fd6fd2b5",r.callServer,void 0,r.findSourceMapURL,"getDeploymentStatus"),u=(0,n.createLogger)("[useDeployAction]");function s(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 b=(0,t.useCallback)(()=>{v.current&&(u.debug("stopping polling"),clearInterval(v.current),v.current=null)},[]),x=(0,t.useCallback)(e=>{b(),u.debug(`starting polling for "${e}" every 3000ms`),v.current=setInterval(async()=>{let t;if(!w.current)return void b();try{t=await i(e)}catch(t){u.warn(`poll fetch failed for "${e}":`,t),w.current&&(m(null),h(null),b());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),b()))},3e3)},[b]),R=(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),x(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,x]),C=(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&&(b(),m(null),h(null))}catch(e){u.warn("stop error (non-critical):",e)}finally{w.current&&d(!1)}}},[e,s,b]);return{deploy:R,stop:C,deployLoading:n,stopLoading:s,deployError:c,status:p,url:g}}e.s(["useDeployAction",()=>s],8537)},11495,e=>{"use strict";var t=e.i(20314),n=e.i(79054),r=e.i(48249),a=e.i(24042),o=e.i(6910),l=e.i(94237),i=e.i(31777);e.i(81803);var u=e.i(72714);e.i(99348);var s=e.i(5259),d=e.i(45811),c=e.i(25235),f=e.i(2828),p=e.i(8537),m=e.i(75921);let g=(0,l.cva)("",{variants:{size:{sm:"w-96",md:"w-2xl",lg:"w-[772px]"}},defaultVariants:{size:"sm"}});function h({open:e,onClose:a,modal:o=!1,dismissOnOutsideClick:l=!1,title:u="Drawer",size:s,header:f,children:p,footer:h,className:w,"data-testid":y,deployTarget:b}){let x=(0,m.useFeatureFlags)(),R=(0,n.useRef)(null);return(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)(d.Drawer,{direction:"right",modal:o,handleOnly:!0,open:e,onOpenChange:e=>{e||a()},children:[o?(0,t.jsx)(d.DrawerOverlay,{}):null,(0,t.jsxs)(d.DrawerContent,{ref:R,direction:"right",showCloseButton:!1,className:(0,i.cn)(g({size:s}),"bg-white/85 backdrop-blur-xl dark:bg-neutral-800/85",w),"data-testid":y,onInteractOutside:o?void 0:e=>e.preventDefault(),children:[(0,t.jsx)(d.DrawerTitle,{asChild:!0,children:(0,t.jsx)("span",{className:"sr-only",children:u})}),(0,t.jsx)(d.DrawerDescription,{asChild:!0,children:(0,t.jsx)("span",{className:"sr-only",children:u})}),(0,t.jsxs)("button",{type:"button","aria-label":"Close",onClick:a,className:"ring-offset-background focus:ring-ring absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden","data-testid":y?`${y}-close-button`:void 0,children:[(0,t.jsx)(r.XIcon,{className:"size-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]}),f?(0,t.jsx)(d.DrawerHeader,{className:"shrink-0",children:f}):null,f?(0,t.jsx)(c.Separator,{}):null,x.envDeploy&&b?(0,t.jsx)(v,{deployTarget:b}):null,(0,t.jsx)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden",children:p}),h?(0,t.jsx)(d.DrawerFooter,{className:"shrink-0",children:h}):null]})]})}function v({deployTarget:e}){let n=(0,p.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)(f.TooltipProvider,{children:(0,t.jsxs)(f.Tooltip,{children:[(0,t.jsx)(f.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{children:(0,t.jsx)(u.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)(f.TooltipContent,{children:r?"Stop Dev Server":"Start Dev Server"})]})}),r?(0,t.jsx)(s.DeploymentStatusBadge,{status:n.status,url:n.url,targetId:e.targetId}):null]})}e.s(["BaseDrawer",()=>h])}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,24042,e=>{"use strict";let t=(0,e.i(3645).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",()=>t],24042)},72714,e=>{"use strict";var t=e.i(20314),n=e.i(83428),r=e.i(51251),a=e.i(31777),o=e.i(35364),l=e.i(8361);function i({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]})}e.s(["ActionButton",()=>i])},81803,5259,99348,45811,e=>{"use strict";let t;e.i(72714),e.s([],81803);var n=e.i(20314),r=e.i(79054),a=e.i(83428),o=e.i(30702),l=e.i(38573),i=e.i(17406),u=e.i(81846),s=e.i(2287),d=e.i(21023);let c=(0,d.createServerReference)("40498cd2666731c4d9f520f03b7fd26762882bd2f2",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 pr-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})})}function g({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)(u.Badge,{className:"border-transparent bg-blue-50 text-blue-700 hover:bg-blue-50",children:[(0,n.jsx)(a.Loader2,{className:"mr-1 h-3.5 w-3.5 animate-spin"}),"Starting...",p?(0,n.jsx)("button",{type:"button","aria-label":"View server logs",className:"ml-1.5 inline-flex items-center rounded-sm p-0.5 hover:bg-blue-100",onClick:e=>{e.stopPropagation(),c(!0)},children:(0,n.jsx)(l.Terminal,{className:"h-3 w-3"})}):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)(u.Badge,{className:"border-transparent bg-green-50 text-green-700 hover:bg-green-50",children:[(0,n.jsx)("span",{className:"mr-1 inline-block h-2 w-2 rounded-full bg-green-500"}),t?(0,n.jsxs)("a",{href:t,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 hover:underline",onClick:e=>e.stopPropagation(),children:[t,(0,n.jsx)(o.ExternalLink,{className:"h-3 w-3"})]}):"Ready",p?(0,n.jsx)("button",{type:"button","aria-label":"View server logs",className:"ml-1.5 inline-flex items-center rounded-sm p-0.5 hover:bg-green-100",onClick:e=>{e.stopPropagation(),c(!0)},children:(0,n.jsx)(l.Terminal,{className:"h-3 w-3"})}):null]}),p?(0,n.jsx)(f,{open:d,onOpenChange:c,targetId:s}):null]});default:return null}}e.s(["DeploymentStatusBadge",()=>g],5259),e.s([],99348);var h=e.i(48249),v=e.i(567);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 b(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function x(){return R(/^iPhone/)||R(/^iPad/)||R(/^Mac/)&&navigator.maxTouchPoints>1}function R(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 C="u">typeof window?r.useLayoutEffect:r.useEffect;function j(...e){return(...t)=>{for(let n of e)"function"==typeof n&&n(...t)}}let D="u">typeof document&&window.visualViewport;function T(e){let t=window.getComputedStyle(e);return/(auto|scroll)/.test(t.overflow+t.overflowX+t.overflowY)}function E(e){for(T(e)&&(e=e.parentElement);e&&!T(e);)e=e.parentElement;return e||document.scrollingElement||document.documentElement}let S=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]),$=0;function N(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}function k(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 O=new WeakMap;function z(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||O.set(e,r)}let L=e=>{switch(e){case"top":case"bottom":return!0;case"left":case"right":return!1;default:return e}};function B(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 F(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=()=>()=>{},Y=null;function U({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:R=!0,onClose:T,nested:S,noBodyStyles:M=!1,direction:F="bottom",defaultOpen:H=!1,disablePreventScroll:q=!0,snapToSequentialPoint:U=!1,preventScrollRestoration:X=!1,repositionInputs:V=!0,onAnimationEnd:K,container:J,autoFocus:_=!1}){var G,Q;let[Z=!1,ee]=W({defaultProp:H,prop:e,onChange:e=>{null==n||n(e),e||S||ek(),setTimeout(()=>{null==K||K(e)},500),e&&!R&&"u">typeof window&&window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"}),e||(document.body.style.pointerEvents="auto")}}),[et,en]=r.default.useState(!1),[er,ea]=r.default.useState(!1),[eo,el]=r.default.useState(!1),ei=r.default.useRef(null),eu=r.default.useRef(null),es=r.default.useRef(null),ed=r.default.useRef(null),ec=r.default.useRef(null),ef=r.default.useRef(!1),ep=r.default.useRef(null),em=r.default.useRef(0),eg=r.default.useRef(!1),eh=r.default.useRef(!H),ev=r.default.useRef(0),ew=r.default.useRef(null),ey=r.default.useRef((null==(G=ew.current)?void 0:G.getBoundingClientRect().height)||0),eb=r.default.useRef((null==(Q=ew.current)?void 0:Q.getBoundingClientRect().width)||0),ex=r.default.useRef(0),eR=r.default.useCallback(e=>{i&&e===eE.length-1&&(eu.current=new Date)},[]),{activeSnapPoint:eC,activeSnapPointIndex:ej,setActiveSnapPoint:eD,onRelease:eT,snapPointsOffset:eE,onDrag:eS,shouldFade:e$,getPercentageDragged:eN}=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]),b=r.default.useCallback(e=>{var t;let r=null!=(t=null==w?void 0:w.findIndex(t=>t===e))?t:null;i(r),z(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?z(o.current,{transition:`opacity 0.5s cubic-bezier(${A.join(",")})`,opacity:"0"}):z(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]&&b(w[r])}},[c,e,n,w,b]),{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&&z(o.current,{transition:`opacity 0.5s cubic-bezier(${A.join(",")})`}),!d&&r>2&&!f)return void(a?t():b(w[0]));if(!d&&r>2&&f&&w&&n)return void b(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 b(w[n.length-1]):void(c&&e<0&&a&&t(),null===h||b(w[h+e]))}b(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]||z(a.current,{transform:L(u)?`translate3d(0, ${t}px, 0)`:`translate3d(${t}px, 0, 0)`})},snapPointsOffset:w}}({snapPoints:i,activeSnapPointProp:g,setActiveSnapPointProp:h,drawerRef:ew,fadeFromIndex:m,overlayRef:ei,onSnapPointChange:eR,direction:F,container:J,snapToSequentialPoint:U});!function(e={}){let{isDisabled:n}=e;C(()=>{if(!n){var e,r,a;let n,o,l,i,u,s,d;return 1==++$&&x()&&(l=0,i=window.pageXOffset,u=window.pageYOffset,s=j((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=j(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="",D&&(D.height<window.innerHeight?requestAnimationFrame(()=>{k(t)}):D.addEventListener("resize",()=>k(t),{once:!0}))}))},!0),N(window,"scroll",()=>{window.scrollTo(0,0)})),t=()=>{s(),d(),window.scrollTo(i,u)}),()=>{0==--$&&(null==t||t())}}},[n])}({isDisabled:!Z||er||!R||eo||!et||!V||!q});let{restorePositionSetting:ek}=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(b()&&null===Y&&e&&!l){Y={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(b()&&null!==Y&&!l){let e=-parseInt(document.body.style.top,10),t=-parseInt(document.body.style.left,10);Object.assign(document.body.style,Y),window.requestAnimationFrame(()=>{o&&i!==window.location.href?u(window.location.href):window.scrollTo(t,e)}),Y=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:Z,modal:R,nested:null!=S&&S,hasBeenOpened:et,preventScrollRestoration:X,noBodyStyles:M});function eP(){return(window.innerWidth-26)/window.innerWidth}function eM(e,t){var n;let r=e,a=null==(n=window.getSelection())?void 0:n.toString(),o=ew.current?B(ew.current,F):null,l=new Date;if("SELECT"===r.tagName||r.hasAttribute("data-vaul-no-drag")||r.closest("[data-vaul-no-drag]"))return!1;if("right"===F||"left"===F)return!0;if(eu.current&&l.getTime()-eu.current.getTime()<500)return!1;if(null!==o&&("bottom"===F?o>0:o<0))return!0;if(a&&a.length>0)return!1;if(ec.current&&l.getTime()-ec.current.getTime()<c&&0===o||t)return ec.current=l,!1;for(;r;){if(r.scrollHeight>r.clientHeight){if(0!==r.scrollTop)return ec.current=new Date,!1;if("dialog"===r.getAttribute("role"))break}r=r.parentNode}return!0}function eO(e){er&&ew.current&&(ew.current.classList.remove(I),ef.current=!1,ea(!1),ed.current=new Date),null==T||T(),e||ee(!1),setTimeout(()=>{i&&eD(i[0])},500)}function ez(){if(!ew.current)return;let e=document.querySelector("[data-vaul-drawer-wrapper]"),t=B(ew.current,F);z(ew.current,{transform:"translate3d(0, 0, 0)",transition:`transform 0.5s cubic-bezier(${A.join(",")})`}),z(ei.current,{transition:`opacity 0.5s cubic-bezier(${A.join(",")})`,opacity:"1"}),u&&t&&t>0&&Z&&z(e,{borderRadius:"8px",overflow:"hidden",...L(F)?{transform:`scale(${eP()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,transformOrigin:"top"}:{transform:`scale(${eP()}) 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(()=>{eh.current=!0})},[]),r.default.useEffect(()=>{var e;function t(){if(ew.current&&V&&(P(document.activeElement)||eg.current)){var e;let t=(null==(e=window.visualViewport)?void 0:e.height)||0,n=window.innerHeight,r=n-t,a=ew.current.getBoundingClientRect().height||0;ex.current||(ex.current=a);let o=ew.current.getBoundingClientRect().top;if(Math.abs(ev.current-r)>60&&(eg.current=!eg.current),i&&i.length>0&&eE&&ej&&(r+=eE[ej]||0),ev.current=r,a>t||eg.current){let e=ew.current.getBoundingClientRect().height,l=e;e>t&&(l=t-(a>.8*n?o:26)),y?ew.current.style.height=`${e-Math.max(r,0)}px`:ew.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))||(ew.current.style.height=`${ex.current}px`)}i&&i.length>0&&!eg.current?ew.current.style.bottom="0px":ew.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)}},[ej,i,eE]),r.default.useEffect(()=>(Z&&(z(document.documentElement,{scrollBehavior:"auto"}),eu.current=new Date),()=>{!function(e,t){if(!e||!(e instanceof HTMLElement))return;let n=O.get(e);n&&(e.style[t]=n[t])}(document.documentElement,"scrollBehavior")}),[Z]),r.default.useEffect(()=>{R||window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"})},[R]),r.default.createElement(v.Root,{defaultOpen:H,onOpenChange:e=>{(f||e)&&(e?en(!0):eO(!0),ee(e))},open:Z},r.default.createElement(w.Provider,{value:{activeSnapPoint:eC,snapPoints:i,setActiveSnapPoint:eD,drawerRef:ew,overlayRef:ei,onOpenChange:n,onPress:function(e){var t,n;!f&&!i||(!ew.current||ew.current.contains(e.target))&&(ey.current=(null==(t=ew.current)?void 0:t.getBoundingClientRect().height)||0,eb.current=(null==(n=ew.current)?void 0:n.getBoundingClientRect().width)||0,ea(!0),es.current=new Date,x()&&window.addEventListener("touchend",()=>ef.current=!1,{once:!0}),e.target.setPointerCapture(e.pointerId),em.current=L(F)?e.pageY:e.pageX)},onRelease:function(e){var t,n;if(!er||!ew.current)return;ew.current.classList.remove(I),ef.current=!1,ea(!1),ed.current=new Date;let r=B(ew.current,F);if(!e||!eM(e.target,!1)||!r||Number.isNaN(r)||null===es.current)return;let a=ed.current.getTime()-es.current.getTime(),o=em.current-(L(F)?e.pageY:e.pageX),u=Math.abs(o)/a;if(u>.05&&(el(!0),setTimeout(()=>{el(!1)},200)),i){eT({draggedDistance:o*("bottom"===F||"right"===F?1:-1),closeDrawer:eO,velocity:u,dismissible:f}),null==l||l(e,!0);return}if("bottom"===F||"right"===F?o>0:o<0){ez(),null==l||l(e,!0);return}if(u>.4){eO(),null==l||l(e,!1);return}let s=Math.min(null!=(t=ew.current.getBoundingClientRect().height)?t:0,window.innerHeight),c=Math.min(null!=(n=ew.current.getBoundingClientRect().width)?n:0,window.innerWidth);if(Math.abs(r)>=("left"===F||"right"===F?c:s)*d){eO(),null==l||l(e,!1);return}null==l||l(e,!0),ez()},onDrag:function(e){if(ew.current&&er){let t="bottom"===F||"right"===F?1:-1,n=(em.current-(L(F)?e.pageY:e.pageX))*t,r=n>0,a=i&&!f&&!r;if(a&&0===ej)return;let l=Math.abs(n),s=document.querySelector("[data-vaul-drawer-wrapper]"),d=l/("bottom"===F||"top"===F?ey.current:eb.current),c=eN(l,r);if(null!==c&&(d=c),a&&d>=1||!ef.current&&!eM(e.target,r))return;if(ew.current.classList.add(I),ef.current=!0,z(ew.current,{transition:"none"}),z(ei.current,{transition:"none"}),i&&eS({draggedDistance:n}),r&&!i){let e=Math.min(-(8*(Math.log(n+1)-2)*1),0)*t;z(ew.current,{transform:L(F)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`});return}let p=1-d;if((e$||m&&ej===m-1)&&(null==o||o(e,d),z(ei.current,{opacity:`${p}`,transition:"none"},!0)),s&&ei.current&&u){let e=Math.min(eP()+d*(1-eP()),1),t=8-8*d,n=Math.max(0,14-14*d);z(s,{borderRadius:`${t}px`,transform:L(F)?`scale(${e}) translate3d(0, ${n}px, 0)`:`scale(${e}) translate3d(${n}px, 0, 0)`,transition:"none"},!0)}if(!i){let e=l*t;z(ew.current,{transform:L(F)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`})}}},dismissible:f,shouldAnimate:eh,handleOnly:p,isOpen:Z,isDragging:er,shouldFade:e$,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;z(ew.current,{transform:L(F)?`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;ep.current&&window.clearTimeout(ep.current),z(ew.current,{transition:`transform 0.5s cubic-bezier(${A.join(",")})`,transform:L(F)?`scale(${t}) translate3d(0, ${n}px, 0)`:`scale(${t}) translate3d(${n}px, 0, 0)`}),!e&&ew.current&&(ep.current=setTimeout(()=>{let e=B(ew.current,F);z(ew.current,{transition:"none",transform:L(F)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`})},500))},onNestedRelease:function(e,t){let n=L(F)?window.innerHeight:window.innerWidth,r=t?(n-16)/n:1,a=t?-16:0;t&&z(ew.current,{transition:`transform 0.5s cubic-bezier(${A.join(",")})`,transform:L(F)?`scale(${r}) translate3d(0, ${a}px, 0)`:`scale(${r}) translate3d(${a}px, 0, 0)`})},keyboardIsOpen:eg,modal:R,snapPointsOffset:eE,activeSnapPointIndex:ej,direction:F,shouldScaleBackground:u,setBackgroundColorOnScale:s,noBodyStyles:M,container:J,autoFocus:_}},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:b,shouldAnimate:x,autoFocus:R}=y(),[C,j]=r.default.useState(!1),D=M(o,l),T=r.default.useRef(null),E=r.default.useRef(null),S=r.default.useRef(!1),$=h&&h.length>0;function N(e){T.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?F(document.body,{background:"black"}):q,F(t,{transformOrigin:L(e)?"top":"left",transitionProperty:"transform, border-radius",transitionDuration:"0.5s",transitionTimingFunction:`cubic-bezier(${A.join(",")})`}));let n=F(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(()=>{$&&window.requestAnimationFrame(()=>{j(!0)})},[]),r.default.createElement(v.Content,{"data-vaul-drawer-direction":g,"data-vaul-drawer":"","data-vaul-delayed-snap-points":C?"true":"false","data-vaul-snap-points":m&&$?"true":"false","data-vaul-custom-container":w?"true":"false","data-vaul-animate":(null==x?void 0:x.current)?"true":"false",...a,ref:D,style:c&&c.length>0?{"--snap-point-height":`${c[null!=f?f:0]}px`,...t}:t,onPointerDown:e=>{b||(null==a.onPointerDown||a.onPointerDown.call(a,e),T.current={x:e.pageX,y:e.pageY},i(e))},onOpenAutoFocus:e=>{null==n||n(e),R||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,b||(null==a.onPointerMove||a.onPointerMove.call(a,e),!T.current))return;let t=e.pageY-T.current.y,n=e.pageX-T.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)&&(T.current=null)},onPointerUp:e=>{null==a.onPointerUp||a.onPointerUp.call(a,e),T.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:U,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(U,{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.Root,{"data-slot":"drawer",...e})}function Q({...e}){return(0,n.jsx)(J.Portal,{"data-slot":"drawer-portal",...e})}function Z({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})}function ee({className:e,children:t,direction:r="bottom",showCloseButton:a=!0,...o}){return(0,n.jsx)(Q,{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":"right"===r?"calc(100% + 8px)":"left"===r||"top"===r?"calc(-100% - 8px)":"calc(100% + 8px)",userSelect:"text",...o.style??{}},...o,children:[t,a?(0,n.jsxs)(J.Close,{className:"ring-offset-background focus:ring-ring absolute top-4 right-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]})})}function et({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})}function en({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})}function er({className:e,...t}){return(0,n.jsx)(J.Title,{"data-slot":"drawer-title",className:(0,_.cn)("text-foreground font-semibold",e),...t})}function ea({className:e,...t}){return(0,n.jsx)(J.Description,{"data-slot":"drawer-description",className:(0,_.cn)("text-muted-foreground text-sm",e),...t})}e.s(["Drawer",()=>G,"DrawerContent",()=>ee,"DrawerDescription",()=>ea,"DrawerFooter",()=>en,"DrawerHeader",()=>et,"DrawerOverlay",()=>Z,"DrawerTitle",()=>er],45811)},8537,e=>{"use strict";var t=e.i(79054),n=e.i(18354),r=e.i(21023);let a=(0,r.createServerReference)("403439232324ce287871696c42016776e4fb2a3773",r.callServer,void 0,r.findSourceMapURL,"deployFeature"),o=(0,r.createServerReference)("40c20d7e75bcf447204b9122a187eb5b67f312e5cb",r.callServer,void 0,r.findSourceMapURL,"deployRepository"),l=(0,r.createServerReference)("406c003c917d4342c02c7247c2712048523e9c3595",r.callServer,void 0,r.findSourceMapURL,"stopDeployment"),i=(0,r.createServerReference)("40dfec935f5ca7f5a329968a1778337afe1da34b58",r.callServer,void 0,r.findSourceMapURL,"getDeploymentStatus"),u=(0,n.createLogger)("[useDeployAction]");function s(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 b=(0,t.useCallback)(()=>{v.current&&(u.debug("stopping polling"),clearInterval(v.current),v.current=null)},[]),x=(0,t.useCallback)(e=>{b(),u.debug(`starting polling for "${e}" every 3000ms`),v.current=setInterval(async()=>{let t;if(!w.current)return void b();try{t=await i(e)}catch(t){u.warn(`poll fetch failed for "${e}":`,t),w.current&&(m(null),h(null),b());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),b()))},3e3)},[b]),R=(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),x(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,x]),C=(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&&(b(),m(null),h(null))}catch(e){u.warn("stop error (non-critical):",e)}finally{w.current&&d(!1)}}},[e,s,b]);return{deploy:R,stop:C,deployLoading:n,stopLoading:s,deployError:c,status:p,url:g}}e.s(["useDeployAction",()=>s],8537)},11495,e=>{"use strict";var t=e.i(20314),n=e.i(79054),r=e.i(48249),a=e.i(24042),o=e.i(6910),l=e.i(94237),i=e.i(31777);e.i(81803);var u=e.i(72714);e.i(99348);var s=e.i(5259),d=e.i(45811),c=e.i(25235),f=e.i(2828),p=e.i(8537),m=e.i(75921);let g=(0,l.cva)("",{variants:{size:{sm:"w-96",md:"w-2xl",lg:"w-[772px]"}},defaultVariants:{size:"sm"}});function h({open:e,onClose:a,modal:o=!1,dismissOnOutsideClick:l=!1,title:u="Drawer",size:s,header:f,children:p,footer:h,className:w,"data-testid":y,deployTarget:b}){let x=(0,m.useFeatureFlags)(),R=(0,n.useRef)(null);return(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)(d.Drawer,{direction:"right",modal:o,handleOnly:!0,open:e,onOpenChange:e=>{e||a()},children:[o?(0,t.jsx)(d.DrawerOverlay,{}):null,(0,t.jsxs)(d.DrawerContent,{ref:R,direction:"right",showCloseButton:!1,className:(0,i.cn)(g({size:s}),"bg-white/85 backdrop-blur-xl dark:bg-neutral-800/85",w),"data-testid":y,onInteractOutside:o?void 0:e=>e.preventDefault(),children:[(0,t.jsx)(d.DrawerTitle,{asChild:!0,children:(0,t.jsx)("span",{className:"sr-only",children:u})}),(0,t.jsx)(d.DrawerDescription,{asChild:!0,children:(0,t.jsx)("span",{className:"sr-only",children:u})}),(0,t.jsxs)("button",{type:"button","aria-label":"Close",onClick:a,className:"ring-offset-background focus:ring-ring absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden","data-testid":y?`${y}-close-button`:void 0,children:[(0,t.jsx)(r.XIcon,{className:"size-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]}),f?(0,t.jsx)(d.DrawerHeader,{className:"shrink-0",children:f}):null,f?(0,t.jsx)(c.Separator,{}):null,x.envDeploy&&b?(0,t.jsx)(v,{deployTarget:b}):null,(0,t.jsx)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden",children:p}),h?(0,t.jsx)(d.DrawerFooter,{className:"shrink-0",children:h}):null]})]})}function v({deployTarget:e}){let n=(0,p.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)(f.TooltipProvider,{children:(0,t.jsxs)(f.Tooltip,{children:[(0,t.jsx)(f.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{children:(0,t.jsx)(u.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)(f.TooltipContent,{children:r?"Stop Dev Server":"Start Dev Server"})]})}),r?(0,t.jsx)(s.DeploymentStatusBadge,{status:n.status,url:n.url,targetId:e.targetId}):null]})}e.s(["BaseDrawer",()=>h])}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,59311,e=>{"use strict";let t=(0,e.i(3645).default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);e.s(["RefreshCw",()=>t],59311)},10661,e=>{"use strict";var t=e.i(20314),r=e.i(79054),a=e.i(31406),s=e.i(8986),o=e.i(38573),n=e.i(19933),i=e.i(59311),l=e.i(24042),d=e.i(6910);e.i(1650);var c=e.i(11495);e.i(81803);var u=e.i(72714);e.i(99348);var h=e.i(5259),m=e.i(25235),x=e.i(2828),p=e.i(68304),f=e.i(76852),g=e.i(8537),v=e.i(75921),b=e.i(28112),j=e.i(83406),j=j,y=e.i(79687),N=e.i(49228),w=e.i(33548),C=e.i(23925),k=e.i(83428);function T({name:e,email:r}){let a,s=1===(a=(e||r||"?").trim().split(/\s+/)).length?a[0].slice(0,2).toUpperCase():(a[0][0]+a[a.length-1][0]).toUpperCase(),o=function(e){let t=0;for(let r=0;r<e.length;r++)t=e.charCodeAt(r)+((t<<5)-t);let r=Math.abs(t)%360;return`hsl(${r}, 60%, 45%)`}(r||e);return(0,t.jsx)("span",{title:e||r,style:{backgroundColor:o},className:"flex h-5 w-5 shrink-0 items-center justify-center rounded-full text-[9px] font-semibold text-white",children:s})}function S({label:e,variant:r}){return(0,t.jsxs)("span",{className:`inline-flex items-center gap-0.5 rounded px-1 py-0.5 text-[10px] font-medium ${"head"===r?"bg-violet-100 text-violet-700 dark:bg-violet-950/50 dark:text-violet-300":"branch"===r?"bg-emerald-100 text-emerald-700 dark:bg-emerald-950/50 dark:text-emerald-300":"bg-amber-100 text-amber-700 dark:bg-amber-950/50 dark:text-amber-300"}`,children:["tag"!==r&&(0,t.jsx)(N.GitBranch,{className:"h-2.5 w-2.5"}),e]})}function P({hash:e}){let[a,s]=(0,r.useState)(!1),o=(0,r.useCallback)(()=>{navigator.clipboard.writeText(e).then(()=>{s(!0),setTimeout(()=>s(!1),1500)})},[e]);return(0,t.jsx)("button",{type:"button",onClick:o,title:"Copy full commit hash",className:"text-muted-foreground/40 hover:text-muted-foreground ml-0.5 opacity-0 transition-opacity group-hover/commit:opacity-100",children:a?(0,t.jsx)(C.Check,{className:"h-3 w-3 text-emerald-500"}):(0,t.jsx)(w.Copy,{className:"h-3 w-3"})})}function B({currentBranch:e,defaultBranch:r,activeBranch:a,onBranchChange:s}){let o=Array.from(new Set([e,r].filter(Boolean)));return o.length<=1?null:(0,t.jsx)("div",{className:"flex items-center gap-1 px-4 py-2",children:o.map(o=>(0,t.jsxs)("button",{type:"button",onClick:()=>s(o),className:`flex items-center gap-1 rounded-md px-2 py-1 text-xs font-medium transition-colors ${a===o?"bg-primary/10 text-primary":"text-muted-foreground hover:text-foreground hover:bg-muted/50"}`,children:[(0,t.jsx)(N.GitBranch,{className:"h-3 w-3"}),o,o===e&&o===a&&(0,t.jsx)("span",{className:"bg-primary/20 text-primary rounded px-1 text-[9px]",children:"current"}),o===r&&(0,t.jsx)("span",{className:"bg-muted text-muted-foreground rounded px-1 text-[9px]",children:"default"})]},o))})}function E({commit:e,isLast:r}){let{branches:a,tags:s}=function(e){let t=[],r=[];for(let a of e)a.startsWith("tag: ")?r.push(a.slice(5)):a.startsWith("HEAD -> ")?t.push(a.slice(8)):a.startsWith("origin/")||a.startsWith("upstream/")||t.push(a);return{branches:t,tags:r}}(e.refs),o=e.refs.find(e=>e.startsWith("HEAD -> ")),n=o?o.slice(8):null;return(0,t.jsxs)("div",{className:"group/commit relative flex gap-3 px-4 py-2",children:[(0,t.jsxs)("div",{className:"relative flex flex-col items-center",children:[(0,t.jsx)("div",{className:"bg-primary relative z-10 mt-1.5 h-3 w-3 shrink-0 rounded-full border-2 border-white shadow-sm dark:border-gray-900"}),!r&&(0,t.jsx)("div",{className:"bg-border/60 mt-0.5 w-px flex-1",style:{minHeight:"16px"}})]}),(0,t.jsxs)("div",{className:"min-w-0 flex-1 pb-1",children:[n||a.length>0||s.length>0?(0,t.jsxs)("div",{className:"mb-1 flex flex-wrap gap-1",children:[n?(0,t.jsx)(S,{label:n,variant:"head"}):null,a.filter(e=>e!==n).map(e=>(0,t.jsx)(S,{label:e,variant:"branch"},e)),s.map(e=>(0,t.jsx)(S,{label:e,variant:"tag"},e))]}):null,(0,t.jsx)("p",{className:"text-foreground/90 truncate text-sm leading-snug",title:e.subject,children:e.subject}),(0,t.jsxs)("div",{className:"mt-1 flex items-center gap-2",children:[(0,t.jsx)(T,{name:e.authorName,email:e.authorEmail}),(0,t.jsx)("span",{className:"text-muted-foreground min-w-0 truncate text-xs",children:e.authorName||e.authorEmail}),(0,t.jsx)("span",{className:"text-muted-foreground/60 shrink-0 font-mono text-xs",children:e.shortHash}),(0,t.jsx)(P,{hash:e.hash}),(0,t.jsx)("span",{className:"text-muted-foreground/50 ml-auto shrink-0 text-xs tabular-nums",children:function(e){if(!e)return"";let t=new Date(e);if(Number.isNaN(t.getTime()))return"";let r=Math.floor((Date.now()-t.getTime())/1e3);if(r<60)return"just now";let a=Math.floor(r/60);if(a<60)return`${a}m ago`;let s=Math.floor(a/60);if(s<24)return`${s}h ago`;let o=Math.floor(s/24);if(o<30)return`${o}d ago`;let n=Math.floor(o/30);return n<12?`${n}mo ago`:`${Math.floor(n/12)}y ago`}(e.date)})]})]})]})}function A({commits:e,loading:r,error:a,currentBranch:s,defaultBranch:o,activeBranch:n,onBranchChange:i}){return r?(0,t.jsx)("div",{className:"flex items-center justify-center p-8",children:(0,t.jsx)(k.Loader2,{className:"text-muted-foreground h-6 w-6 animate-spin"})}):a?(0,t.jsxs)("div",{className:"flex items-center gap-2 p-4 text-sm text-red-600",children:[(0,t.jsx)(y.AlertCircle,{className:"h-4 w-4 shrink-0"}),(0,t.jsx)("span",{children:a})]}):e&&0!==e.length?(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsx)(B,{currentBranch:s,defaultBranch:o,activeBranch:n,onBranchChange:i}),(0,t.jsx)("div",{className:"flex flex-col",children:e.map((r,a)=>(0,t.jsx)(E,{commit:r,isLast:a===e.length-1},r.hash))})]}):(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center gap-2 p-8",children:[(0,t.jsx)(j.default,{className:"text-muted-foreground h-8 w-8"}),(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:"No commits found"})]})}var D=e.i(21023);let M=(0,D.createServerReference)("70510dd5539448470acc96e7a1f140f024de77a608",D.callServer,void 0,D.findSourceMapURL,"getRepositoryCommits");function R({data:e,initialTab:j}){let y=(0,v.useFeatureFlags)(),N=(0,a.useRouter)(),w=(0,a.usePathname)().startsWith("/repository/"),[C,k]=(0,r.useState)(j??"overview"),[T,S]=(0,r.useState)(void 0),P=(0,f.useRepositoryActions)(e.repositoryPath?{repositoryId:e.id,repositoryPath:e.repositoryPath}:null),B=(0,r.useCallback)(()=>{N.push("/")},[N]),E=(0,g.useDeployAction)(e.repositoryPath?{targetId:e.repositoryPath,targetType:"repository",repositoryPath:e.repositoryPath}:null),D="Booting"===E.status||"Ready"===E.status,R=e.id?`repo-${e.id}`:`repo-${e.name}`,L=function({repositoryPath:e,branch:t,limit:a=50,enabled:s=!0}){let[o,n]=(0,r.useState)(null),[i,l]=(0,r.useState)(!1),[d,c]=(0,r.useState)(null),u=(0,r.useCallback)(async()=>{if(e&&s){l(!0),c(null);try{let r=await M(e,t,a);r.success&&r.data?n(r.data):c(r.error??"Failed to load commit history")}catch(e){c(e instanceof Error?e.message:"Failed to load commit history")}finally{l(!1)}}},[e,t,a,s]);return(0,r.useEffect)(()=>{u()},[u]),{data:o,loading:i,error:d,refresh:u}}({repositoryPath:e.repositoryPath,branch:T,enabled:"commits"===C&&!!e.repositoryPath});return(0,t.jsx)(c.BaseDrawer,{open:w,onClose:B,size:"lg",modal:!1,"data-testid":"repository-drawer",children:(0,t.jsxs)(p.Tabs,{value:C,onValueChange:k,className:"flex min-h-0 flex-1 flex-col",children:[(0,t.jsxs)("div",{className:"shrink-0 px-4 pt-4 pb-3","data-testid":"repository-drawer-header",children:[(0,t.jsxs)("div",{className:"flex items-baseline gap-4 pr-6",children:[(0,t.jsx)("h2",{className:"text-foreground min-w-0 shrink truncate text-base font-semibold tracking-tight",children:e.name}),(0,t.jsxs)(p.TabsList,{className:"h-auto shrink-0 gap-0.5 rounded-none border-0 bg-transparent p-0",children:[(0,t.jsx)(p.TabsTrigger,{value:"overview",className:"text-muted-foreground hover:text-foreground data-[state=active]:text-foreground data-[state=active]:border-primary h-auto rounded-none border-b-2 border-transparent bg-transparent px-2 py-0.5 text-[12px] font-medium shadow-none transition-colors data-[state=active]:bg-transparent data-[state=active]:shadow-none",children:"Overview"}),(0,t.jsx)(p.TabsTrigger,{value:"chat",className:"text-muted-foreground hover:text-foreground data-[state=active]:text-foreground data-[state=active]:border-primary h-auto rounded-none border-b-2 border-transparent bg-transparent px-2 py-0.5 text-[12px] font-medium shadow-none transition-colors data-[state=active]:bg-transparent data-[state=active]:shadow-none",children:"Chat"}),e.repositoryPath?(0,t.jsx)(p.TabsTrigger,{value:"commits",className:"text-muted-foreground hover:text-foreground data-[state=active]:text-foreground data-[state=active]:border-primary h-auto rounded-none border-b-2 border-transparent bg-transparent px-2 py-0.5 text-[12px] font-medium shadow-none transition-colors data-[state=active]:bg-transparent data-[state=active]:shadow-none",children:"Commits"}):null]})]}),(0,t.jsxs)("div",{className:"mt-1 flex items-center gap-2",children:[e.repositoryPath?(0,t.jsx)("p",{className:"text-muted-foreground min-w-0 truncate font-mono text-xs",children:e.repositoryPath}):null,y.envDeploy&&e.repositoryPath?(0,t.jsxs)("div",{className:"ml-auto flex shrink-0 items-center gap-2",children:[(0,t.jsx)(x.TooltipProvider,{children:(0,t.jsxs)(x.Tooltip,{children:[(0,t.jsx)(x.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{children:(0,t.jsx)(u.ActionButton,{label:D?"Stop Dev Server":"Start Dev Server",onClick:D?E.stop:E.deploy,loading:E.deployLoading||E.stopLoading,error:!!E.deployError,icon:D?d.Square:l.Play,iconOnly:!0,variant:"outline",size:"icon-sm"})})}),(0,t.jsx)(x.TooltipContent,{children:D?"Stop Dev Server":"Start Dev Server"})]})}),D?(0,t.jsx)(h.DeploymentStatusBadge,{status:E.status,url:E.url,targetId:e.repositoryPath}):null]}):null]})]}),(0,t.jsx)(m.Separator,{}),(0,t.jsx)(p.TabsContent,{value:"overview",className:"mt-0 flex-1 overflow-y-auto",children:e.repositoryPath?(0,t.jsxs)("div",{className:"flex-1 overflow-y-auto",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-3 p-4",children:[(0,t.jsx)("div",{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"OPEN WITH"}),(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsx)(u.ActionButton,{label:"Open in IDE",onClick:P.openInIde,loading:P.ideLoading,error:!!P.ideError,icon:s.Code2,variant:"outline",size:"sm"}),(0,t.jsx)(u.ActionButton,{label:"Open in Shell",onClick:P.openInShell,loading:P.shellLoading,error:!!P.shellError,icon:o.Terminal,variant:"outline",size:"sm"}),(0,t.jsx)(u.ActionButton,{label:"Open Folder",onClick:P.openFolder,loading:P.folderLoading,error:!!P.folderError,icon:n.FolderOpen,variant:"outline",size:"sm"})]})]}),e.id&&y.gitRebaseSync?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(m.Separator,{}),(0,t.jsxs)("div",{className:"flex flex-col gap-3 p-4",children:[(0,t.jsx)("div",{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"GIT OPERATIONS"}),(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsx)(u.ActionButton,{label:"Sync Main",onClick:P.syncMain,loading:P.syncLoading,error:!!P.syncError,icon:i.RefreshCw,variant:"outline",size:"sm"}),P.syncError?(0,t.jsx)("p",{className:"text-destructive text-xs",children:P.syncError}):null]})]})]}):null]}):null}),(0,t.jsx)(p.TabsContent,{value:"chat",className:"mt-0 flex min-h-0 flex-1 flex-col overflow-hidden",children:(0,t.jsx)(b.ChatTab,{featureId:R,worktreePath:e.repositoryPath})}),(0,t.jsx)(p.TabsContent,{value:"commits",className:"mt-0 flex-1 overflow-y-auto",children:(0,t.jsx)(A,{commits:L.data?.commits??null,loading:L.loading,error:L.error,currentBranch:L.data?.currentBranch??"",defaultBranch:L.data?.defaultBranch??"",activeBranch:T??L.data?.currentBranch??"",onBranchChange:e=>{S(e)}})})]})})}e.s(["RepositoryDrawerClient",()=>R],10661)}]);
@@ -1 +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",()=>a],83843)},36479,e=>{"use strict";var a=e.i(20314),t=e.i(79054),s=e.i(31406),r=e.i(60112),o=e.i(21023);let n=(0,o.createServerReference)("40d87852df3c5ebb9decab3984508f423a68237fd9",o.callServer,void 0,o.findSourceMapURL,"adoptBranch"),l=(0,o.createServerReference)("404e8038b724609b9aa3d38700a101ab75e20f2c40",o.callServer,void 0,o.findSourceMapURL,"listBranches");var c=e.i(23925),i=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:"mr-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:R,branches:L=[],branchesLoading:B=!1}){let[P,E]=(0,t.useState)(""),[D,T]=(0,t.useState)(!1),[U,A]=(0,t.useState)(""),I=(0,t.useRef)(null),[O,F]=(0,t.useState)(!1),[G,K]=(0,t.useState)(""),M=(0,t.useRef)(null),$=l.find(e=>e.path===v),z=!!v;(0,t.useEffect)(()=>{e||(E(""),A(""),T(!1),F(!1),K(""))},[e]),(0,t.useEffect)(()=>{E(""),A("")},[v]);let W=(0,t.useCallback)(e=>{e.preventDefault();let a=P.trim();a&&v&&!o&&r(a,v)},[P,v,o,r]),q=(0,t.useCallback)(()=>{E(""),A(""),s()},[s]),H=(0,t.useCallback)(e=>{E(e),A(e),T(!1)},[]),J=(0,t.useCallback)(e=>{A(e.target.value),D||T(!0)},[D]),Q=(0,t.useCallback)(e=>{if("Enter"===e.key){e.preventDefault();let a=U.trim();a&&(E(a),T(!1))}"Escape"===e.key&&(T(!1),A(P))},[U,P]),V=(0,t.useCallback)(e=>{R?.(e),F(!1),K("")},[R]),X=L.filter(e=>e.toLowerCase().includes(U.toLowerCase())),Y=G.trim()?l.filter(e=>e.name.toLowerCase().includes(G.toLowerCase())||e.path.toLowerCase().includes(G.toLowerCase())):l;(0,t.useEffect)(()=>{O?setTimeout(()=>M.current?.focus(),0):K("")},[O]);let Z=!P.trim()||!v||o,_=(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 Shep's feature tracking"})]});return(0,a.jsx)(u.BaseDrawer,{open:e,onClose:q,size:"sm",modal:!1,header:_,"data-testid":"adopt-branch-drawer",children:(0,a.jsxs)("form",{onSubmit:W,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:O,onOpenChange:F,children:[(0,a.jsx)(k.PopoverTrigger,{asChild:!0,children:(0,a.jsxs)("button",{type:"button",role:"combobox","aria-expanded":O,"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",!$&&"text-muted-foreground"),children:[(0,a.jsx)("span",{className:"truncate",children:$?$.name:"Select repository..."}),(0,a.jsx)(d.ChevronsUpDown,{className:"ml-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:M,placeholder:"Search repositories...",value:G,onChange:e=>K(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===Y.length?(0,a.jsx)("p",{className:"text-muted-foreground px-3 py-2 text-sm",children:"No repositories found."}):Y.map(e=>(0,a.jsxs)("button",{type:"button",role:"option","aria-selected":v===e.path,onClick:()=>V(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)(i.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:D,onOpenChange:T,children:[(0,a.jsx)(k.PopoverTrigger,{asChild:!0,children:(0,a.jsxs)(x.Button,{variant:"outline",role:"combobox","aria-expanded":D,disabled:o||!z,className:"w-full justify-between font-normal","data-testid":"adopt-branch-input",children:[(0,a.jsx)("span",{className:"truncate",children:z?B?"Loading branches...":P||"Select a branch...":"Select a repository first..."}),(0,a.jsx)(d.ChevronsUpDown,{className:"ml-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:I,placeholder:"Search branches...",value:U,onChange:J,onKeyDown:Q,"data-testid":"adopt-branch-search"}),(0,a.jsxs)(N,{children:[!B&&0===X.length&&(0,a.jsx)(y,{children:0===L.length?"No branches found.":U?"No match — press Enter to use this value.":"No branches available."}),B?(0,a.jsx)(y,{children:(0,a.jsx)(h.Loader2,{className:"mx-auto h-4 w-4 animate-spin"})}):null,X.length>0&&(0,a.jsx)(C,{children:X.map(e=>(0,a.jsxs)(S,{selected:e===P,onClick:()=>H(e),children:[(0,a.jsx)(c.Check,{className:(0,g.cn)("mr-2 h-4 w-4",e===P?"opacity-100":"opacity-0")}),(0,a.jsx)(p.GitBranch,{className:"mr-2 h-3 w-3 opacity-50"}),e]},e))})]})]})})]}),(0,a.jsx)("p",{className:"text-muted-foreground text-xs",children:z?"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",{className:"text-destructive text-sm","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:q,disabled:o,className:"flex-1",children:"Cancel"}),(0,a.jsx)(x.Button,{type:"submit",disabled:Z,className:"flex-1","data-testid":"adopt-branch-submit",children:o?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(h.Loader2,{className:"mr-2 h-4 w-4 animate-spin"}),"Adopting..."]}):"Adopt Branch"})]})})]})})}function L({repositoryPath:e,repositories:o}){let c=(0,s.useRouter)(),i=(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=i.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)(()=>{c.push("/")},[c]),y=(0,t.useCallback)(e=>{g(e)},[]),C=(0,t.useCallback)((e,a)=>{u(void 0),p(!0),c.push("/"),n({branchName:e,repositoryPath:a}).then(e=>{e.error?r.toast.error(e.error):(window.dispatchEvent(new CustomEvent("shep: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)})},[c]);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})}e.s(["AdoptDrawerClient",()=>L],36479)}]);
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",()=>a],83843)},71240,e=>{"use strict";var a=e.i(20314),t=e.i(79054),s=e.i(31406),r=e.i(60112),o=e.i(21023);let n=(0,o.createServerReference)("408f46c0764cc975210b1c7aedacc36c813f354688",o.callServer,void 0,o.findSourceMapURL,"adoptBranch"),l=(0,o.createServerReference)("40c093a3094f103f1c7834f44c7763af5e80971bc1",o.callServer,void 0,o.findSourceMapURL,"listBranches");var c=e.i(23925),i=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:"mr-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:R,branches:L=[],branchesLoading:B=!1}){let[P,E]=(0,t.useState)(""),[D,T]=(0,t.useState)(!1),[U,A]=(0,t.useState)(""),I=(0,t.useRef)(null),[O,F]=(0,t.useState)(!1),[G,K]=(0,t.useState)(""),M=(0,t.useRef)(null),$=l.find(e=>e.path===v),z=!!v;(0,t.useEffect)(()=>{e||(E(""),A(""),T(!1),F(!1),K(""))},[e]),(0,t.useEffect)(()=>{E(""),A("")},[v]);let W=(0,t.useCallback)(e=>{e.preventDefault();let a=P.trim();a&&v&&!o&&r(a,v)},[P,v,o,r]),q=(0,t.useCallback)(()=>{E(""),A(""),s()},[s]),H=(0,t.useCallback)(e=>{E(e),A(e),T(!1)},[]),J=(0,t.useCallback)(e=>{A(e.target.value),D||T(!0)},[D]),Q=(0,t.useCallback)(e=>{if("Enter"===e.key){e.preventDefault();let a=U.trim();a&&(E(a),T(!1))}"Escape"===e.key&&(T(!1),A(P))},[U,P]),V=(0,t.useCallback)(e=>{R?.(e),F(!1),K("")},[R]),X=L.filter(e=>e.toLowerCase().includes(U.toLowerCase())),Y=G.trim()?l.filter(e=>e.name.toLowerCase().includes(G.toLowerCase())||e.path.toLowerCase().includes(G.toLowerCase())):l;(0,t.useEffect)(()=>{O?setTimeout(()=>M.current?.focus(),0):K("")},[O]);let Z=!P.trim()||!v||o,_=(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 Shep's feature tracking"})]});return(0,a.jsx)(u.BaseDrawer,{open:e,onClose:q,size:"sm",modal:!1,header:_,"data-testid":"adopt-branch-drawer",children:(0,a.jsxs)("form",{onSubmit:W,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:O,onOpenChange:F,children:[(0,a.jsx)(k.PopoverTrigger,{asChild:!0,children:(0,a.jsxs)("button",{type:"button",role:"combobox","aria-expanded":O,"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",!$&&"text-muted-foreground"),children:[(0,a.jsx)("span",{className:"truncate",children:$?$.name:"Select repository..."}),(0,a.jsx)(d.ChevronsUpDown,{className:"ml-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:M,placeholder:"Search repositories...",value:G,onChange:e=>K(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===Y.length?(0,a.jsx)("p",{className:"text-muted-foreground px-3 py-2 text-sm",children:"No repositories found."}):Y.map(e=>(0,a.jsxs)("button",{type:"button",role:"option","aria-selected":v===e.path,onClick:()=>V(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)(i.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:D,onOpenChange:T,children:[(0,a.jsx)(k.PopoverTrigger,{asChild:!0,children:(0,a.jsxs)(x.Button,{variant:"outline",role:"combobox","aria-expanded":D,disabled:o||!z,className:"w-full justify-between font-normal","data-testid":"adopt-branch-input",children:[(0,a.jsx)("span",{className:"truncate",children:z?B?"Loading branches...":P||"Select a branch...":"Select a repository first..."}),(0,a.jsx)(d.ChevronsUpDown,{className:"ml-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:I,placeholder:"Search branches...",value:U,onChange:J,onKeyDown:Q,"data-testid":"adopt-branch-search"}),(0,a.jsxs)(N,{children:[!B&&0===X.length&&(0,a.jsx)(y,{children:0===L.length?"No branches found.":U?"No match — press Enter to use this value.":"No branches available."}),B?(0,a.jsx)(y,{children:(0,a.jsx)(h.Loader2,{className:"mx-auto h-4 w-4 animate-spin"})}):null,X.length>0&&(0,a.jsx)(C,{children:X.map(e=>(0,a.jsxs)(S,{selected:e===P,onClick:()=>H(e),children:[(0,a.jsx)(c.Check,{className:(0,g.cn)("mr-2 h-4 w-4",e===P?"opacity-100":"opacity-0")}),(0,a.jsx)(p.GitBranch,{className:"mr-2 h-3 w-3 opacity-50"}),e]},e))})]})]})})]}),(0,a.jsx)("p",{className:"text-muted-foreground text-xs",children:z?"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",{className:"text-destructive text-sm","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:q,disabled:o,className:"flex-1",children:"Cancel"}),(0,a.jsx)(x.Button,{type:"submit",disabled:Z,className:"flex-1","data-testid":"adopt-branch-submit",children:o?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(h.Loader2,{className:"mr-2 h-4 w-4 animate-spin"}),"Adopting..."]}):"Adopt Branch"})]})})]})})}function L({repositoryPath:e,repositories:o}){let c=(0,s.useRouter)(),i=(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=i.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)(()=>{c.push("/")},[c]),y=(0,t.useCallback)(e=>{g(e)},[]),C=(0,t.useCallback)((e,a)=>{u(void 0),p(!0),c.push("/"),n({branchName:e,repositoryPath:a}).then(e=>{e.error?r.toast.error(e.error):(window.dispatchEvent(new CustomEvent("shep: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)})},[c]);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})}e.s(["AdoptDrawerClient",()=>L],71240)}]);
@@ -1,3 +0,0 @@
1
- module.exports=[50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},15108,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored.contexts.HooksClientContext},71915,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored.contexts.ServerInsertedHtml},18622,(a,b,c)=>{b.exports=a.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},20635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},55721,(a,b,c)=>{"use strict";b.exports=a.r(18622)},10973,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored["react-ssr"].ReactJsxRuntime},96960,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored["react-ssr"].React},55690,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored["react-ssr"].ReactDOM},21032,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored["react-ssr"].ReactServerDOMTurbopackClient},62485,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored.contexts.AppRouterContext},41305,a=>{"use strict";var b=a.i(10973),c=a.i(96960),d=a.i(59653),e=a.i(7420),f=a.i(77127),g=a.i(14272),h=a.i(66873),i=a.i(48939),j=a.i(17329),k=a.i(5472),l="Tabs",[m,n]=(0,e.createContextScope)(l,[f.createRovingFocusGroupScope]),o=(0,f.createRovingFocusGroupScope)(),[p,q]=m(l),r=c.forwardRef((a,c)=>{let{__scopeTabs:d,value:e,onValueChange:f,defaultValue:g,orientation:m="horizontal",dir:n,activationMode:o="automatic",...q}=a,r=(0,i.useDirection)(n),[s,t]=(0,j.useControllableState)({prop:e,onChange:f,defaultProp:g??"",caller:l});return(0,b.jsx)(p,{scope:d,baseId:(0,k.useId)(),value:s,onValueChange:t,orientation:m,dir:r,activationMode:o,children:(0,b.jsx)(h.Primitive.div,{dir:r,"data-orientation":m,...q,ref:c})})});r.displayName=l;var s="TabsList",t=c.forwardRef((a,c)=>{let{__scopeTabs:d,loop:e=!0,...g}=a,i=q(s,d),j=o(d);return(0,b.jsx)(f.Root,{asChild:!0,...j,orientation:i.orientation,dir:i.dir,loop:e,children:(0,b.jsx)(h.Primitive.div,{role:"tablist","aria-orientation":i.orientation,...g,ref:c})})});t.displayName=s;var u="TabsTrigger",v=c.forwardRef((a,c)=>{let{__scopeTabs:e,value:g,disabled:i=!1,...j}=a,k=q(u,e),l=o(e),m=y(k.baseId,g),n=z(k.baseId,g),p=g===k.value;return(0,b.jsx)(f.Item,{asChild:!0,...l,focusable:!i,active:p,children:(0,b.jsx)(h.Primitive.button,{type:"button",role:"tab","aria-selected":p,"aria-controls":n,"data-state":p?"active":"inactive","data-disabled":i?"":void 0,disabled:i,id:m,...j,ref:c,onMouseDown:(0,d.composeEventHandlers)(a.onMouseDown,a=>{i||0!==a.button||!1!==a.ctrlKey?a.preventDefault():k.onValueChange(g)}),onKeyDown:(0,d.composeEventHandlers)(a.onKeyDown,a=>{[" ","Enter"].includes(a.key)&&k.onValueChange(g)}),onFocus:(0,d.composeEventHandlers)(a.onFocus,()=>{let a="manual"!==k.activationMode;p||i||!a||k.onValueChange(g)})})})});v.displayName=u;var w="TabsContent",x=c.forwardRef((a,d)=>{let{__scopeTabs:e,value:f,forceMount:i,children:j,...k}=a,l=q(w,e),m=y(l.baseId,f),n=z(l.baseId,f),o=f===l.value,p=c.useRef(o);return c.useEffect(()=>{let a=requestAnimationFrame(()=>p.current=!1);return()=>cancelAnimationFrame(a)},[]),(0,b.jsx)(g.Presence,{present:i||o,children:({present:c})=>(0,b.jsx)(h.Primitive.div,{"data-state":o?"active":"inactive","data-orientation":l.orientation,role:"tabpanel","aria-labelledby":m,hidden:!c,id:n,tabIndex:0,...k,ref:d,style:{...a.style,animationDuration:p.current?"0s":void 0},children:c&&j})})});function y(a,b){return`${a}-trigger-${b}`}function z(a,b){return`${a}-content-${b}`}x.displayName=w,a.s(["Content",()=>x,"List",()=>t,"Root",()=>r,"Tabs",()=>r,"TabsContent",()=>x,"TabsList",()=>t,"TabsTrigger",()=>v,"Trigger",()=>v,"createTabsScope",()=>n],287);var A=a.i(287),A=A,B=a.i(85536);let C=A.Root,D=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(A.List,{ref:d,className:(0,B.cn)("bg-muted text-muted-foreground inline-flex h-9 items-center justify-center rounded-lg p-1",a),...c}));D.displayName=A.List.displayName;let E=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(A.Trigger,{ref:d,className:(0,B.cn)("ring-offset-background focus-visible:ring-ring data-[state=active]:bg-background data-[state=active]:text-foreground inline-flex items-center justify-center rounded-md px-3 py-1 text-sm font-medium whitespace-nowrap transition-all focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow",a),...c}));E.displayName=A.Trigger.displayName;let F=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(A.Content,{ref:d,className:(0,B.cn)("ring-offset-background focus-visible:ring-ring mt-2 focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none",a),...c}));F.displayName=A.Content.displayName,a.s(["Tabs",()=>C,"TabsContent",()=>F,"TabsList",()=>D,"TabsTrigger",()=>E],41305)},71716,a=>{"use strict";let b=(0,a.i(25700).default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);a.s(["ChevronDown",()=>b],71716)},98410,a=>{"use strict";let b=(0,a.i(25700).default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);a.s(["Copy",()=>b],98410)},34644,19880,a=>{"use strict";var b=a.i(25700);let c=(0,b.default)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);a.s(["Bot",()=>c],34644);let d=(0,b.default)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);a.s(["ChevronUp",()=>d],19880)},80998,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"BailoutToCSR",{enumerable:!0,get:function(){return e}});let d=a.r(62219);function e({reason:a,children:b}){throw Object.defineProperty(new d.BailoutToCSRError(a),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}},82470,(a,b,c)=>{"use strict";function d(a){return a.split("/").map(a=>encodeURIComponent(a)).join("/")}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"encodeURIPath",{enumerable:!0,get:function(){return d}})},37987,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"PreloadChunks",{enumerable:!0,get:function(){return i}});let d=a.r(10973),e=a.r(55690),f=a.r(56704),g=a.r(82470),h=a.r(27478);function i({moduleIds:a}){let b=f.workAsyncStorage.getStore();if(void 0===b)return null;let c=[];if(b.reactLoadableManifest&&a){let d=b.reactLoadableManifest;for(let b of a){if(!d[b])continue;let a=d[b].files;c.push(...a)}}if(0===c.length)return null;let i=(0,h.getDeploymentIdQueryOrEmptyString)();return(0,d.jsx)(d.Fragment,{children:c.map(a=>{let c=`${b.assetPrefix}/_next/${(0,g.encodeURIPath)(a)}${i}`;return a.endsWith(".css")?(0,d.jsx)("link",{precedence:"dynamic",href:c,rel:"stylesheet",as:"style",nonce:b.nonce},a):((0,e.preload)(c,{as:"script",fetchPriority:"low",nonce:b.nonce}),null)})})}},17278,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"default",{enumerable:!0,get:function(){return j}});let d=a.r(10973),e=a.r(96960),f=a.r(80998),g=a.r(37987);function h(a){return{default:a&&"default"in a?a.default:a}}let i={loader:()=>Promise.resolve(h(()=>null)),loading:null,ssr:!0},j=function(a){let b={...i,...a},c=(0,e.lazy)(()=>b.loader().then(h)),j=b.loading;function k(a){let h=j?(0,d.jsx)(j,{isLoading:!0,pastDelay:!0,error:null}):null,i=!b.ssr||!!b.loading,k=i?e.Suspense:e.Fragment,l=b.ssr?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(g.PreloadChunks,{moduleIds:b.modules}),(0,d.jsx)(c,{...a})]}):(0,d.jsx)(f.BailoutToCSR,{reason:"next/dynamic",children:(0,d.jsx)(c,{...a})});return(0,d.jsx)(k,{...i?{fallback:h}:{},children:l})}return k.displayName="LoadableComponent",k}},53866,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"default",{enumerable:!0,get:function(){return e}});let d=a.r(63652)._(a.r(17278));function e(a,b){let c={};"function"==typeof a&&(c.loader=a);let e={...c,...b};return(0,d.default)({...e,modules:e.loadableGenerated?.modules})}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},21434,34379,a=>{"use strict";var b=a.i(10973),c=a.i(96960),d=a.i(53866),e=a.i(88064),f=a.i(52313),g=a.i(45670),h=a.i(18948);let i=(0,d.default)(async()=>{},{loadableGenerated:{modules:[15567]},ssr:!1,loading:()=>(0,b.jsx)(j,{})});function j(){return(0,b.jsx)("div",{className:"flex h-full w-full items-center justify-center",children:(0,b.jsx)(e.Loader2,{className:"text-muted-foreground h-8 w-8 animate-spin"})})}async function k(a){let b=new URLSearchParams;a&&b.set("path",a);let c=await fetch(`/api/directory/list?${b.toString()}`);if(!c.ok)throw Error((await c.json().catch(()=>({error:"Failed to load directory"}))).error??"Failed to load directory");return c.json()}function l({open:a,onOpenChange:d,onSelect:e,initialPath:j}){let[l,m]=(0,c.useState)([]),[n,o]=(0,c.useState)(""),[p,q]=(0,c.useState)(!1),[r,s]=(0,c.useState)(null),t=(0,c.useRef)(!1),u=(0,c.useCallback)(async a=>{q(!0),s(null);try{let b=await k(a);m(b.entries),o(b.currentPath)}catch(b){let a=b instanceof Error?b.message:"Failed to load directory";f.toast.error(a)}finally{q(!1)}},[]);(0,c.useEffect)(()=>{a&&!t.current&&(t.current=!0,u(j)),a||(t.current=!1)},[a,j,u]);let v=(0,c.useCallback)(a=>{let b=a.absolutePath;a.isDirectory&&b&&u(b)},[u]),w=(0,c.useCallback)(a=>{1===a.length&&a[0].isDirectory?s(a[0].absolutePath??null):s(null)},[]);function x(){e(null),d(!1)}return(0,b.jsx)(g.Dialog,{open:a,onOpenChange:a=>{a||x()},children:(0,b.jsxs)(g.DialogContent,{className:"flex h-[95dvh] max-w-[95vw] flex-col",onCloseAutoFocus:a=>a.preventDefault(),children:[(0,b.jsxs)(g.DialogHeader,{children:[(0,b.jsx)(g.DialogTitle,{children:"Select Folder"}),(0,b.jsx)(g.DialogDescription,{className:"truncate font-mono text-xs",children:n||"Loading..."})]}),(0,b.jsx)("div",{className:"shep-file-manager min-h-0 flex-1 overflow-hidden rounded-md border",children:(0,b.jsx)(i,{files:l.map(a=>({name:a.name,isDirectory:!0,path:`/${a.name}`,absolutePath:a.path,updatedAt:a.updatedAt})),isLoading:p,height:"100%",width:"100%",layout:"list",enableFilePreview:!1,permissions:{upload:!1,delete:!1,create:!1,download:!1,copy:!1,move:!1,rename:!1},onFileOpen:v,onSelectionChange:w,onRefresh:()=>u(n)},n)}),(0,b.jsxs)(g.DialogFooter,{children:[(0,b.jsx)(h.Button,{variant:"outline",onClick:x,children:"Cancel"}),(0,b.jsx)(h.Button,{variant:"secondary",onClick:function(){n&&(e(n),d(!1))},disabled:!n,children:"Select Current Folder"}),(0,b.jsx)(h.Button,{onClick:function(){r&&(e(r),d(!1))},disabled:!r,children:"Select Folder"})]})]})})}a.s(["ReactFileManagerDialog",()=>l],34379),a.s([],21434)},1377,a=>{"use strict";var b=a.i(25674);let c=(0,b.createServerReference)("00d67793862585f45a6d18fc1b1a98eb9024b93697",b.callServer,void 0,b.findSourceMapURL,"pickFolder");async function d(){let a=await c();if(a.error)throw Error(a.error);return a.path}a.s(["pickFolder",()=>d],1377)},48972,a=>{"use strict";function b(a,[b,c]){return Math.min(c,Math.max(b,a))}a.s(["clamp",()=>b])},17300,a=>{"use strict";let b=(0,a.i(25700).default)("wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]]);a.s(["Wrench",()=>b],17300)},90920,a=>{"use strict";var b=a.i(10973),c=a.i(85536);function d({className:a,type:d,...e}){return(0,b.jsx)("input",{type:d,"data-slot":"input",className:(0,c.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",a),...e})}a.s(["Input",()=>d])},31378,a=>{"use strict";let b=(0,a.i(25700).default)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);a.s(["Search",()=>b],31378)},67424,a=>{"use strict";let b=(0,a.i(25700).default)("puzzle",[["path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",key:"w46dr5"}]]);a.s(["Puzzle",()=>b],67424)}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__f8dd4422._.js.map