@shepai/cli 1.194.2-pr584.4f4957c → 1.194.3

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 (297) hide show
  1. package/package.json +1 -1
  2. package/web/.next/BUILD_ID +1 -1
  3. package/web/.next/build-manifest.json +2 -2
  4. package/web/.next/fallback-build-manifest.json +2 -2
  5. package/web/.next/prerender-manifest.json +3 -3
  6. package/web/.next/required-server-files.js +2 -2
  7. package/web/.next/required-server-files.json +2 -2
  8. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/react-loadable-manifest.json +3 -3
  9. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +36 -36
  10. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  11. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  12. package/web/.next/server/app/(dashboard)/@drawer/chat/page/react-loadable-manifest.json +3 -3
  13. package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +34 -34
  14. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
  15. package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
  16. package/web/.next/server/app/(dashboard)/@drawer/create/page/react-loadable-manifest.json +3 -3
  17. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +37 -37
  18. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  19. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  20. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/react-loadable-manifest.json +3 -3
  21. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +46 -46
  22. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  23. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  24. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/react-loadable-manifest.json +3 -3
  25. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +46 -46
  26. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  27. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  28. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/react-loadable-manifest.json +3 -3
  29. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +35 -35
  30. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  31. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  32. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/react-loadable-manifest.json +3 -3
  33. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +35 -35
  34. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  35. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  36. package/web/.next/server/app/(dashboard)/chat/page/react-loadable-manifest.json +3 -3
  37. package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +34 -34
  38. package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
  39. package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  40. package/web/.next/server/app/(dashboard)/control-center/page/react-loadable-manifest.json +3 -3
  41. package/web/.next/server/app/(dashboard)/control-center/page/server-reference-manifest.json +34 -34
  42. package/web/.next/server/app/(dashboard)/control-center/page.js.nft.json +1 -1
  43. package/web/.next/server/app/(dashboard)/control-center/page_client-reference-manifest.js +1 -1
  44. package/web/.next/server/app/(dashboard)/create/page/react-loadable-manifest.json +3 -3
  45. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +37 -37
  46. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  47. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  48. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/react-loadable-manifest.json +3 -3
  49. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +46 -46
  50. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  51. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  52. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/react-loadable-manifest.json +3 -3
  53. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +46 -46
  54. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  55. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  56. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/react-loadable-manifest.json +3 -3
  57. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +35 -35
  58. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  59. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  60. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/react-loadable-manifest.json +3 -3
  61. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +35 -35
  62. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  63. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  64. package/web/.next/server/app/_global-error.html +2 -2
  65. package/web/.next/server/app/_global-error.rsc +1 -1
  66. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  67. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  68. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  69. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  70. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  71. package/web/.next/server/app/_not-found/page/react-loadable-manifest.json +3 -3
  72. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +8 -8
  73. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  74. package/web/.next/server/app/application/[id]/page/react-loadable-manifest.json +3 -3
  75. package/web/.next/server/app/application/[id]/page/server-reference-manifest.json +17 -17
  76. package/web/.next/server/app/application/[id]/page.js.nft.json +1 -1
  77. package/web/.next/server/app/application/[id]/page_client-reference-manifest.js +1 -1
  78. package/web/.next/server/app/applications/page/react-loadable-manifest.json +3 -3
  79. package/web/.next/server/app/applications/page/server-reference-manifest.json +18 -18
  80. package/web/.next/server/app/applications/page.js.nft.json +1 -1
  81. package/web/.next/server/app/applications/page_client-reference-manifest.js +1 -1
  82. package/web/.next/server/app/features/page/react-loadable-manifest.json +3 -3
  83. package/web/.next/server/app/features/page/server-reference-manifest.json +30 -30
  84. package/web/.next/server/app/features/page.js.nft.json +1 -1
  85. package/web/.next/server/app/features/page_client-reference-manifest.js +1 -1
  86. package/web/.next/server/app/page/react-loadable-manifest.json +3 -3
  87. package/web/.next/server/app/page/server-reference-manifest.json +8 -8
  88. package/web/.next/server/app/page_client-reference-manifest.js +1 -1
  89. package/web/.next/server/app/projects/[slug]/items/[itemId]/page/react-loadable-manifest.json +3 -3
  90. package/web/.next/server/app/projects/[slug]/items/[itemId]/page/server-reference-manifest.json +15 -15
  91. package/web/.next/server/app/projects/[slug]/items/[itemId]/page_client-reference-manifest.js +1 -1
  92. package/web/.next/server/app/projects/[slug]/page/react-loadable-manifest.json +3 -3
  93. package/web/.next/server/app/projects/[slug]/page/server-reference-manifest.json +27 -27
  94. package/web/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  95. package/web/.next/server/app/projects/[slug]/pages/page/react-loadable-manifest.json +3 -3
  96. package/web/.next/server/app/projects/[slug]/pages/page/server-reference-manifest.json +11 -11
  97. package/web/.next/server/app/projects/[slug]/pages/page_client-reference-manifest.js +1 -1
  98. package/web/.next/server/app/projects/[slug]/settings/page/react-loadable-manifest.json +3 -3
  99. package/web/.next/server/app/projects/[slug]/settings/page/server-reference-manifest.json +17 -17
  100. package/web/.next/server/app/projects/[slug]/settings/page_client-reference-manifest.js +1 -1
  101. package/web/.next/server/app/projects/page/react-loadable-manifest.json +3 -3
  102. package/web/.next/server/app/projects/page/server-reference-manifest.json +9 -9
  103. package/web/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  104. package/web/.next/server/app/settings/page/react-loadable-manifest.json +3 -3
  105. package/web/.next/server/app/settings/page/server-reference-manifest.json +11 -11
  106. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  107. package/web/.next/server/app/skills/page/react-loadable-manifest.json +3 -3
  108. package/web/.next/server/app/skills/page/server-reference-manifest.json +16 -16
  109. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  110. package/web/.next/server/app/tools/page/react-loadable-manifest.json +3 -3
  111. package/web/.next/server/app/tools/page/server-reference-manifest.json +14 -14
  112. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  113. package/web/.next/server/app/version/page/react-loadable-manifest.json +3 -3
  114. package/web/.next/server/app/version/page/server-reference-manifest.json +8 -8
  115. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  116. package/web/.next/server/chunks/[root-of-the-server]__10e976f3._.js +1 -1
  117. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_99cb41a4.js +1 -1
  118. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_99cb41a4.js.map +1 -1
  119. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_3bcbcc2f.js +1 -1
  120. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_3bcbcc2f.js.map +1 -1
  121. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_059f6735.js +1 -1
  122. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_059f6735.js.map +1 -1
  123. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_control-center_page_actions_86edeb51.js +1 -1
  124. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_control-center_page_actions_86edeb51.js.map +1 -1
  125. package/web/.next/server/chunks/ssr/744ca_web_app_projects_[slug]_items_[itemId]_work-item-detail-client_tsx_d2e02407._.js +1 -1
  126. package/web/.next/server/chunks/ssr/744ca_web_app_projects_[slug]_items_[itemId]_work-item-detail-client_tsx_d2e02407._.js.map +1 -1
  127. package/web/.next/server/chunks/ssr/744ca_web_app_projects_[slug]_settings_project-settings-client_tsx_e8b85ddc._.js +1 -1
  128. package/web/.next/server/chunks/ssr/744ca_web_app_projects_[slug]_settings_project-settings-client_tsx_e8b85ddc._.js.map +1 -1
  129. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +2 -2
  130. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -1
  131. package/web/.next/server/chunks/ssr/744ca_web_components_features_applications_applications-page-client_tsx_d0db9938._.js +1 -1
  132. package/web/.next/server/chunks/ssr/[root-of-the-server]__012a0e7d._.js +1 -1
  133. package/web/.next/server/chunks/ssr/[root-of-the-server]__012a0e7d._.js.map +1 -1
  134. package/web/.next/server/chunks/ssr/[root-of-the-server]__0462fa34._.js +1 -1
  135. package/web/.next/server/chunks/ssr/[root-of-the-server]__0462fa34._.js.map +1 -1
  136. package/web/.next/server/chunks/ssr/[root-of-the-server]__1973d644._.js +1 -1
  137. package/web/.next/server/chunks/ssr/[root-of-the-server]__1a86d5fe._.js +1 -1
  138. package/web/.next/server/chunks/ssr/[root-of-the-server]__1a86d5fe._.js.map +1 -1
  139. package/web/.next/server/chunks/ssr/{[root-of-the-server]__ae78a6b9._.js → [root-of-the-server]__252fcd17._.js} +2 -2
  140. package/web/.next/server/chunks/ssr/{[root-of-the-server]__ae78a6b9._.js.map → [root-of-the-server]__252fcd17._.js.map} +1 -1
  141. package/web/.next/server/chunks/ssr/[root-of-the-server]__30326387._.js +1 -1
  142. package/web/.next/server/chunks/ssr/[root-of-the-server]__30326387._.js.map +1 -1
  143. package/web/.next/server/chunks/ssr/[root-of-the-server]__3438c354._.js +1 -1
  144. package/web/.next/server/chunks/ssr/[root-of-the-server]__3438c354._.js.map +1 -1
  145. package/web/.next/server/chunks/ssr/[root-of-the-server]__361129f0._.js +1 -1
  146. package/web/.next/server/chunks/ssr/[root-of-the-server]__361129f0._.js.map +1 -1
  147. package/web/.next/server/chunks/ssr/[root-of-the-server]__4adb4a94._.js +3 -3
  148. package/web/.next/server/chunks/ssr/[root-of-the-server]__4adb4a94._.js.map +1 -1
  149. package/web/.next/server/chunks/ssr/[root-of-the-server]__5c25ef9b._.js +2 -2
  150. package/web/.next/server/chunks/ssr/[root-of-the-server]__5c25ef9b._.js.map +1 -1
  151. package/web/.next/server/chunks/ssr/[root-of-the-server]__5c5f9704._.js +1 -1
  152. package/web/.next/server/chunks/ssr/[root-of-the-server]__5c5f9704._.js.map +1 -1
  153. package/web/.next/server/chunks/ssr/[root-of-the-server]__638955bc._.js +1 -1
  154. package/web/.next/server/chunks/ssr/[root-of-the-server]__78e1366f._.js +1 -1
  155. package/web/.next/server/chunks/ssr/[root-of-the-server]__78e1366f._.js.map +1 -1
  156. package/web/.next/server/chunks/ssr/[root-of-the-server]__97b6831c._.js +3 -3
  157. package/web/.next/server/chunks/ssr/[root-of-the-server]__9b16348d._.js +1 -1
  158. package/web/.next/server/chunks/ssr/[root-of-the-server]__9b16348d._.js.map +1 -1
  159. package/web/.next/server/chunks/ssr/[root-of-the-server]__b3bc9689._.js +1 -1
  160. package/web/.next/server/chunks/ssr/[root-of-the-server]__b3bc9689._.js.map +1 -1
  161. package/web/.next/server/chunks/ssr/[root-of-the-server]__ba8cbee2._.js +1 -1
  162. package/web/.next/server/chunks/ssr/[root-of-the-server]__ba8cbee2._.js.map +1 -1
  163. package/web/.next/server/chunks/ssr/{[root-of-the-server]__b8c0d40a._.js → [root-of-the-server]__c3b6abac._.js} +2 -2
  164. package/web/.next/server/chunks/ssr/{[root-of-the-server]__b8c0d40a._.js.map → [root-of-the-server]__c3b6abac._.js.map} +1 -1
  165. package/web/.next/server/chunks/ssr/[root-of-the-server]__dbde193f._.js +1 -1
  166. package/web/.next/server/chunks/ssr/[root-of-the-server]__dbde193f._.js.map +1 -1
  167. package/web/.next/server/chunks/ssr/[root-of-the-server]__f6adb460._.js +1 -1
  168. package/web/.next/server/chunks/ssr/[root-of-the-server]__f6adb460._.js.map +1 -1
  169. package/web/.next/server/chunks/ssr/{_761e4bd3._.js → _06c1d752._.js} +2 -2
  170. package/web/.next/server/chunks/ssr/{_761e4bd3._.js.map → _06c1d752._.js.map} +1 -1
  171. package/web/.next/server/chunks/ssr/{_588a572a._.js → _0a84dcd8._.js} +2 -2
  172. package/web/.next/server/chunks/ssr/{_588a572a._.js.map → _0a84dcd8._.js.map} +1 -1
  173. package/web/.next/server/chunks/ssr/_101de7c3._.js +1 -1
  174. package/web/.next/server/chunks/ssr/_101de7c3._.js.map +1 -1
  175. package/web/.next/server/chunks/ssr/_12ba4a07._.js +1 -1
  176. package/web/.next/server/chunks/ssr/_12ba4a07._.js.map +1 -1
  177. package/web/.next/server/chunks/ssr/_15634d5b._.js +1 -1
  178. package/web/.next/server/chunks/ssr/_15634d5b._.js.map +1 -1
  179. package/web/.next/server/chunks/ssr/_27c2f774._.js +1 -1
  180. package/web/.next/server/chunks/ssr/_27c2f774._.js.map +1 -1
  181. package/web/.next/server/chunks/ssr/_30787024._.js +1 -1
  182. package/web/.next/server/chunks/ssr/_30787024._.js.map +1 -1
  183. package/web/.next/server/chunks/ssr/_3bd60fa3._.js +1 -1
  184. package/web/.next/server/chunks/ssr/_402d53bf._.js +1 -1
  185. package/web/.next/server/chunks/ssr/_402d53bf._.js.map +1 -1
  186. package/web/.next/server/chunks/ssr/{_7e021392._.js → _494c9d59._.js} +2 -2
  187. package/web/.next/server/chunks/ssr/{_7e021392._.js.map → _494c9d59._.js.map} +1 -1
  188. package/web/.next/server/chunks/ssr/_56b9d60f._.js +1 -1
  189. package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -1
  190. package/web/.next/server/chunks/ssr/_6868b4b1._.js +1 -1
  191. package/web/.next/server/chunks/ssr/_805ae1aa._.js +1 -1
  192. package/web/.next/server/chunks/ssr/_805ae1aa._.js.map +1 -1
  193. package/web/.next/server/chunks/ssr/_8a700ff4._.js +1 -1
  194. package/web/.next/server/chunks/ssr/_8a700ff4._.js.map +1 -1
  195. package/web/.next/server/chunks/ssr/_8f4f8aa1._.js +1 -1
  196. package/web/.next/server/chunks/ssr/_8f4f8aa1._.js.map +1 -1
  197. package/web/.next/server/chunks/ssr/{_973065c3._.js → _b2c44425._.js} +2 -2
  198. package/web/.next/server/chunks/ssr/{_973065c3._.js.map → _b2c44425._.js.map} +1 -1
  199. package/web/.next/server/chunks/ssr/_b40a4fc3._.js +1 -1
  200. package/web/.next/server/chunks/ssr/_b40a4fc3._.js.map +1 -1
  201. package/web/.next/server/chunks/ssr/_c44ec376._.js +1 -1
  202. package/web/.next/server/chunks/ssr/_c44ec376._.js.map +1 -1
  203. package/web/.next/server/chunks/ssr/{_e32aca20._.js → _c570d4fb._.js} +2 -2
  204. package/web/.next/server/chunks/ssr/{_e32aca20._.js.map → _c570d4fb._.js.map} +1 -1
  205. package/web/.next/server/chunks/ssr/_cd641c61._.js +1 -1
  206. package/web/.next/server/chunks/ssr/_cd641c61._.js.map +1 -1
  207. package/web/.next/server/chunks/ssr/_d53224a9._.js +1 -1
  208. package/web/.next/server/chunks/ssr/_d53224a9._.js.map +1 -1
  209. package/web/.next/server/chunks/ssr/_e6271303._.js +1 -1
  210. package/web/.next/server/chunks/ssr/_e6271303._.js.map +1 -1
  211. package/web/.next/server/chunks/ssr/_ed8fd56c._.js +1 -1
  212. package/web/.next/server/chunks/ssr/_ed8fd56c._.js.map +1 -1
  213. package/web/.next/server/chunks/ssr/_f602cc9f._.js +1 -1
  214. package/web/.next/server/chunks/ssr/_f602cc9f._.js.map +1 -1
  215. package/web/.next/server/chunks/ssr/{_3f792f30._.js → _fc1ebfd1._.js} +2 -2
  216. package/web/.next/server/chunks/ssr/{_3f792f30._.js.map → _fc1ebfd1._.js.map} +1 -1
  217. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  218. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  219. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js +1 -1
  220. package/web/.next/server/chunks/ssr/src_presentation_web_05bba4dc._.js +1 -1
  221. package/web/.next/server/chunks/ssr/src_presentation_web_05bba4dc._.js.map +1 -1
  222. package/web/.next/server/chunks/ssr/{src_presentation_web_929e9a7b._.js → src_presentation_web_0a898c35._.js} +2 -2
  223. package/web/.next/server/chunks/ssr/{src_presentation_web_929e9a7b._.js.map → src_presentation_web_0a898c35._.js.map} +1 -1
  224. package/web/.next/server/chunks/ssr/src_presentation_web_43451480._.js +1 -1
  225. package/web/.next/server/chunks/ssr/src_presentation_web_43451480._.js.map +1 -1
  226. package/web/.next/server/chunks/ssr/src_presentation_web_4b306bb3._.js +1 -1
  227. package/web/.next/server/chunks/ssr/src_presentation_web_4b306bb3._.js.map +1 -1
  228. package/web/.next/server/chunks/ssr/src_presentation_web_81dd84ae._.js +1 -1
  229. package/web/.next/server/chunks/ssr/src_presentation_web_81dd84ae._.js.map +1 -1
  230. package/web/.next/server/chunks/ssr/src_presentation_web_9a543843._.js +1 -1
  231. package/web/.next/server/chunks/ssr/src_presentation_web_9a543843._.js.map +1 -1
  232. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_7ab26c98._.js +3 -3
  233. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_adopt-local-directory_ts_75f1f28c._.js +1 -1
  234. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_adopt-local-directory_ts_75f1f28c._.js.map +1 -1
  235. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_approve-feature_ts_9453ce8b._.js +1 -1
  236. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-directory_ts_1209d917._.js +1 -1
  237. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-directory_ts_1209d917._.js.map +1 -1
  238. package/web/.next/server/chunks/ssr/src_presentation_web_app_features_feature-tree-page-client_tsx_34c5cbbf._.js +1 -1
  239. package/web/.next/server/chunks/ssr/src_presentation_web_b504e3e2._.js +1 -1
  240. package/web/.next/server/chunks/ssr/src_presentation_web_b504e3e2._.js.map +1 -1
  241. package/web/.next/server/chunks/ssr/src_presentation_web_b5838705._.js +1 -1
  242. package/web/.next/server/chunks/ssr/src_presentation_web_b5838705._.js.map +1 -1
  243. package/web/.next/server/chunks/ssr/src_presentation_web_b6b4baa1._.js +1 -1
  244. package/web/.next/server/chunks/ssr/src_presentation_web_b6b4baa1._.js.map +1 -1
  245. package/web/.next/server/chunks/ssr/{src_presentation_web_70ef7fde._.js → src_presentation_web_bdc7c0dd._.js} +2 -2
  246. package/web/.next/server/chunks/ssr/{src_presentation_web_70ef7fde._.js.map → src_presentation_web_bdc7c0dd._.js.map} +1 -1
  247. package/web/.next/server/chunks/ssr/src_presentation_web_c3d0de23._.js +1 -1
  248. package/web/.next/server/chunks/ssr/src_presentation_web_c3d0de23._.js.map +1 -1
  249. package/web/.next/server/chunks/ssr/src_presentation_web_components_66643378._.js +1 -1
  250. package/web/.next/server/chunks/ssr/src_presentation_web_components_66643378._.js.map +1 -1
  251. package/web/.next/server/chunks/ssr/src_presentation_web_components_common_base-drawer_base-drawer_tsx_97dfbbc8._.js +1 -1
  252. package/web/.next/server/chunks/ssr/src_presentation_web_components_common_base-drawer_base-drawer_tsx_97dfbbc8._.js.map +1 -1
  253. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js +1 -1
  254. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js.map +1 -1
  255. package/web/.next/server/chunks/ssr/src_presentation_web_fc29283f._.js +1 -1
  256. package/web/.next/server/chunks/ssr/src_presentation_web_fc29283f._.js.map +1 -1
  257. package/web/.next/server/pages/500.html +2 -2
  258. package/web/.next/server/server-reference-manifest.js +1 -1
  259. package/web/.next/server/server-reference-manifest.json +98 -98
  260. package/web/.next/static/chunks/{ce7b3441e19255e6.js → 03c8ee30ab88f919.js} +1 -1
  261. package/web/.next/static/chunks/{a564b5b907b54a5f.js → 0cc03015af924e20.js} +1 -1
  262. package/web/.next/static/chunks/{eb88bae05f0b043b.js → 0cf016ec6f65fa24.js} +1 -1
  263. package/web/.next/static/chunks/{9f62973ace3dc4af.js → 2c61425fc96ae9f7.js} +1 -1
  264. package/web/.next/static/chunks/{f2040895572839d9.js → 318759d8e86dfc42.js} +1 -1
  265. package/web/.next/static/chunks/{733544bb6796c862.js → 331f023572696b0a.js} +1 -1
  266. package/web/.next/static/chunks/{3977923286c37140.js → 41e289ee887c8517.js} +1 -1
  267. package/web/.next/static/chunks/{5dc0003cc1241cb9.js → 50bb4ae3adb5eb0e.js} +1 -1
  268. package/web/.next/static/chunks/{edd8cb6712149e39.js → 6da640312464431a.js} +1 -1
  269. package/web/.next/static/chunks/{8665bb59c0620008.js → 77966d6d1929c049.js} +1 -1
  270. package/web/.next/static/chunks/{4826c460d01c6943.js → 8e693bdf4d04fa2c.js} +1 -1
  271. package/web/.next/static/chunks/{67109f43808725c6.js → 931795a6a581b203.js} +1 -1
  272. package/web/.next/static/chunks/{c954985ac32f7d87.js → 953e9d92d97dcaf1.js} +2 -2
  273. package/web/.next/static/chunks/{4b5d061eb5c2aac4.js → 959faf37d8e8d52b.js} +1 -1
  274. package/web/.next/static/chunks/{b9bb2c40f2b62ef2.js → a42c84a8e2742018.js} +1 -1
  275. package/web/.next/static/chunks/{3a25d8e6bc3ede3d.js → a95cef864840e759.js} +1 -1
  276. package/web/.next/static/chunks/{07156bfe6433ad08.js → accd7fa108255573.js} +1 -1
  277. package/web/.next/static/chunks/{7f2567429fbb01f5.js → aea0f9b5ab3bace4.js} +1 -1
  278. package/web/.next/static/chunks/{68d5517e0344f2a8.js → b10e586976309bb7.js} +1 -1
  279. package/web/.next/static/chunks/{e62cd9095e37f064.js → b15f7964eeaaab12.js} +1 -1
  280. package/web/.next/static/chunks/{150d2879079190e3.js → b207588307f7be12.js} +1 -1
  281. package/web/.next/static/chunks/{8c997a1b1fbb91bf.js → b77a5bc7f8489137.js} +1 -1
  282. package/web/.next/static/chunks/{22f47ab138b2d9a9.js → baf694f161ce7342.js} +1 -1
  283. package/web/.next/static/chunks/{65b5726d39a4d482.js → bec8ec0800020acc.js} +1 -1
  284. package/web/.next/static/chunks/{389b6724824ff3f6.js → c0bb71cba2d00657.js} +1 -1
  285. package/web/.next/static/chunks/{33264a24cdc2c4a5.js → c20650058ecf47b9.js} +1 -1
  286. package/web/.next/static/chunks/{24ec879c40147be1.js → cc3f38aa30b0e5bc.js} +1 -1
  287. package/web/.next/static/chunks/d3257028b32efe04.js +1 -0
  288. package/web/.next/static/chunks/{6ade0b141237e333.js → e0a0360221311346.js} +1 -1
  289. package/web/.next/static/chunks/{fea2481993c12344.js → f18f55bcb03d0992.js} +1 -1
  290. package/web/.next/static/chunks/{6235f12c6bcbd03b.js → f55c73d6668c343d.js} +1 -1
  291. package/web/.next/static/chunks/{249d416f38a960ee.js → f8d7451055dafa13.js} +1 -1
  292. package/web/.next/static/chunks/{e2b81d6dd4f82a2c.js → f96f160b292fa8fe.js} +1 -1
  293. package/web/.next/static/chunks/{19a5af71926715a0.js → fb08b36e6fb54e54.js} +1 -1
  294. package/web/.next/static/chunks/0abf3aca0664110e.js +0 -1
  295. /package/web/.next/static/{v2TqKlCQvmOQONd8Gezvw → edsd2kzyk0v0aunegSWUo}/_buildManifest.js +0 -0
  296. /package/web/.next/static/{v2TqKlCQvmOQONd8Gezvw → edsd2kzyk0v0aunegSWUo}/_clientMiddlewareManifest.json +0 -0
  297. /package/web/.next/static/{v2TqKlCQvmOQONd8Gezvw → edsd2kzyk0v0aunegSWUo}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[645670,a=>{"use strict";var b=a.i(556365),c=a.i(944592),d=a.i(371335),e=a.i(302807),f=a.i(385536);let g=d.Dialog.Root,h=d.Dialog.Trigger,i=d.Dialog.Portal,j=d.Dialog.Close,k=c.forwardRef(({className:a,onClick:c,...e},g)=>(0,b.jsx)(d.Dialog.Overlay,{ref:g,className:(0,f.cn)("data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 fixed inset-0 z-50 bg-black/80 duration-150",a),onClick:a=>{a.stopPropagation(),c?.(a)},...e}));k.displayName=d.Dialog.Overlay.displayName;let l=c.forwardRef(({className:a,children:c,...g},h)=>(0,b.jsxs)(i,{children:[(0,b.jsx)(k,{}),(0,b.jsxs)(d.Dialog.Content,{ref:h,className:(0,f.cn)("bg-background data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border p-6 shadow-lg duration-150 sm:rounded-lg",a),...g,children:[c,(0,b.jsxs)(d.Dialog.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute end-4 top-4 cursor-pointer rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:pointer-events-none",children:[(0,b.jsx)(e.X,{className:"h-4 w-4"}),(0,b.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));l.displayName=d.Dialog.Content.displayName;let m=({className:a,...c})=>(0,b.jsx)("div",{className:(0,f.cn)("flex flex-col space-y-1.5 text-center sm:text-start",a),...c});m.displayName="DialogHeader";let n=({className:a,...c})=>(0,b.jsx)("div",{className:(0,f.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",a),...c});n.displayName="DialogFooter";let o=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)(d.Dialog.Title,{ref:e,className:(0,f.cn)("text-lg leading-none font-semibold tracking-tight",a),...c}));o.displayName=d.Dialog.Title.displayName;let p=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)(d.Dialog.Description,{ref:e,className:(0,f.cn)("text-muted-foreground text-sm",a),...c}));p.displayName=d.Dialog.Description.displayName,a.s(["Dialog",()=>g,"DialogClose",()=>j,"DialogContent",()=>l,"DialogDescription",()=>p,"DialogFooter",()=>n,"DialogHeader",()=>m,"DialogTitle",()=>o,"DialogTrigger",()=>h])},679620,a=>{"use strict";var b=a.i(556365),c=a.i(385536);function d({className:a,...d}){return(0,b.jsx)("textarea",{"data-slot":"textarea",className:(0,c.cn)("placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input field-sizing-content min-h-[80px] w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none 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),...d})}a.s(["Textarea",()=>d])},758860,a=>{"use strict";var b=a.i(556365),c=a.i(944592),d=a.i(666873),e=c.forwardRef((a,c)=>(0,b.jsx)(d.Primitive.label,{...a,ref:c,onMouseDown:b=>{b.target.closest("button, input, select, textarea")||(a.onMouseDown?.(b),!b.defaultPrevented&&b.detail>1&&b.preventDefault())}}));e.displayName="Label",a.s(["Label",()=>e,"Root",()=>e],159967);var f=a.i(159967),f=f,g=a.i(142261),h=a.i(385536);let i=(0,g.cva)("text-sm leading-none font-medium peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),j=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(f.Root,{ref:d,className:(0,h.cn)(i(),a),...c}));j.displayName=f.Root.displayName,a.s(["Label",()=>j],758860)},658339,a=>{"use strict";var b=a.i(556365),c=a.i(142261),d=a.i(385536);let e=(0,c.cva)("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-none",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function f({className:a,variant:c,...f}){return(0,b.jsx)("div",{className:(0,d.cn)(e({variant:c}),a),...f})}a.s(["Badge",()=>f])},280166,a=>{"use strict";var b=a.i(556365),c=a.i(944592),d=a.i(91109),e=a.i(908347),f=a.i(867837),g=a.i(385536),h=a.i(118948),i=a.i(658339),j=a.i(645670),k=a.i(390920),l=a.i(758860),m=a.i(679620),n=a.i(289111);let o=(0,n.createServerReference)("40df3e946289be103e958db9c48a6ec02af73e48fd",n.callServer,void 0,n.findSourceMapURL,"createPmProject");function p({open:a,onOpenChange:d,onCreated:e}){let[f,g]=(0,c.useState)(""),[i,n]=(0,c.useState)(""),[p,q]=(0,c.useState)(""),[r,s]=(0,c.useState)(null),[t,u]=(0,c.useState)(!1),v=async()=>{s(null),u(!0);try{let a=await o({name:f,identifierPrefix:i,description:p||void 0});a.error?s(a.error):a.project&&(e(a.project),g(""),n(""),q(""))}finally{u(!1)}};return(0,b.jsx)(j.Dialog,{open:a,onOpenChange:d,children:(0,b.jsxs)(j.DialogContent,{"data-testid":"create-project-dialog",children:[(0,b.jsx)(j.DialogHeader,{children:(0,b.jsx)(j.DialogTitle,{children:"Create Project"})}),(0,b.jsxs)("div",{className:"space-y-4 py-2",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(l.Label,{htmlFor:"project-name",children:"Name"}),(0,b.jsx)(k.Input,{id:"project-name",value:f,onChange:a=>g(a.target.value),placeholder:"My Project","data-testid":"project-name-input"})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(l.Label,{htmlFor:"project-prefix",children:"Identifier Prefix"}),(0,b.jsx)(k.Input,{id:"project-prefix",value:i,onChange:a=>n(a.target.value.toUpperCase()),placeholder:"PROJ",maxLength:5,"data-testid":"project-prefix-input"}),(0,b.jsx)("p",{className:"text-muted-foreground text-[10px]",children:"1-5 uppercase letters/numbers, used in work item identifiers (e.g., PROJ-42)"})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(l.Label,{htmlFor:"project-desc",children:"Description (optional)"}),(0,b.jsx)(m.Textarea,{id:"project-desc",value:p,onChange:a=>q(a.target.value),placeholder:"What is this project about?",rows:3,"data-testid":"project-desc-input"})]}),r?(0,b.jsx)("p",{className:"text-destructive text-xs","data-testid":"create-project-error",children:r}):null]}),(0,b.jsxs)(j.DialogFooter,{children:[(0,b.jsx)(h.Button,{variant:"outline",onClick:()=>d(!1),disabled:t,children:"Cancel"}),(0,b.jsx)(h.Button,{onClick:v,disabled:!f.trim()||!i.trim()||t,"data-testid":"create-project-submit",children:t?"Creating...":"Create"})]})]})})}function q({projects:a,className:j}){let[k,l]=(0,c.useState)(a),[m,n]=(0,c.useState)(!1),o=(0,d.useRouter)();return(0,b.jsxs)("div",{"data-testid":"projects-page-client",className:(0,g.cn)("space-y-4",j),children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(e.FolderKanban,{className:"text-muted-foreground h-4 w-4"}),(0,b.jsx)("h1",{className:"text-sm font-bold tracking-tight",children:"Projects"}),(0,b.jsxs)("span",{className:"text-muted-foreground text-[10px]",children:[k.length," projects"]})]}),(0,b.jsxs)(h.Button,{variant:"outline",size:"sm",className:"h-7 text-xs",onClick:()=>n(!0),"data-testid":"create-project-btn",children:[(0,b.jsx)(f.Plus,{className:"mr-1 h-3 w-3"}),"New Project"]})]}),0===k.length?(0,b.jsxs)("div",{"data-testid":"projects-page-empty",className:"text-muted-foreground flex flex-col items-center justify-center py-12 text-center",children:[(0,b.jsx)(e.FolderKanban,{className:"mb-2 h-6 w-6 opacity-20"}),(0,b.jsx)("p",{className:"text-xs",children:"No projects yet. Create your first project to get started."})]}):(0,b.jsx)("div",{"data-testid":"projects-page-grid",className:"grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3",children:k.map(a=>(0,b.jsxs)("button",{type:"button","data-testid":`project-card-${a.slug}`,className:"bg-card hover:bg-accent text-card-foreground rounded-lg border p-4 text-left transition-colors",onClick:()=>o.push(`/projects/${a.slug}`),children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-sm font-semibold",children:a.name}),(0,b.jsx)(i.Badge,{variant:"outline",className:"text-[10px]",children:a.identifierPrefix})]}),a.description?(0,b.jsx)("p",{className:"text-muted-foreground mt-1 line-clamp-2 text-xs",children:a.description}):null,(0,b.jsxs)("div",{className:"text-muted-foreground mt-2 text-[10px]",children:[a.workItemCounter," items"]})]},a.id))}),(0,b.jsx)(p,{open:m,onOpenChange:n,onCreated:a=>{l(b=>[...b,a]),n(!1)}})]})}a.s(["ProjectsPageClient",()=>q],280166)}];
1
+ module.exports=[645670,a=>{"use strict";var b=a.i(556365),c=a.i(944592),d=a.i(371335),e=a.i(302807),f=a.i(385536);let g=d.Dialog.Root,h=d.Dialog.Trigger,i=d.Dialog.Portal,j=d.Dialog.Close,k=c.forwardRef(({className:a,onClick:c,...e},g)=>(0,b.jsx)(d.Dialog.Overlay,{ref:g,className:(0,f.cn)("data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 fixed inset-0 z-50 bg-black/80 duration-150",a),onClick:a=>{a.stopPropagation(),c?.(a)},...e}));k.displayName=d.Dialog.Overlay.displayName;let l=c.forwardRef(({className:a,children:c,...g},h)=>(0,b.jsxs)(i,{children:[(0,b.jsx)(k,{}),(0,b.jsxs)(d.Dialog.Content,{ref:h,className:(0,f.cn)("bg-background data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border p-6 shadow-lg duration-150 sm:rounded-lg",a),...g,children:[c,(0,b.jsxs)(d.Dialog.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute end-4 top-4 cursor-pointer rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:pointer-events-none",children:[(0,b.jsx)(e.X,{className:"h-4 w-4"}),(0,b.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));l.displayName=d.Dialog.Content.displayName;let m=({className:a,...c})=>(0,b.jsx)("div",{className:(0,f.cn)("flex flex-col space-y-1.5 text-center sm:text-start",a),...c});m.displayName="DialogHeader";let n=({className:a,...c})=>(0,b.jsx)("div",{className:(0,f.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",a),...c});n.displayName="DialogFooter";let o=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)(d.Dialog.Title,{ref:e,className:(0,f.cn)("text-lg leading-none font-semibold tracking-tight",a),...c}));o.displayName=d.Dialog.Title.displayName;let p=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)(d.Dialog.Description,{ref:e,className:(0,f.cn)("text-muted-foreground text-sm",a),...c}));p.displayName=d.Dialog.Description.displayName,a.s(["Dialog",()=>g,"DialogClose",()=>j,"DialogContent",()=>l,"DialogDescription",()=>p,"DialogFooter",()=>n,"DialogHeader",()=>m,"DialogTitle",()=>o,"DialogTrigger",()=>h])},679620,a=>{"use strict";var b=a.i(556365),c=a.i(385536);function d({className:a,...d}){return(0,b.jsx)("textarea",{"data-slot":"textarea",className:(0,c.cn)("placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input field-sizing-content min-h-[80px] w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none 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),...d})}a.s(["Textarea",()=>d])},758860,a=>{"use strict";var b=a.i(556365),c=a.i(944592),d=a.i(666873),e=c.forwardRef((a,c)=>(0,b.jsx)(d.Primitive.label,{...a,ref:c,onMouseDown:b=>{b.target.closest("button, input, select, textarea")||(a.onMouseDown?.(b),!b.defaultPrevented&&b.detail>1&&b.preventDefault())}}));e.displayName="Label",a.s(["Label",()=>e,"Root",()=>e],159967);var f=a.i(159967),f=f,g=a.i(142261),h=a.i(385536);let i=(0,g.cva)("text-sm leading-none font-medium peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),j=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(f.Root,{ref:d,className:(0,h.cn)(i(),a),...c}));j.displayName=f.Root.displayName,a.s(["Label",()=>j],758860)},658339,a=>{"use strict";var b=a.i(556365),c=a.i(142261),d=a.i(385536);let e=(0,c.cva)("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-none",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function f({className:a,variant:c,...f}){return(0,b.jsx)("div",{className:(0,d.cn)(e({variant:c}),a),...f})}a.s(["Badge",()=>f])},280166,a=>{"use strict";var b=a.i(556365),c=a.i(944592),d=a.i(91109),e=a.i(908347),f=a.i(867837),g=a.i(385536),h=a.i(118948),i=a.i(658339),j=a.i(645670),k=a.i(390920),l=a.i(758860),m=a.i(679620),n=a.i(289111);let o=(0,n.createServerReference)("40ceaa4893a76f7e2792f36fd5dc3ce2e260d09533",n.callServer,void 0,n.findSourceMapURL,"createPmProject");function p({open:a,onOpenChange:d,onCreated:e}){let[f,g]=(0,c.useState)(""),[i,n]=(0,c.useState)(""),[p,q]=(0,c.useState)(""),[r,s]=(0,c.useState)(null),[t,u]=(0,c.useState)(!1),v=async()=>{s(null),u(!0);try{let a=await o({name:f,identifierPrefix:i,description:p||void 0});a.error?s(a.error):a.project&&(e(a.project),g(""),n(""),q(""))}finally{u(!1)}};return(0,b.jsx)(j.Dialog,{open:a,onOpenChange:d,children:(0,b.jsxs)(j.DialogContent,{"data-testid":"create-project-dialog",children:[(0,b.jsx)(j.DialogHeader,{children:(0,b.jsx)(j.DialogTitle,{children:"Create Project"})}),(0,b.jsxs)("div",{className:"space-y-4 py-2",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(l.Label,{htmlFor:"project-name",children:"Name"}),(0,b.jsx)(k.Input,{id:"project-name",value:f,onChange:a=>g(a.target.value),placeholder:"My Project","data-testid":"project-name-input"})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(l.Label,{htmlFor:"project-prefix",children:"Identifier Prefix"}),(0,b.jsx)(k.Input,{id:"project-prefix",value:i,onChange:a=>n(a.target.value.toUpperCase()),placeholder:"PROJ",maxLength:5,"data-testid":"project-prefix-input"}),(0,b.jsx)("p",{className:"text-muted-foreground text-[10px]",children:"1-5 uppercase letters/numbers, used in work item identifiers (e.g., PROJ-42)"})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(l.Label,{htmlFor:"project-desc",children:"Description (optional)"}),(0,b.jsx)(m.Textarea,{id:"project-desc",value:p,onChange:a=>q(a.target.value),placeholder:"What is this project about?",rows:3,"data-testid":"project-desc-input"})]}),r?(0,b.jsx)("p",{className:"text-destructive text-xs","data-testid":"create-project-error",children:r}):null]}),(0,b.jsxs)(j.DialogFooter,{children:[(0,b.jsx)(h.Button,{variant:"outline",onClick:()=>d(!1),disabled:t,children:"Cancel"}),(0,b.jsx)(h.Button,{onClick:v,disabled:!f.trim()||!i.trim()||t,"data-testid":"create-project-submit",children:t?"Creating...":"Create"})]})]})})}function q({projects:a,className:j}){let[k,l]=(0,c.useState)(a),[m,n]=(0,c.useState)(!1),o=(0,d.useRouter)();return(0,b.jsxs)("div",{"data-testid":"projects-page-client",className:(0,g.cn)("space-y-4",j),children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(e.FolderKanban,{className:"text-muted-foreground h-4 w-4"}),(0,b.jsx)("h1",{className:"text-sm font-bold tracking-tight",children:"Projects"}),(0,b.jsxs)("span",{className:"text-muted-foreground text-[10px]",children:[k.length," projects"]})]}),(0,b.jsxs)(h.Button,{variant:"outline",size:"sm",className:"h-7 text-xs",onClick:()=>n(!0),"data-testid":"create-project-btn",children:[(0,b.jsx)(f.Plus,{className:"mr-1 h-3 w-3"}),"New Project"]})]}),0===k.length?(0,b.jsxs)("div",{"data-testid":"projects-page-empty",className:"text-muted-foreground flex flex-col items-center justify-center py-12 text-center",children:[(0,b.jsx)(e.FolderKanban,{className:"mb-2 h-6 w-6 opacity-20"}),(0,b.jsx)("p",{className:"text-xs",children:"No projects yet. Create your first project to get started."})]}):(0,b.jsx)("div",{"data-testid":"projects-page-grid",className:"grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3",children:k.map(a=>(0,b.jsxs)("button",{type:"button","data-testid":`project-card-${a.slug}`,className:"bg-card hover:bg-accent text-card-foreground rounded-lg border p-4 text-left transition-colors",onClick:()=>o.push(`/projects/${a.slug}`),children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-sm font-semibold",children:a.name}),(0,b.jsx)(i.Badge,{variant:"outline",className:"text-[10px]",children:a.identifierPrefix})]}),a.description?(0,b.jsx)("p",{className:"text-muted-foreground mt-1 line-clamp-2 text-xs",children:a.description}):null,(0,b.jsxs)("div",{className:"text-muted-foreground mt-2 text-[10px]",children:[a.workItemCounter," items"]})]},a.id))}),(0,b.jsx)(p,{open:m,onOpenChange:n,onCreated:a=>{l(b=>[...b,a]),n(!1)}})]})}a.s(["ProjectsPageClient",()=>q],280166)}];
2
2
 
3
3
  //# sourceMappingURL=src_presentation_web_components_66643378._.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../src/presentation/web/components/ui/dialog.tsx","../../../../../../../src/presentation/web/components/ui/textarea.tsx","../../../../../../../src/presentation/web/components/ui/label.tsx","../../../../../../../node_modules/.pnpm/%40radix-ui%2Breact-label%402.1.7_%40types%2Breact-dom%4019.2.3_%40types%2Breact%4019.2.10__%40types%2Breact%40_511ac9deb435ae46b2843bd1975598a6/node_modules/%40radix-ui/react-label/dist/index.mjs","../../../../../../../src/presentation/web/components/ui/badge.tsx","../../../../../../../src/presentation/web/components/features/projects/projects-page-client.tsx","../../../../../../../src/presentation/web/components/features/projects/create-project-dialog.tsx","../../../../../../../src/presentation/web/app/actions/data%3Ad1b8ca%20%3Ctext/javascript%3E"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Dialog as DialogPrimitive } from 'radix-ui';\nimport { X } from 'lucide-react';\n\nimport { cn } from '@/lib/utils';\n\nconst Dialog = DialogPrimitive.Root;\n\nconst DialogTrigger = DialogPrimitive.Trigger;\n\nconst DialogPortal = DialogPrimitive.Portal;\n\nconst DialogClose = DialogPrimitive.Close;\n\nconst DialogOverlay = React.forwardRef<\n React.ComponentRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, onClick, ...props }, ref) => (\n <DialogPrimitive.Overlay\n ref={ref}\n className={cn(\n 'data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 fixed inset-0 z-50 bg-black/80 duration-150',\n className\n )}\n onClick={(e) => {\n // Prevent overlay clicks from propagating to document-level handlers\n // (e.g. BaseDrawer outside-click) — only the dialog should dismiss.\n e.stopPropagation();\n onClick?.(e);\n }}\n {...props}\n />\n));\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName;\n\nconst DialogContent = React.forwardRef<\n React.ComponentRef<typeof DialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n ref={ref}\n className={cn(\n 'bg-background data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border p-6 shadow-lg duration-150 sm:rounded-lg',\n className\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close className=\"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute end-4 top-4 cursor-pointer rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:pointer-events-none\">\n <X className=\"h-4 w-4\" />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </DialogPortal>\n));\nDialogContent.displayName = DialogPrimitive.Content.displayName;\n\nconst DialogHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn('flex flex-col space-y-1.5 text-center sm:text-start', className)}\n {...props}\n />\n);\nDialogHeader.displayName = 'DialogHeader';\n\nconst DialogFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn('flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2', className)}\n {...props}\n />\n);\nDialogFooter.displayName = 'DialogFooter';\n\nconst DialogTitle = React.forwardRef<\n React.ComponentRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title\n ref={ref}\n className={cn('text-lg leading-none font-semibold tracking-tight', className)}\n {...props}\n />\n));\nDialogTitle.displayName = DialogPrimitive.Title.displayName;\n\nconst DialogDescription = React.forwardRef<\n React.ComponentRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description\n ref={ref}\n className={cn('text-muted-foreground text-sm', className)}\n {...props}\n />\n));\nDialogDescription.displayName = DialogPrimitive.Description.displayName;\n\nexport {\n Dialog,\n DialogPortal,\n DialogOverlay,\n DialogTrigger,\n DialogClose,\n DialogContent,\n DialogHeader,\n DialogFooter,\n DialogTitle,\n DialogDescription,\n};\n","import * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nfunction Textarea({ className, ...props }: React.ComponentProps<'textarea'>) {\n return (\n <textarea\n data-slot=\"textarea\"\n className={cn(\n 'placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input field-sizing-content min-h-[80px] w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n 'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]',\n 'aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive',\n className\n )}\n {...props}\n />\n );\n}\n\nexport { Textarea };\n","'use client';\n\nimport * as React from 'react';\nimport { Label as LabelPrimitive } from 'radix-ui';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from '@/lib/utils';\n\nconst labelVariants = cva(\n 'text-sm leading-none font-medium peer-disabled:cursor-not-allowed peer-disabled:opacity-70'\n);\n\nconst Label = React.forwardRef<\n React.ComponentRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> & VariantProps<typeof labelVariants>\n>(({ className, ...props }, ref) => (\n <LabelPrimitive.Root ref={ref} className={cn(labelVariants(), className)} {...props} />\n));\nLabel.displayName = LabelPrimitive.Root.displayName;\n\nexport { Label };\n","\"use client\";\n\n// src/label.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NAME = \"Label\";\nvar Label = React.forwardRef((props, forwardedRef) => {\n return /* @__PURE__ */ jsx(\n Primitive.label,\n {\n ...props,\n ref: forwardedRef,\n onMouseDown: (event) => {\n const target = event.target;\n if (target.closest(\"button, input, select, textarea\")) return;\n props.onMouseDown?.(event);\n if (!event.defaultPrevented && event.detail > 1) event.preventDefault();\n }\n }\n );\n});\nLabel.displayName = NAME;\nvar Root = Label;\nexport {\n Label,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n","import * as React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from '@/lib/utils';\n\nconst badgeVariants = cva(\n 'inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-none',\n {\n variants: {\n variant: {\n default: 'border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80',\n secondary:\n 'border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80',\n destructive:\n 'border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80',\n outline: 'text-foreground',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n }\n);\n\nexport interface BadgeProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof badgeVariants> {}\n\nfunction Badge({ className, variant, ...props }: BadgeProps) {\n return <div className={cn(badgeVariants({ variant }), className)} {...props} />;\n}\n\nexport { Badge, badgeVariants };\n","'use client';\n\nimport { useState } from 'react';\nimport { useRouter } from 'next/navigation';\nimport { FolderKanban, Plus } from 'lucide-react';\nimport { cn } from '@/lib/utils';\nimport { Button } from '@/components/ui/button';\nimport { Badge } from '@/components/ui/badge';\nimport type { PmProject } from '@shepai/core/domain/generated/output';\nimport { CreateProjectDialog } from './create-project-dialog';\n\nexport interface ProjectsPageClientProps {\n projects: PmProject[];\n className?: string;\n}\n\nexport function ProjectsPageClient({\n projects: initialProjects,\n className,\n}: ProjectsPageClientProps) {\n const [projects, setProjects] = useState<PmProject[]>(initialProjects);\n const [showCreateDialog, setShowCreateDialog] = useState(false);\n const router = useRouter();\n\n const handleProjectCreated = (project: PmProject) => {\n setProjects((prev) => [...prev, project]);\n setShowCreateDialog(false);\n };\n\n return (\n <div data-testid=\"projects-page-client\" className={cn('space-y-4', className)}>\n <div className=\"flex items-center justify-between\">\n <div className=\"flex items-center gap-2\">\n <FolderKanban className=\"text-muted-foreground h-4 w-4\" />\n <h1 className=\"text-sm font-bold tracking-tight\">Projects</h1>\n <span className=\"text-muted-foreground text-[10px]\">{projects.length} projects</span>\n </div>\n <Button\n variant=\"outline\"\n size=\"sm\"\n className=\"h-7 text-xs\"\n onClick={() => setShowCreateDialog(true)}\n data-testid=\"create-project-btn\"\n >\n <Plus className=\"mr-1 h-3 w-3\" />\n New Project\n </Button>\n </div>\n\n {projects.length === 0 ? (\n <div\n data-testid=\"projects-page-empty\"\n className=\"text-muted-foreground flex flex-col items-center justify-center py-12 text-center\"\n >\n <FolderKanban className=\"mb-2 h-6 w-6 opacity-20\" />\n <p className=\"text-xs\">No projects yet. Create your first project to get started.</p>\n </div>\n ) : (\n <div\n data-testid=\"projects-page-grid\"\n className=\"grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3\"\n >\n {projects.map((project) => (\n <button\n key={project.id}\n type=\"button\"\n data-testid={`project-card-${project.slug}`}\n className=\"bg-card hover:bg-accent text-card-foreground rounded-lg border p-4 text-left transition-colors\"\n onClick={() => router.push(`/projects/${project.slug}`)}\n >\n <div className=\"flex items-center gap-2\">\n <span className=\"text-sm font-semibold\">{project.name}</span>\n <Badge variant=\"outline\" className=\"text-[10px]\">\n {project.identifierPrefix}\n </Badge>\n </div>\n {project.description ? (\n <p className=\"text-muted-foreground mt-1 line-clamp-2 text-xs\">\n {project.description}\n </p>\n ) : null}\n <div className=\"text-muted-foreground mt-2 text-[10px]\">\n {project.workItemCounter} items\n </div>\n </button>\n ))}\n </div>\n )}\n\n <CreateProjectDialog\n open={showCreateDialog}\n onOpenChange={setShowCreateDialog}\n onCreated={handleProjectCreated}\n />\n </div>\n );\n}\n","'use client';\n\nimport { useState } from 'react';\nimport {\n Dialog,\n DialogContent,\n DialogHeader,\n DialogTitle,\n DialogFooter,\n} from '@/components/ui/dialog';\nimport { Button } from '@/components/ui/button';\nimport { Input } from '@/components/ui/input';\nimport { Label } from '@/components/ui/label';\nimport { Textarea } from '@/components/ui/textarea';\nimport type { PmProject } from '@shepai/core/domain/generated/output';\nimport { createPmProject } from '@/app/actions/create-pm-project';\n\nexport interface CreateProjectDialogProps {\n open: boolean;\n onOpenChange: (open: boolean) => void;\n onCreated: (project: PmProject) => void;\n}\n\nexport function CreateProjectDialog({ open, onOpenChange, onCreated }: CreateProjectDialogProps) {\n const [name, setName] = useState('');\n const [prefix, setPrefix] = useState('');\n const [description, setDescription] = useState('');\n const [error, setError] = useState<string | null>(null);\n const [submitting, setSubmitting] = useState(false);\n\n const handleSubmit = async () => {\n setError(null);\n setSubmitting(true);\n try {\n const result = await createPmProject({\n name,\n identifierPrefix: prefix,\n description: description || undefined,\n });\n if (result.error) {\n setError(result.error);\n } else if (result.project) {\n onCreated(result.project);\n setName('');\n setPrefix('');\n setDescription('');\n }\n } finally {\n setSubmitting(false);\n }\n };\n\n return (\n <Dialog open={open} onOpenChange={onOpenChange}>\n <DialogContent data-testid=\"create-project-dialog\">\n <DialogHeader>\n <DialogTitle>Create Project</DialogTitle>\n </DialogHeader>\n <div className=\"space-y-4 py-2\">\n <div className=\"space-y-2\">\n <Label htmlFor=\"project-name\">Name</Label>\n <Input\n id=\"project-name\"\n value={name}\n onChange={(e) => setName(e.target.value)}\n placeholder=\"My Project\"\n data-testid=\"project-name-input\"\n />\n </div>\n <div className=\"space-y-2\">\n <Label htmlFor=\"project-prefix\">Identifier Prefix</Label>\n <Input\n id=\"project-prefix\"\n value={prefix}\n onChange={(e) => setPrefix(e.target.value.toUpperCase())}\n placeholder=\"PROJ\"\n maxLength={5}\n data-testid=\"project-prefix-input\"\n />\n <p className=\"text-muted-foreground text-[10px]\">\n 1-5 uppercase letters/numbers, used in work item identifiers (e.g., PROJ-42)\n </p>\n </div>\n <div className=\"space-y-2\">\n <Label htmlFor=\"project-desc\">Description (optional)</Label>\n <Textarea\n id=\"project-desc\"\n value={description}\n onChange={(e) => setDescription(e.target.value)}\n placeholder=\"What is this project about?\"\n rows={3}\n data-testid=\"project-desc-input\"\n />\n </div>\n {error ? (\n <p className=\"text-destructive text-xs\" data-testid=\"create-project-error\">\n {error}\n </p>\n ) : null}\n </div>\n <DialogFooter>\n <Button variant=\"outline\" onClick={() => onOpenChange(false)} disabled={submitting}>\n Cancel\n </Button>\n <Button\n onClick={handleSubmit}\n disabled={!name.trim() || !prefix.trim() || submitting}\n data-testid=\"create-project-submit\"\n >\n {submitting ? 'Creating...' : 'Create'}\n </Button>\n </DialogFooter>\n </DialogContent>\n </Dialog>\n );\n}\n","/* __next_internal_action_entry_do_not_use__ [{\"40df3e946289be103e958db9c48a6ec02af73e48fd\":\"createPmProject\"},\"src/presentation/web/app/actions/create-pm-project.ts\",\"\"] */\"use turbopack no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_0=/*#__PURE__*/createServerReference(\"40df3e946289be103e958db9c48a6ec02af73e48fd\",callServer,void 0,findSourceMapURL,\"createPmProject\");export{$$RSC_SERVER_ACTION_0 as createPmProject};"],"names":[],"mappings":"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","ignoreList":[3]}
1
+ {"version":3,"sources":["../../../../../../../src/presentation/web/components/ui/dialog.tsx","../../../../../../../src/presentation/web/components/ui/textarea.tsx","../../../../../../../src/presentation/web/components/ui/label.tsx","../../../../../../../node_modules/.pnpm/%40radix-ui%2Breact-label%402.1.7_%40types%2Breact-dom%4019.2.3_%40types%2Breact%4019.2.10__%40types%2Breact%40_511ac9deb435ae46b2843bd1975598a6/node_modules/%40radix-ui/react-label/dist/index.mjs","../../../../../../../src/presentation/web/components/ui/badge.tsx","../../../../../../../src/presentation/web/components/features/projects/projects-page-client.tsx","../../../../../../../src/presentation/web/components/features/projects/create-project-dialog.tsx","../../../../../../../src/presentation/web/app/actions/data%3Ae9a5e6%20%3Ctext/javascript%3E"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Dialog as DialogPrimitive } from 'radix-ui';\nimport { X } from 'lucide-react';\n\nimport { cn } from '@/lib/utils';\n\nconst Dialog = DialogPrimitive.Root;\n\nconst DialogTrigger = DialogPrimitive.Trigger;\n\nconst DialogPortal = DialogPrimitive.Portal;\n\nconst DialogClose = DialogPrimitive.Close;\n\nconst DialogOverlay = React.forwardRef<\n React.ComponentRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, onClick, ...props }, ref) => (\n <DialogPrimitive.Overlay\n ref={ref}\n className={cn(\n 'data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 fixed inset-0 z-50 bg-black/80 duration-150',\n className\n )}\n onClick={(e) => {\n // Prevent overlay clicks from propagating to document-level handlers\n // (e.g. BaseDrawer outside-click) — only the dialog should dismiss.\n e.stopPropagation();\n onClick?.(e);\n }}\n {...props}\n />\n));\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName;\n\nconst DialogContent = React.forwardRef<\n React.ComponentRef<typeof DialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n ref={ref}\n className={cn(\n 'bg-background data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border p-6 shadow-lg duration-150 sm:rounded-lg',\n className\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close className=\"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute end-4 top-4 cursor-pointer rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:pointer-events-none\">\n <X className=\"h-4 w-4\" />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </DialogPortal>\n));\nDialogContent.displayName = DialogPrimitive.Content.displayName;\n\nconst DialogHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn('flex flex-col space-y-1.5 text-center sm:text-start', className)}\n {...props}\n />\n);\nDialogHeader.displayName = 'DialogHeader';\n\nconst DialogFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn('flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2', className)}\n {...props}\n />\n);\nDialogFooter.displayName = 'DialogFooter';\n\nconst DialogTitle = React.forwardRef<\n React.ComponentRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title\n ref={ref}\n className={cn('text-lg leading-none font-semibold tracking-tight', className)}\n {...props}\n />\n));\nDialogTitle.displayName = DialogPrimitive.Title.displayName;\n\nconst DialogDescription = React.forwardRef<\n React.ComponentRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description\n ref={ref}\n className={cn('text-muted-foreground text-sm', className)}\n {...props}\n />\n));\nDialogDescription.displayName = DialogPrimitive.Description.displayName;\n\nexport {\n Dialog,\n DialogPortal,\n DialogOverlay,\n DialogTrigger,\n DialogClose,\n DialogContent,\n DialogHeader,\n DialogFooter,\n DialogTitle,\n DialogDescription,\n};\n","import * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nfunction Textarea({ className, ...props }: React.ComponentProps<'textarea'>) {\n return (\n <textarea\n data-slot=\"textarea\"\n className={cn(\n 'placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input field-sizing-content min-h-[80px] w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n 'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]',\n 'aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive',\n className\n )}\n {...props}\n />\n );\n}\n\nexport { Textarea };\n","'use client';\n\nimport * as React from 'react';\nimport { Label as LabelPrimitive } from 'radix-ui';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from '@/lib/utils';\n\nconst labelVariants = cva(\n 'text-sm leading-none font-medium peer-disabled:cursor-not-allowed peer-disabled:opacity-70'\n);\n\nconst Label = React.forwardRef<\n React.ComponentRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> & VariantProps<typeof labelVariants>\n>(({ className, ...props }, ref) => (\n <LabelPrimitive.Root ref={ref} className={cn(labelVariants(), className)} {...props} />\n));\nLabel.displayName = LabelPrimitive.Root.displayName;\n\nexport { Label };\n","\"use client\";\n\n// src/label.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NAME = \"Label\";\nvar Label = React.forwardRef((props, forwardedRef) => {\n return /* @__PURE__ */ jsx(\n Primitive.label,\n {\n ...props,\n ref: forwardedRef,\n onMouseDown: (event) => {\n const target = event.target;\n if (target.closest(\"button, input, select, textarea\")) return;\n props.onMouseDown?.(event);\n if (!event.defaultPrevented && event.detail > 1) event.preventDefault();\n }\n }\n );\n});\nLabel.displayName = NAME;\nvar Root = Label;\nexport {\n Label,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n","import * as React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from '@/lib/utils';\n\nconst badgeVariants = cva(\n 'inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-none',\n {\n variants: {\n variant: {\n default: 'border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80',\n secondary:\n 'border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80',\n destructive:\n 'border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80',\n outline: 'text-foreground',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n }\n);\n\nexport interface BadgeProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof badgeVariants> {}\n\nfunction Badge({ className, variant, ...props }: BadgeProps) {\n return <div className={cn(badgeVariants({ variant }), className)} {...props} />;\n}\n\nexport { Badge, badgeVariants };\n","'use client';\n\nimport { useState } from 'react';\nimport { useRouter } from 'next/navigation';\nimport { FolderKanban, Plus } from 'lucide-react';\nimport { cn } from '@/lib/utils';\nimport { Button } from '@/components/ui/button';\nimport { Badge } from '@/components/ui/badge';\nimport type { PmProject } from '@shepai/core/domain/generated/output';\nimport { CreateProjectDialog } from './create-project-dialog';\n\nexport interface ProjectsPageClientProps {\n projects: PmProject[];\n className?: string;\n}\n\nexport function ProjectsPageClient({\n projects: initialProjects,\n className,\n}: ProjectsPageClientProps) {\n const [projects, setProjects] = useState<PmProject[]>(initialProjects);\n const [showCreateDialog, setShowCreateDialog] = useState(false);\n const router = useRouter();\n\n const handleProjectCreated = (project: PmProject) => {\n setProjects((prev) => [...prev, project]);\n setShowCreateDialog(false);\n };\n\n return (\n <div data-testid=\"projects-page-client\" className={cn('space-y-4', className)}>\n <div className=\"flex items-center justify-between\">\n <div className=\"flex items-center gap-2\">\n <FolderKanban className=\"text-muted-foreground h-4 w-4\" />\n <h1 className=\"text-sm font-bold tracking-tight\">Projects</h1>\n <span className=\"text-muted-foreground text-[10px]\">{projects.length} projects</span>\n </div>\n <Button\n variant=\"outline\"\n size=\"sm\"\n className=\"h-7 text-xs\"\n onClick={() => setShowCreateDialog(true)}\n data-testid=\"create-project-btn\"\n >\n <Plus className=\"mr-1 h-3 w-3\" />\n New Project\n </Button>\n </div>\n\n {projects.length === 0 ? (\n <div\n data-testid=\"projects-page-empty\"\n className=\"text-muted-foreground flex flex-col items-center justify-center py-12 text-center\"\n >\n <FolderKanban className=\"mb-2 h-6 w-6 opacity-20\" />\n <p className=\"text-xs\">No projects yet. Create your first project to get started.</p>\n </div>\n ) : (\n <div\n data-testid=\"projects-page-grid\"\n className=\"grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3\"\n >\n {projects.map((project) => (\n <button\n key={project.id}\n type=\"button\"\n data-testid={`project-card-${project.slug}`}\n className=\"bg-card hover:bg-accent text-card-foreground rounded-lg border p-4 text-left transition-colors\"\n onClick={() => router.push(`/projects/${project.slug}`)}\n >\n <div className=\"flex items-center gap-2\">\n <span className=\"text-sm font-semibold\">{project.name}</span>\n <Badge variant=\"outline\" className=\"text-[10px]\">\n {project.identifierPrefix}\n </Badge>\n </div>\n {project.description ? (\n <p className=\"text-muted-foreground mt-1 line-clamp-2 text-xs\">\n {project.description}\n </p>\n ) : null}\n <div className=\"text-muted-foreground mt-2 text-[10px]\">\n {project.workItemCounter} items\n </div>\n </button>\n ))}\n </div>\n )}\n\n <CreateProjectDialog\n open={showCreateDialog}\n onOpenChange={setShowCreateDialog}\n onCreated={handleProjectCreated}\n />\n </div>\n );\n}\n","'use client';\n\nimport { useState } from 'react';\nimport {\n Dialog,\n DialogContent,\n DialogHeader,\n DialogTitle,\n DialogFooter,\n} from '@/components/ui/dialog';\nimport { Button } from '@/components/ui/button';\nimport { Input } from '@/components/ui/input';\nimport { Label } from '@/components/ui/label';\nimport { Textarea } from '@/components/ui/textarea';\nimport type { PmProject } from '@shepai/core/domain/generated/output';\nimport { createPmProject } from '@/app/actions/create-pm-project';\n\nexport interface CreateProjectDialogProps {\n open: boolean;\n onOpenChange: (open: boolean) => void;\n onCreated: (project: PmProject) => void;\n}\n\nexport function CreateProjectDialog({ open, onOpenChange, onCreated }: CreateProjectDialogProps) {\n const [name, setName] = useState('');\n const [prefix, setPrefix] = useState('');\n const [description, setDescription] = useState('');\n const [error, setError] = useState<string | null>(null);\n const [submitting, setSubmitting] = useState(false);\n\n const handleSubmit = async () => {\n setError(null);\n setSubmitting(true);\n try {\n const result = await createPmProject({\n name,\n identifierPrefix: prefix,\n description: description || undefined,\n });\n if (result.error) {\n setError(result.error);\n } else if (result.project) {\n onCreated(result.project);\n setName('');\n setPrefix('');\n setDescription('');\n }\n } finally {\n setSubmitting(false);\n }\n };\n\n return (\n <Dialog open={open} onOpenChange={onOpenChange}>\n <DialogContent data-testid=\"create-project-dialog\">\n <DialogHeader>\n <DialogTitle>Create Project</DialogTitle>\n </DialogHeader>\n <div className=\"space-y-4 py-2\">\n <div className=\"space-y-2\">\n <Label htmlFor=\"project-name\">Name</Label>\n <Input\n id=\"project-name\"\n value={name}\n onChange={(e) => setName(e.target.value)}\n placeholder=\"My Project\"\n data-testid=\"project-name-input\"\n />\n </div>\n <div className=\"space-y-2\">\n <Label htmlFor=\"project-prefix\">Identifier Prefix</Label>\n <Input\n id=\"project-prefix\"\n value={prefix}\n onChange={(e) => setPrefix(e.target.value.toUpperCase())}\n placeholder=\"PROJ\"\n maxLength={5}\n data-testid=\"project-prefix-input\"\n />\n <p className=\"text-muted-foreground text-[10px]\">\n 1-5 uppercase letters/numbers, used in work item identifiers (e.g., PROJ-42)\n </p>\n </div>\n <div className=\"space-y-2\">\n <Label htmlFor=\"project-desc\">Description (optional)</Label>\n <Textarea\n id=\"project-desc\"\n value={description}\n onChange={(e) => setDescription(e.target.value)}\n placeholder=\"What is this project about?\"\n rows={3}\n data-testid=\"project-desc-input\"\n />\n </div>\n {error ? (\n <p className=\"text-destructive text-xs\" data-testid=\"create-project-error\">\n {error}\n </p>\n ) : null}\n </div>\n <DialogFooter>\n <Button variant=\"outline\" onClick={() => onOpenChange(false)} disabled={submitting}>\n Cancel\n </Button>\n <Button\n onClick={handleSubmit}\n disabled={!name.trim() || !prefix.trim() || submitting}\n data-testid=\"create-project-submit\"\n >\n {submitting ? 'Creating...' : 'Create'}\n </Button>\n </DialogFooter>\n </DialogContent>\n </Dialog>\n );\n}\n","/* __next_internal_action_entry_do_not_use__ [{\"40ceaa4893a76f7e2792f36fd5dc3ce2e260d09533\":\"createPmProject\"},\"src/presentation/web/app/actions/create-pm-project.ts\",\"\"] */\"use turbopack no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_0=/*#__PURE__*/createServerReference(\"40ceaa4893a76f7e2792f36fd5dc3ce2e260d09533\",callServer,void 0,findSourceMapURL,\"createPmProject\");export{$$RSC_SERVER_ACTION_0 as createPmProject};"],"names":[],"mappings":"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","ignoreList":[3]}
@@ -1,3 +1,3 @@
1
- module.exports=[124255,705623,569029,985080,149235,302824,a=>{"use strict";let b;var c=a.i(556365),d=a.i(944592),e=a.i(610568),f=a.i(450490),g=a.i(5698),h=a.i(142261),i=a.i(385536),j=a.i(488064),k=a.i(782697),l=a.i(118948),m=a.i(219884);function n({label:a,onClick:b,loading:d,error:e,icon:f,iconOnly:g=!1,variant:h="outline",size:n="sm"}){let o=(0,m.useSoundAction)("click");return(0,c.jsxs)(l.Button,{variant:h,size:n,"aria-label":a,disabled:d,onClick:()=>{o.play(),b()},className:(0,i.cn)("gap-1.5",e&&"text-destructive hover:text-destructive",!e&&g&&"ghost"===h&&"text-muted-foreground cursor-pointer rounded-full transition-colors hover:text-blue-500"),children:[d?(0,c.jsx)(j.Loader2,{className:"size-4 animate-spin"}):e?(0,c.jsx)(k.CircleAlert,{className:"size-4"}):(0,c.jsx)(f,{className:"size-4"}),g?null:a]})}a.s(["ActionButton",()=>n],705623),a.s([],569029);var o=a.i(771238),p=a.i(863698),q=a.i(746847),r=a.i(182934),s=a.i(645670),t=a.i(289111);let u=(0,t.createServerReference)("408490514856b3a687e6e3791ca010cd2a5ae7daa3",t.callServer,void 0,t.findSourceMapURL,"getDeploymentLogs");function v({open:a,onOpenChange:b,targetId:e}){let{logs:f,isConnected:g}=function(a){let[b,c]=(0,d.useState)([]),[e,f]=(0,d.useState)(!1),g=(0,d.useRef)(null),h=(0,d.useCallback)(()=>{g.current&&(g.current.close(),g.current=null),f(!1)},[]);return(0,d.useEffect)(()=>{if(!a){c([]),f(!1);return}u(a).then(a=>{a&&c(a)}).catch(()=>{});let b=new EventSource(`/api/deployment-logs?targetId=${a}`);return g.current=b,b.onopen=()=>{f(!0)},b.addEventListener("log",a=>{let b=JSON.parse(a.data);c(a=>[...a,b])}),b.onerror=()=>{f(!1)},()=>{b.close(),g.current=null}},[a,h]),{logs:b,isConnected:e}}(a?e:null);return(0,c.jsx)(w,{open:a,onOpenChange:b,logs:f,isConnected:g})}function w({open:a,onOpenChange:b,logs:e,isConnected:f}){let g=(0,d.useRef)(null),h=(0,d.useRef)(!0),i=(0,d.useCallback)(()=>{let a=g.current;a&&(h.current=a.scrollTop+a.clientHeight>=a.scrollHeight-50)},[]);return(0,d.useEffect)(()=>{h.current&&g.current&&(g.current.scrollTop=g.current.scrollHeight)},[e]),(0,c.jsx)(s.Dialog,{open:a,onOpenChange:b,children:(0,c.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,c.jsxs)(s.DialogHeader,{className:"flex flex-row items-center justify-between border-b border-zinc-800 px-4 py-3",children:[(0,c.jsxs)("div",{className:"flex items-center gap-2",children:[(0,c.jsx)(p.Terminal,{className:"h-4 w-4 text-zinc-400"}),(0,c.jsx)(s.DialogTitle,{className:"text-sm font-medium text-zinc-100",children:"Server Logs"})]}),(0,c.jsxs)("div",{className:"flex items-center gap-2 pe-8",children:[(0,c.jsx)("span",{className:`inline-block h-2 w-2 rounded-full ${f?"bg-green-500":"bg-zinc-500"}`}),(0,c.jsx)("span",{className:"text-xs text-zinc-400",children:f?"Connected":"Disconnected"})]})]}),(0,c.jsxs)("div",{ref:g,onScroll:i,className:"flex-1 overflow-auto p-4 font-mono text-sm leading-relaxed",children:[0===e.length?(0,c.jsx)("p",{className:"text-zinc-500",children:"Waiting for log output..."}):e.map(a=>(0,c.jsx)(x,{entry:a},`${a.timestamp}-${a.stream}-${a.line}`)),!f&&e.length>0&&(0,c.jsx)("div",{className:"mt-2 border-t border-zinc-800 pt-2 text-zinc-500",children:"[Server stopped]"})]})]})})}function x({entry:a}){return(0,c.jsx)("div",{"data-stream":a.stream,className:"stderr"===a.stream?"text-red-400":"text-zinc-200",children:(0,c.jsx)("span",{className:"break-all whitespace-pre-wrap",children:a.line})})}let y="text-muted-foreground hover:bg-foreground/8 hover:text-foreground inline-flex size-7 items-center justify-center rounded-[3px]";function z({status:a,url:b,targetId:e}){let[f,g]=(0,d.useState)(!1),h=e&&(a===q.DeploymentState.Booting||a===q.DeploymentState.Ready);switch(a){case q.DeploymentState.Booting:return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsxs)("div",{className:"flex items-center gap-1 pl-1",children:[(0,c.jsx)(j.Loader2,{className:"size-3 animate-spin text-blue-500"}),(0,c.jsx)("span",{className:"text-muted-foreground text-[11px]",children:"Starting..."}),h?(0,c.jsx)(r.TooltipProvider,{delayDuration:300,children:(0,c.jsxs)(r.Tooltip,{children:[(0,c.jsx)(r.TooltipTrigger,{asChild:!0,children:(0,c.jsx)("button",{type:"button","aria-label":"View server logs",className:y,onClick:a=>{a.stopPropagation(),g(!0)},children:(0,c.jsx)(p.Terminal,{className:"size-3.5"})})}),(0,c.jsx)(r.TooltipContent,{side:"bottom",className:"text-xs",children:"Server logs"})]})}):null]}),h?(0,c.jsx)(v,{open:f,onOpenChange:g,targetId:e}):null]});case q.DeploymentState.Ready:return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsxs)("div",{className:"flex translate-y-px items-center gap-1 pl-1",children:[(0,c.jsx)("span",{className:"inline-block size-1.5 rounded-full bg-green-500"}),b?(0,c.jsxs)("a",{href:b,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-0.5 text-[11px] text-green-600 hover:text-green-500 dark:text-green-400 dark:hover:text-green-300",onClick:a=>a.stopPropagation(),children:[b,(0,c.jsx)(o.ExternalLink,{className:"size-2.5 shrink-0"})]}):(0,c.jsx)("span",{className:"text-[11px] text-green-600 dark:text-green-400",children:"Ready"}),h?(0,c.jsx)(r.TooltipProvider,{delayDuration:300,children:(0,c.jsxs)(r.Tooltip,{children:[(0,c.jsx)(r.TooltipTrigger,{asChild:!0,children:(0,c.jsx)("button",{type:"button","aria-label":"View server logs",className:y,onClick:a=>{a.stopPropagation(),g(!0)},children:(0,c.jsx)(p.Terminal,{className:"size-3.5"})})}),(0,c.jsx)(r.TooltipContent,{side:"bottom",className:"text-xs",children:"Server logs"})]})}):null]}),h?(0,c.jsx)(v,{open:f,onOpenChange:g,targetId:e}):null]});default:return null}}a.s(["DeploymentStatusBadge",()=>z],985080),a.s([],149235);var A=a.i(440093);let B=d.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}),C=()=>{let a=d.default.useContext(B);if(!a)throw Error("useDrawerContext must be used within a Drawer.Root");return a};function D(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function E(){return F(/^iPhone/)||F(/^iPad/)||F(/^Mac/)&&navigator.maxTouchPoints>1}function F(a){}!function(a){if(!a||"u"<typeof document)return;let b=document.head||document.getElementsByTagName("head")[0],c=document.createElement("style");c.type="text/css",b.appendChild(c),c.styleSheet?c.styleSheet.cssText=a:c.appendChild(document.createTextNode(a))}("[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 G=d.useEffect;"u">typeof document&&window.visualViewport;let H=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]),I=0;function J(...a){return d.useCallback(function(...a){return b=>a.forEach(a=>{"function"==typeof a?a(b):null!=a&&(a.current=b)})}(...a),a)}let K=new WeakMap;function L(a,b,c=!1){if(!a||!(a instanceof HTMLElement))return;let d={};Object.entries(b).forEach(([b,c])=>{b.startsWith("--")?a.style.setProperty(b,c):(d[b]=a.style[b],a.style[b]=c)}),c||K.set(a,d)}let M=a=>{switch(a){case"top":case"bottom":return!0;case"left":case"right":return!1;default:return a}};function N(a,b){if(!a)return null;let c=window.getComputedStyle(a),d=c.transform||c.webkitTransform||c.mozTransform,e=d.match(/^matrix3d\((.+)\)$/);return e?parseFloat(e[1].split(", ")[M(b)?13:12]):(e=d.match(/^matrix\((.+)\)$/))?parseFloat(e[1].split(", ")[M(b)?5:4]):null}function O(a,b){if(!a)return()=>{};let c=a.style.cssText;return Object.assign(a.style,b),()=>{a.style.cssText=c}}let P=[.32,.72,0,1],Q="vaul-dragging";function R(a){let b=d.default.useRef(a);return d.default.useEffect(()=>{b.current=a}),d.default.useMemo(()=>(...a)=>null==b.current?void 0:b.current.call(b,...a),[])}function S({prop:a,defaultProp:b,onChange:c=()=>{}}){let[e,f]=function({defaultProp:a,onChange:b}){let c=d.default.useState(a),[e]=c,f=d.default.useRef(e),g=R(b);return d.default.useEffect(()=>{f.current!==e&&(g(e),f.current=e)},[e,f,g]),c}({defaultProp:b,onChange:c}),g=void 0!==a,h=g?a:e,i=R(c);return[h,d.default.useCallback(b=>{if(g){let c="function"==typeof b?b(a):b;c!==a&&i(c)}else f(b)},[g,a,f,i])]}let T=()=>()=>{},U=null;function V({open:a,onOpenChange:c,children:e,onDrag:f,onRelease:g,snapPoints:h,shouldScaleBackground:i=!1,setBackgroundColorOnScale:j=!0,closeThreshold:k=.25,scrollLockTimeout:l=100,dismissible:m=!0,handleOnly:n=!1,fadeFromIndex:o=h&&h.length-1,activeSnapPoint:p,setActiveSnapPoint:q,fixed:r,modal:s=!0,onClose:t,nested:u,noBodyStyles:v=!1,direction:w="bottom",defaultOpen:x=!1,disablePreventScroll:y=!0,snapToSequentialPoint:z=!1,preventScrollRestoration:C=!1,repositionInputs:F=!0,onAnimationEnd:J,container:O,autoFocus:R=!1}){var T,V;let[W=!1,X]=S({defaultProp:x,prop:a,onChange:a=>{null==c||c(a),a||u||aA(),setTimeout(()=>{null==J||J(a)},500),a||(document.body.style.pointerEvents="auto")}}),[Y,Z]=d.default.useState(!1),[$,_]=d.default.useState(!1),[aa,ab]=d.default.useState(!1),ac=d.default.useRef(null),ad=d.default.useRef(null),ae=d.default.useRef(null),af=d.default.useRef(null),ag=d.default.useRef(null),ah=d.default.useRef(!1),ai=d.default.useRef(null),aj=d.default.useRef(0),ak=d.default.useRef(!1),al=d.default.useRef(!x),am=d.default.useRef(0),an=d.default.useRef(null),ao=d.default.useRef((null==(T=an.current)?void 0:T.getBoundingClientRect().height)||0),ap=d.default.useRef((null==(V=an.current)?void 0:V.getBoundingClientRect().width)||0),aq=d.default.useRef(0),ar=d.default.useCallback(a=>{h&&a===aw.length-1&&(ad.current=new Date)},[]),{activeSnapPoint:as,activeSnapPointIndex:at,setActiveSnapPoint:au,onRelease:av,snapPointsOffset:aw,onDrag:ax,shouldFade:ay,getPercentageDragged:az}=function({activeSnapPointProp:a,setActiveSnapPointProp:b,snapPoints:c,drawerRef:e,overlayRef:f,fadeFromIndex:g,onSnapPointChange:h,direction:i="bottom",container:j,snapToSequentialPoint:k}){let[l,m]=S({prop:a,defaultProp:null==c?void 0:c[0],onChange:b}),[n,o]=d.default.useState(void 0);d.default.useEffect(()=>{function a(){o({innerWidth:window.innerWidth,innerHeight:window.innerHeight})}return window.addEventListener("resize",a),()=>window.removeEventListener("resize",a)},[]);let p=d.default.useMemo(()=>l===(null==c?void 0:c[c.length-1])||null,[c,l]),q=d.default.useMemo(()=>{var a;return null!=(a=null==c?void 0:c.findIndex(a=>a===l))?a:null},[c,l]),r=c&&c.length>0&&(g||0===g)&&!Number.isNaN(g)&&c[g]===l||!c,s=d.default.useMemo(()=>{var a;let b=j?{width:j.getBoundingClientRect().width,height:j.getBoundingClientRect().height}:{width:0,height:0};return null!=(a=null==c?void 0:c.map(a=>{let c="string"==typeof a,d=0;if(c&&(d=parseInt(a,10)),M(i)){let e=c?d:n?a*b.height:0;return n?"bottom"===i?b.height-e:-b.height+e:e}let e=c?d:n?a*b.width:0;return n?"right"===i?b.width-e:-b.width+e:e}))?a:[]},[c,n,j]),t=d.default.useMemo(()=>null!==q?null==s?void 0:s[q]:null,[s,q]),u=d.default.useCallback(a=>{var b;let d=null!=(b=null==s?void 0:s.findIndex(b=>b===a))?b:null;h(d),L(e.current,{transition:`transform 0.5s cubic-bezier(${P.join(",")})`,transform:M(i)?`translate3d(0, ${a}px, 0)`:`translate3d(${a}px, 0, 0)`}),s&&d!==s.length-1&&void 0!==g&&d!==g&&d<g?L(f.current,{transition:`opacity 0.5s cubic-bezier(${P.join(",")})`,opacity:"0"}):L(f.current,{transition:`opacity 0.5s cubic-bezier(${P.join(",")})`,opacity:"1"}),m(null==c?void 0:c[Math.max(d,0)])},[e.current,c,s,g,f,m]);return d.default.useEffect(()=>{if(l||a){var b;let d=null!=(b=null==c?void 0:c.findIndex(b=>b===a||b===l))?b:-1;s&&-1!==d&&"number"==typeof s[d]&&u(s[d])}},[l,a,c,s,u]),{isLastSnapPoint:p,activeSnapPoint:l,shouldFade:r,getPercentageDragged:function(a,b){if(!c||"number"!=typeof q||!s||void 0===g)return null;let d=q===g-1;if(q>=g&&b)return 0;if(d&&!b)return 1;if(!r&&!d)return null;let e=d?q+1:q-1,f=a/Math.abs(d?s[e]-s[e-1]:s[e+1]-s[e]);return d?1-f:f},setActiveSnapPoint:m,activeSnapPointIndex:q,onRelease:function({draggedDistance:a,closeDrawer:b,velocity:d,dismissible:e}){if(void 0===g)return;let h="bottom"===i||"right"===i?(null!=t?t:0)-a:(null!=t?t:0)+a,j=q===g-1,l=0===q,m=a>0;if(j&&L(f.current,{transition:`opacity 0.5s cubic-bezier(${P.join(",")})`}),!k&&d>2&&!m)return void(e?b():u(s[0]));if(!k&&d>2&&m&&s&&c)return void u(s[c.length-1]);let n=null==s?void 0:s.reduce((a,b)=>"number"!=typeof a||"number"!=typeof b?a:Math.abs(b-h)<Math.abs(a-h)?b:a),o=M(i)?window.innerHeight:window.innerWidth;if(d>.4&&Math.abs(a)<.4*o){let a=m?1:-1;return a>0&&p&&c?void u(s[c.length-1]):void(l&&a<0&&e&&b(),null===q||u(s[q+a]))}u(n)},onDrag:function({draggedDistance:a}){if(null===t)return;let b="bottom"===i||"right"===i?t-a:t+a;("bottom"===i||"right"===i)&&b<s[s.length-1]||("top"===i||"left"===i)&&b>s[s.length-1]||L(e.current,{transform:M(i)?`translate3d(0, ${b}px, 0)`:`translate3d(${b}px, 0, 0)`})},snapPointsOffset:s}}({snapPoints:h,activeSnapPointProp:p,setActiveSnapPointProp:q,drawerRef:an,fadeFromIndex:o,overlayRef:ac,onSnapPointChange:ar,direction:w,container:O,snapToSequentialPoint:z});!function(a={}){let{isDisabled:c}=a;G(()=>{if(!c)return 1==++I&&E(),()=>{0==--I&&(null==b||b())}},[c])}({isDisabled:!W||$||!s||aa||!Y||!F||!y});let{restorePositionSetting:aA}=function({isOpen:a,modal:b,nested:c,hasBeenOpened:e,preventScrollRestoration:f,noBodyStyles:g}){let[h,i]=d.default.useState(()=>""),j=d.default.useRef(0),k=d.default.useCallback(()=>{if(D()&&null===U&&a&&!g){U={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left,height:document.body.style.height,right:"unset"};let{scrollX:a,innerHeight:b}=window;document.body.style.setProperty("position","fixed","important"),Object.assign(document.body.style,{top:`${-j.current}px`,left:`${-a}px`,right:"0px",height:"auto"}),window.setTimeout(()=>window.requestAnimationFrame(()=>{let a=b-window.innerHeight;a&&j.current>=b&&(document.body.style.top=`${-(j.current+a)}px`)}),300)}},[a]),l=d.default.useCallback(()=>{if(D()&&null!==U&&!g){let a=-parseInt(document.body.style.top,10),b=-parseInt(document.body.style.left,10);Object.assign(document.body.style,U),window.requestAnimationFrame(()=>{f&&h!==window.location.href?i(window.location.href):window.scrollTo(b,a)}),U=null}},[h]);return d.default.useEffect(()=>{function a(){j.current=window.scrollY}return a(),window.addEventListener("scroll",a),()=>{window.removeEventListener("scroll",a)}},[]),d.default.useEffect(()=>{if(b)return()=>{"u"<typeof document||document.querySelector("[data-vaul-drawer]")||l()}},[b,l]),d.default.useEffect(()=>{!c&&e&&(a?(window.matchMedia("(display-mode: standalone)").matches||k(),b||window.setTimeout(()=>{l()},500)):l())},[a,e,h,b,c,k,l]),{restorePositionSetting:l}}({isOpen:W,modal:s,nested:null!=u&&u,hasBeenOpened:Y,preventScrollRestoration:C,noBodyStyles:v});function aB(){return(window.innerWidth-26)/window.innerWidth}function aC(a,b){var c;let d=a,e=null==(c=window.getSelection())?void 0:c.toString(),f=an.current?N(an.current,w):null,g=new Date;if("SELECT"===d.tagName||d.hasAttribute("data-vaul-no-drag")||d.closest("[data-vaul-no-drag]"))return!1;if("right"===w||"left"===w)return!0;if(ad.current&&g.getTime()-ad.current.getTime()<500)return!1;if(null!==f&&("bottom"===w?f>0:f<0))return!0;if(e&&e.length>0)return!1;if(ag.current&&g.getTime()-ag.current.getTime()<l&&0===f||b)return ag.current=g,!1;for(;d;){if(d.scrollHeight>d.clientHeight){if(0!==d.scrollTop)return ag.current=new Date,!1;if("dialog"===d.getAttribute("role"))break}d=d.parentNode}return!0}function aD(a){$&&an.current&&(an.current.classList.remove(Q),ah.current=!1,_(!1),af.current=new Date),null==t||t(),a||X(!1),setTimeout(()=>{h&&au(h[0])},500)}function aE(){if(!an.current)return;let a=document.querySelector("[data-vaul-drawer-wrapper]"),b=N(an.current,w);L(an.current,{transform:"translate3d(0, 0, 0)",transition:`transform 0.5s cubic-bezier(${P.join(",")})`}),L(ac.current,{transition:`opacity 0.5s cubic-bezier(${P.join(",")})`,opacity:"1"}),i&&b&&b>0&&W&&L(a,{borderRadius:"8px",overflow:"hidden",...M(w)?{transform:`scale(${aB()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,transformOrigin:"top"}:{transform:`scale(${aB()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`,transformOrigin:"left"},transitionProperty:"transform, border-radius",transitionDuration:"0.5s",transitionTimingFunction:`cubic-bezier(${P.join(",")})`},!0)}return d.default.useEffect(()=>{window.requestAnimationFrame(()=>{al.current=!0})},[]),d.default.useEffect(()=>{var a;function b(){var a,b;if(an.current&&F&&((a=document.activeElement)instanceof HTMLInputElement&&!H.has(a.type)||a instanceof HTMLTextAreaElement||a instanceof HTMLElement&&a.isContentEditable||ak.current)){let a=(null==(b=window.visualViewport)?void 0:b.height)||0,c=window.innerHeight,d=c-a,e=an.current.getBoundingClientRect().height||0;aq.current||(aq.current=e);let f=an.current.getBoundingClientRect().top;if(Math.abs(am.current-d)>60&&(ak.current=!ak.current),h&&h.length>0&&aw&&at&&(d+=aw[at]||0),am.current=d,e>a||ak.current){let b=an.current.getBoundingClientRect().height,g=b;b>a&&(g=a-(e>.8*c?f:26)),r?an.current.style.height=`${b-Math.max(d,0)}px`:an.current.style.height=`${Math.max(g,a-f)}px`}else navigator.userAgent,an.current.style.height=`${aq.current}px`;h&&h.length>0&&!ak.current?an.current.style.bottom="0px":an.current.style.bottom=`${Math.max(d,0)}px`}}return null==(a=window.visualViewport)||a.addEventListener("resize",b),()=>{var a;return null==(a=window.visualViewport)?void 0:a.removeEventListener("resize",b)}},[at,h,aw]),d.default.useEffect(()=>(W&&(L(document.documentElement,{scrollBehavior:"auto"}),ad.current=new Date),()=>{!function(a,b){if(!a||!(a instanceof HTMLElement))return;let c=K.get(a);c&&(a.style[b]=c[b])}(document.documentElement,"scrollBehavior")}),[W]),d.default.useEffect(()=>{s||window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"})},[s]),d.default.createElement(A.Root,{defaultOpen:x,onOpenChange:a=>{(m||a)&&(a?Z(!0):aD(!0),X(a))},open:W},d.default.createElement(B.Provider,{value:{activeSnapPoint:as,snapPoints:h,setActiveSnapPoint:au,drawerRef:an,overlayRef:ac,onOpenChange:c,onPress:function(a){var b,c;!m&&!h||(!an.current||an.current.contains(a.target))&&(ao.current=(null==(b=an.current)?void 0:b.getBoundingClientRect().height)||0,ap.current=(null==(c=an.current)?void 0:c.getBoundingClientRect().width)||0,_(!0),ae.current=new Date,E(),a.target.setPointerCapture(a.pointerId),aj.current=M(w)?a.pageY:a.pageX)},onRelease:function(a){var b,c;if(!$||!an.current)return;an.current.classList.remove(Q),ah.current=!1,_(!1),af.current=new Date;let d=N(an.current,w);if(!a||!aC(a.target,!1)||!d||Number.isNaN(d)||null===ae.current)return;let e=af.current.getTime()-ae.current.getTime(),f=aj.current-(M(w)?a.pageY:a.pageX),i=Math.abs(f)/e;if(i>.05&&(ab(!0),setTimeout(()=>{ab(!1)},200)),h){av({draggedDistance:f*("bottom"===w||"right"===w?1:-1),closeDrawer:aD,velocity:i,dismissible:m}),null==g||g(a,!0);return}if("bottom"===w||"right"===w?f>0:f<0){aE(),null==g||g(a,!0);return}if(i>.4){aD(),null==g||g(a,!1);return}let j=Math.min(null!=(b=an.current.getBoundingClientRect().height)?b:0,window.innerHeight),l=Math.min(null!=(c=an.current.getBoundingClientRect().width)?c:0,window.innerWidth);if(Math.abs(d)>=("left"===w||"right"===w?l:j)*k){aD(),null==g||g(a,!1);return}null==g||g(a,!0),aE()},onDrag:function(a){if(an.current&&$){let b="bottom"===w||"right"===w?1:-1,c=(aj.current-(M(w)?a.pageY:a.pageX))*b,d=c>0,e=h&&!m&&!d;if(e&&0===at)return;let g=Math.abs(c),j=document.querySelector("[data-vaul-drawer-wrapper]"),k=g/("bottom"===w||"top"===w?ao.current:ap.current),l=az(g,d);if(null!==l&&(k=l),e&&k>=1||!ah.current&&!aC(a.target,d))return;if(an.current.classList.add(Q),ah.current=!0,L(an.current,{transition:"none"}),L(ac.current,{transition:"none"}),h&&ax({draggedDistance:c}),d&&!h){let a=Math.min(-(8*(Math.log(c+1)-2)*1),0)*b;L(an.current,{transform:M(w)?`translate3d(0, ${a}px, 0)`:`translate3d(${a}px, 0, 0)`});return}let n=1-k;if((ay||o&&at===o-1)&&(null==f||f(a,k),L(ac.current,{opacity:`${n}`,transition:"none"},!0)),j&&ac.current&&i){let a=Math.min(aB()+k*(1-aB()),1),b=8-8*k,c=Math.max(0,14-14*k);L(j,{borderRadius:`${b}px`,transform:M(w)?`scale(${a}) translate3d(0, ${c}px, 0)`:`scale(${a}) translate3d(${c}px, 0, 0)`,transition:"none"},!0)}if(!h){let a=g*b;L(an.current,{transform:M(w)?`translate3d(0, ${a}px, 0)`:`translate3d(${a}px, 0, 0)`})}}},dismissible:m,shouldAnimate:al,handleOnly:n,isOpen:W,isDragging:$,shouldFade:ay,closeDrawer:aD,onNestedDrag:function(a,b){if(b<0)return;let c=(window.innerWidth-16)/window.innerWidth,d=c+b*(1-c),e=-16+16*b;L(an.current,{transform:M(w)?`scale(${d}) translate3d(0, ${e}px, 0)`:`scale(${d}) translate3d(${e}px, 0, 0)`,transition:"none"})},onNestedOpenChange:function(a){let b=a?(window.innerWidth-16)/window.innerWidth:1,c=a?-16:0;ai.current&&window.clearTimeout(ai.current),L(an.current,{transition:`transform 0.5s cubic-bezier(${P.join(",")})`,transform:M(w)?`scale(${b}) translate3d(0, ${c}px, 0)`:`scale(${b}) translate3d(${c}px, 0, 0)`}),!a&&an.current&&(ai.current=setTimeout(()=>{let a=N(an.current,w);L(an.current,{transition:"none",transform:M(w)?`translate3d(0, ${a}px, 0)`:`translate3d(${a}px, 0, 0)`})},500))},onNestedRelease:function(a,b){let c=M(w)?window.innerHeight:window.innerWidth,d=b?(c-16)/c:1,e=b?-16:0;b&&L(an.current,{transition:`transform 0.5s cubic-bezier(${P.join(",")})`,transform:M(w)?`scale(${d}) translate3d(0, ${e}px, 0)`:`scale(${d}) translate3d(${e}px, 0, 0)`})},keyboardIsOpen:ak,modal:s,snapPointsOffset:aw,activeSnapPointIndex:at,direction:w,shouldScaleBackground:i,setBackgroundColorOnScale:j,noBodyStyles:v,container:O,autoFocus:R}},e))}let W=d.default.forwardRef(function({...a},b){let{overlayRef:c,snapPoints:e,onRelease:f,shouldFade:g,isOpen:h,modal:i,shouldAnimate:j}=C(),k=J(b,c),l=e&&e.length>0;if(!i)return null;let m=d.default.useCallback(a=>f(a),[f]);return d.default.createElement(A.Overlay,{onMouseUp:m,ref:k,"data-vaul-overlay":"","data-vaul-snap-points":h&&l?"true":"false","data-vaul-snap-points-overlay":h&&g?"true":"false","data-vaul-animate":(null==j?void 0:j.current)?"true":"false",...a})});W.displayName="Drawer.Overlay";let X=d.default.forwardRef(function({onPointerDownOutside:a,style:b,onOpenAutoFocus:c,...e},f){let{drawerRef:g,onPress:h,onRelease:i,onDrag:j,keyboardIsOpen:k,snapPointsOffset:l,activeSnapPointIndex:m,modal:n,isOpen:o,direction:p,snapPoints:q,container:r,handleOnly:s,shouldAnimate:t,autoFocus:u}=C(),[v,w]=d.default.useState(!1),x=J(f,g),y=d.default.useRef(null),z=d.default.useRef(null),B=d.default.useRef(!1),D=q&&q.length>0;function E(a){y.current=null,B.current=!1,i(a)}return!function(){let{direction:a,isOpen:b,shouldScaleBackground:c,setBackgroundColorOnScale:e,noBodyStyles:f}=C(),g=d.default.useRef(null),h=(0,d.useMemo)(()=>document.body.style.backgroundColor,[]);function i(){return(window.innerWidth-26)/window.innerWidth}d.default.useEffect(()=>{if(b&&c){g.current&&clearTimeout(g.current);let b=document.querySelector("[data-vaul-drawer-wrapper]")||document.querySelector("[vaul-drawer-wrapper]");if(!b)return;!function(...a){}(e&&!f?O(document.body,{background:"black"}):T,O(b,{transformOrigin:M(a)?"top":"left",transitionProperty:"transform, border-radius",transitionDuration:"0.5s",transitionTimingFunction:`cubic-bezier(${P.join(",")})`}));let c=O(b,{borderRadius:"8px",overflow:"hidden",...M(a)?{transform:`scale(${i()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`}:{transform:`scale(${i()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`}});return()=>{c(),g.current=window.setTimeout(()=>{h?document.body.style.background=h:document.body.style.removeProperty("background")},500)}}},[b,c,h])}(),d.default.useEffect(()=>{D&&window.requestAnimationFrame(()=>{w(!0)})},[]),d.default.createElement(A.Content,{"data-vaul-drawer-direction":p,"data-vaul-drawer":"","data-vaul-delayed-snap-points":v?"true":"false","data-vaul-snap-points":o&&D?"true":"false","data-vaul-custom-container":r?"true":"false","data-vaul-animate":(null==t?void 0:t.current)?"true":"false",...e,ref:x,style:l&&l.length>0?{"--snap-point-height":`${l[null!=m?m:0]}px`,...b}:b,onPointerDown:a=>{s||(null==e.onPointerDown||e.onPointerDown.call(e,a),y.current={x:a.pageX,y:a.pageY},h(a))},onOpenAutoFocus:a=>{null==c||c(a),u||a.preventDefault()},onPointerDownOutside:b=>{(null==a||a(b),!n||b.defaultPrevented)?b.preventDefault():k.current&&(k.current=!1)},onFocusOutside:a=>{if(!n)return void a.preventDefault()},onPointerMove:a=>{if(z.current=a,s||(null==e.onPointerMove||e.onPointerMove.call(e,a),!y.current))return;let b=a.pageY-y.current.y,c=a.pageX-y.current.x,d="touch"===a.pointerType?10:2;((a,b,c=0)=>{if(B.current)return!0;let d=Math.abs(a.y),e=Math.abs(a.x),f=e>d,g=["bottom","right"].includes(b)?1:-1;if("left"===b||"right"===b){if(!(a.x*g<0)&&e>=0&&e<=c)return f}else if(!(a.y*g<0)&&d>=0&&d<=c)return!f;return B.current=!0,!0})({x:c,y:b},p,d)?j(a):(Math.abs(c)>d||Math.abs(b)>d)&&(y.current=null)},onPointerUp:a=>{null==e.onPointerUp||e.onPointerUp.call(e,a),y.current=null,B.current=!1,i(a)},onPointerOut:a=>{null==e.onPointerOut||e.onPointerOut.call(e,a),E(z.current)},onContextMenu:a=>{null==e.onContextMenu||e.onContextMenu.call(e,a),z.current&&E(z.current)}})});X.displayName="Drawer.Content";let Y=d.default.forwardRef(function({preventCycle:a=!1,children:b,...c},e){let{closeDrawer:f,isDragging:g,snapPoints:h,activeSnapPoint:i,setActiveSnapPoint:j,dismissible:k,handleOnly:l,isOpen:m,onPress:n,onDrag:o}=C(),p=d.default.useRef(null),q=d.default.useRef(!1);function r(){p.current&&window.clearTimeout(p.current),q.current=!1}return d.default.createElement("div",{onClick:function(){q.current?r():window.setTimeout(()=>{!function(){if(g||a||q.current)return r();if(r(),!h||0===h.length){k||f();return}if(i===h[h.length-1]&&k)return f();let b=h.findIndex(a=>a===i);-1===b||j(h[b+1])}()},120)},onPointerCancel:r,onPointerDown:a=>{l&&n(a),p.current=window.setTimeout(()=>{q.current=!0},250)},onPointerMove:a=>{l&&o(a)},ref:e,"data-vaul-drawer-visible":m?"true":"false","data-vaul-handle":"","aria-hidden":"true",...c},d.default.createElement("span",{"data-vaul-handle-hitarea":"","aria-hidden":"true"},b))});Y.displayName="Drawer.Handle";let Z={Root:V,NestedRoot:function({onDrag:a,onOpenChange:b,open:c,...e}){let{onNestedDrag:f,onNestedOpenChange:g,onNestedRelease:h}=C();if(!f)throw Error("Drawer.NestedRoot must be placed in another drawer");return d.default.createElement(V,{nested:!0,open:c,onClose:()=>{g(!1)},onDrag:(b,c)=>{f(b,c),null==a||a(b,c)},onOpenChange:a=>{a&&g(a),null==b||b(a)},onRelease:h,...e})},Content:X,Overlay:W,Trigger:A.Trigger,Portal:function(a){let b=C(),{container:c=b.container,...e}=a;return d.default.createElement(A.Portal,{container:c,...e})},Handle:Y,Close:A.Close,Title:A.Title,Description:A.Description};function $({...a}){return(0,c.jsx)(Z.Root,{"data-slot":"drawer",...a})}function _({...a}){return(0,c.jsx)(Z.Portal,{"data-slot":"drawer-portal",...a})}function aa({className:a,...b}){return(0,c.jsx)(Z.Overlay,{"data-slot":"drawer-overlay",className:(0,i.cn)("fixed inset-0 z-50 bg-black/50",a),...b})}function ab({className:a,children:b,direction:d="bottom",showCloseButton:f=!0,...g}){return(0,c.jsx)(_,{children:(0,c.jsxs)(Z.Content,{"data-slot":"drawer-content",className:(0,i.cn)("bg-background fixed z-50 flex flex-col shadow-lg","bottom"===d&&"inset-x-0 bottom-0 mb-24 rounded-t-lg border-t","top"===d&&"inset-x-0 top-0 mt-24 rounded-b-lg border-b","right"===d&&"inset-y-0 right-0 h-full w-3/4 border-l","left"===d&&"inset-y-0 left-0 h-full w-3/4 border-r",a),style:{"--initial-transform":"calc(100% + 8px)",userSelect:"text",...g.style??{}},...g,children:[b,f?(0,c.jsxs)(Z.Close,{className:"ring-offset-background focus:ring-ring absolute end-4 top-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none",children:[(0,c.jsx)(e.XIcon,{className:"size-4"}),(0,c.jsx)("span",{className:"sr-only",children:"Close"})]}):null]})})}function ac({className:a,...b}){return(0,c.jsx)("div",{"data-slot":"drawer-header",className:(0,i.cn)("flex flex-col gap-1.5 p-4",a),...b})}function ad({className:a,...b}){return(0,c.jsx)("div",{"data-slot":"drawer-footer",className:(0,i.cn)("mt-auto flex flex-col gap-2 p-4",a),...b})}function ae({className:a,...b}){return(0,c.jsx)(Z.Title,{"data-slot":"drawer-title",className:(0,i.cn)("text-foreground font-semibold",a),...b})}function af({className:a,...b}){return(0,c.jsx)(Z.Description,{"data-slot":"drawer-description",className:(0,i.cn)("text-muted-foreground text-sm",a),...b})}a.s(["Drawer",()=>$,"DrawerContent",()=>ab,"DrawerDescription",()=>af,"DrawerFooter",()=>ad,"DrawerHeader",()=>ac,"DrawerOverlay",()=>aa,"DrawerTitle",()=>ae],302824);var ag=a.i(513126);a.i(490370);var ah=a.i(224640),ai=a.i(118662),aj=a.i(821333);let ak=(0,h.cva)("",{variants:{size:{sm:"w-96",md:"w-2xl",lg:"w-[772px]"}},defaultVariants:{size:"sm"}});function al({open:a,onClose:b,modal:f=!1,dismissOnOutsideClick:g=!1,title:h="Drawer",size:j,header:k,children:l,footer:m,className:n,"data-testid":o,deployTarget:p}){let{i18n:q}=(0,ah.useTranslation)(),r=(0,aj.useFeatureFlags)(),s=(0,d.useRef)(null),t="rtl"===q.dir()?"left":"right";return(0,d.useEffect)(()=>{if(!a||f)return;let c=a=>{let c=a.target;!document.body.contains(c)||s.current?.contains(c)||c.closest(g?'[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]')||b()};return document.addEventListener("click",c),()=>document.removeEventListener("click",c)},[a,f,b,g]),(0,c.jsxs)($,{direction:t,modal:f,handleOnly:!0,open:a,onOpenChange:a=>{a||b()},children:[f?(0,c.jsx)(aa,{}):null,(0,c.jsxs)(ab,{ref:s,direction:t,showCloseButton:!1,className:(0,i.cn)(ak({size:j}),"bg-white/85 backdrop-blur-xl dark:bg-neutral-800/85",n),"data-testid":o,onInteractOutside:f?void 0:a=>a.preventDefault(),children:[(0,c.jsx)(ae,{asChild:!0,children:(0,c.jsx)("span",{className:"sr-only",children:h})}),(0,c.jsx)(af,{asChild:!0,children:(0,c.jsx)("span",{className:"sr-only",children:h})}),(0,c.jsxs)("button",{type:"button","aria-label":"Close",onClick:b,className:"ring-offset-background focus:ring-ring absolute end-3 top-2 z-50 rounded-sm p-1 opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden","data-testid":o?`${o}-close-button`:void 0,children:[(0,c.jsx)(e.XIcon,{className:"size-4"}),(0,c.jsx)("span",{className:"sr-only",children:"Close"})]}),k?(0,c.jsx)(ac,{className:"shrink-0",children:k}):null,k?(0,c.jsx)(ag.Separator,{}):null,r.envDeploy&&p?(0,c.jsx)(am,{deployTarget:p}):null,(0,c.jsx)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden",children:l}),m?(0,c.jsx)(ad,{className:"shrink-0",children:m}):null]})]})}function am({deployTarget:a}){let b=(0,ai.useDeployAction)(a),d="Booting"===b.status||"Ready"===b.status;return(0,c.jsxs)("div",{"data-testid":"base-drawer-deploy-bar",className:"flex items-center gap-2 px-4 pt-3 pb-3",children:[(0,c.jsx)(r.TooltipProvider,{children:(0,c.jsxs)(r.Tooltip,{children:[(0,c.jsx)(r.TooltipTrigger,{asChild:!0,children:(0,c.jsx)("span",{children:(0,c.jsx)(n,{label:d?"Stop Dev Server":"Start Dev Server",onClick:d?b.stop:b.deploy,loading:b.deployLoading||b.stopLoading,error:!!b.deployError,icon:d?g.Square:f.Play,iconOnly:!0,variant:"outline",size:"icon-sm"})})}),(0,c.jsx)(r.TooltipContent,{children:d?"Stop Dev Server":"Start Dev Server"})]})}),d?(0,c.jsx)(z,{status:b.status,url:b.url,targetId:a.targetId}):null]})}a.s(["BaseDrawer",()=>al],124255)}];
1
+ module.exports=[124255,705623,569029,985080,149235,302824,a=>{"use strict";let b;var c=a.i(556365),d=a.i(944592),e=a.i(610568),f=a.i(450490),g=a.i(5698),h=a.i(142261),i=a.i(385536),j=a.i(488064),k=a.i(782697),l=a.i(118948),m=a.i(219884);function n({label:a,onClick:b,loading:d,error:e,icon:f,iconOnly:g=!1,variant:h="outline",size:n="sm"}){let o=(0,m.useSoundAction)("click");return(0,c.jsxs)(l.Button,{variant:h,size:n,"aria-label":a,disabled:d,onClick:()=>{o.play(),b()},className:(0,i.cn)("gap-1.5",e&&"text-destructive hover:text-destructive",!e&&g&&"ghost"===h&&"text-muted-foreground cursor-pointer rounded-full transition-colors hover:text-blue-500"),children:[d?(0,c.jsx)(j.Loader2,{className:"size-4 animate-spin"}):e?(0,c.jsx)(k.CircleAlert,{className:"size-4"}):(0,c.jsx)(f,{className:"size-4"}),g?null:a]})}a.s(["ActionButton",()=>n],705623),a.s([],569029);var o=a.i(771238),p=a.i(863698),q=a.i(746847),r=a.i(182934),s=a.i(645670),t=a.i(289111);let u=(0,t.createServerReference)("4098be1c8748bcbc1da09eae549100494cddcfc417",t.callServer,void 0,t.findSourceMapURL,"getDeploymentLogs");function v({open:a,onOpenChange:b,targetId:e}){let{logs:f,isConnected:g}=function(a){let[b,c]=(0,d.useState)([]),[e,f]=(0,d.useState)(!1),g=(0,d.useRef)(null),h=(0,d.useCallback)(()=>{g.current&&(g.current.close(),g.current=null),f(!1)},[]);return(0,d.useEffect)(()=>{if(!a){c([]),f(!1);return}u(a).then(a=>{a&&c(a)}).catch(()=>{});let b=new EventSource(`/api/deployment-logs?targetId=${a}`);return g.current=b,b.onopen=()=>{f(!0)},b.addEventListener("log",a=>{let b=JSON.parse(a.data);c(a=>[...a,b])}),b.onerror=()=>{f(!1)},()=>{b.close(),g.current=null}},[a,h]),{logs:b,isConnected:e}}(a?e:null);return(0,c.jsx)(w,{open:a,onOpenChange:b,logs:f,isConnected:g})}function w({open:a,onOpenChange:b,logs:e,isConnected:f}){let g=(0,d.useRef)(null),h=(0,d.useRef)(!0),i=(0,d.useCallback)(()=>{let a=g.current;a&&(h.current=a.scrollTop+a.clientHeight>=a.scrollHeight-50)},[]);return(0,d.useEffect)(()=>{h.current&&g.current&&(g.current.scrollTop=g.current.scrollHeight)},[e]),(0,c.jsx)(s.Dialog,{open:a,onOpenChange:b,children:(0,c.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,c.jsxs)(s.DialogHeader,{className:"flex flex-row items-center justify-between border-b border-zinc-800 px-4 py-3",children:[(0,c.jsxs)("div",{className:"flex items-center gap-2",children:[(0,c.jsx)(p.Terminal,{className:"h-4 w-4 text-zinc-400"}),(0,c.jsx)(s.DialogTitle,{className:"text-sm font-medium text-zinc-100",children:"Server Logs"})]}),(0,c.jsxs)("div",{className:"flex items-center gap-2 pe-8",children:[(0,c.jsx)("span",{className:`inline-block h-2 w-2 rounded-full ${f?"bg-green-500":"bg-zinc-500"}`}),(0,c.jsx)("span",{className:"text-xs text-zinc-400",children:f?"Connected":"Disconnected"})]})]}),(0,c.jsxs)("div",{ref:g,onScroll:i,className:"flex-1 overflow-auto p-4 font-mono text-sm leading-relaxed",children:[0===e.length?(0,c.jsx)("p",{className:"text-zinc-500",children:"Waiting for log output..."}):e.map(a=>(0,c.jsx)(x,{entry:a},`${a.timestamp}-${a.stream}-${a.line}`)),!f&&e.length>0&&(0,c.jsx)("div",{className:"mt-2 border-t border-zinc-800 pt-2 text-zinc-500",children:"[Server stopped]"})]})]})})}function x({entry:a}){return(0,c.jsx)("div",{"data-stream":a.stream,className:"stderr"===a.stream?"text-red-400":"text-zinc-200",children:(0,c.jsx)("span",{className:"break-all whitespace-pre-wrap",children:a.line})})}let y="text-muted-foreground hover:bg-foreground/8 hover:text-foreground inline-flex size-7 items-center justify-center rounded-[3px]";function z({status:a,url:b,targetId:e}){let[f,g]=(0,d.useState)(!1),h=e&&(a===q.DeploymentState.Booting||a===q.DeploymentState.Ready);switch(a){case q.DeploymentState.Booting:return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsxs)("div",{className:"flex items-center gap-1 pl-1",children:[(0,c.jsx)(j.Loader2,{className:"size-3 animate-spin text-blue-500"}),(0,c.jsx)("span",{className:"text-muted-foreground text-[11px]",children:"Starting..."}),h?(0,c.jsx)(r.TooltipProvider,{delayDuration:300,children:(0,c.jsxs)(r.Tooltip,{children:[(0,c.jsx)(r.TooltipTrigger,{asChild:!0,children:(0,c.jsx)("button",{type:"button","aria-label":"View server logs",className:y,onClick:a=>{a.stopPropagation(),g(!0)},children:(0,c.jsx)(p.Terminal,{className:"size-3.5"})})}),(0,c.jsx)(r.TooltipContent,{side:"bottom",className:"text-xs",children:"Server logs"})]})}):null]}),h?(0,c.jsx)(v,{open:f,onOpenChange:g,targetId:e}):null]});case q.DeploymentState.Ready:return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsxs)("div",{className:"flex translate-y-px items-center gap-1 pl-1",children:[(0,c.jsx)("span",{className:"inline-block size-1.5 rounded-full bg-green-500"}),b?(0,c.jsxs)("a",{href:b,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-0.5 text-[11px] text-green-600 hover:text-green-500 dark:text-green-400 dark:hover:text-green-300",onClick:a=>a.stopPropagation(),children:[b,(0,c.jsx)(o.ExternalLink,{className:"size-2.5 shrink-0"})]}):(0,c.jsx)("span",{className:"text-[11px] text-green-600 dark:text-green-400",children:"Ready"}),h?(0,c.jsx)(r.TooltipProvider,{delayDuration:300,children:(0,c.jsxs)(r.Tooltip,{children:[(0,c.jsx)(r.TooltipTrigger,{asChild:!0,children:(0,c.jsx)("button",{type:"button","aria-label":"View server logs",className:y,onClick:a=>{a.stopPropagation(),g(!0)},children:(0,c.jsx)(p.Terminal,{className:"size-3.5"})})}),(0,c.jsx)(r.TooltipContent,{side:"bottom",className:"text-xs",children:"Server logs"})]})}):null]}),h?(0,c.jsx)(v,{open:f,onOpenChange:g,targetId:e}):null]});default:return null}}a.s(["DeploymentStatusBadge",()=>z],985080),a.s([],149235);var A=a.i(440093);let B=d.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}),C=()=>{let a=d.default.useContext(B);if(!a)throw Error("useDrawerContext must be used within a Drawer.Root");return a};function D(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function E(){return F(/^iPhone/)||F(/^iPad/)||F(/^Mac/)&&navigator.maxTouchPoints>1}function F(a){}!function(a){if(!a||"u"<typeof document)return;let b=document.head||document.getElementsByTagName("head")[0],c=document.createElement("style");c.type="text/css",b.appendChild(c),c.styleSheet?c.styleSheet.cssText=a:c.appendChild(document.createTextNode(a))}("[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 G=d.useEffect;"u">typeof document&&window.visualViewport;let H=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]),I=0;function J(...a){return d.useCallback(function(...a){return b=>a.forEach(a=>{"function"==typeof a?a(b):null!=a&&(a.current=b)})}(...a),a)}let K=new WeakMap;function L(a,b,c=!1){if(!a||!(a instanceof HTMLElement))return;let d={};Object.entries(b).forEach(([b,c])=>{b.startsWith("--")?a.style.setProperty(b,c):(d[b]=a.style[b],a.style[b]=c)}),c||K.set(a,d)}let M=a=>{switch(a){case"top":case"bottom":return!0;case"left":case"right":return!1;default:return a}};function N(a,b){if(!a)return null;let c=window.getComputedStyle(a),d=c.transform||c.webkitTransform||c.mozTransform,e=d.match(/^matrix3d\((.+)\)$/);return e?parseFloat(e[1].split(", ")[M(b)?13:12]):(e=d.match(/^matrix\((.+)\)$/))?parseFloat(e[1].split(", ")[M(b)?5:4]):null}function O(a,b){if(!a)return()=>{};let c=a.style.cssText;return Object.assign(a.style,b),()=>{a.style.cssText=c}}let P=[.32,.72,0,1],Q="vaul-dragging";function R(a){let b=d.default.useRef(a);return d.default.useEffect(()=>{b.current=a}),d.default.useMemo(()=>(...a)=>null==b.current?void 0:b.current.call(b,...a),[])}function S({prop:a,defaultProp:b,onChange:c=()=>{}}){let[e,f]=function({defaultProp:a,onChange:b}){let c=d.default.useState(a),[e]=c,f=d.default.useRef(e),g=R(b);return d.default.useEffect(()=>{f.current!==e&&(g(e),f.current=e)},[e,f,g]),c}({defaultProp:b,onChange:c}),g=void 0!==a,h=g?a:e,i=R(c);return[h,d.default.useCallback(b=>{if(g){let c="function"==typeof b?b(a):b;c!==a&&i(c)}else f(b)},[g,a,f,i])]}let T=()=>()=>{},U=null;function V({open:a,onOpenChange:c,children:e,onDrag:f,onRelease:g,snapPoints:h,shouldScaleBackground:i=!1,setBackgroundColorOnScale:j=!0,closeThreshold:k=.25,scrollLockTimeout:l=100,dismissible:m=!0,handleOnly:n=!1,fadeFromIndex:o=h&&h.length-1,activeSnapPoint:p,setActiveSnapPoint:q,fixed:r,modal:s=!0,onClose:t,nested:u,noBodyStyles:v=!1,direction:w="bottom",defaultOpen:x=!1,disablePreventScroll:y=!0,snapToSequentialPoint:z=!1,preventScrollRestoration:C=!1,repositionInputs:F=!0,onAnimationEnd:J,container:O,autoFocus:R=!1}){var T,V;let[W=!1,X]=S({defaultProp:x,prop:a,onChange:a=>{null==c||c(a),a||u||aA(),setTimeout(()=>{null==J||J(a)},500),a||(document.body.style.pointerEvents="auto")}}),[Y,Z]=d.default.useState(!1),[$,_]=d.default.useState(!1),[aa,ab]=d.default.useState(!1),ac=d.default.useRef(null),ad=d.default.useRef(null),ae=d.default.useRef(null),af=d.default.useRef(null),ag=d.default.useRef(null),ah=d.default.useRef(!1),ai=d.default.useRef(null),aj=d.default.useRef(0),ak=d.default.useRef(!1),al=d.default.useRef(!x),am=d.default.useRef(0),an=d.default.useRef(null),ao=d.default.useRef((null==(T=an.current)?void 0:T.getBoundingClientRect().height)||0),ap=d.default.useRef((null==(V=an.current)?void 0:V.getBoundingClientRect().width)||0),aq=d.default.useRef(0),ar=d.default.useCallback(a=>{h&&a===aw.length-1&&(ad.current=new Date)},[]),{activeSnapPoint:as,activeSnapPointIndex:at,setActiveSnapPoint:au,onRelease:av,snapPointsOffset:aw,onDrag:ax,shouldFade:ay,getPercentageDragged:az}=function({activeSnapPointProp:a,setActiveSnapPointProp:b,snapPoints:c,drawerRef:e,overlayRef:f,fadeFromIndex:g,onSnapPointChange:h,direction:i="bottom",container:j,snapToSequentialPoint:k}){let[l,m]=S({prop:a,defaultProp:null==c?void 0:c[0],onChange:b}),[n,o]=d.default.useState(void 0);d.default.useEffect(()=>{function a(){o({innerWidth:window.innerWidth,innerHeight:window.innerHeight})}return window.addEventListener("resize",a),()=>window.removeEventListener("resize",a)},[]);let p=d.default.useMemo(()=>l===(null==c?void 0:c[c.length-1])||null,[c,l]),q=d.default.useMemo(()=>{var a;return null!=(a=null==c?void 0:c.findIndex(a=>a===l))?a:null},[c,l]),r=c&&c.length>0&&(g||0===g)&&!Number.isNaN(g)&&c[g]===l||!c,s=d.default.useMemo(()=>{var a;let b=j?{width:j.getBoundingClientRect().width,height:j.getBoundingClientRect().height}:{width:0,height:0};return null!=(a=null==c?void 0:c.map(a=>{let c="string"==typeof a,d=0;if(c&&(d=parseInt(a,10)),M(i)){let e=c?d:n?a*b.height:0;return n?"bottom"===i?b.height-e:-b.height+e:e}let e=c?d:n?a*b.width:0;return n?"right"===i?b.width-e:-b.width+e:e}))?a:[]},[c,n,j]),t=d.default.useMemo(()=>null!==q?null==s?void 0:s[q]:null,[s,q]),u=d.default.useCallback(a=>{var b;let d=null!=(b=null==s?void 0:s.findIndex(b=>b===a))?b:null;h(d),L(e.current,{transition:`transform 0.5s cubic-bezier(${P.join(",")})`,transform:M(i)?`translate3d(0, ${a}px, 0)`:`translate3d(${a}px, 0, 0)`}),s&&d!==s.length-1&&void 0!==g&&d!==g&&d<g?L(f.current,{transition:`opacity 0.5s cubic-bezier(${P.join(",")})`,opacity:"0"}):L(f.current,{transition:`opacity 0.5s cubic-bezier(${P.join(",")})`,opacity:"1"}),m(null==c?void 0:c[Math.max(d,0)])},[e.current,c,s,g,f,m]);return d.default.useEffect(()=>{if(l||a){var b;let d=null!=(b=null==c?void 0:c.findIndex(b=>b===a||b===l))?b:-1;s&&-1!==d&&"number"==typeof s[d]&&u(s[d])}},[l,a,c,s,u]),{isLastSnapPoint:p,activeSnapPoint:l,shouldFade:r,getPercentageDragged:function(a,b){if(!c||"number"!=typeof q||!s||void 0===g)return null;let d=q===g-1;if(q>=g&&b)return 0;if(d&&!b)return 1;if(!r&&!d)return null;let e=d?q+1:q-1,f=a/Math.abs(d?s[e]-s[e-1]:s[e+1]-s[e]);return d?1-f:f},setActiveSnapPoint:m,activeSnapPointIndex:q,onRelease:function({draggedDistance:a,closeDrawer:b,velocity:d,dismissible:e}){if(void 0===g)return;let h="bottom"===i||"right"===i?(null!=t?t:0)-a:(null!=t?t:0)+a,j=q===g-1,l=0===q,m=a>0;if(j&&L(f.current,{transition:`opacity 0.5s cubic-bezier(${P.join(",")})`}),!k&&d>2&&!m)return void(e?b():u(s[0]));if(!k&&d>2&&m&&s&&c)return void u(s[c.length-1]);let n=null==s?void 0:s.reduce((a,b)=>"number"!=typeof a||"number"!=typeof b?a:Math.abs(b-h)<Math.abs(a-h)?b:a),o=M(i)?window.innerHeight:window.innerWidth;if(d>.4&&Math.abs(a)<.4*o){let a=m?1:-1;return a>0&&p&&c?void u(s[c.length-1]):void(l&&a<0&&e&&b(),null===q||u(s[q+a]))}u(n)},onDrag:function({draggedDistance:a}){if(null===t)return;let b="bottom"===i||"right"===i?t-a:t+a;("bottom"===i||"right"===i)&&b<s[s.length-1]||("top"===i||"left"===i)&&b>s[s.length-1]||L(e.current,{transform:M(i)?`translate3d(0, ${b}px, 0)`:`translate3d(${b}px, 0, 0)`})},snapPointsOffset:s}}({snapPoints:h,activeSnapPointProp:p,setActiveSnapPointProp:q,drawerRef:an,fadeFromIndex:o,overlayRef:ac,onSnapPointChange:ar,direction:w,container:O,snapToSequentialPoint:z});!function(a={}){let{isDisabled:c}=a;G(()=>{if(!c)return 1==++I&&E(),()=>{0==--I&&(null==b||b())}},[c])}({isDisabled:!W||$||!s||aa||!Y||!F||!y});let{restorePositionSetting:aA}=function({isOpen:a,modal:b,nested:c,hasBeenOpened:e,preventScrollRestoration:f,noBodyStyles:g}){let[h,i]=d.default.useState(()=>""),j=d.default.useRef(0),k=d.default.useCallback(()=>{if(D()&&null===U&&a&&!g){U={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left,height:document.body.style.height,right:"unset"};let{scrollX:a,innerHeight:b}=window;document.body.style.setProperty("position","fixed","important"),Object.assign(document.body.style,{top:`${-j.current}px`,left:`${-a}px`,right:"0px",height:"auto"}),window.setTimeout(()=>window.requestAnimationFrame(()=>{let a=b-window.innerHeight;a&&j.current>=b&&(document.body.style.top=`${-(j.current+a)}px`)}),300)}},[a]),l=d.default.useCallback(()=>{if(D()&&null!==U&&!g){let a=-parseInt(document.body.style.top,10),b=-parseInt(document.body.style.left,10);Object.assign(document.body.style,U),window.requestAnimationFrame(()=>{f&&h!==window.location.href?i(window.location.href):window.scrollTo(b,a)}),U=null}},[h]);return d.default.useEffect(()=>{function a(){j.current=window.scrollY}return a(),window.addEventListener("scroll",a),()=>{window.removeEventListener("scroll",a)}},[]),d.default.useEffect(()=>{if(b)return()=>{"u"<typeof document||document.querySelector("[data-vaul-drawer]")||l()}},[b,l]),d.default.useEffect(()=>{!c&&e&&(a?(window.matchMedia("(display-mode: standalone)").matches||k(),b||window.setTimeout(()=>{l()},500)):l())},[a,e,h,b,c,k,l]),{restorePositionSetting:l}}({isOpen:W,modal:s,nested:null!=u&&u,hasBeenOpened:Y,preventScrollRestoration:C,noBodyStyles:v});function aB(){return(window.innerWidth-26)/window.innerWidth}function aC(a,b){var c;let d=a,e=null==(c=window.getSelection())?void 0:c.toString(),f=an.current?N(an.current,w):null,g=new Date;if("SELECT"===d.tagName||d.hasAttribute("data-vaul-no-drag")||d.closest("[data-vaul-no-drag]"))return!1;if("right"===w||"left"===w)return!0;if(ad.current&&g.getTime()-ad.current.getTime()<500)return!1;if(null!==f&&("bottom"===w?f>0:f<0))return!0;if(e&&e.length>0)return!1;if(ag.current&&g.getTime()-ag.current.getTime()<l&&0===f||b)return ag.current=g,!1;for(;d;){if(d.scrollHeight>d.clientHeight){if(0!==d.scrollTop)return ag.current=new Date,!1;if("dialog"===d.getAttribute("role"))break}d=d.parentNode}return!0}function aD(a){$&&an.current&&(an.current.classList.remove(Q),ah.current=!1,_(!1),af.current=new Date),null==t||t(),a||X(!1),setTimeout(()=>{h&&au(h[0])},500)}function aE(){if(!an.current)return;let a=document.querySelector("[data-vaul-drawer-wrapper]"),b=N(an.current,w);L(an.current,{transform:"translate3d(0, 0, 0)",transition:`transform 0.5s cubic-bezier(${P.join(",")})`}),L(ac.current,{transition:`opacity 0.5s cubic-bezier(${P.join(",")})`,opacity:"1"}),i&&b&&b>0&&W&&L(a,{borderRadius:"8px",overflow:"hidden",...M(w)?{transform:`scale(${aB()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,transformOrigin:"top"}:{transform:`scale(${aB()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`,transformOrigin:"left"},transitionProperty:"transform, border-radius",transitionDuration:"0.5s",transitionTimingFunction:`cubic-bezier(${P.join(",")})`},!0)}return d.default.useEffect(()=>{window.requestAnimationFrame(()=>{al.current=!0})},[]),d.default.useEffect(()=>{var a;function b(){var a,b;if(an.current&&F&&((a=document.activeElement)instanceof HTMLInputElement&&!H.has(a.type)||a instanceof HTMLTextAreaElement||a instanceof HTMLElement&&a.isContentEditable||ak.current)){let a=(null==(b=window.visualViewport)?void 0:b.height)||0,c=window.innerHeight,d=c-a,e=an.current.getBoundingClientRect().height||0;aq.current||(aq.current=e);let f=an.current.getBoundingClientRect().top;if(Math.abs(am.current-d)>60&&(ak.current=!ak.current),h&&h.length>0&&aw&&at&&(d+=aw[at]||0),am.current=d,e>a||ak.current){let b=an.current.getBoundingClientRect().height,g=b;b>a&&(g=a-(e>.8*c?f:26)),r?an.current.style.height=`${b-Math.max(d,0)}px`:an.current.style.height=`${Math.max(g,a-f)}px`}else navigator.userAgent,an.current.style.height=`${aq.current}px`;h&&h.length>0&&!ak.current?an.current.style.bottom="0px":an.current.style.bottom=`${Math.max(d,0)}px`}}return null==(a=window.visualViewport)||a.addEventListener("resize",b),()=>{var a;return null==(a=window.visualViewport)?void 0:a.removeEventListener("resize",b)}},[at,h,aw]),d.default.useEffect(()=>(W&&(L(document.documentElement,{scrollBehavior:"auto"}),ad.current=new Date),()=>{!function(a,b){if(!a||!(a instanceof HTMLElement))return;let c=K.get(a);c&&(a.style[b]=c[b])}(document.documentElement,"scrollBehavior")}),[W]),d.default.useEffect(()=>{s||window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"})},[s]),d.default.createElement(A.Root,{defaultOpen:x,onOpenChange:a=>{(m||a)&&(a?Z(!0):aD(!0),X(a))},open:W},d.default.createElement(B.Provider,{value:{activeSnapPoint:as,snapPoints:h,setActiveSnapPoint:au,drawerRef:an,overlayRef:ac,onOpenChange:c,onPress:function(a){var b,c;!m&&!h||(!an.current||an.current.contains(a.target))&&(ao.current=(null==(b=an.current)?void 0:b.getBoundingClientRect().height)||0,ap.current=(null==(c=an.current)?void 0:c.getBoundingClientRect().width)||0,_(!0),ae.current=new Date,E(),a.target.setPointerCapture(a.pointerId),aj.current=M(w)?a.pageY:a.pageX)},onRelease:function(a){var b,c;if(!$||!an.current)return;an.current.classList.remove(Q),ah.current=!1,_(!1),af.current=new Date;let d=N(an.current,w);if(!a||!aC(a.target,!1)||!d||Number.isNaN(d)||null===ae.current)return;let e=af.current.getTime()-ae.current.getTime(),f=aj.current-(M(w)?a.pageY:a.pageX),i=Math.abs(f)/e;if(i>.05&&(ab(!0),setTimeout(()=>{ab(!1)},200)),h){av({draggedDistance:f*("bottom"===w||"right"===w?1:-1),closeDrawer:aD,velocity:i,dismissible:m}),null==g||g(a,!0);return}if("bottom"===w||"right"===w?f>0:f<0){aE(),null==g||g(a,!0);return}if(i>.4){aD(),null==g||g(a,!1);return}let j=Math.min(null!=(b=an.current.getBoundingClientRect().height)?b:0,window.innerHeight),l=Math.min(null!=(c=an.current.getBoundingClientRect().width)?c:0,window.innerWidth);if(Math.abs(d)>=("left"===w||"right"===w?l:j)*k){aD(),null==g||g(a,!1);return}null==g||g(a,!0),aE()},onDrag:function(a){if(an.current&&$){let b="bottom"===w||"right"===w?1:-1,c=(aj.current-(M(w)?a.pageY:a.pageX))*b,d=c>0,e=h&&!m&&!d;if(e&&0===at)return;let g=Math.abs(c),j=document.querySelector("[data-vaul-drawer-wrapper]"),k=g/("bottom"===w||"top"===w?ao.current:ap.current),l=az(g,d);if(null!==l&&(k=l),e&&k>=1||!ah.current&&!aC(a.target,d))return;if(an.current.classList.add(Q),ah.current=!0,L(an.current,{transition:"none"}),L(ac.current,{transition:"none"}),h&&ax({draggedDistance:c}),d&&!h){let a=Math.min(-(8*(Math.log(c+1)-2)*1),0)*b;L(an.current,{transform:M(w)?`translate3d(0, ${a}px, 0)`:`translate3d(${a}px, 0, 0)`});return}let n=1-k;if((ay||o&&at===o-1)&&(null==f||f(a,k),L(ac.current,{opacity:`${n}`,transition:"none"},!0)),j&&ac.current&&i){let a=Math.min(aB()+k*(1-aB()),1),b=8-8*k,c=Math.max(0,14-14*k);L(j,{borderRadius:`${b}px`,transform:M(w)?`scale(${a}) translate3d(0, ${c}px, 0)`:`scale(${a}) translate3d(${c}px, 0, 0)`,transition:"none"},!0)}if(!h){let a=g*b;L(an.current,{transform:M(w)?`translate3d(0, ${a}px, 0)`:`translate3d(${a}px, 0, 0)`})}}},dismissible:m,shouldAnimate:al,handleOnly:n,isOpen:W,isDragging:$,shouldFade:ay,closeDrawer:aD,onNestedDrag:function(a,b){if(b<0)return;let c=(window.innerWidth-16)/window.innerWidth,d=c+b*(1-c),e=-16+16*b;L(an.current,{transform:M(w)?`scale(${d}) translate3d(0, ${e}px, 0)`:`scale(${d}) translate3d(${e}px, 0, 0)`,transition:"none"})},onNestedOpenChange:function(a){let b=a?(window.innerWidth-16)/window.innerWidth:1,c=a?-16:0;ai.current&&window.clearTimeout(ai.current),L(an.current,{transition:`transform 0.5s cubic-bezier(${P.join(",")})`,transform:M(w)?`scale(${b}) translate3d(0, ${c}px, 0)`:`scale(${b}) translate3d(${c}px, 0, 0)`}),!a&&an.current&&(ai.current=setTimeout(()=>{let a=N(an.current,w);L(an.current,{transition:"none",transform:M(w)?`translate3d(0, ${a}px, 0)`:`translate3d(${a}px, 0, 0)`})},500))},onNestedRelease:function(a,b){let c=M(w)?window.innerHeight:window.innerWidth,d=b?(c-16)/c:1,e=b?-16:0;b&&L(an.current,{transition:`transform 0.5s cubic-bezier(${P.join(",")})`,transform:M(w)?`scale(${d}) translate3d(0, ${e}px, 0)`:`scale(${d}) translate3d(${e}px, 0, 0)`})},keyboardIsOpen:ak,modal:s,snapPointsOffset:aw,activeSnapPointIndex:at,direction:w,shouldScaleBackground:i,setBackgroundColorOnScale:j,noBodyStyles:v,container:O,autoFocus:R}},e))}let W=d.default.forwardRef(function({...a},b){let{overlayRef:c,snapPoints:e,onRelease:f,shouldFade:g,isOpen:h,modal:i,shouldAnimate:j}=C(),k=J(b,c),l=e&&e.length>0;if(!i)return null;let m=d.default.useCallback(a=>f(a),[f]);return d.default.createElement(A.Overlay,{onMouseUp:m,ref:k,"data-vaul-overlay":"","data-vaul-snap-points":h&&l?"true":"false","data-vaul-snap-points-overlay":h&&g?"true":"false","data-vaul-animate":(null==j?void 0:j.current)?"true":"false",...a})});W.displayName="Drawer.Overlay";let X=d.default.forwardRef(function({onPointerDownOutside:a,style:b,onOpenAutoFocus:c,...e},f){let{drawerRef:g,onPress:h,onRelease:i,onDrag:j,keyboardIsOpen:k,snapPointsOffset:l,activeSnapPointIndex:m,modal:n,isOpen:o,direction:p,snapPoints:q,container:r,handleOnly:s,shouldAnimate:t,autoFocus:u}=C(),[v,w]=d.default.useState(!1),x=J(f,g),y=d.default.useRef(null),z=d.default.useRef(null),B=d.default.useRef(!1),D=q&&q.length>0;function E(a){y.current=null,B.current=!1,i(a)}return!function(){let{direction:a,isOpen:b,shouldScaleBackground:c,setBackgroundColorOnScale:e,noBodyStyles:f}=C(),g=d.default.useRef(null),h=(0,d.useMemo)(()=>document.body.style.backgroundColor,[]);function i(){return(window.innerWidth-26)/window.innerWidth}d.default.useEffect(()=>{if(b&&c){g.current&&clearTimeout(g.current);let b=document.querySelector("[data-vaul-drawer-wrapper]")||document.querySelector("[vaul-drawer-wrapper]");if(!b)return;!function(...a){}(e&&!f?O(document.body,{background:"black"}):T,O(b,{transformOrigin:M(a)?"top":"left",transitionProperty:"transform, border-radius",transitionDuration:"0.5s",transitionTimingFunction:`cubic-bezier(${P.join(",")})`}));let c=O(b,{borderRadius:"8px",overflow:"hidden",...M(a)?{transform:`scale(${i()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`}:{transform:`scale(${i()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`}});return()=>{c(),g.current=window.setTimeout(()=>{h?document.body.style.background=h:document.body.style.removeProperty("background")},500)}}},[b,c,h])}(),d.default.useEffect(()=>{D&&window.requestAnimationFrame(()=>{w(!0)})},[]),d.default.createElement(A.Content,{"data-vaul-drawer-direction":p,"data-vaul-drawer":"","data-vaul-delayed-snap-points":v?"true":"false","data-vaul-snap-points":o&&D?"true":"false","data-vaul-custom-container":r?"true":"false","data-vaul-animate":(null==t?void 0:t.current)?"true":"false",...e,ref:x,style:l&&l.length>0?{"--snap-point-height":`${l[null!=m?m:0]}px`,...b}:b,onPointerDown:a=>{s||(null==e.onPointerDown||e.onPointerDown.call(e,a),y.current={x:a.pageX,y:a.pageY},h(a))},onOpenAutoFocus:a=>{null==c||c(a),u||a.preventDefault()},onPointerDownOutside:b=>{(null==a||a(b),!n||b.defaultPrevented)?b.preventDefault():k.current&&(k.current=!1)},onFocusOutside:a=>{if(!n)return void a.preventDefault()},onPointerMove:a=>{if(z.current=a,s||(null==e.onPointerMove||e.onPointerMove.call(e,a),!y.current))return;let b=a.pageY-y.current.y,c=a.pageX-y.current.x,d="touch"===a.pointerType?10:2;((a,b,c=0)=>{if(B.current)return!0;let d=Math.abs(a.y),e=Math.abs(a.x),f=e>d,g=["bottom","right"].includes(b)?1:-1;if("left"===b||"right"===b){if(!(a.x*g<0)&&e>=0&&e<=c)return f}else if(!(a.y*g<0)&&d>=0&&d<=c)return!f;return B.current=!0,!0})({x:c,y:b},p,d)?j(a):(Math.abs(c)>d||Math.abs(b)>d)&&(y.current=null)},onPointerUp:a=>{null==e.onPointerUp||e.onPointerUp.call(e,a),y.current=null,B.current=!1,i(a)},onPointerOut:a=>{null==e.onPointerOut||e.onPointerOut.call(e,a),E(z.current)},onContextMenu:a=>{null==e.onContextMenu||e.onContextMenu.call(e,a),z.current&&E(z.current)}})});X.displayName="Drawer.Content";let Y=d.default.forwardRef(function({preventCycle:a=!1,children:b,...c},e){let{closeDrawer:f,isDragging:g,snapPoints:h,activeSnapPoint:i,setActiveSnapPoint:j,dismissible:k,handleOnly:l,isOpen:m,onPress:n,onDrag:o}=C(),p=d.default.useRef(null),q=d.default.useRef(!1);function r(){p.current&&window.clearTimeout(p.current),q.current=!1}return d.default.createElement("div",{onClick:function(){q.current?r():window.setTimeout(()=>{!function(){if(g||a||q.current)return r();if(r(),!h||0===h.length){k||f();return}if(i===h[h.length-1]&&k)return f();let b=h.findIndex(a=>a===i);-1===b||j(h[b+1])}()},120)},onPointerCancel:r,onPointerDown:a=>{l&&n(a),p.current=window.setTimeout(()=>{q.current=!0},250)},onPointerMove:a=>{l&&o(a)},ref:e,"data-vaul-drawer-visible":m?"true":"false","data-vaul-handle":"","aria-hidden":"true",...c},d.default.createElement("span",{"data-vaul-handle-hitarea":"","aria-hidden":"true"},b))});Y.displayName="Drawer.Handle";let Z={Root:V,NestedRoot:function({onDrag:a,onOpenChange:b,open:c,...e}){let{onNestedDrag:f,onNestedOpenChange:g,onNestedRelease:h}=C();if(!f)throw Error("Drawer.NestedRoot must be placed in another drawer");return d.default.createElement(V,{nested:!0,open:c,onClose:()=>{g(!1)},onDrag:(b,c)=>{f(b,c),null==a||a(b,c)},onOpenChange:a=>{a&&g(a),null==b||b(a)},onRelease:h,...e})},Content:X,Overlay:W,Trigger:A.Trigger,Portal:function(a){let b=C(),{container:c=b.container,...e}=a;return d.default.createElement(A.Portal,{container:c,...e})},Handle:Y,Close:A.Close,Title:A.Title,Description:A.Description};function $({...a}){return(0,c.jsx)(Z.Root,{"data-slot":"drawer",...a})}function _({...a}){return(0,c.jsx)(Z.Portal,{"data-slot":"drawer-portal",...a})}function aa({className:a,...b}){return(0,c.jsx)(Z.Overlay,{"data-slot":"drawer-overlay",className:(0,i.cn)("fixed inset-0 z-50 bg-black/50",a),...b})}function ab({className:a,children:b,direction:d="bottom",showCloseButton:f=!0,...g}){return(0,c.jsx)(_,{children:(0,c.jsxs)(Z.Content,{"data-slot":"drawer-content",className:(0,i.cn)("bg-background fixed z-50 flex flex-col shadow-lg","bottom"===d&&"inset-x-0 bottom-0 mb-24 rounded-t-lg border-t","top"===d&&"inset-x-0 top-0 mt-24 rounded-b-lg border-b","right"===d&&"inset-y-0 right-0 h-full w-3/4 border-l","left"===d&&"inset-y-0 left-0 h-full w-3/4 border-r",a),style:{"--initial-transform":"calc(100% + 8px)",userSelect:"text",...g.style??{}},...g,children:[b,f?(0,c.jsxs)(Z.Close,{className:"ring-offset-background focus:ring-ring absolute end-4 top-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none",children:[(0,c.jsx)(e.XIcon,{className:"size-4"}),(0,c.jsx)("span",{className:"sr-only",children:"Close"})]}):null]})})}function ac({className:a,...b}){return(0,c.jsx)("div",{"data-slot":"drawer-header",className:(0,i.cn)("flex flex-col gap-1.5 p-4",a),...b})}function ad({className:a,...b}){return(0,c.jsx)("div",{"data-slot":"drawer-footer",className:(0,i.cn)("mt-auto flex flex-col gap-2 p-4",a),...b})}function ae({className:a,...b}){return(0,c.jsx)(Z.Title,{"data-slot":"drawer-title",className:(0,i.cn)("text-foreground font-semibold",a),...b})}function af({className:a,...b}){return(0,c.jsx)(Z.Description,{"data-slot":"drawer-description",className:(0,i.cn)("text-muted-foreground text-sm",a),...b})}a.s(["Drawer",()=>$,"DrawerContent",()=>ab,"DrawerDescription",()=>af,"DrawerFooter",()=>ad,"DrawerHeader",()=>ac,"DrawerOverlay",()=>aa,"DrawerTitle",()=>ae],302824);var ag=a.i(513126);a.i(490370);var ah=a.i(224640),ai=a.i(118662),aj=a.i(821333);let ak=(0,h.cva)("",{variants:{size:{sm:"w-96",md:"w-2xl",lg:"w-[772px]"}},defaultVariants:{size:"sm"}});function al({open:a,onClose:b,modal:f=!1,dismissOnOutsideClick:g=!1,title:h="Drawer",size:j,header:k,children:l,footer:m,className:n,"data-testid":o,deployTarget:p}){let{i18n:q}=(0,ah.useTranslation)(),r=(0,aj.useFeatureFlags)(),s=(0,d.useRef)(null),t="rtl"===q.dir()?"left":"right";return(0,d.useEffect)(()=>{if(!a||f)return;let c=a=>{let c=a.target;!document.body.contains(c)||s.current?.contains(c)||c.closest(g?'[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]')||b()};return document.addEventListener("click",c),()=>document.removeEventListener("click",c)},[a,f,b,g]),(0,c.jsxs)($,{direction:t,modal:f,handleOnly:!0,open:a,onOpenChange:a=>{a||b()},children:[f?(0,c.jsx)(aa,{}):null,(0,c.jsxs)(ab,{ref:s,direction:t,showCloseButton:!1,className:(0,i.cn)(ak({size:j}),"bg-white/85 backdrop-blur-xl dark:bg-neutral-800/85",n),"data-testid":o,onInteractOutside:f?void 0:a=>a.preventDefault(),children:[(0,c.jsx)(ae,{asChild:!0,children:(0,c.jsx)("span",{className:"sr-only",children:h})}),(0,c.jsx)(af,{asChild:!0,children:(0,c.jsx)("span",{className:"sr-only",children:h})}),(0,c.jsxs)("button",{type:"button","aria-label":"Close",onClick:b,className:"ring-offset-background focus:ring-ring absolute end-3 top-2 z-50 rounded-sm p-1 opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden","data-testid":o?`${o}-close-button`:void 0,children:[(0,c.jsx)(e.XIcon,{className:"size-4"}),(0,c.jsx)("span",{className:"sr-only",children:"Close"})]}),k?(0,c.jsx)(ac,{className:"shrink-0",children:k}):null,k?(0,c.jsx)(ag.Separator,{}):null,r.envDeploy&&p?(0,c.jsx)(am,{deployTarget:p}):null,(0,c.jsx)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden",children:l}),m?(0,c.jsx)(ad,{className:"shrink-0",children:m}):null]})]})}function am({deployTarget:a}){let b=(0,ai.useDeployAction)(a),d="Booting"===b.status||"Ready"===b.status;return(0,c.jsxs)("div",{"data-testid":"base-drawer-deploy-bar",className:"flex items-center gap-2 px-4 pt-3 pb-3",children:[(0,c.jsx)(r.TooltipProvider,{children:(0,c.jsxs)(r.Tooltip,{children:[(0,c.jsx)(r.TooltipTrigger,{asChild:!0,children:(0,c.jsx)("span",{children:(0,c.jsx)(n,{label:d?"Stop Dev Server":"Start Dev Server",onClick:d?b.stop:b.deploy,loading:b.deployLoading||b.stopLoading,error:!!b.deployError,icon:d?g.Square:f.Play,iconOnly:!0,variant:"outline",size:"icon-sm"})})}),(0,c.jsx)(r.TooltipContent,{children:d?"Stop Dev Server":"Start Dev Server"})]})}),d?(0,c.jsx)(z,{status:b.status,url:b.url,targetId:a.targetId}):null]})}a.s(["BaseDrawer",()=>al],124255)}];
2
2
 
3
3
  //# sourceMappingURL=src_presentation_web_components_common_base-drawer_base-drawer_tsx_97dfbbc8._.js.map