@hexclave/next 1.0.3 → 1.0.6

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 (864) hide show
  1. package/dist/components/api-key-dialogs.d.ts +1 -1
  2. package/dist/components/api-key-dialogs.js.map +1 -1
  3. package/dist/components/api-key-table.d.ts +1 -1
  4. package/dist/components/api-key-table.js.map +1 -1
  5. package/dist/components/credential-sign-in.js.map +1 -1
  6. package/dist/components/credential-sign-up.js.map +1 -1
  7. package/dist/components/elements/form-warning.js.map +1 -1
  8. package/dist/components/elements/maybe-full-page.js.map +1 -1
  9. package/dist/components/elements/separator-with-text.js.map +1 -1
  10. package/dist/components/elements/sidebar-layout.js.map +1 -1
  11. package/dist/components/elements/ssr-layout-effect.js.map +1 -1
  12. package/dist/components/elements/user-avatar.js.map +1 -1
  13. package/dist/components/link.js.map +1 -1
  14. package/dist/components/magic-link-sign-in.js +2 -2
  15. package/dist/components/magic-link-sign-in.js.map +1 -1
  16. package/dist/components/message-cards/known-error-message-card.js +2 -2
  17. package/dist/components/message-cards/known-error-message-card.js.map +1 -1
  18. package/dist/components/message-cards/message-card.js.map +1 -1
  19. package/dist/components/message-cards/predefined-message-card.js +9 -9
  20. package/dist/components/message-cards/predefined-message-card.js.map +1 -1
  21. package/dist/components/oauth-button-group.js +2 -2
  22. package/dist/components/oauth-button-group.js.map +1 -1
  23. package/dist/components/oauth-button.js +2 -2
  24. package/dist/components/oauth-button.js.map +1 -1
  25. package/dist/components/passkey-button.js +2 -2
  26. package/dist/components/passkey-button.js.map +1 -1
  27. package/dist/components/profile-image-editor.js.map +1 -1
  28. package/dist/components/selected-team-switcher.d.ts +1 -1
  29. package/dist/components/selected-team-switcher.js.map +1 -1
  30. package/dist/components/team-icon.d.ts +1 -1
  31. package/dist/components/team-icon.js.map +1 -1
  32. package/dist/components/team-switcher.d.ts +1 -1
  33. package/dist/components/team-switcher.js.map +1 -1
  34. package/dist/components/use-in-iframe.js.map +1 -1
  35. package/dist/components/user-button.js.map +1 -1
  36. package/dist/components-page/account-settings/active-sessions/active-sessions-page.js.map +1 -1
  37. package/dist/components-page/account-settings/api-keys/api-keys-page.js.map +1 -1
  38. package/dist/components-page/account-settings/editable-text.js.map +1 -1
  39. package/dist/components-page/account-settings/email-and-auth/email-and-auth-page.js.map +1 -1
  40. package/dist/components-page/account-settings/email-and-auth/emails-section.js.map +1 -1
  41. package/dist/components-page/account-settings/email-and-auth/mfa-section.js.map +1 -1
  42. package/dist/components-page/account-settings/email-and-auth/otp-section.js.map +1 -1
  43. package/dist/components-page/account-settings/email-and-auth/passkey-section.js.map +1 -1
  44. package/dist/components-page/account-settings/email-and-auth/password-section.js.map +1 -1
  45. package/dist/components-page/account-settings/notifications/notifications-page.js.map +1 -1
  46. package/dist/components-page/account-settings/page-layout.js.map +1 -1
  47. package/dist/components-page/account-settings/payments/payments-page.d.ts +1 -1
  48. package/dist/components-page/account-settings/payments/payments-page.js.map +1 -1
  49. package/dist/components-page/account-settings/payments/payments-panel.d.ts +1 -1
  50. package/dist/components-page/account-settings/payments/payments-panel.js +6 -6
  51. package/dist/components-page/account-settings/payments/payments-panel.js.map +1 -1
  52. package/dist/components-page/account-settings/profile-page/profile-page.js.map +1 -1
  53. package/dist/components-page/account-settings/section.js.map +1 -1
  54. package/dist/components-page/account-settings/settings/delete-account-section.js.map +1 -1
  55. package/dist/components-page/account-settings/settings/settings-page.js.map +1 -1
  56. package/dist/components-page/account-settings/settings/sign-out-section.js.map +1 -1
  57. package/dist/components-page/account-settings/teams/leave-team-section.d.ts +1 -1
  58. package/dist/components-page/account-settings/teams/leave-team-section.js.map +1 -1
  59. package/dist/components-page/account-settings/teams/team-api-keys-section.d.ts +1 -1
  60. package/dist/components-page/account-settings/teams/team-api-keys-section.js.map +1 -1
  61. package/dist/components-page/account-settings/teams/team-creation-page.js.map +1 -1
  62. package/dist/components-page/account-settings/teams/team-display-name-section.d.ts +1 -1
  63. package/dist/components-page/account-settings/teams/team-display-name-section.js.map +1 -1
  64. package/dist/components-page/account-settings/teams/team-member-invitation-section.d.ts +1 -1
  65. package/dist/components-page/account-settings/teams/team-member-invitation-section.js.map +1 -1
  66. package/dist/components-page/account-settings/teams/team-member-list-section.d.ts +1 -1
  67. package/dist/components-page/account-settings/teams/team-member-list-section.js.map +1 -1
  68. package/dist/components-page/account-settings/teams/team-page.d.ts +1 -1
  69. package/dist/components-page/account-settings/teams/team-page.js.map +1 -1
  70. package/dist/components-page/account-settings/teams/team-profile-image-section.d.ts +1 -1
  71. package/dist/components-page/account-settings/teams/team-profile-image-section.js.map +1 -1
  72. package/dist/components-page/account-settings/teams/team-profile-user-section.d.ts +1 -1
  73. package/dist/components-page/account-settings/teams/team-profile-user-section.js.map +1 -1
  74. package/dist/components-page/account-settings.js.map +1 -1
  75. package/dist/components-page/auth-page.d.ts.map +1 -1
  76. package/dist/components-page/auth-page.js +55 -10
  77. package/dist/components-page/auth-page.js.map +1 -1
  78. package/dist/components-page/cli-auth-confirm.js +3 -3
  79. package/dist/components-page/cli-auth-confirm.js.map +1 -1
  80. package/dist/components-page/cli-auth-confirm.test.js +4 -4
  81. package/dist/components-page/cli-auth-confirm.test.js.map +1 -1
  82. package/dist/components-page/email-verification.js +4 -4
  83. package/dist/components-page/email-verification.js.map +1 -1
  84. package/dist/components-page/error-page.js +9 -9
  85. package/dist/components-page/error-page.js.map +1 -1
  86. package/dist/components-page/forgot-password.js +4 -4
  87. package/dist/components-page/forgot-password.js.map +1 -1
  88. package/dist/components-page/{stack-handler-client.d.ts → hexclave-handler-client.d.ts} +16 -4
  89. package/dist/components-page/hexclave-handler-client.d.ts.map +1 -0
  90. package/dist/components-page/{stack-handler-client.js → hexclave-handler-client.js} +60 -24
  91. package/dist/components-page/hexclave-handler-client.js.map +1 -0
  92. package/dist/components-page/hexclave-handler-client.test.js +51 -0
  93. package/dist/components-page/hexclave-handler-client.test.js.map +1 -0
  94. package/dist/components-page/{stack-handler.d.ts → hexclave-handler.d.ts} +5 -5
  95. package/dist/components-page/hexclave-handler.d.ts.map +1 -0
  96. package/dist/components-page/{stack-handler.js → hexclave-handler.js} +4 -4
  97. package/dist/components-page/hexclave-handler.js.map +1 -0
  98. package/dist/components-page/magic-link-callback.js +7 -7
  99. package/dist/components-page/magic-link-callback.js.map +1 -1
  100. package/dist/components-page/mfa.js +4 -4
  101. package/dist/components-page/mfa.js.map +1 -1
  102. package/dist/components-page/oauth-callback.js +3 -3
  103. package/dist/components-page/oauth-callback.js.map +1 -1
  104. package/dist/components-page/onboarding.js +3 -3
  105. package/dist/components-page/onboarding.js.map +1 -1
  106. package/dist/components-page/password-reset.js +8 -8
  107. package/dist/components-page/password-reset.js.map +1 -1
  108. package/dist/components-page/sign-in.js.map +1 -1
  109. package/dist/components-page/sign-out.d.ts +1 -0
  110. package/dist/components-page/sign-out.d.ts.map +1 -1
  111. package/dist/components-page/sign-out.js +11 -5
  112. package/dist/components-page/sign-out.js.map +1 -1
  113. package/dist/components-page/sign-up.js.map +1 -1
  114. package/dist/components-page/team-creation.js.map +1 -1
  115. package/dist/components-page/team-invitation.js +16 -16
  116. package/dist/components-page/team-invitation.js.map +1 -1
  117. package/dist/dev-tool/dev-tool-core.d.ts +1 -1
  118. package/dist/dev-tool/dev-tool-core.js +13 -13
  119. package/dist/dev-tool/dev-tool-core.js.map +1 -1
  120. package/dist/dev-tool/dev-tool-styles.d.ts +1 -1
  121. package/dist/dev-tool/dev-tool-styles.js +371 -371
  122. package/dist/dev-tool/dev-tool-styles.js.map +1 -1
  123. package/dist/dev-tool/dev-tool-trigger-position.js.map +1 -1
  124. package/dist/dev-tool/dev-tool-trigger-position.test.js.map +1 -1
  125. package/dist/dev-tool/index.d.ts +4 -4
  126. package/dist/dev-tool/index.js +4 -4
  127. package/dist/dev-tool/index.js.map +1 -1
  128. package/dist/esm/components/api-key-dialogs.d.ts +1 -1
  129. package/dist/esm/components/api-key-dialogs.js.map +1 -1
  130. package/dist/esm/components/api-key-table.d.ts +1 -1
  131. package/dist/esm/components/api-key-table.js.map +1 -1
  132. package/dist/esm/components/credential-sign-in.js.map +1 -1
  133. package/dist/esm/components/credential-sign-up.js.map +1 -1
  134. package/dist/esm/components/elements/form-warning.js.map +1 -1
  135. package/dist/esm/components/elements/maybe-full-page.js.map +1 -1
  136. package/dist/esm/components/elements/separator-with-text.js.map +1 -1
  137. package/dist/esm/components/elements/sidebar-layout.js.map +1 -1
  138. package/dist/esm/components/elements/ssr-layout-effect.js.map +1 -1
  139. package/dist/esm/components/elements/user-avatar.js.map +1 -1
  140. package/dist/esm/components/link.js.map +1 -1
  141. package/dist/esm/components/magic-link-sign-in.js +2 -2
  142. package/dist/esm/components/magic-link-sign-in.js.map +1 -1
  143. package/dist/esm/components/message-cards/known-error-message-card.js +2 -2
  144. package/dist/esm/components/message-cards/known-error-message-card.js.map +1 -1
  145. package/dist/esm/components/message-cards/message-card.js.map +1 -1
  146. package/dist/esm/components/message-cards/predefined-message-card.js +9 -9
  147. package/dist/esm/components/message-cards/predefined-message-card.js.map +1 -1
  148. package/dist/esm/components/oauth-button-group.js +2 -2
  149. package/dist/esm/components/oauth-button-group.js.map +1 -1
  150. package/dist/esm/components/oauth-button.js +2 -2
  151. package/dist/esm/components/oauth-button.js.map +1 -1
  152. package/dist/esm/components/passkey-button.js +2 -2
  153. package/dist/esm/components/passkey-button.js.map +1 -1
  154. package/dist/esm/components/profile-image-editor.js.map +1 -1
  155. package/dist/esm/components/selected-team-switcher.js.map +1 -1
  156. package/dist/esm/components/team-icon.js.map +1 -1
  157. package/dist/esm/components/team-switcher.js.map +1 -1
  158. package/dist/esm/components/use-in-iframe.js.map +1 -1
  159. package/dist/esm/components/user-button.js.map +1 -1
  160. package/dist/esm/components-page/account-settings/active-sessions/active-sessions-page.js.map +1 -1
  161. package/dist/esm/components-page/account-settings/api-keys/api-keys-page.js.map +1 -1
  162. package/dist/esm/components-page/account-settings/editable-text.js.map +1 -1
  163. package/dist/esm/components-page/account-settings/email-and-auth/email-and-auth-page.js.map +1 -1
  164. package/dist/esm/components-page/account-settings/email-and-auth/emails-section.js.map +1 -1
  165. package/dist/esm/components-page/account-settings/email-and-auth/mfa-section.js.map +1 -1
  166. package/dist/esm/components-page/account-settings/email-and-auth/otp-section.js.map +1 -1
  167. package/dist/esm/components-page/account-settings/email-and-auth/passkey-section.js.map +1 -1
  168. package/dist/esm/components-page/account-settings/email-and-auth/password-section.js.map +1 -1
  169. package/dist/esm/components-page/account-settings/notifications/notifications-page.js.map +1 -1
  170. package/dist/esm/components-page/account-settings/page-layout.js.map +1 -1
  171. package/dist/esm/components-page/account-settings/payments/payments-page.js.map +1 -1
  172. package/dist/esm/components-page/account-settings/payments/payments-panel.d.ts +1 -1
  173. package/dist/esm/components-page/account-settings/payments/payments-panel.js +5 -5
  174. package/dist/esm/components-page/account-settings/payments/payments-panel.js.map +1 -1
  175. package/dist/esm/components-page/account-settings/profile-page/profile-page.js.map +1 -1
  176. package/dist/esm/components-page/account-settings/section.js.map +1 -1
  177. package/dist/esm/components-page/account-settings/settings/delete-account-section.js.map +1 -1
  178. package/dist/esm/components-page/account-settings/settings/settings-page.js.map +1 -1
  179. package/dist/esm/components-page/account-settings/settings/sign-out-section.js.map +1 -1
  180. package/dist/esm/components-page/account-settings/teams/leave-team-section.js.map +1 -1
  181. package/dist/esm/components-page/account-settings/teams/team-api-keys-section.d.ts +1 -1
  182. package/dist/esm/components-page/account-settings/teams/team-api-keys-section.js.map +1 -1
  183. package/dist/esm/components-page/account-settings/teams/team-creation-page.js.map +1 -1
  184. package/dist/esm/components-page/account-settings/teams/team-display-name-section.js.map +1 -1
  185. package/dist/esm/components-page/account-settings/teams/team-member-invitation-section.js.map +1 -1
  186. package/dist/esm/components-page/account-settings/teams/team-member-list-section.js.map +1 -1
  187. package/dist/esm/components-page/account-settings/teams/team-page.js.map +1 -1
  188. package/dist/esm/components-page/account-settings/teams/team-profile-image-section.js.map +1 -1
  189. package/dist/esm/components-page/account-settings/teams/team-profile-user-section.js.map +1 -1
  190. package/dist/esm/components-page/account-settings.js.map +1 -1
  191. package/dist/esm/components-page/auth-page.d.ts.map +1 -1
  192. package/dist/esm/components-page/auth-page.js +56 -11
  193. package/dist/esm/components-page/auth-page.js.map +1 -1
  194. package/dist/esm/components-page/cli-auth-confirm.js +3 -3
  195. package/dist/esm/components-page/cli-auth-confirm.js.map +1 -1
  196. package/dist/esm/components-page/cli-auth-confirm.test.js +4 -4
  197. package/dist/esm/components-page/cli-auth-confirm.test.js.map +1 -1
  198. package/dist/esm/components-page/email-verification.js +4 -4
  199. package/dist/esm/components-page/email-verification.js.map +1 -1
  200. package/dist/esm/components-page/error-page.js +9 -9
  201. package/dist/esm/components-page/error-page.js.map +1 -1
  202. package/dist/esm/components-page/forgot-password.js +4 -4
  203. package/dist/esm/components-page/forgot-password.js.map +1 -1
  204. package/dist/esm/components-page/{stack-handler-client.d.ts → hexclave-handler-client.d.ts} +15 -4
  205. package/dist/esm/components-page/hexclave-handler-client.d.ts.map +1 -0
  206. package/dist/esm/components-page/{stack-handler-client.js → hexclave-handler-client.js} +59 -24
  207. package/dist/esm/components-page/hexclave-handler-client.js.map +1 -0
  208. package/dist/esm/components-page/hexclave-handler-client.test.js +51 -0
  209. package/dist/esm/components-page/hexclave-handler-client.test.js.map +1 -0
  210. package/dist/esm/components-page/{stack-handler.d.ts → hexclave-handler.d.ts} +5 -5
  211. package/dist/esm/components-page/hexclave-handler.d.ts.map +1 -0
  212. package/dist/esm/components-page/{stack-handler.js → hexclave-handler.js} +4 -4
  213. package/dist/esm/components-page/hexclave-handler.js.map +1 -0
  214. package/dist/esm/components-page/magic-link-callback.js +7 -7
  215. package/dist/esm/components-page/magic-link-callback.js.map +1 -1
  216. package/dist/esm/components-page/mfa.js +4 -4
  217. package/dist/esm/components-page/mfa.js.map +1 -1
  218. package/dist/esm/components-page/oauth-callback.js +3 -3
  219. package/dist/esm/components-page/oauth-callback.js.map +1 -1
  220. package/dist/esm/components-page/onboarding.js +3 -3
  221. package/dist/esm/components-page/onboarding.js.map +1 -1
  222. package/dist/esm/components-page/password-reset.js +8 -8
  223. package/dist/esm/components-page/password-reset.js.map +1 -1
  224. package/dist/esm/components-page/sign-in.js.map +1 -1
  225. package/dist/esm/components-page/sign-out.d.ts +1 -0
  226. package/dist/esm/components-page/sign-out.d.ts.map +1 -1
  227. package/dist/esm/components-page/sign-out.js +11 -5
  228. package/dist/esm/components-page/sign-out.js.map +1 -1
  229. package/dist/esm/components-page/sign-up.js.map +1 -1
  230. package/dist/esm/components-page/team-creation.js.map +1 -1
  231. package/dist/esm/components-page/team-invitation.js +16 -16
  232. package/dist/esm/components-page/team-invitation.js.map +1 -1
  233. package/dist/esm/dev-tool/dev-tool-core.d.ts +1 -1
  234. package/dist/esm/dev-tool/dev-tool-core.js +12 -12
  235. package/dist/esm/dev-tool/dev-tool-core.js.map +1 -1
  236. package/dist/esm/dev-tool/dev-tool-styles.d.ts +1 -1
  237. package/dist/esm/dev-tool/dev-tool-styles.js +371 -371
  238. package/dist/esm/dev-tool/dev-tool-styles.js.map +1 -1
  239. package/dist/esm/dev-tool/dev-tool-trigger-position.js.map +1 -1
  240. package/dist/esm/dev-tool/dev-tool-trigger-position.test.js.map +1 -1
  241. package/dist/esm/dev-tool/index.d.ts +4 -4
  242. package/dist/esm/dev-tool/index.js +4 -4
  243. package/dist/esm/dev-tool/index.js.map +1 -1
  244. package/dist/esm/generated/env.d.ts +26 -0
  245. package/dist/esm/{lib → generated}/env.d.ts.map +1 -1
  246. package/dist/esm/generated/env.js +67 -0
  247. package/dist/esm/generated/env.js.map +1 -0
  248. package/dist/esm/generated/global-css.d.ts +1 -1
  249. package/dist/esm/generated/global-css.js +1 -1
  250. package/dist/esm/generated/global-css.js.map +1 -1
  251. package/dist/esm/generated/quetzal-translations.d.ts +2 -2
  252. package/dist/esm/generated/quetzal-translations.js.map +1 -1
  253. package/dist/esm/global.d.ts +8 -1
  254. package/dist/esm/global.d.ts.map +1 -0
  255. package/dist/esm/index.d.ts +4 -4
  256. package/dist/esm/index.js +3 -3
  257. package/dist/esm/integrations/convex/component/convex.config.js.map +1 -1
  258. package/dist/esm/integrations/convex.js +1 -1
  259. package/dist/esm/integrations/convex.js.map +1 -1
  260. package/dist/esm/lib/auth.js.map +1 -1
  261. package/dist/esm/lib/auth.test.js.map +1 -1
  262. package/dist/esm/lib/cookie.js +2 -2
  263. package/dist/esm/lib/cookie.js.map +1 -1
  264. package/dist/{lib/stack-app → esm/lib/hexclave-app}/api-keys/index.d.ts +2 -2
  265. package/dist/esm/lib/hexclave-app/api-keys/index.d.ts.map +1 -0
  266. package/dist/esm/lib/{stack-app → hexclave-app}/api-keys/index.js +1 -1
  267. package/dist/esm/lib/hexclave-app/api-keys/index.js.map +1 -0
  268. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/admin-app-impl.d.ts +6 -6
  269. package/dist/esm/lib/hexclave-app/apps/implementations/admin-app-impl.d.ts.map +1 -0
  270. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/admin-app-impl.js +7 -7
  271. package/dist/esm/lib/hexclave-app/apps/implementations/admin-app-impl.js.map +1 -0
  272. package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.cross-domain.test.js +381 -0
  273. package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.cross-domain.test.js.map +1 -0
  274. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/client-app-impl.d.ts +16 -14
  275. package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.d.ts.map +1 -0
  276. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/client-app-impl.js +76 -56
  277. package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.js.map +1 -0
  278. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/client-app-impl.oauth-prefetch.test.js +1 -1
  279. package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.oauth-prefetch.test.js.map +1 -0
  280. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/common.d.ts +11 -11
  281. package/dist/esm/lib/hexclave-app/apps/implementations/common.d.ts.map +1 -0
  282. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/common.js +34 -20
  283. package/dist/esm/lib/hexclave-app/apps/implementations/common.js.map +1 -0
  284. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/event-tracker.d.ts +1 -1
  285. package/dist/esm/lib/hexclave-app/apps/implementations/event-tracker.d.ts.map +1 -0
  286. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/event-tracker.js +1 -1
  287. package/dist/esm/lib/hexclave-app/apps/implementations/event-tracker.js.map +1 -0
  288. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/event-tracker.test.js +1 -1
  289. package/dist/esm/lib/hexclave-app/apps/implementations/event-tracker.test.js.map +1 -0
  290. package/dist/esm/lib/hexclave-app/apps/implementations/index.d.ts +9 -0
  291. package/dist/esm/lib/hexclave-app/apps/implementations/index.d.ts.map +1 -0
  292. package/dist/esm/lib/hexclave-app/apps/implementations/index.js +27 -0
  293. package/dist/esm/lib/hexclave-app/apps/implementations/index.js.map +1 -0
  294. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/redirect-page-urls.d.ts +1 -1
  295. package/dist/esm/lib/hexclave-app/apps/implementations/redirect-page-urls.d.ts.map +1 -0
  296. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/redirect-page-urls.js +1 -1
  297. package/dist/esm/lib/hexclave-app/apps/implementations/redirect-page-urls.js.map +1 -0
  298. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/server-app-impl.d.ts +4 -4
  299. package/dist/esm/lib/hexclave-app/apps/implementations/server-app-impl.d.ts.map +1 -0
  300. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/server-app-impl.js +7 -7
  301. package/dist/esm/lib/hexclave-app/apps/implementations/server-app-impl.js.map +1 -0
  302. package/dist/{lib/stack-app → esm/lib/hexclave-app}/apps/implementations/session-refresh-subscription.d.ts +1 -1
  303. package/dist/esm/lib/hexclave-app/apps/implementations/session-refresh-subscription.d.ts.map +1 -0
  304. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/session-refresh-subscription.js +1 -1
  305. package/dist/esm/lib/hexclave-app/apps/implementations/session-refresh-subscription.js.map +1 -0
  306. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/session-refresh-subscription.test.js +1 -1
  307. package/dist/esm/lib/hexclave-app/apps/implementations/session-refresh-subscription.test.js.map +1 -0
  308. package/dist/{lib/stack-app → esm/lib/hexclave-app}/apps/implementations/session-replay.d.ts +1 -1
  309. package/dist/esm/lib/hexclave-app/apps/implementations/session-replay.d.ts.map +1 -0
  310. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/session-replay.js +1 -1
  311. package/dist/esm/lib/hexclave-app/apps/implementations/session-replay.js.map +1 -0
  312. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/session-replay.test.js +1 -1
  313. package/dist/esm/lib/hexclave-app/apps/implementations/session-replay.test.js.map +1 -0
  314. package/dist/esm/lib/{stack-app → hexclave-app}/apps/interfaces/admin-app.d.ts +1 -1
  315. package/dist/esm/lib/hexclave-app/apps/interfaces/admin-app.d.ts.map +1 -0
  316. package/dist/esm/lib/{stack-app → hexclave-app}/apps/interfaces/admin-app.js +3 -3
  317. package/dist/esm/lib/hexclave-app/apps/interfaces/admin-app.js.map +1 -0
  318. package/dist/esm/lib/{stack-app → hexclave-app}/apps/interfaces/client-app.d.ts +4 -4
  319. package/dist/esm/lib/hexclave-app/apps/interfaces/client-app.d.ts.map +1 -0
  320. package/dist/esm/lib/{stack-app → hexclave-app}/apps/interfaces/client-app.js +3 -3
  321. package/dist/esm/lib/hexclave-app/apps/interfaces/client-app.js.map +1 -0
  322. package/dist/esm/lib/{stack-app → hexclave-app}/apps/interfaces/server-app.d.ts +1 -1
  323. package/dist/esm/lib/hexclave-app/apps/interfaces/server-app.d.ts.map +1 -0
  324. package/dist/esm/lib/{stack-app → hexclave-app}/apps/interfaces/server-app.js +3 -3
  325. package/dist/esm/lib/hexclave-app/apps/interfaces/server-app.js.map +1 -0
  326. package/dist/esm/lib/{stack-app → hexclave-app}/common.d.ts +7 -7
  327. package/dist/esm/lib/hexclave-app/common.d.ts.map +1 -0
  328. package/dist/esm/lib/hexclave-app/common.js +7 -0
  329. package/dist/esm/lib/hexclave-app/common.js.map +1 -0
  330. package/dist/esm/lib/{stack-app → hexclave-app}/connected-accounts/index.d.ts +1 -1
  331. package/dist/esm/lib/hexclave-app/connected-accounts/index.d.ts.map +1 -0
  332. package/dist/esm/lib/{stack-app → hexclave-app}/contact-channels/index.d.ts +1 -1
  333. package/dist/esm/lib/hexclave-app/contact-channels/index.d.ts.map +1 -0
  334. package/dist/esm/lib/{stack-app → hexclave-app}/contact-channels/index.js +1 -1
  335. package/dist/esm/lib/hexclave-app/contact-channels/index.js.map +1 -0
  336. package/dist/esm/lib/{stack-app → hexclave-app}/customers/index.d.ts +1 -1
  337. package/dist/esm/lib/hexclave-app/customers/index.d.ts.map +1 -0
  338. package/dist/esm/lib/{stack-app → hexclave-app}/data-vault/index.d.ts +1 -1
  339. package/dist/esm/lib/hexclave-app/data-vault/index.d.ts.map +1 -0
  340. package/dist/{lib/stack-app → esm/lib/hexclave-app}/email/index.d.ts +1 -1
  341. package/dist/esm/lib/hexclave-app/email/index.d.ts.map +1 -0
  342. package/dist/{lib/stack-app → esm/lib/hexclave-app}/email-templates/index.d.ts +1 -1
  343. package/dist/esm/lib/hexclave-app/email-templates/index.d.ts.map +1 -0
  344. package/dist/esm/lib/{stack-app → hexclave-app}/email-templates/index.js +1 -1
  345. package/dist/esm/lib/hexclave-app/email-templates/index.js.map +1 -0
  346. package/dist/esm/lib/{stack-app → hexclave-app}/index.d.ts +2 -2
  347. package/dist/esm/lib/{stack-app → hexclave-app}/index.js +2 -2
  348. package/dist/{lib/stack-app → esm/lib/hexclave-app}/internal-api-keys/index.d.ts +1 -1
  349. package/dist/esm/lib/hexclave-app/internal-api-keys/index.d.ts.map +1 -0
  350. package/dist/esm/lib/{stack-app → hexclave-app}/internal-api-keys/index.js +1 -1
  351. package/dist/esm/lib/hexclave-app/internal-api-keys/index.js.map +1 -0
  352. package/dist/{lib/stack-app → esm/lib/hexclave-app}/notification-categories/index.d.ts +1 -1
  353. package/dist/esm/lib/hexclave-app/notification-categories/index.d.ts.map +1 -0
  354. package/dist/{lib/stack-app → esm/lib/hexclave-app}/permissions/index.d.ts +1 -1
  355. package/dist/esm/lib/hexclave-app/permissions/index.d.ts.map +1 -0
  356. package/dist/esm/lib/{stack-app → hexclave-app}/permissions/index.js +1 -1
  357. package/dist/esm/lib/hexclave-app/permissions/index.js.map +1 -0
  358. package/dist/esm/lib/{stack-app → hexclave-app}/project-configs/index.d.ts +1 -1
  359. package/dist/esm/lib/hexclave-app/project-configs/index.d.ts.map +1 -0
  360. package/dist/esm/lib/{stack-app → hexclave-app}/projects/index.d.ts +1 -1
  361. package/dist/esm/lib/hexclave-app/projects/index.d.ts.map +1 -0
  362. package/dist/esm/lib/{stack-app → hexclave-app}/projects/index.js +1 -1
  363. package/dist/esm/lib/hexclave-app/projects/index.js.map +1 -0
  364. package/dist/{lib/stack-app → esm/lib/hexclave-app}/session-replays/index.d.ts +1 -1
  365. package/dist/esm/lib/hexclave-app/session-replays/index.d.ts.map +1 -0
  366. package/dist/esm/lib/{stack-app → hexclave-app}/teams/index.d.ts +1 -1
  367. package/dist/esm/lib/hexclave-app/teams/index.d.ts.map +1 -0
  368. package/dist/esm/lib/{stack-app → hexclave-app}/teams/index.js +1 -1
  369. package/dist/esm/lib/hexclave-app/teams/index.js.map +1 -0
  370. package/dist/esm/lib/{stack-app → hexclave-app}/url-targets.d.ts +1 -1
  371. package/dist/esm/lib/hexclave-app/url-targets.d.ts.map +1 -0
  372. package/dist/esm/lib/{stack-app → hexclave-app}/url-targets.js +26 -12
  373. package/dist/esm/lib/hexclave-app/url-targets.js.map +1 -0
  374. package/dist/esm/lib/{stack-app → hexclave-app}/url-targets.test.js +13 -1
  375. package/dist/esm/lib/hexclave-app/url-targets.test.js.map +1 -0
  376. package/dist/esm/lib/{stack-app → hexclave-app}/users/index.d.ts +1 -1
  377. package/dist/esm/lib/hexclave-app/users/index.d.ts.map +1 -0
  378. package/dist/esm/lib/{stack-app → hexclave-app}/users/index.js +1 -1
  379. package/dist/esm/lib/hexclave-app/users/index.js.map +1 -0
  380. package/dist/esm/lib/hooks.d.ts +1 -1
  381. package/dist/esm/lib/hooks.js +9 -9
  382. package/dist/esm/lib/hooks.js.map +1 -1
  383. package/dist/esm/lib/translations.js.map +1 -1
  384. package/dist/esm/providers/hexclave-context.d.ts +11 -0
  385. package/dist/esm/providers/hexclave-context.d.ts.map +1 -0
  386. package/dist/esm/providers/hexclave-context.js +12 -0
  387. package/dist/esm/providers/hexclave-context.js.map +1 -0
  388. package/dist/esm/providers/{stack-provider-client.d.ts → hexclave-provider-client.d.ts} +5 -5
  389. package/dist/esm/providers/hexclave-provider-client.d.ts.map +1 -0
  390. package/dist/esm/providers/hexclave-provider-client.js +30 -0
  391. package/dist/esm/providers/hexclave-provider-client.js.map +1 -0
  392. package/dist/esm/providers/{stack-provider.d.ts → hexclave-provider.d.ts} +3 -3
  393. package/dist/esm/providers/hexclave-provider.d.ts.map +1 -0
  394. package/dist/esm/providers/{stack-provider.js → hexclave-provider.js} +6 -6
  395. package/dist/esm/providers/hexclave-provider.js.map +1 -0
  396. package/dist/esm/providers/theme-provider.js.map +1 -1
  397. package/dist/esm/providers/translation-provider-client.js.map +1 -1
  398. package/dist/esm/providers/translation-provider.js.map +1 -1
  399. package/dist/esm/tanstack-start-server-context.d.ts +1 -1
  400. package/dist/esm/utils/browser-script.js.map +1 -1
  401. package/dist/esm/utils/constants.js.map +1 -1
  402. package/dist/esm/utils/url.js.map +1 -1
  403. package/dist/generated/env.d.ts +26 -0
  404. package/dist/{lib → generated}/env.d.ts.map +1 -1
  405. package/dist/generated/env.js +69 -0
  406. package/dist/generated/env.js.map +1 -0
  407. package/dist/generated/global-css.d.ts +1 -1
  408. package/dist/generated/global-css.js +1 -1
  409. package/dist/generated/global-css.js.map +1 -1
  410. package/dist/generated/quetzal-translations.d.ts +2 -2
  411. package/dist/generated/quetzal-translations.js.map +1 -1
  412. package/dist/global.d.ts +8 -1
  413. package/dist/global.d.ts.map +1 -0
  414. package/dist/index.d.ts +18 -18
  415. package/dist/index.js +9 -9
  416. package/dist/integrations/convex/component/convex.config.d.ts +2 -2
  417. package/dist/integrations/convex/component/convex.config.d.ts.map +1 -1
  418. package/dist/integrations/convex/component/convex.config.js.map +1 -1
  419. package/dist/integrations/convex.js +2 -2
  420. package/dist/integrations/convex.js.map +1 -1
  421. package/dist/lib/auth.js.map +1 -1
  422. package/dist/lib/auth.test.js.map +1 -1
  423. package/dist/lib/cookie.js +2 -2
  424. package/dist/lib/cookie.js.map +1 -1
  425. package/dist/{esm/lib/stack-app → lib/hexclave-app}/api-keys/index.d.ts +2 -2
  426. package/dist/{esm/lib/stack-app → lib/hexclave-app}/api-keys/index.d.ts.map +1 -1
  427. package/dist/lib/{stack-app → hexclave-app}/api-keys/index.js +1 -1
  428. package/dist/lib/hexclave-app/api-keys/index.js.map +1 -0
  429. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/admin-app-impl.d.ts +6 -6
  430. package/dist/lib/hexclave-app/apps/implementations/admin-app-impl.d.ts.map +1 -0
  431. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/admin-app-impl.js +5 -5
  432. package/dist/lib/hexclave-app/apps/implementations/admin-app-impl.js.map +1 -0
  433. package/dist/lib/hexclave-app/apps/implementations/client-app-impl.cross-domain.test.js +381 -0
  434. package/dist/lib/hexclave-app/apps/implementations/client-app-impl.cross-domain.test.js.map +1 -0
  435. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/client-app-impl.d.ts +16 -14
  436. package/dist/lib/hexclave-app/apps/implementations/client-app-impl.d.ts.map +1 -0
  437. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/client-app-impl.js +74 -54
  438. package/dist/lib/hexclave-app/apps/implementations/client-app-impl.js.map +1 -0
  439. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/client-app-impl.oauth-prefetch.test.js +1 -1
  440. package/dist/lib/hexclave-app/apps/implementations/client-app-impl.oauth-prefetch.test.js.map +1 -0
  441. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/common.d.ts +11 -11
  442. package/dist/lib/hexclave-app/apps/implementations/common.d.ts.map +1 -0
  443. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/common.js +33 -19
  444. package/dist/lib/hexclave-app/apps/implementations/common.js.map +1 -0
  445. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/event-tracker.d.ts +1 -1
  446. package/dist/{esm/lib/stack-app → lib/hexclave-app}/apps/implementations/event-tracker.d.ts.map +1 -1
  447. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/event-tracker.js +1 -1
  448. package/dist/lib/hexclave-app/apps/implementations/event-tracker.js.map +1 -0
  449. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/event-tracker.test.js +1 -1
  450. package/dist/lib/hexclave-app/apps/implementations/event-tracker.test.js.map +1 -0
  451. package/dist/lib/hexclave-app/apps/implementations/index.d.ts +9 -0
  452. package/dist/lib/hexclave-app/apps/implementations/index.d.ts.map +1 -0
  453. package/dist/lib/hexclave-app/apps/implementations/index.js +31 -0
  454. package/dist/lib/hexclave-app/apps/implementations/index.js.map +1 -0
  455. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/redirect-page-urls.d.ts +1 -1
  456. package/dist/{esm/lib/stack-app → lib/hexclave-app}/apps/implementations/redirect-page-urls.d.ts.map +1 -1
  457. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/redirect-page-urls.js +1 -1
  458. package/dist/lib/hexclave-app/apps/implementations/redirect-page-urls.js.map +1 -0
  459. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/server-app-impl.d.ts +4 -4
  460. package/dist/{esm/lib/stack-app → lib/hexclave-app}/apps/implementations/server-app-impl.d.ts.map +1 -1
  461. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/server-app-impl.js +6 -6
  462. package/dist/lib/hexclave-app/apps/implementations/server-app-impl.js.map +1 -0
  463. package/dist/{esm/lib/stack-app → lib/hexclave-app}/apps/implementations/session-refresh-subscription.d.ts +1 -1
  464. package/dist/{esm/lib/stack-app → lib/hexclave-app}/apps/implementations/session-refresh-subscription.d.ts.map +1 -1
  465. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/session-refresh-subscription.js +1 -1
  466. package/dist/lib/hexclave-app/apps/implementations/session-refresh-subscription.js.map +1 -0
  467. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/session-refresh-subscription.test.js +1 -1
  468. package/dist/lib/hexclave-app/apps/implementations/session-refresh-subscription.test.js.map +1 -0
  469. package/dist/{esm/lib/stack-app → lib/hexclave-app}/apps/implementations/session-replay.d.ts +1 -1
  470. package/dist/{esm/lib/stack-app → lib/hexclave-app}/apps/implementations/session-replay.d.ts.map +1 -1
  471. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/session-replay.js +1 -1
  472. package/dist/lib/hexclave-app/apps/implementations/session-replay.js.map +1 -0
  473. package/dist/lib/hexclave-app/apps/implementations/session-replay.test.d.ts +1 -0
  474. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/session-replay.test.js +1 -1
  475. package/dist/lib/hexclave-app/apps/implementations/session-replay.test.js.map +1 -0
  476. package/dist/lib/{stack-app → hexclave-app}/apps/interfaces/admin-app.d.ts +1 -1
  477. package/dist/{esm/lib/stack-app → lib/hexclave-app}/apps/interfaces/admin-app.d.ts.map +1 -1
  478. package/dist/lib/{stack-app → hexclave-app}/apps/interfaces/admin-app.js +2 -2
  479. package/dist/lib/hexclave-app/apps/interfaces/admin-app.js.map +1 -0
  480. package/dist/lib/{stack-app → hexclave-app}/apps/interfaces/client-app.d.ts +4 -4
  481. package/dist/{esm/lib/stack-app → lib/hexclave-app}/apps/interfaces/client-app.d.ts.map +1 -1
  482. package/dist/lib/{stack-app → hexclave-app}/apps/interfaces/client-app.js +2 -2
  483. package/dist/lib/hexclave-app/apps/interfaces/client-app.js.map +1 -0
  484. package/dist/lib/{stack-app → hexclave-app}/apps/interfaces/server-app.d.ts +2 -2
  485. package/dist/{esm/lib/stack-app → lib/hexclave-app}/apps/interfaces/server-app.d.ts.map +1 -1
  486. package/dist/lib/{stack-app → hexclave-app}/apps/interfaces/server-app.js +2 -2
  487. package/dist/lib/hexclave-app/apps/interfaces/server-app.js.map +1 -0
  488. package/dist/lib/{stack-app → hexclave-app}/common.d.ts +8 -8
  489. package/dist/{esm/lib/stack-app → lib/hexclave-app}/common.d.ts.map +1 -1
  490. package/dist/lib/hexclave-app/common.js +9 -0
  491. package/dist/lib/hexclave-app/common.js.map +1 -0
  492. package/dist/lib/{stack-app → hexclave-app}/connected-accounts/index.d.ts +1 -1
  493. package/dist/{esm/lib/stack-app → lib/hexclave-app}/connected-accounts/index.d.ts.map +1 -1
  494. package/dist/lib/{stack-app → hexclave-app}/contact-channels/index.d.ts +1 -1
  495. package/dist/{esm/lib/stack-app → lib/hexclave-app}/contact-channels/index.d.ts.map +1 -1
  496. package/dist/lib/{stack-app → hexclave-app}/contact-channels/index.js +1 -1
  497. package/dist/lib/hexclave-app/contact-channels/index.js.map +1 -0
  498. package/dist/lib/{stack-app → hexclave-app}/customers/index.d.ts +1 -1
  499. package/dist/{esm/lib/stack-app → lib/hexclave-app}/customers/index.d.ts.map +1 -1
  500. package/dist/lib/{stack-app → hexclave-app}/data-vault/index.d.ts +1 -1
  501. package/dist/{esm/lib/stack-app → lib/hexclave-app}/data-vault/index.d.ts.map +1 -1
  502. package/dist/{esm/lib/stack-app → lib/hexclave-app}/email/index.d.ts +1 -1
  503. package/dist/{esm/lib/stack-app → lib/hexclave-app}/email/index.d.ts.map +1 -1
  504. package/dist/{esm/lib/stack-app → lib/hexclave-app}/email-templates/index.d.ts +1 -1
  505. package/dist/{esm/lib/stack-app → lib/hexclave-app}/email-templates/index.d.ts.map +1 -1
  506. package/dist/lib/{stack-app → hexclave-app}/email-templates/index.js +1 -1
  507. package/dist/lib/hexclave-app/email-templates/index.js.map +1 -0
  508. package/dist/lib/{stack-app → hexclave-app}/index.d.ts +2 -2
  509. package/dist/lib/{stack-app → hexclave-app}/index.js +2 -2
  510. package/dist/{esm/lib/stack-app → lib/hexclave-app}/internal-api-keys/index.d.ts +1 -1
  511. package/dist/{esm/lib/stack-app → lib/hexclave-app}/internal-api-keys/index.d.ts.map +1 -1
  512. package/dist/lib/{stack-app → hexclave-app}/internal-api-keys/index.js +1 -1
  513. package/dist/lib/hexclave-app/internal-api-keys/index.js.map +1 -0
  514. package/dist/{esm/lib/stack-app → lib/hexclave-app}/notification-categories/index.d.ts +1 -1
  515. package/dist/{esm/lib/stack-app → lib/hexclave-app}/notification-categories/index.d.ts.map +1 -1
  516. package/dist/{esm/lib/stack-app → lib/hexclave-app}/permissions/index.d.ts +1 -1
  517. package/dist/{esm/lib/stack-app → lib/hexclave-app}/permissions/index.d.ts.map +1 -1
  518. package/dist/lib/{stack-app → hexclave-app}/permissions/index.js +1 -1
  519. package/dist/lib/hexclave-app/permissions/index.js.map +1 -0
  520. package/dist/lib/{stack-app → hexclave-app}/project-configs/index.d.ts +1 -1
  521. package/dist/{esm/lib/stack-app → lib/hexclave-app}/project-configs/index.d.ts.map +1 -1
  522. package/dist/lib/{stack-app → hexclave-app}/projects/index.d.ts +1 -1
  523. package/dist/{esm/lib/stack-app → lib/hexclave-app}/projects/index.d.ts.map +1 -1
  524. package/dist/lib/{stack-app → hexclave-app}/projects/index.js +1 -1
  525. package/dist/lib/hexclave-app/projects/index.js.map +1 -0
  526. package/dist/{esm/lib/stack-app → lib/hexclave-app}/session-replays/index.d.ts +1 -1
  527. package/dist/{esm/lib/stack-app → lib/hexclave-app}/session-replays/index.d.ts.map +1 -1
  528. package/dist/lib/{stack-app → hexclave-app}/teams/index.d.ts +1 -1
  529. package/dist/{esm/lib/stack-app → lib/hexclave-app}/teams/index.d.ts.map +1 -1
  530. package/dist/lib/{stack-app → hexclave-app}/teams/index.js +1 -1
  531. package/dist/lib/hexclave-app/teams/index.js.map +1 -0
  532. package/dist/lib/{stack-app → hexclave-app}/url-targets.d.ts +1 -1
  533. package/dist/{esm/lib/stack-app → lib/hexclave-app}/url-targets.d.ts.map +1 -1
  534. package/dist/lib/{stack-app → hexclave-app}/url-targets.js +26 -12
  535. package/dist/lib/hexclave-app/url-targets.js.map +1 -0
  536. package/dist/lib/hexclave-app/url-targets.test.d.ts +1 -0
  537. package/dist/lib/{stack-app → hexclave-app}/url-targets.test.js +13 -1
  538. package/dist/lib/hexclave-app/url-targets.test.js.map +1 -0
  539. package/dist/lib/{stack-app → hexclave-app}/users/index.d.ts +1 -1
  540. package/dist/{esm/lib/stack-app → lib/hexclave-app}/users/index.d.ts.map +1 -1
  541. package/dist/lib/{stack-app → hexclave-app}/users/index.js +1 -1
  542. package/dist/lib/hexclave-app/users/index.js.map +1 -0
  543. package/dist/lib/hooks.d.ts +3 -3
  544. package/dist/lib/hooks.d.ts.map +1 -1
  545. package/dist/lib/hooks.js +9 -9
  546. package/dist/lib/hooks.js.map +1 -1
  547. package/dist/lib/translations.js.map +1 -1
  548. package/dist/providers/hexclave-context.d.ts +11 -0
  549. package/dist/providers/hexclave-context.d.ts.map +1 -0
  550. package/dist/providers/hexclave-context.js +15 -0
  551. package/dist/providers/hexclave-context.js.map +1 -0
  552. package/dist/providers/{stack-provider-client.d.ts → hexclave-provider-client.d.ts} +5 -5
  553. package/dist/providers/hexclave-provider-client.d.ts.map +1 -0
  554. package/dist/providers/{stack-provider-client.js → hexclave-provider-client.js} +9 -9
  555. package/dist/providers/hexclave-provider-client.js.map +1 -0
  556. package/dist/providers/{stack-provider.d.ts → hexclave-provider.d.ts} +5 -5
  557. package/dist/providers/hexclave-provider.d.ts.map +1 -0
  558. package/dist/providers/{stack-provider.js → hexclave-provider.js} +6 -6
  559. package/dist/providers/hexclave-provider.js.map +1 -0
  560. package/dist/providers/theme-provider.js.map +1 -1
  561. package/dist/providers/translation-provider-client.js.map +1 -1
  562. package/dist/providers/translation-provider.js.map +1 -1
  563. package/dist/{storage-kTmOAWHW.d.ts → storage-CKzvsBxG.d.ts} +18 -18
  564. package/dist/{storage-kTmOAWHW.d.ts.map → storage-CKzvsBxG.d.ts.map} +1 -1
  565. package/dist/tanstack-start-server-context.d.ts +1 -1
  566. package/dist/utils/browser-script.js.map +1 -1
  567. package/dist/utils/constants.js.map +1 -1
  568. package/dist/utils/url.js.map +1 -1
  569. package/package.json +11 -8
  570. package/src/components/api-key-dialogs.tsx +173 -0
  571. package/src/components/api-key-table.tsx +127 -0
  572. package/src/components/credential-sign-in.tsx +83 -0
  573. package/src/components/credential-sign-up.tsx +108 -0
  574. package/src/components/elements/form-warning.tsx +17 -0
  575. package/src/components/elements/maybe-full-page.tsx +60 -0
  576. package/src/components/elements/separator-with-text.tsx +22 -0
  577. package/src/components/elements/sidebar-layout.tsx +136 -0
  578. package/src/components/elements/ssr-layout-effect.tsx +24 -0
  579. package/src/components/elements/user-avatar.tsx +32 -0
  580. package/src/components/link.tsx +40 -0
  581. package/src/components/magic-link-sign-in.tsx +143 -0
  582. package/src/components/message-cards/known-error-message-card.tsx +33 -0
  583. package/src/components/message-cards/message-card.tsx +46 -0
  584. package/src/components/message-cards/predefined-message-card.tsx +88 -0
  585. package/src/components/oauth-button-group.tsx +35 -0
  586. package/src/components/oauth-button.tsx +222 -0
  587. package/src/components/passkey-button.tsx +43 -0
  588. package/src/components/profile-image-editor.tsx +194 -0
  589. package/src/components/selected-team-switcher.tsx +97 -0
  590. package/src/components/team-icon.tsx +30 -0
  591. package/src/components/team-switcher.tsx +191 -0
  592. package/src/components/use-in-iframe.tsx +18 -0
  593. package/src/components/user-button.tsx +157 -0
  594. package/src/components-page/account-settings/active-sessions/active-sessions-page.tsx +238 -0
  595. package/src/components-page/account-settings/api-keys/api-keys-page.tsx +157 -0
  596. package/src/components-page/account-settings/editable-text.tsx +53 -0
  597. package/src/components-page/account-settings/email-and-auth/email-and-auth-page.tsx +24 -0
  598. package/src/components-page/account-settings/email-and-auth/emails-section.tsx +201 -0
  599. package/src/components-page/account-settings/email-and-auth/mfa-section.tsx +139 -0
  600. package/src/components-page/account-settings/email-and-auth/otp-section.tsx +102 -0
  601. package/src/components-page/account-settings/email-and-auth/passkey-section.tsx +112 -0
  602. package/src/components-page/account-settings/email-and-auth/password-section.tsx +174 -0
  603. package/src/components-page/account-settings/notifications/notifications-page.tsx +44 -0
  604. package/src/components-page/account-settings/page-layout.tsx +11 -0
  605. package/src/components-page/account-settings/payments/payments-page.tsx +73 -0
  606. package/src/components-page/account-settings/payments/payments-panel.tsx +543 -0
  607. package/src/components-page/account-settings/profile-page/profile-page.tsx +61 -0
  608. package/src/components-page/account-settings/section.tsx +26 -0
  609. package/src/components-page/account-settings/settings/delete-account-section.tsx +85 -0
  610. package/src/components-page/account-settings/settings/settings-page.tsx +19 -0
  611. package/src/components-page/account-settings/settings/sign-out-section.tsx +40 -0
  612. package/src/components-page/account-settings/teams/leave-team-section.tsx +57 -0
  613. package/src/components-page/account-settings/teams/team-api-keys-section.tsx +74 -0
  614. package/src/components-page/account-settings/teams/team-creation-page.tsx +92 -0
  615. package/src/components-page/account-settings/teams/team-display-name-section.tsx +31 -0
  616. package/src/components-page/account-settings/teams/team-member-invitation-section.tsx +128 -0
  617. package/src/components-page/account-settings/teams/team-member-list-section.tsx +59 -0
  618. package/src/components-page/account-settings/teams/team-page.tsx +28 -0
  619. package/src/components-page/account-settings/teams/team-profile-image-section.tsx +33 -0
  620. package/src/components-page/account-settings/teams/team-profile-user-section.tsx +29 -0
  621. package/src/components-page/account-settings.tsx +343 -0
  622. package/src/components-page/auth-page.tsx +206 -0
  623. package/src/components-page/cli-auth-confirm.test.tsx +204 -0
  624. package/src/components-page/cli-auth-confirm.tsx +278 -0
  625. package/src/components-page/email-verification.tsx +76 -0
  626. package/src/components-page/error-page.tsx +105 -0
  627. package/src/components-page/forgot-password.tsx +105 -0
  628. package/src/components-page/hexclave-handler-client.test.tsx +64 -0
  629. package/src/components-page/hexclave-handler-client.tsx +364 -0
  630. package/src/components-page/hexclave-handler.tsx +48 -0
  631. package/src/components-page/magic-link-callback.tsx +92 -0
  632. package/src/components-page/mfa.tsx +222 -0
  633. package/src/components-page/oauth-callback.tsx +78 -0
  634. package/src/components-page/onboarding.tsx +176 -0
  635. package/src/components-page/password-reset.tsx +185 -0
  636. package/src/components-page/section.tsx +27 -0
  637. package/src/components-page/sign-in.tsx +34 -0
  638. package/src/components-page/sign-out.tsx +37 -0
  639. package/src/components-page/sign-up.tsx +24 -0
  640. package/src/components-page/team-creation.tsx +78 -0
  641. package/src/components-page/team-invitation.tsx +150 -0
  642. package/src/dev-tool/dev-tool-core.ts +2460 -0
  643. package/src/dev-tool/dev-tool-styles.ts +2758 -0
  644. package/src/dev-tool/dev-tool-trigger-position.test.ts +113 -0
  645. package/src/dev-tool/dev-tool-trigger-position.ts +109 -0
  646. package/src/dev-tool/index.ts +149 -0
  647. package/src/generated/.gitignore +3 -0
  648. package/src/generated/quetzal-translations.ts +4312 -0
  649. package/src/global.css +13 -0
  650. package/src/global.d.ts +12 -0
  651. package/src/index.ts +39 -0
  652. package/src/integrations/convex/component/README.md +74 -0
  653. package/src/integrations/convex/component/convex.config.ts +9 -0
  654. package/src/integrations/convex.ts +28 -0
  655. package/src/lib/auth.test.ts +67 -0
  656. package/src/lib/auth.ts +175 -0
  657. package/src/lib/cookie.ts +421 -0
  658. package/src/lib/hexclave-app/api-keys/index.ts +73 -0
  659. package/src/lib/hexclave-app/apps/implementations/admin-app-impl.ts +1261 -0
  660. package/src/lib/hexclave-app/apps/implementations/client-app-impl.cross-domain.test.ts +454 -0
  661. package/src/lib/hexclave-app/apps/implementations/client-app-impl.oauth-prefetch.test.ts +36 -0
  662. package/src/lib/hexclave-app/apps/implementations/client-app-impl.ts +3956 -0
  663. package/src/lib/hexclave-app/apps/implementations/common.ts +264 -0
  664. package/src/lib/hexclave-app/apps/implementations/event-tracker.test.ts +105 -0
  665. package/src/lib/hexclave-app/apps/implementations/event-tracker.ts +306 -0
  666. package/src/lib/hexclave-app/apps/implementations/index.ts +35 -0
  667. package/src/lib/hexclave-app/apps/implementations/redirect-page-urls.ts +342 -0
  668. package/src/lib/hexclave-app/apps/implementations/server-app-impl.ts +1619 -0
  669. package/src/lib/hexclave-app/apps/implementations/session-refresh-subscription.test.ts +106 -0
  670. package/src/lib/hexclave-app/apps/implementations/session-refresh-subscription.ts +52 -0
  671. package/src/lib/hexclave-app/apps/implementations/session-replay.test.ts +33 -0
  672. package/src/lib/hexclave-app/apps/implementations/session-replay.ts +356 -0
  673. package/src/lib/hexclave-app/apps/index.ts +40 -0
  674. package/src/lib/hexclave-app/apps/interfaces/admin-app.ts +192 -0
  675. package/src/lib/hexclave-app/apps/interfaces/client-app.ts +180 -0
  676. package/src/lib/hexclave-app/apps/interfaces/server-app.ts +129 -0
  677. package/src/lib/hexclave-app/common.ts +216 -0
  678. package/src/lib/hexclave-app/connected-accounts/index.ts +49 -0
  679. package/src/lib/hexclave-app/contact-channels/index.ts +80 -0
  680. package/src/lib/hexclave-app/customers/index.ts +158 -0
  681. package/src/lib/hexclave-app/data-vault/index.ts +12 -0
  682. package/src/lib/hexclave-app/email/index.ts +280 -0
  683. package/src/lib/hexclave-app/email-templates/index.ts +24 -0
  684. package/src/lib/hexclave-app/index.ts +146 -0
  685. package/src/lib/hexclave-app/internal-api-keys/index.ts +55 -0
  686. package/src/lib/hexclave-app/notification-categories/index.ts +12 -0
  687. package/src/lib/hexclave-app/permissions/index.ts +75 -0
  688. package/src/lib/hexclave-app/project-configs/index.ts +103 -0
  689. package/src/lib/hexclave-app/projects/index.ts +236 -0
  690. package/src/lib/hexclave-app/session-replays/index.ts +72 -0
  691. package/src/lib/hexclave-app/teams/index.ts +206 -0
  692. package/src/lib/hexclave-app/url-targets.test.ts +270 -0
  693. package/src/lib/hexclave-app/url-targets.ts +413 -0
  694. package/src/lib/hexclave-app/users/index.ts +523 -0
  695. package/src/lib/hooks.tsx +63 -0
  696. package/src/lib/translations.tsx +23 -0
  697. package/src/providers/hexclave-context.tsx +20 -0
  698. package/src/providers/hexclave-provider-client.tsx +39 -0
  699. package/src/providers/hexclave-provider.tsx +48 -0
  700. package/src/providers/theme-provider.tsx +121 -0
  701. package/src/providers/translation-provider-client.tsx +35 -0
  702. package/src/providers/translation-provider.tsx +25 -0
  703. package/src/tanstack-start-server-context.d.ts +13 -0
  704. package/src/utils/browser-script.tsx +135 -0
  705. package/src/utils/constants.tsx +58 -0
  706. package/src/utils/url.ts +24 -0
  707. package/dist/components-page/stack-handler-client.d.ts.map +0 -1
  708. package/dist/components-page/stack-handler-client.js.map +0 -1
  709. package/dist/components-page/stack-handler.d.ts.map +0 -1
  710. package/dist/components-page/stack-handler.js.map +0 -1
  711. package/dist/esm/components-page/stack-handler-client.d.ts.map +0 -1
  712. package/dist/esm/components-page/stack-handler-client.js.map +0 -1
  713. package/dist/esm/components-page/stack-handler.d.ts.map +0 -1
  714. package/dist/esm/components-page/stack-handler.js.map +0 -1
  715. package/dist/esm/lib/env.d.ts +0 -42
  716. package/dist/esm/lib/env.js +0 -93
  717. package/dist/esm/lib/env.js.map +0 -1
  718. package/dist/esm/lib/stack-app/api-keys/index.js.map +0 -1
  719. package/dist/esm/lib/stack-app/apps/implementations/admin-app-impl.d.ts.map +0 -1
  720. package/dist/esm/lib/stack-app/apps/implementations/admin-app-impl.js.map +0 -1
  721. package/dist/esm/lib/stack-app/apps/implementations/client-app-impl.cross-domain.test.js +0 -121
  722. package/dist/esm/lib/stack-app/apps/implementations/client-app-impl.cross-domain.test.js.map +0 -1
  723. package/dist/esm/lib/stack-app/apps/implementations/client-app-impl.d.ts.map +0 -1
  724. package/dist/esm/lib/stack-app/apps/implementations/client-app-impl.js.map +0 -1
  725. package/dist/esm/lib/stack-app/apps/implementations/client-app-impl.oauth-prefetch.test.js.map +0 -1
  726. package/dist/esm/lib/stack-app/apps/implementations/common.d.ts.map +0 -1
  727. package/dist/esm/lib/stack-app/apps/implementations/common.js.map +0 -1
  728. package/dist/esm/lib/stack-app/apps/implementations/event-tracker.js.map +0 -1
  729. package/dist/esm/lib/stack-app/apps/implementations/event-tracker.test.js.map +0 -1
  730. package/dist/esm/lib/stack-app/apps/implementations/index.d.ts +0 -9
  731. package/dist/esm/lib/stack-app/apps/implementations/index.d.ts.map +0 -1
  732. package/dist/esm/lib/stack-app/apps/implementations/index.js +0 -27
  733. package/dist/esm/lib/stack-app/apps/implementations/index.js.map +0 -1
  734. package/dist/esm/lib/stack-app/apps/implementations/redirect-page-urls.js.map +0 -1
  735. package/dist/esm/lib/stack-app/apps/implementations/server-app-impl.js.map +0 -1
  736. package/dist/esm/lib/stack-app/apps/implementations/session-refresh-subscription.js.map +0 -1
  737. package/dist/esm/lib/stack-app/apps/implementations/session-refresh-subscription.test.js.map +0 -1
  738. package/dist/esm/lib/stack-app/apps/implementations/session-replay.js.map +0 -1
  739. package/dist/esm/lib/stack-app/apps/implementations/session-replay.test.js.map +0 -1
  740. package/dist/esm/lib/stack-app/apps/interfaces/admin-app.js.map +0 -1
  741. package/dist/esm/lib/stack-app/apps/interfaces/client-app.js.map +0 -1
  742. package/dist/esm/lib/stack-app/apps/interfaces/server-app.js.map +0 -1
  743. package/dist/esm/lib/stack-app/common.js +0 -7
  744. package/dist/esm/lib/stack-app/common.js.map +0 -1
  745. package/dist/esm/lib/stack-app/contact-channels/index.js.map +0 -1
  746. package/dist/esm/lib/stack-app/email-templates/index.js.map +0 -1
  747. package/dist/esm/lib/stack-app/internal-api-keys/index.js.map +0 -1
  748. package/dist/esm/lib/stack-app/permissions/index.js.map +0 -1
  749. package/dist/esm/lib/stack-app/projects/index.js.map +0 -1
  750. package/dist/esm/lib/stack-app/teams/index.js.map +0 -1
  751. package/dist/esm/lib/stack-app/url-targets.js.map +0 -1
  752. package/dist/esm/lib/stack-app/url-targets.test.js.map +0 -1
  753. package/dist/esm/lib/stack-app/users/index.js.map +0 -1
  754. package/dist/esm/providers/stack-context.d.ts +0 -11
  755. package/dist/esm/providers/stack-context.d.ts.map +0 -1
  756. package/dist/esm/providers/stack-context.js +0 -12
  757. package/dist/esm/providers/stack-context.js.map +0 -1
  758. package/dist/esm/providers/stack-provider-client.d.ts.map +0 -1
  759. package/dist/esm/providers/stack-provider-client.js +0 -30
  760. package/dist/esm/providers/stack-provider-client.js.map +0 -1
  761. package/dist/esm/providers/stack-provider.d.ts.map +0 -1
  762. package/dist/esm/providers/stack-provider.js.map +0 -1
  763. package/dist/lib/env.d.ts +0 -42
  764. package/dist/lib/env.js +0 -95
  765. package/dist/lib/env.js.map +0 -1
  766. package/dist/lib/stack-app/api-keys/index.d.ts.map +0 -1
  767. package/dist/lib/stack-app/api-keys/index.js.map +0 -1
  768. package/dist/lib/stack-app/apps/implementations/admin-app-impl.d.ts.map +0 -1
  769. package/dist/lib/stack-app/apps/implementations/admin-app-impl.js.map +0 -1
  770. package/dist/lib/stack-app/apps/implementations/client-app-impl.cross-domain.test.js +0 -121
  771. package/dist/lib/stack-app/apps/implementations/client-app-impl.cross-domain.test.js.map +0 -1
  772. package/dist/lib/stack-app/apps/implementations/client-app-impl.d.ts.map +0 -1
  773. package/dist/lib/stack-app/apps/implementations/client-app-impl.js.map +0 -1
  774. package/dist/lib/stack-app/apps/implementations/client-app-impl.oauth-prefetch.test.js.map +0 -1
  775. package/dist/lib/stack-app/apps/implementations/common.d.ts.map +0 -1
  776. package/dist/lib/stack-app/apps/implementations/common.js.map +0 -1
  777. package/dist/lib/stack-app/apps/implementations/event-tracker.d.ts.map +0 -1
  778. package/dist/lib/stack-app/apps/implementations/event-tracker.js.map +0 -1
  779. package/dist/lib/stack-app/apps/implementations/event-tracker.test.js.map +0 -1
  780. package/dist/lib/stack-app/apps/implementations/index.d.ts +0 -9
  781. package/dist/lib/stack-app/apps/implementations/index.d.ts.map +0 -1
  782. package/dist/lib/stack-app/apps/implementations/index.js +0 -31
  783. package/dist/lib/stack-app/apps/implementations/index.js.map +0 -1
  784. package/dist/lib/stack-app/apps/implementations/redirect-page-urls.d.ts.map +0 -1
  785. package/dist/lib/stack-app/apps/implementations/redirect-page-urls.js.map +0 -1
  786. package/dist/lib/stack-app/apps/implementations/server-app-impl.d.ts.map +0 -1
  787. package/dist/lib/stack-app/apps/implementations/server-app-impl.js.map +0 -1
  788. package/dist/lib/stack-app/apps/implementations/session-refresh-subscription.d.ts.map +0 -1
  789. package/dist/lib/stack-app/apps/implementations/session-refresh-subscription.js.map +0 -1
  790. package/dist/lib/stack-app/apps/implementations/session-refresh-subscription.test.js.map +0 -1
  791. package/dist/lib/stack-app/apps/implementations/session-replay.d.ts.map +0 -1
  792. package/dist/lib/stack-app/apps/implementations/session-replay.js.map +0 -1
  793. package/dist/lib/stack-app/apps/implementations/session-replay.test.js.map +0 -1
  794. package/dist/lib/stack-app/apps/interfaces/admin-app.d.ts.map +0 -1
  795. package/dist/lib/stack-app/apps/interfaces/admin-app.js.map +0 -1
  796. package/dist/lib/stack-app/apps/interfaces/client-app.d.ts.map +0 -1
  797. package/dist/lib/stack-app/apps/interfaces/client-app.js.map +0 -1
  798. package/dist/lib/stack-app/apps/interfaces/server-app.d.ts.map +0 -1
  799. package/dist/lib/stack-app/apps/interfaces/server-app.js.map +0 -1
  800. package/dist/lib/stack-app/common.d.ts.map +0 -1
  801. package/dist/lib/stack-app/common.js +0 -9
  802. package/dist/lib/stack-app/common.js.map +0 -1
  803. package/dist/lib/stack-app/connected-accounts/index.d.ts.map +0 -1
  804. package/dist/lib/stack-app/contact-channels/index.d.ts.map +0 -1
  805. package/dist/lib/stack-app/contact-channels/index.js.map +0 -1
  806. package/dist/lib/stack-app/customers/index.d.ts.map +0 -1
  807. package/dist/lib/stack-app/data-vault/index.d.ts.map +0 -1
  808. package/dist/lib/stack-app/email/index.d.ts.map +0 -1
  809. package/dist/lib/stack-app/email-templates/index.d.ts.map +0 -1
  810. package/dist/lib/stack-app/email-templates/index.js.map +0 -1
  811. package/dist/lib/stack-app/internal-api-keys/index.d.ts.map +0 -1
  812. package/dist/lib/stack-app/internal-api-keys/index.js.map +0 -1
  813. package/dist/lib/stack-app/notification-categories/index.d.ts.map +0 -1
  814. package/dist/lib/stack-app/permissions/index.d.ts.map +0 -1
  815. package/dist/lib/stack-app/permissions/index.js.map +0 -1
  816. package/dist/lib/stack-app/project-configs/index.d.ts.map +0 -1
  817. package/dist/lib/stack-app/projects/index.d.ts.map +0 -1
  818. package/dist/lib/stack-app/projects/index.js.map +0 -1
  819. package/dist/lib/stack-app/session-replays/index.d.ts.map +0 -1
  820. package/dist/lib/stack-app/teams/index.d.ts.map +0 -1
  821. package/dist/lib/stack-app/teams/index.js.map +0 -1
  822. package/dist/lib/stack-app/url-targets.d.ts.map +0 -1
  823. package/dist/lib/stack-app/url-targets.js.map +0 -1
  824. package/dist/lib/stack-app/url-targets.test.js.map +0 -1
  825. package/dist/lib/stack-app/users/index.d.ts.map +0 -1
  826. package/dist/lib/stack-app/users/index.js.map +0 -1
  827. package/dist/providers/stack-context.d.ts +0 -11
  828. package/dist/providers/stack-context.d.ts.map +0 -1
  829. package/dist/providers/stack-context.js +0 -15
  830. package/dist/providers/stack-context.js.map +0 -1
  831. package/dist/providers/stack-provider-client.d.ts.map +0 -1
  832. package/dist/providers/stack-provider-client.js.map +0 -1
  833. package/dist/providers/stack-provider.d.ts.map +0 -1
  834. package/dist/providers/stack-provider.js.map +0 -1
  835. /package/dist/{esm/lib/stack-app/apps/implementations/client-app-impl.cross-domain.test.d.ts → components-page/hexclave-handler-client.test.d.ts} +0 -0
  836. /package/dist/esm/{lib/stack-app/apps/implementations/client-app-impl.oauth-prefetch.test.d.ts → components-page/hexclave-handler-client.test.d.ts} +0 -0
  837. /package/dist/{lib/stack-app → esm/lib/hexclave-app}/apps/implementations/client-app-impl.cross-domain.test.d.ts +0 -0
  838. /package/dist/{lib/stack-app → esm/lib/hexclave-app}/apps/implementations/client-app-impl.oauth-prefetch.test.d.ts +0 -0
  839. /package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/event-tracker.test.d.ts +0 -0
  840. /package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/session-refresh-subscription.test.d.ts +0 -0
  841. /package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/session-replay.test.d.ts +0 -0
  842. /package/dist/esm/lib/{stack-app → hexclave-app}/apps/index.d.ts +0 -0
  843. /package/dist/esm/lib/{stack-app → hexclave-app}/apps/index.js +0 -0
  844. /package/dist/esm/lib/{stack-app → hexclave-app}/connected-accounts/index.js +0 -0
  845. /package/dist/esm/lib/{stack-app → hexclave-app}/customers/index.js +0 -0
  846. /package/dist/esm/lib/{stack-app → hexclave-app}/data-vault/index.js +0 -0
  847. /package/dist/esm/lib/{stack-app → hexclave-app}/email/index.js +0 -0
  848. /package/dist/esm/lib/{stack-app → hexclave-app}/notification-categories/index.js +0 -0
  849. /package/dist/esm/lib/{stack-app → hexclave-app}/project-configs/index.js +0 -0
  850. /package/dist/esm/lib/{stack-app → hexclave-app}/session-replays/index.js +0 -0
  851. /package/dist/esm/lib/{stack-app → hexclave-app}/url-targets.test.d.ts +0 -0
  852. /package/dist/lib/{stack-app/apps/implementations/event-tracker.test.d.ts → hexclave-app/apps/implementations/client-app-impl.cross-domain.test.d.ts} +0 -0
  853. /package/dist/lib/{stack-app/apps/implementations/session-refresh-subscription.test.d.ts → hexclave-app/apps/implementations/client-app-impl.oauth-prefetch.test.d.ts} +0 -0
  854. /package/dist/lib/{stack-app/apps/implementations/session-replay.test.d.ts → hexclave-app/apps/implementations/event-tracker.test.d.ts} +0 -0
  855. /package/dist/lib/{stack-app/url-targets.test.d.ts → hexclave-app/apps/implementations/session-refresh-subscription.test.d.ts} +0 -0
  856. /package/dist/lib/{stack-app → hexclave-app}/apps/index.d.ts +0 -0
  857. /package/dist/lib/{stack-app → hexclave-app}/apps/index.js +0 -0
  858. /package/dist/lib/{stack-app → hexclave-app}/connected-accounts/index.js +0 -0
  859. /package/dist/lib/{stack-app → hexclave-app}/customers/index.js +0 -0
  860. /package/dist/lib/{stack-app → hexclave-app}/data-vault/index.js +0 -0
  861. /package/dist/lib/{stack-app → hexclave-app}/email/index.js +0 -0
  862. /package/dist/lib/{stack-app → hexclave-app}/notification-categories/index.js +0 -0
  863. /package/dist/lib/{stack-app → hexclave-app}/project-configs/index.js +0 -0
  864. /package/dist/lib/{stack-app → hexclave-app}/session-replays/index.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"email-verification.js","names":["React","MessageCard","KnownErrors"],"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,kDAAsB;CAC9B,MAAM,yCAAwB;AACjB,2BAAS;CACtB,MAAM,CAAC,QAAQ,aAAaA,cAAM,SAAkE,KAAK;CAEzG,MAAM,aACJ,2CAACC;EAAY,OAAO,EAAE,4BAA4B;EAAE,UAAU,CAAC,CAAC,MAAM;YACpE,2CAAC,iBAAG,EAAE,qGAAqG,GAAK;GACpG;CAGhB,MAAM,aACJ,2CAACA;EAAY,OAAO,EAAE,4BAA4B;EAAE,UAAU,CAAC,CAAC,MAAM;YACpE,2CAAC,iBAAG,EAAE,+GAA+G,GAAK;GAC9G;AAGhB,KAAI,CAAC,MAAM,cAAc,KACvB,QAAO;AAGT,KAAI,CAAC,OACH,QAAO,2CAACA;EACN,OAAO,EAAE,oCAAoC;EAC7C,UAAU,CAAC,CAAC,MAAM;EAClB,mBAAmB,EAAE,SAAS;EAC9B,eAAe,YAAY;AAEzB,aADe,MAAM,SAAS,YAAY,MAAM,cAAc,yDAAiB,gCAAgC,CAAC,CAC/F;;EAEnB,qBAAqB,EAAE,SAAS;EAChC,iBAAiB,YAAY;AAC3B,SAAM,SAAS,gBAAgB;;GAEjC;MACG;AACL,MAAI,OAAO,WAAW,QACpB,KAAIC,6BAAY,yBAAyB,WAAW,OAAO,MAAM,CAC/D,QAAO;WACEA,6BAAY,wBAAwB,WAAW,OAAO,MAAM,CACrE,QAAO;WACEA,6BAAY,4BAA4B,WAAW,OAAO,MAAM,EAAE,OAG3E,OAAM,OAAO;AAIjB,SAAO,2CAACD;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":["React","MessageCard","KnownErrors"],"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,kDAAsB;CAC9B,MAAM,4CAA2B;AACpB,2BAAS;CACtB,MAAM,CAAC,QAAQ,aAAaA,cAAM,SAAqE,KAAK;CAE5G,MAAM,aACJ,2CAACC;EAAY,OAAO,EAAE,4BAA4B;EAAE,UAAU,CAAC,CAAC,MAAM;YACpE,2CAAC,iBAAG,EAAE,qGAAqG,GAAK;GACpG;CAGhB,MAAM,aACJ,2CAACA;EAAY,OAAO,EAAE,4BAA4B;EAAE,UAAU,CAAC,CAAC,MAAM;YACpE,2CAAC,iBAAG,EAAE,+GAA+G,GAAK;GAC9G;AAGhB,KAAI,CAAC,MAAM,cAAc,KACvB,QAAO;AAGT,KAAI,CAAC,OACH,QAAO,2CAACA;EACN,OAAO,EAAE,oCAAoC;EAC7C,UAAU,CAAC,CAAC,MAAM;EAClB,mBAAmB,EAAE,SAAS;EAC9B,eAAe,YAAY;AAEzB,aADe,MAAM,YAAY,YAAY,MAAM,cAAc,yDAAiB,gCAAgC,CAAC,CAClG;;EAEnB,qBAAqB,EAAE,SAAS;EAChC,iBAAiB,YAAY;AAC3B,SAAM,YAAY,gBAAgB;;GAEpC;MACG;AACL,MAAI,OAAO,WAAW,QACpB,KAAIC,6BAAY,yBAAyB,WAAW,OAAO,MAAM,CAC/D,QAAO;WACEA,6BAAY,wBAAwB,WAAW,OAAO,MAAM,CACrE,QAAO;WACEA,6BAAY,4BAA4B,WAAW,OAAO,MAAM,EAAE,OAG3E,OAAM,OAAO;AAIjB,SAAO,2CAACD;GACN,OAAO,EAAE,+BAA+B;GACxC,UAAU,CAAC,CAAC,MAAM;GAClB,mBAAmB,EAAE,UAAU;GAC/B,eAAe,YAAY;AACzB,UAAM,YAAY,gBAAgB;;IAEpC"}
@@ -7,14 +7,14 @@ let ___index_js = require("../index.js");
7
7
  let ___lib_translations_js = require("../lib/translations.js");
8
8
  let react_jsx_runtime = require("react/jsx-runtime");
9
9
  let _hexclave_shared = require("@hexclave/shared");
10
- let ___components_message_cards_predefined_message_card_js = require("../components/message-cards/predefined-message-card.js");
11
- let ___components_message_cards_message_card_js = require("../components/message-cards/message-card.js");
12
10
  let ___components_message_cards_known_error_message_card_js = require("../components/message-cards/known-error-message-card.js");
11
+ let ___components_message_cards_message_card_js = require("../components/message-cards/message-card.js");
12
+ let ___components_message_cards_predefined_message_card_js = require("../components/message-cards/predefined-message-card.js");
13
13
 
14
14
  //#region src/components-page/error-page.tsx
15
15
  function ErrorPage(props) {
16
16
  const { t } = (0, ___lib_translations_js.useTranslation)();
17
- const stackApp = (0, ___index_js.useStackApp)();
17
+ const hexclaveApp = (0, ___index_js.useStackApp)();
18
18
  const errorCode = props.searchParams.errorCode;
19
19
  const message = props.searchParams.message;
20
20
  const details = props.searchParams.details;
@@ -38,32 +38,32 @@ function ErrorPage(props) {
38
38
  title: t("Failed to connect account"),
39
39
  fullPage: !!props.fullPage,
40
40
  primaryButtonText: t("Go Home"),
41
- primaryAction: () => stackApp.redirectToHome(),
41
+ primaryAction: () => hexclaveApp.redirectToHome(),
42
42
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_hexclave_ui.Typography, { children: t("This account is already connected to another user. Please connect a different account.") })
43
43
  });
44
44
  if (_hexclave_shared.KnownErrors.UserAlreadyConnectedToAnotherOAuthConnection.isInstance(error)) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(___components_message_cards_message_card_js.MessageCard, {
45
45
  title: t("Failed to connect account"),
46
46
  fullPage: !!props.fullPage,
47
47
  primaryButtonText: t("Go Home"),
48
- primaryAction: () => stackApp.redirectToHome(),
48
+ primaryAction: () => hexclaveApp.redirectToHome(),
49
49
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_hexclave_ui.Typography, { children: t("The user is already connected to another OAuth account. Did you maybe selected the wrong account on the OAuth provider page?") })
50
50
  });
51
51
  if (_hexclave_shared.KnownErrors.OAuthProviderAccessDenied.isInstance(error)) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(___components_message_cards_message_card_js.MessageCard, {
52
52
  title: t("OAuth provider access denied"),
53
53
  fullPage: !!props.fullPage,
54
54
  primaryButtonText: t("Sign in again"),
55
- primaryAction: () => stackApp.redirectToSignIn(),
55
+ primaryAction: () => hexclaveApp.redirectToSignIn(),
56
56
  secondaryButtonText: t("Go Home"),
57
- secondaryAction: () => stackApp.redirectToHome(),
57
+ secondaryAction: () => hexclaveApp.redirectToHome(),
58
58
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_hexclave_ui.Typography, { children: t("The sign-in operation has been cancelled or denied. Please try again.") })
59
59
  });
60
60
  if (_hexclave_shared.KnownErrors.OAuthProviderTemporarilyUnavailable.isInstance(error)) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(___components_message_cards_message_card_js.MessageCard, {
61
61
  title: t("OAuth provider is temporarily unavailable"),
62
62
  fullPage: !!props.fullPage,
63
63
  primaryButtonText: t("Try again"),
64
- primaryAction: () => stackApp.redirectToSignIn(),
64
+ primaryAction: () => hexclaveApp.redirectToSignIn(),
65
65
  secondaryButtonText: t("Go Home"),
66
- secondaryAction: () => stackApp.redirectToHome(),
66
+ secondaryAction: () => hexclaveApp.redirectToHome(),
67
67
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_hexclave_ui.Typography, { children: t("The OAuth provider could not complete sign-in right now. Please try again in a moment.") })
68
68
  });
69
69
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(___components_message_cards_known_error_message_card_js.KnownErrorMessageCard, {
@@ -1 +1 @@
1
- {"version":3,"file":"error-page.js","names":["PredefinedMessageCard","KnownError","KnownErrors","MessageCard","Typography","KnownErrorMessageCard"],"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,kDAAsB;CAC9B,MAAM,yCAAwB;CAC9B,MAAM,YAAY,MAAM,aAAa;CACrC,MAAM,UAAU,MAAM,aAAa;CACnC,MAAM,UAAU,MAAM,aAAa;CAEnC,MAAM,mBAAmB,2CAACA;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,UAAQC,4BAAW,SAAS;GAAE,MAAM;GAAW;GAAS,SAAS;GAAY,CAAC;UACvE,GAAG;AACV,SAAO;;AAGT,KAAIC,6BAAY,6CAA6C,WAAW,MAAM,CAE5E,QACE,2CAACC;EACC,OAAO,EAAE,4BAA4B;EACrC,UAAU,CAAC,CAAC,MAAM;EAClB,mBAAmB,EAAE,UAAU;EAC/B,qBAAqB,SAAS,gBAAgB;YAE9C,2CAACC,qCACE,EAAE,yFAAyF,GACjF;GACD;AAIlB,KAAIF,6BAAY,6CAA6C,WAAW,MAAM,CAE5E,QACE,2CAACC;EACC,OAAO,EAAE,4BAA4B;EACrC,UAAU,CAAC,CAAC,MAAM;EAClB,mBAAmB,EAAE,UAAU;EAC/B,qBAAqB,SAAS,gBAAgB;YAE9C,2CAACC,qCACE,EAAE,+HAA+H,GACvH;GACD;AAIlB,KAAIF,6BAAY,0BAA0B,WAAW,MAAM,CACzD,QACE,2CAACC;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,2CAACC,qCACE,EAAE,wEAAwE,GAChE;GACD;AAIlB,KAAIF,6BAAY,oCAAoC,WAAW,MAAM,CACnE,QACE,2CAACC;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,2CAACC,qCACE,EAAE,yFAAyF,GACjF;GACD;AAIlB,QAAO,2CAACC;EAA6B;EAAO,UAAU,CAAC,CAAC,MAAM;GAAY"}
1
+ {"version":3,"file":"error-page.js","names":["PredefinedMessageCard","KnownError","KnownErrors","MessageCard","Typography","KnownErrorMessageCard"],"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,kDAAsB;CAC9B,MAAM,4CAA2B;CACjC,MAAM,YAAY,MAAM,aAAa;CACrC,MAAM,UAAU,MAAM,aAAa;CACnC,MAAM,UAAU,MAAM,aAAa;CAEnC,MAAM,mBAAmB,2CAACA;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,UAAQC,4BAAW,SAAS;GAAE,MAAM;GAAW;GAAS,SAAS;GAAY,CAAC;UACvE,GAAG;AACV,SAAO;;AAGT,KAAIC,6BAAY,6CAA6C,WAAW,MAAM,CAE5E,QACE,2CAACC;EACC,OAAO,EAAE,4BAA4B;EACrC,UAAU,CAAC,CAAC,MAAM;EAClB,mBAAmB,EAAE,UAAU;EAC/B,qBAAqB,YAAY,gBAAgB;YAEjD,2CAACC,qCACE,EAAE,yFAAyF,GACjF;GACD;AAIlB,KAAIF,6BAAY,6CAA6C,WAAW,MAAM,CAE5E,QACE,2CAACC;EACC,OAAO,EAAE,4BAA4B;EACrC,UAAU,CAAC,CAAC,MAAM;EAClB,mBAAmB,EAAE,UAAU;EAC/B,qBAAqB,YAAY,gBAAgB;YAEjD,2CAACC,qCACE,EAAE,+HAA+H,GACvH;GACD;AAIlB,KAAIF,6BAAY,0BAA0B,WAAW,MAAM,CACzD,QACE,2CAACC;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,2CAACC,qCACE,EAAE,wEAAwE,GAChE;GACD;AAIlB,KAAIF,6BAAY,oCAAoC,WAAW,MAAM,CACnE,QACE,2CAACC;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,2CAACC,qCACE,EAAE,yFAAyF,GACjF;GACD;AAIlB,QAAO,2CAACC;EAA6B;EAAO,UAAU,CAAC,CAAC,MAAM;GAAY"}
@@ -20,13 +20,13 @@ let ___components_message_cards_predefined_message_card_js = require("../compone
20
20
  function ForgotPasswordForm({ onSent }) {
21
21
  const { t } = (0, ___lib_translations_js.useTranslation)();
22
22
  const { register, handleSubmit, formState: { errors }, clearErrors } = (0, react_hook_form.useForm)({ resolver: (0, _hookform_resolvers_yup.yupResolver)((0, _hexclave_shared_dist_schema_fields.yupObject)({ email: (0, _hexclave_shared_dist_schema_fields.strictEmailSchema)(t("Please enter a valid email")).defined().nonEmpty(t("Please enter your email")) })) });
23
- const stackApp = (0, ___index_js.useStackApp)();
23
+ const hexclaveApp = (0, ___index_js.useStackApp)();
24
24
  const [loading, setLoading] = (0, react.useState)(false);
25
25
  const onSubmit = async (data) => {
26
26
  setLoading(true);
27
27
  try {
28
28
  const { email } = data;
29
- await stackApp.sendForgotPasswordEmail(email);
29
+ await hexclaveApp.sendForgotPasswordEmail(email);
30
30
  onSent?.();
31
31
  } finally {
32
32
  setLoading(false);
@@ -61,7 +61,7 @@ function ForgotPasswordForm({ onSent }) {
61
61
  }
62
62
  function ForgotPassword(props) {
63
63
  const { t } = (0, ___lib_translations_js.useTranslation)();
64
- const stackApp = (0, ___index_js.useStackApp)();
64
+ const hexclaveApp = (0, ___index_js.useStackApp)();
65
65
  const user = (0, ___index_js.useUser)();
66
66
  const [sent, setSent] = (0, react.useState)(false);
67
67
  if (user) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(___components_message_cards_predefined_message_card_js.PredefinedMessageCard, {
@@ -85,7 +85,7 @@ function ForgotPassword(props) {
85
85
  t("Don't need to reset?"),
86
86
  " ",
87
87
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)(___components_link_js.StyledLink, {
88
- href: stackApp.urls["signIn"],
88
+ href: hexclaveApp.urls["signIn"],
89
89
  children: t("Sign in")
90
90
  })
91
91
  ] })]
@@ -1 +1 @@
1
- {"version":3,"file":"forgot-password.js","names":["Label","Input","FormWarningText","Button","PredefinedMessageCard","MaybeFullPage","Typography","StyledLink"],"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,kDAAsB;CAM9B,MAAM,EAAE,UAAU,cAAc,WAAW,EAAE,UAAU,6CAAwB,EAC7E,sGALuB,EACvB,kEAAyB,EAAE,6BAA6B,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE,0BAA0B,CAAC,EAC3G,CAAC,CAG6B,EAC9B,CAAC;CACF,MAAM,yCAAwB;CAC9B,MAAM,CAAC,SAAS,kCAAuB,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,4CAAC;EACC,WAAU;EACV,WAAU,2EAAgC,aAAa,SAAS,CAAC,EAAE,CAAC;EACpE;;GAEA,2CAACA;IAAM,SAAQ;IAAQ,WAAU;cAAQ,EAAE,aAAa;KAAS;GACjE,2CAACC;IACC,IAAG;IACH,MAAK;IACL,cAAa;IACb,GAAI,SAAS,QAAQ;IACrB,gBAAgB,YAAY,QAAQ;KACpC;GACF,2CAACC,0DAAgB,MAAM,OAAO,OAAO,SAAS,UAAU,GAAI;GAE5D,2CAACC;IAAO,MAAK;IAAS,WAAU;IAAgB;cAC7C,EAAE,aAAa;KACT;;GACJ;;AAKX,SAAgB,eAAe,OAA+B;CAC5D,MAAM,EAAE,kDAAsB;CAC9B,MAAM,yCAAwB;CAC9B,MAAM,iCAAgB;CACtB,MAAM,CAAC,MAAM,+BAAoB,MAAM;AAEvC,KAAI,KACF,QAAO,2CAACC;EAAsB,MAAK;EAAW,UAAU,CAAC,CAAC,MAAM;GAAY;AAG9E,KAAI,KACF,QAAO,2CAACA;EAAsB,MAAK;EAAY,UAAU,CAAC,CAAC,MAAM;GAAY;AAG/E,QACE,2CAACC;EAAc,UAAU,CAAC,CAAC,MAAM;YAC/B,4CAAC;GAAI,gCACH,gDACA,MAAM,WAAW,QAAQ,MAC1B;cACC,4CAAC;IAAI,WAAU;eACb,2CAACC;KAAW,MAAK;eAAM,EAAE,sBAAsB;MAAc,EAC7D,4CAACA;KACE,EAAE,uBAAuB;KAAE;KAC5B,2CAACC;MAAW,MAAM,SAAS,KAAK;gBAC7B,EAAE,UAAU;OACF;QACF;KACT,EACN,2CAAC;IAAI,WAAU;cACb,2CAAC,sBAAmB,cAAc,QAAQ,KAAK,GAAI;KAC/C;IACF;GACQ"}
1
+ {"version":3,"file":"forgot-password.js","names":["Label","Input","FormWarningText","Button","PredefinedMessageCard","MaybeFullPage","Typography","StyledLink"],"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,kDAAsB;CAM9B,MAAM,EAAE,UAAU,cAAc,WAAW,EAAE,UAAU,6CAAwB,EAC7E,sGALuB,EACvB,kEAAyB,EAAE,6BAA6B,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE,0BAA0B,CAAC,EAC3G,CAAC,CAG6B,EAC9B,CAAC;CACF,MAAM,4CAA2B;CACjC,MAAM,CAAC,SAAS,kCAAuB,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,4CAAC;EACC,WAAU;EACV,WAAU,2EAAgC,aAAa,SAAS,CAAC,EAAE,CAAC;EACpE;;GAEA,2CAACA;IAAM,SAAQ;IAAQ,WAAU;cAAQ,EAAE,aAAa;KAAS;GACjE,2CAACC;IACC,IAAG;IACH,MAAK;IACL,cAAa;IACb,GAAI,SAAS,QAAQ;IACrB,gBAAgB,YAAY,QAAQ;KACpC;GACF,2CAACC,0DAAgB,MAAM,OAAO,OAAO,SAAS,UAAU,GAAI;GAE5D,2CAACC;IAAO,MAAK;IAAS,WAAU;IAAgB;cAC7C,EAAE,aAAa;KACT;;GACJ;;AAKX,SAAgB,eAAe,OAA+B;CAC5D,MAAM,EAAE,kDAAsB;CAC9B,MAAM,4CAA2B;CACjC,MAAM,iCAAgB;CACtB,MAAM,CAAC,MAAM,+BAAoB,MAAM;AAEvC,KAAI,KACF,QAAO,2CAACC;EAAsB,MAAK;EAAW,UAAU,CAAC,CAAC,MAAM;GAAY;AAG9E,KAAI,KACF,QAAO,2CAACA;EAAsB,MAAK;EAAY,UAAU,CAAC,CAAC,MAAM;GAAY;AAG/E,QACE,2CAACC;EAAc,UAAU,CAAC,CAAC,MAAM;YAC/B,4CAAC;GAAI,gCACH,gDACA,MAAM,WAAW,QAAQ,MAC1B;cACC,4CAAC;IAAI,WAAU;eACb,2CAACC;KAAW,MAAK;eAAM,EAAE,sBAAsB;MAAc,EAC7D,4CAACA;KACE,EAAE,uBAAuB;KAAE;KAC5B,2CAACC;MAAW,MAAM,YAAY,KAAK;gBAChC,EAAE,UAAU;OACF;QACF;KACT,EACN,2CAAC;IAAI,WAAU;cACb,2CAAC,sBAAmB,cAAc,QAAQ,KAAK,GAAI;KAC/C;IACF;GACQ"}
@@ -1,4 +1,6 @@
1
1
  import { AccountSettings } from "./account-settings.js";
2
+ import { HandlerUrls } from "../lib/hexclave-app/common.js";
3
+ import { StackClientApp } from "../lib/hexclave-app/apps/interfaces/client-app.js";
2
4
  import { CliAuthConfirmation } from "./cli-auth-confirm.js";
3
5
  import { EmailVerification } from "./email-verification.js";
4
6
  import { ErrorPage } from "./error-page.js";
@@ -12,8 +14,9 @@ import { SignOut } from "./sign-out.js";
12
14
  import { TeamInvitation } from "./team-invitation.js";
13
15
  import { SignIn } from "./sign-in.js";
14
16
  import { SignUp } from "./sign-up.js";
17
+ import { KnownError } from "@hexclave/shared";
15
18
 
16
- //#region src/components-page/stack-handler-client.d.ts
19
+ //#region src/components-page/hexclave-handler-client.d.ts
17
20
  type Components = {
18
21
  SignIn: typeof SignIn;
19
22
  SignUp: typeof SignUp;
@@ -38,13 +41,22 @@ type RouteProps = {
38
41
  };
39
42
  searchParams: Promise<Record<string, string>> | Record<string, string>;
40
43
  };
44
+ type RedirectToPageResult = {
45
+ status: "success";
46
+ } | {
47
+ status: "known-error";
48
+ error: KnownError;
49
+ } | {
50
+ status: "unknown-error";
51
+ };
41
52
  type BaseHandlerProps = {
42
53
  fullPage: boolean;
43
54
  componentProps?: { [K in keyof Components]?: Parameters<Components[K]>[0] };
44
55
  };
45
- declare function StackHandlerClient(props: BaseHandlerProps & Partial<RouteProps> & {
56
+ declare function getRedirectToPageResult(app: StackClientApp, redirectToPage: keyof HandlerUrls): Promise<RedirectToPageResult>;
57
+ declare function HexclaveHandlerClient(props: BaseHandlerProps & Partial<RouteProps> & {
46
58
  location?: string;
47
59
  }): any;
48
60
  //#endregion
49
- export { BaseHandlerProps, StackHandlerClient };
50
- //# sourceMappingURL=stack-handler-client.d.ts.map
61
+ export { BaseHandlerProps, HexclaveHandlerClient, getRedirectToPageResult };
62
+ //# 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":";;;;;;;;;;;;;;;;;;;KAmCK,UAAA;EACH,MAAA,SAAe,MAAA;EACf,MAAA,SAAe,MAAA;EACf,iBAAA,SAA0B,iBAAA;EAC1B,aAAA,SAAsB,aAAA;EACtB,cAAA,SAAuB,cAAA;EACvB,OAAA,SAAgB,OAAA;EAChB,aAAA,SAAsB,aAAA;EACtB,iBAAA,SAA0B,iBAAA;EAC1B,cAAA,SAAuB,cAAA;EACvB,SAAA,SAAkB,SAAA;EAClB,eAAA,SAAwB,eAAA;EACxB,mBAAA,SAA4B,mBAAA;EAC5B,GAAA,SAAY,GAAA;EACZ,UAAA,SAAmB,UAAA;AAAA;AAAA,KAGhB,UAAA;EACH,MAAA,EAAQ,OAAA;IAAU,KAAA;EAAA;IAAwB,KAAA;EAAA;EAC1C,YAAA,EAAc,OAAA,CAAQ,MAAA,oBAA0B,MAAA;AAAA;AAAA,KAG7C,oBAAA;EACC,MAAA;AAAA;EACA,MAAA;EAAuB,KAAA,EAAO,UAAA;AAAA;EAC9B,MAAA;AAAA;AAAA,KA4BM,gBAAA;EACV,QAAA;EACA,cAAA,iBACc,UAAA,IAAc,UAAA,CAAW,UAAA,CAAW,CAAA;AAAA;AAAA,iBAgJ9B,uBAAA,CACpB,GAAA,EAAK,cAAA,EACL,cAAA,QAAsB,WAAA,GACrB,OAAA,CAAQ,oBAAA;AAAA,iBAiCK,qBAAA,CAAsB,KAAA,EAAO,gBAAA,GAAmB,OAAA,CAAQ,UAAA;EAAgB,QAAA;AAAA"}
@@ -3,18 +3,21 @@
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
  const require_chunk = require('../chunk-BE-pF4vm.js');
5
5
  let _hexclave_shared_dist_utils_errors = require("@hexclave/shared/dist/utils/errors");
6
- let _hexclave_shared_dist_utils_promises = require("@hexclave/shared/dist/utils/promises");
7
6
  let react = require("react");
8
7
  let ___index_js = require("../index.js");
9
8
  let react_jsx_runtime = require("react/jsx-runtime");
10
9
  let ___lib_hooks_js = require("../lib/hooks.js");
11
- let __cli_auth_confirm_js = require("./cli-auth-confirm.js");
10
+ let _hexclave_shared = require("@hexclave/shared");
11
+ let _hexclave_shared_dist_utils_react = require("@hexclave/shared/dist/utils/react");
12
+ let ___components_message_cards_known_error_message_card_js = require("../components/message-cards/known-error-message-card.js");
12
13
  let ___components_message_cards_message_card_js = require("../components/message-cards/message-card.js");
13
- let ___lib_stack_app_index_js = require("../lib/stack-app/index.js");
14
+ let ___components_message_cards_predefined_message_card_js = require("../components/message-cards/predefined-message-card.js");
15
+ let __cli_auth_confirm_js = require("./cli-auth-confirm.js");
16
+ let ___lib_hexclave_app_index_js = require("../lib/hexclave-app/index.js");
14
17
  let _hexclave_shared_dist_utils_objects = require("@hexclave/shared/dist/utils/objects");
15
18
  let _hexclave_shared_dist_utils_urls = require("@hexclave/shared/dist/utils/urls");
16
19
  let next_navigation = require("next/navigation");
17
- let ___lib_stack_app_url_targets_js = require("../lib/stack-app/url-targets.js");
20
+ let ___lib_hexclave_app_url_targets_js = require("../lib/hexclave-app/url-targets.js");
18
21
  let __account_settings_js = require("./account-settings.js");
19
22
  let __email_verification_js = require("./email-verification.js");
20
23
  let __error_page_js = require("./error-page.js");
@@ -27,7 +30,7 @@ let __password_reset_js = require("./password-reset.js");
27
30
  let __sign_out_js = require("./sign-out.js");
28
31
  let __team_invitation_js = require("./team-invitation.js");
29
32
 
30
- //#region src/components-page/stack-handler-client.tsx
33
+ //#region src/components-page/hexclave-handler-client.tsx
31
34
  const availablePaths = {
32
35
  signIn: "sign-in",
33
36
  signUp: "sign-up",
@@ -89,6 +92,7 @@ function renderComponent(props) {
89
92
  case availablePaths.signOut:
90
93
  if (shouldRedirectToPage?.("signOut")) return { redirectToPage: "signOut" };
91
94
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__sign_out_js.SignOut, {
95
+ searchParams,
92
96
  fullPage,
93
97
  ...filterUndefinedINU(componentProps?.SignOut)
94
98
  });
@@ -152,15 +156,43 @@ function renderComponent(props) {
152
156
  }
153
157
  }
154
158
  }
155
- function StackHandlerClient(props) {
156
- const stackApp = (0, ___lib_hooks_js.useStackApp)();
159
+ async function getRedirectToPageResult(app, redirectToPage) {
160
+ try {
161
+ await app[___lib_hexclave_app_index_js.hexclaveAppInternalsSymbol].redirectToHandler(redirectToPage, { replace: true });
162
+ return { status: "success" };
163
+ } catch (e) {
164
+ if (_hexclave_shared.KnownError.isKnownError(e)) return {
165
+ status: "known-error",
166
+ error: e
167
+ };
168
+ (0, _hexclave_shared_dist_utils_errors.captureError)("<HexclaveHandlerClient redirectToPage />", e);
169
+ return { status: "unknown-error" };
170
+ }
171
+ }
172
+ function RedirectToPage(props) {
173
+ const redirectResult = (0, _hexclave_shared_dist_utils_react.use)((0, react.useMemo)(() => getRedirectToPageResult(props.app, props.redirectToPage), [props.app, props.redirectToPage]));
174
+ if (redirectResult.status === "known-error") return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(___components_message_cards_known_error_message_card_js.KnownErrorMessageCard, {
175
+ error: redirectResult.error,
176
+ fullPage: props.fullPage
177
+ });
178
+ if (redirectResult.status === "unknown-error") return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(___components_message_cards_predefined_message_card_js.PredefinedMessageCard, {
179
+ type: "unknownError",
180
+ fullPage: props.fullPage
181
+ });
182
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(___components_message_cards_message_card_js.MessageCard, {
183
+ title: "Redirecting...",
184
+ fullPage: props.fullPage
185
+ });
186
+ }
187
+ function HexclaveHandlerClient(props) {
188
+ const hexclaveApp = (0, ___lib_hooks_js.useStackApp)();
157
189
  const clientOrigin = useClientOriginAfterHydration();
158
190
  const pathname = (0, next_navigation.usePathname)();
159
191
  const searchParamsFromHook = (0, next_navigation.useSearchParams)();
160
192
  const currentLocation = pathname;
161
193
  const searchParamsSource = searchParamsFromHook;
162
194
  const { path, searchParams, handlerPath } = (0, react.useMemo)(() => {
163
- const handlerPath = new URL(stackApp.urls.handler, "http://example.com").pathname;
195
+ const handlerPath = new URL(hexclaveApp.urls.handler, "http://example.com").pathname;
164
196
  return {
165
197
  path: currentLocation.startsWith(handlerPath) ? currentLocation.slice(handlerPath.length).replace(/^\/+/, "") : currentLocation.replace(/^\/+/, ""),
166
198
  searchParams: Object.fromEntries(searchParamsSource.entries()),
@@ -169,19 +201,19 @@ function StackHandlerClient(props) {
169
201
  }, [
170
202
  currentLocation,
171
203
  searchParamsSource,
172
- stackApp.urls.handler
204
+ hexclaveApp.urls.handler
173
205
  ]);
174
206
  const getDefaultUnknownPathUrl = (unknownPath) => {
175
- return (0, ___lib_stack_app_url_targets_js.resolveUnknownHandlerPathFallbackUrl)({
176
- defaultTarget: stackApp[___lib_stack_app_index_js.stackAppInternalsSymbol].getConstructorOptions().urls?.default,
177
- projectId: stackApp.projectId,
207
+ return (0, ___lib_hexclave_app_url_targets_js.resolveUnknownHandlerPathFallbackUrl)({
208
+ defaultTarget: hexclaveApp[___lib_hexclave_app_index_js.hexclaveAppInternalsSymbol].getConstructorOptions().urls?.default,
209
+ projectId: hexclaveApp.projectId,
178
210
  unknownPath
179
211
  });
180
212
  };
181
213
  const shouldRedirectToPage = (name) => {
182
- const url = stackApp.urls[name];
214
+ const url = hexclaveApp.urls[name];
183
215
  if (name === "oauthCallback" && searchParams.hexclave_cross_domain_auth === "1") return false;
184
- return !(0, ___lib_stack_app_url_targets_js.isLocalHandlerUrlTarget)({
216
+ return !(0, ___lib_hexclave_app_url_targets_js.isLocalHandlerUrlTarget)({
185
217
  targetUrl: url,
186
218
  handlerPath,
187
219
  currentOrigin: clientOrigin
@@ -195,16 +227,19 @@ function StackHandlerClient(props) {
195
227
  shouldRedirectToPage,
196
228
  getDefaultUnknownPathUrl,
197
229
  onNotFound: () => (0, next_navigation.notFound)(),
198
- app: stackApp
230
+ app: hexclaveApp
199
231
  });
200
232
  const redirectToPage = result != null && typeof result === "object" && "redirectToPage" in result ? result.redirectToPage : void 0;
201
- (0, react.useEffect)(() => {
202
- if (redirectToPage == null) return;
203
- (0, _hexclave_shared_dist_utils_promises.runAsynchronouslyWithAlert)(stackApp[___lib_stack_app_index_js.stackAppInternalsSymbol].redirectToHandler(redirectToPage, { replace: true }));
204
- }, [redirectToPage, stackApp]);
205
- if (redirectToPage != null) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(___components_message_cards_message_card_js.MessageCard, {
206
- title: "Redirecting...",
207
- fullPage: props.fullPage
233
+ if (redirectToPage != null) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react.Suspense, {
234
+ fallback: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(___components_message_cards_message_card_js.MessageCard, {
235
+ title: "Redirecting...",
236
+ fullPage: props.fullPage
237
+ }),
238
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(RedirectToPage, {
239
+ app: hexclaveApp,
240
+ redirectToPage,
241
+ fullPage: props.fullPage
242
+ })
208
243
  });
209
244
  if (result && "redirect" in result) (0, next_navigation.redirect)(result.redirect, next_navigation.RedirectType.replace);
210
245
  return result;
@@ -220,5 +255,6 @@ function useClientOriginAfterHydration() {
220
255
  }
221
256
 
222
257
  //#endregion
223
- exports.StackHandlerClient = StackHandlerClient;
224
- //# sourceMappingURL=stack-handler-client.js.map
258
+ exports.HexclaveHandlerClient = HexclaveHandlerClient;
259
+ exports.getRedirectToPageResult = getRedirectToPageResult;
260
+ //# sourceMappingURL=hexclave-handler-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hexclave-handler-client.js","names":["SignIn","SignUp","EmailVerification","PasswordReset","ForgotPassword","SignOut","OAuthCallback","MagicLinkCallback","TeamInvitation","AccountSettings","ErrorPage","CliAuthConfirmation","MFA","Onboarding","HexclaveAssertionError","hexclaveAppInternalsSymbol","KnownError","KnownErrorMessageCard","PredefinedMessageCard","MessageCard","Suspense","RedirectType"],"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 { KnownError } from \"@hexclave/shared\";\nimport { captureError, HexclaveAssertionError } from \"@hexclave/shared/dist/utils/errors\";\nimport { FilterUndefined, filterUndefined } from \"@hexclave/shared/dist/utils/objects\";\nimport { use } from \"@hexclave/shared/dist/utils/react\";\nimport { getRelativePart } from \"@hexclave/shared/dist/utils/urls\";\nimport { notFound, redirect, RedirectType, usePathname, useSearchParams } from 'next/navigation'; // THIS_LINE_PLATFORM next\nimport { Suspense, useMemo, useSyncExternalStore } 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 { 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\";\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\ntype RedirectToPageResult =\n | { status: \"success\" }\n | { status: \"known-error\", error: KnownError }\n | { status: \"unknown-error\" };\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 async function getRedirectToPageResult(\n app: StackClientApp,\n redirectToPage: keyof HandlerUrls,\n): Promise<RedirectToPageResult> {\n try {\n await app[hexclaveAppInternalsSymbol].redirectToHandler(redirectToPage, { replace: true });\n return { status: \"success\" };\n } catch (e) {\n if (KnownError.isKnownError(e)) {\n return { status: \"known-error\", error: e };\n }\n captureError(\"<HexclaveHandlerClient redirectToPage />\", e);\n return { status: \"unknown-error\" };\n }\n}\n\nfunction RedirectToPage(props: {\n app: StackClientApp,\n fullPage?: boolean,\n redirectToPage: keyof HandlerUrls,\n}) {\n const redirectResultPromise = useMemo(\n () => getRedirectToPageResult(props.app, props.redirectToPage),\n [props.app, props.redirectToPage],\n );\n\n const redirectResult = use(redirectResultPromise);\n if (redirectResult.status === \"known-error\") {\n return <KnownErrorMessageCard error={redirectResult.error} fullPage={props.fullPage} />;\n }\n if (redirectResult.status === \"unknown-error\") {\n return <PredefinedMessageCard type=\"unknownError\" fullPage={props.fullPage} />;\n }\n return <MessageCard title=\"Redirecting...\" fullPage={props.fullPage} />;\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 pathname = usePathname();\n const searchParamsFromHook = useSearchParams();\n const currentLocation = pathname;\n const searchParamsSource = searchParamsFromHook;\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 notFound()\n ,\n app: hexclaveApp,\n });\n\n const redirectToPage = (result != null && typeof result === 'object' && 'redirectToPage' in result) ? result.redirectToPage : undefined;\n\n if (redirectToPage != null) {\n return (\n <Suspense fallback={<MessageCard title=\"Redirecting...\" fullPage={props.fullPage} />}>\n <RedirectToPage app={hexclaveApp} redirectToPage={redirectToPage} fullPage={props.fullPage} />\n </Suspense>\n );\n }\n\n if (result && 'redirect' in result) {\n redirect(result.redirect, RedirectType.replace);\n }\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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8DA,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;AAID,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,2CAACA;IACI;IACV;IACA,GAAI,mBAAmB,gBAAgB,OAAO;KAC9C;EAEJ,KAAK,eAAe;AAClB,OAAI,uBAAuB,SAAS,CAAE,QAAO,EAAE,gBAAgB,UAAmB;AAClF,UAAO,2CAACC;IACI;IACV;IACA,GAAI,mBAAmB,gBAAgB,OAAO;KAC9C;EAEJ,KAAK,eAAe;AAClB,OAAI,uBAAuB,oBAAoB,CAAE,QAAO,EAAE,gBAAgB,qBAA8B;AACxG,UAAO,2CAACC;IACQ;IACJ;IACV,GAAI,mBAAmB,gBAAgB,kBAAkB;KACzD;EAEJ,KAAK,eAAe;AAClB,OAAI,uBAAuB,gBAAgB,CAAE,QAAO,EAAE,gBAAgB,iBAA0B;AAChG,UAAO,2CAACC;IACQ;IACJ;IACV,GAAI,mBAAmB,gBAAgB,cAAc;KACrD;EAEJ,KAAK,eAAe;AAClB,OAAI,uBAAuB,iBAAiB,CAAE,QAAO,EAAE,gBAAgB,kBAA2B;AAClG,UAAO,2CAACC;IACI;IACV,GAAI,mBAAmB,gBAAgB,eAAe;KACtD;EAEJ,KAAK,eAAe;AAClB,OAAI,uBAAuB,UAAU,CAAE,QAAO,EAAE,gBAAgB,WAAoB;AACpF,UAAO,2CAACC;IACQ;IACJ;IACV,GAAI,mBAAmB,gBAAgB,QAAQ;KAC/C;EAEJ,KAAK,eAAe;AAClB,OAAI,uBAAuB,gBAAgB,CAAE,QAAO,EAAE,gBAAgB,iBAA0B;AAChG,UAAO,2CAACC;IACI;IACV,GAAI,mBAAmB,gBAAgB,cAAc;KACrD;EAEJ,KAAK,eAAe;AAClB,OAAI,uBAAuB,oBAAoB,CAAE,QAAO,EAAE,gBAAgB,qBAA8B;AACxG,UAAO,2CAACC;IACQ;IACJ;IACV,GAAI,mBAAmB,gBAAgB,kBAAkB;KACzD;EAEJ,KAAK,eAAe;AAClB,OAAI,uBAAuB,iBAAiB,CAAE,QAAO,EAAE,gBAAgB,kBAA2B;AAClG,UAAO,2CAACC;IACQ;IACJ;IACV,GAAI,mBAAmB,gBAAgB,eAAe;KACtD;EAEJ,KAAK,eAAe,gBAClB,QAAO,2CAACC;GACI;GACV,GAAI,mBAAmB,gBAAgB,gBAAgB;IACvD;EAEJ,KAAK,eAAe,MAClB,QAAO,2CAACC;GACQ;GACJ;GACV,GAAI,mBAAmB,gBAAgB,UAAU;IACjD;EAEJ,KAAK,eAAe;AAClB,OAAI,uBAAuB,iBAAiB,CAAE,QAAO,EAAE,gBAAgB,kBAA2B;AAClG,UAAO,2CAACC;IACI;IACV,GAAI,mBAAmB,gBAAgB,oBAAoB;KAC3D;EAEJ,KAAK,eAAe;AAClB,OAAI,uBAAuB,MAAM,CAAE,QAAO,EAAE,gBAAgB,OAAgB;AAC5E,UAAO,2CAACC;IACI;IACV,GAAI,mBAAmB,gBAAgB,IAAI;KAC3C;EAEJ,KAAK,eAAe;AAClB,OAAI,uBAAuB,aAAa,CAAE,QAAO,EAAE,gBAAgB,cAAuB;AAC1F,UAAO,2CAACC;IACI;IACV,GAAI,mBAAmB,gBAAgB,WAAW;KAClD;EAEJ,SAAS;AACP,OAAI,OAAO,OAAO,eAAe,CAAC,SAAS,KAAY,CACrD,OAAM,IAAIC,0DAAuB,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,eAAsB,wBACpB,KACA,gBAC+B;AAC/B,KAAI;AACF,QAAM,IAAIC,yDAA4B,kBAAkB,gBAAgB,EAAE,SAAS,MAAM,CAAC;AAC1F,SAAO,EAAE,QAAQ,WAAW;UACrB,GAAG;AACV,MAAIC,4BAAW,aAAa,EAAE,CAC5B,QAAO;GAAE,QAAQ;GAAe,OAAO;GAAG;AAE5C,uDAAa,4CAA4C,EAAE;AAC3D,SAAO,EAAE,QAAQ,iBAAiB;;;AAItC,SAAS,eAAe,OAIrB;CAMD,MAAM,qFAJE,wBAAwB,MAAM,KAAK,MAAM,eAAe,EAC9D,CAAC,MAAM,KAAK,MAAM,eAAe,CAClC,CAEgD;AACjD,KAAI,eAAe,WAAW,cAC5B,QAAO,2CAACC;EAAsB,OAAO,eAAe;EAAO,UAAU,MAAM;GAAY;AAEzF,KAAI,eAAe,WAAW,gBAC5B,QAAO,2CAACC;EAAsB,MAAK;EAAe,UAAU,MAAM;GAAY;AAEhF,QAAO,2CAACC;EAAY,OAAM;EAAiB,UAAU,MAAM;GAAY;;AAGzE,SAAgB,sBAAsB,OAAuE;CAE3G,MAAM,gDAA2B;CACjC,MAAM,eAAe,+BAA+B;CAEpD,MAAM,6CAAwB;CAC9B,MAAM,6DAAwC;CAC9C,MAAM,kBAAkB;CACxB,MAAM,qBAAqB;CAE3B,MAAM,EAAE,MAAM,cAAc,yCAA8B;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,sFAA4C;GAC1C,eAAe,YAAYJ,yDAA4B,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,iEAAyB;GAC9B,WAAW;GACX;GACA,eAAe;GAChB,CAAC;;CAGJ,MAAM,SAAS,gBAAgB;EAC7B;EACA;EACA,UAAU,MAAM;EAChB,gBAAgB,MAAM;EACtB;EACA;EACA,iDACY;EAEZ,KAAK;EACN,CAAC;CAEF,MAAM,iBAAkB,UAAU,QAAQ,OAAO,WAAW,YAAY,oBAAoB,SAAU,OAAO,iBAAiB;AAE9H,KAAI,kBAAkB,KACpB,QACE,2CAACK;EAAS,UAAU,2CAACD;GAAY,OAAM;GAAiB,UAAU,MAAM;IAAY;YAClF,2CAAC;GAAe,KAAK;GAA6B;GAAgB,UAAU,MAAM;IAAY;GACrF;AAIf,KAAI,UAAU,cAAc,OAC1B,+BAAS,OAAO,UAAUE,6BAAa,QAAQ;AAIjD,QAAO;;AAIT,SAAS,mBAAiC,OAAsD;AAC9F,QAAO,UAAU,SAAY,iEAAwB,MAAM;;AAG7D,SAAS,mCAAmC,KAAkB;AAC5D,QAAO,IAAI,WAAW,6EAAuC,IAAI,GAAG,IAAI,UAAU;;AAGpF,SAAS,gCAAoD;AAG3D,oDACc,UACN,OAAO,SAAS,cAChB,OACP"}
@@ -0,0 +1,51 @@
1
+ const require_chunk = require('../chunk-BE-pF4vm.js');
2
+ let _hexclave_shared = require("@hexclave/shared");
3
+ let vitest = require("vitest");
4
+ let ___lib_hexclave_app_index_js = require("../lib/hexclave-app/index.js");
5
+ let __hexclave_handler_client_js = require("./hexclave-handler-client.js");
6
+
7
+ //#region src/components-page/hexclave-handler-client.test.tsx
8
+ vitest.vi.mock("next/navigation", () => ({
9
+ RedirectType: { replace: "replace" },
10
+ notFound: () => {
11
+ throw new Error("notFound");
12
+ },
13
+ redirect: (url) => {
14
+ throw new Error(`redirect:${url}`);
15
+ },
16
+ usePathname: () => window.location.pathname,
17
+ useSearchParams: () => new URLSearchParams(window.location.search)
18
+ }));
19
+ function createAppTestDouble(options) {
20
+ const projectId = "00000000-0000-4000-8000-000000000000";
21
+ return {
22
+ projectId,
23
+ urls: {
24
+ handler: "http://localhost/handler",
25
+ signIn: `https://${projectId}.example-stack-hosted.test/handler/sign-in`,
26
+ home: "http://localhost"
27
+ },
28
+ redirectToHome: vitest.vi.fn(async () => {}),
29
+ [___lib_hexclave_app_index_js.hexclaveAppInternalsSymbol]: {
30
+ getConstructorOptions: () => ({ urls: {} }),
31
+ redirectToHandler: options.redirectToHandler
32
+ }
33
+ };
34
+ }
35
+ (0, vitest.describe)("HexclaveHandlerClient", () => {
36
+ (0, vitest.it)("returns known cross-domain redirect errors instead of treating them as unhandled async failures", async () => {
37
+ const redirectToHandler = vitest.vi.fn(async () => {
38
+ throw new _hexclave_shared.KnownErrors.RedirectUrlNotWhitelisted();
39
+ });
40
+ const result = await (0, __hexclave_handler_client_js.getRedirectToPageResult)(createAppTestDouble({ redirectToHandler }), "signIn");
41
+ (0, vitest.expect)(redirectToHandler).toHaveBeenCalledWith("signIn", { replace: true });
42
+ (0, vitest.expect)(result.status).toBe("known-error");
43
+ if (result.status === "known-error") {
44
+ (0, vitest.expect)(result.error.errorCode).toBe("REDIRECT_URL_NOT_WHITELISTED");
45
+ (0, vitest.expect)(result.error.message).toContain("Redirect URL not whitelisted");
46
+ }
47
+ });
48
+ });
49
+
50
+ //#endregion
51
+ //# sourceMappingURL=hexclave-handler-client.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hexclave-handler-client.test.js","names":["vi","hexclaveAppInternalsSymbol","KnownErrors"],"sources":["../../src/components-page/hexclave-handler-client.test.tsx"],"sourcesContent":["\n//===========================================\n// THIS FILE IS AUTO-GENERATED FROM TEMPLATE. DO NOT EDIT IT DIRECTLY UNLESS YOU ALSO EDIT THE CORRESPONDING FILE IN packages/template\n//===========================================\nimport { KnownErrors } from \"@hexclave/shared\";\nimport { describe, expect, it, vi } from \"vitest\";\nimport { hexclaveAppInternalsSymbol } from \"../lib/hexclave-app\";\nimport type { StackClientApp } from \"../lib/hexclave-app/apps/interfaces/client-app\";\nimport { getRedirectToPageResult } from \"./hexclave-handler-client\";\n\nvi.mock(\"next/navigation\", () => ({\n RedirectType: {\n replace: \"replace\",\n },\n notFound: () => {\n throw new Error(\"notFound\");\n },\n redirect: (url: string) => {\n throw new Error(`redirect:${url}`);\n },\n usePathname: () => window.location.pathname,\n useSearchParams: () => new URLSearchParams(window.location.search),\n}));\n\nfunction createAppTestDouble(options: {\n redirectToHandler: (name: string, options: { replace: true }) => Promise<void>,\n}) {\n const projectId = \"00000000-0000-4000-8000-000000000000\";\n const app = {\n projectId,\n urls: {\n handler: \"http://localhost/handler\",\n signIn: `https://${projectId}.example-stack-hosted.test/handler/sign-in`,\n home: \"http://localhost\",\n },\n redirectToHome: vi.fn(async () => {}),\n [hexclaveAppInternalsSymbol]: {\n getConstructorOptions: () => ({ urls: {} }),\n redirectToHandler: options.redirectToHandler,\n },\n };\n\n // This test double intentionally implements only the StackClientApp surface\n // that HexclaveHandlerClient touches in this redirect path.\n return app as unknown as StackClientApp<true>;\n}\n\ndescribe(\"HexclaveHandlerClient\", () => {\n it(\"returns known cross-domain redirect errors instead of treating them as unhandled async failures\", async () => {\n const redirectToHandler = vi.fn(async () => {\n throw new KnownErrors.RedirectUrlNotWhitelisted();\n });\n const app = createAppTestDouble({ redirectToHandler });\n\n const result = await getRedirectToPageResult(app, \"signIn\");\n\n expect(redirectToHandler).toHaveBeenCalledWith(\"signIn\", { replace: true });\n expect(result.status).toBe(\"known-error\");\n if (result.status === \"known-error\") {\n expect(result.error.errorCode).toBe(\"REDIRECT_URL_NOT_WHITELISTED\");\n expect(result.error.message).toContain(\"Redirect URL not whitelisted\");\n }\n });\n});\n"],"mappings":";;;;;;;AAUAA,UAAG,KAAK,0BAA0B;CAChC,cAAc,EACZ,SAAS,WACV;CACD,gBAAgB;AACd,QAAM,IAAI,MAAM,WAAW;;CAE7B,WAAW,QAAgB;AACzB,QAAM,IAAI,MAAM,YAAY,MAAM;;CAEpC,mBAAmB,OAAO,SAAS;CACnC,uBAAuB,IAAI,gBAAgB,OAAO,SAAS,OAAO;CACnE,EAAE;AAEH,SAAS,oBAAoB,SAE1B;CACD,MAAM,YAAY;AAiBlB,QAhBY;EACV;EACA,MAAM;GACJ,SAAS;GACT,QAAQ,WAAW,UAAU;GAC7B,MAAM;GACP;EACD,gBAAgBA,UAAG,GAAG,YAAY,GAAG;GACpCC,0DAA6B;GAC5B,8BAA8B,EAAE,MAAM,EAAE,EAAE;GAC1C,mBAAmB,QAAQ;GAC5B;EACF;;qBAOM,+BAA+B;AACtC,gBAAG,mGAAmG,YAAY;EAChH,MAAM,oBAAoBD,UAAG,GAAG,YAAY;AAC1C,SAAM,IAAIE,6BAAY,2BAA2B;IACjD;EAGF,MAAM,SAAS,gEAFH,oBAAoB,EAAE,mBAAmB,CAAC,EAEJ,SAAS;AAE3D,qBAAO,kBAAkB,CAAC,qBAAqB,UAAU,EAAE,SAAS,MAAM,CAAC;AAC3E,qBAAO,OAAO,OAAO,CAAC,KAAK,cAAc;AACzC,MAAI,OAAO,WAAW,eAAe;AACnC,sBAAO,OAAO,MAAM,UAAU,CAAC,KAAK,+BAA+B;AACnE,sBAAO,OAAO,MAAM,QAAQ,CAAC,UAAU,+BAA+B;;GAExE;EACF"}
@@ -1,8 +1,8 @@
1
- import { BaseHandlerProps } from "./stack-handler-client.js";
1
+ import { BaseHandlerProps } from "./hexclave-handler-client.js";
2
2
  import * as react_jsx_runtime0 from "react/jsx-runtime";
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,11 +1,11 @@
1
1
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
2
2
  const require_chunk = require('../chunk-BE-pF4vm.js');
3
3
  let react_jsx_runtime = require("react/jsx-runtime");
4
- let __stack_handler_client_js = require("./stack-handler-client.js");
4
+ let __hexclave_handler_client_js = require("./hexclave-handler-client.js");
5
5
 
6
- //#region src/components-page/stack-handler.tsx
6
+ //#region src/components-page/hexclave-handler.tsx
7
7
  function HandlerImpl({ app, routeProps, params, searchParams, ...props }) {
8
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__stack_handler_client_js.StackHandlerClient, { ...props });
8
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__hexclave_handler_client_js.HexclaveHandlerClient, { ...props });
9
9
  }
10
10
  const HexclaveHandler = HandlerImpl;
11
11
  /** @deprecated Use `HexclaveHandler` from the `@hexclave/*` package instead — same symbol, new brand name. See https://docs.hexclave.com/migration. */
@@ -15,4 +15,4 @@ const StackHandler = HandlerImpl;
15
15
  exports.HexclaveHandler = HexclaveHandler;
16
16
  exports.StackHandler = StackHandler;
17
17
  exports.default = StackHandler;
18
- //# sourceMappingURL=stack-handler.js.map
18
+ //# sourceMappingURL=hexclave-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hexclave-handler.js","names":["HexclaveHandlerClient"],"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,2CAACA,sDAAsB,GAAI,QAAS;;AAI7C,MAAa,kBAAkB;;AAG/B,MAAa,eAAe"}
@@ -9,17 +9,17 @@ let ___index_js = require("../index.js");
9
9
  let ___lib_translations_js = require("../lib/translations.js");
10
10
  let react_jsx_runtime = require("react/jsx-runtime");
11
11
  let _hexclave_shared = require("@hexclave/shared");
12
- let ___components_message_cards_predefined_message_card_js = require("../components/message-cards/predefined-message-card.js");
13
12
  let ___components_message_cards_message_card_js = require("../components/message-cards/message-card.js");
13
+ let ___components_message_cards_predefined_message_card_js = require("../components/message-cards/predefined-message-card.js");
14
14
  let _hexclave_shared_dist_utils_caches = require("@hexclave/shared/dist/utils/caches");
15
15
 
16
16
  //#region src/components-page/magic-link-callback.tsx
17
- (0, _hexclave_shared_dist_utils_caches.cacheFunction)(async (stackApp, code) => {
18
- return await stackApp.signInWithMagicLink(code);
17
+ (0, _hexclave_shared_dist_utils_caches.cacheFunction)(async (hexclaveApp, code) => {
18
+ return await hexclaveApp.signInWithMagicLink(code);
19
19
  });
20
20
  function MagicLinkCallback(props) {
21
21
  const { t } = (0, ___lib_translations_js.useTranslation)();
22
- const stackApp = (0, ___index_js.useStackApp)();
22
+ const hexclaveApp = (0, ___index_js.useStackApp)();
23
23
  const user = (0, ___index_js.useUser)();
24
24
  const [result, setResult] = react.default.useState(null);
25
25
  if (user) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(___components_message_cards_predefined_message_card_js.PredefinedMessageCard, {
@@ -47,11 +47,11 @@ function MagicLinkCallback(props) {
47
47
  fullPage: !!props.fullPage,
48
48
  primaryButtonText: t("Sign in"),
49
49
  primaryAction: async () => {
50
- setResult(await stackApp.signInWithMagicLink(props.searchParams?.code || (0, _hexclave_shared_dist_utils_errors.throwErr)("No magic link provided")));
50
+ setResult(await hexclaveApp.signInWithMagicLink(props.searchParams?.code || (0, _hexclave_shared_dist_utils_errors.throwErr)("No magic link provided")));
51
51
  },
52
52
  secondaryButtonText: t("Cancel"),
53
53
  secondaryAction: async () => {
54
- await stackApp.redirectToHome();
54
+ await hexclaveApp.redirectToHome();
55
55
  }
56
56
  });
57
57
  else {
@@ -64,7 +64,7 @@ function MagicLinkCallback(props) {
64
64
  fullPage: !!props.fullPage,
65
65
  primaryButtonText: t("Go home"),
66
66
  primaryAction: async () => {
67
- await stackApp.redirectToHome();
67
+ await hexclaveApp.redirectToHome();
68
68
  }
69
69
  });
70
70
  }