@hexclave/next 1.0.40 → 1.0.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1114) hide show
  1. package/dist/account-settings-cTsj8rpJ.d.ts +56 -0
  2. package/dist/account-settings-cTsj8rpJ.d.ts.map +1 -0
  3. package/dist/admin-app-impl-B4i11dbJ.d.ts +1282 -0
  4. package/dist/admin-app-impl-B4i11dbJ.d.ts.map +1 -0
  5. package/dist/auth-page-YnM_LtbN.d.ts +24 -0
  6. package/dist/auth-page-YnM_LtbN.d.ts.map +1 -0
  7. package/dist/cli-auth-confirm-BW3PYpKb.d.ts +19 -0
  8. package/dist/cli-auth-confirm-BW3PYpKb.d.ts.map +1 -0
  9. package/dist/clickmap/clickmap-core.d.ts +1 -2
  10. package/dist/clickmap/clickmap-core.d.ts.map +1 -1
  11. package/dist/clickmap/clickmap-core.js +2 -4
  12. package/dist/clickmap/clickmap-core.js.map +1 -1
  13. package/dist/clickmap/clickmap-styles.js +3 -6
  14. package/dist/clickmap/clickmap-styles.js.map +1 -1
  15. package/dist/clickmap/index.d.ts +1 -2
  16. package/dist/clickmap/index.d.ts.map +1 -1
  17. package/dist/clickmap/index.js +2 -4
  18. package/dist/clickmap/index.js.map +1 -1
  19. package/dist/client-app-Bi8p4lxS.d.ts +1359 -0
  20. package/dist/client-app-Bi8p4lxS.d.ts.map +1 -0
  21. package/dist/common-B2gkWlXX.d.ts +183 -0
  22. package/dist/common-B2gkWlXX.d.ts.map +1 -0
  23. package/dist/common-BK_sydxF.d.ts +66 -0
  24. package/dist/common-BK_sydxF.d.ts.map +1 -0
  25. package/dist/components/api-key-dialogs.d.ts +3 -4
  26. package/dist/components/api-key-dialogs.d.ts.map +1 -1
  27. package/dist/components/api-key-dialogs.js +3 -6
  28. package/dist/components/api-key-dialogs.js.map +1 -1
  29. package/dist/components/api-key-table.d.ts +2 -3
  30. package/dist/components/api-key-table.d.ts.map +1 -1
  31. package/dist/components/api-key-table.js +3 -6
  32. package/dist/components/api-key-table.js.map +1 -1
  33. package/dist/components/credential-sign-in.d.ts +2 -7
  34. package/dist/components/credential-sign-in.js +3 -6
  35. package/dist/components/credential-sign-in.js.map +1 -1
  36. package/dist/components/credential-sign-up.d.ts +2 -9
  37. package/dist/components/credential-sign-up.js +6 -8
  38. package/dist/components/credential-sign-up.js.map +1 -1
  39. package/dist/components/elements/form-warning.d.ts +1 -3
  40. package/dist/components/elements/form-warning.d.ts.map +1 -1
  41. package/dist/components/elements/form-warning.js +3 -6
  42. package/dist/components/elements/form-warning.js.map +1 -1
  43. package/dist/components/elements/maybe-full-page.d.ts +1 -2
  44. package/dist/components/elements/maybe-full-page.d.ts.map +1 -1
  45. package/dist/components/elements/maybe-full-page.js +4 -6
  46. package/dist/components/elements/maybe-full-page.js.map +1 -1
  47. package/dist/components/elements/separator-with-text.d.ts +1 -3
  48. package/dist/components/elements/separator-with-text.d.ts.map +1 -1
  49. package/dist/components/elements/separator-with-text.js +3 -6
  50. package/dist/components/elements/separator-with-text.js.map +1 -1
  51. package/dist/components/elements/sidebar-layout.d.ts +1 -2
  52. package/dist/components/elements/sidebar-layout.d.ts.map +1 -1
  53. package/dist/components/elements/sidebar-layout.js +5 -7
  54. package/dist/components/elements/sidebar-layout.js.map +1 -1
  55. package/dist/components/elements/ssr-layout-effect.d.ts +1 -3
  56. package/dist/components/elements/ssr-layout-effect.d.ts.map +1 -1
  57. package/dist/components/elements/ssr-layout-effect.js +2 -5
  58. package/dist/components/elements/ssr-layout-effect.js.map +1 -1
  59. package/dist/components/elements/user-avatar.d.ts +2 -15
  60. package/dist/components/elements/user-avatar.js +2 -4
  61. package/dist/components/elements/user-avatar.js.map +1 -1
  62. package/dist/components/link.d.ts +2 -4
  63. package/dist/components/link.d.ts.map +1 -1
  64. package/dist/components/link.js +5 -7
  65. package/dist/components/link.js.map +1 -1
  66. package/dist/components/magic-link-sign-in.d.ts +2 -7
  67. package/dist/components/magic-link-sign-in.js +3 -6
  68. package/dist/components/magic-link-sign-in.js.map +1 -1
  69. package/dist/components/message-cards/known-error-message-card.d.ts +1 -2
  70. package/dist/components/message-cards/known-error-message-card.d.ts.map +1 -1
  71. package/dist/components/message-cards/known-error-message-card.js +2 -5
  72. package/dist/components/message-cards/known-error-message-card.js.map +1 -1
  73. package/dist/components/message-cards/message-card.d.ts +2 -19
  74. package/dist/components/message-cards/message-card.js +5 -7
  75. package/dist/components/message-cards/message-card.js.map +1 -1
  76. package/dist/components/message-cards/predefined-message-card.d.ts +1 -3
  77. package/dist/components/message-cards/predefined-message-card.d.ts.map +1 -1
  78. package/dist/components/message-cards/predefined-message-card.js +2 -5
  79. package/dist/components/message-cards/predefined-message-card.js.map +1 -1
  80. package/dist/components/oauth-button-group.d.ts +2 -19
  81. package/dist/components/oauth-button-group.js +3 -6
  82. package/dist/components/oauth-button-group.js.map +1 -1
  83. package/dist/components/oauth-button.d.ts +2 -17
  84. package/dist/components/oauth-button.js +5 -7
  85. package/dist/components/oauth-button.js.map +1 -1
  86. package/dist/components/passkey-button.d.ts +1 -3
  87. package/dist/components/passkey-button.d.ts.map +1 -1
  88. package/dist/components/passkey-button.js +3 -6
  89. package/dist/components/passkey-button.js.map +1 -1
  90. package/dist/components/profile-image-editor.d.ts +2 -3
  91. package/dist/components/profile-image-editor.d.ts.map +1 -1
  92. package/dist/components/profile-image-editor.js +5 -6
  93. package/dist/components/profile-image-editor.js.map +1 -1
  94. package/dist/components/selected-team-switcher.d.ts +2 -31
  95. package/dist/components/selected-team-switcher.js +3 -6
  96. package/dist/components/selected-team-switcher.js.map +1 -1
  97. package/dist/components/team-icon.d.ts +2 -4
  98. package/dist/components/team-icon.d.ts.map +1 -1
  99. package/dist/components/team-icon.js +2 -4
  100. package/dist/components/team-icon.js.map +1 -1
  101. package/dist/components/team-switcher.d.ts +2 -31
  102. package/dist/components/team-switcher.js +3 -6
  103. package/dist/components/team-switcher.js.map +1 -1
  104. package/dist/components/use-in-iframe.d.ts.map +1 -1
  105. package/dist/components/use-in-iframe.js +3 -6
  106. package/dist/components/use-in-iframe.js.map +1 -1
  107. package/dist/components/user-button.d.ts +2 -22
  108. package/dist/components/user-button.js +5 -7
  109. package/dist/components/user-button.js.map +1 -1
  110. package/dist/components-page/account-settings/active-sessions/active-sessions-page.d.ts +1 -3
  111. package/dist/components-page/account-settings/active-sessions/active-sessions-page.d.ts.map +1 -1
  112. package/dist/components-page/account-settings/active-sessions/active-sessions-page.js +2 -4
  113. package/dist/components-page/account-settings/active-sessions/active-sessions-page.js.map +1 -1
  114. package/dist/components-page/account-settings/api-keys/api-keys-page.d.ts +1 -3
  115. package/dist/components-page/account-settings/api-keys/api-keys-page.d.ts.map +1 -1
  116. package/dist/components-page/account-settings/api-keys/api-keys-page.js +2 -4
  117. package/dist/components-page/account-settings/api-keys/api-keys-page.js.map +1 -1
  118. package/dist/components-page/account-settings/editable-text.d.ts +1 -3
  119. package/dist/components-page/account-settings/editable-text.d.ts.map +1 -1
  120. package/dist/components-page/account-settings/editable-text.js +2 -4
  121. package/dist/components-page/account-settings/editable-text.js.map +1 -1
  122. package/dist/components-page/account-settings/email-and-auth/email-and-auth-page.d.ts +1 -3
  123. package/dist/components-page/account-settings/email-and-auth/email-and-auth-page.d.ts.map +1 -1
  124. package/dist/components-page/account-settings/email-and-auth/email-and-auth-page.js +2 -4
  125. package/dist/components-page/account-settings/email-and-auth/email-and-auth-page.js.map +1 -1
  126. package/dist/components-page/account-settings/email-and-auth/emails-section.d.ts +1 -3
  127. package/dist/components-page/account-settings/email-and-auth/emails-section.d.ts.map +1 -1
  128. package/dist/components-page/account-settings/email-and-auth/emails-section.js +2 -4
  129. package/dist/components-page/account-settings/email-and-auth/emails-section.js.map +1 -1
  130. package/dist/components-page/account-settings/email-and-auth/mfa-section.d.ts +1 -3
  131. package/dist/components-page/account-settings/email-and-auth/mfa-section.d.ts.map +1 -1
  132. package/dist/components-page/account-settings/email-and-auth/mfa-section.js +5 -6
  133. package/dist/components-page/account-settings/email-and-auth/mfa-section.js.map +1 -1
  134. package/dist/components-page/account-settings/email-and-auth/otp-section.d.ts +1 -3
  135. package/dist/components-page/account-settings/email-and-auth/otp-section.d.ts.map +1 -1
  136. package/dist/components-page/account-settings/email-and-auth/otp-section.js +2 -4
  137. package/dist/components-page/account-settings/email-and-auth/otp-section.js.map +1 -1
  138. package/dist/components-page/account-settings/email-and-auth/passkey-section.d.ts +1 -3
  139. package/dist/components-page/account-settings/email-and-auth/passkey-section.d.ts.map +1 -1
  140. package/dist/components-page/account-settings/email-and-auth/passkey-section.js +2 -4
  141. package/dist/components-page/account-settings/email-and-auth/passkey-section.js.map +1 -1
  142. package/dist/components-page/account-settings/email-and-auth/password-section.d.ts +1 -3
  143. package/dist/components-page/account-settings/email-and-auth/password-section.d.ts.map +1 -1
  144. package/dist/components-page/account-settings/email-and-auth/password-section.js +4 -5
  145. package/dist/components-page/account-settings/email-and-auth/password-section.js.map +1 -1
  146. package/dist/components-page/account-settings/notifications/notifications-page.d.ts +1 -3
  147. package/dist/components-page/account-settings/notifications/notifications-page.d.ts.map +1 -1
  148. package/dist/components-page/account-settings/notifications/notifications-page.js +2 -4
  149. package/dist/components-page/account-settings/notifications/notifications-page.js.map +1 -1
  150. package/dist/components-page/account-settings/page-layout.d.ts +1 -3
  151. package/dist/components-page/account-settings/page-layout.d.ts.map +1 -1
  152. package/dist/components-page/account-settings/page-layout.js +2 -4
  153. package/dist/components-page/account-settings/page-layout.js.map +1 -1
  154. package/dist/components-page/account-settings/payments/payments-page.d.ts +2 -4
  155. package/dist/components-page/account-settings/payments/payments-page.d.ts.map +1 -1
  156. package/dist/components-page/account-settings/payments/payments-page.js +3 -6
  157. package/dist/components-page/account-settings/payments/payments-page.js.map +1 -1
  158. package/dist/components-page/account-settings/payments/payments-panel.d.ts +2 -3
  159. package/dist/components-page/account-settings/payments/payments-panel.d.ts.map +1 -1
  160. package/dist/components-page/account-settings/payments/payments-panel.js +3 -6
  161. package/dist/components-page/account-settings/payments/payments-panel.js.map +1 -1
  162. package/dist/components-page/account-settings/profile-page/profile-page.d.ts +1 -3
  163. package/dist/components-page/account-settings/profile-page/profile-page.d.ts.map +1 -1
  164. package/dist/components-page/account-settings/profile-page/profile-page.js +2 -4
  165. package/dist/components-page/account-settings/profile-page/profile-page.js.map +1 -1
  166. package/dist/components-page/account-settings/section.d.ts +1 -3
  167. package/dist/components-page/account-settings/section.d.ts.map +1 -1
  168. package/dist/components-page/account-settings/section.js +2 -4
  169. package/dist/components-page/account-settings/section.js.map +1 -1
  170. package/dist/components-page/account-settings/settings/delete-account-section.d.ts +1 -3
  171. package/dist/components-page/account-settings/settings/delete-account-section.d.ts.map +1 -1
  172. package/dist/components-page/account-settings/settings/delete-account-section.js +2 -4
  173. package/dist/components-page/account-settings/settings/delete-account-section.js.map +1 -1
  174. package/dist/components-page/account-settings/settings/settings-page.d.ts +1 -3
  175. package/dist/components-page/account-settings/settings/settings-page.d.ts.map +1 -1
  176. package/dist/components-page/account-settings/settings/settings-page.js +2 -4
  177. package/dist/components-page/account-settings/settings/settings-page.js.map +1 -1
  178. package/dist/components-page/account-settings/settings/sign-out-section.d.ts +1 -3
  179. package/dist/components-page/account-settings/settings/sign-out-section.d.ts.map +1 -1
  180. package/dist/components-page/account-settings/settings/sign-out-section.js +2 -4
  181. package/dist/components-page/account-settings/settings/sign-out-section.js.map +1 -1
  182. package/dist/components-page/account-settings/teams/leave-team-section.d.ts +2 -4
  183. package/dist/components-page/account-settings/teams/leave-team-section.d.ts.map +1 -1
  184. package/dist/components-page/account-settings/teams/leave-team-section.js +2 -4
  185. package/dist/components-page/account-settings/teams/leave-team-section.js.map +1 -1
  186. package/dist/components-page/account-settings/teams/team-api-keys-section.d.ts +2 -3
  187. package/dist/components-page/account-settings/teams/team-api-keys-section.d.ts.map +1 -1
  188. package/dist/components-page/account-settings/teams/team-api-keys-section.js +2 -4
  189. package/dist/components-page/account-settings/teams/team-api-keys-section.js.map +1 -1
  190. package/dist/components-page/account-settings/teams/team-creation-page.d.ts +1 -3
  191. package/dist/components-page/account-settings/teams/team-creation-page.d.ts.map +1 -1
  192. package/dist/components-page/account-settings/teams/team-creation-page.js +2 -4
  193. package/dist/components-page/account-settings/teams/team-creation-page.js.map +1 -1
  194. package/dist/components-page/account-settings/teams/team-display-name-section.d.ts +2 -4
  195. package/dist/components-page/account-settings/teams/team-display-name-section.d.ts.map +1 -1
  196. package/dist/components-page/account-settings/teams/team-display-name-section.js +2 -4
  197. package/dist/components-page/account-settings/teams/team-display-name-section.js.map +1 -1
  198. package/dist/components-page/account-settings/teams/team-member-invitation-section.d.ts +2 -4
  199. package/dist/components-page/account-settings/teams/team-member-invitation-section.d.ts.map +1 -1
  200. package/dist/components-page/account-settings/teams/team-member-invitation-section.js +2 -4
  201. package/dist/components-page/account-settings/teams/team-member-invitation-section.js.map +1 -1
  202. package/dist/components-page/account-settings/teams/team-member-list-section.d.ts +2 -4
  203. package/dist/components-page/account-settings/teams/team-member-list-section.d.ts.map +1 -1
  204. package/dist/components-page/account-settings/teams/team-member-list-section.js +2 -4
  205. package/dist/components-page/account-settings/teams/team-member-list-section.js.map +1 -1
  206. package/dist/components-page/account-settings/teams/team-page.d.ts +2 -4
  207. package/dist/components-page/account-settings/teams/team-page.d.ts.map +1 -1
  208. package/dist/components-page/account-settings/teams/team-page.js +2 -4
  209. package/dist/components-page/account-settings/teams/team-page.js.map +1 -1
  210. package/dist/components-page/account-settings/teams/team-profile-image-section.d.ts +2 -4
  211. package/dist/components-page/account-settings/teams/team-profile-image-section.d.ts.map +1 -1
  212. package/dist/components-page/account-settings/teams/team-profile-image-section.js +2 -4
  213. package/dist/components-page/account-settings/teams/team-profile-image-section.js.map +1 -1
  214. package/dist/components-page/account-settings/teams/team-profile-user-section.d.ts +2 -4
  215. package/dist/components-page/account-settings/teams/team-profile-user-section.d.ts.map +1 -1
  216. package/dist/components-page/account-settings/teams/team-profile-user-section.js +2 -4
  217. package/dist/components-page/account-settings/teams/team-profile-user-section.js.map +1 -1
  218. package/dist/components-page/account-settings.d.ts +2 -58
  219. package/dist/components-page/account-settings.js +5 -7
  220. package/dist/components-page/account-settings.js.map +1 -1
  221. package/dist/components-page/auth-page.d.ts +2 -26
  222. package/dist/components-page/auth-page.js +3 -6
  223. package/dist/components-page/auth-page.js.map +1 -1
  224. package/dist/components-page/cli-auth-confirm.d.ts +2 -21
  225. package/dist/components-page/cli-auth-confirm.js +3 -6
  226. package/dist/components-page/cli-auth-confirm.js.map +1 -1
  227. package/dist/components-page/cli-auth-confirm.test.js +3 -4
  228. package/dist/components-page/cli-auth-confirm.test.js.map +1 -1
  229. package/dist/components-page/email-verification.d.ts +2 -10
  230. package/dist/components-page/email-verification.js +5 -7
  231. package/dist/components-page/email-verification.js.map +1 -1
  232. package/dist/components-page/error-page.d.ts +2 -10
  233. package/dist/components-page/error-page.js +3 -6
  234. package/dist/components-page/error-page.js.map +1 -1
  235. package/dist/components-page/forgot-password.d.ts +2 -14
  236. package/dist/components-page/forgot-password.js +3 -6
  237. package/dist/components-page/forgot-password.js.map +1 -1
  238. package/dist/components-page/hexclave-handler-client.d.ts +2 -62
  239. package/dist/components-page/hexclave-handler-client.js +2 -5
  240. package/dist/components-page/hexclave-handler-client.js.map +1 -1
  241. package/dist/components-page/hexclave-handler-client.test.js +1 -3
  242. package/dist/components-page/hexclave-handler-client.test.js.map +1 -1
  243. package/dist/components-page/hexclave-handler.d.ts +2 -37
  244. package/dist/components-page/hexclave-handler.js +5 -4
  245. package/dist/components-page/hexclave-handler.js.map +1 -1
  246. package/dist/components-page/magic-link-callback.d.ts +2 -10
  247. package/dist/components-page/magic-link-callback.js +6 -9
  248. package/dist/components-page/magic-link-callback.js.map +1 -1
  249. package/dist/components-page/mfa.d.ts +2 -11
  250. package/dist/components-page/mfa.js +2 -5
  251. package/dist/components-page/mfa.js.map +1 -1
  252. package/dist/components-page/oauth-callback.d.ts +2 -11
  253. package/dist/components-page/oauth-callback.js +3 -6
  254. package/dist/components-page/oauth-callback.js.map +1 -1
  255. package/dist/components-page/oauth-callback.test.js +3 -4
  256. package/dist/components-page/oauth-callback.test.js.map +1 -1
  257. package/dist/components-page/onboarding.d.ts +2 -9
  258. package/dist/components-page/onboarding.js +3 -6
  259. package/dist/components-page/onboarding.js.map +1 -1
  260. package/dist/components-page/password-reset.d.ts +2 -17
  261. package/dist/components-page/password-reset.js +8 -7
  262. package/dist/components-page/password-reset.js.map +1 -1
  263. package/dist/components-page/section.js +2 -2
  264. package/dist/components-page/sign-in.d.ts +2 -23
  265. package/dist/components-page/sign-in.js +2 -4
  266. package/dist/components-page/sign-in.js.map +1 -1
  267. package/dist/components-page/sign-out.d.ts +2 -10
  268. package/dist/components-page/sign-out.js +3 -6
  269. package/dist/components-page/sign-out.js.map +1 -1
  270. package/dist/components-page/sign-up.d.ts +2 -13
  271. package/dist/components-page/sign-up.js +3 -6
  272. package/dist/components-page/sign-up.js.map +1 -1
  273. package/dist/components-page/team-creation.d.ts +1 -3
  274. package/dist/components-page/team-creation.d.ts.map +1 -1
  275. package/dist/components-page/team-creation.js +3 -6
  276. package/dist/components-page/team-creation.js.map +1 -1
  277. package/dist/components-page/team-invitation.d.ts +2 -13
  278. package/dist/components-page/team-invitation.js +5 -7
  279. package/dist/components-page/team-invitation.js.map +1 -1
  280. package/dist/config.js +17 -19
  281. package/dist/convex-D2mFhYyd.d.ts +13 -0
  282. package/dist/convex-D2mFhYyd.d.ts.map +1 -0
  283. package/dist/cookie-DTOQvCYn.d.ts +42 -0
  284. package/dist/cookie-DTOQvCYn.d.ts.map +1 -0
  285. package/dist/credential-sign-in-BxCi9NEV.d.ts +5 -0
  286. package/dist/credential-sign-in-BxCi9NEV.d.ts.map +1 -0
  287. package/dist/credential-sign-up-tYm5rV86.d.ts +7 -0
  288. package/dist/credential-sign-up-tYm5rV86.d.ts.map +1 -0
  289. package/dist/dev-tool/dev-tool-core.d.ts +1 -2
  290. package/dist/dev-tool/dev-tool-core.d.ts.map +1 -1
  291. package/dist/dev-tool/dev-tool-core.js +3 -5
  292. package/dist/dev-tool/dev-tool-core.js.map +1 -1
  293. package/dist/dev-tool/dev-tool-styles.js +3 -6
  294. package/dist/dev-tool/dev-tool-styles.js.map +1 -1
  295. package/dist/dev-tool/dev-tool-trigger-position.d.ts.map +1 -1
  296. package/dist/dev-tool/dev-tool-trigger-position.js +6 -7
  297. package/dist/dev-tool/dev-tool-trigger-position.js.map +1 -1
  298. package/dist/dev-tool/dev-tool-trigger-position.test.js +1 -3
  299. package/dist/dev-tool/dev-tool-trigger-position.test.js.map +1 -1
  300. package/dist/dev-tool/index.d.ts +1 -2
  301. package/dist/dev-tool/index.d.ts.map +1 -1
  302. package/dist/dev-tool/index.js +2 -4
  303. package/dist/dev-tool/index.js.map +1 -1
  304. package/dist/email-verification-Cr_KKvtQ.d.ts +8 -0
  305. package/dist/email-verification-Cr_KKvtQ.d.ts.map +1 -0
  306. package/dist/error-page-D0KwN73t.d.ts +8 -0
  307. package/dist/error-page-D0KwN73t.d.ts.map +1 -0
  308. package/dist/esm/clickmap/clickmap-core.d.ts +1 -1
  309. package/dist/esm/clickmap/clickmap-core.d.ts.map +1 -1
  310. package/dist/esm/clickmap/clickmap-core.js +1 -2
  311. package/dist/esm/clickmap/clickmap-core.js.map +1 -1
  312. package/dist/esm/clickmap/clickmap-styles.js +1 -2
  313. package/dist/esm/clickmap/clickmap-styles.js.map +1 -1
  314. package/dist/esm/clickmap/index.d.ts +1 -1
  315. package/dist/esm/clickmap/index.d.ts.map +1 -1
  316. package/dist/esm/clickmap/index.js +1 -2
  317. package/dist/esm/clickmap/index.js.map +1 -1
  318. package/dist/esm/components/api-key-dialogs.d.ts +3 -4
  319. package/dist/esm/components/api-key-dialogs.d.ts.map +1 -1
  320. package/dist/esm/components/api-key-dialogs.js +2 -4
  321. package/dist/esm/components/api-key-dialogs.js.map +1 -1
  322. package/dist/esm/components/api-key-table.d.ts +2 -3
  323. package/dist/esm/components/api-key-table.d.ts.map +1 -1
  324. package/dist/esm/components/api-key-table.js +2 -4
  325. package/dist/esm/components/api-key-table.js.map +1 -1
  326. package/dist/esm/components/credential-sign-in.d.ts +1 -3
  327. package/dist/esm/components/credential-sign-in.d.ts.map +1 -1
  328. package/dist/esm/components/credential-sign-in.js +2 -4
  329. package/dist/esm/components/credential-sign-in.js.map +1 -1
  330. package/dist/esm/components/credential-sign-up.d.ts +1 -3
  331. package/dist/esm/components/credential-sign-up.d.ts.map +1 -1
  332. package/dist/esm/components/credential-sign-up.js +3 -5
  333. package/dist/esm/components/credential-sign-up.js.map +1 -1
  334. package/dist/esm/components/elements/form-warning.d.ts +1 -3
  335. package/dist/esm/components/elements/form-warning.d.ts.map +1 -1
  336. package/dist/esm/components/elements/form-warning.js +2 -4
  337. package/dist/esm/components/elements/form-warning.js.map +1 -1
  338. package/dist/esm/components/elements/maybe-full-page.d.ts +1 -2
  339. package/dist/esm/components/elements/maybe-full-page.d.ts.map +1 -1
  340. package/dist/esm/components/elements/maybe-full-page.js +2 -4
  341. package/dist/esm/components/elements/maybe-full-page.js.map +1 -1
  342. package/dist/esm/components/elements/separator-with-text.d.ts +1 -3
  343. package/dist/esm/components/elements/separator-with-text.d.ts.map +1 -1
  344. package/dist/esm/components/elements/separator-with-text.js +2 -4
  345. package/dist/esm/components/elements/separator-with-text.js.map +1 -1
  346. package/dist/esm/components/elements/sidebar-layout.d.ts +1 -2
  347. package/dist/esm/components/elements/sidebar-layout.d.ts.map +1 -1
  348. package/dist/esm/components/elements/sidebar-layout.js +3 -5
  349. package/dist/esm/components/elements/sidebar-layout.js.map +1 -1
  350. package/dist/esm/components/elements/ssr-layout-effect.d.ts +1 -3
  351. package/dist/esm/components/elements/ssr-layout-effect.d.ts.map +1 -1
  352. package/dist/esm/components/elements/ssr-layout-effect.js +1 -3
  353. package/dist/esm/components/elements/ssr-layout-effect.js.map +1 -1
  354. package/dist/esm/components/elements/user-avatar.d.ts +1 -3
  355. package/dist/esm/components/elements/user-avatar.d.ts.map +1 -1
  356. package/dist/esm/components/elements/user-avatar.js +1 -2
  357. package/dist/esm/components/elements/user-avatar.js.map +1 -1
  358. package/dist/esm/components/link.d.ts +2 -4
  359. package/dist/esm/components/link.d.ts.map +1 -1
  360. package/dist/esm/components/link.js +2 -4
  361. package/dist/esm/components/link.js.map +1 -1
  362. package/dist/esm/components/magic-link-sign-in.d.ts +1 -3
  363. package/dist/esm/components/magic-link-sign-in.d.ts.map +1 -1
  364. package/dist/esm/components/magic-link-sign-in.js +2 -4
  365. package/dist/esm/components/magic-link-sign-in.js.map +1 -1
  366. package/dist/esm/components/message-cards/known-error-message-card.d.ts +1 -2
  367. package/dist/esm/components/message-cards/known-error-message-card.d.ts.map +1 -1
  368. package/dist/esm/components/message-cards/known-error-message-card.js +1 -3
  369. package/dist/esm/components/message-cards/known-error-message-card.js.map +1 -1
  370. package/dist/esm/components/message-cards/message-card.d.ts +1 -2
  371. package/dist/esm/components/message-cards/message-card.d.ts.map +1 -1
  372. package/dist/esm/components/message-cards/message-card.js +3 -5
  373. package/dist/esm/components/message-cards/message-card.js.map +1 -1
  374. package/dist/esm/components/message-cards/predefined-message-card.d.ts +1 -3
  375. package/dist/esm/components/message-cards/predefined-message-card.d.ts.map +1 -1
  376. package/dist/esm/components/message-cards/predefined-message-card.js +1 -3
  377. package/dist/esm/components/message-cards/predefined-message-card.js.map +1 -1
  378. package/dist/esm/components/oauth-button-group.d.ts +1 -3
  379. package/dist/esm/components/oauth-button-group.d.ts.map +1 -1
  380. package/dist/esm/components/oauth-button-group.js +2 -4
  381. package/dist/esm/components/oauth-button-group.js.map +1 -1
  382. package/dist/esm/components/oauth-button.d.ts +1 -3
  383. package/dist/esm/components/oauth-button.d.ts.map +1 -1
  384. package/dist/esm/components/oauth-button.js +2 -4
  385. package/dist/esm/components/oauth-button.js.map +1 -1
  386. package/dist/esm/components/passkey-button.d.ts +1 -3
  387. package/dist/esm/components/passkey-button.d.ts.map +1 -1
  388. package/dist/esm/components/passkey-button.js +2 -4
  389. package/dist/esm/components/passkey-button.js.map +1 -1
  390. package/dist/esm/components/profile-image-editor.d.ts +2 -3
  391. package/dist/esm/components/profile-image-editor.d.ts.map +1 -1
  392. package/dist/esm/components/profile-image-editor.js +1 -2
  393. package/dist/esm/components/profile-image-editor.js.map +1 -1
  394. package/dist/esm/components/selected-team-switcher.d.ts +2 -3
  395. package/dist/esm/components/selected-team-switcher.d.ts.map +1 -1
  396. package/dist/esm/components/selected-team-switcher.js +2 -4
  397. package/dist/esm/components/selected-team-switcher.js.map +1 -1
  398. package/dist/esm/components/team-icon.d.ts +2 -3
  399. package/dist/esm/components/team-icon.d.ts.map +1 -1
  400. package/dist/esm/components/team-icon.js +1 -2
  401. package/dist/esm/components/team-icon.js.map +1 -1
  402. package/dist/esm/components/team-switcher.d.ts +2 -3
  403. package/dist/esm/components/team-switcher.d.ts.map +1 -1
  404. package/dist/esm/components/team-switcher.js +2 -4
  405. package/dist/esm/components/team-switcher.js.map +1 -1
  406. package/dist/esm/components/use-in-iframe.d.ts.map +1 -1
  407. package/dist/esm/components/use-in-iframe.js +2 -4
  408. package/dist/esm/components/use-in-iframe.js.map +1 -1
  409. package/dist/esm/components/user-button.d.ts +1 -2
  410. package/dist/esm/components/user-button.d.ts.map +1 -1
  411. package/dist/esm/components/user-button.js +3 -5
  412. package/dist/esm/components/user-button.js.map +1 -1
  413. package/dist/esm/components-page/account-settings/active-sessions/active-sessions-page.d.ts +1 -3
  414. package/dist/esm/components-page/account-settings/active-sessions/active-sessions-page.d.ts.map +1 -1
  415. package/dist/esm/components-page/account-settings/active-sessions/active-sessions-page.js +1 -2
  416. package/dist/esm/components-page/account-settings/active-sessions/active-sessions-page.js.map +1 -1
  417. package/dist/esm/components-page/account-settings/api-keys/api-keys-page.d.ts +1 -3
  418. package/dist/esm/components-page/account-settings/api-keys/api-keys-page.d.ts.map +1 -1
  419. package/dist/esm/components-page/account-settings/api-keys/api-keys-page.js +1 -2
  420. package/dist/esm/components-page/account-settings/api-keys/api-keys-page.js.map +1 -1
  421. package/dist/esm/components-page/account-settings/editable-text.d.ts +1 -3
  422. package/dist/esm/components-page/account-settings/editable-text.d.ts.map +1 -1
  423. package/dist/esm/components-page/account-settings/editable-text.js +1 -2
  424. package/dist/esm/components-page/account-settings/editable-text.js.map +1 -1
  425. package/dist/esm/components-page/account-settings/email-and-auth/email-and-auth-page.d.ts +1 -3
  426. package/dist/esm/components-page/account-settings/email-and-auth/email-and-auth-page.d.ts.map +1 -1
  427. package/dist/esm/components-page/account-settings/email-and-auth/email-and-auth-page.js +1 -2
  428. package/dist/esm/components-page/account-settings/email-and-auth/email-and-auth-page.js.map +1 -1
  429. package/dist/esm/components-page/account-settings/email-and-auth/emails-section.d.ts +1 -3
  430. package/dist/esm/components-page/account-settings/email-and-auth/emails-section.d.ts.map +1 -1
  431. package/dist/esm/components-page/account-settings/email-and-auth/emails-section.js +1 -2
  432. package/dist/esm/components-page/account-settings/email-and-auth/emails-section.js.map +1 -1
  433. package/dist/esm/components-page/account-settings/email-and-auth/mfa-section.d.ts +1 -3
  434. package/dist/esm/components-page/account-settings/email-and-auth/mfa-section.d.ts.map +1 -1
  435. package/dist/esm/components-page/account-settings/email-and-auth/mfa-section.js +2 -3
  436. package/dist/esm/components-page/account-settings/email-and-auth/mfa-section.js.map +1 -1
  437. package/dist/esm/components-page/account-settings/email-and-auth/otp-section.d.ts +1 -3
  438. package/dist/esm/components-page/account-settings/email-and-auth/otp-section.d.ts.map +1 -1
  439. package/dist/esm/components-page/account-settings/email-and-auth/otp-section.js +1 -2
  440. package/dist/esm/components-page/account-settings/email-and-auth/otp-section.js.map +1 -1
  441. package/dist/esm/components-page/account-settings/email-and-auth/passkey-section.d.ts +1 -3
  442. package/dist/esm/components-page/account-settings/email-and-auth/passkey-section.d.ts.map +1 -1
  443. package/dist/esm/components-page/account-settings/email-and-auth/passkey-section.js +1 -2
  444. package/dist/esm/components-page/account-settings/email-and-auth/passkey-section.js.map +1 -1
  445. package/dist/esm/components-page/account-settings/email-and-auth/password-section.d.ts +1 -3
  446. package/dist/esm/components-page/account-settings/email-and-auth/password-section.d.ts.map +1 -1
  447. package/dist/esm/components-page/account-settings/email-and-auth/password-section.js +1 -2
  448. package/dist/esm/components-page/account-settings/email-and-auth/password-section.js.map +1 -1
  449. package/dist/esm/components-page/account-settings/notifications/notifications-page.d.ts +1 -3
  450. package/dist/esm/components-page/account-settings/notifications/notifications-page.d.ts.map +1 -1
  451. package/dist/esm/components-page/account-settings/notifications/notifications-page.js +1 -2
  452. package/dist/esm/components-page/account-settings/notifications/notifications-page.js.map +1 -1
  453. package/dist/esm/components-page/account-settings/page-layout.d.ts +1 -3
  454. package/dist/esm/components-page/account-settings/page-layout.d.ts.map +1 -1
  455. package/dist/esm/components-page/account-settings/page-layout.js +1 -2
  456. package/dist/esm/components-page/account-settings/page-layout.js.map +1 -1
  457. package/dist/esm/components-page/account-settings/payments/payments-page.d.ts +2 -3
  458. package/dist/esm/components-page/account-settings/payments/payments-page.d.ts.map +1 -1
  459. package/dist/esm/components-page/account-settings/payments/payments-page.js +2 -4
  460. package/dist/esm/components-page/account-settings/payments/payments-page.js.map +1 -1
  461. package/dist/esm/components-page/account-settings/payments/payments-panel.d.ts +2 -3
  462. package/dist/esm/components-page/account-settings/payments/payments-panel.d.ts.map +1 -1
  463. package/dist/esm/components-page/account-settings/payments/payments-panel.js +2 -4
  464. package/dist/esm/components-page/account-settings/payments/payments-panel.js.map +1 -1
  465. package/dist/esm/components-page/account-settings/profile-page/profile-page.d.ts +1 -3
  466. package/dist/esm/components-page/account-settings/profile-page/profile-page.d.ts.map +1 -1
  467. package/dist/esm/components-page/account-settings/profile-page/profile-page.js +1 -2
  468. package/dist/esm/components-page/account-settings/profile-page/profile-page.js.map +1 -1
  469. package/dist/esm/components-page/account-settings/section.d.ts +1 -3
  470. package/dist/esm/components-page/account-settings/section.d.ts.map +1 -1
  471. package/dist/esm/components-page/account-settings/section.js +1 -2
  472. package/dist/esm/components-page/account-settings/section.js.map +1 -1
  473. package/dist/esm/components-page/account-settings/settings/delete-account-section.d.ts +1 -3
  474. package/dist/esm/components-page/account-settings/settings/delete-account-section.d.ts.map +1 -1
  475. package/dist/esm/components-page/account-settings/settings/delete-account-section.js +1 -2
  476. package/dist/esm/components-page/account-settings/settings/delete-account-section.js.map +1 -1
  477. package/dist/esm/components-page/account-settings/settings/settings-page.d.ts +1 -3
  478. package/dist/esm/components-page/account-settings/settings/settings-page.d.ts.map +1 -1
  479. package/dist/esm/components-page/account-settings/settings/settings-page.js +1 -2
  480. package/dist/esm/components-page/account-settings/settings/settings-page.js.map +1 -1
  481. package/dist/esm/components-page/account-settings/settings/sign-out-section.d.ts +1 -3
  482. package/dist/esm/components-page/account-settings/settings/sign-out-section.d.ts.map +1 -1
  483. package/dist/esm/components-page/account-settings/settings/sign-out-section.js +1 -2
  484. package/dist/esm/components-page/account-settings/settings/sign-out-section.js.map +1 -1
  485. package/dist/esm/components-page/account-settings/teams/leave-team-section.d.ts +2 -3
  486. package/dist/esm/components-page/account-settings/teams/leave-team-section.d.ts.map +1 -1
  487. package/dist/esm/components-page/account-settings/teams/leave-team-section.js +1 -2
  488. package/dist/esm/components-page/account-settings/teams/leave-team-section.js.map +1 -1
  489. package/dist/esm/components-page/account-settings/teams/team-api-keys-section.d.ts +2 -3
  490. package/dist/esm/components-page/account-settings/teams/team-api-keys-section.d.ts.map +1 -1
  491. package/dist/esm/components-page/account-settings/teams/team-api-keys-section.js +1 -2
  492. package/dist/esm/components-page/account-settings/teams/team-api-keys-section.js.map +1 -1
  493. package/dist/esm/components-page/account-settings/teams/team-creation-page.d.ts +1 -3
  494. package/dist/esm/components-page/account-settings/teams/team-creation-page.d.ts.map +1 -1
  495. package/dist/esm/components-page/account-settings/teams/team-creation-page.js +1 -2
  496. package/dist/esm/components-page/account-settings/teams/team-creation-page.js.map +1 -1
  497. package/dist/esm/components-page/account-settings/teams/team-display-name-section.d.ts +2 -3
  498. package/dist/esm/components-page/account-settings/teams/team-display-name-section.d.ts.map +1 -1
  499. package/dist/esm/components-page/account-settings/teams/team-display-name-section.js +1 -2
  500. package/dist/esm/components-page/account-settings/teams/team-display-name-section.js.map +1 -1
  501. package/dist/esm/components-page/account-settings/teams/team-member-invitation-section.d.ts +2 -3
  502. package/dist/esm/components-page/account-settings/teams/team-member-invitation-section.d.ts.map +1 -1
  503. package/dist/esm/components-page/account-settings/teams/team-member-invitation-section.js +1 -2
  504. package/dist/esm/components-page/account-settings/teams/team-member-invitation-section.js.map +1 -1
  505. package/dist/esm/components-page/account-settings/teams/team-member-list-section.d.ts +2 -3
  506. package/dist/esm/components-page/account-settings/teams/team-member-list-section.d.ts.map +1 -1
  507. package/dist/esm/components-page/account-settings/teams/team-member-list-section.js +1 -2
  508. package/dist/esm/components-page/account-settings/teams/team-member-list-section.js.map +1 -1
  509. package/dist/esm/components-page/account-settings/teams/team-page.d.ts +2 -3
  510. package/dist/esm/components-page/account-settings/teams/team-page.d.ts.map +1 -1
  511. package/dist/esm/components-page/account-settings/teams/team-page.js +1 -2
  512. package/dist/esm/components-page/account-settings/teams/team-page.js.map +1 -1
  513. package/dist/esm/components-page/account-settings/teams/team-profile-image-section.d.ts +2 -3
  514. package/dist/esm/components-page/account-settings/teams/team-profile-image-section.d.ts.map +1 -1
  515. package/dist/esm/components-page/account-settings/teams/team-profile-image-section.js +1 -2
  516. package/dist/esm/components-page/account-settings/teams/team-profile-image-section.js.map +1 -1
  517. package/dist/esm/components-page/account-settings/teams/team-profile-user-section.d.ts +2 -3
  518. package/dist/esm/components-page/account-settings/teams/team-profile-user-section.d.ts.map +1 -1
  519. package/dist/esm/components-page/account-settings/teams/team-profile-user-section.js +1 -2
  520. package/dist/esm/components-page/account-settings/teams/team-profile-user-section.js.map +1 -1
  521. package/dist/esm/components-page/account-settings.d.ts +9 -11
  522. package/dist/esm/components-page/account-settings.d.ts.map +1 -1
  523. package/dist/esm/components-page/account-settings.js +3 -5
  524. package/dist/esm/components-page/account-settings.js.map +1 -1
  525. package/dist/esm/components-page/auth-page.d.ts +1 -3
  526. package/dist/esm/components-page/auth-page.d.ts.map +1 -1
  527. package/dist/esm/components-page/auth-page.js +2 -4
  528. package/dist/esm/components-page/auth-page.js.map +1 -1
  529. package/dist/esm/components-page/cli-auth-confirm.d.ts +1 -3
  530. package/dist/esm/components-page/cli-auth-confirm.d.ts.map +1 -1
  531. package/dist/esm/components-page/cli-auth-confirm.js +2 -4
  532. package/dist/esm/components-page/cli-auth-confirm.js.map +1 -1
  533. package/dist/esm/components-page/cli-auth-confirm.test.js +3 -4
  534. package/dist/esm/components-page/cli-auth-confirm.test.js.map +1 -1
  535. package/dist/esm/components-page/email-verification.d.ts +1 -3
  536. package/dist/esm/components-page/email-verification.d.ts.map +1 -1
  537. package/dist/esm/components-page/email-verification.js +2 -4
  538. package/dist/esm/components-page/email-verification.js.map +1 -1
  539. package/dist/esm/components-page/error-page.d.ts +1 -3
  540. package/dist/esm/components-page/error-page.d.ts.map +1 -1
  541. package/dist/esm/components-page/error-page.js +2 -4
  542. package/dist/esm/components-page/error-page.js.map +1 -1
  543. package/dist/esm/components-page/forgot-password.d.ts +2 -4
  544. package/dist/esm/components-page/forgot-password.d.ts.map +1 -1
  545. package/dist/esm/components-page/forgot-password.js +2 -4
  546. package/dist/esm/components-page/forgot-password.js.map +1 -1
  547. package/dist/esm/components-page/hexclave-handler-client.d.ts +14 -14
  548. package/dist/esm/components-page/hexclave-handler-client.d.ts.map +1 -1
  549. package/dist/esm/components-page/hexclave-handler-client.js +1 -3
  550. package/dist/esm/components-page/hexclave-handler-client.js.map +1 -1
  551. package/dist/esm/components-page/hexclave-handler-client.test.js +2 -3
  552. package/dist/esm/components-page/hexclave-handler-client.test.js.map +1 -1
  553. package/dist/esm/components-page/hexclave-handler.d.ts +2 -3
  554. package/dist/esm/components-page/hexclave-handler.d.ts.map +1 -1
  555. package/dist/esm/components-page/hexclave-handler.js +1 -2
  556. package/dist/esm/components-page/hexclave-handler.js.map +1 -1
  557. package/dist/esm/components-page/magic-link-callback.d.ts +1 -3
  558. package/dist/esm/components-page/magic-link-callback.d.ts.map +1 -1
  559. package/dist/esm/components-page/magic-link-callback.js +2 -4
  560. package/dist/esm/components-page/magic-link-callback.js.map +1 -1
  561. package/dist/esm/components-page/mfa.d.ts +1 -3
  562. package/dist/esm/components-page/mfa.d.ts.map +1 -1
  563. package/dist/esm/components-page/mfa.js +1 -3
  564. package/dist/esm/components-page/mfa.js.map +1 -1
  565. package/dist/esm/components-page/oauth-callback.d.ts +1 -3
  566. package/dist/esm/components-page/oauth-callback.d.ts.map +1 -1
  567. package/dist/esm/components-page/oauth-callback.js +2 -4
  568. package/dist/esm/components-page/oauth-callback.js.map +1 -1
  569. package/dist/esm/components-page/oauth-callback.test.js +3 -4
  570. package/dist/esm/components-page/oauth-callback.test.js.map +1 -1
  571. package/dist/esm/components-page/onboarding.d.ts +1 -3
  572. package/dist/esm/components-page/onboarding.d.ts.map +1 -1
  573. package/dist/esm/components-page/onboarding.js +2 -4
  574. package/dist/esm/components-page/onboarding.js.map +1 -1
  575. package/dist/esm/components-page/password-reset.d.ts +2 -4
  576. package/dist/esm/components-page/password-reset.d.ts.map +1 -1
  577. package/dist/esm/components-page/password-reset.js +2 -4
  578. package/dist/esm/components-page/password-reset.js.map +1 -1
  579. package/dist/esm/components-page/section.js +3 -4
  580. package/dist/esm/components-page/sign-in.d.ts +1 -3
  581. package/dist/esm/components-page/sign-in.d.ts.map +1 -1
  582. package/dist/esm/components-page/sign-in.js +1 -2
  583. package/dist/esm/components-page/sign-in.js.map +1 -1
  584. package/dist/esm/components-page/sign-out.d.ts +1 -3
  585. package/dist/esm/components-page/sign-out.d.ts.map +1 -1
  586. package/dist/esm/components-page/sign-out.js +2 -4
  587. package/dist/esm/components-page/sign-out.js.map +1 -1
  588. package/dist/esm/components-page/sign-up.d.ts +1 -3
  589. package/dist/esm/components-page/sign-up.d.ts.map +1 -1
  590. package/dist/esm/components-page/sign-up.js +2 -4
  591. package/dist/esm/components-page/sign-up.js.map +1 -1
  592. package/dist/esm/components-page/team-creation.d.ts +1 -3
  593. package/dist/esm/components-page/team-creation.d.ts.map +1 -1
  594. package/dist/esm/components-page/team-creation.js +2 -4
  595. package/dist/esm/components-page/team-creation.js.map +1 -1
  596. package/dist/esm/components-page/team-invitation.d.ts +1 -3
  597. package/dist/esm/components-page/team-invitation.d.ts.map +1 -1
  598. package/dist/esm/components-page/team-invitation.js +2 -4
  599. package/dist/esm/components-page/team-invitation.js.map +1 -1
  600. package/dist/esm/config.js +1 -2
  601. package/dist/esm/dev-tool/dev-tool-core.d.ts +1 -1
  602. package/dist/esm/dev-tool/dev-tool-core.d.ts.map +1 -1
  603. package/dist/esm/dev-tool/dev-tool-core.js +2 -3
  604. package/dist/esm/dev-tool/dev-tool-core.js.map +1 -1
  605. package/dist/esm/dev-tool/dev-tool-styles.js +1 -2
  606. package/dist/esm/dev-tool/dev-tool-styles.js.map +1 -1
  607. package/dist/esm/dev-tool/dev-tool-trigger-position.d.ts.map +1 -1
  608. package/dist/esm/dev-tool/dev-tool-trigger-position.js +5 -5
  609. package/dist/esm/dev-tool/dev-tool-trigger-position.js.map +1 -1
  610. package/dist/esm/dev-tool/dev-tool-trigger-position.test.js +2 -3
  611. package/dist/esm/dev-tool/dev-tool-trigger-position.test.js.map +1 -1
  612. package/dist/esm/dev-tool/index.d.ts +1 -1
  613. package/dist/esm/dev-tool/index.d.ts.map +1 -1
  614. package/dist/esm/dev-tool/index.js +1 -2
  615. package/dist/esm/dev-tool/index.js.map +1 -1
  616. package/dist/esm/generated/env.js +1 -1
  617. package/dist/esm/generated/env.js.map +1 -1
  618. package/dist/esm/generated/global-css.js +1 -1
  619. package/dist/esm/generated/quetzal-translations.d.ts +2 -2
  620. package/dist/esm/generated/quetzal-translations.js +1 -2
  621. package/dist/esm/generated/quetzal-translations.js.map +1 -1
  622. package/dist/esm/global.d.ts.map +1 -1
  623. package/dist/esm/in-page-ui/base-styles.d.ts.map +1 -1
  624. package/dist/esm/in-page-ui/base-styles.js +1 -1
  625. package/dist/esm/in-page-ui/base-styles.js.map +1 -1
  626. package/dist/esm/in-page-ui/dom.d.ts.map +1 -1
  627. package/dist/esm/in-page-ui/dom.js +1 -1
  628. package/dist/esm/in-page-ui/dom.js.map +1 -1
  629. package/dist/esm/index.d.ts +25 -25
  630. package/dist/esm/index.js +2 -4
  631. package/dist/esm/integrations/convex/component/convex.config.d.ts +1 -3
  632. package/dist/esm/integrations/convex/component/convex.config.d.ts.map +1 -1
  633. package/dist/esm/integrations/convex/component/convex.config.js +1 -2
  634. package/dist/esm/integrations/convex/component/convex.config.js.map +1 -1
  635. package/dist/esm/integrations/convex.js +1 -2
  636. package/dist/esm/integrations/convex.js.map +1 -1
  637. package/dist/esm/lib/auth.js +1 -2
  638. package/dist/esm/lib/auth.js.map +1 -1
  639. package/dist/esm/lib/auth.test.js +2 -3
  640. package/dist/esm/lib/auth.test.js.map +1 -1
  641. package/dist/esm/lib/cookie.d.ts.map +1 -1
  642. package/dist/esm/lib/cookie.js +4 -22
  643. package/dist/esm/lib/cookie.js.map +1 -1
  644. package/dist/esm/lib/hexclave-app/api-keys/index.d.ts.map +1 -1
  645. package/dist/esm/lib/hexclave-app/api-keys/index.js +1 -2
  646. package/dist/esm/lib/hexclave-app/api-keys/index.js.map +1 -1
  647. package/dist/esm/lib/hexclave-app/apps/implementations/admin-app-impl.d.ts +34 -42
  648. package/dist/esm/lib/hexclave-app/apps/implementations/admin-app-impl.d.ts.map +1 -1
  649. package/dist/esm/lib/hexclave-app/apps/implementations/admin-app-impl.js +1 -2
  650. package/dist/esm/lib/hexclave-app/apps/implementations/admin-app-impl.js.map +1 -1
  651. package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.cross-domain.test.js +2 -3
  652. package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.cross-domain.test.js.map +1 -1
  653. package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.d.ts +26 -28
  654. package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.d.ts.map +1 -1
  655. package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.js +1 -2
  656. package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.js.map +1 -1
  657. package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.oauth-prefetch.test.js +2 -3
  658. package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.oauth-prefetch.test.js.map +1 -1
  659. package/dist/esm/lib/hexclave-app/apps/implementations/common.d.ts +1 -1
  660. package/dist/esm/lib/hexclave-app/apps/implementations/common.d.ts.map +1 -1
  661. package/dist/esm/lib/hexclave-app/apps/implementations/common.js +7 -8
  662. package/dist/esm/lib/hexclave-app/apps/implementations/common.js.map +1 -1
  663. package/dist/esm/lib/hexclave-app/apps/implementations/event-tracker.d.ts.map +1 -1
  664. package/dist/esm/lib/hexclave-app/apps/implementations/event-tracker.js +1 -2
  665. package/dist/esm/lib/hexclave-app/apps/implementations/event-tracker.js.map +1 -1
  666. package/dist/esm/lib/hexclave-app/apps/implementations/event-tracker.test.js +2 -3
  667. package/dist/esm/lib/hexclave-app/apps/implementations/event-tracker.test.js.map +1 -1
  668. package/dist/esm/lib/hexclave-app/apps/implementations/index.d.ts +3 -3
  669. package/dist/esm/lib/hexclave-app/apps/implementations/index.d.ts.map +1 -1
  670. package/dist/esm/lib/hexclave-app/apps/implementations/index.js +1 -2
  671. package/dist/esm/lib/hexclave-app/apps/implementations/index.js.map +1 -1
  672. package/dist/esm/lib/hexclave-app/apps/implementations/redirect-page-urls.d.ts +1 -1
  673. package/dist/esm/lib/hexclave-app/apps/implementations/redirect-page-urls.d.ts.map +1 -1
  674. package/dist/esm/lib/hexclave-app/apps/implementations/redirect-page-urls.js +1 -2
  675. package/dist/esm/lib/hexclave-app/apps/implementations/redirect-page-urls.js.map +1 -1
  676. package/dist/esm/lib/hexclave-app/apps/implementations/server-app-impl.d.ts +13 -13
  677. package/dist/esm/lib/hexclave-app/apps/implementations/server-app-impl.d.ts.map +1 -1
  678. package/dist/esm/lib/hexclave-app/apps/implementations/server-app-impl.js +1 -2
  679. package/dist/esm/lib/hexclave-app/apps/implementations/server-app-impl.js.map +1 -1
  680. package/dist/esm/lib/hexclave-app/apps/implementations/session-refresh-subscription.d.ts.map +1 -1
  681. package/dist/esm/lib/hexclave-app/apps/implementations/session-refresh-subscription.js +1 -1
  682. package/dist/esm/lib/hexclave-app/apps/implementations/session-refresh-subscription.js.map +1 -1
  683. package/dist/esm/lib/hexclave-app/apps/implementations/session-refresh-subscription.test.js +2 -3
  684. package/dist/esm/lib/hexclave-app/apps/implementations/session-refresh-subscription.test.js.map +1 -1
  685. package/dist/esm/lib/hexclave-app/apps/implementations/session-replay.d.ts.map +1 -1
  686. package/dist/esm/lib/hexclave-app/apps/implementations/session-replay.js +13 -7
  687. package/dist/esm/lib/hexclave-app/apps/implementations/session-replay.js.map +1 -1
  688. package/dist/esm/lib/hexclave-app/apps/implementations/session-replay.test.js +134 -3
  689. package/dist/esm/lib/hexclave-app/apps/implementations/session-replay.test.js.map +1 -1
  690. package/dist/esm/lib/hexclave-app/apps/index.d.ts +3 -3
  691. package/dist/esm/lib/hexclave-app/apps/index.js +1 -2
  692. package/dist/esm/lib/hexclave-app/apps/interfaces/admin-app.d.ts +8 -8
  693. package/dist/esm/lib/hexclave-app/apps/interfaces/admin-app.d.ts.map +1 -1
  694. package/dist/esm/lib/hexclave-app/apps/interfaces/admin-app.js +1 -2
  695. package/dist/esm/lib/hexclave-app/apps/interfaces/admin-app.js.map +1 -1
  696. package/dist/esm/lib/hexclave-app/apps/interfaces/client-app.d.ts +6 -6
  697. package/dist/esm/lib/hexclave-app/apps/interfaces/client-app.d.ts.map +1 -1
  698. package/dist/esm/lib/hexclave-app/apps/interfaces/client-app.js +1 -2
  699. package/dist/esm/lib/hexclave-app/apps/interfaces/client-app.js.map +1 -1
  700. package/dist/esm/lib/hexclave-app/apps/interfaces/server-app.d.ts +7 -7
  701. package/dist/esm/lib/hexclave-app/apps/interfaces/server-app.d.ts.map +1 -1
  702. package/dist/esm/lib/hexclave-app/apps/interfaces/server-app.js +1 -2
  703. package/dist/esm/lib/hexclave-app/apps/interfaces/server-app.js.map +1 -1
  704. package/dist/esm/lib/hexclave-app/common.d.ts.map +1 -1
  705. package/dist/esm/lib/hexclave-app/common.js +1 -1
  706. package/dist/esm/lib/hexclave-app/common.js.map +1 -1
  707. package/dist/esm/lib/hexclave-app/connected-accounts/index.d.ts.map +1 -1
  708. package/dist/esm/lib/hexclave-app/connected-accounts/index.js +1 -1
  709. package/dist/esm/lib/hexclave-app/contact-channels/index.d.ts.map +1 -1
  710. package/dist/esm/lib/hexclave-app/contact-channels/index.js +1 -1
  711. package/dist/esm/lib/hexclave-app/contact-channels/index.js.map +1 -1
  712. package/dist/esm/lib/hexclave-app/customers/index.d.ts +1 -1
  713. package/dist/esm/lib/hexclave-app/customers/index.d.ts.map +1 -1
  714. package/dist/esm/lib/hexclave-app/customers/index.js +1 -1
  715. package/dist/esm/lib/hexclave-app/data-vault/index.d.ts +1 -1
  716. package/dist/esm/lib/hexclave-app/data-vault/index.d.ts.map +1 -1
  717. package/dist/esm/lib/hexclave-app/data-vault/index.js +1 -1
  718. package/dist/esm/lib/hexclave-app/email/index.d.ts.map +1 -1
  719. package/dist/esm/lib/hexclave-app/email/index.js +1 -1
  720. package/dist/esm/lib/hexclave-app/email-templates/index.d.ts.map +1 -1
  721. package/dist/esm/lib/hexclave-app/email-templates/index.js +1 -1
  722. package/dist/esm/lib/hexclave-app/email-templates/index.js.map +1 -1
  723. package/dist/esm/lib/hexclave-app/index.d.ts +14 -14
  724. package/dist/esm/lib/hexclave-app/index.js +1 -2
  725. package/dist/esm/lib/hexclave-app/internal-api-keys/index.d.ts.map +1 -1
  726. package/dist/esm/lib/hexclave-app/internal-api-keys/index.js +1 -1
  727. package/dist/esm/lib/hexclave-app/internal-api-keys/index.js.map +1 -1
  728. package/dist/esm/lib/hexclave-app/notification-categories/index.d.ts.map +1 -1
  729. package/dist/esm/lib/hexclave-app/notification-categories/index.js +1 -1
  730. package/dist/esm/lib/hexclave-app/permissions/index.d.ts.map +1 -1
  731. package/dist/esm/lib/hexclave-app/permissions/index.js +1 -1
  732. package/dist/esm/lib/hexclave-app/permissions/index.js.map +1 -1
  733. package/dist/esm/lib/hexclave-app/plan-usage/index.d.ts.map +1 -1
  734. package/dist/esm/lib/hexclave-app/plan-usage/index.js +1 -1
  735. package/dist/esm/lib/hexclave-app/project-configs/index.d.ts +1 -1
  736. package/dist/esm/lib/hexclave-app/project-configs/index.d.ts.map +1 -1
  737. package/dist/esm/lib/hexclave-app/project-configs/index.js +1 -1
  738. package/dist/esm/lib/hexclave-app/projects/index.d.ts +2 -2
  739. package/dist/esm/lib/hexclave-app/projects/index.d.ts.map +1 -1
  740. package/dist/esm/lib/hexclave-app/projects/index.js +5 -1
  741. package/dist/esm/lib/hexclave-app/projects/index.js.map +1 -1
  742. package/dist/esm/lib/hexclave-app/session-replays/index.d.ts.map +1 -1
  743. package/dist/esm/lib/hexclave-app/session-replays/index.js +1 -1
  744. package/dist/esm/lib/hexclave-app/teams/index.d.ts +4 -4
  745. package/dist/esm/lib/hexclave-app/teams/index.d.ts.map +1 -1
  746. package/dist/esm/lib/hexclave-app/teams/index.js +1 -1
  747. package/dist/esm/lib/hexclave-app/teams/index.js.map +1 -1
  748. package/dist/esm/lib/hexclave-app/url-targets.d.ts +1 -1
  749. package/dist/esm/lib/hexclave-app/url-targets.d.ts.map +1 -1
  750. package/dist/esm/lib/hexclave-app/url-targets.js +2 -3
  751. package/dist/esm/lib/hexclave-app/url-targets.js.map +1 -1
  752. package/dist/esm/lib/hexclave-app/url-targets.test.js +2 -3
  753. package/dist/esm/lib/hexclave-app/url-targets.test.js.map +1 -1
  754. package/dist/esm/lib/hexclave-app/users/index.d.ts +9 -9
  755. package/dist/esm/lib/hexclave-app/users/index.d.ts.map +1 -1
  756. package/dist/esm/lib/hexclave-app/users/index.js +1 -2
  757. package/dist/esm/lib/hexclave-app/users/index.js.map +1 -1
  758. package/dist/esm/lib/hooks.d.ts +1 -1
  759. package/dist/esm/lib/hooks.d.ts.map +1 -1
  760. package/dist/esm/lib/hooks.js +1 -2
  761. package/dist/esm/lib/hooks.js.map +1 -1
  762. package/dist/esm/lib/translations.d.ts.map +1 -1
  763. package/dist/esm/lib/translations.js +1 -2
  764. package/dist/esm/lib/translations.js.map +1 -1
  765. package/dist/esm/providers/hexclave-context.d.ts +1 -1
  766. package/dist/esm/providers/hexclave-context.d.ts.map +1 -1
  767. package/dist/esm/providers/hexclave-context.js +1 -3
  768. package/dist/esm/providers/hexclave-context.js.map +1 -1
  769. package/dist/esm/providers/hexclave-provider-client.d.ts +2 -3
  770. package/dist/esm/providers/hexclave-provider-client.d.ts.map +1 -1
  771. package/dist/esm/providers/hexclave-provider-client.js +2 -4
  772. package/dist/esm/providers/hexclave-provider-client.js.map +1 -1
  773. package/dist/esm/providers/hexclave-provider.d.ts +3 -4
  774. package/dist/esm/providers/hexclave-provider.d.ts.map +1 -1
  775. package/dist/esm/providers/hexclave-provider.js +2 -3
  776. package/dist/esm/providers/hexclave-provider.js.map +1 -1
  777. package/dist/esm/providers/theme-provider.d.ts +1 -2
  778. package/dist/esm/providers/theme-provider.d.ts.map +1 -1
  779. package/dist/esm/providers/theme-provider.js +3 -5
  780. package/dist/esm/providers/theme-provider.js.map +1 -1
  781. package/dist/esm/providers/translation-provider-client.d.ts +1 -2
  782. package/dist/esm/providers/translation-provider-client.d.ts.map +1 -1
  783. package/dist/esm/providers/translation-provider-client.js +1 -3
  784. package/dist/esm/providers/translation-provider-client.js.map +1 -1
  785. package/dist/esm/providers/translation-provider.d.ts +2 -3
  786. package/dist/esm/providers/translation-provider.d.ts.map +1 -1
  787. package/dist/esm/providers/translation-provider.js +1 -2
  788. package/dist/esm/providers/translation-provider.js.map +1 -1
  789. package/dist/esm/pushed-config-error-overlay/index.d.ts +1 -1
  790. package/dist/esm/pushed-config-error-overlay/index.d.ts.map +1 -1
  791. package/dist/esm/pushed-config-error-overlay/index.js +1 -2
  792. package/dist/esm/pushed-config-error-overlay/index.js.map +1 -1
  793. package/dist/esm/pushed-config-error-overlay/index.test.js +2 -3
  794. package/dist/esm/pushed-config-error-overlay/index.test.js.map +1 -1
  795. package/dist/esm/tanstack-start-server-context.d.ts +1 -3
  796. package/dist/esm/tanstack-start-server-context.d.ts.map +1 -1
  797. package/dist/esm/utils/browser-script.d.ts +1 -3
  798. package/dist/esm/utils/browser-script.d.ts.map +1 -1
  799. package/dist/esm/utils/browser-script.js +1 -2
  800. package/dist/esm/utils/browser-script.js.map +1 -1
  801. package/dist/esm/utils/constants.js +1 -1
  802. package/dist/esm/utils/constants.js.map +1 -1
  803. package/dist/esm/utils/url.d.ts.map +1 -1
  804. package/dist/esm/utils/url.js +1 -2
  805. package/dist/esm/utils/url.js.map +1 -1
  806. package/dist/forgot-password-B7RLLsC2.d.ts +12 -0
  807. package/dist/forgot-password-B7RLLsC2.d.ts.map +1 -0
  808. package/dist/generated/env.js +2 -3
  809. package/dist/generated/env.js.map +1 -1
  810. package/dist/generated/global-css.js +2 -3
  811. package/dist/generated/global-css.js.map +1 -1
  812. package/dist/generated/quetzal-translations.d.ts +2 -6
  813. package/dist/generated/quetzal-translations.js +2 -4
  814. package/dist/generated/quetzal-translations.js.map +1 -1
  815. package/dist/global.d.ts.map +1 -1
  816. package/dist/hexclave-provider-BdiqjaCz.d.ts +29 -0
  817. package/dist/hexclave-provider-BdiqjaCz.d.ts.map +1 -0
  818. package/dist/hooks-psPwqxZ4.d.ts +43 -0
  819. package/dist/hooks-psPwqxZ4.d.ts.map +1 -0
  820. package/dist/in-page-ui/base-styles.d.ts.map +1 -1
  821. package/dist/in-page-ui/base-styles.js +2 -3
  822. package/dist/in-page-ui/base-styles.js.map +1 -1
  823. package/dist/in-page-ui/dom.d.ts.map +1 -1
  824. package/dist/in-page-ui/dom.js +2 -3
  825. package/dist/in-page-ui/dom.js.map +1 -1
  826. package/dist/index-BKZ67WMa.d.ts +1 -0
  827. package/dist/index-BSr2pd22.d.ts +14 -0
  828. package/dist/index-BSr2pd22.d.ts.map +1 -0
  829. package/dist/index-BVVgDSdq.d.ts +1 -0
  830. package/dist/index-Bo5DpPFH.d.ts +17 -0
  831. package/dist/index-Bo5DpPFH.d.ts.map +1 -0
  832. package/dist/index-CBDR4cNg.d.ts +206 -0
  833. package/dist/index-CBDR4cNg.d.ts.map +1 -0
  834. package/dist/index-C_kxyHao.d.ts +57 -0
  835. package/dist/{lib/hexclave-app/connected-accounts/index.d.ts.map → index-C_kxyHao.d.ts.map} +1 -1
  836. package/dist/index-D7Vdg30O.d.ts +27 -0
  837. package/dist/index-D7Vdg30O.d.ts.map +1 -0
  838. package/dist/index-DN04TjLM.d.ts +43 -0
  839. package/dist/index-DN04TjLM.d.ts.map +1 -0
  840. package/dist/index-DSzMf-rS.d.ts +43 -0
  841. package/dist/index-DSzMf-rS.d.ts.map +1 -0
  842. package/dist/index-DbiyXho6.d.ts +129 -0
  843. package/dist/index-DbiyXho6.d.ts.map +1 -0
  844. package/dist/index-Dq4xsW7_.d.ts +106 -0
  845. package/dist/index-Dq4xsW7_.d.ts.map +1 -0
  846. package/dist/index-O3hJsHSl.d.ts +11 -0
  847. package/dist/index-O3hJsHSl.d.ts.map +1 -0
  848. package/dist/index-TUtJOdMm.d.ts +42 -0
  849. package/dist/index-TUtJOdMm.d.ts.map +1 -0
  850. package/dist/index-fOYcs4NH.d.ts +53 -0
  851. package/dist/{lib/hexclave-app/api-keys/index.d.ts.map → index-fOYcs4NH.d.ts.map} +1 -1
  852. package/dist/index-hYjsGKNc.d.ts +66 -0
  853. package/dist/index-hYjsGKNc.d.ts.map +1 -0
  854. package/dist/index-p0N9MbE5.d.ts +147 -0
  855. package/dist/index-p0N9MbE5.d.ts.map +1 -0
  856. package/dist/index.d.ts +33 -41
  857. package/dist/index.js +193 -193
  858. package/dist/integrations/convex/component/convex.config.d.ts +1 -1
  859. package/dist/integrations/convex/component/convex.config.d.ts.map +1 -1
  860. package/dist/integrations/convex/component/convex.config.js +2 -5
  861. package/dist/integrations/convex/component/convex.config.js.map +1 -1
  862. package/dist/integrations/convex.d.ts +2 -13
  863. package/dist/integrations/convex.js +2 -4
  864. package/dist/integrations/convex.js.map +1 -1
  865. package/dist/lib/auth.js +2 -4
  866. package/dist/lib/auth.js.map +1 -1
  867. package/dist/lib/auth.test.js +1 -3
  868. package/dist/lib/auth.test.js.map +1 -1
  869. package/dist/lib/cookie.d.ts +2 -42
  870. package/dist/lib/cookie.js +7 -25
  871. package/dist/lib/cookie.js.map +1 -1
  872. package/dist/lib/hexclave-app/api-keys/index.d.ts +2 -53
  873. package/dist/lib/hexclave-app/api-keys/index.js +2 -4
  874. package/dist/lib/hexclave-app/api-keys/index.js.map +1 -1
  875. package/dist/lib/hexclave-app/apps/implementations/admin-app-impl.d.ts +2 -449
  876. package/dist/lib/hexclave-app/apps/implementations/admin-app-impl.js +2 -4
  877. package/dist/lib/hexclave-app/apps/implementations/admin-app-impl.js.map +1 -1
  878. package/dist/lib/hexclave-app/apps/implementations/client-app-impl.cross-domain.test.js +1 -3
  879. package/dist/lib/hexclave-app/apps/implementations/client-app-impl.cross-domain.test.js.map +1 -1
  880. package/dist/lib/hexclave-app/apps/implementations/client-app-impl.d.ts +2 -611
  881. package/dist/lib/hexclave-app/apps/implementations/client-app-impl.js +7 -8
  882. package/dist/lib/hexclave-app/apps/implementations/client-app-impl.js.map +1 -1
  883. package/dist/lib/hexclave-app/apps/implementations/client-app-impl.oauth-prefetch.test.js +1 -3
  884. package/dist/lib/hexclave-app/apps/implementations/client-app-impl.oauth-prefetch.test.js.map +1 -1
  885. package/dist/lib/hexclave-app/apps/implementations/common.d.ts +2 -66
  886. package/dist/lib/hexclave-app/apps/implementations/common.js +9 -10
  887. package/dist/lib/hexclave-app/apps/implementations/common.js.map +1 -1
  888. package/dist/lib/hexclave-app/apps/implementations/event-tracker.d.ts.map +1 -1
  889. package/dist/lib/hexclave-app/apps/implementations/event-tracker.js +2 -4
  890. package/dist/lib/hexclave-app/apps/implementations/event-tracker.js.map +1 -1
  891. package/dist/lib/hexclave-app/apps/implementations/event-tracker.test.js +1 -3
  892. package/dist/lib/hexclave-app/apps/implementations/event-tracker.test.js.map +1 -1
  893. package/dist/lib/hexclave-app/apps/implementations/index.d.ts +1 -3
  894. package/dist/lib/hexclave-app/apps/implementations/index.d.ts.map +1 -1
  895. package/dist/lib/hexclave-app/apps/implementations/index.js +2 -4
  896. package/dist/lib/hexclave-app/apps/implementations/index.js.map +1 -1
  897. package/dist/lib/hexclave-app/apps/implementations/redirect-page-urls.d.ts +2 -35
  898. package/dist/lib/hexclave-app/apps/implementations/redirect-page-urls.js +2 -4
  899. package/dist/lib/hexclave-app/apps/implementations/redirect-page-urls.js.map +1 -1
  900. package/dist/lib/hexclave-app/apps/implementations/server-app-impl.d.ts +2 -274
  901. package/dist/lib/hexclave-app/apps/implementations/server-app-impl.js +2 -4
  902. package/dist/lib/hexclave-app/apps/implementations/server-app-impl.js.map +1 -1
  903. package/dist/lib/hexclave-app/apps/implementations/session-refresh-subscription.d.ts.map +1 -1
  904. package/dist/lib/hexclave-app/apps/implementations/session-refresh-subscription.js +2 -3
  905. package/dist/lib/hexclave-app/apps/implementations/session-refresh-subscription.js.map +1 -1
  906. package/dist/lib/hexclave-app/apps/implementations/session-refresh-subscription.test.js +1 -3
  907. package/dist/lib/hexclave-app/apps/implementations/session-refresh-subscription.test.js.map +1 -1
  908. package/dist/lib/hexclave-app/apps/implementations/session-replay.d.ts +2 -122
  909. package/dist/lib/hexclave-app/apps/implementations/session-replay.js +14 -9
  910. package/dist/lib/hexclave-app/apps/implementations/session-replay.js.map +1 -1
  911. package/dist/lib/hexclave-app/apps/implementations/session-replay.test.js +135 -3
  912. package/dist/lib/hexclave-app/apps/implementations/session-replay.test.js.map +1 -1
  913. package/dist/lib/hexclave-app/apps/index.d.ts +1 -3
  914. package/dist/lib/hexclave-app/apps/index.js +32 -34
  915. package/dist/lib/hexclave-app/apps/interfaces/admin-app.d.ts +3 -272
  916. package/dist/lib/hexclave-app/apps/interfaces/admin-app.js +3 -6
  917. package/dist/lib/hexclave-app/apps/interfaces/admin-app.js.map +1 -1
  918. package/dist/lib/hexclave-app/apps/interfaces/client-app.d.ts +2 -237
  919. package/dist/lib/hexclave-app/apps/interfaces/client-app.js +3 -6
  920. package/dist/lib/hexclave-app/apps/interfaces/client-app.js.map +1 -1
  921. package/dist/lib/hexclave-app/apps/interfaces/server-app.d.ts +2 -174
  922. package/dist/lib/hexclave-app/apps/interfaces/server-app.js +3 -6
  923. package/dist/lib/hexclave-app/apps/interfaces/server-app.js.map +1 -1
  924. package/dist/lib/hexclave-app/common.d.ts +2 -183
  925. package/dist/lib/hexclave-app/common.js +2 -3
  926. package/dist/lib/hexclave-app/common.js.map +1 -1
  927. package/dist/lib/hexclave-app/connected-accounts/index.d.ts +2 -57
  928. package/dist/lib/hexclave-app/contact-channels/index.d.ts +2 -43
  929. package/dist/lib/hexclave-app/contact-channels/index.js +2 -3
  930. package/dist/lib/hexclave-app/contact-channels/index.js.map +1 -1
  931. package/dist/lib/hexclave-app/customers/index.d.ts +2 -129
  932. package/dist/lib/hexclave-app/data-vault/index.d.ts +2 -14
  933. package/dist/lib/hexclave-app/email/index.d.ts +2 -206
  934. package/dist/lib/hexclave-app/email-templates/index.d.ts +2 -17
  935. package/dist/lib/hexclave-app/email-templates/index.js +2 -3
  936. package/dist/lib/hexclave-app/email-templates/index.js.map +1 -1
  937. package/dist/lib/hexclave-app/index.d.ts +10 -15
  938. package/dist/lib/hexclave-app/index.js +49 -51
  939. package/dist/lib/hexclave-app/internal-api-keys/index.d.ts +2 -42
  940. package/dist/lib/hexclave-app/internal-api-keys/index.js +2 -3
  941. package/dist/lib/hexclave-app/internal-api-keys/index.js.map +1 -1
  942. package/dist/lib/hexclave-app/notification-categories/index.d.ts +2 -11
  943. package/dist/lib/hexclave-app/permissions/index.d.ts +2 -43
  944. package/dist/lib/hexclave-app/permissions/index.js +2 -3
  945. package/dist/lib/hexclave-app/permissions/index.js.map +1 -1
  946. package/dist/lib/hexclave-app/plan-usage/index.d.ts +2 -27
  947. package/dist/lib/hexclave-app/project-configs/index.d.ts +2 -106
  948. package/dist/lib/hexclave-app/projects/index.d.ts +2 -154
  949. package/dist/lib/hexclave-app/projects/index.js +6 -3
  950. package/dist/lib/hexclave-app/projects/index.js.map +1 -1
  951. package/dist/lib/hexclave-app/session-replays/index.d.ts +2 -66
  952. package/dist/lib/hexclave-app/teams/index.d.ts +2 -167
  953. package/dist/lib/hexclave-app/teams/index.js +2 -3
  954. package/dist/lib/hexclave-app/teams/index.js.map +1 -1
  955. package/dist/lib/hexclave-app/url-targets.d.ts +2 -39
  956. package/dist/lib/hexclave-app/url-targets.js +3 -5
  957. package/dist/lib/hexclave-app/url-targets.js.map +1 -1
  958. package/dist/lib/hexclave-app/url-targets.test.js +1 -3
  959. package/dist/lib/hexclave-app/url-targets.test.js.map +1 -1
  960. package/dist/lib/hexclave-app/users/index.d.ts +2 -400
  961. package/dist/lib/hexclave-app/users/index.js +2 -4
  962. package/dist/lib/hexclave-app/users/index.js.map +1 -1
  963. package/dist/lib/hooks.d.ts +2 -45
  964. package/dist/lib/hooks.js +2 -4
  965. package/dist/lib/hooks.js.map +1 -1
  966. package/dist/lib/translations.d.ts.map +1 -1
  967. package/dist/lib/translations.js +4 -5
  968. package/dist/lib/translations.js.map +1 -1
  969. package/dist/magic-link-callback-DOfNLydt.d.ts +8 -0
  970. package/dist/magic-link-callback-DOfNLydt.d.ts.map +1 -0
  971. package/dist/magic-link-sign-in-D5MFDeWQ.d.ts +5 -0
  972. package/dist/magic-link-sign-in-D5MFDeWQ.d.ts.map +1 -0
  973. package/dist/message-card-C0AQX5-y.d.ts +18 -0
  974. package/dist/message-card-C0AQX5-y.d.ts.map +1 -0
  975. package/dist/mfa-CwYuxAd-.d.ts +9 -0
  976. package/dist/mfa-CwYuxAd-.d.ts.map +1 -0
  977. package/dist/oauth-button-PE3z60ay.d.ts +15 -0
  978. package/dist/oauth-button-PE3z60ay.d.ts.map +1 -0
  979. package/dist/oauth-button-group-slCOrSxK.d.ts +17 -0
  980. package/dist/oauth-button-group-slCOrSxK.d.ts.map +1 -0
  981. package/dist/oauth-callback-tCVTRbF2.d.ts +9 -0
  982. package/dist/oauth-callback-tCVTRbF2.d.ts.map +1 -0
  983. package/dist/onboarding-CdpQNCZF.d.ts +7 -0
  984. package/dist/onboarding-CdpQNCZF.d.ts.map +1 -0
  985. package/dist/password-reset-CxIuXeIx.d.ts +15 -0
  986. package/dist/password-reset-CxIuXeIx.d.ts.map +1 -0
  987. package/dist/providers/hexclave-context.d.ts +1 -1
  988. package/dist/providers/hexclave-context.d.ts.map +1 -1
  989. package/dist/providers/hexclave-context.js +5 -8
  990. package/dist/providers/hexclave-context.js.map +1 -1
  991. package/dist/providers/hexclave-provider-client.d.ts +2 -3
  992. package/dist/providers/hexclave-provider-client.d.ts.map +1 -1
  993. package/dist/providers/hexclave-provider-client.js +4 -6
  994. package/dist/providers/hexclave-provider-client.js.map +1 -1
  995. package/dist/providers/hexclave-provider.d.ts +2 -32
  996. package/dist/providers/hexclave-provider.js +7 -5
  997. package/dist/providers/hexclave-provider.js.map +1 -1
  998. package/dist/providers/theme-provider.d.ts +2 -50
  999. package/dist/providers/theme-provider.js +6 -8
  1000. package/dist/providers/theme-provider.js.map +1 -1
  1001. package/dist/providers/translation-provider-client.d.ts +1 -2
  1002. package/dist/providers/translation-provider-client.d.ts.map +1 -1
  1003. package/dist/providers/translation-provider-client.js +5 -8
  1004. package/dist/providers/translation-provider-client.js.map +1 -1
  1005. package/dist/providers/translation-provider.d.ts +2 -16
  1006. package/dist/providers/translation-provider.js +2 -4
  1007. package/dist/providers/translation-provider.js.map +1 -1
  1008. package/dist/pushed-config-error-overlay/index.d.ts +1 -2
  1009. package/dist/pushed-config-error-overlay/index.d.ts.map +1 -1
  1010. package/dist/pushed-config-error-overlay/index.js +2 -4
  1011. package/dist/pushed-config-error-overlay/index.js.map +1 -1
  1012. package/dist/pushed-config-error-overlay/index.test.js +1 -3
  1013. package/dist/pushed-config-error-overlay/index.test.js.map +1 -1
  1014. package/dist/quetzal-translations-XeH3zQ9l.d.ts +6 -0
  1015. package/dist/quetzal-translations-XeH3zQ9l.d.ts.map +1 -0
  1016. package/dist/redirect-page-urls-NUHUchgR.d.ts +35 -0
  1017. package/dist/redirect-page-urls-NUHUchgR.d.ts.map +1 -0
  1018. package/dist/{chunk-BE-pF4vm.js → rolldown-runtime-D6vf50IK.js} +12 -18
  1019. package/dist/session-replay-CQ849yH1.d.ts +122 -0
  1020. package/dist/session-replay-CQ849yH1.d.ts.map +1 -0
  1021. package/dist/sign-in-BT45jb_W.d.ts +21 -0
  1022. package/dist/sign-in-BT45jb_W.d.ts.map +1 -0
  1023. package/dist/sign-out-DBnSkfDz.d.ts +8 -0
  1024. package/dist/sign-out-DBnSkfDz.d.ts.map +1 -0
  1025. package/dist/sign-up-BjE_0DB4.d.ts +11 -0
  1026. package/dist/sign-up-BjE_0DB4.d.ts.map +1 -0
  1027. package/dist/{storage-ksajV_p6.d.ts → storage-kputlpQY.d.ts} +1 -1
  1028. package/dist/storage-kputlpQY.d.ts.map +1 -0
  1029. package/dist/tanstack-start-server-context.d.ts +2635 -2
  1030. package/dist/tanstack-start-server-context.d.ts.map +1 -1
  1031. package/dist/team-invitation-B5Ol7vdd.d.ts +11 -0
  1032. package/dist/team-invitation-B5Ol7vdd.d.ts.map +1 -0
  1033. package/dist/theme-provider-D9_ngSbi.d.ts +49 -0
  1034. package/dist/theme-provider-D9_ngSbi.d.ts.map +1 -0
  1035. package/dist/translation-provider-WOaZXqAz.d.ts +15 -0
  1036. package/dist/translation-provider-WOaZXqAz.d.ts.map +1 -0
  1037. package/dist/url-targets-CWO0mjTr.d.ts +39 -0
  1038. package/dist/url-targets-CWO0mjTr.d.ts.map +1 -0
  1039. package/dist/user-avatar-CTyDsibI.d.ts +13 -0
  1040. package/dist/user-avatar-CTyDsibI.d.ts.map +1 -0
  1041. package/dist/user-button-CykqVKoH.d.ts +21 -0
  1042. package/dist/user-button-CykqVKoH.d.ts.map +1 -0
  1043. package/dist/utils/browser-script.d.ts +1 -3
  1044. package/dist/utils/browser-script.d.ts.map +1 -1
  1045. package/dist/utils/browser-script.js +2 -4
  1046. package/dist/utils/browser-script.js.map +1 -1
  1047. package/dist/utils/constants.js +2 -3
  1048. package/dist/utils/constants.js.map +1 -1
  1049. package/dist/utils/url.d.ts.map +1 -1
  1050. package/dist/utils/url.js +2 -4
  1051. package/dist/utils/url.js.map +1 -1
  1052. package/package.json +6 -6
  1053. package/src/lib/hexclave-app/apps/implementations/session-replay.test.ts +160 -1
  1054. package/src/lib/hexclave-app/apps/implementations/session-replay.ts +38 -12
  1055. package/dist/components/credential-sign-in.d.ts.map +0 -1
  1056. package/dist/components/credential-sign-up.d.ts.map +0 -1
  1057. package/dist/components/elements/user-avatar.d.ts.map +0 -1
  1058. package/dist/components/magic-link-sign-in.d.ts.map +0 -1
  1059. package/dist/components/message-cards/message-card.d.ts.map +0 -1
  1060. package/dist/components/oauth-button-group.d.ts.map +0 -1
  1061. package/dist/components/oauth-button.d.ts.map +0 -1
  1062. package/dist/components/selected-team-switcher.d.ts.map +0 -1
  1063. package/dist/components/team-switcher.d.ts.map +0 -1
  1064. package/dist/components/user-button.d.ts.map +0 -1
  1065. package/dist/components-page/account-settings.d.ts.map +0 -1
  1066. package/dist/components-page/auth-page.d.ts.map +0 -1
  1067. package/dist/components-page/cli-auth-confirm.d.ts.map +0 -1
  1068. package/dist/components-page/email-verification.d.ts.map +0 -1
  1069. package/dist/components-page/error-page.d.ts.map +0 -1
  1070. package/dist/components-page/forgot-password.d.ts.map +0 -1
  1071. package/dist/components-page/hexclave-handler-client.d.ts.map +0 -1
  1072. package/dist/components-page/hexclave-handler.d.ts.map +0 -1
  1073. package/dist/components-page/magic-link-callback.d.ts.map +0 -1
  1074. package/dist/components-page/mfa.d.ts.map +0 -1
  1075. package/dist/components-page/oauth-callback.d.ts.map +0 -1
  1076. package/dist/components-page/onboarding.d.ts.map +0 -1
  1077. package/dist/components-page/password-reset.d.ts.map +0 -1
  1078. package/dist/components-page/sign-in.d.ts.map +0 -1
  1079. package/dist/components-page/sign-out.d.ts.map +0 -1
  1080. package/dist/components-page/sign-up.d.ts.map +0 -1
  1081. package/dist/components-page/team-invitation.d.ts.map +0 -1
  1082. package/dist/generated/quetzal-translations.d.ts.map +0 -1
  1083. package/dist/integrations/convex.d.ts.map +0 -1
  1084. package/dist/lib/cookie.d.ts.map +0 -1
  1085. package/dist/lib/hexclave-app/apps/implementations/admin-app-impl.d.ts.map +0 -1
  1086. package/dist/lib/hexclave-app/apps/implementations/client-app-impl.d.ts.map +0 -1
  1087. package/dist/lib/hexclave-app/apps/implementations/common.d.ts.map +0 -1
  1088. package/dist/lib/hexclave-app/apps/implementations/redirect-page-urls.d.ts.map +0 -1
  1089. package/dist/lib/hexclave-app/apps/implementations/server-app-impl.d.ts.map +0 -1
  1090. package/dist/lib/hexclave-app/apps/implementations/session-replay.d.ts.map +0 -1
  1091. package/dist/lib/hexclave-app/apps/interfaces/admin-app.d.ts.map +0 -1
  1092. package/dist/lib/hexclave-app/apps/interfaces/client-app.d.ts.map +0 -1
  1093. package/dist/lib/hexclave-app/apps/interfaces/server-app.d.ts.map +0 -1
  1094. package/dist/lib/hexclave-app/common.d.ts.map +0 -1
  1095. package/dist/lib/hexclave-app/contact-channels/index.d.ts.map +0 -1
  1096. package/dist/lib/hexclave-app/customers/index.d.ts.map +0 -1
  1097. package/dist/lib/hexclave-app/data-vault/index.d.ts.map +0 -1
  1098. package/dist/lib/hexclave-app/email/index.d.ts.map +0 -1
  1099. package/dist/lib/hexclave-app/email-templates/index.d.ts.map +0 -1
  1100. package/dist/lib/hexclave-app/internal-api-keys/index.d.ts.map +0 -1
  1101. package/dist/lib/hexclave-app/notification-categories/index.d.ts.map +0 -1
  1102. package/dist/lib/hexclave-app/permissions/index.d.ts.map +0 -1
  1103. package/dist/lib/hexclave-app/plan-usage/index.d.ts.map +0 -1
  1104. package/dist/lib/hexclave-app/project-configs/index.d.ts.map +0 -1
  1105. package/dist/lib/hexclave-app/projects/index.d.ts.map +0 -1
  1106. package/dist/lib/hexclave-app/session-replays/index.d.ts.map +0 -1
  1107. package/dist/lib/hexclave-app/teams/index.d.ts.map +0 -1
  1108. package/dist/lib/hexclave-app/url-targets.d.ts.map +0 -1
  1109. package/dist/lib/hexclave-app/users/index.d.ts.map +0 -1
  1110. package/dist/lib/hooks.d.ts.map +0 -1
  1111. package/dist/providers/hexclave-provider.d.ts.map +0 -1
  1112. package/dist/providers/theme-provider.d.ts.map +0 -1
  1113. package/dist/providers/translation-provider.d.ts.map +0 -1
  1114. package/dist/storage-ksajV_p6.d.ts.map +0 -1
@@ -1,5 +1,4 @@
1
- 'use client';
2
-
1
+ "use client";
3
2
  import { runAsynchronously } from "@hexclave/shared/dist/utils/promises";
4
3
  import { captureError } from "@hexclave/shared/dist/utils/errors";
5
4
  import { Skeleton, Tabs, TabsContent, TabsList, TabsTrigger, Typography, cn } from "@hexclave/ui";
@@ -20,7 +19,6 @@ import { MagicLinkSignIn } from "../components/magic-link-sign-in.js";
20
19
  import { PredefinedMessageCard } from "../components/message-cards/predefined-message-card.js";
21
20
  import { OAuthButtonGroup } from "../components/oauth-button-group.js";
22
21
  import { PasskeyButton } from "../components/passkey-button.js";
23
-
24
22
  //#region src/components-page/auth-page.tsx
25
23
  function AuthPage(props) {
26
24
  return /* @__PURE__ */ jsx(Suspense, {
@@ -200,7 +198,7 @@ function Inner(props) {
200
198
  })
201
199
  });
202
200
  }
203
-
204
201
  //#endregion
205
202
  export { AuthPage };
203
+
206
204
  //# sourceMappingURL=auth-page.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth-page.js","names":["MessageCard"],"sources":["../../../src/components-page/auth-page.tsx"],"sourcesContent":["'use client';\n\n\n//===========================================\n// THIS FILE IS AUTO-GENERATED FROM TEMPLATE. DO NOT EDIT IT DIRECTLY UNLESS YOU ALSO EDIT THE CORRESPONDING FILE IN packages/template\n//===========================================\n\nimport { KnownError } from '@hexclave/shared';\nimport { captureError } from '@hexclave/shared/dist/utils/errors';\nimport { runAsynchronously } from '@hexclave/shared/dist/utils/promises';\nimport { use } from '@hexclave/shared/dist/utils/react';\nimport { Skeleton, Tabs, TabsContent, TabsList, TabsTrigger, Typography, cn } from '@hexclave/ui';\nimport { Suspense, useMemo } from 'react';\nimport { useStackApp, useUser } from '..';\nimport { CredentialSignIn } from '../components/credential-sign-in';\nimport { CredentialSignUp } from '../components/credential-sign-up';\nimport { MaybeFullPage } from '../components/elements/maybe-full-page';\nimport { SeparatorWithText } from '../components/elements/separator-with-text';\nimport { StyledLink } from '../components/link';\nimport { KnownErrorMessageCard } from '../components/message-cards/known-error-message-card';\nimport { MessageCard } from '../components/message-cards/message-card';\nimport { MagicLinkSignIn } from '../components/magic-link-sign-in';\nimport { PredefinedMessageCard } from '../components/message-cards/predefined-message-card';\nimport { OAuthButtonGroup } from '../components/oauth-button-group';\nimport { PasskeyButton } from '../components/passkey-button';\nimport { useTranslation } from '../lib/translations';\n\ntype Props = {\n noPasswordRepeat?: boolean,\n firstTab?: 'magic-link' | 'password',\n fullPage?: boolean,\n type: 'sign-in' | 'sign-up',\n automaticRedirect?: boolean,\n extraInfo?: React.ReactNode,\n mockProject?: {\n config: {\n signUpEnabled: boolean,\n credentialEnabled: boolean,\n passkeyEnabled: boolean,\n magicLinkEnabled: boolean,\n oauthProviders: {\n id: string,\n }[],\n },\n },\n}\n\ntype AutomaticRedirectResult =\n | { status: \"success\" }\n | { status: \"known-error\", error: KnownError }\n | { status: \"unknown-error\" };\n\nexport function AuthPage(props: Props) {\n return <Suspense fallback={<Fallback {...props} />}>\n <Inner {...props} />\n </Suspense>;\n}\n\nfunction Fallback(props: Props) {\n return (\n <MaybeFullPage fullPage={!!props.fullPage}>\n <div className='stack-scope flex flex-col items-stretch' style={{ maxWidth: '380px', flexBasis: '380px', padding: props.fullPage ? '1rem' : 0 }}>\n <div className=\"text-center mb-6 flex flex-col\">\n <Skeleton className='h-9 w-2/3 self-center' />\n\n <Skeleton className='h-3 w-16 mt-8' />\n <Skeleton className='h-9 w-full mt-1' />\n\n <Skeleton className='h-3 w-24 mt-2' />\n <Skeleton className='h-9 w-full mt-1' />\n\n <Skeleton className='h-9 w-full mt-6' />\n </div>\n </div>\n </MaybeFullPage>\n );\n}\n\nfunction AutomaticRedirect(props: {\n fullPage?: boolean,\n isRestricted: boolean,\n type: 'sign-in' | 'sign-up',\n}) {\n const hexclaveApp = useStackApp();\n const { t } = useTranslation();\n const redirectResultPromise = useMemo(async (): Promise<AutomaticRedirectResult> => {\n try {\n await (\n props.isRestricted\n ? hexclaveApp.redirectToOnboarding({ replace: true })\n : props.type === 'sign-in'\n ? hexclaveApp.redirectToAfterSignIn({ replace: true })\n : hexclaveApp.redirectToAfterSignUp({ replace: true })\n );\n return { status: \"success\" };\n } catch (e) {\n if (KnownError.isKnownError(e)) {\n return { status: \"known-error\", error: e };\n }\n captureError(\"<AuthPage automaticRedirect />\", e);\n return { status: \"unknown-error\" };\n }\n }, [hexclaveApp, props.isRestricted, props.type]);\n\n const redirectResult = use(redirectResultPromise);\n if (redirectResult.status === \"known-error\") {\n return <KnownErrorMessageCard error={redirectResult.error} fullPage={props.fullPage} />;\n }\n if (redirectResult.status === \"unknown-error\") {\n return <PredefinedMessageCard type='unknownError' fullPage={props.fullPage} />;\n }\n return <MessageCard title={t(\"Redirecting...\")} fullPage={props.fullPage} />;\n}\n\nfunction Inner(props: Props) {\n const hexclaveApp = useStackApp();\n const user = useUser({ includeRestricted: true });\n const projectFromHook = hexclaveApp.useProject();\n const project = props.mockProject || projectFromHook;\n const { t } = useTranslation();\n\n if (props.automaticRedirect && user && !props.mockProject) {\n return <Suspense fallback={<MessageCard title={t(\"Redirecting...\")} fullPage={props.fullPage} />}>\n <AutomaticRedirect fullPage={props.fullPage} isRestricted={user.isRestricted} type={props.type} />\n </Suspense>;\n }\n\n if (user && !props.mockProject && !props.automaticRedirect) {\n return <PredefinedMessageCard type='signedIn' fullPage={props.fullPage} />;\n }\n\n if (props.type === 'sign-up' && !project.config.signUpEnabled) {\n return <PredefinedMessageCard type='signUpDisabled' fullPage={props.fullPage} />;\n }\n\n const hasOAuthProviders = project.config.oauthProviders.length > 0;\n const hasPasskey = (project.config.passkeyEnabled === true && props.type === \"sign-in\");\n const enableSeparator = (project.config.credentialEnabled || project.config.magicLinkEnabled) && (hasOAuthProviders || hasPasskey);\n\n return (\n <MaybeFullPage fullPage={!!props.fullPage}>\n <div className='stack-scope flex flex-col items-stretch' style={{ maxWidth: '380px', flexBasis: '380px', padding: props.fullPage ? '1rem' : 0 }}>\n <div className=\"text-center mb-6\">\n <Typography type='h2'>\n {props.type === 'sign-in' ? t(\"Sign in to your account\") : t(\"Create a new account\")}\n </Typography>\n {props.type === 'sign-in' ? (\n project.config.signUpEnabled && (\n <Typography>\n {t(\"Don't have an account?\")}{\" \"}\n <StyledLink href=\"#\" onClick={(e) => {\n runAsynchronously(hexclaveApp.redirectToSignUp());\n e.preventDefault();\n }}>{t(\"Sign up\")}</StyledLink>\n </Typography>\n )\n ) : (\n <Typography>\n {t(\"Already have an account?\")}{\" \"}\n <StyledLink href=\"#\" onClick={(e) => {\n runAsynchronously(hexclaveApp.redirectToSignIn());\n e.preventDefault();\n }}>{t(\"Sign in\")}</StyledLink>\n </Typography>\n )}\n </div>\n {(hasOAuthProviders || hasPasskey) && (\n <div className='gap-4 flex flex-col items-stretch stack-scope'>\n {hasOAuthProviders && <OAuthButtonGroup type={props.type} mockProject={props.mockProject} />}\n {hasPasskey && <PasskeyButton type={props.type} />}\n </div>\n )}\n\n {enableSeparator && <SeparatorWithText text={t('Or continue with')} />}\n {project.config.credentialEnabled && project.config.magicLinkEnabled ? (\n <Tabs defaultValue={props.firstTab || 'magic-link'}>\n <TabsList className={cn('w-full mb-2', {\n 'flex-row-reverse': props.firstTab === 'password'\n })}>\n <TabsTrigger value='magic-link' className='flex-1'>{t(\"Email\")}</TabsTrigger>\n <TabsTrigger value='password' className='flex-1'>{t(\"Email & Password\")}</TabsTrigger>\n </TabsList>\n <TabsContent value='magic-link'>\n <MagicLinkSignIn />\n </TabsContent>\n <TabsContent value='password'>\n {props.type === 'sign-up' ? <CredentialSignUp noPasswordRepeat={props.noPasswordRepeat} /> : <CredentialSignIn />}\n </TabsContent>\n </Tabs>\n ) : project.config.credentialEnabled ? (\n props.type === 'sign-up' ? <CredentialSignUp noPasswordRepeat={props.noPasswordRepeat} /> : <CredentialSignIn />\n ) : project.config.magicLinkEnabled ? (\n <MagicLinkSignIn />\n ) : !(hasOAuthProviders || hasPasskey) ? <Typography variant={\"destructive\"} className=\"text-center\">{t(\"No authentication method enabled.\")}</Typography> : null}\n {props.extraInfo && (\n <div className={cn('flex flex-col items-center text-center text-sm text-gray-500', {\n 'mt-2': project.config.credentialEnabled || project.config.magicLinkEnabled,\n 'mt-6': !(project.config.credentialEnabled || project.config.magicLinkEnabled),\n })}>\n <div>{props.extraInfo}</div>\n </div>\n )}\n </div>\n </MaybeFullPage>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"auth-page.js","names":["MessageCard"],"sources":["../../../src/components-page/auth-page.tsx"],"sourcesContent":["'use client';\n\n\n//===========================================\n// THIS FILE IS AUTO-GENERATED FROM TEMPLATE. DO NOT EDIT IT DIRECTLY UNLESS YOU ALSO EDIT THE CORRESPONDING FILE IN packages/template\n//===========================================\n\nimport { KnownError } from '@hexclave/shared';\nimport { captureError } from '@hexclave/shared/dist/utils/errors';\nimport { runAsynchronously } from '@hexclave/shared/dist/utils/promises';\nimport { use } from '@hexclave/shared/dist/utils/react';\nimport { Skeleton, Tabs, TabsContent, TabsList, TabsTrigger, Typography, cn } from '@hexclave/ui';\nimport { Suspense, useMemo } from 'react';\nimport { useStackApp, useUser } from '..';\nimport { CredentialSignIn } from '../components/credential-sign-in';\nimport { CredentialSignUp } from '../components/credential-sign-up';\nimport { MaybeFullPage } from '../components/elements/maybe-full-page';\nimport { SeparatorWithText } from '../components/elements/separator-with-text';\nimport { StyledLink } from '../components/link';\nimport { KnownErrorMessageCard } from '../components/message-cards/known-error-message-card';\nimport { MessageCard } from '../components/message-cards/message-card';\nimport { MagicLinkSignIn } from '../components/magic-link-sign-in';\nimport { PredefinedMessageCard } from '../components/message-cards/predefined-message-card';\nimport { OAuthButtonGroup } from '../components/oauth-button-group';\nimport { PasskeyButton } from '../components/passkey-button';\nimport { useTranslation } from '../lib/translations';\n\ntype Props = {\n noPasswordRepeat?: boolean,\n firstTab?: 'magic-link' | 'password',\n fullPage?: boolean,\n type: 'sign-in' | 'sign-up',\n automaticRedirect?: boolean,\n extraInfo?: React.ReactNode,\n mockProject?: {\n config: {\n signUpEnabled: boolean,\n credentialEnabled: boolean,\n passkeyEnabled: boolean,\n magicLinkEnabled: boolean,\n oauthProviders: {\n id: string,\n }[],\n },\n },\n}\n\ntype AutomaticRedirectResult =\n | { status: \"success\" }\n | { status: \"known-error\", error: KnownError }\n | { status: \"unknown-error\" };\n\nexport function AuthPage(props: Props) {\n return <Suspense fallback={<Fallback {...props} />}>\n <Inner {...props} />\n </Suspense>;\n}\n\nfunction Fallback(props: Props) {\n return (\n <MaybeFullPage fullPage={!!props.fullPage}>\n <div className='stack-scope flex flex-col items-stretch' style={{ maxWidth: '380px', flexBasis: '380px', padding: props.fullPage ? '1rem' : 0 }}>\n <div className=\"text-center mb-6 flex flex-col\">\n <Skeleton className='h-9 w-2/3 self-center' />\n\n <Skeleton className='h-3 w-16 mt-8' />\n <Skeleton className='h-9 w-full mt-1' />\n\n <Skeleton className='h-3 w-24 mt-2' />\n <Skeleton className='h-9 w-full mt-1' />\n\n <Skeleton className='h-9 w-full mt-6' />\n </div>\n </div>\n </MaybeFullPage>\n );\n}\n\nfunction AutomaticRedirect(props: {\n fullPage?: boolean,\n isRestricted: boolean,\n type: 'sign-in' | 'sign-up',\n}) {\n const hexclaveApp = useStackApp();\n const { t } = useTranslation();\n const redirectResultPromise = useMemo(async (): Promise<AutomaticRedirectResult> => {\n try {\n await (\n props.isRestricted\n ? hexclaveApp.redirectToOnboarding({ replace: true })\n : props.type === 'sign-in'\n ? hexclaveApp.redirectToAfterSignIn({ replace: true })\n : hexclaveApp.redirectToAfterSignUp({ replace: true })\n );\n return { status: \"success\" };\n } catch (e) {\n if (KnownError.isKnownError(e)) {\n return { status: \"known-error\", error: e };\n }\n captureError(\"<AuthPage automaticRedirect />\", e);\n return { status: \"unknown-error\" };\n }\n }, [hexclaveApp, props.isRestricted, props.type]);\n\n const redirectResult = use(redirectResultPromise);\n if (redirectResult.status === \"known-error\") {\n return <KnownErrorMessageCard error={redirectResult.error} fullPage={props.fullPage} />;\n }\n if (redirectResult.status === \"unknown-error\") {\n return <PredefinedMessageCard type='unknownError' fullPage={props.fullPage} />;\n }\n return <MessageCard title={t(\"Redirecting...\")} fullPage={props.fullPage} />;\n}\n\nfunction Inner(props: Props) {\n const hexclaveApp = useStackApp();\n const user = useUser({ includeRestricted: true });\n const projectFromHook = hexclaveApp.useProject();\n const project = props.mockProject || projectFromHook;\n const { t } = useTranslation();\n\n if (props.automaticRedirect && user && !props.mockProject) {\n return <Suspense fallback={<MessageCard title={t(\"Redirecting...\")} fullPage={props.fullPage} />}>\n <AutomaticRedirect fullPage={props.fullPage} isRestricted={user.isRestricted} type={props.type} />\n </Suspense>;\n }\n\n if (user && !props.mockProject && !props.automaticRedirect) {\n return <PredefinedMessageCard type='signedIn' fullPage={props.fullPage} />;\n }\n\n if (props.type === 'sign-up' && !project.config.signUpEnabled) {\n return <PredefinedMessageCard type='signUpDisabled' fullPage={props.fullPage} />;\n }\n\n const hasOAuthProviders = project.config.oauthProviders.length > 0;\n const hasPasskey = (project.config.passkeyEnabled === true && props.type === \"sign-in\");\n const enableSeparator = (project.config.credentialEnabled || project.config.magicLinkEnabled) && (hasOAuthProviders || hasPasskey);\n\n return (\n <MaybeFullPage fullPage={!!props.fullPage}>\n <div className='stack-scope flex flex-col items-stretch' style={{ maxWidth: '380px', flexBasis: '380px', padding: props.fullPage ? '1rem' : 0 }}>\n <div className=\"text-center mb-6\">\n <Typography type='h2'>\n {props.type === 'sign-in' ? t(\"Sign in to your account\") : t(\"Create a new account\")}\n </Typography>\n {props.type === 'sign-in' ? (\n project.config.signUpEnabled && (\n <Typography>\n {t(\"Don't have an account?\")}{\" \"}\n <StyledLink href=\"#\" onClick={(e) => {\n runAsynchronously(hexclaveApp.redirectToSignUp());\n e.preventDefault();\n }}>{t(\"Sign up\")}</StyledLink>\n </Typography>\n )\n ) : (\n <Typography>\n {t(\"Already have an account?\")}{\" \"}\n <StyledLink href=\"#\" onClick={(e) => {\n runAsynchronously(hexclaveApp.redirectToSignIn());\n e.preventDefault();\n }}>{t(\"Sign in\")}</StyledLink>\n </Typography>\n )}\n </div>\n {(hasOAuthProviders || hasPasskey) && (\n <div className='gap-4 flex flex-col items-stretch stack-scope'>\n {hasOAuthProviders && <OAuthButtonGroup type={props.type} mockProject={props.mockProject} />}\n {hasPasskey && <PasskeyButton type={props.type} />}\n </div>\n )}\n\n {enableSeparator && <SeparatorWithText text={t('Or continue with')} />}\n {project.config.credentialEnabled && project.config.magicLinkEnabled ? (\n <Tabs defaultValue={props.firstTab || 'magic-link'}>\n <TabsList className={cn('w-full mb-2', {\n 'flex-row-reverse': props.firstTab === 'password'\n })}>\n <TabsTrigger value='magic-link' className='flex-1'>{t(\"Email\")}</TabsTrigger>\n <TabsTrigger value='password' className='flex-1'>{t(\"Email & Password\")}</TabsTrigger>\n </TabsList>\n <TabsContent value='magic-link'>\n <MagicLinkSignIn />\n </TabsContent>\n <TabsContent value='password'>\n {props.type === 'sign-up' ? <CredentialSignUp noPasswordRepeat={props.noPasswordRepeat} /> : <CredentialSignIn />}\n </TabsContent>\n </Tabs>\n ) : project.config.credentialEnabled ? (\n props.type === 'sign-up' ? <CredentialSignUp noPasswordRepeat={props.noPasswordRepeat} /> : <CredentialSignIn />\n ) : project.config.magicLinkEnabled ? (\n <MagicLinkSignIn />\n ) : !(hasOAuthProviders || hasPasskey) ? <Typography variant={\"destructive\"} className=\"text-center\">{t(\"No authentication method enabled.\")}</Typography> : null}\n {props.extraInfo && (\n <div className={cn('flex flex-col items-center text-center text-sm text-gray-500', {\n 'mt-2': project.config.credentialEnabled || project.config.magicLinkEnabled,\n 'mt-6': !(project.config.credentialEnabled || project.config.magicLinkEnabled),\n })}>\n <div>{props.extraInfo}</div>\n </div>\n )}\n </div>\n </MaybeFullPage>\n );\n}\n"],"mappings":"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"}
@@ -1,5 +1,3 @@
1
- import * as react_jsx_runtime0 from "react/jsx-runtime";
2
-
3
1
  //#region src/components-page/cli-auth-confirm.d.ts
4
2
  type CliAuthConfirmationStatus = "idle" | "invalid" | "authorizing" | "redirecting" | "success" | "error";
5
3
  type CliAuthConfirmationState = {
@@ -15,7 +13,7 @@ declare function CliAuthConfirmation({
15
13
  fullPage
16
14
  }: {
17
15
  fullPage?: boolean;
18
- }): react_jsx_runtime0.JSX.Element;
16
+ }): import("react/jsx-runtime").JSX.Element;
19
17
  //#endregion
20
18
  export { CliAuthConfirmation, CliAuthConfirmationState, CliAuthConfirmationStatus, useCliAuthConfirmation };
21
19
  //# sourceMappingURL=cli-auth-confirm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cli-auth-confirm.d.ts","names":[],"sources":["../../../src/components-page/cli-auth-confirm.tsx"],"mappings":";;;KAiEY,yBAAA;AAAA,KAQA,wBAAA;EACV,MAAA,EAAQ,yBAAA;EACR,SAAA;EACA,KAAA,EAAO,KAAA;EACP,SAAA;EACA,SAAA,QAAiB,OAAA;EACjB,KAAA;AAAA;AAAA,iBAGc,sBAAA,CAAA,GAA0B,wBAAA;AAAA,iBAgI1B,mBAAA,CAAA;EAAsB;AAAA;EAAqB,QAAA;AAAA,IAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"cli-auth-confirm.d.ts","names":[],"sources":["../../../src/components-page/cli-auth-confirm.tsx"],"mappings":";KAiEY,yBAAA;AAAA,KAQA,wBAAA;EACV,MAAA,EAAQ,yBAAA;EACR,SAAA;EACA,KAAA,EAAO,KAAA;EACP,SAAA;EACA,SAAA,QAAiB,OAAA;EACjB,KAAA;AAAA;AAAA,iBAGc,sBAAA,IAA0B,wBAAwB;AAAA,iBAgIlD,mBAAA;EAAsB;AAAA;EAAqB,QAAA;AAAA,gCAAoB,GAAA,CAAA,OAAA"}
@@ -1,5 +1,4 @@
1
- 'use client';
2
-
1
+ "use client";
3
2
  import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
4
3
  import { hexclaveAppInternalsSymbol } from "../lib/hexclave-app/common.js";
5
4
  import { Typography } from "@hexclave/ui";
@@ -8,7 +7,6 @@ import { useTranslation } from "../lib/translations.js";
8
7
  import { jsx, jsxs } from "react/jsx-runtime";
9
8
  import { useStackApp } from "../lib/hooks.js";
10
9
  import { MessageCard } from "../components/message-cards/message-card.js";
11
-
12
10
  //#region src/components-page/cli-auth-confirm.tsx
13
11
  async function postCliAuthComplete(app, body) {
14
12
  return await app[hexclaveAppInternalsSymbol].sendRequest("/auth/cli/complete", {
@@ -207,7 +205,7 @@ function CliAuthConfirmation({ fullPage = true }) {
207
205
  })]
208
206
  });
209
207
  }
210
-
211
208
  //#endregion
212
209
  export { CliAuthConfirmation, useCliAuthConfirmation };
210
+
213
211
  //# sourceMappingURL=cli-auth-confirm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cli-auth-confirm.js","names":[],"sources":["../../../src/components-page/cli-auth-confirm.tsx"],"sourcesContent":["'use client';\n\n\n//===========================================\n// THIS FILE IS AUTO-GENERATED FROM TEMPLATE. DO NOT EDIT IT DIRECTLY UNLESS YOU ALSO EDIT THE CORRESPONDING FILE IN packages/template\n//===========================================\n\nimport { runAsynchronouslyWithAlert } from \"@hexclave/shared/dist/utils/promises\";\nimport { Typography } from \"@hexclave/ui\";\nimport { useCallback, useEffect, useRef, useState } from \"react\";\nimport { MessageCard } from \"../components/message-cards/message-card\";\nimport { useTranslation } from \"../lib/translations\";\nimport { hexclaveAppInternalsSymbol } from \"../lib/hexclave-app/common\";\nimport type { StackClientApp } from \"../lib/hexclave-app/apps/interfaces/client-app\";\nimport { useStackApp } from \"../lib/hooks\";\n\nasync function postCliAuthComplete(app: StackClientApp, body: Record<string, unknown>) {\n return await app[hexclaveAppInternalsSymbol].sendRequest(\"/auth/cli/complete\", {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify(body),\n });\n}\n\nasync function ensureCliCompleteOk(result: Response) {\n if (!result.ok) {\n throw new Error(`Authorization failed: ${result.status} ${await result.text()}`);\n }\n}\n\nasync function completeCliAuthWithRefreshToken(app: StackClientApp, loginCode: string, refreshToken: string) {\n const result = await postCliAuthComplete(app, { login_code: loginCode, refresh_token: refreshToken });\n await ensureCliCompleteOk(result);\n}\n\n// Hexclave rebrand: sessionStorage key — straight rename (per-tab, low TTL).\nconst CLI_AUTH_CONFIRMED_KEY = \"hexclave-cli-auth-confirmed\";\n\nfunction markConfirmed(loginCode: string) {\n sessionStorage.setItem(CLI_AUTH_CONFIRMED_KEY, loginCode);\n}\n\nfunction isConfirmed(loginCode: string): boolean {\n return sessionStorage.getItem(CLI_AUTH_CONFIRMED_KEY) === loginCode;\n}\n\nfunction clearConfirmed() {\n sessionStorage.removeItem(CLI_AUTH_CONFIRMED_KEY);\n}\n\nfunction getError(err: unknown): Error {\n return err instanceof Error ? err : new Error(String(err));\n}\n\nfunction getObjectField(data: unknown, fieldName: string): unknown {\n return typeof data === \"object\" && data !== null && fieldName in data\n ? data[fieldName as keyof typeof data]\n : undefined;\n}\n\nfunction getStringField(data: unknown, fieldName: string): string | undefined {\n const value = getObjectField(data, fieldName);\n return typeof value === \"string\" ? value : undefined;\n}\n\nexport type CliAuthConfirmationStatus =\n | \"idle\"\n | \"invalid\"\n | \"authorizing\"\n | \"redirecting\"\n | \"success\"\n | \"error\";\n\nexport type CliAuthConfirmationState = {\n status: CliAuthConfirmationStatus,\n loginCode: string | null,\n error: Error | null,\n isLoading: boolean,\n authorize: () => Promise<void>,\n retry: () => void,\n};\n\nexport function useCliAuthConfirmation(): CliAuthConfirmationState {\n const app = useStackApp();\n const user = app.useUser({ includeRestricted: true });\n const [status, setStatus] = useState<Exclude<CliAuthConfirmationStatus, \"invalid\">>(\"idle\");\n const [error, setError] = useState<Error | null>(null);\n const autoCompleteRef = useRef(false);\n const authorizeInProgressRef = useRef(false);\n const [loginCode] = useState(() => {\n if (typeof window === 'undefined') return null;\n return new URLSearchParams(window.location.search).get(\"login_code\");\n });\n const [confirmed] = useState(() => {\n if (typeof window === 'undefined') return false;\n return loginCode != null && isConfirmed(loginCode);\n });\n\n const completeWithCurrentUser = useCallback(async () => {\n if (!loginCode) {\n throw new Error(\"Missing login code in URL parameters\");\n }\n if (!user) {\n throw new Error(\"Cannot complete CLI authorization without a signed-in user\");\n }\n const refreshToken = (await user.currentSession.getTokens()).refreshToken;\n if (!refreshToken) {\n throw new Error(\"Could not retrieve session token\");\n }\n await completeCliAuthWithRefreshToken(app, loginCode, refreshToken);\n }, [app, loginCode, user]);\n\n useEffect(() => {\n if (!confirmed || !user || autoCompleteRef.current) {\n return;\n }\n autoCompleteRef.current = true;\n runAsynchronouslyWithAlert(async () => {\n setStatus(\"authorizing\");\n try {\n await completeWithCurrentUser();\n clearConfirmed();\n setStatus(\"success\");\n } catch (err) {\n setError(getError(err));\n setStatus(\"error\");\n }\n });\n }, [confirmed, user, completeWithCurrentUser]);\n\n const authorize = useCallback(async () => {\n if (authorizeInProgressRef.current) {\n return;\n }\n authorizeInProgressRef.current = true;\n\n try {\n if (!loginCode) {\n setError(new Error(\"Missing login code in URL parameters\"));\n setStatus(\"error\");\n return;\n }\n\n setError(null);\n setStatus(\"authorizing\");\n if (user) {\n await completeWithCurrentUser();\n clearConfirmed();\n setStatus(\"success\");\n return;\n }\n\n const checkResult = await postCliAuthComplete(app, { login_code: loginCode, mode: \"check\" });\n if (!checkResult.ok) {\n throw new Error(`Failed to verify login code: ${checkResult.status} ${await checkResult.text()}`);\n }\n const checkData: unknown = await checkResult.json();\n const cliSessionState = getStringField(checkData, \"cli_session_state\") ?? null;\n\n if (cliSessionState === \"anonymous\") {\n const claimResult = await postCliAuthComplete(app, { login_code: loginCode, mode: \"claim-anon-session\" });\n\n if (!claimResult.ok) {\n throw new Error(`Failed to claim anonymous session: ${claimResult.status} ${await claimResult.text()}`);\n }\n\n const tokens: unknown = await claimResult.json();\n const accessToken = getStringField(tokens, \"access_token\");\n const refreshToken = getStringField(tokens, \"refresh_token\");\n if (!accessToken || !refreshToken) {\n throw new Error(\"Anonymous CLI session claim did not return tokens\");\n }\n await app[hexclaveAppInternalsSymbol].signInWithTokens({\n accessToken,\n refreshToken,\n });\n markConfirmed(loginCode);\n setStatus(\"redirecting\");\n await app.redirectToSignUp({ replace: true });\n return;\n }\n\n markConfirmed(loginCode);\n setStatus(\"redirecting\");\n await app.redirectToSignIn({ replace: true });\n } catch (err) {\n setError(getError(err));\n setStatus(\"error\");\n } finally {\n authorizeInProgressRef.current = false;\n }\n }, [app, completeWithCurrentUser, loginCode, user]);\n\n const retry = useCallback(() => {\n setError(null);\n autoCompleteRef.current = false;\n setStatus(\"idle\");\n }, []);\n\n const visibleStatus = loginCode == null ? \"invalid\" : status;\n return {\n status: visibleStatus,\n loginCode,\n error,\n isLoading: visibleStatus === \"authorizing\" || visibleStatus === \"redirecting\",\n authorize,\n retry,\n };\n}\n\nexport function CliAuthConfirmation({ fullPage = true }: { fullPage?: boolean }) {\n const { t } = useTranslation();\n const cliAuth = useCliAuthConfirmation();\n\n if (cliAuth.status === \"success\") {\n return (\n <MessageCard title={t(\"CLI Authorization Successful\")} fullPage={fullPage}>\n <Typography>\n {t(\"The CLI application has been authorized successfully. You can close this window and return to the command line.\")}\n </Typography>\n </MessageCard>\n );\n }\n\n if (cliAuth.status === \"error\") {\n return (\n <MessageCard\n title={t(\"Authorization Failed\")}\n fullPage={fullPage}\n primaryButtonText={t(\"Try Again\")}\n primaryAction={cliAuth.retry}\n >\n <Typography className=\"text-red-600\">\n {t(\"Failed to authorize the CLI application:\")}\n </Typography>\n <Typography className=\"text-red-600\">\n {cliAuth.error?.message}\n </Typography>\n </MessageCard>\n );\n }\n\n if (cliAuth.status === \"invalid\") {\n return (\n <MessageCard title={t(\"Invalid CLI Authorization Link\")} fullPage={fullPage}>\n <Typography className=\"text-red-600\">\n {t(\"This CLI authorization link is missing a login code. Please return to the command line and start the login process again.\")}\n </Typography>\n </MessageCard>\n );\n }\n\n if (cliAuth.status === \"authorizing\" || cliAuth.status === \"redirecting\") {\n return (\n <MessageCard title={t(\"Completing Authorization...\")} fullPage={fullPage}>\n <Typography>\n {t(\"Finishing up the CLI authorization...\")}\n </Typography>\n </MessageCard>\n );\n }\n\n return (\n <MessageCard\n title={t(\"Authorize CLI Application\")}\n fullPage={fullPage}\n primaryButtonText={cliAuth.isLoading ? t(\"Authorizing...\") : t(\"Authorize\")}\n primaryAction={cliAuth.authorize}\n >\n <Typography>\n {t(\"A command line application is requesting access to your account. Click the button below to authorize it.\")}\n </Typography>\n <Typography variant=\"destructive\">\n {t(\"WARNING: Make sure you trust the command line application, as it will gain access to your account. If you did not initiate this request, you can close this page and ignore it. We will never send you this link via email or any other means.\")}\n </Typography>\n </MessageCard>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"cli-auth-confirm.js","names":[],"sources":["../../../src/components-page/cli-auth-confirm.tsx"],"sourcesContent":["'use client';\n\n\n//===========================================\n// THIS FILE IS AUTO-GENERATED FROM TEMPLATE. DO NOT EDIT IT DIRECTLY UNLESS YOU ALSO EDIT THE CORRESPONDING FILE IN packages/template\n//===========================================\n\nimport { runAsynchronouslyWithAlert } from \"@hexclave/shared/dist/utils/promises\";\nimport { Typography } from \"@hexclave/ui\";\nimport { useCallback, useEffect, useRef, useState } from \"react\";\nimport { MessageCard } from \"../components/message-cards/message-card\";\nimport { useTranslation } from \"../lib/translations\";\nimport { hexclaveAppInternalsSymbol } from \"../lib/hexclave-app/common\";\nimport type { StackClientApp } from \"../lib/hexclave-app/apps/interfaces/client-app\";\nimport { useStackApp } from \"../lib/hooks\";\n\nasync function postCliAuthComplete(app: StackClientApp, body: Record<string, unknown>) {\n return await app[hexclaveAppInternalsSymbol].sendRequest(\"/auth/cli/complete\", {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify(body),\n });\n}\n\nasync function ensureCliCompleteOk(result: Response) {\n if (!result.ok) {\n throw new Error(`Authorization failed: ${result.status} ${await result.text()}`);\n }\n}\n\nasync function completeCliAuthWithRefreshToken(app: StackClientApp, loginCode: string, refreshToken: string) {\n const result = await postCliAuthComplete(app, { login_code: loginCode, refresh_token: refreshToken });\n await ensureCliCompleteOk(result);\n}\n\n// Hexclave rebrand: sessionStorage key — straight rename (per-tab, low TTL).\nconst CLI_AUTH_CONFIRMED_KEY = \"hexclave-cli-auth-confirmed\";\n\nfunction markConfirmed(loginCode: string) {\n sessionStorage.setItem(CLI_AUTH_CONFIRMED_KEY, loginCode);\n}\n\nfunction isConfirmed(loginCode: string): boolean {\n return sessionStorage.getItem(CLI_AUTH_CONFIRMED_KEY) === loginCode;\n}\n\nfunction clearConfirmed() {\n sessionStorage.removeItem(CLI_AUTH_CONFIRMED_KEY);\n}\n\nfunction getError(err: unknown): Error {\n return err instanceof Error ? err : new Error(String(err));\n}\n\nfunction getObjectField(data: unknown, fieldName: string): unknown {\n return typeof data === \"object\" && data !== null && fieldName in data\n ? data[fieldName as keyof typeof data]\n : undefined;\n}\n\nfunction getStringField(data: unknown, fieldName: string): string | undefined {\n const value = getObjectField(data, fieldName);\n return typeof value === \"string\" ? value : undefined;\n}\n\nexport type CliAuthConfirmationStatus =\n | \"idle\"\n | \"invalid\"\n | \"authorizing\"\n | \"redirecting\"\n | \"success\"\n | \"error\";\n\nexport type CliAuthConfirmationState = {\n status: CliAuthConfirmationStatus,\n loginCode: string | null,\n error: Error | null,\n isLoading: boolean,\n authorize: () => Promise<void>,\n retry: () => void,\n};\n\nexport function useCliAuthConfirmation(): CliAuthConfirmationState {\n const app = useStackApp();\n const user = app.useUser({ includeRestricted: true });\n const [status, setStatus] = useState<Exclude<CliAuthConfirmationStatus, \"invalid\">>(\"idle\");\n const [error, setError] = useState<Error | null>(null);\n const autoCompleteRef = useRef(false);\n const authorizeInProgressRef = useRef(false);\n const [loginCode] = useState(() => {\n if (typeof window === 'undefined') return null;\n return new URLSearchParams(window.location.search).get(\"login_code\");\n });\n const [confirmed] = useState(() => {\n if (typeof window === 'undefined') return false;\n return loginCode != null && isConfirmed(loginCode);\n });\n\n const completeWithCurrentUser = useCallback(async () => {\n if (!loginCode) {\n throw new Error(\"Missing login code in URL parameters\");\n }\n if (!user) {\n throw new Error(\"Cannot complete CLI authorization without a signed-in user\");\n }\n const refreshToken = (await user.currentSession.getTokens()).refreshToken;\n if (!refreshToken) {\n throw new Error(\"Could not retrieve session token\");\n }\n await completeCliAuthWithRefreshToken(app, loginCode, refreshToken);\n }, [app, loginCode, user]);\n\n useEffect(() => {\n if (!confirmed || !user || autoCompleteRef.current) {\n return;\n }\n autoCompleteRef.current = true;\n runAsynchronouslyWithAlert(async () => {\n setStatus(\"authorizing\");\n try {\n await completeWithCurrentUser();\n clearConfirmed();\n setStatus(\"success\");\n } catch (err) {\n setError(getError(err));\n setStatus(\"error\");\n }\n });\n }, [confirmed, user, completeWithCurrentUser]);\n\n const authorize = useCallback(async () => {\n if (authorizeInProgressRef.current) {\n return;\n }\n authorizeInProgressRef.current = true;\n\n try {\n if (!loginCode) {\n setError(new Error(\"Missing login code in URL parameters\"));\n setStatus(\"error\");\n return;\n }\n\n setError(null);\n setStatus(\"authorizing\");\n if (user) {\n await completeWithCurrentUser();\n clearConfirmed();\n setStatus(\"success\");\n return;\n }\n\n const checkResult = await postCliAuthComplete(app, { login_code: loginCode, mode: \"check\" });\n if (!checkResult.ok) {\n throw new Error(`Failed to verify login code: ${checkResult.status} ${await checkResult.text()}`);\n }\n const checkData: unknown = await checkResult.json();\n const cliSessionState = getStringField(checkData, \"cli_session_state\") ?? null;\n\n if (cliSessionState === \"anonymous\") {\n const claimResult = await postCliAuthComplete(app, { login_code: loginCode, mode: \"claim-anon-session\" });\n\n if (!claimResult.ok) {\n throw new Error(`Failed to claim anonymous session: ${claimResult.status} ${await claimResult.text()}`);\n }\n\n const tokens: unknown = await claimResult.json();\n const accessToken = getStringField(tokens, \"access_token\");\n const refreshToken = getStringField(tokens, \"refresh_token\");\n if (!accessToken || !refreshToken) {\n throw new Error(\"Anonymous CLI session claim did not return tokens\");\n }\n await app[hexclaveAppInternalsSymbol].signInWithTokens({\n accessToken,\n refreshToken,\n });\n markConfirmed(loginCode);\n setStatus(\"redirecting\");\n await app.redirectToSignUp({ replace: true });\n return;\n }\n\n markConfirmed(loginCode);\n setStatus(\"redirecting\");\n await app.redirectToSignIn({ replace: true });\n } catch (err) {\n setError(getError(err));\n setStatus(\"error\");\n } finally {\n authorizeInProgressRef.current = false;\n }\n }, [app, completeWithCurrentUser, loginCode, user]);\n\n const retry = useCallback(() => {\n setError(null);\n autoCompleteRef.current = false;\n setStatus(\"idle\");\n }, []);\n\n const visibleStatus = loginCode == null ? \"invalid\" : status;\n return {\n status: visibleStatus,\n loginCode,\n error,\n isLoading: visibleStatus === \"authorizing\" || visibleStatus === \"redirecting\",\n authorize,\n retry,\n };\n}\n\nexport function CliAuthConfirmation({ fullPage = true }: { fullPage?: boolean }) {\n const { t } = useTranslation();\n const cliAuth = useCliAuthConfirmation();\n\n if (cliAuth.status === \"success\") {\n return (\n <MessageCard title={t(\"CLI Authorization Successful\")} fullPage={fullPage}>\n <Typography>\n {t(\"The CLI application has been authorized successfully. You can close this window and return to the command line.\")}\n </Typography>\n </MessageCard>\n );\n }\n\n if (cliAuth.status === \"error\") {\n return (\n <MessageCard\n title={t(\"Authorization Failed\")}\n fullPage={fullPage}\n primaryButtonText={t(\"Try Again\")}\n primaryAction={cliAuth.retry}\n >\n <Typography className=\"text-red-600\">\n {t(\"Failed to authorize the CLI application:\")}\n </Typography>\n <Typography className=\"text-red-600\">\n {cliAuth.error?.message}\n </Typography>\n </MessageCard>\n );\n }\n\n if (cliAuth.status === \"invalid\") {\n return (\n <MessageCard title={t(\"Invalid CLI Authorization Link\")} fullPage={fullPage}>\n <Typography className=\"text-red-600\">\n {t(\"This CLI authorization link is missing a login code. Please return to the command line and start the login process again.\")}\n </Typography>\n </MessageCard>\n );\n }\n\n if (cliAuth.status === \"authorizing\" || cliAuth.status === \"redirecting\") {\n return (\n <MessageCard title={t(\"Completing Authorization...\")} fullPage={fullPage}>\n <Typography>\n {t(\"Finishing up the CLI authorization...\")}\n </Typography>\n </MessageCard>\n );\n }\n\n return (\n <MessageCard\n title={t(\"Authorize CLI Application\")}\n fullPage={fullPage}\n primaryButtonText={cliAuth.isLoading ? t(\"Authorizing...\") : t(\"Authorize\")}\n primaryAction={cliAuth.authorize}\n >\n <Typography>\n {t(\"A command line application is requesting access to your account. Click the button below to authorize it.\")}\n </Typography>\n <Typography variant=\"destructive\">\n {t(\"WARNING: Make sure you trust the command line application, as it will gain access to your account. If you did not initiate this request, you can close this page and ignore it. We will never send you this link via email or any other means.\")}\n </Typography>\n </MessageCard>\n );\n}\n"],"mappings":"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"}
@@ -1,12 +1,11 @@
1
1
  import { runAsynchronously } from "@hexclave/shared/dist/utils/promises";
2
2
  import { hexclaveAppInternalsSymbol } from "../lib/hexclave-app/common.js";
3
- import React, { act } from "react";
3
+ import { act } from "react";
4
4
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
5
5
  import { createRoot } from "react-dom/client";
6
6
  import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
7
7
  import { HexclaveContext } from "../providers/hexclave-context.js";
8
8
  import { useCliAuthConfirmation } from "./cli-auth-confirm.js";
9
-
10
9
  //#region src/components-page/cli-auth-confirm.test.tsx
11
10
  // @vitest-environment jsdom
12
11
  const previousActEnvironment = Reflect.get(globalThis, "IS_REACT_ACT_ENVIRONMENT");
@@ -169,7 +168,7 @@ describe("useCliAuthConfirmation", () => {
169
168
  expect(getByTestId("status").textContent).toBe("invalid");
170
169
  });
171
170
  });
172
-
173
171
  //#endregion
174
- export { };
172
+ export {};
173
+
175
174
  //# sourceMappingURL=cli-auth-confirm.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cli-auth-confirm.test.js","names":[],"sources":["../../../src/components-page/cli-auth-confirm.test.tsx"],"sourcesContent":["\n//===========================================\n// THIS FILE IS AUTO-GENERATED FROM TEMPLATE. DO NOT EDIT IT DIRECTLY UNLESS YOU ALSO EDIT THE CORRESPONDING FILE IN packages/template\n//===========================================\n// @vitest-environment jsdom\n\nimport { runAsynchronously } from \"@hexclave/shared/dist/utils/promises\";\nimport React, { act } from \"react\";\nimport { createRoot, type Root } from \"react-dom/client\";\nimport { afterEach, beforeEach, describe, expect, it, vi } from \"vitest\";\nimport type { StackClientApp } from \"../lib/hexclave-app/apps/interfaces/client-app\";\nimport { hexclaveAppInternalsSymbol } from \"../lib/hexclave-app/common\";\nimport { HexclaveContext } from \"../providers/hexclave-context\";\nimport { useCliAuthConfirmation } from \"./cli-auth-confirm\";\n\nconst previousActEnvironment = Reflect.get(globalThis, \"IS_REACT_ACT_ENVIRONMENT\");\n\nfunction responseJson(data: unknown, init?: ResponseInit) {\n return new Response(JSON.stringify(data), {\n status: init?.status ?? 200,\n headers: { \"Content-Type\": \"application/json\" },\n });\n}\n\nfunction createAppTestDouble(options: {\n user: unknown,\n sendRequest: (path: string, requestOptions: RequestInit) => Promise<Response>,\n signInWithTokens?: (tokens: { accessToken: string, refreshToken: string }) => Promise<void>,\n redirectToSignIn?: (options: { replace: true }) => Promise<void>,\n redirectToSignUp?: (options: { replace: true }) => Promise<void>,\n}) {\n const app = {\n useUser: () => options.user,\n redirectToSignIn: options.redirectToSignIn ?? vi.fn(async () => {}),\n redirectToSignUp: options.redirectToSignUp ?? vi.fn(async () => {}),\n [hexclaveAppInternalsSymbol]: {\n sendRequest: options.sendRequest,\n signInWithTokens: options.signInWithTokens ?? vi.fn(async () => {}),\n },\n };\n\n // This test double intentionally implements only the StackClientApp surface\n // that useCliAuthConfirmation touches.\n return app as unknown as StackClientApp<true>;\n}\n\nfunction HookProbe() {\n const cliAuth = useCliAuthConfirmation();\n return (\n <>\n <div data-testid=\"status\">{cliAuth.status}</div>\n <div data-testid=\"error\">{cliAuth.error?.message}</div>\n <button type=\"button\" onClick={() => runAsynchronously(cliAuth.authorize)}>authorize</button>\n <button onClick={cliAuth.retry}>retry</button>\n </>\n );\n}\n\nlet root: Root | null = null;\nlet container: HTMLDivElement | null = null;\n\nasync function renderWithApp(app: StackClientApp<true>) {\n container = document.createElement(\"div\");\n document.body.append(container);\n root = createRoot(container);\n await act(async () => {\n root?.render(\n <HexclaveContext.Provider value={{ app }}>\n <HookProbe />\n </HexclaveContext.Provider>\n );\n });\n}\n\nfunction getByTestId(testId: string): HTMLElement {\n const element = container?.querySelector(`[data-testid=\"${testId}\"]`);\n if (!(element instanceof HTMLElement)) {\n throw new Error(`Could not find test element ${testId}`);\n }\n return element;\n}\n\nfunction getButton(label: string): HTMLButtonElement {\n const button = [...container?.querySelectorAll(\"button\") ?? []]\n .find((element) => element.textContent === label);\n if (!(button instanceof HTMLButtonElement)) {\n throw new Error(`Could not find button ${label}`);\n }\n return button;\n}\n\ndescribe(\"useCliAuthConfirmation\", () => {\n beforeEach(() => {\n Reflect.set(globalThis, \"IS_REACT_ACT_ENVIRONMENT\", true);\n });\n\n afterEach(() => {\n act(() => {\n root?.unmount();\n });\n container?.remove();\n root = null;\n container = null;\n vi.restoreAllMocks();\n window.history.replaceState({}, \"\", \"/\");\n Reflect.set(globalThis, \"IS_REACT_ACT_ENVIRONMENT\", previousActEnvironment);\n });\n\n it(\"completes CLI auth with the current user's refresh token\", async () => {\n window.history.replaceState({}, \"\", \"/handler/cli-auth-confirm?login_code=login-code\");\n const getTokens = vi.fn(async () => ({ refreshToken: \"refresh-token\" }));\n const sendRequest = vi.fn(async (_path: string, _requestOptions: RequestInit) => new Response(null, { status: 200 }));\n const app = createAppTestDouble({\n user: { currentSession: { getTokens } },\n sendRequest,\n });\n\n await renderWithApp(app);\n await act(async () => {\n getButton(\"authorize\").click();\n });\n\n expect(getByTestId(\"status\").textContent).toBe(\"success\");\n expect(getTokens).toHaveBeenCalledOnce();\n expect(sendRequest).toHaveBeenCalledOnce();\n expect(sendRequest.mock.calls[0][0]).toBe(\"/auth/cli/complete\");\n expect(JSON.parse(String(sendRequest.mock.calls[0][1].body))).toMatchInlineSnapshot(`\n {\n \"login_code\": \"login-code\",\n \"refresh_token\": \"refresh-token\",\n }\n `);\n });\n\n it(\"ignores duplicate authorize clicks before React re-renders\", async () => {\n window.history.replaceState({}, \"\", \"/handler/cli-auth-confirm?login_code=login-code\");\n const getTokens = vi.fn(async () => ({ refreshToken: \"refresh-token\" }));\n const sendRequest = vi.fn(async (_path: string, _requestOptions: RequestInit) => new Response(null, { status: 200 }));\n const app = createAppTestDouble({\n user: { currentSession: { getTokens } },\n sendRequest,\n });\n\n await renderWithApp(app);\n await act(async () => {\n const authorizeButton = getButton(\"authorize\");\n authorizeButton.click();\n authorizeButton.click();\n });\n\n expect(sendRequest).toHaveBeenCalledOnce();\n });\n\n it(\"claims anonymous CLI sessions before redirecting to sign-up\", async () => {\n window.history.replaceState({}, \"\", \"/handler/cli-auth-confirm?login_code=login-code\");\n const signInWithTokens = vi.fn(async (_tokens: { accessToken: string, refreshToken: string }) => {});\n const redirectToSignUp = vi.fn(async (_options: { replace: true }) => {});\n const sendRequest = vi.fn(async (_path: string, _requestOptions: RequestInit) => new Response(null, { status: 200 }))\n .mockResolvedValueOnce(responseJson({ cli_session_state: \"anonymous\" }))\n .mockResolvedValueOnce(responseJson({ access_token: \"access-token\", refresh_token: \"refresh-token\" }));\n const app = createAppTestDouble({\n user: null,\n sendRequest,\n signInWithTokens,\n redirectToSignUp,\n });\n\n await renderWithApp(app);\n await act(async () => {\n getButton(\"authorize\").click();\n });\n\n expect(redirectToSignUp).toHaveBeenCalledWith({ replace: true });\n expect(signInWithTokens).toHaveBeenCalledWith({\n accessToken: \"access-token\",\n refreshToken: \"refresh-token\",\n });\n expect(sessionStorage.getItem(\"hexclave-cli-auth-confirmed\")).toBe(\"login-code\");\n expect(sendRequest.mock.calls.map(call => JSON.parse(String(call[1].body)))).toMatchInlineSnapshot(`\n [\n {\n \"login_code\": \"login-code\",\n \"mode\": \"check\",\n },\n {\n \"login_code\": \"login-code\",\n \"mode\": \"claim-anon-session\",\n },\n ]\n `);\n });\n\n it(\"reports invalid when the login code is missing\", async () => {\n window.history.replaceState({}, \"\", \"/handler/cli-auth-confirm\");\n const app = createAppTestDouble({\n user: null,\n sendRequest: vi.fn(async (_path: string, _requestOptions: RequestInit) => new Response(null, { status: 200 })),\n });\n\n await renderWithApp(app);\n\n expect(getByTestId(\"status\").textContent).toBe(\"invalid\");\n });\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"cli-auth-confirm.test.js","names":[],"sources":["../../../src/components-page/cli-auth-confirm.test.tsx"],"sourcesContent":["\n//===========================================\n// THIS FILE IS AUTO-GENERATED FROM TEMPLATE. DO NOT EDIT IT DIRECTLY UNLESS YOU ALSO EDIT THE CORRESPONDING FILE IN packages/template\n//===========================================\n// @vitest-environment jsdom\n\nimport { runAsynchronously } from \"@hexclave/shared/dist/utils/promises\";\nimport React, { act } from \"react\";\nimport { createRoot, type Root } from \"react-dom/client\";\nimport { afterEach, beforeEach, describe, expect, it, vi } from \"vitest\";\nimport type { StackClientApp } from \"../lib/hexclave-app/apps/interfaces/client-app\";\nimport { hexclaveAppInternalsSymbol } from \"../lib/hexclave-app/common\";\nimport { HexclaveContext } from \"../providers/hexclave-context\";\nimport { useCliAuthConfirmation } from \"./cli-auth-confirm\";\n\nconst previousActEnvironment = Reflect.get(globalThis, \"IS_REACT_ACT_ENVIRONMENT\");\n\nfunction responseJson(data: unknown, init?: ResponseInit) {\n return new Response(JSON.stringify(data), {\n status: init?.status ?? 200,\n headers: { \"Content-Type\": \"application/json\" },\n });\n}\n\nfunction createAppTestDouble(options: {\n user: unknown,\n sendRequest: (path: string, requestOptions: RequestInit) => Promise<Response>,\n signInWithTokens?: (tokens: { accessToken: string, refreshToken: string }) => Promise<void>,\n redirectToSignIn?: (options: { replace: true }) => Promise<void>,\n redirectToSignUp?: (options: { replace: true }) => Promise<void>,\n}) {\n const app = {\n useUser: () => options.user,\n redirectToSignIn: options.redirectToSignIn ?? vi.fn(async () => {}),\n redirectToSignUp: options.redirectToSignUp ?? vi.fn(async () => {}),\n [hexclaveAppInternalsSymbol]: {\n sendRequest: options.sendRequest,\n signInWithTokens: options.signInWithTokens ?? vi.fn(async () => {}),\n },\n };\n\n // This test double intentionally implements only the StackClientApp surface\n // that useCliAuthConfirmation touches.\n return app as unknown as StackClientApp<true>;\n}\n\nfunction HookProbe() {\n const cliAuth = useCliAuthConfirmation();\n return (\n <>\n <div data-testid=\"status\">{cliAuth.status}</div>\n <div data-testid=\"error\">{cliAuth.error?.message}</div>\n <button type=\"button\" onClick={() => runAsynchronously(cliAuth.authorize)}>authorize</button>\n <button onClick={cliAuth.retry}>retry</button>\n </>\n );\n}\n\nlet root: Root | null = null;\nlet container: HTMLDivElement | null = null;\n\nasync function renderWithApp(app: StackClientApp<true>) {\n container = document.createElement(\"div\");\n document.body.append(container);\n root = createRoot(container);\n await act(async () => {\n root?.render(\n <HexclaveContext.Provider value={{ app }}>\n <HookProbe />\n </HexclaveContext.Provider>\n );\n });\n}\n\nfunction getByTestId(testId: string): HTMLElement {\n const element = container?.querySelector(`[data-testid=\"${testId}\"]`);\n if (!(element instanceof HTMLElement)) {\n throw new Error(`Could not find test element ${testId}`);\n }\n return element;\n}\n\nfunction getButton(label: string): HTMLButtonElement {\n const button = [...container?.querySelectorAll(\"button\") ?? []]\n .find((element) => element.textContent === label);\n if (!(button instanceof HTMLButtonElement)) {\n throw new Error(`Could not find button ${label}`);\n }\n return button;\n}\n\ndescribe(\"useCliAuthConfirmation\", () => {\n beforeEach(() => {\n Reflect.set(globalThis, \"IS_REACT_ACT_ENVIRONMENT\", true);\n });\n\n afterEach(() => {\n act(() => {\n root?.unmount();\n });\n container?.remove();\n root = null;\n container = null;\n vi.restoreAllMocks();\n window.history.replaceState({}, \"\", \"/\");\n Reflect.set(globalThis, \"IS_REACT_ACT_ENVIRONMENT\", previousActEnvironment);\n });\n\n it(\"completes CLI auth with the current user's refresh token\", async () => {\n window.history.replaceState({}, \"\", \"/handler/cli-auth-confirm?login_code=login-code\");\n const getTokens = vi.fn(async () => ({ refreshToken: \"refresh-token\" }));\n const sendRequest = vi.fn(async (_path: string, _requestOptions: RequestInit) => new Response(null, { status: 200 }));\n const app = createAppTestDouble({\n user: { currentSession: { getTokens } },\n sendRequest,\n });\n\n await renderWithApp(app);\n await act(async () => {\n getButton(\"authorize\").click();\n });\n\n expect(getByTestId(\"status\").textContent).toBe(\"success\");\n expect(getTokens).toHaveBeenCalledOnce();\n expect(sendRequest).toHaveBeenCalledOnce();\n expect(sendRequest.mock.calls[0][0]).toBe(\"/auth/cli/complete\");\n expect(JSON.parse(String(sendRequest.mock.calls[0][1].body))).toMatchInlineSnapshot(`\n {\n \"login_code\": \"login-code\",\n \"refresh_token\": \"refresh-token\",\n }\n `);\n });\n\n it(\"ignores duplicate authorize clicks before React re-renders\", async () => {\n window.history.replaceState({}, \"\", \"/handler/cli-auth-confirm?login_code=login-code\");\n const getTokens = vi.fn(async () => ({ refreshToken: \"refresh-token\" }));\n const sendRequest = vi.fn(async (_path: string, _requestOptions: RequestInit) => new Response(null, { status: 200 }));\n const app = createAppTestDouble({\n user: { currentSession: { getTokens } },\n sendRequest,\n });\n\n await renderWithApp(app);\n await act(async () => {\n const authorizeButton = getButton(\"authorize\");\n authorizeButton.click();\n authorizeButton.click();\n });\n\n expect(sendRequest).toHaveBeenCalledOnce();\n });\n\n it(\"claims anonymous CLI sessions before redirecting to sign-up\", async () => {\n window.history.replaceState({}, \"\", \"/handler/cli-auth-confirm?login_code=login-code\");\n const signInWithTokens = vi.fn(async (_tokens: { accessToken: string, refreshToken: string }) => {});\n const redirectToSignUp = vi.fn(async (_options: { replace: true }) => {});\n const sendRequest = vi.fn(async (_path: string, _requestOptions: RequestInit) => new Response(null, { status: 200 }))\n .mockResolvedValueOnce(responseJson({ cli_session_state: \"anonymous\" }))\n .mockResolvedValueOnce(responseJson({ access_token: \"access-token\", refresh_token: \"refresh-token\" }));\n const app = createAppTestDouble({\n user: null,\n sendRequest,\n signInWithTokens,\n redirectToSignUp,\n });\n\n await renderWithApp(app);\n await act(async () => {\n getButton(\"authorize\").click();\n });\n\n expect(redirectToSignUp).toHaveBeenCalledWith({ replace: true });\n expect(signInWithTokens).toHaveBeenCalledWith({\n accessToken: \"access-token\",\n refreshToken: \"refresh-token\",\n });\n expect(sessionStorage.getItem(\"hexclave-cli-auth-confirmed\")).toBe(\"login-code\");\n expect(sendRequest.mock.calls.map(call => JSON.parse(String(call[1].body)))).toMatchInlineSnapshot(`\n [\n {\n \"login_code\": \"login-code\",\n \"mode\": \"check\",\n },\n {\n \"login_code\": \"login-code\",\n \"mode\": \"claim-anon-session\",\n },\n ]\n `);\n });\n\n it(\"reports invalid when the login code is missing\", async () => {\n window.history.replaceState({}, \"\", \"/handler/cli-auth-confirm\");\n const app = createAppTestDouble({\n user: null,\n sendRequest: vi.fn(async (_path: string, _requestOptions: RequestInit) => new Response(null, { status: 200 })),\n });\n\n await renderWithApp(app);\n\n expect(getByTestId(\"status\").textContent).toBe(\"invalid\");\n });\n});\n"],"mappings":";;;;;;;;;;AAeA,MAAM,yBAAyB,QAAQ,IAAI,YAAY,0BAA0B;AAEjF,SAAS,aAAa,MAAe,MAAqB;CACxD,OAAO,IAAI,SAAS,KAAK,UAAU,IAAI,GAAG;EACxC,QAAQ,MAAM,UAAU;EACxB,SAAS,EAAE,gBAAgB,mBAAmB;CAChD,CAAC;AACH;AAEA,SAAS,oBAAoB,SAM1B;CAaD,OAAO;EAXL,eAAe,QAAQ;EACvB,kBAAkB,QAAQ,oBAAoB,GAAG,GAAG,YAAY,CAAC,CAAC;EAClE,kBAAkB,QAAQ,oBAAoB,GAAG,GAAG,YAAY,CAAC,CAAC;GACjE,6BAA6B;GAC5B,aAAa,QAAQ;GACrB,kBAAkB,QAAQ,oBAAoB,GAAG,GAAG,YAAY,CAAC,CAAC;EACpE;CAKO;AACX;AAEA,SAAS,YAAY;CACnB,MAAM,UAAU,uBAAuB;CACvC,OACE,qBAAA,UAAA,EAAA,UAAA;EACE,oBAAC,OAAD;GAAK,eAAY;aAAU,QAAQ;EAAY,CAAA;EAC/C,oBAAC,OAAD;GAAK,eAAY;aAAS,QAAQ,OAAO;EAAa,CAAA;EACtD,oBAAC,UAAD;GAAQ,MAAK;GAAS,eAAe,kBAAkB,QAAQ,SAAS;aAAG;EAAiB,CAAA;EAC5F,oBAAC,UAAD;GAAQ,SAAS,QAAQ;aAAO;EAAa,CAAA;CAC7C,EAAA,CAAA;AAEN;AAEA,IAAI,OAAoB;AACxB,IAAI,YAAmC;AAEvC,eAAe,cAAc,KAA2B;CACtD,YAAY,SAAS,cAAc,KAAK;CACxC,SAAS,KAAK,OAAO,SAAS;CAC9B,OAAO,WAAW,SAAS;CAC3B,MAAM,IAAI,YAAY;EACpB,MAAM,OACJ,oBAAC,gBAAgB,UAAjB;GAA0B,OAAO,EAAE,IAAI;aACrC,oBAAC,WAAD,CAAY,CAAA;EACY,CAAA,CAC5B;CACF,CAAC;AACH;AAEA,SAAS,YAAY,QAA6B;CAChD,MAAM,UAAU,WAAW,cAAc,iBAAiB,OAAO,GAAG;CACpE,IAAI,EAAE,mBAAmB,cACvB,MAAM,IAAI,MAAM,+BAA+B,QAAQ;CAEzD,OAAO;AACT;AAEA,SAAS,UAAU,OAAkC;CACnD,MAAM,SAAS,CAAC,GAAG,WAAW,iBAAiB,QAAQ,KAAK,CAAC,CAAC,CAAC,CAC5D,MAAM,YAAY,QAAQ,gBAAgB,KAAK;CAClD,IAAI,EAAE,kBAAkB,oBACtB,MAAM,IAAI,MAAM,yBAAyB,OAAO;CAElD,OAAO;AACT;AAEA,SAAS,gCAAgC;CACvC,iBAAiB;EACf,QAAQ,IAAI,YAAY,4BAA4B,IAAI;CAC1D,CAAC;CAED,gBAAgB;EACd,UAAU;GACR,MAAM,QAAQ;EAChB,CAAC;EACD,WAAW,OAAO;EAClB,OAAO;EACP,YAAY;EACZ,GAAG,gBAAgB;EACnB,OAAO,QAAQ,aAAa,CAAC,GAAG,IAAI,GAAG;EACvC,QAAQ,IAAI,YAAY,4BAA4B,sBAAsB;CAC5E,CAAC;CAED,GAAG,4DAA4D,YAAY;EACzE,OAAO,QAAQ,aAAa,CAAC,GAAG,IAAI,iDAAiD;EACrF,MAAM,YAAY,GAAG,GAAG,aAAa,EAAE,cAAc,gBAAgB,EAAE;EACvE,MAAM,cAAc,GAAG,GAAG,OAAO,OAAe,oBAAiC,IAAI,SAAS,MAAM,EAAE,QAAQ,IAAI,CAAC,CAAC;EAMpH,MAAM,cALM,oBAAoB;GAC9B,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE;GACtC;EACF,CAEsB,CAAC;EACvB,MAAM,IAAI,YAAY;GACpB,UAAU,WAAW,CAAC,CAAC,MAAM;EAC/B,CAAC;EAED,OAAO,YAAY,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,SAAS;EACxD,OAAO,SAAS,CAAC,CAAC,qBAAqB;EACvC,OAAO,WAAW,CAAC,CAAC,qBAAqB;EACzC,OAAO,YAAY,KAAK,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,oBAAoB;EAC9D,OAAO,KAAK,MAAM,OAAO,YAAY,KAAK,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,sBAAsB;;;;;KAKnF;CACH,CAAC;CAED,GAAG,8DAA8D,YAAY;EAC3E,OAAO,QAAQ,aAAa,CAAC,GAAG,IAAI,iDAAiD;EACrF,MAAM,YAAY,GAAG,GAAG,aAAa,EAAE,cAAc,gBAAgB,EAAE;EACvE,MAAM,cAAc,GAAG,GAAG,OAAO,OAAe,oBAAiC,IAAI,SAAS,MAAM,EAAE,QAAQ,IAAI,CAAC,CAAC;EAMpH,MAAM,cALM,oBAAoB;GAC9B,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE;GACtC;EACF,CAEsB,CAAC;EACvB,MAAM,IAAI,YAAY;GACpB,MAAM,kBAAkB,UAAU,WAAW;GAC7C,gBAAgB,MAAM;GACtB,gBAAgB,MAAM;EACxB,CAAC;EAED,OAAO,WAAW,CAAC,CAAC,qBAAqB;CAC3C,CAAC;CAED,GAAG,+DAA+D,YAAY;EAC5E,OAAO,QAAQ,aAAa,CAAC,GAAG,IAAI,iDAAiD;EACrF,MAAM,mBAAmB,GAAG,GAAG,OAAO,YAA2D,CAAC,CAAC;EACnG,MAAM,mBAAmB,GAAG,GAAG,OAAO,aAAgC,CAAC,CAAC;EACxE,MAAM,cAAc,GAAG,GAAG,OAAO,OAAe,oBAAiC,IAAI,SAAS,MAAM,EAAE,QAAQ,IAAI,CAAC,CAAC,CAAC,CAClH,sBAAsB,aAAa,EAAE,mBAAmB,YAAY,CAAC,CAAC,CAAC,CACvE,sBAAsB,aAAa;GAAE,cAAc;GAAgB,eAAe;EAAgB,CAAC,CAAC;EAQvG,MAAM,cAPM,oBAAoB;GAC9B,MAAM;GACN;GACA;GACA;EACF,CAEsB,CAAC;EACvB,MAAM,IAAI,YAAY;GACpB,UAAU,WAAW,CAAC,CAAC,MAAM;EAC/B,CAAC;EAED,OAAO,gBAAgB,CAAC,CAAC,qBAAqB,EAAE,SAAS,KAAK,CAAC;EAC/D,OAAO,gBAAgB,CAAC,CAAC,qBAAqB;GAC5C,aAAa;GACb,cAAc;EAChB,CAAC;EACD,OAAO,eAAe,QAAQ,6BAA6B,CAAC,CAAC,CAAC,KAAK,YAAY;EAC/E,OAAO,YAAY,KAAK,MAAM,KAAI,SAAQ,KAAK,MAAM,OAAO,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB;;;;;;;;;;;KAWlG;CACH,CAAC;CAED,GAAG,kDAAkD,YAAY;EAC/D,OAAO,QAAQ,aAAa,CAAC,GAAG,IAAI,2BAA2B;EAM/D,MAAM,cALM,oBAAoB;GAC9B,MAAM;GACN,aAAa,GAAG,GAAG,OAAO,OAAe,oBAAiC,IAAI,SAAS,MAAM,EAAE,QAAQ,IAAI,CAAC,CAAC;EAC/G,CAEsB,CAAC;EAEvB,OAAO,YAAY,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,SAAS;CAC1D,CAAC;AACH,CAAC"}
@@ -1,10 +1,8 @@
1
- import * as react_jsx_runtime0 from "react/jsx-runtime";
2
-
3
1
  //#region src/components-page/email-verification.d.ts
4
2
  declare function EmailVerification(props: {
5
3
  searchParams?: Record<string, string>;
6
4
  fullPage?: boolean;
7
- }): react_jsx_runtime0.JSX.Element;
5
+ }): import("react/jsx-runtime").JSX.Element;
8
6
  //#endregion
9
7
  export { EmailVerification };
10
8
  //# sourceMappingURL=email-verification.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"email-verification.d.ts","names":[],"sources":["../../../src/components-page/email-verification.tsx"],"mappings":";;;iBAcgB,iBAAA,CAAkB,KAAA;EAChC,YAAA,GAAe,MAAA;EACf,QAAA;AAAA,IACD,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"email-verification.d.ts","names":[],"sources":["../../../src/components-page/email-verification.tsx"],"mappings":";iBAcgB,iBAAA,CAAkB,KAAA;EAChC,YAAA,GAAe,MAAM;EACrB,QAAA;AAAA,gCACD,GAAA,CAAA,OAAA"}
@@ -1,5 +1,4 @@
1
- 'use client';
2
-
1
+ "use client";
3
2
  import { throwErr } from "@hexclave/shared/dist/utils/errors";
4
3
  import React from "react";
5
4
  import { useStackApp, useUser } from "../index.js";
@@ -7,7 +6,6 @@ import { useTranslation } from "../lib/translations.js";
7
6
  import { jsx } from "react/jsx-runtime";
8
7
  import { KnownErrors } from "@hexclave/shared";
9
8
  import { MessageCard as MessageCard$1 } from "../components/message-cards/message-card.js";
10
-
11
9
  //#region src/components-page/email-verification.tsx
12
10
  function EmailVerification(props) {
13
11
  const { t } = useTranslation();
@@ -51,7 +49,7 @@ function EmailVerification(props) {
51
49
  });
52
50
  }
53
51
  }
54
-
55
52
  //#endregion
56
53
  export { EmailVerification };
54
+
57
55
  //# sourceMappingURL=email-verification.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"email-verification.js","names":["MessageCard"],"sources":["../../../src/components-page/email-verification.tsx"],"sourcesContent":["'use client';\n\n\n//===========================================\n// THIS FILE IS AUTO-GENERATED FROM TEMPLATE. DO NOT EDIT IT DIRECTLY UNLESS YOU ALSO EDIT THE CORRESPONDING FILE IN packages/template\n//===========================================\n\nimport { KnownErrors } from \"@hexclave/shared\";\nimport { throwErr } from \"@hexclave/shared/dist/utils/errors\";\nimport React from \"react\";\nimport { useStackApp, useUser } from \"..\";\nimport { MessageCard } from \"../components/message-cards/message-card\";\nimport { useTranslation } from \"../lib/translations\";\n\nexport function EmailVerification(props: {\n searchParams?: Record<string, string>,\n fullPage?: boolean,\n}) {\n const { t } = useTranslation();\n const hexclaveApp = useStackApp();\n const user = useUser();\n const [result, setResult] = React.useState<Awaited<ReturnType<typeof hexclaveApp.verifyEmail>> | null>(null);\n\n const invalidJsx = (\n <MessageCard title={t(\"Invalid Verification Link\")} fullPage={!!props.fullPage}>\n <p>{t(\"Please check if you have the correct link. If you continue to have issues, please contact support.\")}</p>\n </MessageCard>\n );\n\n const expiredJsx = (\n <MessageCard title={t(\"Expired Verification Link\")} fullPage={!!props.fullPage}>\n <p>{t(\"Your email verification link has expired. Please request a new verification link from your account settings.\")}</p>\n </MessageCard>\n );\n\n if (!props.searchParams?.code) {\n return invalidJsx;\n }\n\n if (!result) {\n return <MessageCard\n title={t(\"Do you want to verify your email?\")}\n fullPage={!!props.fullPage}\n primaryButtonText={t(\"Verify\")}\n primaryAction={async () => {\n const result = await hexclaveApp.verifyEmail(props.searchParams?.code || throwErr(\"No verification code provided\"));\n setResult(result);\n }}\n secondaryButtonText={t(\"Cancel\")}\n secondaryAction={async () => {\n await hexclaveApp.redirectToHome();\n }}\n />;\n } else {\n if (result.status === 'error') {\n if (KnownErrors.VerificationCodeNotFound.isInstance(result.error)) {\n return invalidJsx;\n } else if (KnownErrors.VerificationCodeExpired.isInstance(result.error)) {\n return expiredJsx;\n } else if (KnownErrors.VerificationCodeAlreadyUsed.isInstance(result.error)) {\n // everything fine, continue\n } else {\n throw result.error;\n }\n }\n\n return <MessageCard\n title={t(\"You email has been verified!\")}\n fullPage={!!props.fullPage}\n primaryButtonText={t(\"Go home\")}\n primaryAction={async () => {\n await hexclaveApp.redirectToHome();\n }}\n />;\n }\n}\n"],"mappings":";;;;;;;;;;;AAcA,SAAgB,kBAAkB,OAG/B;CACD,MAAM,EAAE,MAAM,gBAAgB;CAC9B,MAAM,cAAc,aAAa;AACpB,UAAS;CACtB,MAAM,CAAC,QAAQ,aAAa,MAAM,SAAqE,KAAK;CAE5G,MAAM,aACJ,oBAACA;EAAY,OAAO,EAAE,4BAA4B;EAAE,UAAU,CAAC,CAAC,MAAM;YACpE,oBAAC,iBAAG,EAAE,qGAAqG,GAAK;GACpG;CAGhB,MAAM,aACJ,oBAACA;EAAY,OAAO,EAAE,4BAA4B;EAAE,UAAU,CAAC,CAAC,MAAM;YACpE,oBAAC,iBAAG,EAAE,+GAA+G,GAAK;GAC9G;AAGhB,KAAI,CAAC,MAAM,cAAc,KACvB,QAAO;AAGT,KAAI,CAAC,OACH,QAAO,oBAACA;EACN,OAAO,EAAE,oCAAoC;EAC7C,UAAU,CAAC,CAAC,MAAM;EAClB,mBAAmB,EAAE,SAAS;EAC9B,eAAe,YAAY;AAEzB,aADe,MAAM,YAAY,YAAY,MAAM,cAAc,QAAQ,SAAS,gCAAgC,CAAC,CAClG;;EAEnB,qBAAqB,EAAE,SAAS;EAChC,iBAAiB,YAAY;AAC3B,SAAM,YAAY,gBAAgB;;GAEpC;MACG;AACL,MAAI,OAAO,WAAW,QACpB,KAAI,YAAY,yBAAyB,WAAW,OAAO,MAAM,CAC/D,QAAO;WACE,YAAY,wBAAwB,WAAW,OAAO,MAAM,CACrE,QAAO;WACE,YAAY,4BAA4B,WAAW,OAAO,MAAM,EAAE,OAG3E,OAAM,OAAO;AAIjB,SAAO,oBAACA;GACN,OAAO,EAAE,+BAA+B;GACxC,UAAU,CAAC,CAAC,MAAM;GAClB,mBAAmB,EAAE,UAAU;GAC/B,eAAe,YAAY;AACzB,UAAM,YAAY,gBAAgB;;IAEpC"}
1
+ {"version":3,"file":"email-verification.js","names":["MessageCard"],"sources":["../../../src/components-page/email-verification.tsx"],"sourcesContent":["'use client';\n\n\n//===========================================\n// THIS FILE IS AUTO-GENERATED FROM TEMPLATE. DO NOT EDIT IT DIRECTLY UNLESS YOU ALSO EDIT THE CORRESPONDING FILE IN packages/template\n//===========================================\n\nimport { KnownErrors } from \"@hexclave/shared\";\nimport { throwErr } from \"@hexclave/shared/dist/utils/errors\";\nimport React from \"react\";\nimport { useStackApp, useUser } from \"..\";\nimport { MessageCard } from \"../components/message-cards/message-card\";\nimport { useTranslation } from \"../lib/translations\";\n\nexport function EmailVerification(props: {\n searchParams?: Record<string, string>,\n fullPage?: boolean,\n}) {\n const { t } = useTranslation();\n const hexclaveApp = useStackApp();\n const user = useUser();\n const [result, setResult] = React.useState<Awaited<ReturnType<typeof hexclaveApp.verifyEmail>> | null>(null);\n\n const invalidJsx = (\n <MessageCard title={t(\"Invalid Verification Link\")} fullPage={!!props.fullPage}>\n <p>{t(\"Please check if you have the correct link. If you continue to have issues, please contact support.\")}</p>\n </MessageCard>\n );\n\n const expiredJsx = (\n <MessageCard title={t(\"Expired Verification Link\")} fullPage={!!props.fullPage}>\n <p>{t(\"Your email verification link has expired. Please request a new verification link from your account settings.\")}</p>\n </MessageCard>\n );\n\n if (!props.searchParams?.code) {\n return invalidJsx;\n }\n\n if (!result) {\n return <MessageCard\n title={t(\"Do you want to verify your email?\")}\n fullPage={!!props.fullPage}\n primaryButtonText={t(\"Verify\")}\n primaryAction={async () => {\n const result = await hexclaveApp.verifyEmail(props.searchParams?.code || throwErr(\"No verification code provided\"));\n setResult(result);\n }}\n secondaryButtonText={t(\"Cancel\")}\n secondaryAction={async () => {\n await hexclaveApp.redirectToHome();\n }}\n />;\n } else {\n if (result.status === 'error') {\n if (KnownErrors.VerificationCodeNotFound.isInstance(result.error)) {\n return invalidJsx;\n } else if (KnownErrors.VerificationCodeExpired.isInstance(result.error)) {\n return expiredJsx;\n } else if (KnownErrors.VerificationCodeAlreadyUsed.isInstance(result.error)) {\n // everything fine, continue\n } else {\n throw result.error;\n }\n }\n\n return <MessageCard\n title={t(\"You email has been verified!\")}\n fullPage={!!props.fullPage}\n primaryButtonText={t(\"Go home\")}\n primaryAction={async () => {\n await hexclaveApp.redirectToHome();\n }}\n />;\n }\n}\n"],"mappings":";;;;;;;;;AAcA,SAAgB,kBAAkB,OAG/B;CACD,MAAM,EAAE,MAAM,eAAe;CAC7B,MAAM,cAAc,YAAY;CACnB,QAAQ;CACrB,MAAM,CAAC,QAAQ,aAAa,MAAM,SAAqE,IAAI;CAE3G,MAAM,aACJ,oBAACA,eAAD;EAAa,OAAO,EAAE,2BAA2B;EAAG,UAAU,CAAC,CAAC,MAAM;YACpE,oBAAC,KAAD,EAAA,UAAI,EAAE,oGAAoG,EAAK,CAAA;CACpG,CAAA;CAGf,MAAM,aACJ,oBAACA,eAAD;EAAa,OAAO,EAAE,2BAA2B;EAAG,UAAU,CAAC,CAAC,MAAM;YACpE,oBAAC,KAAD,EAAA,UAAI,EAAE,8GAA8G,EAAK,CAAA;CAC9G,CAAA;CAGf,IAAI,CAAC,MAAM,cAAc,MACvB,OAAO;CAGT,IAAI,CAAC,QACH,OAAO,oBAACA,eAAD;EACL,OAAO,EAAE,mCAAmC;EAC5C,UAAU,CAAC,CAAC,MAAM;EAClB,mBAAmB,EAAE,QAAQ;EAC7B,eAAe,YAAY;GAEzB,UAAU,MADW,YAAY,YAAY,MAAM,cAAc,QAAQ,SAAS,+BAA+B,CAAC,CAClG;EAClB;EACA,qBAAqB,EAAE,QAAQ;EAC/B,iBAAiB,YAAY;GAC3B,MAAM,YAAY,eAAe;EACnC;CACD,CAAA;MACI;EACL,IAAI,OAAO,WAAW,SACpB,IAAI,YAAY,yBAAyB,WAAW,OAAO,KAAK,GAC9D,OAAO;OACF,IAAI,YAAY,wBAAwB,WAAW,OAAO,KAAK,GACpE,OAAO;OACF,IAAI,YAAY,4BAA4B,WAAW,OAAO,KAAK,GAAG,CAE7E,OACE,MAAM,OAAO;EAIjB,OAAO,oBAACA,eAAD;GACL,OAAO,EAAE,8BAA8B;GACvC,UAAU,CAAC,CAAC,MAAM;GAClB,mBAAmB,EAAE,SAAS;GAC9B,eAAe,YAAY;IACzB,MAAM,YAAY,eAAe;GACnC;EACD,CAAA;CACH;AACF"}
@@ -1,10 +1,8 @@
1
- import * as react_jsx_runtime0 from "react/jsx-runtime";
2
-
3
1
  //#region src/components-page/error-page.d.ts
4
2
  declare function ErrorPage(props: {
5
3
  fullPage?: boolean;
6
4
  searchParams: Record<string, string>;
7
- }): react_jsx_runtime0.JSX.Element;
5
+ }): import("react/jsx-runtime").JSX.Element;
8
6
  //#endregion
9
7
  export { ErrorPage };
10
8
  //# sourceMappingURL=error-page.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"error-page.d.ts","names":[],"sources":["../../../src/components-page/error-page.tsx"],"mappings":";;;iBAgBgB,SAAA,CAAU,KAAA;EAAS,QAAA;EAAoB,YAAA,EAAc,MAAA;AAAA,IAAwB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"error-page.d.ts","names":[],"sources":["../../../src/components-page/error-page.tsx"],"mappings":";iBAgBgB,SAAA,CAAU,KAAA;EAAS,QAAA;EAAoB,YAAA,EAAc,MAAM;AAAA,gCAAkB,GAAA,CAAA,OAAA"}
@@ -1,5 +1,4 @@
1
- 'use client';
2
-
1
+ "use client";
3
2
  import { Typography } from "@hexclave/ui";
4
3
  import { useStackApp } from "../index.js";
5
4
  import { useTranslation } from "../lib/translations.js";
@@ -8,7 +7,6 @@ import { KnownError, KnownErrors } from "@hexclave/shared";
8
7
  import { KnownErrorMessageCard } from "../components/message-cards/known-error-message-card.js";
9
8
  import { MessageCard as MessageCard$1 } from "../components/message-cards/message-card.js";
10
9
  import { PredefinedMessageCard } from "../components/message-cards/predefined-message-card.js";
11
-
12
10
  //#region src/components-page/error-page.tsx
13
11
  function ErrorPage(props) {
14
12
  const { t } = useTranslation();
@@ -69,7 +67,7 @@ function ErrorPage(props) {
69
67
  fullPage: !!props.fullPage
70
68
  });
71
69
  }
72
-
73
70
  //#endregion
74
71
  export { ErrorPage };
72
+
75
73
  //# sourceMappingURL=error-page.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"error-page.js","names":["MessageCard"],"sources":["../../../src/components-page/error-page.tsx"],"sourcesContent":["'use client';\n\n\n//===========================================\n// THIS FILE IS AUTO-GENERATED FROM TEMPLATE. DO NOT EDIT IT DIRECTLY UNLESS YOU ALSO EDIT THE CORRESPONDING FILE IN packages/template\n//===========================================\n\nimport { KnownError, KnownErrors } from \"@hexclave/shared\";\nimport { Typography } from \"@hexclave/ui\";\nimport { useStackApp } from \"..\";\nimport { KnownErrorMessageCard } from \"../components/message-cards/known-error-message-card\";\nimport { MessageCard } from \"../components/message-cards/message-card\";\nimport { PredefinedMessageCard } from \"../components/message-cards/predefined-message-card\";\nimport { useTranslation } from \"../lib/translations\";\n\n\nexport function ErrorPage(props: { fullPage?: boolean, searchParams: Record<string, string> }) {\n const { t } = useTranslation();\n const hexclaveApp = useStackApp();\n const errorCode = props.searchParams.errorCode;\n const message = props.searchParams.message;\n const details = props.searchParams.details;\n\n const unknownErrorCard = <PredefinedMessageCard type='unknownError' fullPage={!!props.fullPage} />;\n\n if (!errorCode || !message) {\n return unknownErrorCard;\n }\n\n let error;\n try {\n const detailJson = details ? JSON.parse(details) : {};\n error = KnownError.fromJson({ code: errorCode, message, details: detailJson });\n } catch (e) {\n return unknownErrorCard;\n }\n\n if (KnownErrors.OAuthConnectionAlreadyConnectedToAnotherUser.isInstance(error)) {\n // TODO: add \"Connect a different account\" button\n return (\n <MessageCard\n title={t(\"Failed to connect account\")}\n fullPage={!!props.fullPage}\n primaryButtonText={t(\"Go Home\")}\n primaryAction={() => hexclaveApp.redirectToHome()}\n >\n <Typography>\n {t(\"This account is already connected to another user. Please connect a different account.\")}\n </Typography>\n </MessageCard>\n );\n }\n\n if (KnownErrors.UserAlreadyConnectedToAnotherOAuthConnection.isInstance(error)) {\n // TODO: add \"Connect again\" button\n return (\n <MessageCard\n title={t(\"Failed to connect account\")}\n fullPage={!!props.fullPage}\n primaryButtonText={t(\"Go Home\")}\n primaryAction={() => hexclaveApp.redirectToHome()}\n >\n <Typography>\n {t(\"The user is already connected to another OAuth account. Did you maybe selected the wrong account on the OAuth provider page?\")}\n </Typography>\n </MessageCard>\n );\n }\n\n if (KnownErrors.OAuthProviderAccessDenied.isInstance(error)) {\n return (\n <MessageCard\n title={t(\"OAuth provider access denied\")}\n fullPage={!!props.fullPage}\n primaryButtonText={t(\"Sign in again\")}\n primaryAction={() => hexclaveApp.redirectToSignIn()}\n secondaryButtonText={t(\"Go Home\")}\n secondaryAction={() => hexclaveApp.redirectToHome()}\n >\n <Typography>\n {t(\"The sign-in operation has been cancelled or denied. Please try again.\")}\n </Typography>\n </MessageCard>\n );\n }\n\n if (KnownErrors.OAuthProviderTemporarilyUnavailable.isInstance(error)) {\n return (\n <MessageCard\n title={t(\"OAuth provider is temporarily unavailable\")}\n fullPage={!!props.fullPage}\n primaryButtonText={t(\"Try again\")}\n primaryAction={() => hexclaveApp.redirectToSignIn()}\n secondaryButtonText={t(\"Go Home\")}\n secondaryAction={() => hexclaveApp.redirectToHome()}\n >\n <Typography>\n {t(\"The OAuth provider could not complete sign-in right now. Please try again in a moment.\")}\n </Typography>\n </MessageCard>\n );\n }\n\n return <KnownErrorMessageCard error={error} fullPage={!!props.fullPage} />;\n}\n"],"mappings":";;;;;;;;;;;;AAgBA,SAAgB,UAAU,OAAqE;CAC7F,MAAM,EAAE,MAAM,gBAAgB;CAC9B,MAAM,cAAc,aAAa;CACjC,MAAM,YAAY,MAAM,aAAa;CACrC,MAAM,UAAU,MAAM,aAAa;CACnC,MAAM,UAAU,MAAM,aAAa;CAEnC,MAAM,mBAAmB,oBAAC;EAAsB,MAAK;EAAe,UAAU,CAAC,CAAC,MAAM;GAAY;AAElG,KAAI,CAAC,aAAa,CAAC,QACjB,QAAO;CAGT,IAAI;AACJ,KAAI;EACF,MAAM,aAAa,UAAU,KAAK,MAAM,QAAQ,GAAG,EAAE;AACrD,UAAQ,WAAW,SAAS;GAAE,MAAM;GAAW;GAAS,SAAS;GAAY,CAAC;UACvE,GAAG;AACV,SAAO;;AAGT,KAAI,YAAY,6CAA6C,WAAW,MAAM,CAE5E,QACE,oBAACA;EACC,OAAO,EAAE,4BAA4B;EACrC,UAAU,CAAC,CAAC,MAAM;EAClB,mBAAmB,EAAE,UAAU;EAC/B,qBAAqB,YAAY,gBAAgB;YAEjD,oBAAC,wBACE,EAAE,yFAAyF,GACjF;GACD;AAIlB,KAAI,YAAY,6CAA6C,WAAW,MAAM,CAE5E,QACE,oBAACA;EACC,OAAO,EAAE,4BAA4B;EACrC,UAAU,CAAC,CAAC,MAAM;EAClB,mBAAmB,EAAE,UAAU;EAC/B,qBAAqB,YAAY,gBAAgB;YAEjD,oBAAC,wBACE,EAAE,+HAA+H,GACvH;GACD;AAIlB,KAAI,YAAY,0BAA0B,WAAW,MAAM,CACzD,QACE,oBAACA;EACC,OAAO,EAAE,+BAA+B;EACxC,UAAU,CAAC,CAAC,MAAM;EAClB,mBAAmB,EAAE,gBAAgB;EACrC,qBAAqB,YAAY,kBAAkB;EACnD,qBAAqB,EAAE,UAAU;EACjC,uBAAuB,YAAY,gBAAgB;YAEnD,oBAAC,wBACE,EAAE,wEAAwE,GAChE;GACD;AAIlB,KAAI,YAAY,oCAAoC,WAAW,MAAM,CACnE,QACE,oBAACA;EACC,OAAO,EAAE,4CAA4C;EACrD,UAAU,CAAC,CAAC,MAAM;EAClB,mBAAmB,EAAE,YAAY;EACjC,qBAAqB,YAAY,kBAAkB;EACnD,qBAAqB,EAAE,UAAU;EACjC,uBAAuB,YAAY,gBAAgB;YAEnD,oBAAC,wBACE,EAAE,yFAAyF,GACjF;GACD;AAIlB,QAAO,oBAAC;EAA6B;EAAO,UAAU,CAAC,CAAC,MAAM;GAAY"}
1
+ {"version":3,"file":"error-page.js","names":["MessageCard"],"sources":["../../../src/components-page/error-page.tsx"],"sourcesContent":["'use client';\n\n\n//===========================================\n// THIS FILE IS AUTO-GENERATED FROM TEMPLATE. DO NOT EDIT IT DIRECTLY UNLESS YOU ALSO EDIT THE CORRESPONDING FILE IN packages/template\n//===========================================\n\nimport { KnownError, KnownErrors } from \"@hexclave/shared\";\nimport { Typography } from \"@hexclave/ui\";\nimport { useStackApp } from \"..\";\nimport { KnownErrorMessageCard } from \"../components/message-cards/known-error-message-card\";\nimport { MessageCard } from \"../components/message-cards/message-card\";\nimport { PredefinedMessageCard } from \"../components/message-cards/predefined-message-card\";\nimport { useTranslation } from \"../lib/translations\";\n\n\nexport function ErrorPage(props: { fullPage?: boolean, searchParams: Record<string, string> }) {\n const { t } = useTranslation();\n const hexclaveApp = useStackApp();\n const errorCode = props.searchParams.errorCode;\n const message = props.searchParams.message;\n const details = props.searchParams.details;\n\n const unknownErrorCard = <PredefinedMessageCard type='unknownError' fullPage={!!props.fullPage} />;\n\n if (!errorCode || !message) {\n return unknownErrorCard;\n }\n\n let error;\n try {\n const detailJson = details ? JSON.parse(details) : {};\n error = KnownError.fromJson({ code: errorCode, message, details: detailJson });\n } catch (e) {\n return unknownErrorCard;\n }\n\n if (KnownErrors.OAuthConnectionAlreadyConnectedToAnotherUser.isInstance(error)) {\n // TODO: add \"Connect a different account\" button\n return (\n <MessageCard\n title={t(\"Failed to connect account\")}\n fullPage={!!props.fullPage}\n primaryButtonText={t(\"Go Home\")}\n primaryAction={() => hexclaveApp.redirectToHome()}\n >\n <Typography>\n {t(\"This account is already connected to another user. Please connect a different account.\")}\n </Typography>\n </MessageCard>\n );\n }\n\n if (KnownErrors.UserAlreadyConnectedToAnotherOAuthConnection.isInstance(error)) {\n // TODO: add \"Connect again\" button\n return (\n <MessageCard\n title={t(\"Failed to connect account\")}\n fullPage={!!props.fullPage}\n primaryButtonText={t(\"Go Home\")}\n primaryAction={() => hexclaveApp.redirectToHome()}\n >\n <Typography>\n {t(\"The user is already connected to another OAuth account. Did you maybe selected the wrong account on the OAuth provider page?\")}\n </Typography>\n </MessageCard>\n );\n }\n\n if (KnownErrors.OAuthProviderAccessDenied.isInstance(error)) {\n return (\n <MessageCard\n title={t(\"OAuth provider access denied\")}\n fullPage={!!props.fullPage}\n primaryButtonText={t(\"Sign in again\")}\n primaryAction={() => hexclaveApp.redirectToSignIn()}\n secondaryButtonText={t(\"Go Home\")}\n secondaryAction={() => hexclaveApp.redirectToHome()}\n >\n <Typography>\n {t(\"The sign-in operation has been cancelled or denied. Please try again.\")}\n </Typography>\n </MessageCard>\n );\n }\n\n if (KnownErrors.OAuthProviderTemporarilyUnavailable.isInstance(error)) {\n return (\n <MessageCard\n title={t(\"OAuth provider is temporarily unavailable\")}\n fullPage={!!props.fullPage}\n primaryButtonText={t(\"Try again\")}\n primaryAction={() => hexclaveApp.redirectToSignIn()}\n secondaryButtonText={t(\"Go Home\")}\n secondaryAction={() => hexclaveApp.redirectToHome()}\n >\n <Typography>\n {t(\"The OAuth provider could not complete sign-in right now. Please try again in a moment.\")}\n </Typography>\n </MessageCard>\n );\n }\n\n return <KnownErrorMessageCard error={error} fullPage={!!props.fullPage} />;\n}\n"],"mappings":";;;;;;;;;;AAgBA,SAAgB,UAAU,OAAqE;CAC7F,MAAM,EAAE,MAAM,eAAe;CAC7B,MAAM,cAAc,YAAY;CAChC,MAAM,YAAY,MAAM,aAAa;CACrC,MAAM,UAAU,MAAM,aAAa;CACnC,MAAM,UAAU,MAAM,aAAa;CAEnC,MAAM,mBAAmB,oBAAC,uBAAD;EAAuB,MAAK;EAAe,UAAU,CAAC,CAAC,MAAM;CAAW,CAAA;CAEjG,IAAI,CAAC,aAAa,CAAC,SACjB,OAAO;CAGT,IAAI;CACJ,IAAI;EACF,MAAM,aAAa,UAAU,KAAK,MAAM,OAAO,IAAI,CAAC;EACpD,QAAQ,WAAW,SAAS;GAAE,MAAM;GAAW;GAAS,SAAS;EAAW,CAAC;CAC/E,SAAS,GAAG;EACV,OAAO;CACT;CAEA,IAAI,YAAY,6CAA6C,WAAW,KAAK,GAE3E,OACE,oBAACA,eAAD;EACE,OAAO,EAAE,2BAA2B;EACpC,UAAU,CAAC,CAAC,MAAM;EAClB,mBAAmB,EAAE,SAAS;EAC9B,qBAAqB,YAAY,eAAe;YAEhD,oBAAC,YAAD,EAAA,UACG,EAAE,wFAAwF,EACjF,CAAA;CACD,CAAA;CAIjB,IAAI,YAAY,6CAA6C,WAAW,KAAK,GAE3E,OACE,oBAACA,eAAD;EACE,OAAO,EAAE,2BAA2B;EACpC,UAAU,CAAC,CAAC,MAAM;EAClB,mBAAmB,EAAE,SAAS;EAC9B,qBAAqB,YAAY,eAAe;YAEhD,oBAAC,YAAD,EAAA,UACG,EAAE,8HAA8H,EACvH,CAAA;CACD,CAAA;CAIjB,IAAI,YAAY,0BAA0B,WAAW,KAAK,GACxD,OACE,oBAACA,eAAD;EACE,OAAO,EAAE,8BAA8B;EACvC,UAAU,CAAC,CAAC,MAAM;EAClB,mBAAmB,EAAE,eAAe;EACpC,qBAAqB,YAAY,iBAAiB;EAClD,qBAAqB,EAAE,SAAS;EAChC,uBAAuB,YAAY,eAAe;YAElD,oBAAC,YAAD,EAAA,UACG,EAAE,uEAAuE,EAChE,CAAA;CACD,CAAA;CAIjB,IAAI,YAAY,oCAAoC,WAAW,KAAK,GAClE,OACE,oBAACA,eAAD;EACE,OAAO,EAAE,2CAA2C;EACpD,UAAU,CAAC,CAAC,MAAM;EAClB,mBAAmB,EAAE,WAAW;EAChC,qBAAqB,YAAY,iBAAiB;EAClD,qBAAqB,EAAE,SAAS;EAChC,uBAAuB,YAAY,eAAe;YAElD,oBAAC,YAAD,EAAA,UACG,EAAE,wFAAwF,EACjF,CAAA;CACD,CAAA;CAIjB,OAAO,oBAAC,uBAAD;EAA8B;EAAO,UAAU,CAAC,CAAC,MAAM;CAAW,CAAA;AAC3E"}
@@ -1,14 +1,12 @@
1
- import * as react_jsx_runtime0 from "react/jsx-runtime";
2
-
3
1
  //#region src/components-page/forgot-password.d.ts
4
2
  declare function ForgotPasswordForm({
5
3
  onSent
6
4
  }: {
7
5
  onSent?: () => void;
8
- }): react_jsx_runtime0.JSX.Element;
6
+ }): import("react/jsx-runtime").JSX.Element;
9
7
  declare function ForgotPassword(props: {
10
8
  fullPage?: boolean;
11
- }): react_jsx_runtime0.JSX.Element;
9
+ }): import("react/jsx-runtime").JSX.Element;
12
10
  //#endregion
13
11
  export { ForgotPassword, ForgotPasswordForm };
14
12
  //# sourceMappingURL=forgot-password.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"forgot-password.d.ts","names":[],"sources":["../../../src/components-page/forgot-password.tsx"],"mappings":";;;iBAqBgB,kBAAA,CAAA;EAAqB;AAAA;EAAY,MAAA;AAAA,IAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBA+CtD,cAAA,CAAe,KAAA;EAAS,QAAA;AAAA,IAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"forgot-password.d.ts","names":[],"sources":["../../../src/components-page/forgot-password.tsx"],"mappings":";iBAqBgB,kBAAA;EAAqB;AAAA;EAAY,MAAA;AAAA,gCAAqB,GAAA,CAAA,OAAA;AAAA,iBA+CtD,cAAA,CAAe,KAAA;EAAS,QAAA;AAAA,gCAAoB,GAAA,CAAA,OAAA"}
@@ -1,5 +1,4 @@
1
- 'use client';
2
-
1
+ "use client";
3
2
  import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
4
3
  import { yupResolver } from "@hookform/resolvers/yup";
5
4
  import { strictEmailSchema, yupObject } from "@hexclave/shared/dist/schema-fields";
@@ -13,7 +12,6 @@ import { jsx, jsxs } from "react/jsx-runtime";
13
12
  import { MaybeFullPage } from "../components/elements/maybe-full-page.js";
14
13
  import { StyledLink } from "../components/link.js";
15
14
  import { PredefinedMessageCard } from "../components/message-cards/predefined-message-card.js";
16
-
17
15
  //#region src/components-page/forgot-password.tsx
18
16
  function ForgotPasswordForm({ onSent }) {
19
17
  const { t } = useTranslation();
@@ -97,7 +95,7 @@ function ForgotPassword(props) {
97
95
  })
98
96
  });
99
97
  }
100
-
101
98
  //#endregion
102
99
  export { ForgotPassword, ForgotPasswordForm };
100
+
103
101
  //# sourceMappingURL=forgot-password.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"forgot-password.js","names":[],"sources":["../../../src/components-page/forgot-password.tsx"],"sourcesContent":["'use client';\n\n\n//===========================================\n// THIS FILE IS AUTO-GENERATED FROM TEMPLATE. DO NOT EDIT IT DIRECTLY UNLESS YOU ALSO EDIT THE CORRESPONDING FILE IN packages/template\n//===========================================\n\nimport { yupResolver } from \"@hookform/resolvers/yup\";\nimport { strictEmailSchema, yupObject } from \"@hexclave/shared/dist/schema-fields\";\nimport { runAsynchronouslyWithAlert } from \"@hexclave/shared/dist/utils/promises\";\nimport { Button, Input, Label, Typography, cn } from \"@hexclave/ui\";\nimport { useState } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport * as yup from \"yup\";\nimport { useStackApp, useUser } from \"..\";\nimport { FormWarningText } from \"../components/elements/form-warning\";\nimport { MaybeFullPage } from \"../components/elements/maybe-full-page\";\nimport { StyledLink } from \"../components/link\";\nimport { PredefinedMessageCard } from \"../components/message-cards/predefined-message-card\";\nimport { useTranslation } from \"../lib/translations\";\n\nexport function ForgotPasswordForm({ onSent }: { onSent?: () => void }) {\n const { t } = useTranslation();\n\n const schema = yupObject({\n email: strictEmailSchema(t(\"Please enter a valid email\")).defined().nonEmpty(t(\"Please enter your email\"))\n });\n\n const { register, handleSubmit, formState: { errors }, clearErrors } = useForm({\n resolver: yupResolver(schema)\n });\n const hexclaveApp = useStackApp();\n const [loading, setLoading] = useState(false);\n\n const onSubmit = async (data: yup.InferType<typeof schema>) => {\n setLoading(true);\n try {\n const { email } = data;\n await hexclaveApp.sendForgotPasswordEmail(email);\n onSent?.();\n } finally {\n setLoading(false);\n }\n };\n\n return (\n <form\n className=\"flex flex-col items-stretch stack-scope\"\n onSubmit={e => runAsynchronouslyWithAlert(handleSubmit(onSubmit)(e))}\n noValidate\n >\n <Label htmlFor=\"email\" className=\"mb-1\">{t(\"Your Email\")}</Label>\n <Input\n id=\"email\"\n type=\"email\"\n autoComplete=\"email\"\n {...register('email', { onChange: () => clearErrors('email') })}\n />\n <FormWarningText text={errors.email?.message?.toString()} />\n\n <Button type=\"submit\" className=\"mt-6\" loading={loading}>\n {t(\"Send Email\")}\n </Button>\n </form>\n );\n}\n\n\nexport function ForgotPassword(props: { fullPage?: boolean }) {\n const { t } = useTranslation();\n const hexclaveApp = useStackApp();\n const user = useUser();\n const [sent, setSent] = useState(false);\n\n if (user) {\n return <PredefinedMessageCard type='signedIn' fullPage={!!props.fullPage} />;\n }\n\n if (sent) {\n return <PredefinedMessageCard type='emailSent' fullPage={!!props.fullPage} />;\n }\n\n return (\n <MaybeFullPage fullPage={!!props.fullPage}>\n <div className={cn(\n \"stack-scope max-w-[380px] flex-basis-[380px]\",\n props.fullPage ? \"p-4\" : \"p-0\"\n )}>\n <div className=\"text-center\">\n <Typography type='h2'>{t(\"Reset Your Password\")}</Typography>\n <Typography>\n {t(\"Don't need to reset?\")}{\" \"}\n <StyledLink\n href=\"#\"\n onClick={(e) => {\n e.preventDefault();\n runAsynchronouslyWithAlert(hexclaveApp.redirectToSignIn());\n }}\n >\n {t(\"Sign in\")}\n </StyledLink>\n </Typography>\n </div>\n <div className=\"mt-6\">\n <ForgotPasswordForm onSent={() => setSent(true)} />\n </div>\n </div>\n </MaybeFullPage>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;AAqBA,SAAgB,mBAAmB,EAAE,UAAmC;CACtE,MAAM,EAAE,MAAM,gBAAgB;CAM9B,MAAM,EAAE,UAAU,cAAc,WAAW,EAAE,UAAU,gBAAgB,QAAQ,EAC7E,UAAU,YALG,UAAU,EACvB,OAAO,kBAAkB,EAAE,6BAA6B,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE,0BAA0B,CAAC,EAC3G,CAAC,CAG6B,EAC9B,CAAC;CACF,MAAM,cAAc,aAAa;CACjC,MAAM,CAAC,SAAS,cAAc,SAAS,MAAM;CAE7C,MAAM,WAAW,OAAO,SAAuC;AAC7D,aAAW,KAAK;AAChB,MAAI;GACF,MAAM,EAAE,UAAU;AAClB,SAAM,YAAY,wBAAwB,MAAM;AAClD,aAAU;YACA;AACR,cAAW,MAAM;;;AAIrB,QACE,qBAAC;EACC,WAAU;EACV,WAAU,MAAK,2BAA2B,aAAa,SAAS,CAAC,EAAE,CAAC;EACpE;;GAEA,oBAAC;IAAM,SAAQ;IAAQ,WAAU;cAAQ,EAAE,aAAa;KAAS;GACjE,oBAAC;IACC,IAAG;IACH,MAAK;IACL,cAAa;IACb,GAAI,SAAS,SAAS,EAAE,gBAAgB,YAAY,QAAQ,EAAE,CAAC;KAC/D;GACF,oBAAC,mBAAgB,MAAM,OAAO,OAAO,SAAS,UAAU,GAAI;GAE5D,oBAAC;IAAO,MAAK;IAAS,WAAU;IAAgB;cAC7C,EAAE,aAAa;KACT;;GACJ;;AAKX,SAAgB,eAAe,OAA+B;CAC5D,MAAM,EAAE,MAAM,gBAAgB;CAC9B,MAAM,cAAc,aAAa;CACjC,MAAM,OAAO,SAAS;CACtB,MAAM,CAAC,MAAM,WAAW,SAAS,MAAM;AAEvC,KAAI,KACF,QAAO,oBAAC;EAAsB,MAAK;EAAW,UAAU,CAAC,CAAC,MAAM;GAAY;AAG9E,KAAI,KACF,QAAO,oBAAC;EAAsB,MAAK;EAAY,UAAU,CAAC,CAAC,MAAM;GAAY;AAG/E,QACE,oBAAC;EAAc,UAAU,CAAC,CAAC,MAAM;YAC/B,qBAAC;GAAI,WAAW,GACd,gDACA,MAAM,WAAW,QAAQ,MAC1B;cACC,qBAAC;IAAI,WAAU;eACb,oBAAC;KAAW,MAAK;eAAM,EAAE,sBAAsB;MAAc,EAC7D,qBAAC;KACE,EAAE,uBAAuB;KAAE;KAC5B,oBAAC;MACC,MAAK;MACL,UAAU,MAAM;AACd,SAAE,gBAAgB;AAClB,kCAA2B,YAAY,kBAAkB,CAAC;;gBAG3D,EAAE,UAAU;OACF;QACF;KACT,EACN,oBAAC;IAAI,WAAU;cACb,oBAAC,sBAAmB,cAAc,QAAQ,KAAK,GAAI;KAC/C;IACF;GACQ"}
1
+ {"version":3,"file":"forgot-password.js","names":[],"sources":["../../../src/components-page/forgot-password.tsx"],"sourcesContent":["'use client';\n\n\n//===========================================\n// THIS FILE IS AUTO-GENERATED FROM TEMPLATE. DO NOT EDIT IT DIRECTLY UNLESS YOU ALSO EDIT THE CORRESPONDING FILE IN packages/template\n//===========================================\n\nimport { yupResolver } from \"@hookform/resolvers/yup\";\nimport { strictEmailSchema, yupObject } from \"@hexclave/shared/dist/schema-fields\";\nimport { runAsynchronouslyWithAlert } from \"@hexclave/shared/dist/utils/promises\";\nimport { Button, Input, Label, Typography, cn } from \"@hexclave/ui\";\nimport { useState } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport * as yup from \"yup\";\nimport { useStackApp, useUser } from \"..\";\nimport { FormWarningText } from \"../components/elements/form-warning\";\nimport { MaybeFullPage } from \"../components/elements/maybe-full-page\";\nimport { StyledLink } from \"../components/link\";\nimport { PredefinedMessageCard } from \"../components/message-cards/predefined-message-card\";\nimport { useTranslation } from \"../lib/translations\";\n\nexport function ForgotPasswordForm({ onSent }: { onSent?: () => void }) {\n const { t } = useTranslation();\n\n const schema = yupObject({\n email: strictEmailSchema(t(\"Please enter a valid email\")).defined().nonEmpty(t(\"Please enter your email\"))\n });\n\n const { register, handleSubmit, formState: { errors }, clearErrors } = useForm({\n resolver: yupResolver(schema)\n });\n const hexclaveApp = useStackApp();\n const [loading, setLoading] = useState(false);\n\n const onSubmit = async (data: yup.InferType<typeof schema>) => {\n setLoading(true);\n try {\n const { email } = data;\n await hexclaveApp.sendForgotPasswordEmail(email);\n onSent?.();\n } finally {\n setLoading(false);\n }\n };\n\n return (\n <form\n className=\"flex flex-col items-stretch stack-scope\"\n onSubmit={e => runAsynchronouslyWithAlert(handleSubmit(onSubmit)(e))}\n noValidate\n >\n <Label htmlFor=\"email\" className=\"mb-1\">{t(\"Your Email\")}</Label>\n <Input\n id=\"email\"\n type=\"email\"\n autoComplete=\"email\"\n {...register('email', { onChange: () => clearErrors('email') })}\n />\n <FormWarningText text={errors.email?.message?.toString()} />\n\n <Button type=\"submit\" className=\"mt-6\" loading={loading}>\n {t(\"Send Email\")}\n </Button>\n </form>\n );\n}\n\n\nexport function ForgotPassword(props: { fullPage?: boolean }) {\n const { t } = useTranslation();\n const hexclaveApp = useStackApp();\n const user = useUser();\n const [sent, setSent] = useState(false);\n\n if (user) {\n return <PredefinedMessageCard type='signedIn' fullPage={!!props.fullPage} />;\n }\n\n if (sent) {\n return <PredefinedMessageCard type='emailSent' fullPage={!!props.fullPage} />;\n }\n\n return (\n <MaybeFullPage fullPage={!!props.fullPage}>\n <div className={cn(\n \"stack-scope max-w-[380px] flex-basis-[380px]\",\n props.fullPage ? \"p-4\" : \"p-0\"\n )}>\n <div className=\"text-center\">\n <Typography type='h2'>{t(\"Reset Your Password\")}</Typography>\n <Typography>\n {t(\"Don't need to reset?\")}{\" \"}\n <StyledLink\n href=\"#\"\n onClick={(e) => {\n e.preventDefault();\n runAsynchronouslyWithAlert(hexclaveApp.redirectToSignIn());\n }}\n >\n {t(\"Sign in\")}\n </StyledLink>\n </Typography>\n </div>\n <div className=\"mt-6\">\n <ForgotPasswordForm onSent={() => setSent(true)} />\n </div>\n </div>\n </MaybeFullPage>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;AAqBA,SAAgB,mBAAmB,EAAE,UAAmC;CACtE,MAAM,EAAE,MAAM,eAAe;CAM7B,MAAM,EAAE,UAAU,cAAc,WAAW,EAAE,UAAU,gBAAgB,QAAQ,EAC7E,UAAU,YALG,UAAU,EACvB,OAAO,kBAAkB,EAAE,4BAA4B,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,yBAAyB,CAAC,EAC3G,CAG6B,CAAC,EAC9B,CAAC;CACD,MAAM,cAAc,YAAY;CAChC,MAAM,CAAC,SAAS,cAAc,SAAS,KAAK;CAE5C,MAAM,WAAW,OAAO,SAAuC;EAC7D,WAAW,IAAI;EACf,IAAI;GACF,MAAM,EAAE,UAAU;GAClB,MAAM,YAAY,wBAAwB,KAAK;GACjD,SAAS;EACT,UAAU;GACR,WAAW,KAAK;EAClB;CACF;CAEA,OACE,qBAAC,QAAD;EACE,WAAU;EACV,WAAU,MAAK,2BAA2B,aAAa,QAAQ,CAAC,CAAC,CAAC,CAAC;EACnE,YAAA;YAHF;GAKE,oBAAC,OAAD;IAAO,SAAQ;IAAQ,WAAU;cAAQ,EAAE,YAAY;GAAS,CAAA;GAChE,oBAAC,OAAD;IACE,IAAG;IACH,MAAK;IACL,cAAa;IACb,GAAI,SAAS,SAAS,EAAE,gBAAgB,YAAY,OAAO,EAAE,CAAC;GAC/D,CAAA;GACD,oBAAC,iBAAD,EAAiB,MAAM,OAAO,OAAO,SAAS,SAAS,EAAI,CAAA;GAE3D,oBAAC,QAAD;IAAQ,MAAK;IAAS,WAAU;IAAgB;cAC7C,EAAE,YAAY;GACT,CAAA;EACJ;;AAEV;AAGA,SAAgB,eAAe,OAA+B;CAC5D,MAAM,EAAE,MAAM,eAAe;CAC7B,MAAM,cAAc,YAAY;CAChC,MAAM,OAAO,QAAQ;CACrB,MAAM,CAAC,MAAM,WAAW,SAAS,KAAK;CAEtC,IAAI,MACF,OAAO,oBAAC,uBAAD;EAAuB,MAAK;EAAW,UAAU,CAAC,CAAC,MAAM;CAAW,CAAA;CAG7E,IAAI,MACF,OAAO,oBAAC,uBAAD;EAAuB,MAAK;EAAY,UAAU,CAAC,CAAC,MAAM;CAAW,CAAA;CAG9E,OACE,oBAAC,eAAD;EAAe,UAAU,CAAC,CAAC,MAAM;YAC/B,qBAAC,OAAD;GAAK,WAAW,GACd,gDACA,MAAM,WAAW,QAAQ,KAC3B;aAHA,CAIE,qBAAC,OAAD;IAAK,WAAU;cAAf,CACE,oBAAC,YAAD;KAAY,MAAK;eAAM,EAAE,qBAAqB;IAAc,CAAA,GAC5D,qBAAC,YAAD,EAAA,UAAA;KACG,EAAE,sBAAsB;KAAG;KAC5B,oBAAC,YAAD;MACE,MAAK;MACL,UAAU,MAAM;OACd,EAAE,eAAe;OACjB,2BAA2B,YAAY,iBAAiB,CAAC;MAC3D;gBAEC,EAAE,SAAS;KACF,CAAA;IACF,EAAA,CAAA,CACT;OACL,oBAAC,OAAD;IAAK,WAAU;cACb,oBAAC,oBAAD,EAAoB,cAAc,QAAQ,IAAI,EAAI,CAAA;GAC/C,CAAA,CACF;;CACQ,CAAA;AAEnB"}
@@ -1,18 +1,18 @@
1
+ import { SignIn, SignUp } from "../index.js";
1
2
  import { KnownError } from "@hexclave/shared";
2
- import { HandlerUrls, StackClientApp } from "../lib/hexclave-app";
3
- import { SignIn, SignUp } from "..";
4
- import { AccountSettings } from "./account-settings";
5
- import { CliAuthConfirmation } from "./cli-auth-confirm";
6
- import { EmailVerification } from "./email-verification";
7
- import { ErrorPage } from "./error-page";
8
- import { ForgotPassword } from "./forgot-password";
9
- import { MagicLinkCallback } from "./magic-link-callback";
10
- import { MFA } from "./mfa";
11
- import { OAuthCallback } from "./oauth-callback";
12
- import { Onboarding } from "./onboarding";
13
- import { PasswordReset } from "./password-reset";
14
- import { SignOut } from "./sign-out";
15
- import { TeamInvitation } from "./team-invitation";
3
+ import { CliAuthConfirmation } from "./cli-auth-confirm.js";
4
+ import { HandlerUrls, StackClientApp } from "../lib/hexclave-app/index.js";
5
+ import { AccountSettings } from "./account-settings.js";
6
+ import { EmailVerification } from "./email-verification.js";
7
+ import { ErrorPage } from "./error-page.js";
8
+ import { ForgotPassword } from "./forgot-password.js";
9
+ import { MagicLinkCallback } from "./magic-link-callback.js";
10
+ import { MFA } from "./mfa.js";
11
+ import { OAuthCallback } from "./oauth-callback.js";
12
+ import { Onboarding } from "./onboarding.js";
13
+ import { PasswordReset } from "./password-reset.js";
14
+ import { SignOut } from "./sign-out.js";
15
+ import { TeamInvitation } from "./team-invitation.js";
16
16
 
17
17
  //#region src/components-page/hexclave-handler-client.d.ts
18
18
  type Components = {
@@ -1 +1 @@
1
- {"version":3,"file":"hexclave-handler-client.d.ts","names":[],"sources":["../../../src/components-page/hexclave-handler-client.tsx"],"mappings":";;;;;;;;;;;;;;;;;KAmCK,UAAA;EACH,MAAA,SAAe,MAAA;EACf,MAAA,SAAe,MAAA;EACf,iBAAA,SAA0B,iBAAA;EAC1B,aAAA,SAAsB,aAAA;EACtB,cAAA,SAAuB,cAAA;EACvB,OAAA,SAAgB,OAAA;EAChB,aAAA,SAAsB,aAAA;EACtB,iBAAA,SAA0B,iBAAA;EAC1B,cAAA,SAAuB,cAAA;EACvB,SAAA,SAAkB,SAAA;EAClB,eAAA,SAAwB,eAAA;EACxB,mBAAA,SAA4B,mBAAA;EAC5B,GAAA,SAAY,GAAA;EACZ,UAAA,SAAmB,UAAA;AAAA;AAAA,KAGhB,UAAA;EACH,MAAA,EAAQ,OAAA;IAAU,KAAA;EAAA;IAAwB,KAAA;EAAA;EAC1C,YAAA,EAAc,OAAA,CAAQ,MAAA,oBAA0B,MAAA;AAAA;AAAA,KAG7C,oBAAA;EACC,MAAA;AAAA;EACA,MAAA;EAAuB,KAAA,EAAO,UAAA;AAAA;EAC9B,MAAA;AAAA;AAAA,KA4BM,gBAAA;EACV,QAAA;EACA,cAAA,iBACc,UAAA,IAAc,UAAA,CAAW,UAAA,CAAW,CAAA;AAAA;AAAA,iBAgJ9B,uBAAA,CACpB,GAAA,EAAK,cAAA,EACL,cAAA,QAAsB,WAAA,GACrB,OAAA,CAAQ,oBAAA;AAAA,iBAiCK,qBAAA,CAAsB,KAAA,EAAO,gBAAA,GAAmB,OAAA,CAAQ,UAAA;EAAgB,QAAA;AAAA"}
1
+ {"version":3,"file":"hexclave-handler-client.d.ts","names":[],"sources":["../../../src/components-page/hexclave-handler-client.tsx"],"mappings":";;;;;;;;;;;;;;;;;KAmCK,UAAA;EACH,MAAA,SAAe,MAAA;EACf,MAAA,SAAe,MAAA;EACf,iBAAA,SAA0B,iBAAA;EAC1B,aAAA,SAAsB,aAAA;EACtB,cAAA,SAAuB,cAAA;EACvB,OAAA,SAAgB,OAAA;EAChB,aAAA,SAAsB,aAAA;EACtB,iBAAA,SAA0B,iBAAA;EAC1B,cAAA,SAAuB,cAAA;EACvB,SAAA,SAAkB,SAAA;EAClB,eAAA,SAAwB,eAAA;EACxB,mBAAA,SAA4B,mBAAA;EAC5B,GAAA,SAAY,GAAA;EACZ,UAAA,SAAmB,UAAA;AAAA;AAAA,KAGhB,UAAA;EACH,MAAA,EAAQ,OAAA;IAAU,KAAA;EAAA;IAAwB,KAAA;EAAA;EAC1C,YAAA,EAAc,OAAA,CAAQ,MAAA,oBAA0B,MAAA;AAAA;AAAA,KAG7C,oBAAA;EACC,MAAA;AAAA;EACA,MAAA;EAAuB,KAAA,EAAO,UAAU;AAAA;EACxC,MAAA;AAAA;AAAA,KA4BM,gBAAA;EACV,QAAA;EACA,cAAA,iBACc,UAAA,IAAc,UAAA,CAAW,UAAA,CAAW,CAAA;AAAA;AAAA,iBAgJ9B,uBAAA,CACpB,GAAA,EAAK,cAAA,EACL,cAAA,QAAsB,WAAA,GACrB,OAAA,CAAQ,oBAAA;AAAA,iBAiCK,qBAAA,CAAsB,KAAA,EAAO,gBAAA,GAAmB,OAAA,CAAQ,UAAA;EAAgB,QAAA;AAAA"}
@@ -1,5 +1,4 @@
1
1
  "use client";
2
-
3
2
  import { HexclaveAssertionError, captureError } from "@hexclave/shared/dist/utils/errors";
4
3
  import { Suspense, useMemo, useSyncExternalStore } from "react";
5
4
  import { SignIn, SignUp } from "../index.js";
@@ -27,7 +26,6 @@ import { Onboarding } from "./onboarding.js";
27
26
  import { PasswordReset } from "./password-reset.js";
28
27
  import { SignOut } from "./sign-out.js";
29
28
  import { TeamInvitation } from "./team-invitation.js";
30
-
31
29
  //#region src/components-page/hexclave-handler-client.tsx
32
30
  const availablePaths = {
33
31
  signIn: "sign-in",
@@ -252,7 +250,7 @@ function toAbsoluteOrRelativeRedirectTarget(url) {
252
250
  function useClientOriginAfterHydration() {
253
251
  return useSyncExternalStore(() => () => {}, () => window.location.origin, () => void 0);
254
252
  }
255
-
256
253
  //#endregion
257
254
  export { HexclaveHandlerClient, getRedirectToPageResult };
255
+
258
256
  //# sourceMappingURL=hexclave-handler-client.js.map