@hexclave/react 1.0.3 → 1.0.5

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 (874) hide show
  1. package/dist/components/api-key-dialogs.d.ts +1 -1
  2. package/dist/components/api-key-dialogs.js +5 -5
  3. package/dist/components/api-key-dialogs.js.map +1 -1
  4. package/dist/components/api-key-table.d.ts +1 -1
  5. package/dist/components/api-key-table.js.map +1 -1
  6. package/dist/components/credential-sign-in.js +3 -3
  7. package/dist/components/credential-sign-in.js.map +1 -1
  8. package/dist/components/credential-sign-up.js +5 -5
  9. package/dist/components/credential-sign-up.js.map +1 -1
  10. package/dist/components/elements/form-warning.js.map +1 -1
  11. package/dist/components/elements/maybe-full-page.js.map +1 -1
  12. package/dist/components/elements/separator-with-text.js.map +1 -1
  13. package/dist/components/elements/sidebar-layout.js +1 -1
  14. package/dist/components/elements/sidebar-layout.js.map +1 -1
  15. package/dist/components/elements/ssr-layout-effect.js.map +1 -1
  16. package/dist/components/elements/user-avatar.js +1 -1
  17. package/dist/components/elements/user-avatar.js.map +1 -1
  18. package/dist/components/link.js.map +1 -1
  19. package/dist/components/magic-link-sign-in.js +6 -6
  20. package/dist/components/magic-link-sign-in.js.map +1 -1
  21. package/dist/components/message-cards/known-error-message-card.js +2 -2
  22. package/dist/components/message-cards/known-error-message-card.js.map +1 -1
  23. package/dist/components/message-cards/message-card.js.map +1 -1
  24. package/dist/components/message-cards/predefined-message-card.js +10 -10
  25. package/dist/components/message-cards/predefined-message-card.js.map +1 -1
  26. package/dist/components/oauth-button-group.js +2 -2
  27. package/dist/components/oauth-button-group.js.map +1 -1
  28. package/dist/components/oauth-button.js +2 -2
  29. package/dist/components/oauth-button.js.map +1 -1
  30. package/dist/components/passkey-button.js +3 -3
  31. package/dist/components/passkey-button.js.map +1 -1
  32. package/dist/components/profile-image-editor.js +1 -1
  33. package/dist/components/profile-image-editor.js.map +1 -1
  34. package/dist/components/selected-team-switcher.d.ts +1 -1
  35. package/dist/components/selected-team-switcher.js.map +1 -1
  36. package/dist/components/team-icon.d.ts +1 -1
  37. package/dist/components/team-icon.js +1 -1
  38. package/dist/components/team-icon.js.map +1 -1
  39. package/dist/components/team-switcher.d.ts +1 -1
  40. package/dist/components/team-switcher.js +2 -2
  41. package/dist/components/team-switcher.js.map +1 -1
  42. package/dist/components/use-in-iframe.js.map +1 -1
  43. package/dist/components/user-button.js +1 -1
  44. package/dist/components/user-button.js.map +1 -1
  45. package/dist/components-page/account-settings/active-sessions/active-sessions-page.js +1 -1
  46. package/dist/components-page/account-settings/active-sessions/active-sessions-page.js.map +1 -1
  47. package/dist/components-page/account-settings/api-keys/api-keys-page.js.map +1 -1
  48. package/dist/components-page/account-settings/editable-text.js +1 -1
  49. package/dist/components-page/account-settings/editable-text.js.map +1 -1
  50. package/dist/components-page/account-settings/email-and-auth/email-and-auth-page.js.map +1 -1
  51. package/dist/components-page/account-settings/email-and-auth/emails-section.js +3 -3
  52. package/dist/components-page/account-settings/email-and-auth/emails-section.js.map +1 -1
  53. package/dist/components-page/account-settings/email-and-auth/mfa-section.js +1 -1
  54. package/dist/components-page/account-settings/email-and-auth/mfa-section.js.map +1 -1
  55. package/dist/components-page/account-settings/email-and-auth/otp-section.js.map +1 -1
  56. package/dist/components-page/account-settings/email-and-auth/passkey-section.js.map +1 -1
  57. package/dist/components-page/account-settings/email-and-auth/password-section.js +3 -3
  58. package/dist/components-page/account-settings/email-and-auth/password-section.js.map +1 -1
  59. package/dist/components-page/account-settings/notifications/notifications-page.js.map +1 -1
  60. package/dist/components-page/account-settings/page-layout.js.map +1 -1
  61. package/dist/components-page/account-settings/payments/payments-page.d.ts +1 -1
  62. package/dist/components-page/account-settings/payments/payments-page.js.map +1 -1
  63. package/dist/components-page/account-settings/payments/payments-panel.d.ts +1 -1
  64. package/dist/components-page/account-settings/payments/payments-panel.js +3 -3
  65. package/dist/components-page/account-settings/payments/payments-panel.js.map +1 -1
  66. package/dist/components-page/account-settings/profile-page/profile-page.js.map +1 -1
  67. package/dist/components-page/account-settings/section.js.map +1 -1
  68. package/dist/components-page/account-settings/settings/delete-account-section.js.map +1 -1
  69. package/dist/components-page/account-settings/settings/settings-page.js.map +1 -1
  70. package/dist/components-page/account-settings/settings/sign-out-section.js.map +1 -1
  71. package/dist/components-page/account-settings/teams/leave-team-section.d.ts +1 -1
  72. package/dist/components-page/account-settings/teams/leave-team-section.js.map +1 -1
  73. package/dist/components-page/account-settings/teams/team-api-keys-section.d.ts +1 -1
  74. package/dist/components-page/account-settings/teams/team-api-keys-section.js +1 -1
  75. package/dist/components-page/account-settings/teams/team-api-keys-section.js.map +1 -1
  76. package/dist/components-page/account-settings/teams/team-creation-page.js +3 -3
  77. package/dist/components-page/account-settings/teams/team-creation-page.js.map +1 -1
  78. package/dist/components-page/account-settings/teams/team-display-name-section.d.ts +1 -1
  79. package/dist/components-page/account-settings/teams/team-display-name-section.js.map +1 -1
  80. package/dist/components-page/account-settings/teams/team-member-invitation-section.d.ts +1 -1
  81. package/dist/components-page/account-settings/teams/team-member-invitation-section.js +4 -4
  82. package/dist/components-page/account-settings/teams/team-member-invitation-section.js.map +1 -1
  83. package/dist/components-page/account-settings/teams/team-member-list-section.d.ts +1 -1
  84. package/dist/components-page/account-settings/teams/team-member-list-section.js.map +1 -1
  85. package/dist/components-page/account-settings/teams/team-page.d.ts +1 -1
  86. package/dist/components-page/account-settings/teams/team-page.js.map +1 -1
  87. package/dist/components-page/account-settings/teams/team-profile-image-section.d.ts +1 -1
  88. package/dist/components-page/account-settings/teams/team-profile-image-section.js.map +1 -1
  89. package/dist/components-page/account-settings/teams/team-profile-user-section.d.ts +1 -1
  90. package/dist/components-page/account-settings/teams/team-profile-user-section.js.map +1 -1
  91. package/dist/components-page/account-settings.js +3 -3
  92. package/dist/components-page/account-settings.js.map +1 -1
  93. package/dist/components-page/auth-page.d.ts.map +1 -1
  94. package/dist/components-page/auth-page.js +56 -11
  95. package/dist/components-page/auth-page.js.map +1 -1
  96. package/dist/components-page/cli-auth-confirm.js +4 -4
  97. package/dist/components-page/cli-auth-confirm.js.map +1 -1
  98. package/dist/components-page/cli-auth-confirm.test.js +5 -5
  99. package/dist/components-page/cli-auth-confirm.test.js.map +1 -1
  100. package/dist/components-page/email-verification.js +6 -6
  101. package/dist/components-page/email-verification.js.map +1 -1
  102. package/dist/components-page/error-page.js +9 -9
  103. package/dist/components-page/error-page.js.map +1 -1
  104. package/dist/components-page/forgot-password.js +9 -9
  105. package/dist/components-page/forgot-password.js.map +1 -1
  106. package/dist/components-page/{stack-handler-client.d.ts → hexclave-handler-client.d.ts} +4 -4
  107. package/dist/components-page/hexclave-handler-client.d.ts.map +1 -0
  108. package/dist/components-page/{stack-handler-client.js → hexclave-handler-client.js} +25 -24
  109. package/dist/components-page/hexclave-handler-client.js.map +1 -0
  110. package/dist/components-page/{stack-handler.d.ts → hexclave-handler.d.ts} +5 -5
  111. package/dist/components-page/hexclave-handler.d.ts.map +1 -0
  112. package/dist/components-page/{stack-handler.js → hexclave-handler.js} +4 -4
  113. package/dist/components-page/hexclave-handler.js.map +1 -0
  114. package/dist/components-page/magic-link-callback.js +9 -9
  115. package/dist/components-page/magic-link-callback.js.map +1 -1
  116. package/dist/components-page/mfa.js +7 -7
  117. package/dist/components-page/mfa.js.map +1 -1
  118. package/dist/components-page/oauth-callback.js +6 -6
  119. package/dist/components-page/oauth-callback.js.map +1 -1
  120. package/dist/components-page/onboarding.js +7 -7
  121. package/dist/components-page/onboarding.js.map +1 -1
  122. package/dist/components-page/password-reset.js +16 -16
  123. package/dist/components-page/password-reset.js.map +1 -1
  124. package/dist/components-page/sign-in.js.map +1 -1
  125. package/dist/components-page/sign-out.d.ts +1 -0
  126. package/dist/components-page/sign-out.d.ts.map +1 -1
  127. package/dist/components-page/sign-out.js +11 -5
  128. package/dist/components-page/sign-out.js.map +1 -1
  129. package/dist/components-page/sign-up.js.map +1 -1
  130. package/dist/components-page/team-creation.js +5 -5
  131. package/dist/components-page/team-creation.js.map +1 -1
  132. package/dist/components-page/team-invitation.js +17 -17
  133. package/dist/components-page/team-invitation.js.map +1 -1
  134. package/dist/dev-tool/dev-tool-core.d.ts +1 -1
  135. package/dist/dev-tool/dev-tool-core.js +11 -11
  136. package/dist/dev-tool/dev-tool-core.js.map +1 -1
  137. package/dist/dev-tool/dev-tool-styles.d.ts +1 -1
  138. package/dist/dev-tool/dev-tool-styles.js +371 -371
  139. package/dist/dev-tool/dev-tool-styles.js.map +1 -1
  140. package/dist/dev-tool/dev-tool-trigger-position.js.map +1 -1
  141. package/dist/dev-tool/dev-tool-trigger-position.test.js +1 -1
  142. package/dist/dev-tool/dev-tool-trigger-position.test.js.map +1 -1
  143. package/dist/dev-tool/index.d.ts +4 -4
  144. package/dist/dev-tool/index.js +5 -5
  145. package/dist/dev-tool/index.js.map +1 -1
  146. package/dist/esm/components/api-key-dialogs.d.ts +1 -1
  147. package/dist/esm/components/api-key-dialogs.js +5 -5
  148. package/dist/esm/components/api-key-dialogs.js.map +1 -1
  149. package/dist/esm/components/api-key-table.d.ts +1 -1
  150. package/dist/esm/components/api-key-table.js.map +1 -1
  151. package/dist/esm/components/credential-sign-in.js +3 -3
  152. package/dist/esm/components/credential-sign-in.js.map +1 -1
  153. package/dist/esm/components/credential-sign-up.js +5 -5
  154. package/dist/esm/components/credential-sign-up.js.map +1 -1
  155. package/dist/esm/components/elements/form-warning.js.map +1 -1
  156. package/dist/esm/components/elements/maybe-full-page.js.map +1 -1
  157. package/dist/esm/components/elements/separator-with-text.js.map +1 -1
  158. package/dist/esm/components/elements/sidebar-layout.js +1 -1
  159. package/dist/esm/components/elements/sidebar-layout.js.map +1 -1
  160. package/dist/esm/components/elements/ssr-layout-effect.js.map +1 -1
  161. package/dist/esm/components/elements/user-avatar.js +1 -1
  162. package/dist/esm/components/elements/user-avatar.js.map +1 -1
  163. package/dist/esm/components/link.js.map +1 -1
  164. package/dist/esm/components/magic-link-sign-in.js +6 -6
  165. package/dist/esm/components/magic-link-sign-in.js.map +1 -1
  166. package/dist/esm/components/message-cards/known-error-message-card.js +2 -2
  167. package/dist/esm/components/message-cards/known-error-message-card.js.map +1 -1
  168. package/dist/esm/components/message-cards/message-card.js.map +1 -1
  169. package/dist/esm/components/message-cards/predefined-message-card.js +10 -10
  170. package/dist/esm/components/message-cards/predefined-message-card.js.map +1 -1
  171. package/dist/esm/components/oauth-button-group.js +2 -2
  172. package/dist/esm/components/oauth-button-group.js.map +1 -1
  173. package/dist/esm/components/oauth-button.js +2 -2
  174. package/dist/esm/components/oauth-button.js.map +1 -1
  175. package/dist/esm/components/passkey-button.js +3 -3
  176. package/dist/esm/components/passkey-button.js.map +1 -1
  177. package/dist/esm/components/profile-image-editor.js +1 -1
  178. package/dist/esm/components/profile-image-editor.js.map +1 -1
  179. package/dist/esm/components/selected-team-switcher.js.map +1 -1
  180. package/dist/esm/components/team-icon.js +1 -1
  181. package/dist/esm/components/team-icon.js.map +1 -1
  182. package/dist/esm/components/team-switcher.js +2 -2
  183. package/dist/esm/components/team-switcher.js.map +1 -1
  184. package/dist/esm/components/use-in-iframe.js.map +1 -1
  185. package/dist/esm/components/user-button.js +1 -1
  186. package/dist/esm/components/user-button.js.map +1 -1
  187. package/dist/esm/components-page/account-settings/active-sessions/active-sessions-page.js +1 -1
  188. package/dist/esm/components-page/account-settings/active-sessions/active-sessions-page.js.map +1 -1
  189. package/dist/esm/components-page/account-settings/api-keys/api-keys-page.js.map +1 -1
  190. package/dist/esm/components-page/account-settings/editable-text.js +1 -1
  191. package/dist/esm/components-page/account-settings/editable-text.js.map +1 -1
  192. package/dist/esm/components-page/account-settings/email-and-auth/email-and-auth-page.js.map +1 -1
  193. package/dist/esm/components-page/account-settings/email-and-auth/emails-section.js +3 -3
  194. package/dist/esm/components-page/account-settings/email-and-auth/emails-section.js.map +1 -1
  195. package/dist/esm/components-page/account-settings/email-and-auth/mfa-section.js +1 -1
  196. package/dist/esm/components-page/account-settings/email-and-auth/mfa-section.js.map +1 -1
  197. package/dist/esm/components-page/account-settings/email-and-auth/otp-section.js.map +1 -1
  198. package/dist/esm/components-page/account-settings/email-and-auth/passkey-section.js.map +1 -1
  199. package/dist/esm/components-page/account-settings/email-and-auth/password-section.js +3 -3
  200. package/dist/esm/components-page/account-settings/email-and-auth/password-section.js.map +1 -1
  201. package/dist/esm/components-page/account-settings/notifications/notifications-page.js.map +1 -1
  202. package/dist/esm/components-page/account-settings/page-layout.js.map +1 -1
  203. package/dist/esm/components-page/account-settings/payments/payments-page.js.map +1 -1
  204. package/dist/esm/components-page/account-settings/payments/payments-panel.d.ts +1 -1
  205. package/dist/esm/components-page/account-settings/payments/payments-panel.js +3 -3
  206. package/dist/esm/components-page/account-settings/payments/payments-panel.js.map +1 -1
  207. package/dist/esm/components-page/account-settings/profile-page/profile-page.js.map +1 -1
  208. package/dist/esm/components-page/account-settings/section.js.map +1 -1
  209. package/dist/esm/components-page/account-settings/settings/delete-account-section.js.map +1 -1
  210. package/dist/esm/components-page/account-settings/settings/settings-page.js.map +1 -1
  211. package/dist/esm/components-page/account-settings/settings/sign-out-section.js.map +1 -1
  212. package/dist/esm/components-page/account-settings/teams/leave-team-section.js.map +1 -1
  213. package/dist/esm/components-page/account-settings/teams/team-api-keys-section.d.ts +1 -1
  214. package/dist/esm/components-page/account-settings/teams/team-api-keys-section.js +1 -1
  215. package/dist/esm/components-page/account-settings/teams/team-api-keys-section.js.map +1 -1
  216. package/dist/esm/components-page/account-settings/teams/team-creation-page.js +3 -3
  217. package/dist/esm/components-page/account-settings/teams/team-creation-page.js.map +1 -1
  218. package/dist/esm/components-page/account-settings/teams/team-display-name-section.js.map +1 -1
  219. package/dist/esm/components-page/account-settings/teams/team-member-invitation-section.js +4 -4
  220. package/dist/esm/components-page/account-settings/teams/team-member-invitation-section.js.map +1 -1
  221. package/dist/esm/components-page/account-settings/teams/team-member-list-section.js.map +1 -1
  222. package/dist/esm/components-page/account-settings/teams/team-page.js.map +1 -1
  223. package/dist/esm/components-page/account-settings/teams/team-profile-image-section.js.map +1 -1
  224. package/dist/esm/components-page/account-settings/teams/team-profile-user-section.js.map +1 -1
  225. package/dist/esm/components-page/account-settings.d.ts +1 -1
  226. package/dist/esm/components-page/account-settings.js +3 -3
  227. package/dist/esm/components-page/account-settings.js.map +1 -1
  228. package/dist/esm/components-page/auth-page.d.ts.map +1 -1
  229. package/dist/esm/components-page/auth-page.js +57 -12
  230. package/dist/esm/components-page/auth-page.js.map +1 -1
  231. package/dist/esm/components-page/cli-auth-confirm.js +4 -4
  232. package/dist/esm/components-page/cli-auth-confirm.js.map +1 -1
  233. package/dist/esm/components-page/cli-auth-confirm.test.js +5 -5
  234. package/dist/esm/components-page/cli-auth-confirm.test.js.map +1 -1
  235. package/dist/esm/components-page/email-verification.js +6 -6
  236. package/dist/esm/components-page/email-verification.js.map +1 -1
  237. package/dist/esm/components-page/error-page.js +9 -9
  238. package/dist/esm/components-page/error-page.js.map +1 -1
  239. package/dist/esm/components-page/forgot-password.js +9 -9
  240. package/dist/esm/components-page/forgot-password.js.map +1 -1
  241. package/dist/esm/components-page/{stack-handler-client.d.ts → hexclave-handler-client.d.ts} +4 -4
  242. package/dist/esm/components-page/hexclave-handler-client.d.ts.map +1 -0
  243. package/dist/esm/components-page/{stack-handler-client.js → hexclave-handler-client.js} +23 -22
  244. package/dist/esm/components-page/hexclave-handler-client.js.map +1 -0
  245. package/dist/esm/components-page/{stack-handler.d.ts → hexclave-handler.d.ts} +5 -5
  246. package/dist/esm/components-page/hexclave-handler.d.ts.map +1 -0
  247. package/dist/esm/components-page/{stack-handler.js → hexclave-handler.js} +4 -4
  248. package/dist/esm/components-page/hexclave-handler.js.map +1 -0
  249. package/dist/esm/components-page/magic-link-callback.js +9 -9
  250. package/dist/esm/components-page/magic-link-callback.js.map +1 -1
  251. package/dist/esm/components-page/mfa.js +7 -7
  252. package/dist/esm/components-page/mfa.js.map +1 -1
  253. package/dist/esm/components-page/oauth-callback.js +6 -6
  254. package/dist/esm/components-page/oauth-callback.js.map +1 -1
  255. package/dist/esm/components-page/onboarding.js +7 -7
  256. package/dist/esm/components-page/onboarding.js.map +1 -1
  257. package/dist/esm/components-page/password-reset.js +16 -16
  258. package/dist/esm/components-page/password-reset.js.map +1 -1
  259. package/dist/esm/components-page/sign-in.js.map +1 -1
  260. package/dist/esm/components-page/sign-out.d.ts +1 -0
  261. package/dist/esm/components-page/sign-out.d.ts.map +1 -1
  262. package/dist/esm/components-page/sign-out.js +11 -5
  263. package/dist/esm/components-page/sign-out.js.map +1 -1
  264. package/dist/esm/components-page/sign-up.js.map +1 -1
  265. package/dist/esm/components-page/team-creation.js +5 -5
  266. package/dist/esm/components-page/team-creation.js.map +1 -1
  267. package/dist/esm/components-page/team-invitation.js +17 -17
  268. package/dist/esm/components-page/team-invitation.js.map +1 -1
  269. package/dist/esm/dev-tool/dev-tool-core.d.ts +1 -1
  270. package/dist/esm/dev-tool/dev-tool-core.js +10 -10
  271. package/dist/esm/dev-tool/dev-tool-core.js.map +1 -1
  272. package/dist/esm/dev-tool/dev-tool-styles.d.ts +1 -1
  273. package/dist/esm/dev-tool/dev-tool-styles.js +371 -371
  274. package/dist/esm/dev-tool/dev-tool-styles.js.map +1 -1
  275. package/dist/esm/dev-tool/dev-tool-trigger-position.js.map +1 -1
  276. package/dist/esm/dev-tool/dev-tool-trigger-position.test.js +1 -1
  277. package/dist/esm/dev-tool/dev-tool-trigger-position.test.js.map +1 -1
  278. package/dist/esm/dev-tool/index.d.ts +4 -4
  279. package/dist/esm/dev-tool/index.js +5 -5
  280. package/dist/esm/dev-tool/index.js.map +1 -1
  281. package/dist/esm/generated/quetzal-translations.d.ts +2 -2
  282. package/dist/esm/generated/quetzal-translations.js.map +1 -1
  283. package/dist/esm/index.d.ts +4 -4
  284. package/dist/esm/index.js +3 -3
  285. package/dist/esm/integrations/convex/component/convex.config.js.map +1 -1
  286. package/dist/esm/integrations/convex.js +1 -1
  287. package/dist/esm/integrations/convex.js.map +1 -1
  288. package/dist/esm/lib/auth.js +1 -1
  289. package/dist/esm/lib/auth.js.map +1 -1
  290. package/dist/esm/lib/auth.test.js +1 -1
  291. package/dist/esm/lib/auth.test.js.map +1 -1
  292. package/dist/esm/lib/cookie.js.map +1 -1
  293. package/dist/esm/lib/env.js.map +1 -1
  294. package/dist/{lib/stack-app → esm/lib/hexclave-app}/api-keys/index.d.ts +2 -2
  295. package/dist/esm/lib/hexclave-app/api-keys/index.d.ts.map +1 -0
  296. package/dist/esm/lib/{stack-app → hexclave-app}/api-keys/index.js +1 -1
  297. package/dist/esm/lib/hexclave-app/api-keys/index.js.map +1 -0
  298. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/admin-app-impl.d.ts +7 -7
  299. package/dist/esm/lib/hexclave-app/apps/implementations/admin-app-impl.d.ts.map +1 -0
  300. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/admin-app-impl.js +8 -8
  301. package/dist/esm/lib/hexclave-app/apps/implementations/admin-app-impl.js.map +1 -0
  302. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/client-app-impl.cross-domain.test.js +2 -2
  303. package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.cross-domain.test.js.map +1 -0
  304. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/client-app-impl.d.ts +14 -14
  305. package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.d.ts.map +1 -0
  306. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/client-app-impl.js +25 -32
  307. package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.js.map +1 -0
  308. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/client-app-impl.oauth-prefetch.test.js +1 -1
  309. package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.oauth-prefetch.test.js.map +1 -0
  310. package/dist/{lib/stack-app → esm/lib/hexclave-app}/apps/implementations/common.d.ts +4 -4
  311. package/dist/esm/lib/hexclave-app/apps/implementations/common.d.ts.map +1 -0
  312. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/common.js +9 -9
  313. package/dist/esm/lib/hexclave-app/apps/implementations/common.js.map +1 -0
  314. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/event-tracker.d.ts +1 -1
  315. package/dist/esm/lib/hexclave-app/apps/implementations/event-tracker.d.ts.map +1 -0
  316. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/event-tracker.js +1 -1
  317. package/dist/esm/lib/hexclave-app/apps/implementations/event-tracker.js.map +1 -0
  318. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/event-tracker.test.js +1 -1
  319. package/dist/esm/lib/hexclave-app/apps/implementations/event-tracker.test.js.map +1 -0
  320. package/dist/esm/lib/hexclave-app/apps/implementations/index.d.ts +9 -0
  321. package/dist/esm/lib/hexclave-app/apps/implementations/index.d.ts.map +1 -0
  322. package/dist/esm/lib/hexclave-app/apps/implementations/index.js +27 -0
  323. package/dist/esm/lib/hexclave-app/apps/implementations/index.js.map +1 -0
  324. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/redirect-page-urls.d.ts +1 -1
  325. package/dist/esm/lib/hexclave-app/apps/implementations/redirect-page-urls.d.ts.map +1 -0
  326. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/redirect-page-urls.js +1 -1
  327. package/dist/esm/lib/hexclave-app/apps/implementations/redirect-page-urls.js.map +1 -0
  328. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/server-app-impl.d.ts +5 -5
  329. package/dist/esm/lib/hexclave-app/apps/implementations/server-app-impl.d.ts.map +1 -0
  330. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/server-app-impl.js +7 -7
  331. package/dist/esm/lib/hexclave-app/apps/implementations/server-app-impl.js.map +1 -0
  332. package/dist/{lib/stack-app → esm/lib/hexclave-app}/apps/implementations/session-refresh-subscription.d.ts +1 -1
  333. package/dist/esm/lib/hexclave-app/apps/implementations/session-refresh-subscription.d.ts.map +1 -0
  334. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/session-refresh-subscription.js +1 -1
  335. package/dist/esm/lib/hexclave-app/apps/implementations/session-refresh-subscription.js.map +1 -0
  336. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/session-refresh-subscription.test.js +1 -1
  337. package/dist/esm/lib/hexclave-app/apps/implementations/session-refresh-subscription.test.js.map +1 -0
  338. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/session-replay.d.ts +1 -1
  339. package/dist/esm/lib/hexclave-app/apps/implementations/session-replay.d.ts.map +1 -0
  340. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/session-replay.js +2 -2
  341. package/dist/esm/lib/hexclave-app/apps/implementations/session-replay.js.map +1 -0
  342. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/session-replay.test.js +1 -1
  343. package/dist/esm/lib/hexclave-app/apps/implementations/session-replay.test.js.map +1 -0
  344. package/dist/esm/lib/{stack-app → hexclave-app}/apps/interfaces/admin-app.d.ts +1 -1
  345. package/dist/esm/lib/hexclave-app/apps/interfaces/admin-app.d.ts.map +1 -0
  346. package/dist/esm/lib/{stack-app → hexclave-app}/apps/interfaces/admin-app.js +3 -3
  347. package/dist/esm/lib/hexclave-app/apps/interfaces/admin-app.js.map +1 -0
  348. package/dist/esm/lib/{stack-app → hexclave-app}/apps/interfaces/client-app.d.ts +4 -4
  349. package/dist/esm/lib/hexclave-app/apps/interfaces/client-app.d.ts.map +1 -0
  350. package/dist/esm/lib/{stack-app → hexclave-app}/apps/interfaces/client-app.js +3 -3
  351. package/dist/esm/lib/hexclave-app/apps/interfaces/client-app.js.map +1 -0
  352. package/dist/esm/lib/{stack-app → hexclave-app}/apps/interfaces/server-app.d.ts +1 -1
  353. package/dist/esm/lib/hexclave-app/apps/interfaces/server-app.d.ts.map +1 -0
  354. package/dist/esm/lib/{stack-app → hexclave-app}/apps/interfaces/server-app.js +3 -3
  355. package/dist/esm/lib/hexclave-app/apps/interfaces/server-app.js.map +1 -0
  356. package/dist/esm/lib/{stack-app → hexclave-app}/common.d.ts +7 -7
  357. package/dist/esm/lib/hexclave-app/common.d.ts.map +1 -0
  358. package/dist/esm/lib/hexclave-app/common.js +7 -0
  359. package/dist/esm/lib/hexclave-app/common.js.map +1 -0
  360. package/dist/esm/lib/{stack-app → hexclave-app}/connected-accounts/index.d.ts +1 -1
  361. package/dist/esm/lib/hexclave-app/connected-accounts/index.d.ts.map +1 -0
  362. package/dist/esm/lib/{stack-app → hexclave-app}/contact-channels/index.d.ts +1 -1
  363. package/dist/esm/lib/hexclave-app/contact-channels/index.d.ts.map +1 -0
  364. package/dist/esm/lib/{stack-app → hexclave-app}/contact-channels/index.js +1 -1
  365. package/dist/esm/lib/hexclave-app/contact-channels/index.js.map +1 -0
  366. package/dist/esm/lib/{stack-app → hexclave-app}/customers/index.d.ts +1 -1
  367. package/dist/esm/lib/hexclave-app/customers/index.d.ts.map +1 -0
  368. package/dist/esm/lib/{stack-app → hexclave-app}/data-vault/index.d.ts +1 -1
  369. package/dist/esm/lib/hexclave-app/data-vault/index.d.ts.map +1 -0
  370. package/dist/esm/lib/{stack-app → hexclave-app}/email/index.d.ts +1 -1
  371. package/dist/esm/lib/hexclave-app/email/index.d.ts.map +1 -0
  372. package/dist/{lib/stack-app → esm/lib/hexclave-app}/email-templates/index.d.ts +1 -1
  373. package/dist/esm/lib/hexclave-app/email-templates/index.d.ts.map +1 -0
  374. package/dist/esm/lib/{stack-app → hexclave-app}/email-templates/index.js +1 -1
  375. package/dist/esm/lib/hexclave-app/email-templates/index.js.map +1 -0
  376. package/dist/esm/lib/{stack-app → hexclave-app}/index.d.ts +2 -2
  377. package/dist/esm/lib/{stack-app → hexclave-app}/index.js +2 -2
  378. package/dist/{lib/stack-app → esm/lib/hexclave-app}/internal-api-keys/index.d.ts +1 -1
  379. package/dist/esm/lib/hexclave-app/internal-api-keys/index.d.ts.map +1 -0
  380. package/dist/esm/lib/{stack-app → hexclave-app}/internal-api-keys/index.js +1 -1
  381. package/dist/esm/lib/hexclave-app/internal-api-keys/index.js.map +1 -0
  382. package/dist/{lib/stack-app → esm/lib/hexclave-app}/notification-categories/index.d.ts +1 -1
  383. package/dist/esm/lib/hexclave-app/notification-categories/index.d.ts.map +1 -0
  384. package/dist/{lib/stack-app → esm/lib/hexclave-app}/permissions/index.d.ts +1 -1
  385. package/dist/esm/lib/hexclave-app/permissions/index.d.ts.map +1 -0
  386. package/dist/esm/lib/{stack-app → hexclave-app}/permissions/index.js +1 -1
  387. package/dist/esm/lib/hexclave-app/permissions/index.js.map +1 -0
  388. package/dist/esm/lib/{stack-app → hexclave-app}/project-configs/index.d.ts +1 -1
  389. package/dist/esm/lib/hexclave-app/project-configs/index.d.ts.map +1 -0
  390. package/dist/esm/lib/{stack-app → hexclave-app}/projects/index.d.ts +1 -1
  391. package/dist/esm/lib/hexclave-app/projects/index.d.ts.map +1 -0
  392. package/dist/esm/lib/{stack-app → hexclave-app}/projects/index.js +1 -1
  393. package/dist/esm/lib/hexclave-app/projects/index.js.map +1 -0
  394. package/dist/{lib/stack-app → esm/lib/hexclave-app}/session-replays/index.d.ts +1 -1
  395. package/dist/esm/lib/hexclave-app/session-replays/index.d.ts.map +1 -0
  396. package/dist/esm/lib/{stack-app → hexclave-app}/teams/index.d.ts +1 -1
  397. package/dist/esm/lib/hexclave-app/teams/index.d.ts.map +1 -0
  398. package/dist/esm/lib/{stack-app → hexclave-app}/teams/index.js +1 -1
  399. package/dist/esm/lib/hexclave-app/teams/index.js.map +1 -0
  400. package/dist/esm/lib/{stack-app → hexclave-app}/url-targets.d.ts +1 -1
  401. package/dist/esm/lib/hexclave-app/url-targets.d.ts.map +1 -0
  402. package/dist/esm/lib/{stack-app → hexclave-app}/url-targets.js +2 -2
  403. package/dist/esm/lib/hexclave-app/url-targets.js.map +1 -0
  404. package/dist/esm/lib/{stack-app → hexclave-app}/url-targets.test.js +1 -1
  405. package/dist/esm/lib/hexclave-app/url-targets.test.js.map +1 -0
  406. package/dist/esm/lib/{stack-app → hexclave-app}/users/index.d.ts +2 -2
  407. package/dist/esm/lib/hexclave-app/users/index.d.ts.map +1 -0
  408. package/dist/esm/lib/{stack-app → hexclave-app}/users/index.js +1 -1
  409. package/dist/esm/lib/hexclave-app/users/index.js.map +1 -0
  410. package/dist/esm/lib/hooks.d.ts +1 -1
  411. package/dist/esm/lib/hooks.js +9 -9
  412. package/dist/esm/lib/hooks.js.map +1 -1
  413. package/dist/esm/lib/translations.js.map +1 -1
  414. package/dist/esm/providers/hexclave-context.d.ts +11 -0
  415. package/dist/esm/providers/hexclave-context.d.ts.map +1 -0
  416. package/dist/esm/providers/hexclave-context.js +12 -0
  417. package/dist/esm/providers/hexclave-context.js.map +1 -0
  418. package/dist/esm/providers/{stack-provider-client.d.ts → hexclave-provider-client.d.ts} +5 -5
  419. package/dist/esm/providers/hexclave-provider-client.d.ts.map +1 -0
  420. package/dist/esm/providers/hexclave-provider-client.js +30 -0
  421. package/dist/esm/providers/hexclave-provider-client.js.map +1 -0
  422. package/dist/esm/providers/{stack-provider.d.ts → hexclave-provider.d.ts} +3 -3
  423. package/dist/esm/providers/hexclave-provider.d.ts.map +1 -0
  424. package/dist/esm/providers/{stack-provider.js → hexclave-provider.js} +4 -4
  425. package/dist/esm/providers/hexclave-provider.js.map +1 -0
  426. package/dist/esm/providers/theme-provider.js.map +1 -1
  427. package/dist/esm/providers/translation-provider-client.js.map +1 -1
  428. package/dist/esm/providers/translation-provider.js +1 -1
  429. package/dist/esm/providers/translation-provider.js.map +1 -1
  430. package/dist/esm/tanstack-start-server-context.d.ts +1 -1
  431. package/dist/esm/utils/browser-script.js.map +1 -1
  432. package/dist/esm/utils/constants.js.map +1 -1
  433. package/dist/esm/utils/url.js.map +1 -1
  434. package/dist/generated/quetzal-translations.d.ts +2 -2
  435. package/dist/generated/quetzal-translations.js.map +1 -1
  436. package/dist/index.d.ts +18 -18
  437. package/dist/index.js +9 -9
  438. package/dist/integrations/convex/component/convex.config.js.map +1 -1
  439. package/dist/integrations/convex.js +2 -2
  440. package/dist/integrations/convex.js.map +1 -1
  441. package/dist/lib/auth.js +1 -1
  442. package/dist/lib/auth.js.map +1 -1
  443. package/dist/lib/auth.test.js +1 -1
  444. package/dist/lib/auth.test.js.map +1 -1
  445. package/dist/lib/cookie.js.map +1 -1
  446. package/dist/lib/env.js.map +1 -1
  447. package/dist/{esm/lib/stack-app → lib/hexclave-app}/api-keys/index.d.ts +2 -2
  448. package/dist/{esm/lib/stack-app → lib/hexclave-app}/api-keys/index.d.ts.map +1 -1
  449. package/dist/lib/{stack-app → hexclave-app}/api-keys/index.js +1 -1
  450. package/dist/lib/hexclave-app/api-keys/index.js.map +1 -0
  451. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/admin-app-impl.d.ts +6 -6
  452. package/dist/lib/hexclave-app/apps/implementations/admin-app-impl.d.ts.map +1 -0
  453. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/admin-app-impl.js +6 -6
  454. package/dist/lib/hexclave-app/apps/implementations/admin-app-impl.js.map +1 -0
  455. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/client-app-impl.cross-domain.test.js +2 -2
  456. package/dist/lib/hexclave-app/apps/implementations/client-app-impl.cross-domain.test.js.map +1 -0
  457. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/client-app-impl.d.ts +13 -13
  458. package/dist/lib/hexclave-app/apps/implementations/client-app-impl.d.ts.map +1 -0
  459. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/client-app-impl.js +24 -31
  460. package/dist/lib/hexclave-app/apps/implementations/client-app-impl.js.map +1 -0
  461. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/client-app-impl.oauth-prefetch.test.js +1 -1
  462. package/dist/lib/hexclave-app/apps/implementations/client-app-impl.oauth-prefetch.test.js.map +1 -0
  463. package/dist/{esm/lib/stack-app → lib/hexclave-app}/apps/implementations/common.d.ts +4 -4
  464. package/dist/{esm/lib/stack-app → lib/hexclave-app}/apps/implementations/common.d.ts.map +1 -1
  465. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/common.js +8 -8
  466. package/dist/lib/hexclave-app/apps/implementations/common.js.map +1 -0
  467. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/event-tracker.d.ts +1 -1
  468. package/dist/{esm/lib/stack-app → lib/hexclave-app}/apps/implementations/event-tracker.d.ts.map +1 -1
  469. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/event-tracker.js +1 -1
  470. package/dist/lib/hexclave-app/apps/implementations/event-tracker.js.map +1 -0
  471. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/event-tracker.test.js +1 -1
  472. package/dist/lib/hexclave-app/apps/implementations/event-tracker.test.js.map +1 -0
  473. package/dist/lib/hexclave-app/apps/implementations/index.d.ts +9 -0
  474. package/dist/lib/hexclave-app/apps/implementations/index.d.ts.map +1 -0
  475. package/dist/lib/hexclave-app/apps/implementations/index.js +31 -0
  476. package/dist/lib/hexclave-app/apps/implementations/index.js.map +1 -0
  477. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/redirect-page-urls.d.ts +1 -1
  478. package/dist/{esm/lib/stack-app → lib/hexclave-app}/apps/implementations/redirect-page-urls.d.ts.map +1 -1
  479. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/redirect-page-urls.js +1 -1
  480. package/dist/lib/hexclave-app/apps/implementations/redirect-page-urls.js.map +1 -0
  481. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/server-app-impl.d.ts +4 -4
  482. package/dist/{esm/lib/stack-app → lib/hexclave-app}/apps/implementations/server-app-impl.d.ts.map +1 -1
  483. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/server-app-impl.js +6 -6
  484. package/dist/lib/hexclave-app/apps/implementations/server-app-impl.js.map +1 -0
  485. package/dist/{esm/lib/stack-app → lib/hexclave-app}/apps/implementations/session-refresh-subscription.d.ts +1 -1
  486. package/dist/{esm/lib/stack-app → lib/hexclave-app}/apps/implementations/session-refresh-subscription.d.ts.map +1 -1
  487. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/session-refresh-subscription.js +1 -1
  488. package/dist/lib/hexclave-app/apps/implementations/session-refresh-subscription.js.map +1 -0
  489. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/session-refresh-subscription.test.js +1 -1
  490. package/dist/lib/hexclave-app/apps/implementations/session-refresh-subscription.test.js.map +1 -0
  491. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/session-replay.d.ts +1 -1
  492. package/dist/{esm/lib/stack-app → lib/hexclave-app}/apps/implementations/session-replay.d.ts.map +1 -1
  493. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/session-replay.js +2 -2
  494. package/dist/lib/hexclave-app/apps/implementations/session-replay.js.map +1 -0
  495. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/session-replay.test.js +1 -1
  496. package/dist/lib/hexclave-app/apps/implementations/session-replay.test.js.map +1 -0
  497. package/dist/lib/{stack-app → hexclave-app}/apps/interfaces/admin-app.d.ts +1 -1
  498. package/dist/{esm/lib/stack-app → lib/hexclave-app}/apps/interfaces/admin-app.d.ts.map +1 -1
  499. package/dist/lib/{stack-app → hexclave-app}/apps/interfaces/admin-app.js +2 -2
  500. package/dist/lib/hexclave-app/apps/interfaces/admin-app.js.map +1 -0
  501. package/dist/lib/{stack-app → hexclave-app}/apps/interfaces/client-app.d.ts +4 -4
  502. package/dist/{esm/lib/stack-app → lib/hexclave-app}/apps/interfaces/client-app.d.ts.map +1 -1
  503. package/dist/lib/{stack-app → hexclave-app}/apps/interfaces/client-app.js +2 -2
  504. package/dist/lib/hexclave-app/apps/interfaces/client-app.js.map +1 -0
  505. package/dist/lib/{stack-app → hexclave-app}/apps/interfaces/server-app.d.ts +1 -1
  506. package/dist/{esm/lib/stack-app → lib/hexclave-app}/apps/interfaces/server-app.d.ts.map +1 -1
  507. package/dist/lib/{stack-app → hexclave-app}/apps/interfaces/server-app.js +2 -2
  508. package/dist/lib/hexclave-app/apps/interfaces/server-app.js.map +1 -0
  509. package/dist/lib/{stack-app → hexclave-app}/common.d.ts +7 -7
  510. package/dist/{esm/lib/stack-app → lib/hexclave-app}/common.d.ts.map +1 -1
  511. package/dist/lib/hexclave-app/common.js +9 -0
  512. package/dist/lib/hexclave-app/common.js.map +1 -0
  513. package/dist/lib/{stack-app → hexclave-app}/connected-accounts/index.d.ts +1 -1
  514. package/dist/{esm/lib/stack-app → lib/hexclave-app}/connected-accounts/index.d.ts.map +1 -1
  515. package/dist/lib/{stack-app → hexclave-app}/contact-channels/index.d.ts +1 -1
  516. package/dist/{esm/lib/stack-app → lib/hexclave-app}/contact-channels/index.d.ts.map +1 -1
  517. package/dist/lib/{stack-app → hexclave-app}/contact-channels/index.js +1 -1
  518. package/dist/lib/hexclave-app/contact-channels/index.js.map +1 -0
  519. package/dist/lib/{stack-app → hexclave-app}/customers/index.d.ts +1 -1
  520. package/dist/{esm/lib/stack-app → lib/hexclave-app}/customers/index.d.ts.map +1 -1
  521. package/dist/lib/{stack-app → hexclave-app}/data-vault/index.d.ts +1 -1
  522. package/dist/{esm/lib/stack-app → lib/hexclave-app}/data-vault/index.d.ts.map +1 -1
  523. package/dist/lib/{stack-app → hexclave-app}/email/index.d.ts +1 -1
  524. package/dist/{esm/lib/stack-app → lib/hexclave-app}/email/index.d.ts.map +1 -1
  525. package/dist/{esm/lib/stack-app → lib/hexclave-app}/email-templates/index.d.ts +1 -1
  526. package/dist/{esm/lib/stack-app → lib/hexclave-app}/email-templates/index.d.ts.map +1 -1
  527. package/dist/lib/{stack-app → hexclave-app}/email-templates/index.js +1 -1
  528. package/dist/lib/hexclave-app/email-templates/index.js.map +1 -0
  529. package/dist/lib/{stack-app → hexclave-app}/index.d.ts +2 -2
  530. package/dist/lib/{stack-app → hexclave-app}/index.js +2 -2
  531. package/dist/{esm/lib/stack-app → lib/hexclave-app}/internal-api-keys/index.d.ts +1 -1
  532. package/dist/{esm/lib/stack-app → lib/hexclave-app}/internal-api-keys/index.d.ts.map +1 -1
  533. package/dist/lib/{stack-app → hexclave-app}/internal-api-keys/index.js +1 -1
  534. package/dist/lib/hexclave-app/internal-api-keys/index.js.map +1 -0
  535. package/dist/{esm/lib/stack-app → lib/hexclave-app}/notification-categories/index.d.ts +1 -1
  536. package/dist/{esm/lib/stack-app → lib/hexclave-app}/notification-categories/index.d.ts.map +1 -1
  537. package/dist/{esm/lib/stack-app → lib/hexclave-app}/permissions/index.d.ts +1 -1
  538. package/dist/{esm/lib/stack-app → lib/hexclave-app}/permissions/index.d.ts.map +1 -1
  539. package/dist/lib/{stack-app → hexclave-app}/permissions/index.js +1 -1
  540. package/dist/lib/hexclave-app/permissions/index.js.map +1 -0
  541. package/dist/lib/{stack-app → hexclave-app}/project-configs/index.d.ts +1 -1
  542. package/dist/{esm/lib/stack-app → lib/hexclave-app}/project-configs/index.d.ts.map +1 -1
  543. package/dist/lib/{stack-app → hexclave-app}/projects/index.d.ts +1 -1
  544. package/dist/{esm/lib/stack-app → lib/hexclave-app}/projects/index.d.ts.map +1 -1
  545. package/dist/lib/{stack-app → hexclave-app}/projects/index.js +1 -1
  546. package/dist/lib/hexclave-app/projects/index.js.map +1 -0
  547. package/dist/{esm/lib/stack-app → lib/hexclave-app}/session-replays/index.d.ts +1 -1
  548. package/dist/{esm/lib/stack-app → lib/hexclave-app}/session-replays/index.d.ts.map +1 -1
  549. package/dist/lib/{stack-app → hexclave-app}/teams/index.d.ts +1 -1
  550. package/dist/{esm/lib/stack-app → lib/hexclave-app}/teams/index.d.ts.map +1 -1
  551. package/dist/lib/{stack-app → hexclave-app}/teams/index.js +1 -1
  552. package/dist/lib/hexclave-app/teams/index.js.map +1 -0
  553. package/dist/lib/{stack-app → hexclave-app}/url-targets.d.ts +1 -1
  554. package/dist/{esm/lib/stack-app → lib/hexclave-app}/url-targets.d.ts.map +1 -1
  555. package/dist/lib/{stack-app → hexclave-app}/url-targets.js +2 -2
  556. package/dist/lib/hexclave-app/url-targets.js.map +1 -0
  557. package/dist/lib/{stack-app → hexclave-app}/url-targets.test.js +1 -1
  558. package/dist/lib/hexclave-app/url-targets.test.js.map +1 -0
  559. package/dist/lib/{stack-app → hexclave-app}/users/index.d.ts +1 -1
  560. package/dist/{esm/lib/stack-app → lib/hexclave-app}/users/index.d.ts.map +1 -1
  561. package/dist/lib/{stack-app → hexclave-app}/users/index.js +1 -1
  562. package/dist/lib/hexclave-app/users/index.js.map +1 -0
  563. package/dist/lib/hooks.d.ts +3 -3
  564. package/dist/lib/hooks.d.ts.map +1 -1
  565. package/dist/lib/hooks.js +9 -9
  566. package/dist/lib/hooks.js.map +1 -1
  567. package/dist/lib/translations.js.map +1 -1
  568. package/dist/providers/hexclave-context.d.ts +11 -0
  569. package/dist/providers/hexclave-context.d.ts.map +1 -0
  570. package/dist/providers/hexclave-context.js +15 -0
  571. package/dist/providers/hexclave-context.js.map +1 -0
  572. package/dist/providers/{stack-provider-client.d.ts → hexclave-provider-client.d.ts} +5 -5
  573. package/dist/providers/hexclave-provider-client.d.ts.map +1 -0
  574. package/dist/providers/{stack-provider-client.js → hexclave-provider-client.js} +9 -9
  575. package/dist/providers/hexclave-provider-client.js.map +1 -0
  576. package/dist/providers/{stack-provider.d.ts → hexclave-provider.d.ts} +3 -3
  577. package/dist/providers/hexclave-provider.d.ts.map +1 -0
  578. package/dist/providers/{stack-provider.js → hexclave-provider.js} +4 -4
  579. package/dist/providers/hexclave-provider.js.map +1 -0
  580. package/dist/providers/theme-provider.js.map +1 -1
  581. package/dist/providers/translation-provider-client.js.map +1 -1
  582. package/dist/providers/translation-provider.js +1 -1
  583. package/dist/providers/translation-provider.js.map +1 -1
  584. package/dist/tanstack-start-server-context.d.ts +1 -1
  585. package/dist/utils/browser-script.js.map +1 -1
  586. package/dist/utils/constants.js.map +1 -1
  587. package/dist/utils/url.js.map +1 -1
  588. package/package.json +5 -4
  589. package/src/components/api-key-dialogs.tsx +173 -0
  590. package/src/components/api-key-table.tsx +127 -0
  591. package/src/components/credential-sign-in.tsx +83 -0
  592. package/src/components/credential-sign-up.tsx +108 -0
  593. package/src/components/elements/form-warning.tsx +17 -0
  594. package/src/components/elements/maybe-full-page.tsx +60 -0
  595. package/src/components/elements/separator-with-text.tsx +22 -0
  596. package/src/components/elements/sidebar-layout.tsx +136 -0
  597. package/src/components/elements/ssr-layout-effect.tsx +24 -0
  598. package/src/components/elements/user-avatar.tsx +32 -0
  599. package/src/components/link.tsx +38 -0
  600. package/src/components/magic-link-sign-in.tsx +143 -0
  601. package/src/components/message-cards/known-error-message-card.tsx +33 -0
  602. package/src/components/message-cards/message-card.tsx +46 -0
  603. package/src/components/message-cards/predefined-message-card.tsx +88 -0
  604. package/src/components/oauth-button-group.tsx +35 -0
  605. package/src/components/oauth-button.tsx +222 -0
  606. package/src/components/passkey-button.tsx +43 -0
  607. package/src/components/profile-image-editor.tsx +194 -0
  608. package/src/components/selected-team-switcher.tsx +97 -0
  609. package/src/components/team-icon.tsx +30 -0
  610. package/src/components/team-switcher.tsx +191 -0
  611. package/src/components/use-in-iframe.tsx +18 -0
  612. package/src/components/user-button.tsx +157 -0
  613. package/src/components-page/account-settings/active-sessions/active-sessions-page.tsx +238 -0
  614. package/src/components-page/account-settings/api-keys/api-keys-page.tsx +157 -0
  615. package/src/components-page/account-settings/editable-text.tsx +53 -0
  616. package/src/components-page/account-settings/email-and-auth/email-and-auth-page.tsx +24 -0
  617. package/src/components-page/account-settings/email-and-auth/emails-section.tsx +201 -0
  618. package/src/components-page/account-settings/email-and-auth/mfa-section.tsx +139 -0
  619. package/src/components-page/account-settings/email-and-auth/otp-section.tsx +102 -0
  620. package/src/components-page/account-settings/email-and-auth/passkey-section.tsx +112 -0
  621. package/src/components-page/account-settings/email-and-auth/password-section.tsx +174 -0
  622. package/src/components-page/account-settings/notifications/notifications-page.tsx +44 -0
  623. package/src/components-page/account-settings/page-layout.tsx +11 -0
  624. package/src/components-page/account-settings/payments/payments-page.tsx +73 -0
  625. package/src/components-page/account-settings/payments/payments-panel.tsx +543 -0
  626. package/src/components-page/account-settings/profile-page/profile-page.tsx +61 -0
  627. package/src/components-page/account-settings/section.tsx +26 -0
  628. package/src/components-page/account-settings/settings/delete-account-section.tsx +85 -0
  629. package/src/components-page/account-settings/settings/settings-page.tsx +19 -0
  630. package/src/components-page/account-settings/settings/sign-out-section.tsx +40 -0
  631. package/src/components-page/account-settings/teams/leave-team-section.tsx +57 -0
  632. package/src/components-page/account-settings/teams/team-api-keys-section.tsx +74 -0
  633. package/src/components-page/account-settings/teams/team-creation-page.tsx +92 -0
  634. package/src/components-page/account-settings/teams/team-display-name-section.tsx +31 -0
  635. package/src/components-page/account-settings/teams/team-member-invitation-section.tsx +128 -0
  636. package/src/components-page/account-settings/teams/team-member-list-section.tsx +59 -0
  637. package/src/components-page/account-settings/teams/team-page.tsx +28 -0
  638. package/src/components-page/account-settings/teams/team-profile-image-section.tsx +33 -0
  639. package/src/components-page/account-settings/teams/team-profile-user-section.tsx +29 -0
  640. package/src/components-page/account-settings.tsx +343 -0
  641. package/src/components-page/auth-page.tsx +206 -0
  642. package/src/components-page/cli-auth-confirm.test.tsx +204 -0
  643. package/src/components-page/cli-auth-confirm.tsx +278 -0
  644. package/src/components-page/email-verification.tsx +76 -0
  645. package/src/components-page/error-page.tsx +105 -0
  646. package/src/components-page/forgot-password.tsx +105 -0
  647. package/src/components-page/hexclave-handler-client.tsx +361 -0
  648. package/src/components-page/hexclave-handler.tsx +48 -0
  649. package/src/components-page/magic-link-callback.tsx +92 -0
  650. package/src/components-page/mfa.tsx +222 -0
  651. package/src/components-page/oauth-callback.tsx +78 -0
  652. package/src/components-page/onboarding.tsx +176 -0
  653. package/src/components-page/password-reset.tsx +185 -0
  654. package/src/components-page/section.tsx +27 -0
  655. package/src/components-page/sign-in.tsx +34 -0
  656. package/src/components-page/sign-out.tsx +37 -0
  657. package/src/components-page/sign-up.tsx +24 -0
  658. package/src/components-page/team-creation.tsx +78 -0
  659. package/src/components-page/team-invitation.tsx +150 -0
  660. package/src/dev-tool/dev-tool-core.ts +2460 -0
  661. package/src/dev-tool/dev-tool-styles.ts +2758 -0
  662. package/src/dev-tool/dev-tool-trigger-position.test.ts +113 -0
  663. package/src/dev-tool/dev-tool-trigger-position.ts +109 -0
  664. package/src/dev-tool/index.ts +149 -0
  665. package/src/generated/.gitignore +3 -0
  666. package/src/generated/quetzal-translations.ts +4312 -0
  667. package/src/global.css +13 -0
  668. package/src/global.d.ts +5 -0
  669. package/src/index.ts +39 -0
  670. package/src/integrations/convex/component/README.md +74 -0
  671. package/src/integrations/convex/component/convex.config.ts +9 -0
  672. package/src/integrations/convex.ts +28 -0
  673. package/src/lib/auth.test.ts +67 -0
  674. package/src/lib/auth.ts +175 -0
  675. package/src/lib/cookie.ts +327 -0
  676. package/src/lib/env.ts +93 -0
  677. package/src/lib/hexclave-app/api-keys/index.ts +73 -0
  678. package/src/lib/hexclave-app/apps/implementations/admin-app-impl.ts +1261 -0
  679. package/src/lib/hexclave-app/apps/implementations/client-app-impl.cross-domain.test.ts +141 -0
  680. package/src/lib/hexclave-app/apps/implementations/client-app-impl.oauth-prefetch.test.ts +36 -0
  681. package/src/lib/hexclave-app/apps/implementations/client-app-impl.ts +3898 -0
  682. package/src/lib/hexclave-app/apps/implementations/common.ts +244 -0
  683. package/src/lib/hexclave-app/apps/implementations/event-tracker.test.ts +105 -0
  684. package/src/lib/hexclave-app/apps/implementations/event-tracker.ts +306 -0
  685. package/src/lib/hexclave-app/apps/implementations/index.ts +35 -0
  686. package/src/lib/hexclave-app/apps/implementations/redirect-page-urls.ts +342 -0
  687. package/src/lib/hexclave-app/apps/implementations/server-app-impl.ts +1619 -0
  688. package/src/lib/hexclave-app/apps/implementations/session-refresh-subscription.test.ts +106 -0
  689. package/src/lib/hexclave-app/apps/implementations/session-refresh-subscription.ts +52 -0
  690. package/src/lib/hexclave-app/apps/implementations/session-replay.test.ts +33 -0
  691. package/src/lib/hexclave-app/apps/implementations/session-replay.ts +356 -0
  692. package/src/lib/hexclave-app/apps/index.ts +40 -0
  693. package/src/lib/hexclave-app/apps/interfaces/admin-app.ts +192 -0
  694. package/src/lib/hexclave-app/apps/interfaces/client-app.ts +180 -0
  695. package/src/lib/hexclave-app/apps/interfaces/server-app.ts +129 -0
  696. package/src/lib/hexclave-app/common.ts +215 -0
  697. package/src/lib/hexclave-app/connected-accounts/index.ts +49 -0
  698. package/src/lib/hexclave-app/contact-channels/index.ts +80 -0
  699. package/src/lib/hexclave-app/customers/index.ts +158 -0
  700. package/src/lib/hexclave-app/data-vault/index.ts +12 -0
  701. package/src/lib/hexclave-app/email/index.ts +280 -0
  702. package/src/lib/hexclave-app/email-templates/index.ts +24 -0
  703. package/src/lib/hexclave-app/index.ts +146 -0
  704. package/src/lib/hexclave-app/internal-api-keys/index.ts +55 -0
  705. package/src/lib/hexclave-app/notification-categories/index.ts +12 -0
  706. package/src/lib/hexclave-app/permissions/index.ts +75 -0
  707. package/src/lib/hexclave-app/project-configs/index.ts +103 -0
  708. package/src/lib/hexclave-app/projects/index.ts +236 -0
  709. package/src/lib/hexclave-app/session-replays/index.ts +72 -0
  710. package/src/lib/hexclave-app/teams/index.ts +206 -0
  711. package/src/lib/hexclave-app/url-targets.test.ts +253 -0
  712. package/src/lib/hexclave-app/url-targets.ts +395 -0
  713. package/src/lib/hexclave-app/users/index.ts +523 -0
  714. package/src/lib/hooks.tsx +63 -0
  715. package/src/lib/translations.tsx +23 -0
  716. package/src/providers/hexclave-context.tsx +20 -0
  717. package/src/providers/hexclave-provider-client.tsx +39 -0
  718. package/src/providers/hexclave-provider.tsx +48 -0
  719. package/src/providers/theme-provider.tsx +121 -0
  720. package/src/providers/translation-provider-client.tsx +35 -0
  721. package/src/providers/translation-provider.tsx +25 -0
  722. package/src/tanstack-start-server-context.d.ts +13 -0
  723. package/src/utils/browser-script.tsx +135 -0
  724. package/src/utils/constants.tsx +58 -0
  725. package/src/utils/url.ts +24 -0
  726. package/dist/components-page/stack-handler-client.d.ts.map +0 -1
  727. package/dist/components-page/stack-handler-client.js.map +0 -1
  728. package/dist/components-page/stack-handler.d.ts.map +0 -1
  729. package/dist/components-page/stack-handler.js.map +0 -1
  730. package/dist/esm/components-page/stack-handler-client.d.ts.map +0 -1
  731. package/dist/esm/components-page/stack-handler-client.js.map +0 -1
  732. package/dist/esm/components-page/stack-handler.d.ts.map +0 -1
  733. package/dist/esm/components-page/stack-handler.js.map +0 -1
  734. package/dist/esm/lib/stack-app/api-keys/index.js.map +0 -1
  735. package/dist/esm/lib/stack-app/apps/implementations/admin-app-impl.d.ts.map +0 -1
  736. package/dist/esm/lib/stack-app/apps/implementations/admin-app-impl.js.map +0 -1
  737. package/dist/esm/lib/stack-app/apps/implementations/client-app-impl.cross-domain.test.js.map +0 -1
  738. package/dist/esm/lib/stack-app/apps/implementations/client-app-impl.d.ts.map +0 -1
  739. package/dist/esm/lib/stack-app/apps/implementations/client-app-impl.js.map +0 -1
  740. package/dist/esm/lib/stack-app/apps/implementations/client-app-impl.oauth-prefetch.test.js.map +0 -1
  741. package/dist/esm/lib/stack-app/apps/implementations/common.js.map +0 -1
  742. package/dist/esm/lib/stack-app/apps/implementations/event-tracker.js.map +0 -1
  743. package/dist/esm/lib/stack-app/apps/implementations/event-tracker.test.js.map +0 -1
  744. package/dist/esm/lib/stack-app/apps/implementations/index.d.ts +0 -9
  745. package/dist/esm/lib/stack-app/apps/implementations/index.d.ts.map +0 -1
  746. package/dist/esm/lib/stack-app/apps/implementations/index.js +0 -27
  747. package/dist/esm/lib/stack-app/apps/implementations/index.js.map +0 -1
  748. package/dist/esm/lib/stack-app/apps/implementations/redirect-page-urls.js.map +0 -1
  749. package/dist/esm/lib/stack-app/apps/implementations/server-app-impl.js.map +0 -1
  750. package/dist/esm/lib/stack-app/apps/implementations/session-refresh-subscription.js.map +0 -1
  751. package/dist/esm/lib/stack-app/apps/implementations/session-refresh-subscription.test.js.map +0 -1
  752. package/dist/esm/lib/stack-app/apps/implementations/session-replay.js.map +0 -1
  753. package/dist/esm/lib/stack-app/apps/implementations/session-replay.test.js.map +0 -1
  754. package/dist/esm/lib/stack-app/apps/interfaces/admin-app.js.map +0 -1
  755. package/dist/esm/lib/stack-app/apps/interfaces/client-app.js.map +0 -1
  756. package/dist/esm/lib/stack-app/apps/interfaces/server-app.js.map +0 -1
  757. package/dist/esm/lib/stack-app/common.js +0 -7
  758. package/dist/esm/lib/stack-app/common.js.map +0 -1
  759. package/dist/esm/lib/stack-app/contact-channels/index.js.map +0 -1
  760. package/dist/esm/lib/stack-app/email-templates/index.js.map +0 -1
  761. package/dist/esm/lib/stack-app/internal-api-keys/index.js.map +0 -1
  762. package/dist/esm/lib/stack-app/permissions/index.js.map +0 -1
  763. package/dist/esm/lib/stack-app/projects/index.js.map +0 -1
  764. package/dist/esm/lib/stack-app/teams/index.js.map +0 -1
  765. package/dist/esm/lib/stack-app/url-targets.js.map +0 -1
  766. package/dist/esm/lib/stack-app/url-targets.test.js.map +0 -1
  767. package/dist/esm/lib/stack-app/users/index.js.map +0 -1
  768. package/dist/esm/providers/stack-context.d.ts +0 -11
  769. package/dist/esm/providers/stack-context.d.ts.map +0 -1
  770. package/dist/esm/providers/stack-context.js +0 -12
  771. package/dist/esm/providers/stack-context.js.map +0 -1
  772. package/dist/esm/providers/stack-provider-client.d.ts.map +0 -1
  773. package/dist/esm/providers/stack-provider-client.js +0 -30
  774. package/dist/esm/providers/stack-provider-client.js.map +0 -1
  775. package/dist/esm/providers/stack-provider.d.ts.map +0 -1
  776. package/dist/esm/providers/stack-provider.js.map +0 -1
  777. package/dist/lib/stack-app/api-keys/index.d.ts.map +0 -1
  778. package/dist/lib/stack-app/api-keys/index.js.map +0 -1
  779. package/dist/lib/stack-app/apps/implementations/admin-app-impl.d.ts.map +0 -1
  780. package/dist/lib/stack-app/apps/implementations/admin-app-impl.js.map +0 -1
  781. package/dist/lib/stack-app/apps/implementations/client-app-impl.cross-domain.test.js.map +0 -1
  782. package/dist/lib/stack-app/apps/implementations/client-app-impl.d.ts.map +0 -1
  783. package/dist/lib/stack-app/apps/implementations/client-app-impl.js.map +0 -1
  784. package/dist/lib/stack-app/apps/implementations/client-app-impl.oauth-prefetch.test.js.map +0 -1
  785. package/dist/lib/stack-app/apps/implementations/common.d.ts.map +0 -1
  786. package/dist/lib/stack-app/apps/implementations/common.js.map +0 -1
  787. package/dist/lib/stack-app/apps/implementations/event-tracker.d.ts.map +0 -1
  788. package/dist/lib/stack-app/apps/implementations/event-tracker.js.map +0 -1
  789. package/dist/lib/stack-app/apps/implementations/event-tracker.test.js.map +0 -1
  790. package/dist/lib/stack-app/apps/implementations/index.d.ts +0 -9
  791. package/dist/lib/stack-app/apps/implementations/index.d.ts.map +0 -1
  792. package/dist/lib/stack-app/apps/implementations/index.js +0 -31
  793. package/dist/lib/stack-app/apps/implementations/index.js.map +0 -1
  794. package/dist/lib/stack-app/apps/implementations/redirect-page-urls.d.ts.map +0 -1
  795. package/dist/lib/stack-app/apps/implementations/redirect-page-urls.js.map +0 -1
  796. package/dist/lib/stack-app/apps/implementations/server-app-impl.d.ts.map +0 -1
  797. package/dist/lib/stack-app/apps/implementations/server-app-impl.js.map +0 -1
  798. package/dist/lib/stack-app/apps/implementations/session-refresh-subscription.d.ts.map +0 -1
  799. package/dist/lib/stack-app/apps/implementations/session-refresh-subscription.js.map +0 -1
  800. package/dist/lib/stack-app/apps/implementations/session-refresh-subscription.test.js.map +0 -1
  801. package/dist/lib/stack-app/apps/implementations/session-replay.d.ts.map +0 -1
  802. package/dist/lib/stack-app/apps/implementations/session-replay.js.map +0 -1
  803. package/dist/lib/stack-app/apps/implementations/session-replay.test.js.map +0 -1
  804. package/dist/lib/stack-app/apps/interfaces/admin-app.d.ts.map +0 -1
  805. package/dist/lib/stack-app/apps/interfaces/admin-app.js.map +0 -1
  806. package/dist/lib/stack-app/apps/interfaces/client-app.d.ts.map +0 -1
  807. package/dist/lib/stack-app/apps/interfaces/client-app.js.map +0 -1
  808. package/dist/lib/stack-app/apps/interfaces/server-app.d.ts.map +0 -1
  809. package/dist/lib/stack-app/apps/interfaces/server-app.js.map +0 -1
  810. package/dist/lib/stack-app/common.d.ts.map +0 -1
  811. package/dist/lib/stack-app/common.js +0 -9
  812. package/dist/lib/stack-app/common.js.map +0 -1
  813. package/dist/lib/stack-app/connected-accounts/index.d.ts.map +0 -1
  814. package/dist/lib/stack-app/contact-channels/index.d.ts.map +0 -1
  815. package/dist/lib/stack-app/contact-channels/index.js.map +0 -1
  816. package/dist/lib/stack-app/customers/index.d.ts.map +0 -1
  817. package/dist/lib/stack-app/data-vault/index.d.ts.map +0 -1
  818. package/dist/lib/stack-app/email/index.d.ts.map +0 -1
  819. package/dist/lib/stack-app/email-templates/index.d.ts.map +0 -1
  820. package/dist/lib/stack-app/email-templates/index.js.map +0 -1
  821. package/dist/lib/stack-app/internal-api-keys/index.d.ts.map +0 -1
  822. package/dist/lib/stack-app/internal-api-keys/index.js.map +0 -1
  823. package/dist/lib/stack-app/notification-categories/index.d.ts.map +0 -1
  824. package/dist/lib/stack-app/permissions/index.d.ts.map +0 -1
  825. package/dist/lib/stack-app/permissions/index.js.map +0 -1
  826. package/dist/lib/stack-app/project-configs/index.d.ts.map +0 -1
  827. package/dist/lib/stack-app/projects/index.d.ts.map +0 -1
  828. package/dist/lib/stack-app/projects/index.js.map +0 -1
  829. package/dist/lib/stack-app/session-replays/index.d.ts.map +0 -1
  830. package/dist/lib/stack-app/teams/index.d.ts.map +0 -1
  831. package/dist/lib/stack-app/teams/index.js.map +0 -1
  832. package/dist/lib/stack-app/url-targets.d.ts.map +0 -1
  833. package/dist/lib/stack-app/url-targets.js.map +0 -1
  834. package/dist/lib/stack-app/url-targets.test.js.map +0 -1
  835. package/dist/lib/stack-app/users/index.d.ts.map +0 -1
  836. package/dist/lib/stack-app/users/index.js.map +0 -1
  837. package/dist/providers/stack-context.d.ts +0 -11
  838. package/dist/providers/stack-context.d.ts.map +0 -1
  839. package/dist/providers/stack-context.js +0 -15
  840. package/dist/providers/stack-context.js.map +0 -1
  841. package/dist/providers/stack-provider-client.d.ts.map +0 -1
  842. package/dist/providers/stack-provider-client.js.map +0 -1
  843. package/dist/providers/stack-provider.d.ts.map +0 -1
  844. package/dist/providers/stack-provider.js.map +0 -1
  845. /package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/client-app-impl.cross-domain.test.d.ts +0 -0
  846. /package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/client-app-impl.oauth-prefetch.test.d.ts +0 -0
  847. /package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/event-tracker.test.d.ts +0 -0
  848. /package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/session-refresh-subscription.test.d.ts +0 -0
  849. /package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/session-replay.test.d.ts +0 -0
  850. /package/dist/esm/lib/{stack-app → hexclave-app}/apps/index.d.ts +0 -0
  851. /package/dist/esm/lib/{stack-app → hexclave-app}/apps/index.js +0 -0
  852. /package/dist/esm/lib/{stack-app → hexclave-app}/connected-accounts/index.js +0 -0
  853. /package/dist/esm/lib/{stack-app → hexclave-app}/customers/index.js +0 -0
  854. /package/dist/esm/lib/{stack-app → hexclave-app}/data-vault/index.js +0 -0
  855. /package/dist/esm/lib/{stack-app → hexclave-app}/email/index.js +0 -0
  856. /package/dist/esm/lib/{stack-app → hexclave-app}/notification-categories/index.js +0 -0
  857. /package/dist/esm/lib/{stack-app → hexclave-app}/project-configs/index.js +0 -0
  858. /package/dist/esm/lib/{stack-app → hexclave-app}/session-replays/index.js +0 -0
  859. /package/dist/esm/lib/{stack-app → hexclave-app}/url-targets.test.d.ts +0 -0
  860. /package/dist/lib/{stack-app → hexclave-app}/apps/implementations/client-app-impl.cross-domain.test.d.ts +0 -0
  861. /package/dist/lib/{stack-app → hexclave-app}/apps/implementations/client-app-impl.oauth-prefetch.test.d.ts +0 -0
  862. /package/dist/lib/{stack-app → hexclave-app}/apps/implementations/event-tracker.test.d.ts +0 -0
  863. /package/dist/lib/{stack-app → hexclave-app}/apps/implementations/session-refresh-subscription.test.d.ts +0 -0
  864. /package/dist/lib/{stack-app → hexclave-app}/apps/implementations/session-replay.test.d.ts +0 -0
  865. /package/dist/lib/{stack-app → hexclave-app}/apps/index.d.ts +0 -0
  866. /package/dist/lib/{stack-app → hexclave-app}/apps/index.js +0 -0
  867. /package/dist/lib/{stack-app → hexclave-app}/connected-accounts/index.js +0 -0
  868. /package/dist/lib/{stack-app → hexclave-app}/customers/index.js +0 -0
  869. /package/dist/lib/{stack-app → hexclave-app}/data-vault/index.js +0 -0
  870. /package/dist/lib/{stack-app → hexclave-app}/email/index.js +0 -0
  871. /package/dist/lib/{stack-app → hexclave-app}/notification-categories/index.js +0 -0
  872. /package/dist/lib/{stack-app → hexclave-app}/project-configs/index.js +0 -0
  873. /package/dist/lib/{stack-app → hexclave-app}/session-replays/index.js +0 -0
  874. /package/dist/lib/{stack-app → hexclave-app}/url-targets.test.d.ts +0 -0
@@ -1,17 +1,17 @@
1
1
  'use client';
2
2
 
3
+ import { throwErr } from "@hexclave/shared/dist/utils/errors";
3
4
  import React from "react";
4
5
  import { useStackApp, useUser } from "../index.js";
5
6
  import { useTranslation } from "../lib/translations.js";
6
7
  import { jsx } from "react/jsx-runtime";
7
- import { MessageCard as MessageCard$1 } from "../components/message-cards/message-card.js";
8
8
  import { KnownErrors } from "@hexclave/shared";
9
- import { throwErr } from "@hexclave/shared/dist/utils/errors";
9
+ import { MessageCard as MessageCard$1 } from "../components/message-cards/message-card.js";
10
10
 
11
11
  //#region src/components-page/email-verification.tsx
12
12
  function EmailVerification(props) {
13
13
  const { t } = useTranslation();
14
- const stackApp = useStackApp();
14
+ const hexclaveApp = useStackApp();
15
15
  useUser();
16
16
  const [result, setResult] = React.useState(null);
17
17
  const invalidJsx = /* @__PURE__ */ jsx(MessageCard$1, {
@@ -30,11 +30,11 @@ function EmailVerification(props) {
30
30
  fullPage: !!props.fullPage,
31
31
  primaryButtonText: t("Verify"),
32
32
  primaryAction: async () => {
33
- setResult(await stackApp.verifyEmail(props.searchParams?.code || throwErr("No verification code provided")));
33
+ setResult(await hexclaveApp.verifyEmail(props.searchParams?.code || throwErr("No verification code provided")));
34
34
  },
35
35
  secondaryButtonText: t("Cancel"),
36
36
  secondaryAction: async () => {
37
- await stackApp.redirectToHome();
37
+ await hexclaveApp.redirectToHome();
38
38
  }
39
39
  });
40
40
  else {
@@ -46,7 +46,7 @@ function EmailVerification(props) {
46
46
  fullPage: !!props.fullPage,
47
47
  primaryButtonText: t("Go home"),
48
48
  primaryAction: async () => {
49
- await stackApp.redirectToHome();
49
+ await hexclaveApp.redirectToHome();
50
50
  }
51
51
  });
52
52
  }
@@ -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, INSTEAD 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 stackApp = useStackApp();\n const user = useUser();\n const [result, setResult] = React.useState<Awaited<ReturnType<typeof stackApp.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 stackApp.verifyEmail(props.searchParams?.code || throwErr(\"No verification code provided\"));\n setResult(result);\n }}\n secondaryButtonText={t(\"Cancel\")}\n secondaryAction={async () => {\n await stackApp.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 stackApp.redirectToHome();\n }}\n />;\n }\n}\n"],"mappings":";;;;;;;;;;;AAcA,SAAgB,kBAAkB,OAG/B;CACD,MAAM,EAAE,MAAM,gBAAgB;CAC9B,MAAM,WAAW,aAAa;AACjB,UAAS;CACtB,MAAM,CAAC,QAAQ,aAAa,MAAM,SAAkE,KAAK;CAEzG,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,SAAS,YAAY,MAAM,cAAc,QAAQ,SAAS,gCAAgC,CAAC,CAC/F;;EAEnB,qBAAqB,EAAE,SAAS;EAChC,iBAAiB,YAAY;AAC3B,SAAM,SAAS,gBAAgB;;GAEjC;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,SAAS,gBAAgB;;IAEjC"}
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"}
@@ -4,15 +4,15 @@ import { Typography } from "@hexclave/ui";
4
4
  import { useStackApp } from "../index.js";
5
5
  import { useTranslation } from "../lib/translations.js";
6
6
  import { jsx } from "react/jsx-runtime";
7
- import { PredefinedMessageCard } from "../components/message-cards/predefined-message-card.js";
8
- import { MessageCard as MessageCard$1 } from "../components/message-cards/message-card.js";
9
7
  import { KnownError, KnownErrors } from "@hexclave/shared";
10
8
  import { KnownErrorMessageCard } from "../components/message-cards/known-error-message-card.js";
9
+ import { MessageCard as MessageCard$1 } from "../components/message-cards/message-card.js";
10
+ import { PredefinedMessageCard } from "../components/message-cards/predefined-message-card.js";
11
11
 
12
12
  //#region src/components-page/error-page.tsx
13
13
  function ErrorPage(props) {
14
14
  const { t } = useTranslation();
15
- const stackApp = useStackApp();
15
+ const hexclaveApp = useStackApp();
16
16
  const errorCode = props.searchParams.errorCode;
17
17
  const message = props.searchParams.message;
18
18
  const details = props.searchParams.details;
@@ -36,32 +36,32 @@ function ErrorPage(props) {
36
36
  title: t("Failed to connect account"),
37
37
  fullPage: !!props.fullPage,
38
38
  primaryButtonText: t("Go Home"),
39
- primaryAction: () => stackApp.redirectToHome(),
39
+ primaryAction: () => hexclaveApp.redirectToHome(),
40
40
  children: /* @__PURE__ */ jsx(Typography, { children: t("This account is already connected to another user. Please connect a different account.") })
41
41
  });
42
42
  if (KnownErrors.UserAlreadyConnectedToAnotherOAuthConnection.isInstance(error)) return /* @__PURE__ */ jsx(MessageCard$1, {
43
43
  title: t("Failed to connect account"),
44
44
  fullPage: !!props.fullPage,
45
45
  primaryButtonText: t("Go Home"),
46
- primaryAction: () => stackApp.redirectToHome(),
46
+ primaryAction: () => hexclaveApp.redirectToHome(),
47
47
  children: /* @__PURE__ */ jsx(Typography, { children: t("The user is already connected to another OAuth account. Did you maybe selected the wrong account on the OAuth provider page?") })
48
48
  });
49
49
  if (KnownErrors.OAuthProviderAccessDenied.isInstance(error)) return /* @__PURE__ */ jsx(MessageCard$1, {
50
50
  title: t("OAuth provider access denied"),
51
51
  fullPage: !!props.fullPage,
52
52
  primaryButtonText: t("Sign in again"),
53
- primaryAction: () => stackApp.redirectToSignIn(),
53
+ primaryAction: () => hexclaveApp.redirectToSignIn(),
54
54
  secondaryButtonText: t("Go Home"),
55
- secondaryAction: () => stackApp.redirectToHome(),
55
+ secondaryAction: () => hexclaveApp.redirectToHome(),
56
56
  children: /* @__PURE__ */ jsx(Typography, { children: t("The sign-in operation has been cancelled or denied. Please try again.") })
57
57
  });
58
58
  if (KnownErrors.OAuthProviderTemporarilyUnavailable.isInstance(error)) return /* @__PURE__ */ jsx(MessageCard$1, {
59
59
  title: t("OAuth provider is temporarily unavailable"),
60
60
  fullPage: !!props.fullPage,
61
61
  primaryButtonText: t("Try again"),
62
- primaryAction: () => stackApp.redirectToSignIn(),
62
+ primaryAction: () => hexclaveApp.redirectToSignIn(),
63
63
  secondaryButtonText: t("Go Home"),
64
- secondaryAction: () => stackApp.redirectToHome(),
64
+ secondaryAction: () => hexclaveApp.redirectToHome(),
65
65
  children: /* @__PURE__ */ jsx(Typography, { children: t("The OAuth provider could not complete sign-in right now. Please try again in a moment.") })
66
66
  });
67
67
  return /* @__PURE__ */ jsx(KnownErrorMessageCard, {
@@ -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, INSTEAD 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 stackApp = 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={() => stackApp.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={() => stackApp.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={() => stackApp.redirectToSignIn()}\n secondaryButtonText={t(\"Go Home\")}\n secondaryAction={() => stackApp.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={() => stackApp.redirectToSignIn()}\n secondaryButtonText={t(\"Go Home\")}\n secondaryAction={() => stackApp.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,WAAW,aAAa;CAC9B,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,SAAS,gBAAgB;YAE9C,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,SAAS,gBAAgB;YAE9C,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,SAAS,kBAAkB;EAChD,qBAAqB,EAAE,UAAU;EACjC,uBAAuB,SAAS,gBAAgB;YAEhD,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,SAAS,kBAAkB;EAChD,qBAAqB,EAAE,UAAU;EACjC,uBAAuB,SAAS,gBAAgB;YAEhD,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,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,30 +1,30 @@
1
1
  'use client';
2
2
 
3
+ import { yupResolver } from "@hookform/resolvers/yup";
4
+ import { strictEmailSchema, yupObject } from "@hexclave/shared/dist/schema-fields";
3
5
  import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
4
6
  import { Button, Input, Label, Typography, cn } from "@hexclave/ui";
5
7
  import { useState } from "react";
8
+ import { useForm } from "react-hook-form";
6
9
  import { useStackApp, useUser } from "../index.js";
7
- import { MaybeFullPage } from "../components/elements/maybe-full-page.js";
10
+ import { FormWarningText } from "../components/elements/form-warning.js";
8
11
  import { useTranslation } from "../lib/translations.js";
9
12
  import { jsx, jsxs } from "react/jsx-runtime";
13
+ import { MaybeFullPage } from "../components/elements/maybe-full-page.js";
10
14
  import { StyledLink } from "../components/link.js";
11
15
  import { PredefinedMessageCard } from "../components/message-cards/predefined-message-card.js";
12
- import { yupResolver } from "@hookform/resolvers/yup";
13
- import { strictEmailSchema, yupObject } from "@hexclave/shared/dist/schema-fields";
14
- import { useForm } from "react-hook-form";
15
- import { FormWarningText } from "../components/elements/form-warning.js";
16
16
 
17
17
  //#region src/components-page/forgot-password.tsx
18
18
  function ForgotPasswordForm({ onSent }) {
19
19
  const { t } = useTranslation();
20
20
  const { register, handleSubmit, formState: { errors }, clearErrors } = useForm({ resolver: yupResolver(yupObject({ email: strictEmailSchema(t("Please enter a valid email")).defined().nonEmpty(t("Please enter your email")) })) });
21
- const stackApp = useStackApp();
21
+ const hexclaveApp = useStackApp();
22
22
  const [loading, setLoading] = useState(false);
23
23
  const onSubmit = async (data) => {
24
24
  setLoading(true);
25
25
  try {
26
26
  const { email } = data;
27
- await stackApp.sendForgotPasswordEmail(email);
27
+ await hexclaveApp.sendForgotPasswordEmail(email);
28
28
  onSent?.();
29
29
  } finally {
30
30
  setLoading(false);
@@ -59,7 +59,7 @@ function ForgotPasswordForm({ onSent }) {
59
59
  }
60
60
  function ForgotPassword(props) {
61
61
  const { t } = useTranslation();
62
- const stackApp = useStackApp();
62
+ const hexclaveApp = useStackApp();
63
63
  const user = useUser();
64
64
  const [sent, setSent] = useState(false);
65
65
  if (user) return /* @__PURE__ */ jsx(PredefinedMessageCard, {
@@ -83,7 +83,7 @@ function ForgotPassword(props) {
83
83
  t("Don't need to reset?"),
84
84
  " ",
85
85
  /* @__PURE__ */ jsx(StyledLink, {
86
- href: stackApp.urls["signIn"],
86
+ href: hexclaveApp.urls["signIn"],
87
87
  children: t("Sign in")
88
88
  })
89
89
  ] })]
@@ -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, INSTEAD 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 stackApp = 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 stackApp.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')}\n 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 stackApp = 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 href={stackApp.urls['signIn']}>\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,WAAW,aAAa;CAC9B,MAAM,CAAC,SAAS,cAAc,SAAS,MAAM;CAE7C,MAAM,WAAW,OAAO,SAAuC;AAC7D,aAAW,KAAK;AAChB,MAAI;GACF,MAAM,EAAE,UAAU;AAClB,SAAM,SAAS,wBAAwB,MAAM;AAC/C,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,QAAQ;IACrB,gBAAgB,YAAY,QAAQ;KACpC;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,WAAW,aAAa;CAC9B,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;MAAW,MAAM,SAAS,KAAK;gBAC7B,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')}\n 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 href={hexclaveApp.urls['signIn']}>\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,QAAQ;IACrB,gBAAgB,YAAY,QAAQ;KACpC;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;MAAW,MAAM,YAAY,KAAK;gBAChC,EAAE,UAAU;OACF;QACF;KACT,EACN,oBAAC;IAAI,WAAU;cACb,oBAAC,sBAAmB,cAAc,QAAQ,KAAK,GAAI;KAC/C;IACF;GACQ"}
@@ -12,7 +12,7 @@ import { PasswordReset } from "./password-reset";
12
12
  import { SignOut } from "./sign-out";
13
13
  import { TeamInvitation } from "./team-invitation";
14
14
 
15
- //#region src/components-page/stack-handler-client.d.ts
15
+ //#region src/components-page/hexclave-handler-client.d.ts
16
16
  type Components = {
17
17
  SignIn: typeof SignIn;
18
18
  SignUp: typeof SignUp;
@@ -41,9 +41,9 @@ type BaseHandlerProps = {
41
41
  fullPage: boolean;
42
42
  componentProps?: { [K in keyof Components]?: Parameters<Components[K]>[0] };
43
43
  };
44
- declare function StackHandlerClient(props: BaseHandlerProps & Partial<RouteProps> & {
44
+ declare function HexclaveHandlerClient(props: BaseHandlerProps & Partial<RouteProps> & {
45
45
  location?: string;
46
46
  }): any;
47
47
  //#endregion
48
- export { BaseHandlerProps, StackHandlerClient };
49
- //# sourceMappingURL=stack-handler-client.d.ts.map
48
+ export { BaseHandlerProps, HexclaveHandlerClient };
49
+ //# sourceMappingURL=hexclave-handler-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hexclave-handler-client.d.ts","names":[],"sources":["../../../src/components-page/hexclave-handler-client.tsx"],"mappings":";;;;;;;;;;;;;;;KAgCK,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,KA6BtC,gBAAA;EACV,QAAA;EACA,cAAA,iBACc,UAAA,IAAc,UAAA,CAAW,UAAA,CAAW,CAAA;AAAA;AAAA,iBAgJpC,qBAAA,CAAsB,KAAA,EAAO,gBAAA,GAAmB,OAAA,CAAQ,UAAA;EAAgB,QAAA;AAAA"}
@@ -1,17 +1,17 @@
1
1
  "use client";
2
2
 
3
+ import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
3
4
  import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
4
5
  import { useEffect, useMemo, useRef, useSyncExternalStore } from "react";
5
6
  import { SignIn, SignUp } from "../index.js";
6
7
  import { jsx } from "react/jsx-runtime";
7
- import { CliAuthConfirmation } from "./cli-auth-confirm.js";
8
- import { MessageCard as MessageCard$1 } from "../components/message-cards/message-card.js";
9
8
  import { useStackApp as useStackApp$1 } from "../lib/hooks.js";
10
- import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
11
- import { stackAppInternalsSymbol } from "../lib/stack-app/index.js";
12
9
  import { filterUndefined } from "@hexclave/shared/dist/utils/objects";
13
10
  import { getRelativePart } from "@hexclave/shared/dist/utils/urls";
14
- import { isLocalHandlerUrlTarget, resolveUnknownHandlerPathFallbackUrl } from "../lib/stack-app/url-targets.js";
11
+ import { isLocalHandlerUrlTarget, resolveUnknownHandlerPathFallbackUrl } from "../lib/hexclave-app/url-targets.js";
12
+ import { MessageCard as MessageCard$1 } from "../components/message-cards/message-card.js";
13
+ import { CliAuthConfirmation } from "./cli-auth-confirm.js";
14
+ import { hexclaveAppInternalsSymbol } from "../lib/hexclave-app/index.js";
15
15
  import { AccountSettings } from "./account-settings.js";
16
16
  import { EmailVerification } from "./email-verification.js";
17
17
  import { ErrorPage } from "./error-page.js";
@@ -24,7 +24,7 @@ import { PasswordReset } from "./password-reset.js";
24
24
  import { SignOut } from "./sign-out.js";
25
25
  import { TeamInvitation } from "./team-invitation.js";
26
26
 
27
- //#region src/components-page/stack-handler-client.tsx
27
+ //#region src/components-page/hexclave-handler-client.tsx
28
28
  const availablePaths = {
29
29
  signIn: "sign-in",
30
30
  signUp: "sign-up",
@@ -87,6 +87,7 @@ function renderComponent(props) {
87
87
  case availablePaths.signOut:
88
88
  if (shouldRedirectToPage?.("signOut")) return { redirectToPage: "signOut" };
89
89
  return /* @__PURE__ */ jsx(SignOut, {
90
+ searchParams,
90
91
  fullPage,
91
92
  ...filterUndefinedINU(componentProps?.SignOut)
92
93
  });
@@ -150,17 +151,17 @@ function renderComponent(props) {
150
151
  }
151
152
  }
152
153
  }
153
- function StackHandlerClient(props) {
154
- const stackApp = useStackApp$1();
154
+ function HexclaveHandlerClient(props) {
155
+ const hexclaveApp = useStackApp$1();
155
156
  const clientOrigin = useClientOriginAfterHydration();
156
- const navigate = stackApp.useNavigate();
157
+ const navigate = hexclaveApp.useNavigate();
157
158
  const navigateRef = useRef(navigate);
158
159
  navigateRef.current = navigate;
159
- const currentLocation = props.location ?? (typeof window === "undefined" ? new URL(stackApp.urls.handler, placeholderOrigin).pathname : window.location.pathname);
160
+ const currentLocation = props.location ?? (typeof window === "undefined" ? new URL(hexclaveApp.urls.handler, placeholderOrigin).pathname : window.location.pathname);
160
161
  const searchParamsSource = new URLSearchParams(typeof window === "undefined" ? "" : window.location.search);
161
162
  const redirectTargets = [];
162
163
  const { path, searchParams, handlerPath } = useMemo(() => {
163
- const handlerPath = new URL(stackApp.urls.handler, "http://example.com").pathname;
164
+ const handlerPath = new URL(hexclaveApp.urls.handler, "http://example.com").pathname;
164
165
  return {
165
166
  path: currentLocation.startsWith(handlerPath) ? currentLocation.slice(handlerPath.length).replace(/^\/+/, "") : currentLocation.replace(/^\/+/, ""),
166
167
  searchParams: Object.fromEntries(searchParamsSource.entries()),
@@ -169,17 +170,17 @@ function StackHandlerClient(props) {
169
170
  }, [
170
171
  currentLocation,
171
172
  searchParamsSource,
172
- stackApp.urls.handler
173
+ hexclaveApp.urls.handler
173
174
  ]);
174
175
  const getDefaultUnknownPathUrl = (unknownPath) => {
175
176
  return resolveUnknownHandlerPathFallbackUrl({
176
- defaultTarget: stackApp[stackAppInternalsSymbol].getConstructorOptions().urls?.default,
177
- projectId: stackApp.projectId,
177
+ defaultTarget: hexclaveApp[hexclaveAppInternalsSymbol].getConstructorOptions().urls?.default,
178
+ projectId: hexclaveApp.projectId,
178
179
  unknownPath
179
180
  });
180
181
  };
181
182
  const shouldRedirectToPage = (name) => {
182
- const url = stackApp.urls[name];
183
+ const url = hexclaveApp.urls[name];
183
184
  if (name === "oauthCallback" && searchParams.hexclave_cross_domain_auth === "1") return false;
184
185
  return !isLocalHandlerUrlTarget({
185
186
  targetUrl: url,
@@ -198,23 +199,23 @@ function StackHandlerClient(props) {
198
199
  title: "Page does not exist",
199
200
  fullPage: props.fullPage,
200
201
  primaryButtonText: "Go to Home",
201
- primaryAction: () => stackApp.redirectToHome(),
202
+ primaryAction: () => hexclaveApp.redirectToHome(),
202
203
  children: "The page you are looking for could not be found. Please check the URL and try again."
203
204
  }),
204
- app: stackApp
205
+ app: hexclaveApp
205
206
  });
206
207
  const redirectToPage = result != null && typeof result === "object" && "redirectToPage" in result ? result.redirectToPage : void 0;
207
208
  useEffect(() => {
208
209
  if (redirectToPage == null) return;
209
- runAsynchronouslyWithAlert(stackApp[stackAppInternalsSymbol].redirectToHandler(redirectToPage, { replace: true }));
210
- }, [redirectToPage, stackApp]);
210
+ runAsynchronouslyWithAlert(hexclaveApp[hexclaveAppInternalsSymbol].redirectToHandler(redirectToPage, { replace: true }));
211
+ }, [redirectToPage, hexclaveApp]);
211
212
  if (redirectToPage != null) return /* @__PURE__ */ jsx(MessageCard$1, {
212
213
  title: "Redirecting...",
213
214
  fullPage: props.fullPage
214
215
  });
215
216
  if (result && "redirect" in result) redirectTargets.push(result.redirect);
216
217
  const redirectTarget = redirectTargets[0];
217
- const shouldRenderRedirectFallback = redirectTarget != null && stackApp[stackAppInternalsSymbol].getRedirectMethod() === "none";
218
+ const shouldRenderRedirectFallback = redirectTarget != null && hexclaveApp[hexclaveAppInternalsSymbol].getRedirectMethod() === "none";
218
219
  useEffect(() => {
219
220
  if (redirectTarget == null || shouldRenderRedirectFallback) return;
220
221
  navigateRef.current(redirectTarget);
@@ -240,5 +241,5 @@ function useClientOriginAfterHydration() {
240
241
  }
241
242
 
242
243
  //#endregion
243
- export { StackHandlerClient };
244
- //# sourceMappingURL=stack-handler-client.js.map
244
+ export { HexclaveHandlerClient };
245
+ //# sourceMappingURL=hexclave-handler-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hexclave-handler-client.js","names":["useStackApp","MessageCard"],"sources":["../../../src/components-page/hexclave-handler-client.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 { HexclaveAssertionError } from \"@hexclave/shared/dist/utils/errors\";\nimport { FilterUndefined, filterUndefined } from \"@hexclave/shared/dist/utils/objects\";\nimport { runAsynchronouslyWithAlert } from \"@hexclave/shared/dist/utils/promises\";\nimport { getRelativePart } from \"@hexclave/shared/dist/utils/urls\";\nimport { useEffect, useMemo, useSyncExternalStore } from 'react';\nimport { useRef } from 'react';\nimport { SignIn, SignUp, StackServerApp } from \"..\";\nimport { useStackApp } from \"../lib/hooks\";\nimport { HandlerUrls, StackClientApp, hexclaveAppInternalsSymbol } from \"../lib/hexclave-app\";\nimport { isLocalHandlerUrlTarget, resolveUnknownHandlerPathFallbackUrl } from \"../lib/hexclave-app/url-targets\";\nimport { AccountSettings } from \"./account-settings\";\nimport { CliAuthConfirmation } from \"./cli-auth-confirm\";\nimport { EmailVerification } from \"./email-verification\";\nimport { ErrorPage } from \"./error-page\";\nimport { ForgotPassword } from \"./forgot-password\";\nimport { MagicLinkCallback } from \"./magic-link-callback\";\nimport { MFA } from \"./mfa\";\nimport { OAuthCallback } from \"./oauth-callback\";\nimport { Onboarding } from \"./onboarding\";\nimport { PasswordReset } from \"./password-reset\";\nimport { SignOut } from \"./sign-out\";\nimport { TeamInvitation } from \"./team-invitation\";\n\nimport { MessageCard } from \"../components/message-cards/message-card\";\n\ntype Components = {\n SignIn: typeof SignIn,\n SignUp: typeof SignUp,\n EmailVerification: typeof EmailVerification,\n PasswordReset: typeof PasswordReset,\n ForgotPassword: typeof ForgotPassword,\n SignOut: typeof SignOut,\n OAuthCallback: typeof OAuthCallback,\n MagicLinkCallback: typeof MagicLinkCallback,\n TeamInvitation: typeof TeamInvitation,\n ErrorPage: typeof ErrorPage,\n AccountSettings: typeof AccountSettings,\n CliAuthConfirmation: typeof CliAuthConfirmation,\n MFA: typeof MFA,\n Onboarding: typeof Onboarding,\n};\n\ntype RouteProps = {\n params: Promise<{ stack?: string[] }> | { stack?: string[] },\n searchParams: Promise<Record<string, string>> | Record<string, string>,\n};\n\nconst availablePaths = {\n signIn: 'sign-in',\n signUp: 'sign-up',\n emailVerification: 'email-verification',\n passwordReset: 'password-reset',\n forgotPassword: 'forgot-password',\n signOut: 'sign-out',\n oauthCallback: 'oauth-callback',\n magicLinkCallback: 'magic-link-callback',\n teamInvitation: 'team-invitation',\n accountSettings: 'account-settings',\n cliAuthConfirm: 'cli-auth-confirm',\n mfa: 'mfa',\n error: 'error',\n onboarding: 'onboarding',\n} as const;\n\nconst placeholderOrigin = \"http://example.com\";\n\nconst pathAliases = {\n // also includes the uppercase and non-dashed versions\n ...Object.fromEntries(Object.entries(availablePaths).map(([key, value]) => [value, value])),\n \"log-in\": availablePaths.signIn,\n \"register\": availablePaths.signUp,\n} as const;\n\nexport type BaseHandlerProps = {\n fullPage: boolean,\n componentProps?: {\n [K in keyof Components]?: Parameters<Components[K]>[0];\n },\n};\n\nfunction renderComponent(props: {\n path: string,\n searchParams: Record<string, string>,\n fullPage: boolean,\n componentProps?: BaseHandlerProps['componentProps'],\n shouldRedirectToPage?: (name: keyof HandlerUrls) => boolean,\n getDefaultUnknownPathUrl?: (path: string) => string | null,\n onNotFound: () => any,\n app: StackClientApp<any> | StackServerApp<any>,\n}) {\n const { path, searchParams, fullPage, componentProps, shouldRedirectToPage, getDefaultUnknownPathUrl, onNotFound, app } = props;\n\n switch (path) {\n case availablePaths.signIn: {\n if (shouldRedirectToPage?.('signIn')) return { redirectToPage: 'signIn' as const };\n return <SignIn\n fullPage={fullPage}\n automaticRedirect\n {...filterUndefinedINU(componentProps?.SignIn)}\n />;\n }\n case availablePaths.signUp: {\n if (shouldRedirectToPage?.('signUp')) return { redirectToPage: 'signUp' as const };\n return <SignUp\n fullPage={fullPage}\n automaticRedirect\n {...filterUndefinedINU(componentProps?.SignUp)}\n />;\n }\n case availablePaths.emailVerification: {\n if (shouldRedirectToPage?.('emailVerification')) return { redirectToPage: 'emailVerification' as const };\n return <EmailVerification\n searchParams={searchParams}\n fullPage={fullPage}\n {...filterUndefinedINU(componentProps?.EmailVerification)}\n />;\n }\n case availablePaths.passwordReset: {\n if (shouldRedirectToPage?.('passwordReset')) return { redirectToPage: 'passwordReset' as const };\n return <PasswordReset\n searchParams={searchParams}\n fullPage={fullPage}\n {...filterUndefinedINU(componentProps?.PasswordReset)}\n />;\n }\n case availablePaths.forgotPassword: {\n if (shouldRedirectToPage?.('forgotPassword')) return { redirectToPage: 'forgotPassword' as const };\n return <ForgotPassword\n fullPage={fullPage}\n {...filterUndefinedINU(componentProps?.ForgotPassword)}\n />;\n }\n case availablePaths.signOut: {\n if (shouldRedirectToPage?.('signOut')) return { redirectToPage: 'signOut' as const };\n return <SignOut\n searchParams={searchParams}\n fullPage={fullPage}\n {...filterUndefinedINU(componentProps?.SignOut)}\n />;\n }\n case availablePaths.oauthCallback: {\n if (shouldRedirectToPage?.('oauthCallback')) return { redirectToPage: 'oauthCallback' as const };\n return <OAuthCallback\n fullPage={fullPage}\n {...filterUndefinedINU(componentProps?.OAuthCallback)}\n />;\n }\n case availablePaths.magicLinkCallback: {\n if (shouldRedirectToPage?.('magicLinkCallback')) return { redirectToPage: 'magicLinkCallback' as const };\n return <MagicLinkCallback\n searchParams={searchParams}\n fullPage={fullPage}\n {...filterUndefinedINU(componentProps?.MagicLinkCallback)}\n />;\n }\n case availablePaths.teamInvitation: {\n if (shouldRedirectToPage?.('teamInvitation')) return { redirectToPage: 'teamInvitation' as const };\n return <TeamInvitation\n searchParams={searchParams}\n fullPage={fullPage}\n {...filterUndefinedINU(componentProps?.TeamInvitation)}\n />;\n }\n case availablePaths.accountSettings: {\n return <AccountSettings\n fullPage={fullPage}\n {...filterUndefinedINU(componentProps?.AccountSettings)}\n />;\n }\n case availablePaths.error: {\n return <ErrorPage\n searchParams={searchParams}\n fullPage={fullPage}\n {...filterUndefinedINU(componentProps?.ErrorPage)}\n />;\n }\n case availablePaths.cliAuthConfirm: {\n if (shouldRedirectToPage?.('cliAuthConfirm')) return { redirectToPage: 'cliAuthConfirm' as const };\n return <CliAuthConfirmation\n fullPage={fullPage}\n {...filterUndefinedINU(componentProps?.CliAuthConfirmation)}\n />;\n }\n case availablePaths.mfa: {\n if (shouldRedirectToPage?.('mfa')) return { redirectToPage: 'mfa' as const };\n return <MFA\n fullPage={fullPage}\n {...filterUndefinedINU(componentProps?.MFA)}\n />;\n }\n case availablePaths.onboarding: {\n if (shouldRedirectToPage?.('onboarding')) return { redirectToPage: 'onboarding' as const };\n return <Onboarding\n fullPage={fullPage}\n {...filterUndefinedINU(componentProps?.Onboarding)}\n />;\n }\n default: {\n if (Object.values(availablePaths).includes(path as any)) {\n throw new HexclaveAssertionError(`Path alias ${path} not included in switch statement, but in availablePaths?`, { availablePaths });\n }\n for (const [key, value] of Object.entries(pathAliases)) {\n if (path.toLowerCase().replaceAll('-', '') === key.toLowerCase().replaceAll('-', '')) {\n const redirectUrl = `${app.urls.handler}/${value}?${new URLSearchParams(searchParams).toString()}`;\n return { redirect: redirectUrl };\n }\n }\n const defaultUnknownPathUrl = getDefaultUnknownPathUrl?.(path);\n if (defaultUnknownPathUrl != null) {\n const defaultUnknownPathUrlObject = new URL(defaultUnknownPathUrl, \"http://example.com\");\n for (const [key, value] of Object.entries(searchParams)) {\n defaultUnknownPathUrlObject.searchParams.set(key, value);\n }\n return { redirect: toAbsoluteOrRelativeRedirectTarget(defaultUnknownPathUrlObject) };\n }\n return onNotFound();\n }\n }\n}\n\nexport function HexclaveHandlerClient(props: BaseHandlerProps & Partial<RouteProps> & { location?: string }) {\n // Use hooks to get app\n const hexclaveApp = useStackApp();\n const clientOrigin = useClientOriginAfterHydration();\n\n const navigate = hexclaveApp.useNavigate();\n const navigateRef = useRef(navigate);\n navigateRef.current = navigate;\n const currentLocation = props.location ?? (typeof window === \"undefined\" ? new URL(hexclaveApp.urls.handler, placeholderOrigin).pathname : window.location.pathname);\n const searchParamsSource = new URLSearchParams(typeof window === \"undefined\" ? \"\" : window.location.search);\n const redirectTargets: (string | undefined)[] = [];\n\n const { path, searchParams, handlerPath } = useMemo(() => {\n const handlerPath = new URL(hexclaveApp.urls.handler, 'http://example.com').pathname;\n const relativePath = currentLocation.startsWith(handlerPath)\n ? currentLocation.slice(handlerPath.length).replace(/^\\/+/, '')\n : currentLocation.replace(/^\\/+/, '');\n\n return {\n path: relativePath,\n searchParams: Object.fromEntries(searchParamsSource.entries()),\n handlerPath,\n };\n }, [currentLocation, searchParamsSource, hexclaveApp.urls.handler]);\n\n const getDefaultUnknownPathUrl = (unknownPath: string): string | null => {\n return resolveUnknownHandlerPathFallbackUrl({\n defaultTarget: hexclaveApp[hexclaveAppInternalsSymbol].getConstructorOptions().urls?.default,\n projectId: hexclaveApp.projectId,\n unknownPath,\n });\n };\n\n const shouldRedirectToPage = (name: keyof HandlerUrls): boolean => {\n const url = hexclaveApp.urls[name];\n const isCrossDomainLocalOauthCallback = name === \"oauthCallback\" && searchParams.hexclave_cross_domain_auth === \"1\";\n if (isCrossDomainLocalOauthCallback) {\n return false;\n }\n return !isLocalHandlerUrlTarget({\n targetUrl: url,\n handlerPath,\n currentOrigin: clientOrigin,\n });\n };\n\n const result = renderComponent({\n path,\n searchParams,\n fullPage: props.fullPage,\n componentProps: props.componentProps,\n shouldRedirectToPage,\n getDefaultUnknownPathUrl,\n onNotFound: () =>\n (\n <MessageCard\n title=\"Page does not exist\"\n fullPage={props.fullPage}\n primaryButtonText=\"Go to Home\"\n primaryAction={() => hexclaveApp.redirectToHome()}\n >\n The page you are looking for could not be found. Please check the URL and try again.\n </MessageCard>\n )\n ,\n app: hexclaveApp,\n });\n\n const redirectToPage = (result != null && typeof result === 'object' && 'redirectToPage' in result) ? result.redirectToPage : undefined;\n\n useEffect(() => {\n if (redirectToPage == null) return;\n runAsynchronouslyWithAlert(\n hexclaveApp[hexclaveAppInternalsSymbol].redirectToHandler(redirectToPage, { replace: true })\n );\n }, [redirectToPage, hexclaveApp]);\n\n if (redirectToPage != null) {\n return (\n <MessageCard title=\"Redirecting...\" fullPage={props.fullPage} />\n );\n }\n\n if (result && 'redirect' in result) {\n redirectTargets.push(result.redirect);\n }\n\n const redirectTarget = redirectTargets[0];\n const shouldRenderRedirectFallback = redirectTarget != null && hexclaveApp[hexclaveAppInternalsSymbol].getRedirectMethod() === \"none\";\n useEffect(() => {\n if (redirectTarget == null || shouldRenderRedirectFallback) {\n return;\n }\n navigateRef.current(redirectTarget);\n }, [redirectTarget, shouldRenderRedirectFallback]);\n\n if (redirectTarget != null && shouldRenderRedirectFallback) {\n return (\n <MessageCard\n title=\"Continue\"\n fullPage={props.fullPage}\n primaryButtonText=\"Continue\"\n primaryAction={() => window.location.assign(redirectTarget)}\n >\n Continue to the next page.\n </MessageCard>\n );\n }\n\n if (redirectTarget != null) {\n return null;\n }\n\n return result;\n}\n\n// filter undefined values in object. if object itself is undefined, return undefined\nfunction filterUndefinedINU<T extends {}>(value: T | undefined): FilterUndefined<T> | undefined {\n return value === undefined ? value : filterUndefined(value);\n}\n\nfunction toAbsoluteOrRelativeRedirectTarget(url: URL): string {\n return url.origin === \"http://example.com\" ? getRelativePart(url) : url.toString();\n}\n\nfunction useClientOriginAfterHydration(): string | undefined {\n // The first hydrated render must match SSR. After hydration, React re-checks\n // the snapshot and lets us distinguish same-path cross-origin handler URLs.\n return useSyncExternalStore(\n () => () => {},\n () => window.location.origin,\n () => undefined,\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAsDA,MAAM,iBAAiB;CACrB,QAAQ;CACR,QAAQ;CACR,mBAAmB;CACnB,eAAe;CACf,gBAAgB;CAChB,SAAS;CACT,eAAe;CACf,mBAAmB;CACnB,gBAAgB;CAChB,iBAAiB;CACjB,gBAAgB;CAChB,KAAK;CACL,OAAO;CACP,YAAY;CACb;AAED,MAAM,oBAAoB;AAE1B,MAAM,cAAc;CAElB,GAAG,OAAO,YAAY,OAAO,QAAQ,eAAe,CAAC,KAAK,CAAC,KAAK,WAAW,CAAC,OAAO,MAAM,CAAC,CAAC;CAC3F,UAAU,eAAe;CACzB,YAAY,eAAe;CAC5B;AASD,SAAS,gBAAgB,OAStB;CACD,MAAM,EAAE,MAAM,cAAc,UAAU,gBAAgB,sBAAsB,0BAA0B,YAAY,QAAQ;AAE1H,SAAQ,MAAR;EACE,KAAK,eAAe;AAClB,OAAI,uBAAuB,SAAS,CAAE,QAAO,EAAE,gBAAgB,UAAmB;AAClF,UAAO,oBAAC;IACI;IACV;IACA,GAAI,mBAAmB,gBAAgB,OAAO;KAC9C;EAEJ,KAAK,eAAe;AAClB,OAAI,uBAAuB,SAAS,CAAE,QAAO,EAAE,gBAAgB,UAAmB;AAClF,UAAO,oBAAC;IACI;IACV;IACA,GAAI,mBAAmB,gBAAgB,OAAO;KAC9C;EAEJ,KAAK,eAAe;AAClB,OAAI,uBAAuB,oBAAoB,CAAE,QAAO,EAAE,gBAAgB,qBAA8B;AACxG,UAAO,oBAAC;IACQ;IACJ;IACV,GAAI,mBAAmB,gBAAgB,kBAAkB;KACzD;EAEJ,KAAK,eAAe;AAClB,OAAI,uBAAuB,gBAAgB,CAAE,QAAO,EAAE,gBAAgB,iBAA0B;AAChG,UAAO,oBAAC;IACQ;IACJ;IACV,GAAI,mBAAmB,gBAAgB,cAAc;KACrD;EAEJ,KAAK,eAAe;AAClB,OAAI,uBAAuB,iBAAiB,CAAE,QAAO,EAAE,gBAAgB,kBAA2B;AAClG,UAAO,oBAAC;IACI;IACV,GAAI,mBAAmB,gBAAgB,eAAe;KACtD;EAEJ,KAAK,eAAe;AAClB,OAAI,uBAAuB,UAAU,CAAE,QAAO,EAAE,gBAAgB,WAAoB;AACpF,UAAO,oBAAC;IACQ;IACJ;IACV,GAAI,mBAAmB,gBAAgB,QAAQ;KAC/C;EAEJ,KAAK,eAAe;AAClB,OAAI,uBAAuB,gBAAgB,CAAE,QAAO,EAAE,gBAAgB,iBAA0B;AAChG,UAAO,oBAAC;IACI;IACV,GAAI,mBAAmB,gBAAgB,cAAc;KACrD;EAEJ,KAAK,eAAe;AAClB,OAAI,uBAAuB,oBAAoB,CAAE,QAAO,EAAE,gBAAgB,qBAA8B;AACxG,UAAO,oBAAC;IACQ;IACJ;IACV,GAAI,mBAAmB,gBAAgB,kBAAkB;KACzD;EAEJ,KAAK,eAAe;AAClB,OAAI,uBAAuB,iBAAiB,CAAE,QAAO,EAAE,gBAAgB,kBAA2B;AAClG,UAAO,oBAAC;IACQ;IACJ;IACV,GAAI,mBAAmB,gBAAgB,eAAe;KACtD;EAEJ,KAAK,eAAe,gBAClB,QAAO,oBAAC;GACI;GACV,GAAI,mBAAmB,gBAAgB,gBAAgB;IACvD;EAEJ,KAAK,eAAe,MAClB,QAAO,oBAAC;GACQ;GACJ;GACV,GAAI,mBAAmB,gBAAgB,UAAU;IACjD;EAEJ,KAAK,eAAe;AAClB,OAAI,uBAAuB,iBAAiB,CAAE,QAAO,EAAE,gBAAgB,kBAA2B;AAClG,UAAO,oBAAC;IACI;IACV,GAAI,mBAAmB,gBAAgB,oBAAoB;KAC3D;EAEJ,KAAK,eAAe;AAClB,OAAI,uBAAuB,MAAM,CAAE,QAAO,EAAE,gBAAgB,OAAgB;AAC5E,UAAO,oBAAC;IACI;IACV,GAAI,mBAAmB,gBAAgB,IAAI;KAC3C;EAEJ,KAAK,eAAe;AAClB,OAAI,uBAAuB,aAAa,CAAE,QAAO,EAAE,gBAAgB,cAAuB;AAC1F,UAAO,oBAAC;IACI;IACV,GAAI,mBAAmB,gBAAgB,WAAW;KAClD;EAEJ,SAAS;AACP,OAAI,OAAO,OAAO,eAAe,CAAC,SAAS,KAAY,CACrD,OAAM,IAAI,uBAAuB,cAAc,KAAK,4DAA4D,EAAE,gBAAgB,CAAC;AAErI,QAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,YAAY,CACpD,KAAI,KAAK,aAAa,CAAC,WAAW,KAAK,GAAG,KAAK,IAAI,aAAa,CAAC,WAAW,KAAK,GAAG,CAElF,QAAO,EAAE,UADW,GAAG,IAAI,KAAK,QAAQ,GAAG,MAAM,GAAG,IAAI,gBAAgB,aAAa,CAAC,UAAU,IAChE;GAGpC,MAAM,wBAAwB,2BAA2B,KAAK;AAC9D,OAAI,yBAAyB,MAAM;IACjC,MAAM,8BAA8B,IAAI,IAAI,uBAAuB,qBAAqB;AACxF,SAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,aAAa,CACrD,6BAA4B,aAAa,IAAI,KAAK,MAAM;AAE1D,WAAO,EAAE,UAAU,mCAAmC,4BAA4B,EAAE;;AAEtF,UAAO,YAAY;;;;AAKzB,SAAgB,sBAAsB,OAAuE;CAE3G,MAAM,cAAcA,eAAa;CACjC,MAAM,eAAe,+BAA+B;CAEpD,MAAM,WAAW,YAAY,aAAa;CAC1C,MAAM,cAAc,OAAO,SAAS;AACpC,aAAY,UAAU;CACtB,MAAM,kBAAkB,MAAM,aAAa,OAAO,WAAW,cAAc,IAAI,IAAI,YAAY,KAAK,SAAS,kBAAkB,CAAC,WAAW,OAAO,SAAS;CAC3J,MAAM,qBAAqB,IAAI,gBAAgB,OAAO,WAAW,cAAc,KAAK,OAAO,SAAS,OAAO;CAC3G,MAAM,kBAA0C,EAAE;CAElD,MAAM,EAAE,MAAM,cAAc,gBAAgB,cAAc;EACxD,MAAM,cAAc,IAAI,IAAI,YAAY,KAAK,SAAS,qBAAqB,CAAC;AAK5E,SAAO;GACL,MALmB,gBAAgB,WAAW,YAAY,GACxD,gBAAgB,MAAM,YAAY,OAAO,CAAC,QAAQ,QAAQ,GAAG,GAC7D,gBAAgB,QAAQ,QAAQ,GAAG;GAIrC,cAAc,OAAO,YAAY,mBAAmB,SAAS,CAAC;GAC9D;GACD;IACA;EAAC;EAAiB;EAAoB,YAAY,KAAK;EAAQ,CAAC;CAEnE,MAAM,4BAA4B,gBAAuC;AACvE,SAAO,qCAAqC;GAC1C,eAAe,YAAY,4BAA4B,uBAAuB,CAAC,MAAM;GACrF,WAAW,YAAY;GACvB;GACD,CAAC;;CAGJ,MAAM,wBAAwB,SAAqC;EACjE,MAAM,MAAM,YAAY,KAAK;AAE7B,MADwC,SAAS,mBAAmB,aAAa,+BAA+B,IAE9G,QAAO;AAET,SAAO,CAAC,wBAAwB;GAC9B,WAAW;GACX;GACA,eAAe;GAChB,CAAC;;CAGJ,MAAM,SAAS,gBAAgB;EAC7B;EACA;EACA,UAAU,MAAM;EAChB,gBAAgB,MAAM;EACtB;EACA;EACA,kBAEI,oBAACC;GACC,OAAM;GACN,UAAU,MAAM;GAChB,mBAAkB;GAClB,qBAAqB,YAAY,gBAAgB;aAClD;IAEa;EAGlB,KAAK;EACN,CAAC;CAEF,MAAM,iBAAkB,UAAU,QAAQ,OAAO,WAAW,YAAY,oBAAoB,SAAU,OAAO,iBAAiB;AAE9H,iBAAgB;AACd,MAAI,kBAAkB,KAAM;AAC5B,6BACE,YAAY,4BAA4B,kBAAkB,gBAAgB,EAAE,SAAS,MAAM,CAAC,CAC7F;IACA,CAAC,gBAAgB,YAAY,CAAC;AAEjC,KAAI,kBAAkB,KACpB,QACE,oBAACA;EAAY,OAAM;EAAiB,UAAU,MAAM;GAAY;AAIpE,KAAI,UAAU,cAAc,OAC1B,iBAAgB,KAAK,OAAO,SAAS;CAGvC,MAAM,iBAAiB,gBAAgB;CACvC,MAAM,+BAA+B,kBAAkB,QAAQ,YAAY,4BAA4B,mBAAmB,KAAK;AAC/H,iBAAgB;AACd,MAAI,kBAAkB,QAAQ,6BAC5B;AAEF,cAAY,QAAQ,eAAe;IAClC,CAAC,gBAAgB,6BAA6B,CAAC;AAElD,KAAI,kBAAkB,QAAQ,6BAC5B,QACE,oBAACA;EACC,OAAM;EACN,UAAU,MAAM;EAChB,mBAAkB;EAClB,qBAAqB,OAAO,SAAS,OAAO,eAAe;YAC5D;GAEa;AAIlB,KAAI,kBAAkB,KACpB,QAAO;AAGT,QAAO;;AAIT,SAAS,mBAAiC,OAAsD;AAC9F,QAAO,UAAU,SAAY,QAAQ,gBAAgB,MAAM;;AAG7D,SAAS,mCAAmC,KAAkB;AAC5D,QAAO,IAAI,WAAW,uBAAuB,gBAAgB,IAAI,GAAG,IAAI,UAAU;;AAGpF,SAAS,gCAAoD;AAG3D,QAAO,iCACO,UACN,OAAO,SAAS,cAChB,OACP"}
@@ -1,8 +1,8 @@
1
1
  import * as react_jsx_runtime0 from "react/jsx-runtime";
2
- import { BaseHandlerProps } from "./stack-handler-client";
2
+ import { BaseHandlerProps } from "./hexclave-handler-client";
3
3
 
4
- //#region src/components-page/stack-handler.d.ts
5
- type StackHandlerProps = BaseHandlerProps & {
4
+ //#region src/components-page/hexclave-handler.d.ts
5
+ type HexclaveHandlerProps = BaseHandlerProps & {
6
6
  location?: string;
7
7
  } & {
8
8
  /**
@@ -28,10 +28,10 @@ declare function HandlerImpl({
28
28
  params,
29
29
  searchParams,
30
30
  ...props
31
- }: StackHandlerProps): react_jsx_runtime0.JSX.Element;
31
+ }: HexclaveHandlerProps): react_jsx_runtime0.JSX.Element;
32
32
  declare const HexclaveHandler: typeof HandlerImpl;
33
33
  /** @deprecated Use `HexclaveHandler` from the `@hexclave/*` package instead — same symbol, new brand name. See https://docs.hexclave.com/migration. */
34
34
  declare const StackHandler: typeof HandlerImpl;
35
35
  //#endregion
36
36
  export { HexclaveHandler, StackHandler, StackHandler as default };
37
- //# sourceMappingURL=stack-handler.d.ts.map
37
+ //# sourceMappingURL=hexclave-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hexclave-handler.d.ts","names":[],"sources":["../../../src/components-page/hexclave-handler.tsx"],"mappings":";;;;KAYK,oBAAA,GAAuB,gBAAA;EAAqB,QAAA;AAAA;EAA5C;;;EAIH,GAAA;EAJ0B;;;EAS1B,UAAA;EAKA;;;EAAA,MAAA;EAQO;;;EAHP,YAAA;AAAA;AAAA,iBAGO,WAAA,CAAA;EAAc,GAAA;EAAK,UAAA;EAAY,MAAA;EAAQ,YAAA;EAAA,GAAiB;AAAA,GAAS,oBAAA,GAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,cAKjF,eAAA,SAAe,WAAA;;cAGf,YAAA,SAAY,WAAA"}
@@ -1,9 +1,9 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import { StackHandlerClient } from "./stack-handler-client.js";
2
+ import { HexclaveHandlerClient } from "./hexclave-handler-client.js";
3
3
 
4
- //#region src/components-page/stack-handler.tsx
4
+ //#region src/components-page/hexclave-handler.tsx
5
5
  function HandlerImpl({ app, routeProps, params, searchParams, ...props }) {
6
- return /* @__PURE__ */ jsx(StackHandlerClient, { ...props });
6
+ return /* @__PURE__ */ jsx(HexclaveHandlerClient, { ...props });
7
7
  }
8
8
  const HexclaveHandler = HandlerImpl;
9
9
  /** @deprecated Use `HexclaveHandler` from the `@hexclave/*` package instead — same symbol, new brand name. See https://docs.hexclave.com/migration. */
@@ -11,4 +11,4 @@ const StackHandler = HandlerImpl;
11
11
 
12
12
  //#endregion
13
13
  export { HexclaveHandler, StackHandler, StackHandler as default };
14
- //# sourceMappingURL=stack-handler.js.map
14
+ //# sourceMappingURL=hexclave-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hexclave-handler.js","names":[],"sources":["../../../src/components-page/hexclave-handler.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// This file exists solely so the following old, deprecated code from when StackHandler used to still take props:\n// <StackHandler app={hexclaveServerApp} routeProps={props} />\n// does not throw the following error:\n// Only plain objects, and a few built-ins, can be passed to Client Components from Server Components. Classes or null prototypes are not supported.\n// This file exists as a component that can be both client and server, ignores the non-serializable props, and returns <HexclaveHandlerClient />\n\nimport { BaseHandlerProps, HexclaveHandlerClient } from \"./hexclave-handler-client\";\n\ntype HexclaveHandlerProps = BaseHandlerProps & { location?: string } & {\n /**\n * @deprecated The app parameter is no longer necessary. You can safely remove it.\n */\n app?: any,\n\n /**\n * @deprecated The routeProps parameter is no longer necessary. You can safely remove it.\n */\n routeProps?: any,\n\n /**\n * @deprecated The params parameter is no longer necessary. You can safely remove it.\n */\n params?: any,\n\n /**\n * @deprecated The searchParams parameter is no longer necessary. You can safely remove it.\n */\n searchParams?: any,\n};\n\nfunction HandlerImpl({ app, routeProps, params, searchParams, ...props }: HexclaveHandlerProps) {\n return <HexclaveHandlerClient {...props} />;\n}\n\n// Non-deprecated Hexclave-branded export.\nexport const HexclaveHandler = HandlerImpl;\n\n/** @deprecated Use `HexclaveHandler` from the `@hexclave/*` package instead — same symbol, new brand name. See https://docs.hexclave.com/migration. */\nexport const StackHandler = HandlerImpl;\n\n// Default export preserved for backwards compatibility (legacy `as`-rename re-exports).\n// Points at the deprecated alias so that `import StackHandler from \".../hexclave-handler\"` still\n// surfaces the deprecation. Internal re-exports in template/src/index.ts use the named exports.\nexport default StackHandler;\n"],"mappings":";;;;AAkCA,SAAS,YAAY,EAAE,KAAK,YAAY,QAAQ,cAAc,GAAG,SAA+B;AAC9F,QAAO,oBAAC,yBAAsB,GAAI,QAAS;;AAI7C,MAAa,kBAAkB;;AAG/B,MAAa,eAAe"}
@@ -1,22 +1,22 @@
1
1
  'use client';
2
2
 
3
+ import { throwErr } from "@hexclave/shared/dist/utils/errors";
3
4
  import React from "react";
4
5
  import { useStackApp, useUser } from "../index.js";
5
6
  import { useTranslation } from "../lib/translations.js";
6
7
  import { jsx } from "react/jsx-runtime";
7
- import { PredefinedMessageCard } from "../components/message-cards/predefined-message-card.js";
8
- import { MessageCard as MessageCard$1 } from "../components/message-cards/message-card.js";
9
8
  import { KnownErrors } from "@hexclave/shared";
10
- import { throwErr } from "@hexclave/shared/dist/utils/errors";
9
+ import { MessageCard as MessageCard$1 } from "../components/message-cards/message-card.js";
10
+ import { PredefinedMessageCard } from "../components/message-cards/predefined-message-card.js";
11
11
  import { cacheFunction } from "@hexclave/shared/dist/utils/caches";
12
12
 
13
13
  //#region src/components-page/magic-link-callback.tsx
14
- cacheFunction(async (stackApp, code) => {
15
- return await stackApp.signInWithMagicLink(code);
14
+ cacheFunction(async (hexclaveApp, code) => {
15
+ return await hexclaveApp.signInWithMagicLink(code);
16
16
  });
17
17
  function MagicLinkCallback(props) {
18
18
  const { t } = useTranslation();
19
- const stackApp = useStackApp();
19
+ const hexclaveApp = useStackApp();
20
20
  const user = useUser();
21
21
  const [result, setResult] = React.useState(null);
22
22
  if (user) return /* @__PURE__ */ jsx(PredefinedMessageCard, {
@@ -44,11 +44,11 @@ function MagicLinkCallback(props) {
44
44
  fullPage: !!props.fullPage,
45
45
  primaryButtonText: t("Sign in"),
46
46
  primaryAction: async () => {
47
- setResult(await stackApp.signInWithMagicLink(props.searchParams?.code || throwErr("No magic link provided")));
47
+ setResult(await hexclaveApp.signInWithMagicLink(props.searchParams?.code || throwErr("No magic link provided")));
48
48
  },
49
49
  secondaryButtonText: t("Cancel"),
50
50
  secondaryAction: async () => {
51
- await stackApp.redirectToHome();
51
+ await hexclaveApp.redirectToHome();
52
52
  }
53
53
  });
54
54
  else {
@@ -61,7 +61,7 @@ function MagicLinkCallback(props) {
61
61
  fullPage: !!props.fullPage,
62
62
  primaryButtonText: t("Go home"),
63
63
  primaryAction: async () => {
64
- await stackApp.redirectToHome();
64
+ await hexclaveApp.redirectToHome();
65
65
  }
66
66
  });
67
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"magic-link-callback.js","names":["MessageCard"],"sources":["../../../src/components-page/magic-link-callback.tsx"],"sourcesContent":["'use client';\n\n\n//===========================================\n// THIS FILE IS AUTO-GENERATED FROM TEMPLATE. DO NOT EDIT IT DIRECTLY, INSTEAD EDIT THE CORRESPONDING FILE IN packages/template\n//===========================================\n\nimport { KnownErrors } from \"@hexclave/shared\";\nimport { cacheFunction } from \"@hexclave/shared/dist/utils/caches\";\nimport { throwErr } from \"@hexclave/shared/dist/utils/errors\";\nimport React from \"react\";\nimport { StackClientApp, useStackApp, useUser } from \"..\";\nimport { MessageCard } from \"../components/message-cards/message-card\";\nimport { PredefinedMessageCard } from \"../components/message-cards/predefined-message-card\";\nimport { useTranslation } from \"../lib/translations\";\n\nconst cacheSignInWithMagicLink = cacheFunction(async (stackApp: StackClientApp<true>, code: string) => {\n return await stackApp.signInWithMagicLink(code);\n});\n\nexport function MagicLinkCallback(props: {\n searchParams?: Record<string, string>,\n fullPage?: boolean,\n}) {\n const { t } = useTranslation();\n const stackApp = useStackApp();\n const user = useUser();\n const [result, setResult] = React.useState<Awaited<ReturnType<typeof stackApp.signInWithMagicLink>> | null>(null);\n\n if (user) {\n return <PredefinedMessageCard type='signedIn' fullPage={!!props.fullPage} />;\n }\n\n const invalidJsx = (\n <MessageCard title={t(\"Invalid Magic 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 Magic Link\")} fullPage={!!props.fullPage}>\n <p>{t(\"Your magic link has expired. Please request a new magic link if you need to sign-in.\")}</p>\n </MessageCard>\n );\n\n const alreadyUsedJsx = (\n <MessageCard title={t(\"Magic Link Already Used\")} fullPage={!!props.fullPage}>\n <p>{t(\"The magic link has already been used. The link can only be used once. Please request a new magic link if you need to sign-in again.\")}</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 sign in?\")}\n fullPage={!!props.fullPage}\n primaryButtonText={t(\"Sign in\")}\n primaryAction={async () => {\n const result = await stackApp.signInWithMagicLink(props.searchParams?.code || throwErr(\"No magic link provided\"));\n setResult(result);\n }}\n secondaryButtonText={t(\"Cancel\")}\n secondaryAction={async () => {\n await stackApp.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 return alreadyUsedJsx;\n } else {\n throw result.error;\n }\n }\n\n return <MessageCard\n title={t(\"Signed in successfully!\")}\n fullPage={!!props.fullPage}\n primaryButtonText={t(\"Go home\")}\n primaryAction={async () => {\n await stackApp.redirectToHome();\n }}\n />;\n }\n}\n"],"mappings":";;;;;;;;;;;;;AAgBiC,cAAc,OAAO,UAAgC,SAAiB;AACrG,QAAO,MAAM,SAAS,oBAAoB,KAAK;EAC/C;AAEF,SAAgB,kBAAkB,OAG/B;CACD,MAAM,EAAE,MAAM,gBAAgB;CAC9B,MAAM,WAAW,aAAa;CAC9B,MAAM,OAAO,SAAS;CACtB,MAAM,CAAC,QAAQ,aAAa,MAAM,SAA0E,KAAK;AAEjH,KAAI,KACF,QAAO,oBAAC;EAAsB,MAAK;EAAW,UAAU,CAAC,CAAC,MAAM;GAAY;CAG9E,MAAM,aACJ,oBAACA;EAAY,OAAO,EAAE,qBAAqB;EAAE,UAAU,CAAC,CAAC,MAAM;YAC7D,oBAAC,iBAAG,EAAE,qGAAqG,GAAK;GACpG;CAGhB,MAAM,aACJ,oBAACA;EAAY,OAAO,EAAE,qBAAqB;EAAE,UAAU,CAAC,CAAC,MAAM;YAC7D,oBAAC,iBAAG,EAAE,uFAAuF,GAAK;GACtF;CAGhB,MAAM,iBACJ,oBAACA;EAAY,OAAO,EAAE,0BAA0B;EAAE,UAAU,CAAC,CAAC,MAAM;YAClE,oBAAC,iBAAG,EAAE,sIAAsI,GAAK;GACrI;AAGhB,KAAI,CAAC,MAAM,cAAc,KACvB,QAAO;AAGT,KAAI,CAAC,OACH,QAAO,oBAACA;EACN,OAAO,EAAE,0BAA0B;EACnC,UAAU,CAAC,CAAC,MAAM;EAClB,mBAAmB,EAAE,UAAU;EAC/B,eAAe,YAAY;AAEzB,aADe,MAAM,SAAS,oBAAoB,MAAM,cAAc,QAAQ,SAAS,yBAAyB,CAAC,CAChG;;EAEnB,qBAAqB,EAAE,SAAS;EAChC,iBAAiB,YAAY;AAC3B,SAAM,SAAS,gBAAgB;;GAEjC;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,CACzE,QAAO;MAEP,OAAM,OAAO;AAIjB,SAAO,oBAACA;GACN,OAAO,EAAE,0BAA0B;GACnC,UAAU,CAAC,CAAC,MAAM;GAClB,mBAAmB,EAAE,UAAU;GAC/B,eAAe,YAAY;AACzB,UAAM,SAAS,gBAAgB;;IAEjC"}
1
+ {"version":3,"file":"magic-link-callback.js","names":["MessageCard"],"sources":["../../../src/components-page/magic-link-callback.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 { cacheFunction } from \"@hexclave/shared/dist/utils/caches\";\nimport { throwErr } from \"@hexclave/shared/dist/utils/errors\";\nimport React from \"react\";\nimport { StackClientApp, useStackApp, useUser } from \"..\";\nimport { MessageCard } from \"../components/message-cards/message-card\";\nimport { PredefinedMessageCard } from \"../components/message-cards/predefined-message-card\";\nimport { useTranslation } from \"../lib/translations\";\n\nconst cacheSignInWithMagicLink = cacheFunction(async (hexclaveApp: StackClientApp<true>, code: string) => {\n return await hexclaveApp.signInWithMagicLink(code);\n});\n\nexport function MagicLinkCallback(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.signInWithMagicLink>> | null>(null);\n\n if (user) {\n return <PredefinedMessageCard type='signedIn' fullPage={!!props.fullPage} />;\n }\n\n const invalidJsx = (\n <MessageCard title={t(\"Invalid Magic 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 Magic Link\")} fullPage={!!props.fullPage}>\n <p>{t(\"Your magic link has expired. Please request a new magic link if you need to sign-in.\")}</p>\n </MessageCard>\n );\n\n const alreadyUsedJsx = (\n <MessageCard title={t(\"Magic Link Already Used\")} fullPage={!!props.fullPage}>\n <p>{t(\"The magic link has already been used. The link can only be used once. Please request a new magic link if you need to sign-in again.\")}</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 sign in?\")}\n fullPage={!!props.fullPage}\n primaryButtonText={t(\"Sign in\")}\n primaryAction={async () => {\n const result = await hexclaveApp.signInWithMagicLink(props.searchParams?.code || throwErr(\"No magic link 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 return alreadyUsedJsx;\n } else {\n throw result.error;\n }\n }\n\n return <MessageCard\n title={t(\"Signed in successfully!\")}\n fullPage={!!props.fullPage}\n primaryButtonText={t(\"Go home\")}\n primaryAction={async () => {\n await hexclaveApp.redirectToHome();\n }}\n />;\n }\n}\n"],"mappings":";;;;;;;;;;;;;AAgBiC,cAAc,OAAO,aAAmC,SAAiB;AACxG,QAAO,MAAM,YAAY,oBAAoB,KAAK;EAClD;AAEF,SAAgB,kBAAkB,OAG/B;CACD,MAAM,EAAE,MAAM,gBAAgB;CAC9B,MAAM,cAAc,aAAa;CACjC,MAAM,OAAO,SAAS;CACtB,MAAM,CAAC,QAAQ,aAAa,MAAM,SAA6E,KAAK;AAEpH,KAAI,KACF,QAAO,oBAAC;EAAsB,MAAK;EAAW,UAAU,CAAC,CAAC,MAAM;GAAY;CAG9E,MAAM,aACJ,oBAACA;EAAY,OAAO,EAAE,qBAAqB;EAAE,UAAU,CAAC,CAAC,MAAM;YAC7D,oBAAC,iBAAG,EAAE,qGAAqG,GAAK;GACpG;CAGhB,MAAM,aACJ,oBAACA;EAAY,OAAO,EAAE,qBAAqB;EAAE,UAAU,CAAC,CAAC,MAAM;YAC7D,oBAAC,iBAAG,EAAE,uFAAuF,GAAK;GACtF;CAGhB,MAAM,iBACJ,oBAACA;EAAY,OAAO,EAAE,0BAA0B;EAAE,UAAU,CAAC,CAAC,MAAM;YAClE,oBAAC,iBAAG,EAAE,sIAAsI,GAAK;GACrI;AAGhB,KAAI,CAAC,MAAM,cAAc,KACvB,QAAO;AAGT,KAAI,CAAC,OACH,QAAO,oBAACA;EACN,OAAO,EAAE,0BAA0B;EACnC,UAAU,CAAC,CAAC,MAAM;EAClB,mBAAmB,EAAE,UAAU;EAC/B,eAAe,YAAY;AAEzB,aADe,MAAM,YAAY,oBAAoB,MAAM,cAAc,QAAQ,SAAS,yBAAyB,CAAC,CACnG;;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,CACzE,QAAO;MAEP,OAAM,OAAO;AAIjB,SAAO,oBAACA;GACN,OAAO,EAAE,0BAA0B;GACnC,UAAU,CAAC,CAAC,MAAM;GAClB,mBAAmB,EAAE,UAAU;GAC/B,eAAe,YAAY;AACzB,UAAM,YAAY,gBAAgB;;IAEpC"}