@stackframe/stack 2.4.27 → 2.5.0

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 (395) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/components/credential-sign-in-form.d.mts +5 -0
  3. package/dist/components/credential-sign-in-form.d.ts +5 -0
  4. package/dist/components/{credential-sign-in.js → credential-sign-in-form.js} +33 -23
  5. package/dist/components/credential-sign-in-form.js.map +1 -0
  6. package/dist/components/credential-sign-up-form.d.mts +5 -0
  7. package/dist/components/credential-sign-up-form.d.ts +5 -0
  8. package/dist/components/{credential-sign-up.js → credential-sign-up-form.js} +34 -24
  9. package/dist/components/credential-sign-up-form.js.map +1 -0
  10. package/dist/components/{form-warning.d.mts → elements/form-warning.d.mts} +1 -1
  11. package/dist/components/{form-warning.d.ts → elements/form-warning.d.ts} +1 -1
  12. package/dist/components/{form-warning.js → elements/form-warning.js} +7 -4
  13. package/dist/components/elements/form-warning.js.map +1 -0
  14. package/dist/components/{maybe-full-page.d.mts → elements/maybe-full-page.d.mts} +3 -3
  15. package/dist/components/{maybe-full-page.d.ts → elements/maybe-full-page.d.ts} +3 -3
  16. package/dist/components/{maybe-full-page.js → elements/maybe-full-page.js} +11 -10
  17. package/dist/components/elements/maybe-full-page.js.map +1 -0
  18. package/dist/components/{separator-with-text.d.mts → elements/separator-with-text.d.mts} +1 -1
  19. package/dist/components/{separator-with-text.d.ts → elements/separator-with-text.d.ts} +1 -1
  20. package/dist/components/{separator-with-text.js → elements/separator-with-text.js} +11 -7
  21. package/dist/components/elements/separator-with-text.js.map +1 -0
  22. package/dist/components/elements/ssr-layout-effect.d.mts +7 -0
  23. package/dist/components/elements/ssr-layout-effect.d.ts +7 -0
  24. package/dist/{joy.js → components/elements/ssr-layout-effect.js} +17 -8
  25. package/dist/components/elements/ssr-layout-effect.js.map +1 -0
  26. package/dist/components/{user-avatar.d.mts → elements/user-avatar.d.mts} +2 -2
  27. package/dist/components/{user-avatar.d.ts → elements/user-avatar.d.ts} +2 -2
  28. package/dist/components/elements/user-avatar.js +40 -0
  29. package/dist/components/elements/user-avatar.js.map +1 -0
  30. package/dist/components/{forgot-password.d.mts → forgot-password-form.d.mts} +2 -2
  31. package/dist/components/{forgot-password.d.ts → forgot-password-form.d.ts} +2 -2
  32. package/dist/components/{forgot-password.js → forgot-password-form.js} +28 -24
  33. package/dist/components/forgot-password-form.js.map +1 -0
  34. package/dist/components/magic-link-sign-in-form.d.mts +5 -0
  35. package/dist/components/magic-link-sign-in-form.d.ts +5 -0
  36. package/dist/components/{magic-link-sign-in.js → magic-link-sign-in-form.js} +30 -20
  37. package/dist/components/magic-link-sign-in-form.js.map +1 -0
  38. package/dist/components/message-cards/known-error-message-card.d.mts +1 -1
  39. package/dist/components/message-cards/known-error-message-card.d.ts +1 -1
  40. package/dist/components/message-cards/known-error-message-card.js +10 -16
  41. package/dist/components/message-cards/known-error-message-card.js.map +1 -1
  42. package/dist/components/message-cards/message-card.d.mts +3 -3
  43. package/dist/components/message-cards/message-card.d.ts +3 -3
  44. package/dist/components/message-cards/message-card.js +11 -17
  45. package/dist/components/message-cards/message-card.js.map +1 -1
  46. package/dist/components/message-cards/predefined-message-card.d.mts +1 -1
  47. package/dist/components/message-cards/predefined-message-card.d.ts +1 -1
  48. package/dist/components/message-cards/predefined-message-card.js +9 -15
  49. package/dist/components/message-cards/predefined-message-card.js.map +1 -1
  50. package/dist/components/{oauth-group.d.mts → oauth-button-group.d.mts} +2 -2
  51. package/dist/components/{oauth-group.d.ts → oauth-button-group.d.ts} +2 -2
  52. package/dist/components/oauth-button-group.js +43 -0
  53. package/dist/components/oauth-button-group.js.map +1 -0
  54. package/dist/components/oauth-button.d.mts +1 -1
  55. package/dist/components/oauth-button.d.ts +1 -1
  56. package/dist/components/oauth-button.js +40 -7
  57. package/dist/components/oauth-button.js.map +1 -1
  58. package/dist/components/{password-reset-inner.d.mts → password-reset-form.d.mts} +2 -2
  59. package/dist/components/{password-reset-inner.d.ts → password-reset-form.d.ts} +2 -2
  60. package/dist/components/{password-reset-inner.js → password-reset-form.js} +35 -30
  61. package/dist/components/password-reset-form.js.map +1 -0
  62. package/dist/components/selected-team-switcher.d.mts +12 -2
  63. package/dist/components/selected-team-switcher.d.ts +12 -2
  64. package/dist/components/selected-team-switcher.js +43 -35
  65. package/dist/components/selected-team-switcher.js.map +1 -1
  66. package/dist/components/user-button.d.mts +3 -3
  67. package/dist/components/user-button.d.ts +3 -3
  68. package/dist/components/user-button.js +32 -59
  69. package/dist/components/user-button.js.map +1 -1
  70. package/dist/components-page/account-settings.d.mts +1 -1
  71. package/dist/components-page/account-settings.d.ts +1 -1
  72. package/dist/components-page/account-settings.js +39 -45
  73. package/dist/components-page/account-settings.js.map +1 -1
  74. package/dist/components-page/auth-page.d.mts +1 -1
  75. package/dist/components-page/auth-page.d.ts +1 -1
  76. package/dist/components-page/auth-page.js +31 -36
  77. package/dist/components-page/auth-page.js.map +1 -1
  78. package/dist/components-page/email-verification.d.mts +1 -1
  79. package/dist/components-page/email-verification.d.ts +1 -1
  80. package/dist/components-page/email-verification.js +10 -16
  81. package/dist/components-page/email-verification.js.map +1 -1
  82. package/dist/components-page/error-page.d.mts +1 -1
  83. package/dist/components-page/error-page.d.ts +1 -1
  84. package/dist/components-page/error-page.js +15 -20
  85. package/dist/components-page/error-page.js.map +1 -1
  86. package/dist/components-page/forgot-password.d.mts +1 -1
  87. package/dist/components-page/forgot-password.d.ts +1 -1
  88. package/dist/components-page/forgot-password.js +17 -23
  89. package/dist/components-page/forgot-password.js.map +1 -1
  90. package/dist/components-page/magic-link-callback.d.mts +1 -1
  91. package/dist/components-page/magic-link-callback.d.ts +1 -1
  92. package/dist/components-page/magic-link-callback.js +11 -17
  93. package/dist/components-page/magic-link-callback.js.map +1 -1
  94. package/dist/components-page/oauth-callback.d.mts +1 -1
  95. package/dist/components-page/oauth-callback.d.ts +1 -1
  96. package/dist/components-page/oauth-callback.js +10 -16
  97. package/dist/components-page/oauth-callback.js.map +1 -1
  98. package/dist/components-page/password-reset.d.mts +1 -1
  99. package/dist/components-page/password-reset.d.ts +1 -1
  100. package/dist/components-page/password-reset.js +12 -8
  101. package/dist/components-page/password-reset.js.map +1 -1
  102. package/dist/components-page/sign-in.d.mts +1 -1
  103. package/dist/components-page/sign-in.d.ts +1 -1
  104. package/dist/components-page/sign-in.js +7 -13
  105. package/dist/components-page/sign-in.js.map +1 -1
  106. package/dist/components-page/sign-out.d.mts +1 -1
  107. package/dist/components-page/sign-out.d.ts +1 -1
  108. package/dist/components-page/sign-out.js +7 -13
  109. package/dist/components-page/sign-out.js.map +1 -1
  110. package/dist/components-page/sign-up.d.mts +1 -1
  111. package/dist/components-page/sign-up.d.ts +1 -1
  112. package/dist/components-page/sign-up.js +7 -13
  113. package/dist/components-page/sign-up.js.map +1 -1
  114. package/dist/components-page/stack-handler.js +22 -32
  115. package/dist/components-page/stack-handler.js.map +1 -1
  116. package/dist/esm/components/{credential-sign-in.js → credential-sign-in-form.js} +23 -17
  117. package/dist/esm/components/credential-sign-in-form.js.map +1 -0
  118. package/dist/esm/components/{credential-sign-up.js → credential-sign-up-form.js} +23 -17
  119. package/dist/esm/components/credential-sign-up-form.js.map +1 -0
  120. package/dist/esm/components/elements/form-warning.js +15 -0
  121. package/dist/esm/components/elements/form-warning.js.map +1 -0
  122. package/dist/esm/components/{maybe-full-page.js → elements/maybe-full-page.js} +7 -10
  123. package/dist/esm/components/elements/maybe-full-page.js.map +1 -0
  124. package/dist/esm/components/elements/separator-with-text.js +17 -0
  125. package/dist/esm/components/elements/separator-with-text.js.map +1 -0
  126. package/dist/esm/components/elements/ssr-layout-effect.js +16 -0
  127. package/dist/esm/components/elements/ssr-layout-effect.js.map +1 -0
  128. package/dist/esm/components/elements/user-avatar.js +15 -0
  129. package/dist/esm/components/elements/user-avatar.js.map +1 -0
  130. package/dist/esm/components/{forgot-password.js → forgot-password-form.js} +19 -19
  131. package/dist/esm/components/forgot-password-form.js.map +1 -0
  132. package/dist/esm/components/{magic-link-sign-in.js → magic-link-sign-in-form.js} +21 -15
  133. package/dist/esm/components/magic-link-sign-in-form.js.map +1 -0
  134. package/dist/esm/components/message-cards/known-error-message-card.js +5 -5
  135. package/dist/esm/components/message-cards/known-error-message-card.js.map +1 -1
  136. package/dist/esm/components/message-cards/message-card.js +4 -4
  137. package/dist/esm/components/message-cards/message-card.js.map +1 -1
  138. package/dist/esm/components/message-cards/predefined-message-card.js +4 -4
  139. package/dist/esm/components/message-cards/predefined-message-card.js.map +1 -1
  140. package/dist/esm/components/oauth-button-group.js +19 -0
  141. package/dist/esm/components/oauth-button-group.js.map +1 -0
  142. package/dist/esm/components/oauth-button.js +26 -7
  143. package/dist/esm/components/oauth-button.js.map +1 -1
  144. package/dist/esm/components/{password-reset-inner.js → password-reset-form.js} +28 -23
  145. package/dist/esm/components/password-reset-form.js.map +1 -0
  146. package/dist/esm/components/selected-team-switcher.js +50 -45
  147. package/dist/esm/components/selected-team-switcher.js.map +1 -1
  148. package/dist/esm/components/user-button.js +23 -52
  149. package/dist/esm/components/user-button.js.map +1 -1
  150. package/dist/esm/components-page/account-settings.js +29 -29
  151. package/dist/esm/components-page/account-settings.js.map +1 -1
  152. package/dist/esm/components-page/auth-page.js +25 -24
  153. package/dist/esm/components-page/auth-page.js.map +1 -1
  154. package/dist/esm/components-page/email-verification.js +3 -3
  155. package/dist/esm/components-page/email-verification.js.map +1 -1
  156. package/dist/esm/components-page/error-page.js +8 -7
  157. package/dist/esm/components-page/error-page.js.map +1 -1
  158. package/dist/esm/components-page/forgot-password.js +10 -10
  159. package/dist/esm/components-page/forgot-password.js.map +1 -1
  160. package/dist/esm/components-page/magic-link-callback.js +3 -3
  161. package/dist/esm/components-page/magic-link-callback.js.map +1 -1
  162. package/dist/esm/components-page/oauth-callback.js +5 -5
  163. package/dist/esm/components-page/oauth-callback.js.map +1 -1
  164. package/dist/esm/components-page/password-reset.js +8 -8
  165. package/dist/esm/components-page/password-reset.js.map +1 -1
  166. package/dist/esm/components-page/sign-in.js +2 -2
  167. package/dist/esm/components-page/sign-in.js.map +1 -1
  168. package/dist/esm/components-page/sign-out.js +3 -3
  169. package/dist/esm/components-page/sign-out.js.map +1 -1
  170. package/dist/esm/components-page/sign-up.js +2 -2
  171. package/dist/esm/components-page/sign-up.js.map +1 -1
  172. package/dist/esm/components-page/stack-handler.js +11 -11
  173. package/dist/esm/components-page/stack-handler.js.map +1 -1
  174. package/dist/esm/generated/global-css.js +6 -0
  175. package/dist/esm/generated/global-css.js.map +1 -0
  176. package/dist/esm/index.js +33 -40
  177. package/dist/esm/index.js.map +1 -1
  178. package/dist/esm/lib/stack-app.js +29 -21
  179. package/dist/esm/lib/stack-app.js.map +1 -1
  180. package/dist/esm/providers/theme-provider.js +43 -4
  181. package/dist/esm/providers/theme-provider.js.map +1 -1
  182. package/dist/esm/utils/browser-script.js +2 -1
  183. package/dist/esm/utils/browser-script.js.map +1 -1
  184. package/dist/esm/utils/constants.js +43 -12
  185. package/dist/esm/utils/constants.js.map +1 -1
  186. package/dist/generated/global-css.d.mts +3 -0
  187. package/dist/generated/global-css.d.ts +3 -0
  188. package/dist/generated/global-css.js +31 -0
  189. package/dist/generated/global-css.js.map +1 -0
  190. package/dist/index.d.mts +16 -30
  191. package/dist/index.d.ts +16 -30
  192. package/dist/index.js +33 -45
  193. package/dist/index.js.map +1 -1
  194. package/dist/lib/stack-app.d.mts +4 -1
  195. package/dist/lib/stack-app.d.ts +4 -1
  196. package/dist/lib/stack-app.js +29 -21
  197. package/dist/lib/stack-app.js.map +1 -1
  198. package/dist/providers/stack-provider-client.d.mts +3 -3
  199. package/dist/providers/stack-provider-client.d.ts +3 -3
  200. package/dist/providers/stack-provider.d.mts +2 -2
  201. package/dist/providers/stack-provider.d.ts +2 -2
  202. package/dist/providers/styled-components-registry.d.mts +2 -2
  203. package/dist/providers/styled-components-registry.d.ts +2 -2
  204. package/dist/providers/theme-provider.d.mts +34 -17
  205. package/dist/providers/theme-provider.d.ts +34 -17
  206. package/dist/providers/theme-provider.js +43 -4
  207. package/dist/providers/theme-provider.js.map +1 -1
  208. package/dist/utils/browser-script.js +2 -1
  209. package/dist/utils/browser-script.js.map +1 -1
  210. package/dist/utils/constants.d.mts +43 -12
  211. package/dist/utils/constants.d.ts +43 -12
  212. package/dist/utils/constants.js +44 -13
  213. package/dist/utils/constants.js.map +1 -1
  214. package/package.json +25 -32
  215. package/dist/components/credential-sign-in.d.mts +0 -5
  216. package/dist/components/credential-sign-in.d.ts +0 -5
  217. package/dist/components/credential-sign-in.js.map +0 -1
  218. package/dist/components/credential-sign-up.d.mts +0 -5
  219. package/dist/components/credential-sign-up.d.ts +0 -5
  220. package/dist/components/credential-sign-up.js.map +0 -1
  221. package/dist/components/forgot-password.js.map +0 -1
  222. package/dist/components/form-warning.js.map +0 -1
  223. package/dist/components/magic-link-sign-in.d.mts +0 -5
  224. package/dist/components/magic-link-sign-in.d.ts +0 -5
  225. package/dist/components/magic-link-sign-in.js.map +0 -1
  226. package/dist/components/maybe-full-page.js.map +0 -1
  227. package/dist/components/oauth-group.js +0 -49
  228. package/dist/components/oauth-group.js.map +0 -1
  229. package/dist/components/password-field.d.mts +0 -5
  230. package/dist/components/password-field.d.ts +0 -5
  231. package/dist/components/password-field.js +0 -111
  232. package/dist/components/password-field.js.map +0 -1
  233. package/dist/components/password-reset-inner.js.map +0 -1
  234. package/dist/components/separator-with-text.js.map +0 -1
  235. package/dist/components/user-avatar.js +0 -56
  236. package/dist/components/user-avatar.js.map +0 -1
  237. package/dist/components-core/avatar.d.mts +0 -8
  238. package/dist/components-core/avatar.d.ts +0 -8
  239. package/dist/components-core/avatar.js +0 -94
  240. package/dist/components-core/avatar.js.map +0 -1
  241. package/dist/components-core/button.d.mts +0 -13
  242. package/dist/components-core/button.d.ts +0 -13
  243. package/dist/components-core/button.js +0 -217
  244. package/dist/components-core/button.js.map +0 -1
  245. package/dist/components-core/card.d.mts +0 -8
  246. package/dist/components-core/card.d.ts +0 -8
  247. package/dist/components-core/card.js +0 -89
  248. package/dist/components-core/card.js.map +0 -1
  249. package/dist/components-core/collapsible.d.mts +0 -8
  250. package/dist/components-core/collapsible.d.ts +0 -8
  251. package/dist/components-core/collapsible.js +0 -50
  252. package/dist/components-core/collapsible.js.map +0 -1
  253. package/dist/components-core/container.d.mts +0 -8
  254. package/dist/components-core/container.d.ts +0 -8
  255. package/dist/components-core/container.js +0 -70
  256. package/dist/components-core/container.js.map +0 -1
  257. package/dist/components-core/dropdown.d.mts +0 -15
  258. package/dist/components-core/dropdown.d.ts +0 -15
  259. package/dist/components-core/dropdown.js +0 -149
  260. package/dist/components-core/dropdown.js.map +0 -1
  261. package/dist/components-core/index.d.mts +0 -59
  262. package/dist/components-core/index.d.ts +0 -59
  263. package/dist/components-core/index.js +0 -148
  264. package/dist/components-core/index.js.map +0 -1
  265. package/dist/components-core/input.d.mts +0 -6
  266. package/dist/components-core/input.d.ts +0 -6
  267. package/dist/components-core/input.js +0 -119
  268. package/dist/components-core/input.js.map +0 -1
  269. package/dist/components-core/label.d.mts +0 -6
  270. package/dist/components-core/label.d.ts +0 -6
  271. package/dist/components-core/label.js +0 -72
  272. package/dist/components-core/label.js.map +0 -1
  273. package/dist/components-core/link.d.mts +0 -10
  274. package/dist/components-core/link.d.ts +0 -10
  275. package/dist/components-core/link.js +0 -73
  276. package/dist/components-core/link.js.map +0 -1
  277. package/dist/components-core/popover.d.mts +0 -8
  278. package/dist/components-core/popover.d.ts +0 -8
  279. package/dist/components-core/popover.js +0 -81
  280. package/dist/components-core/popover.js.map +0 -1
  281. package/dist/components-core/separator.d.mts +0 -6
  282. package/dist/components-core/separator.d.ts +0 -6
  283. package/dist/components-core/separator.js +0 -71
  284. package/dist/components-core/separator.js.map +0 -1
  285. package/dist/components-core/skeleton.d.mts +0 -7
  286. package/dist/components-core/skeleton.d.ts +0 -7
  287. package/dist/components-core/skeleton.js +0 -87
  288. package/dist/components-core/skeleton.js.map +0 -1
  289. package/dist/components-core/tabs.d.mts +0 -9
  290. package/dist/components-core/tabs.d.ts +0 -9
  291. package/dist/components-core/tabs.js +0 -124
  292. package/dist/components-core/tabs.js.map +0 -1
  293. package/dist/components-core/text.d.mts +0 -10
  294. package/dist/components-core/text.d.ts +0 -10
  295. package/dist/components-core/text.js +0 -98
  296. package/dist/components-core/text.js.map +0 -1
  297. package/dist/components-core-joy/button.d.mts +0 -6
  298. package/dist/components-core-joy/button.d.ts +0 -6
  299. package/dist/components-core-joy/button.js +0 -88
  300. package/dist/components-core-joy/button.js.map +0 -1
  301. package/dist/components-core-joy/input.d.mts +0 -5
  302. package/dist/components-core-joy/input.d.ts +0 -5
  303. package/dist/components-core-joy/input.js +0 -53
  304. package/dist/components-core-joy/input.js.map +0 -1
  305. package/dist/components-core-joy/separator.d.mts +0 -6
  306. package/dist/components-core-joy/separator.d.ts +0 -6
  307. package/dist/components-core-joy/separator.js +0 -52
  308. package/dist/components-core-joy/separator.js.map +0 -1
  309. package/dist/components-core-joy/tabs.d.mts +0 -9
  310. package/dist/components-core-joy/tabs.d.ts +0 -9
  311. package/dist/components-core-joy/tabs.js +0 -67
  312. package/dist/components-core-joy/tabs.js.map +0 -1
  313. package/dist/components-core-joy/text.d.mts +0 -9
  314. package/dist/components-core-joy/text.d.ts +0 -9
  315. package/dist/components-core-joy/text.js +0 -70
  316. package/dist/components-core-joy/text.js.map +0 -1
  317. package/dist/esm/components/credential-sign-in.js.map +0 -1
  318. package/dist/esm/components/credential-sign-up.js.map +0 -1
  319. package/dist/esm/components/forgot-password.js.map +0 -1
  320. package/dist/esm/components/form-warning.js +0 -16
  321. package/dist/esm/components/form-warning.js.map +0 -1
  322. package/dist/esm/components/magic-link-sign-in.js.map +0 -1
  323. package/dist/esm/components/maybe-full-page.js.map +0 -1
  324. package/dist/esm/components/oauth-group.js +0 -19
  325. package/dist/esm/components/oauth-group.js.map +0 -1
  326. package/dist/esm/components/password-field.js +0 -81
  327. package/dist/esm/components/password-field.js.map +0 -1
  328. package/dist/esm/components/password-reset-inner.js.map +0 -1
  329. package/dist/esm/components/separator-with-text.js +0 -17
  330. package/dist/esm/components/separator-with-text.js.map +0 -1
  331. package/dist/esm/components/user-avatar.js +0 -25
  332. package/dist/esm/components/user-avatar.js.map +0 -1
  333. package/dist/esm/components-core/avatar.js +0 -57
  334. package/dist/esm/components-core/avatar.js.map +0 -1
  335. package/dist/esm/components-core/button.js +0 -183
  336. package/dist/esm/components-core/button.js.map +0 -1
  337. package/dist/esm/components-core/card.js +0 -52
  338. package/dist/esm/components-core/card.js.map +0 -1
  339. package/dist/esm/components-core/collapsible.js +0 -14
  340. package/dist/esm/components-core/collapsible.js.map +0 -1
  341. package/dist/esm/components-core/container.js +0 -36
  342. package/dist/esm/components-core/container.js.map +0 -1
  343. package/dist/esm/components-core/dropdown.js +0 -110
  344. package/dist/esm/components-core/dropdown.js.map +0 -1
  345. package/dist/esm/components-core/index.js +0 -94
  346. package/dist/esm/components-core/index.js.map +0 -1
  347. package/dist/esm/components-core/input.js +0 -85
  348. package/dist/esm/components-core/input.js.map +0 -1
  349. package/dist/esm/components-core/label.js +0 -38
  350. package/dist/esm/components-core/label.js.map +0 -1
  351. package/dist/esm/components-core/link.js +0 -39
  352. package/dist/esm/components-core/link.js.map +0 -1
  353. package/dist/esm/components-core/popover.js +0 -44
  354. package/dist/esm/components-core/popover.js.map +0 -1
  355. package/dist/esm/components-core/separator.js +0 -37
  356. package/dist/esm/components-core/separator.js.map +0 -1
  357. package/dist/esm/components-core/skeleton.js +0 -53
  358. package/dist/esm/components-core/skeleton.js.map +0 -1
  359. package/dist/esm/components-core/tabs.js +0 -86
  360. package/dist/esm/components-core/tabs.js.map +0 -1
  361. package/dist/esm/components-core/text.js +0 -64
  362. package/dist/esm/components-core/text.js.map +0 -1
  363. package/dist/esm/components-core-joy/button.js +0 -54
  364. package/dist/esm/components-core-joy/button.js.map +0 -1
  365. package/dist/esm/components-core-joy/input.js +0 -19
  366. package/dist/esm/components-core-joy/input.js.map +0 -1
  367. package/dist/esm/components-core-joy/separator.js +0 -18
  368. package/dist/esm/components-core-joy/separator.js.map +0 -1
  369. package/dist/esm/components-core-joy/tabs.js +0 -30
  370. package/dist/esm/components-core-joy/tabs.js.map +0 -1
  371. package/dist/esm/components-core-joy/text.js +0 -36
  372. package/dist/esm/components-core-joy/text.js.map +0 -1
  373. package/dist/esm/joy.js +0 -6
  374. package/dist/esm/joy.js.map +0 -1
  375. package/dist/esm/providers/component-provider.js +0 -77
  376. package/dist/esm/providers/component-provider.js.map +0 -1
  377. package/dist/esm/providers/design-provider.js +0 -37
  378. package/dist/esm/providers/design-provider.js.map +0 -1
  379. package/dist/esm/providers/joy-provider.js +0 -36
  380. package/dist/esm/providers/joy-provider.js.map +0 -1
  381. package/dist/joy.d.mts +0 -16
  382. package/dist/joy.d.ts +0 -16
  383. package/dist/joy.js.map +0 -1
  384. package/dist/providers/component-provider.d.mts +0 -113
  385. package/dist/providers/component-provider.d.ts +0 -113
  386. package/dist/providers/component-provider.js +0 -96
  387. package/dist/providers/component-provider.js.map +0 -1
  388. package/dist/providers/design-provider.d.mts +0 -34
  389. package/dist/providers/design-provider.d.ts +0 -34
  390. package/dist/providers/design-provider.js +0 -62
  391. package/dist/providers/design-provider.js.map +0 -1
  392. package/dist/providers/joy-provider.d.mts +0 -36
  393. package/dist/providers/joy-provider.d.ts +0 -36
  394. package/dist/providers/joy-provider.js +0 -61
  395. package/dist/providers/joy-provider.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components-page/account-settings.tsx"],"sourcesContent":["'use client';\n\nimport React from 'react';\nimport { PasswordField, useUser } from '..';\nimport PredefinedMessageCard from '../components/message-cards/predefined-message-card';\nimport { Text, Label, Input, Button, Card, CardHeader, CardContent, CardFooter, Container } from \"../components-core\";\nimport UserAvatar from '../components/user-avatar';\nimport { useState } from 'react';\nimport FormWarningText from '../components/form-warning';\nimport { getPasswordError } from '@stackframe/stack-shared/dist/helpers/password';\n\nfunction SettingSection(props: {\n title: string, \n desc: string, \n buttonText?: string, \n buttonDisabled?: boolean,\n onButtonClick?: React.ComponentProps<typeof Button>[\"onClick\"],\n buttonVariant?: 'primary' | 'secondary',\n children?: React.ReactNode, \n}) {\n return (\n <Card>\n <CardHeader>\n <Text as='h3' style={{ fontWeight: 500 }}>{props.title}</Text>\n <Text variant='secondary' size='sm'>{props.desc}</Text>\n </CardHeader>\n {props.children && <CardContent>\n <div style={{ display: 'flex', flexDirection: 'column', gap: '1rem' }}>\n {props.children}\n </div>\n </CardContent>}\n {props.buttonText && <CardFooter>\n <div style={{ display: 'flex', justifyContent: 'flex-end', width: '100%' }}>\n <Button\n disabled={props.buttonDisabled}\n onClick={props.onButtonClick}\n variant={props.buttonVariant}\n >\n {props.buttonText}\n </Button>\n </div>\n </CardFooter>}\n </Card>\n );\n}\n\nfunction ProfileSection() {\n const user = useUser();\n const [userInfo, setUserInfo] = useState<{ displayName: string }>({ displayName: user?.displayName || '' });\n const [changed, setChanged] = useState(false);\n\n return (\n <SettingSection\n title='Profile'\n desc='Your profile information'\n buttonDisabled={!changed}\n buttonText='Save'\n onButtonClick={async () => {\n await user?.update(userInfo);\n setChanged(false);\n }}\n >\n <div style={{ display: 'flex', gap: '1rem', alignItems: 'center' }}>\n <UserAvatar user={user} size={50}/>\n <div style={{ display: 'flex', flexDirection: 'column' }}>\n <Text>{user?.displayName}</Text>\n <Text variant='secondary' size='sm'>{user?.primaryEmail}</Text>\n </div>\n </div>\n\n <div style={{ display: 'flex', flexDirection: 'column' }}>\n <Label htmlFor='display-name'>Display Name</Label>\n <Input\n id='display-name'\n value={userInfo.displayName}\n onChange={(e) => {\n setUserInfo((i) => ({...i, displayName: e.target.value }));\n setChanged(true);\n }}\n />\n </div>\n </SettingSection>\n );\n}\n\nfunction EmailVerificationSection() {\n const user = useUser();\n const [emailSent, setEmailSent] = useState(false);\n\n return (\n <SettingSection\n title='Email Verification'\n desc='We want to make sure that you own the email address.'\n buttonDisabled={emailSent}\n buttonText={\n !user?.primaryEmailVerified ? \n emailSent ? \n 'Email sent!' : \n 'Send Email'\n : undefined\n }\n onButtonClick={async () => {\n await user?.sendVerificationEmail();\n setEmailSent(true);\n }}\n >\n {user?.primaryEmailVerified ? \n <Text variant='success'>Your email has been verified</Text> : \n <Text variant='warning'>Your email has not been verified</Text>}\n </SettingSection>\n );\n}\n\nfunction PasswordSection() {\n const user = useUser();\n const [oldPassword, setOldPassword] = useState<string>('');\n const [oldPasswordError, setOldPasswordError] = useState<string>('');\n const [newPassword, setNewPassword] = useState<string>('');\n const [newPasswordError, setNewPasswordError] = useState<string>('');\n\n if (!user?.hasPassword) {\n return null;\n }\n\n return (\n <SettingSection\n title='Password'\n desc='Change your password here.'\n buttonDisabled={!oldPassword || !newPassword}\n buttonText='Save'\n onButtonClick={async () => {\n if (oldPassword && newPassword) {\n const errorMessage = getPasswordError(newPassword);\n if (errorMessage) {\n setNewPasswordError(errorMessage.message);\n } else {\n const errorCode = await user.updatePassword({ oldPassword, newPassword });\n if (errorCode) {\n setOldPasswordError('Incorrect password');\n } else {\n setOldPassword('');\n setNewPassword('');\n }\n }\n } else if (oldPassword && !newPassword) {\n setNewPasswordError('Please enter a new password');\n } else if (newPassword && !oldPassword) {\n setOldPasswordError('Please enter your old password');\n }\n }}\n >\n <div style={{ display: 'flex', flexDirection: 'column' }}>\n <Label htmlFor='old-password'>Old Password</Label>\n <PasswordField\n id='old-password' \n value={oldPassword} \n onChange={(e) => {\n setOldPassword(e.target.value);\n setOldPasswordError('');\n }}\n />\n <FormWarningText text={oldPasswordError} />\n </div>\n <div style={{ display: 'flex', flexDirection: 'column' }}>\n <Label htmlFor='new-password'>New Password</Label>\n <PasswordField\n id='new-password' \n value={newPassword} \n onChange={(e) => {\n setNewPassword(e.target.value);\n setNewPasswordError('');\n }}\n />\n <FormWarningText text={newPasswordError} />\n </div>\n </SettingSection>\n );\n}\n\nfunction SignOutSection() {\n const user = useUser();\n return (\n <SettingSection\n title='Sign out'\n desc='Sign out of your account on this device.'\n buttonVariant='secondary'\n buttonText='Sign Out'\n onButtonClick={() => user?.signOut()}\n >\n </SettingSection>\n );\n}\n\nexport default function AccountSettings({ fullPage=false }: { fullPage?: boolean }) {\n const user = useUser();\n if (!user) {\n return <PredefinedMessageCard type='signedOut' fullPage={fullPage} />;\n }\n\n const inner = (\n <div style={{ padding: fullPage ? '1rem' : 0, display: 'flex', flexDirection: 'column', gap: '1rem' }}>\n <div>\n <Text size=\"xl\" as='h1' style={{ fontWeight: '600' }}>Account Settings</Text>\n <Text variant='secondary' size='sm'>Manage your account</Text>\n </div>\n \n <ProfileSection />\n <EmailVerificationSection />\n <PasswordSection />\n <SignOutSection />\n </div>\n );\n\n if (fullPage) {\n return (\n <Container size='sm'>\n {inner}\n </Container>\n );\n } else {\n return inner;\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/components-page/account-settings.tsx"],"sourcesContent":["'use client';\n\nimport React from 'react';\nimport { useUser } from '..';\nimport { PredefinedMessageCard } from '../components/message-cards/predefined-message-card';\nimport { UserAvatar } from '../components/elements/user-avatar';\nimport { useState } from 'react';\nimport { FormWarningText } from '../components/elements/form-warning';\nimport { getPasswordError } from '@stackframe/stack-shared/dist/helpers/password';\nimport { Button, Card, CardContent, CardFooter, CardHeader, Container, Input, Label, PasswordInput, Typography, cn } from '@stackframe/stack-ui';\n\nfunction SettingSection(props: {\n title: string, \n desc: string, \n buttonText?: string, \n buttonDisabled?: boolean,\n onButtonClick?: React.ComponentProps<typeof Button>[\"onClick\"],\n buttonVariant?: 'default' | 'secondary',\n children?: React.ReactNode, \n}) {\n return (\n <Card>\n <CardHeader>\n <div>\n <Typography type='h4'>{props.title}</Typography>\n <Typography type='label' variant='secondary'>{props.desc}</Typography>\n </div>\n </CardHeader>\n {props.children && <CardContent>\n <div className='flex flex-col gap-4'>\n {props.children}\n </div>\n </CardContent>}\n {props.buttonText && <CardFooter>\n <div className='flex justify-end w-full'>\n <Button\n disabled={props.buttonDisabled}\n onClick={props.onButtonClick}\n variant={props.buttonVariant}\n >\n {props.buttonText}\n </Button>\n </div>\n </CardFooter>}\n </Card>\n );\n}\n\nfunction ProfileSection() {\n const user = useUser();\n const [userInfo, setUserInfo] = useState<{ displayName: string }>({ displayName: user?.displayName || '' });\n const [changed, setChanged] = useState(false);\n\n return (\n <SettingSection\n title='Profile'\n desc='Your profile information'\n buttonDisabled={!changed}\n buttonText='Save'\n onButtonClick={async () => {\n await user?.update(userInfo);\n setChanged(false);\n }}\n >\n <div className='flex gap-4 items-center'>\n <UserAvatar user={user} size={50}/>\n <div className='flex flex-col'>\n <Typography>{user?.displayName}</Typography>\n <Typography variant='secondary' type='label'>{user?.primaryEmail}</Typography>\n </div>\n </div>\n\n <div className='flex flex-col'>\n <Label htmlFor='display-name' className='mb-1'>Display Name</Label>\n <Input\n id='display-name'\n value={userInfo.displayName}\n onChange={(e) => {\n setUserInfo((i) => ({...i, displayName: e.target.value }));\n setChanged(true);\n }}\n />\n </div>\n </SettingSection>\n );\n}\n\nfunction EmailVerificationSection() {\n const user = useUser();\n const [emailSent, setEmailSent] = useState(false);\n\n return (\n <SettingSection\n title='Email Verification'\n desc='We want to make sure that you own the email address.'\n buttonDisabled={emailSent}\n buttonText={\n !user?.primaryEmailVerified ? \n emailSent ? \n 'Email sent!' : \n 'Send Email'\n : undefined\n }\n onButtonClick={async () => {\n await user?.sendVerificationEmail();\n setEmailSent(true);\n }}\n >\n {user?.primaryEmailVerified ? \n <Typography variant='success'>Your email has been verified</Typography> :\n <Typography variant='destructive'>Your email has not been verified</Typography>}\n </SettingSection>\n );\n}\n\nfunction PasswordSection() {\n const user = useUser();\n const [oldPassword, setOldPassword] = useState<string>('');\n const [oldPasswordError, setOldPasswordError] = useState<string>('');\n const [newPassword, setNewPassword] = useState<string>('');\n const [newPasswordError, setNewPasswordError] = useState<string>('');\n\n if (!user?.hasPassword) {\n return null;\n }\n\n return (\n <SettingSection\n title='Password'\n desc='Change your password here.'\n buttonDisabled={!oldPassword || !newPassword}\n buttonText='Save'\n onButtonClick={async () => {\n if (oldPassword && newPassword) {\n const errorMessage = getPasswordError(newPassword);\n if (errorMessage) {\n setNewPasswordError(errorMessage.message);\n } else {\n const errorCode = await user.updatePassword({ oldPassword, newPassword });\n if (errorCode) {\n setOldPasswordError('Incorrect password');\n } else {\n setOldPassword('');\n setNewPassword('');\n }\n }\n } else if (oldPassword && !newPassword) {\n setNewPasswordError('Please enter a new password');\n } else if (newPassword && !oldPassword) {\n setOldPasswordError('Please enter your old password');\n }\n }}\n >\n <div className='flex flex-col'>\n <Label htmlFor='old-password' className='mb-1'>Old Password</Label>\n <PasswordInput\n id='old-password' \n value={oldPassword} \n onChange={(e) => {\n setOldPassword(e.target.value);\n setOldPasswordError('');\n }}\n />\n <FormWarningText text={oldPasswordError} />\n </div>\n <div className='flex flex-col'>\n <Label htmlFor='new-password' className='mb-1'>New Password</Label>\n <PasswordInput\n id='new-password' \n value={newPassword} \n onChange={(e) => {\n setNewPassword(e.target.value);\n setNewPasswordError('');\n }}\n />\n <FormWarningText text={newPasswordError} />\n </div>\n </SettingSection>\n );\n}\n\nfunction SignOutSection() {\n const user = useUser();\n return (\n <SettingSection\n title='Sign out'\n desc='Sign out of your account on this device.'\n buttonVariant='secondary'\n buttonText='Sign Out'\n onButtonClick={() => user?.signOut()}\n >\n </SettingSection>\n );\n}\n\nexport function AccountSettings({ fullPage=false }: { fullPage?: boolean }) {\n const user = useUser();\n if (!user) {\n return <PredefinedMessageCard type='signedOut' fullPage={fullPage} />;\n }\n\n const inner = (\n <div className={cn(fullPage ? 'p-4' : '', 'flex flex-col gap-4')}>\n <div>\n <Typography type='h2'>Account Settings</Typography>\n <Typography variant='secondary' type='label'>Manage your account</Typography>\n </div>\n \n <ProfileSection />\n <EmailVerificationSection />\n <PasswordSection />\n <SignOutSection />\n </div>\n );\n\n if (fullPage) {\n return (\n <Container size={600} className='stack-scope'>\n {inner}\n </Container>\n );\n } else {\n return inner;\n }\n}\n"],"mappings":"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","names":[]}
@@ -2,14 +2,15 @@
2
2
  "use client";
3
3
 
4
4
  // src/components-page/auth-page.tsx
5
- import CredentialSignIn from "../components/credential-sign-in";
6
- import SeparatorWithText from "../components/separator-with-text";
7
- import OAuthGroup from "../components/oauth-group";
8
- import MaybeFullPage from "../components/maybe-full-page";
9
- import { useUser, useStackApp, CredentialSignUp } from "..";
10
- import PredefinedMessageCard from "../components/message-cards/predefined-message-card";
11
- import { Link, Tabs, TabsContent, TabsList, TabsTrigger, Text } from "../components-core";
12
- import MagicLinkSignIn from "../components/magic-link-sign-in";
5
+ import { CredentialSignInForm } from "../components/credential-sign-in-form";
6
+ import { SeparatorWithText } from "../components/elements/separator-with-text";
7
+ import { OAuthButtonGroup } from "../components/oauth-button-group";
8
+ import { MaybeFullPage } from "../components/elements/maybe-full-page";
9
+ import { useUser, useStackApp } from "..";
10
+ import { PredefinedMessageCard } from "../components/message-cards/predefined-message-card";
11
+ import { MagicLinkSignInForm } from "../components/magic-link-sign-in-form";
12
+ import { CredentialSignUpForm } from "../components/credential-sign-up-form";
13
+ import { StyledLink, Tabs, TabsContent, TabsList, TabsTrigger, Typography } from "@stackframe/stack-ui";
13
14
  import { jsx, jsxs } from "react/jsx-runtime";
14
15
  function AuthPage({
15
16
  fullPage = false,
@@ -24,30 +25,30 @@ function AuthPage({
24
25
  return /* @__PURE__ */ jsx(PredefinedMessageCard, { type: "signedIn", fullPage });
25
26
  }
26
27
  const enableSeparator = (project.credentialEnabled || project.magicLinkEnabled) && project.oauthProviders.filter((p) => p.enabled).length > 0;
27
- return /* @__PURE__ */ jsxs(MaybeFullPage, { fullPage, children: [
28
- /* @__PURE__ */ jsxs("div", { style: { textAlign: "center", marginBottom: "1.5rem" }, children: [
29
- /* @__PURE__ */ jsx(Text, { size: "xl", as: "h2", style: { fontWeight: 500 }, children: type === "sign-in" ? "Sign in to your account" : "Create a new account" }),
30
- type === "sign-in" ? /* @__PURE__ */ jsxs(Text, { children: [
28
+ return /* @__PURE__ */ jsx(MaybeFullPage, { fullPage, children: /* @__PURE__ */ jsxs("div", { className: "stack-scope flex flex-col items-stretch", children: [
29
+ /* @__PURE__ */ jsxs("div", { className: "text-center mb-6", children: [
30
+ /* @__PURE__ */ jsx(Typography, { type: "h2", children: type === "sign-in" ? "Sign in to your account" : "Create a new account" }),
31
+ type === "sign-in" ? /* @__PURE__ */ jsxs(Typography, { children: [
31
32
  "Don't have an account? ",
32
- /* @__PURE__ */ jsx(Link, { href: stackApp.urls.signUp, children: "Sign up" })
33
- ] }) : /* @__PURE__ */ jsxs(Text, { children: [
33
+ /* @__PURE__ */ jsx(StyledLink, { href: stackApp.urls.signUp, children: "Sign up" })
34
+ ] }) : /* @__PURE__ */ jsxs(Typography, { children: [
34
35
  "Already have an account? ",
35
- /* @__PURE__ */ jsx(Link, { href: stackApp.urls.signIn, children: "Sign in" })
36
+ /* @__PURE__ */ jsx(StyledLink, { href: stackApp.urls.signIn, children: "Sign in" })
36
37
  ] })
37
38
  ] }),
38
- /* @__PURE__ */ jsx(OAuthGroup, { type, mockProject }),
39
+ /* @__PURE__ */ jsx(OAuthButtonGroup, { type, mockProject }),
39
40
  enableSeparator && /* @__PURE__ */ jsx(SeparatorWithText, { text: "Or continue with" }),
40
41
  project.credentialEnabled && project.magicLinkEnabled ? /* @__PURE__ */ jsxs(Tabs, { defaultValue: "magic-link", children: [
41
- /* @__PURE__ */ jsxs(TabsList, { children: [
42
- /* @__PURE__ */ jsx(TabsTrigger, { value: "magic-link", children: "Magic Link" }),
43
- /* @__PURE__ */ jsx(TabsTrigger, { value: "password", children: "Password" })
42
+ /* @__PURE__ */ jsxs(TabsList, { className: "w-full mb-2", children: [
43
+ /* @__PURE__ */ jsx(TabsTrigger, { value: "magic-link", className: "flex-1", children: "Magic Link" }),
44
+ /* @__PURE__ */ jsx(TabsTrigger, { value: "password", className: "flex-1", children: "Password" })
44
45
  ] }),
45
- /* @__PURE__ */ jsx(TabsContent, { value: "magic-link", children: /* @__PURE__ */ jsx(MagicLinkSignIn, {}) }),
46
- /* @__PURE__ */ jsx(TabsContent, { value: "password", children: type === "sign-up" ? /* @__PURE__ */ jsx(CredentialSignUp, {}) : /* @__PURE__ */ jsx(CredentialSignIn, {}) })
47
- ] }) : project.credentialEnabled ? type === "sign-up" ? /* @__PURE__ */ jsx(CredentialSignUp, {}) : /* @__PURE__ */ jsx(CredentialSignIn, {}) : project.magicLinkEnabled ? /* @__PURE__ */ jsx(MagicLinkSignIn, {}) : null
48
- ] });
46
+ /* @__PURE__ */ jsx(TabsContent, { value: "magic-link", children: /* @__PURE__ */ jsx(MagicLinkSignInForm, {}) }),
47
+ /* @__PURE__ */ jsx(TabsContent, { value: "password", children: type === "sign-up" ? /* @__PURE__ */ jsx(CredentialSignUpForm, {}) : /* @__PURE__ */ jsx(CredentialSignInForm, {}) })
48
+ ] }) : project.credentialEnabled ? type === "sign-up" ? /* @__PURE__ */ jsx(CredentialSignUpForm, {}) : /* @__PURE__ */ jsx(CredentialSignInForm, {}) : project.magicLinkEnabled ? /* @__PURE__ */ jsx(MagicLinkSignInForm, {}) : null
49
+ ] }) });
49
50
  }
50
51
  export {
51
- AuthPage as default
52
+ AuthPage
52
53
  };
53
54
  //# sourceMappingURL=auth-page.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components-page/auth-page.tsx"],"sourcesContent":["'use client';\n\nimport CredentialSignIn from '../components/credential-sign-in';\nimport SeparatorWithText from '../components/separator-with-text';\nimport OAuthGroup from '../components/oauth-group';\nimport MaybeFullPage from '../components/maybe-full-page';\nimport { useUser, useStackApp, CredentialSignUp } from '..';\nimport PredefinedMessageCard from '../components/message-cards/predefined-message-card';\nimport { Link, Tabs, TabsContent, TabsList, TabsTrigger, Text } from \"../components-core\";\nimport MagicLinkSignIn from '../components/magic-link-sign-in';\nimport { ClientProjectJson } from \"@stackframe/stack-shared\";\n\nexport default function AuthPage({ \n fullPage=false,\n type,\n mockProject,\n}: { \n fullPage?: boolean, \n type: 'sign-in' | 'sign-up',\n mockProject?: ClientProjectJson,\n}) {\n const stackApp = useStackApp();\n const user = useUser();\n const projectFromHook = stackApp.useProject();\n const project = mockProject || projectFromHook;\n\n if (user && !mockProject) {\n return <PredefinedMessageCard type='signedIn' fullPage={fullPage} />;\n }\n\n const enableSeparator = (project.credentialEnabled || project.magicLinkEnabled) && project.oauthProviders.filter(p => p.enabled).length > 0;\n\n return (\n <MaybeFullPage fullPage={fullPage}>\n <div style={{ textAlign: 'center', marginBottom: '1.5rem' }}>\n <Text size=\"xl\" as='h2' style={{ fontWeight: 500 }}>\n {type === 'sign-in' ? 'Sign in to your account' : 'Create a new account'}\n </Text>\n {type === 'sign-in' ? (\n <Text>\n {\"Don't have an account? \"}\n <Link href={stackApp.urls.signUp}>\n Sign up\n </Link>\n </Text>\n ) : (\n <Text>\n {\"Already have an account? \"}\n <Link href={stackApp.urls.signIn}>\n Sign in\n </Link>\n </Text>\n )}\n </div>\n <OAuthGroup type={type} mockProject={mockProject} />\n {enableSeparator && <SeparatorWithText text={'Or continue with'} />}\n {project.credentialEnabled && project.magicLinkEnabled ? (\n <Tabs defaultValue='magic-link'>\n <TabsList>\n <TabsTrigger value='magic-link'>Magic Link</TabsTrigger>\n <TabsTrigger value='password'>Password</TabsTrigger>\n </TabsList>\n <TabsContent value='magic-link'>\n <MagicLinkSignIn/>\n </TabsContent>\n <TabsContent value='password'>\n {type === 'sign-up' ? <CredentialSignUp/> : <CredentialSignIn/>}\n </TabsContent>\n </Tabs>\n ) : project.credentialEnabled ? (\n type === 'sign-up' ? <CredentialSignUp/> : <CredentialSignIn/>\n ) : project.magicLinkEnabled ? (\n <MagicLinkSignIn/>\n ) : null}\n </MaybeFullPage>\n );\n}\n"],"mappings":";;;AAEA,OAAO,sBAAsB;AAC7B,OAAO,uBAAuB;AAC9B,OAAO,gBAAgB;AACvB,OAAO,mBAAmB;AAC1B,SAAS,SAAS,aAAa,wBAAwB;AACvD,OAAO,2BAA2B;AAClC,SAAS,MAAM,MAAM,aAAa,UAAU,aAAa,YAAY;AACrE,OAAO,qBAAqB;AAkBjB,cAYD,YAZC;AAfI,SAAR,SAA0B;AAAA,EAC/B,WAAS;AAAA,EACT;AAAA,EACA;AACF,GAIG;AACD,QAAM,WAAW,YAAY;AAC7B,QAAM,OAAO,QAAQ;AACrB,QAAM,kBAAkB,SAAS,WAAW;AAC5C,QAAM,UAAU,eAAe;AAE/B,MAAI,QAAQ,CAAC,aAAa;AACxB,WAAO,oBAAC,yBAAsB,MAAK,YAAW,UAAoB;AAAA,EACpE;AAEA,QAAM,mBAAmB,QAAQ,qBAAqB,QAAQ,qBAAqB,QAAQ,eAAe,OAAO,OAAK,EAAE,OAAO,EAAE,SAAS;AAE1I,SACE,qBAAC,iBAAc,UACb;AAAA,yBAAC,SAAI,OAAO,EAAE,WAAW,UAAU,cAAc,SAAS,GACxD;AAAA,0BAAC,QAAK,MAAK,MAAK,IAAG,MAAK,OAAO,EAAE,YAAY,IAAI,GAC9C,mBAAS,YAAY,4BAA4B,wBACpD;AAAA,MACC,SAAS,YACR,qBAAC,QACE;AAAA;AAAA,QACD,oBAAC,QAAK,MAAM,SAAS,KAAK,QAAQ,qBAElC;AAAA,SACF,IAEA,qBAAC,QACE;AAAA;AAAA,QACD,oBAAC,QAAK,MAAM,SAAS,KAAK,QAAQ,qBAElC;AAAA,SACF;AAAA,OAEJ;AAAA,IACA,oBAAC,cAAW,MAAY,aAA0B;AAAA,IACjD,mBAAmB,oBAAC,qBAAkB,MAAM,oBAAoB;AAAA,IAChE,QAAQ,qBAAqB,QAAQ,mBACpC,qBAAC,QAAK,cAAa,cACjB;AAAA,2BAAC,YACC;AAAA,4BAAC,eAAY,OAAM,cAAa,wBAAU;AAAA,QAC1C,oBAAC,eAAY,OAAM,YAAW,sBAAQ;AAAA,SACxC;AAAA,MACA,oBAAC,eAAY,OAAM,cACjB,8BAAC,mBAAe,GAClB;AAAA,MACA,oBAAC,eAAY,OAAM,YAChB,mBAAS,YAAY,oBAAC,oBAAgB,IAAK,oBAAC,oBAAgB,GAC/D;AAAA,OACF,IACE,QAAQ,oBACV,SAAS,YAAY,oBAAC,oBAAgB,IAAK,oBAAC,oBAAgB,IAC1D,QAAQ,mBACV,oBAAC,mBAAe,IACd;AAAA,KACN;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../src/components-page/auth-page.tsx"],"sourcesContent":["'use client';\n\nimport { CredentialSignInForm } from '../components/credential-sign-in-form';\nimport { SeparatorWithText } from '../components/elements/separator-with-text';\nimport { OAuthButtonGroup } from '../components/oauth-button-group';\nimport { MaybeFullPage } from '../components/elements/maybe-full-page';\nimport { useUser, useStackApp } from '..';\nimport { PredefinedMessageCard } from '../components/message-cards/predefined-message-card';\nimport { MagicLinkSignInForm } from '../components/magic-link-sign-in-form';\nimport { ClientProjectJson } from \"@stackframe/stack-shared\";\nimport { CredentialSignUpForm } from '../components/credential-sign-up-form';\nimport { StyledLink, Tabs, TabsContent, TabsList, TabsTrigger, Typography } from '@stackframe/stack-ui';\n\nexport function AuthPage({ \n fullPage=false,\n type,\n mockProject,\n}: { \n fullPage?: boolean, \n type: 'sign-in' | 'sign-up',\n mockProject?: ClientProjectJson,\n}) {\n const stackApp = useStackApp();\n const user = useUser();\n const projectFromHook = stackApp.useProject();\n const project = mockProject || projectFromHook;\n\n if (user && !mockProject) {\n return <PredefinedMessageCard type='signedIn' fullPage={fullPage} />;\n }\n\n const enableSeparator = (project.credentialEnabled || project.magicLinkEnabled) && project.oauthProviders.filter(p => p.enabled).length > 0;\n\n return (\n <MaybeFullPage fullPage={fullPage}>\n <div className='stack-scope flex flex-col items-stretch'>\n <div className=\"text-center mb-6\">\n <Typography type='h2'>\n {type === 'sign-in' ? 'Sign in to your account' : 'Create a new account'}\n </Typography>\n {type === 'sign-in' ? (\n <Typography>\n {\"Don't have an account? \"}\n <StyledLink href={stackApp.urls.signUp}>\n Sign up\n </StyledLink>\n </Typography>\n ) : (\n <Typography>\n {\"Already have an account? \"}\n <StyledLink href={stackApp.urls.signIn}>\n Sign in\n </StyledLink>\n </Typography>\n )}\n </div>\n <OAuthButtonGroup type={type} mockProject={mockProject} />\n {enableSeparator && <SeparatorWithText text={'Or continue with'} />}\n {project.credentialEnabled && project.magicLinkEnabled ? (\n <Tabs defaultValue='magic-link'>\n <TabsList className='w-full mb-2'>\n <TabsTrigger value='magic-link' className='flex-1'>Magic Link</TabsTrigger>\n <TabsTrigger value='password' className='flex-1'>Password</TabsTrigger>\n </TabsList>\n <TabsContent value='magic-link'>\n <MagicLinkSignInForm/>\n </TabsContent>\n <TabsContent value='password'>\n {type === 'sign-up' ? <CredentialSignUpForm/> : <CredentialSignInForm/>}\n </TabsContent>\n </Tabs>\n ) : project.credentialEnabled ? (\n type === 'sign-up' ? <CredentialSignUpForm/> : <CredentialSignInForm/>\n ) : project.magicLinkEnabled ? (\n <MagicLinkSignInForm/>\n ) : null}\n </div>\n </MaybeFullPage>\n );\n}\n"],"mappings":";;;AAEA,SAAS,4BAA4B;AACrC,SAAS,yBAAyB;AAClC,SAAS,wBAAwB;AACjC,SAAS,qBAAqB;AAC9B,SAAS,SAAS,mBAAmB;AACrC,SAAS,6BAA6B;AACtC,SAAS,2BAA2B;AAEpC,SAAS,4BAA4B;AACrC,SAAS,YAAY,MAAM,aAAa,UAAU,aAAa,kBAAkB;AAiBtE,cAaC,YAbD;AAfJ,SAAS,SAAS;AAAA,EACvB,WAAS;AAAA,EACT;AAAA,EACA;AACF,GAIG;AACD,QAAM,WAAW,YAAY;AAC7B,QAAM,OAAO,QAAQ;AACrB,QAAM,kBAAkB,SAAS,WAAW;AAC5C,QAAM,UAAU,eAAe;AAE/B,MAAI,QAAQ,CAAC,aAAa;AACxB,WAAO,oBAAC,yBAAsB,MAAK,YAAW,UAAoB;AAAA,EACpE;AAEA,QAAM,mBAAmB,QAAQ,qBAAqB,QAAQ,qBAAqB,QAAQ,eAAe,OAAO,OAAK,EAAE,OAAO,EAAE,SAAS;AAE1I,SACE,oBAAC,iBAAc,UACb,+BAAC,SAAI,WAAU,2CACb;AAAA,yBAAC,SAAI,WAAU,oBACb;AAAA,0BAAC,cAAW,MAAK,MACd,mBAAS,YAAY,4BAA4B,wBACpD;AAAA,MACC,SAAS,YACR,qBAAC,cACE;AAAA;AAAA,QACD,oBAAC,cAAW,MAAM,SAAS,KAAK,QAAQ,qBAExC;AAAA,SACF,IAEA,qBAAC,cACE;AAAA;AAAA,QACD,oBAAC,cAAW,MAAM,SAAS,KAAK,QAAQ,qBAExC;AAAA,SACF;AAAA,OAEJ;AAAA,IACA,oBAAC,oBAAiB,MAAY,aAA0B;AAAA,IACvD,mBAAmB,oBAAC,qBAAkB,MAAM,oBAAoB;AAAA,IAChE,QAAQ,qBAAqB,QAAQ,mBACpC,qBAAC,QAAK,cAAa,cACjB;AAAA,2BAAC,YAAS,WAAU,eAClB;AAAA,4BAAC,eAAY,OAAM,cAAa,WAAU,UAAS,wBAAU;AAAA,QAC7D,oBAAC,eAAY,OAAM,YAAW,WAAU,UAAS,sBAAQ;AAAA,SAC3D;AAAA,MACA,oBAAC,eAAY,OAAM,cACjB,8BAAC,uBAAmB,GACtB;AAAA,MACA,oBAAC,eAAY,OAAM,YAChB,mBAAS,YAAY,oBAAC,wBAAoB,IAAK,oBAAC,wBAAoB,GACvE;AAAA,OACF,IACE,QAAQ,oBACV,SAAS,YAAY,oBAAC,wBAAoB,IAAK,oBAAC,wBAAoB,IAClE,QAAQ,mBACV,oBAAC,uBAAmB,IAClB;AAAA,KACN,GACF;AAEJ;","names":[]}
@@ -4,8 +4,8 @@
4
4
  // src/components-page/email-verification.tsx
5
5
  import { use } from "react";
6
6
  import { useStackApp } from "..";
7
- import MessageCard from "../components/message-cards/message-card";
8
- import PredefinedMessageCard from "../components/message-cards/predefined-message-card";
7
+ import { MessageCard } from "../components/message-cards/message-card";
8
+ import { PredefinedMessageCard } from "../components/message-cards/predefined-message-card";
9
9
  import { KnownErrors } from "@stackframe/stack-shared";
10
10
  import { jsx } from "react/jsx-runtime";
11
11
  function EmailVerification({
@@ -32,6 +32,6 @@ function EmailVerification({
32
32
  return /* @__PURE__ */ jsx(PredefinedMessageCard, { type: "emailVerified", fullPage });
33
33
  }
34
34
  export {
35
- EmailVerification as default
35
+ EmailVerification
36
36
  };
37
37
  //# sourceMappingURL=email-verification.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components-page/email-verification.tsx"],"sourcesContent":["'use client';\n\nimport { use } from \"react\";\nimport { useStackApp } from \"..\";\nimport MessageCard from \"../components/message-cards/message-card\";\nimport PredefinedMessageCard from \"../components/message-cards/predefined-message-card\";\nimport { KnownErrors } from \"@stackframe/stack-shared\";\n\nexport default function EmailVerification({ \n searchParams: {\n code = \"\",\n } = {},\n fullPage = false,\n}: { \n searchParams?: Record<string, string>,\n fullPage?: boolean,\n}) {\n const stackApp = useStackApp();\n\n const invalidJsx = (\n <MessageCard title=\"Invalid Verification Link\" fullPage={fullPage}>\n <p>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=\"Expired Verification Link\" fullPage={fullPage}>\n <p>Your email verification link has expired. Please request a new verification link from your account settings.</p>\n </MessageCard>\n );\n\n if (!code) {\n return invalidJsx;\n }\n\n const error = use(stackApp.verifyEmail(code));\n\n if (error instanceof KnownErrors.EmailVerificationCodeNotFound) {\n return invalidJsx;\n } else if (error instanceof KnownErrors.EmailVerificationCodeExpired) {\n return expiredJsx;\n } else if (error instanceof KnownErrors.EmailVerificationCodeAlreadyUsed) {\n // everything fine, continue\n } else if (error) {\n throw error;\n }\n\n return <PredefinedMessageCard type='emailVerified' fullPage={fullPage} />;\n}\n"],"mappings":";;;AAEA,SAAS,WAAW;AACpB,SAAS,mBAAmB;AAC5B,OAAO,iBAAiB;AACxB,OAAO,2BAA2B;AAClC,SAAS,mBAAmB;AAetB;AAbS,SAAR,kBAAmC;AAAA,EACxC,cAAc;AAAA,IACZ,OAAO;AAAA,EACT,IAAI,CAAC;AAAA,EACL,WAAW;AACb,GAGG;AACD,QAAM,WAAW,YAAY;AAE7B,QAAM,aACJ,oBAAC,eAAY,OAAM,6BAA4B,UAC7C,8BAAC,OAAE,gHAAkG,GACvG;AAGF,QAAM,aACJ,oBAAC,eAAY,OAAM,6BAA4B,UAC7C,8BAAC,OAAE,0HAA4G,GACjH;AAGF,MAAI,CAAC,MAAM;AACT,WAAO;AAAA,EACT;AAEA,QAAM,QAAQ,IAAI,SAAS,YAAY,IAAI,CAAC;AAE5C,MAAI,iBAAiB,YAAY,+BAA+B;AAC9D,WAAO;AAAA,EACT,WAAW,iBAAiB,YAAY,8BAA8B;AACpE,WAAO;AAAA,EACT,WAAW,iBAAiB,YAAY,kCAAkC;AAAA,EAE1E,WAAW,OAAO;AAChB,UAAM;AAAA,EACR;AAEA,SAAO,oBAAC,yBAAsB,MAAK,iBAAgB,UAAoB;AACzE;","names":[]}
1
+ {"version":3,"sources":["../../../src/components-page/email-verification.tsx"],"sourcesContent":["'use client';\n\nimport { use } from \"react\";\nimport { useStackApp } from \"..\";\nimport { MessageCard } from \"../components/message-cards/message-card\";\nimport { PredefinedMessageCard } from \"../components/message-cards/predefined-message-card\";\nimport { KnownErrors } from \"@stackframe/stack-shared\";\n\nexport function EmailVerification({ \n searchParams: {\n code = \"\",\n } = {},\n fullPage = false,\n}: { \n searchParams?: Record<string, string>,\n fullPage?: boolean,\n}) {\n const stackApp = useStackApp();\n\n const invalidJsx = (\n <MessageCard title=\"Invalid Verification Link\" fullPage={fullPage}>\n <p>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=\"Expired Verification Link\" fullPage={fullPage}>\n <p>Your email verification link has expired. Please request a new verification link from your account settings.</p>\n </MessageCard>\n );\n\n if (!code) {\n return invalidJsx;\n }\n\n const error = use(stackApp.verifyEmail(code));\n\n if (error instanceof KnownErrors.EmailVerificationCodeNotFound) {\n return invalidJsx;\n } else if (error instanceof KnownErrors.EmailVerificationCodeExpired) {\n return expiredJsx;\n } else if (error instanceof KnownErrors.EmailVerificationCodeAlreadyUsed) {\n // everything fine, continue\n } else if (error) {\n throw error;\n }\n\n return <PredefinedMessageCard type='emailVerified' fullPage={fullPage} />;\n}\n"],"mappings":";;;AAEA,SAAS,WAAW;AACpB,SAAS,mBAAmB;AAC5B,SAAS,mBAAmB;AAC5B,SAAS,6BAA6B;AACtC,SAAS,mBAAmB;AAetB;AAbC,SAAS,kBAAkB;AAAA,EAChC,cAAc;AAAA,IACZ,OAAO;AAAA,EACT,IAAI,CAAC;AAAA,EACL,WAAW;AACb,GAGG;AACD,QAAM,WAAW,YAAY;AAE7B,QAAM,aACJ,oBAAC,eAAY,OAAM,6BAA4B,UAC7C,8BAAC,OAAE,gHAAkG,GACvG;AAGF,QAAM,aACJ,oBAAC,eAAY,OAAM,6BAA4B,UAC7C,8BAAC,OAAE,0HAA4G,GACjH;AAGF,MAAI,CAAC,MAAM;AACT,WAAO;AAAA,EACT;AAEA,QAAM,QAAQ,IAAI,SAAS,YAAY,IAAI,CAAC;AAE5C,MAAI,iBAAiB,YAAY,+BAA+B;AAC9D,WAAO;AAAA,EACT,WAAW,iBAAiB,YAAY,8BAA8B;AACpE,WAAO;AAAA,EACT,WAAW,iBAAiB,YAAY,kCAAkC;AAAA,EAE1E,WAAW,OAAO;AAChB,UAAM;AAAA,EACR;AAEA,SAAO,oBAAC,yBAAsB,MAAK,iBAAgB,UAAoB;AACzE;","names":[]}
@@ -2,11 +2,12 @@
2
2
  "use client";
3
3
 
4
4
  // src/components-page/error-page.tsx
5
- import { MessageCard, useStackApp } from "..";
6
- import PredefinedMessageCard from "../components/message-cards/predefined-message-card";
7
- import { Text } from "../components-core";
5
+ import { useStackApp } from "..";
6
+ import { PredefinedMessageCard } from "../components/message-cards/predefined-message-card";
8
7
  import { KnownError, KnownErrors } from "@stackframe/stack-shared";
9
- import KnownErrorMessageCard from "../components/message-cards/known-error-message-card";
8
+ import { KnownErrorMessageCard } from "../components/message-cards/known-error-message-card";
9
+ import { Typography } from "@stackframe/stack-ui";
10
+ import { MessageCard } from "../components/message-cards/message-card";
10
11
  import { jsx } from "react/jsx-runtime";
11
12
  function ErrorPage({ fullPage = false, searchParams }) {
12
13
  const stackApp = useStackApp();
@@ -31,7 +32,7 @@ function ErrorPage({ fullPage = false, searchParams }) {
31
32
  fullPage,
32
33
  primaryButtonText: "Go to Home",
33
34
  primaryAction: () => stackApp.redirectToHome(),
34
- children: /* @__PURE__ */ jsx(Text, { children: "This account is already connected to another user. Please connect a different account." })
35
+ children: /* @__PURE__ */ jsx(Typography, { children: "This account is already connected to another user. Please connect a different account." })
35
36
  }
36
37
  );
37
38
  }
@@ -43,13 +44,13 @@ function ErrorPage({ fullPage = false, searchParams }) {
43
44
  fullPage,
44
45
  primaryButtonText: "Go to Home",
45
46
  primaryAction: () => stackApp.redirectToHome(),
46
- children: /* @__PURE__ */ jsx(Text, { children: "The user is already connected to another OAuth account. Did you maybe selected the wrong account on the OAuth provider page?" })
47
+ children: /* @__PURE__ */ jsx(Typography, { children: "The user is already connected to another OAuth account. Did you maybe selected the wrong account on the OAuth provider page?" })
47
48
  }
48
49
  );
49
50
  }
50
51
  return /* @__PURE__ */ jsx(KnownErrorMessageCard, { error, fullPage });
51
52
  }
52
53
  export {
53
- ErrorPage as default
54
+ ErrorPage
54
55
  };
55
56
  //# sourceMappingURL=error-page.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components-page/error-page.tsx"],"sourcesContent":["'use client';\n\nimport { MessageCard, useStackApp, useUser } from \"..\";\nimport PredefinedMessageCard from \"../components/message-cards/predefined-message-card\";\nimport { Text } from \"../components-core\";\nimport { KnownError, KnownErrors } from \"@stackframe/stack-shared\";\nimport KnownErrorMessageCard from \"../components/message-cards/known-error-message-card\";\n\n\nexport default function ErrorPage({ fullPage=false, searchParams }: { fullPage?: boolean, searchParams: Record<string, string> }) {\n const stackApp = useStackApp();\n const errorCode = searchParams.errorCode;\n const message = searchParams.message;\n const details = searchParams.details;\n\n const unknownErrorCard = <PredefinedMessageCard type='unknownError' fullPage={fullPage} />;\n\n if (!errorCode || !message || !details) {\n return unknownErrorCard;\n }\n\n let error;\n try {\n error = KnownError.fromJson({ code: errorCode, message, details });\n } catch (e) {\n return unknownErrorCard;\n }\n\n if (error instanceof KnownErrors.OAuthConnectionAlreadyConnectedToAnotherUser) {\n // TODO: add \"Connect a different account\" button\n return (\n <MessageCard \n title=\"Failed to connect account\" \n fullPage={fullPage}\n primaryButtonText=\"Go to Home\"\n primaryAction={() => stackApp.redirectToHome()}\n >\n <Text>\n This account is already connected to another user. Please connect a different account.\n </Text>\n </MessageCard>\n );\n }\n\n if (error instanceof KnownErrors.UserAlreadyConnectedToAnotherOAuthConnection) {\n // TODO: add \"Connect again\" button\n return (\n <MessageCard \n title=\"Failed to connect account\" \n fullPage={fullPage}\n primaryButtonText=\"Go to Home\"\n primaryAction={() => stackApp.redirectToHome()}\n >\n <Text>\n The user is already connected to another OAuth account. Did you maybe selected the wrong account on the OAuth provider page?\n </Text>\n </MessageCard>\n );\n }\n\n return <KnownErrorMessageCard error={error} fullPage={fullPage} />;\n}\n"],"mappings":";;;AAEA,SAAS,aAAa,mBAA4B;AAClD,OAAO,2BAA2B;AAClC,SAAS,YAAY;AACrB,SAAS,YAAY,mBAAmB;AACxC,OAAO,2BAA2B;AASP;AANZ,SAAR,UAA2B,EAAE,WAAS,OAAO,aAAa,GAAiE;AAChI,QAAM,WAAW,YAAY;AAC7B,QAAM,YAAY,aAAa;AAC/B,QAAM,UAAU,aAAa;AAC7B,QAAM,UAAU,aAAa;AAE7B,QAAM,mBAAmB,oBAAC,yBAAsB,MAAK,gBAAe,UAAoB;AAExF,MAAI,CAAC,aAAa,CAAC,WAAW,CAAC,SAAS;AACtC,WAAO;AAAA,EACT;AAEA,MAAI;AACJ,MAAI;AACF,YAAQ,WAAW,SAAS,EAAE,MAAM,WAAW,SAAS,QAAQ,CAAC;AAAA,EACnE,SAAS,GAAG;AACV,WAAO;AAAA,EACT;AAEA,MAAI,iBAAiB,YAAY,8CAA8C;AAE7E,WACE;AAAA,MAAC;AAAA;AAAA,QACC,OAAM;AAAA,QACN;AAAA,QACA,mBAAkB;AAAA,QAClB,eAAe,MAAM,SAAS,eAAe;AAAA,QAE7C,8BAAC,QAAK,oGAEN;AAAA;AAAA,IACF;AAAA,EAEJ;AAEA,MAAI,iBAAiB,YAAY,8CAA8C;AAE7E,WACE;AAAA,MAAC;AAAA;AAAA,QACC,OAAM;AAAA,QACN;AAAA,QACA,mBAAkB;AAAA,QAClB,eAAe,MAAM,SAAS,eAAe;AAAA,QAE7C,8BAAC,QAAK,0IAEN;AAAA;AAAA,IACF;AAAA,EAEJ;AAEA,SAAO,oBAAC,yBAAsB,OAAc,UAAoB;AAClE;","names":[]}
1
+ {"version":3,"sources":["../../../src/components-page/error-page.tsx"],"sourcesContent":["'use client';\n\nimport { useStackApp } from \"..\";\nimport { PredefinedMessageCard } from \"../components/message-cards/predefined-message-card\";\nimport { KnownError, KnownErrors } from \"@stackframe/stack-shared\";\nimport { KnownErrorMessageCard } from \"../components/message-cards/known-error-message-card\";\nimport { Typography } from \"@stackframe/stack-ui\";\nimport { MessageCard } from \"../components/message-cards/message-card\";\n\n\nexport function ErrorPage({ fullPage=false, searchParams }: { fullPage?: boolean, searchParams: Record<string, string> }) {\n const stackApp = useStackApp();\n const errorCode = searchParams.errorCode;\n const message = searchParams.message;\n const details = searchParams.details;\n\n const unknownErrorCard = <PredefinedMessageCard type='unknownError' fullPage={fullPage} />;\n\n if (!errorCode || !message || !details) {\n return unknownErrorCard;\n }\n\n let error;\n try {\n error = KnownError.fromJson({ code: errorCode, message, details });\n } catch (e) {\n return unknownErrorCard;\n }\n\n if (error instanceof KnownErrors.OAuthConnectionAlreadyConnectedToAnotherUser) {\n // TODO: add \"Connect a different account\" button\n return (\n <MessageCard\n title=\"Failed to connect account\" \n fullPage={fullPage}\n primaryButtonText=\"Go to Home\"\n primaryAction={() => stackApp.redirectToHome()}\n >\n <Typography>\n This account is already connected to another user. Please connect a different account.\n </Typography>\n </MessageCard>\n );\n }\n\n if (error instanceof KnownErrors.UserAlreadyConnectedToAnotherOAuthConnection) {\n // TODO: add \"Connect again\" button\n return (\n <MessageCard \n title=\"Failed to connect account\" \n fullPage={fullPage}\n primaryButtonText=\"Go to Home\"\n primaryAction={() => stackApp.redirectToHome()}\n >\n <Typography>\n 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 return <KnownErrorMessageCard error={error} fullPage={fullPage} />;\n}\n"],"mappings":";;;AAEA,SAAS,mBAAmB;AAC5B,SAAS,6BAA6B;AACtC,SAAS,YAAY,mBAAmB;AACxC,SAAS,6BAA6B;AACtC,SAAS,kBAAkB;AAC3B,SAAS,mBAAmB;AASD;AANpB,SAAS,UAAU,EAAE,WAAS,OAAO,aAAa,GAAiE;AACxH,QAAM,WAAW,YAAY;AAC7B,QAAM,YAAY,aAAa;AAC/B,QAAM,UAAU,aAAa;AAC7B,QAAM,UAAU,aAAa;AAE7B,QAAM,mBAAmB,oBAAC,yBAAsB,MAAK,gBAAe,UAAoB;AAExF,MAAI,CAAC,aAAa,CAAC,WAAW,CAAC,SAAS;AACtC,WAAO;AAAA,EACT;AAEA,MAAI;AACJ,MAAI;AACF,YAAQ,WAAW,SAAS,EAAE,MAAM,WAAW,SAAS,QAAQ,CAAC;AAAA,EACnE,SAAS,GAAG;AACV,WAAO;AAAA,EACT;AAEA,MAAI,iBAAiB,YAAY,8CAA8C;AAE7E,WACE;AAAA,MAAC;AAAA;AAAA,QACC,OAAM;AAAA,QACN;AAAA,QACA,mBAAkB;AAAA,QAClB,eAAe,MAAM,SAAS,eAAe;AAAA,QAE7C,8BAAC,cAAW,oGAEZ;AAAA;AAAA,IACF;AAAA,EAEJ;AAEA,MAAI,iBAAiB,YAAY,8CAA8C;AAE7E,WACE;AAAA,MAAC;AAAA;AAAA,QACC,OAAM;AAAA,QACN;AAAA,QACA,mBAAkB;AAAA,QAClB,eAAe,MAAM,SAAS,eAAe;AAAA,QAE7C,8BAAC,cAAW,0IAEZ;AAAA;AAAA,IACF;AAAA,EAEJ;AAEA,SAAO,oBAAC,yBAAsB,OAAc,UAAoB;AAClE;","names":[]}
@@ -2,12 +2,12 @@
2
2
  "use client";
3
3
 
4
4
  // src/components-page/forgot-password.tsx
5
- import ForgotPasswordElement from "../components/forgot-password";
6
- import MaybeFullPage from "../components/maybe-full-page";
5
+ import { ForgotPasswordForm } from "../components/forgot-password-form";
6
+ import { MaybeFullPage } from "../components/elements/maybe-full-page";
7
7
  import { useUser, useStackApp } from "..";
8
- import PredefinedMessageCard from "../components/message-cards/predefined-message-card";
8
+ import { PredefinedMessageCard } from "../components/message-cards/predefined-message-card";
9
9
  import { useState } from "react";
10
- import { Link, Text } from "../components-core";
10
+ import { StyledLink, Typography } from "@stackframe/stack-ui";
11
11
  import { jsx, jsxs } from "react/jsx-runtime";
12
12
  function ForgotPassword({ fullPage = false }) {
13
13
  const stackApp = useStackApp();
@@ -20,17 +20,17 @@ function ForgotPassword({ fullPage = false }) {
20
20
  return /* @__PURE__ */ jsx(PredefinedMessageCard, { type: "emailSent", fullPage });
21
21
  }
22
22
  return /* @__PURE__ */ jsxs(MaybeFullPage, { fullPage, children: [
23
- /* @__PURE__ */ jsxs("div", { style: { textAlign: "center", marginBottom: "1.5rem" }, children: [
24
- /* @__PURE__ */ jsx(Text, { size: "xl", as: "h2", children: "Reset Your Password" }),
25
- /* @__PURE__ */ jsxs(Text, { children: [
23
+ /* @__PURE__ */ jsxs("div", { className: "text-center mb-6 stack-scope", children: [
24
+ /* @__PURE__ */ jsx(Typography, { type: "h2", children: "Reset Your Password" }),
25
+ /* @__PURE__ */ jsxs(Typography, { children: [
26
26
  "Don't need to reset? ",
27
- /* @__PURE__ */ jsx(Link, { href: stackApp.urls["signUp"], children: "Sign In" })
27
+ /* @__PURE__ */ jsx(StyledLink, { href: stackApp.urls["signUp"], children: "Sign in" })
28
28
  ] })
29
29
  ] }),
30
- /* @__PURE__ */ jsx(ForgotPasswordElement, { onSent: () => setSent(true) })
30
+ /* @__PURE__ */ jsx(ForgotPasswordForm, { onSent: () => setSent(true) })
31
31
  ] });
32
32
  }
33
33
  export {
34
- ForgotPassword as default
34
+ ForgotPassword
35
35
  };
36
36
  //# sourceMappingURL=forgot-password.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components-page/forgot-password.tsx"],"sourcesContent":["'use client';\n\nimport ForgotPasswordElement from \"../components/forgot-password\";\nimport MaybeFullPage from \"../components/maybe-full-page\";\nimport { useUser, useStackApp } from \"..\";\nimport PredefinedMessageCard from \"../components/message-cards/predefined-message-card\";\nimport { useState } from \"react\";\nimport { Link, Text } from \"../components-core\";\n\n\nexport default function ForgotPassword({ fullPage=false }: { fullPage?: boolean }) {\n const stackApp = useStackApp();\n const user = useUser();\n const [sent, setSent] = useState(false);\n\n if (user) {\n return <PredefinedMessageCard type='signedIn' fullPage={fullPage} />;\n }\n\n if (sent) {\n return <PredefinedMessageCard type='emailSent' fullPage={fullPage} />;\n }\n\n return (\n <MaybeFullPage fullPage={fullPage}>\n <div style={{ textAlign: 'center', marginBottom: '1.5rem' }}>\n <Text size=\"xl\" as='h2'>Reset Your Password</Text>\n <Text>\n {\"Don't need to reset? \"}\n <Link href={stackApp.urls['signUp']}>\n Sign In\n </Link>\n </Text>\n </div>\n <ForgotPasswordElement onSent={() => setSent(true)} />\n </MaybeFullPage>\n );\n};\n"],"mappings":";;;AAEA,OAAO,2BAA2B;AAClC,OAAO,mBAAmB;AAC1B,SAAS,SAAS,mBAAmB;AACrC,OAAO,2BAA2B;AAClC,SAAS,gBAAgB;AACzB,SAAS,MAAM,YAAY;AAShB,cAWH,YAXG;AANI,SAAR,eAAgC,EAAE,WAAS,MAAM,GAA2B;AACjF,QAAM,WAAW,YAAY;AAC7B,QAAM,OAAO,QAAQ;AACrB,QAAM,CAAC,MAAM,OAAO,IAAI,SAAS,KAAK;AAEtC,MAAI,MAAM;AACR,WAAO,oBAAC,yBAAsB,MAAK,YAAW,UAAoB;AAAA,EACpE;AAEA,MAAI,MAAM;AACR,WAAO,oBAAC,yBAAsB,MAAK,aAAY,UAAoB;AAAA,EACrE;AAEA,SACE,qBAAC,iBAAc,UACb;AAAA,yBAAC,SAAI,OAAO,EAAE,WAAW,UAAU,cAAc,SAAS,GACxD;AAAA,0BAAC,QAAK,MAAK,MAAK,IAAG,MAAK,iCAAmB;AAAA,MAC3C,qBAAC,QACE;AAAA;AAAA,QACD,oBAAC,QAAK,MAAM,SAAS,KAAK,QAAQ,GAAG,qBAErC;AAAA,SACF;AAAA,OACF;AAAA,IACA,oBAAC,yBAAsB,QAAQ,MAAM,QAAQ,IAAI,GAAG;AAAA,KACtD;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../src/components-page/forgot-password.tsx"],"sourcesContent":["'use client';\n\nimport { ForgotPasswordForm } from \"../components/forgot-password-form\";\nimport { MaybeFullPage } from \"../components/elements/maybe-full-page\";\nimport { useUser, useStackApp } from \"..\";\nimport { PredefinedMessageCard } from \"../components/message-cards/predefined-message-card\";\nimport { useState } from \"react\";\nimport { StyledLink, Typography } from \"@stackframe/stack-ui\";\n\n\nexport function ForgotPassword({ fullPage=false }: { fullPage?: boolean }) {\n const stackApp = useStackApp();\n const user = useUser();\n const [sent, setSent] = useState(false);\n\n if (user) {\n return <PredefinedMessageCard type='signedIn' fullPage={fullPage} />;\n }\n\n if (sent) {\n return <PredefinedMessageCard type='emailSent' fullPage={fullPage} />;\n }\n\n return (\n <MaybeFullPage fullPage={fullPage}>\n <div className=\"text-center mb-6 stack-scope\">\n <Typography type='h2'>Reset Your Password</Typography>\n <Typography>\n {\"Don't need to reset? \"}\n <StyledLink href={stackApp.urls['signUp']}>\n Sign in\n </StyledLink>\n </Typography>\n </div>\n <ForgotPasswordForm onSent={() => setSent(true)} />\n </MaybeFullPage>\n );\n};\n"],"mappings":";;;AAEA,SAAS,0BAA0B;AACnC,SAAS,qBAAqB;AAC9B,SAAS,SAAS,mBAAmB;AACrC,SAAS,6BAA6B;AACtC,SAAS,gBAAgB;AACzB,SAAS,YAAY,kBAAkB;AAS5B,cAWH,YAXG;AANJ,SAAS,eAAe,EAAE,WAAS,MAAM,GAA2B;AACzE,QAAM,WAAW,YAAY;AAC7B,QAAM,OAAO,QAAQ;AACrB,QAAM,CAAC,MAAM,OAAO,IAAI,SAAS,KAAK;AAEtC,MAAI,MAAM;AACR,WAAO,oBAAC,yBAAsB,MAAK,YAAW,UAAoB;AAAA,EACpE;AAEA,MAAI,MAAM;AACR,WAAO,oBAAC,yBAAsB,MAAK,aAAY,UAAoB;AAAA,EACrE;AAEA,SACE,qBAAC,iBAAc,UACb;AAAA,yBAAC,SAAI,WAAU,gCACb;AAAA,0BAAC,cAAW,MAAK,MAAK,iCAAmB;AAAA,MACzC,qBAAC,cACE;AAAA;AAAA,QACD,oBAAC,cAAW,MAAM,SAAS,KAAK,QAAQ,GAAG,qBAE3C;AAAA,SACF;AAAA,OACF;AAAA,IACA,oBAAC,sBAAmB,QAAQ,MAAM,QAAQ,IAAI,GAAG;AAAA,KACnD;AAEJ;","names":[]}
@@ -4,8 +4,8 @@
4
4
  // src/components-page/magic-link-callback.tsx
5
5
  import { use } from "react";
6
6
  import { useStackApp, useUser } from "..";
7
- import MessageCard from "../components/message-cards/message-card";
8
- import PredefinedMessageCard from "../components/message-cards/predefined-message-card";
7
+ import { MessageCard } from "../components/message-cards/message-card";
8
+ import { PredefinedMessageCard } from "../components/message-cards/predefined-message-card";
9
9
  import { KnownErrors } from "@stackframe/stack-shared";
10
10
  import { neverResolve } from "@stackframe/stack-shared/dist/utils/promises";
11
11
  import { jsx } from "react/jsx-runtime";
@@ -39,6 +39,6 @@ function MagicLinkCallback({
39
39
  use(neverResolve());
40
40
  }
41
41
  export {
42
- MagicLinkCallback as default
42
+ MagicLinkCallback
43
43
  };
44
44
  //# sourceMappingURL=magic-link-callback.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components-page/magic-link-callback.tsx"],"sourcesContent":["'use client';\n\nimport { use } from \"react\";\nimport { useStackApp, useUser } from \"..\";\nimport MessageCard from \"../components/message-cards/message-card\";\nimport PredefinedMessageCard from \"../components/message-cards/predefined-message-card\";\nimport { KnownErrors } from \"@stackframe/stack-shared\";\nimport { neverResolve } from \"@stackframe/stack-shared/dist/utils/promises\";\n\nexport default function MagicLinkCallback({ \n searchParams: {\n code = \"\",\n } = {},\n fullPage = false,\n}: { \n searchParams?: Record<string, string>,\n fullPage?: boolean,\n}) {\n const stackApp = useStackApp();\n const user = useUser();\n\n if (user) {\n return <PredefinedMessageCard type='signedIn' fullPage={fullPage} />;\n }\n\n const invalidJsx = (\n <MessageCard title=\"Invalid Magic Link\" fullPage={fullPage}>\n <p>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=\"Expired Magic Link\" fullPage={fullPage}>\n <p>Your magic link has expired. Please request a new magic link if you need to sign-in.</p>\n </MessageCard>\n );\n\n const alreadyUsedJsx = (\n <MessageCard title=\"Magic Link Already Used\" fullPage={fullPage}>\n <p>The magic link has already been used. The link can only be used once. Please request a new magic link if you need to sign-in again.</p>\n </MessageCard>\n );\n\n if (!code) {\n return invalidJsx;\n }\n\n const error = use(stackApp.signInWithMagicLink(code));\n\n if (error instanceof KnownErrors.MagicLinkCodeNotFound) {\n return invalidJsx;\n } else if (error instanceof KnownErrors.MagicLinkCodeExpired) {\n return expiredJsx;\n } else if (error instanceof KnownErrors.MagicLinkCodeAlreadyUsed) {\n return alreadyUsedJsx;\n } else if (error) {\n throw error;\n }\n\n use(neverResolve());\n}\n"],"mappings":";;;AAEA,SAAS,WAAW;AACpB,SAAS,aAAa,eAAe;AACrC,OAAO,iBAAiB;AACxB,OAAO,2BAA2B;AAClC,SAAS,mBAAmB;AAC5B,SAAS,oBAAoB;AAelB;AAbI,SAAR,kBAAmC;AAAA,EACxC,cAAc;AAAA,IACZ,OAAO;AAAA,EACT,IAAI,CAAC;AAAA,EACL,WAAW;AACb,GAGG;AACD,QAAM,WAAW,YAAY;AAC7B,QAAM,OAAO,QAAQ;AAErB,MAAI,MAAM;AACR,WAAO,oBAAC,yBAAsB,MAAK,YAAW,UAAoB;AAAA,EACpE;AAEA,QAAM,aACJ,oBAAC,eAAY,OAAM,sBAAqB,UACtC,8BAAC,OAAE,gHAAkG,GACvG;AAGF,QAAM,aACJ,oBAAC,eAAY,OAAM,sBAAqB,UACtC,8BAAC,OAAE,kGAAoF,GACzF;AAGF,QAAM,iBACJ,oBAAC,eAAY,OAAM,2BAA0B,UAC3C,8BAAC,OAAE,iJAAmI,GACxI;AAGF,MAAI,CAAC,MAAM;AACT,WAAO;AAAA,EACT;AAEA,QAAM,QAAQ,IAAI,SAAS,oBAAoB,IAAI,CAAC;AAEpD,MAAI,iBAAiB,YAAY,uBAAuB;AACtD,WAAO;AAAA,EACT,WAAW,iBAAiB,YAAY,sBAAsB;AAC5D,WAAO;AAAA,EACT,WAAW,iBAAiB,YAAY,0BAA0B;AAChE,WAAO;AAAA,EACT,WAAW,OAAO;AAChB,UAAM;AAAA,EACR;AAEA,MAAI,aAAa,CAAC;AACpB;","names":[]}
1
+ {"version":3,"sources":["../../../src/components-page/magic-link-callback.tsx"],"sourcesContent":["'use client';\n\nimport { use } from \"react\";\nimport { useStackApp, useUser } from \"..\";\nimport { MessageCard } from \"../components/message-cards/message-card\";\nimport { PredefinedMessageCard } from \"../components/message-cards/predefined-message-card\";\nimport { KnownErrors } from \"@stackframe/stack-shared\";\nimport { neverResolve } from \"@stackframe/stack-shared/dist/utils/promises\";\n\nexport function MagicLinkCallback({ \n searchParams: {\n code = \"\",\n } = {},\n fullPage = false,\n}: { \n searchParams?: Record<string, string>,\n fullPage?: boolean,\n}) {\n const stackApp = useStackApp();\n const user = useUser();\n\n if (user) {\n return <PredefinedMessageCard type='signedIn' fullPage={fullPage} />;\n }\n\n const invalidJsx = (\n <MessageCard title=\"Invalid Magic Link\" fullPage={fullPage}>\n <p>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=\"Expired Magic Link\" fullPage={fullPage}>\n <p>Your magic link has expired. Please request a new magic link if you need to sign-in.</p>\n </MessageCard>\n );\n\n const alreadyUsedJsx = (\n <MessageCard title=\"Magic Link Already Used\" fullPage={fullPage}>\n <p>The magic link has already been used. The link can only be used once. Please request a new magic link if you need to sign-in again.</p>\n </MessageCard>\n );\n\n if (!code) {\n return invalidJsx;\n }\n\n const error = use(stackApp.signInWithMagicLink(code));\n\n if (error instanceof KnownErrors.MagicLinkCodeNotFound) {\n return invalidJsx;\n } else if (error instanceof KnownErrors.MagicLinkCodeExpired) {\n return expiredJsx;\n } else if (error instanceof KnownErrors.MagicLinkCodeAlreadyUsed) {\n return alreadyUsedJsx;\n } else if (error) {\n throw error;\n }\n\n use(neverResolve());\n}\n"],"mappings":";;;AAEA,SAAS,WAAW;AACpB,SAAS,aAAa,eAAe;AACrC,SAAS,mBAAmB;AAC5B,SAAS,6BAA6B;AACtC,SAAS,mBAAmB;AAC5B,SAAS,oBAAoB;AAelB;AAbJ,SAAS,kBAAkB;AAAA,EAChC,cAAc;AAAA,IACZ,OAAO;AAAA,EACT,IAAI,CAAC;AAAA,EACL,WAAW;AACb,GAGG;AACD,QAAM,WAAW,YAAY;AAC7B,QAAM,OAAO,QAAQ;AAErB,MAAI,MAAM;AACR,WAAO,oBAAC,yBAAsB,MAAK,YAAW,UAAoB;AAAA,EACpE;AAEA,QAAM,aACJ,oBAAC,eAAY,OAAM,sBAAqB,UACtC,8BAAC,OAAE,gHAAkG,GACvG;AAGF,QAAM,aACJ,oBAAC,eAAY,OAAM,sBAAqB,UACtC,8BAAC,OAAE,kGAAoF,GACzF;AAGF,QAAM,iBACJ,oBAAC,eAAY,OAAM,2BAA0B,UAC3C,8BAAC,OAAE,iJAAmI,GACxI;AAGF,MAAI,CAAC,MAAM;AACT,WAAO;AAAA,EACT;AAEA,QAAM,QAAQ,IAAI,SAAS,oBAAoB,IAAI,CAAC;AAEpD,MAAI,iBAAiB,YAAY,uBAAuB;AACtD,WAAO;AAAA,EACT,WAAW,iBAAiB,YAAY,sBAAsB;AAC5D,WAAO;AAAA,EACT,WAAW,iBAAiB,YAAY,0BAA0B;AAChE,WAAO;AAAA,EACT,WAAW,OAAO;AAChB,UAAM;AAAA,EACR;AAEA,MAAI,aAAa,CAAC;AACpB;","names":[]}
@@ -5,8 +5,8 @@
5
5
  import { useRef, useEffect, useState } from "react";
6
6
  import { useStackApp } from "..";
7
7
  import { runAsynchronously } from "@stackframe/stack-shared/dist/utils/promises";
8
- import MessageCard from "../components/message-cards/message-card";
9
- import { Link } from "../components-core/link";
8
+ import { MessageCard } from "../components/message-cards/message-card";
9
+ import { StyledLink } from "@stackframe/stack-ui";
10
10
  import { jsx, jsxs } from "react/jsx-runtime";
11
11
  function OAuthCallback(props) {
12
12
  const app = useStackApp();
@@ -22,7 +22,7 @@ function OAuthCallback(props) {
22
22
  } catch (e) {
23
23
  setError(e);
24
24
  }
25
- if (!hasRedirected && process.env.NODE_ENV === "production") {
25
+ if (!hasRedirected && (!error || process.env.NODE_ENV === "production")) {
26
26
  await app.redirectToSignIn();
27
27
  }
28
28
  }), []);
@@ -32,7 +32,7 @@ function OAuthCallback(props) {
32
32
  return /* @__PURE__ */ jsxs(MessageCard, { title: "Redirecting...", fullPage: props.fullPage, children: [
33
33
  showRedirectLink ? /* @__PURE__ */ jsxs("p", { children: [
34
34
  "If you are not redirected automatically, ",
35
- /* @__PURE__ */ jsx(Link, { href: app.urls.home, children: "click here" }),
35
+ /* @__PURE__ */ jsx(StyledLink, { href: app.urls.home, children: "click here" }),
36
36
  "."
37
37
  ] }) : null,
38
38
  error ? /* @__PURE__ */ jsxs("div", { children: [
@@ -43,6 +43,6 @@ function OAuthCallback(props) {
43
43
  ] });
44
44
  }
45
45
  export {
46
- OAuthCallback as default
46
+ OAuthCallback
47
47
  };
48
48
  //# sourceMappingURL=oauth-callback.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components-page/oauth-callback.tsx"],"sourcesContent":["'use client';\n\nimport { useRef, useEffect, useState } from \"react\";\nimport { useStackApp } from \"..\";\nimport { runAsynchronously } from \"@stackframe/stack-shared/dist/utils/promises\";\nimport MessageCard from \"../components/message-cards/message-card\";\nimport { Link } from \"../components-core/link\";\n\nexport default function OAuthCallback(props: { fullPage?: boolean }) {\n const app = useStackApp();\n const called = useRef(false);\n const [error, setError] = useState<unknown>(null);\n const [showRedirectLink, setShowRedirectLink] = useState(false);\n\n useEffect(() => runAsynchronously(async () => {\n if (called.current) return;\n called.current = true;\n let hasRedirected = false;\n try {\n hasRedirected = await app.callOAuthCallback();\n } catch (e: any) {\n setError(e);\n }\n if (!hasRedirected && process.env.NODE_ENV === 'production') {\n await app.redirectToSignIn();\n }\n }), []);\n\n useEffect(() => {\n setTimeout(() => setShowRedirectLink(true), 3000);\n }, []);\n\n return <MessageCard title='Redirecting...' fullPage={props.fullPage}>\n {showRedirectLink ? <p>If you are not redirected automatically, <Link href={app.urls.home}>click here</Link>.</p> : null}\n {error ? <div>\n <p>Something went wrong while processing the OAuth callback:</p>\n <pre>{JSON.stringify(error, null, 2)}</pre>\n <p>This is most likely an error in Stack. Please report it.</p>\n </div> : null}\n </MessageCard>;\n}\n"],"mappings":";;;AAEA,SAAS,QAAQ,WAAW,gBAAgB;AAC5C,SAAS,mBAAmB;AAC5B,SAAS,yBAAyB;AAClC,OAAO,iBAAiB;AACxB,SAAS,YAAY;AA2BG,SAA4C,KAA5C;AAzBT,SAAR,cAA+B,OAA+B;AACnE,QAAM,MAAM,YAAY;AACxB,QAAM,SAAS,OAAO,KAAK;AAC3B,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAkB,IAAI;AAChD,QAAM,CAAC,kBAAkB,mBAAmB,IAAI,SAAS,KAAK;AAE9D,YAAU,MAAM,kBAAkB,YAAY;AAC5C,QAAI,OAAO,QAAS;AACpB,WAAO,UAAU;AACjB,QAAI,gBAAgB;AACpB,QAAI;AACF,sBAAgB,MAAM,IAAI,kBAAkB;AAAA,IAC9C,SAAS,GAAQ;AACf,eAAS,CAAC;AAAA,IACZ;AACA,QAAI,CAAC,iBAAiB,QAAQ,IAAI,aAAa,cAAc;AAC3D,YAAM,IAAI,iBAAiB;AAAA,IAC7B;AAAA,EACF,CAAC,GAAG,CAAC,CAAC;AAEN,YAAU,MAAM;AACd,eAAW,MAAM,oBAAoB,IAAI,GAAG,GAAI;AAAA,EAClD,GAAG,CAAC,CAAC;AAEL,SAAO,qBAAC,eAAY,OAAM,kBAAiB,UAAU,MAAM,UACxD;AAAA,uBAAmB,qBAAC,OAAE;AAAA;AAAA,MAAyC,oBAAC,QAAK,MAAM,IAAI,KAAK,MAAM,wBAAU;AAAA,MAAO;AAAA,OAAC,IAAO;AAAA,IACnH,QAAQ,qBAAC,SACR;AAAA,0BAAC,OAAE,uEAAyD;AAAA,MAC5D,oBAAC,SAAK,eAAK,UAAU,OAAO,MAAM,CAAC,GAAE;AAAA,MACrC,oBAAC,OAAE,sEAAwD;AAAA,OAC7D,IAAS;AAAA,KACX;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../src/components-page/oauth-callback.tsx"],"sourcesContent":["'use client';\n\nimport { useRef, useEffect, useState } from \"react\";\nimport { useStackApp } from \"..\";\nimport { runAsynchronously } from \"@stackframe/stack-shared/dist/utils/promises\";\nimport { MessageCard } from \"../components/message-cards/message-card\";\nimport { StyledLink } from \"@stackframe/stack-ui\";\n\nexport function OAuthCallback(props: { fullPage?: boolean }) {\n const app = useStackApp();\n const called = useRef(false);\n const [error, setError] = useState<unknown>(null);\n const [showRedirectLink, setShowRedirectLink] = useState(false);\n\n useEffect(() => runAsynchronously(async () => {\n if (called.current) return;\n called.current = true;\n let hasRedirected = false;\n try {\n hasRedirected = await app.callOAuthCallback();\n } catch (e: any) {\n setError(e);\n }\n if (!hasRedirected && (!error || process.env.NODE_ENV === 'production')) {\n await app.redirectToSignIn();\n }\n }), []);\n\n useEffect(() => {\n setTimeout(() => setShowRedirectLink(true), 3000);\n }, []);\n\n return <MessageCard title='Redirecting...' fullPage={props.fullPage}>\n {showRedirectLink ? <p>If you are not redirected automatically, <StyledLink href={app.urls.home}>click here</StyledLink>.</p> : null}\n {error ? <div>\n <p>Something went wrong while processing the OAuth callback:</p>\n <pre>{JSON.stringify(error, null, 2)}</pre>\n <p>This is most likely an error in Stack. Please report it.</p>\n </div> : null}\n </MessageCard>;\n}\n"],"mappings":";;;AAEA,SAAS,QAAQ,WAAW,gBAAgB;AAC5C,SAAS,mBAAmB;AAC5B,SAAS,yBAAyB;AAClC,SAAS,mBAAmB;AAC5B,SAAS,kBAAkB;AA2BH,SAA4C,KAA5C;AAzBjB,SAAS,cAAc,OAA+B;AAC3D,QAAM,MAAM,YAAY;AACxB,QAAM,SAAS,OAAO,KAAK;AAC3B,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAkB,IAAI;AAChD,QAAM,CAAC,kBAAkB,mBAAmB,IAAI,SAAS,KAAK;AAE9D,YAAU,MAAM,kBAAkB,YAAY;AAC5C,QAAI,OAAO,QAAS;AACpB,WAAO,UAAU;AACjB,QAAI,gBAAgB;AACpB,QAAI;AACF,sBAAgB,MAAM,IAAI,kBAAkB;AAAA,IAC9C,SAAS,GAAQ;AACf,eAAS,CAAC;AAAA,IACZ;AACA,QAAI,CAAC,kBAAkB,CAAC,SAAS,QAAQ,IAAI,aAAa,eAAe;AACvE,YAAM,IAAI,iBAAiB;AAAA,IAC7B;AAAA,EACF,CAAC,GAAG,CAAC,CAAC;AAEN,YAAU,MAAM;AACd,eAAW,MAAM,oBAAoB,IAAI,GAAG,GAAI;AAAA,EAClD,GAAG,CAAC,CAAC;AAEL,SAAO,qBAAC,eAAY,OAAM,kBAAiB,UAAU,MAAM,UACxD;AAAA,uBAAmB,qBAAC,OAAE;AAAA;AAAA,MAAyC,oBAAC,cAAW,MAAM,IAAI,KAAK,MAAM,wBAAU;AAAA,MAAa;AAAA,OAAC,IAAO;AAAA,IAC/H,QAAQ,qBAAC,SACR;AAAA,0BAAC,OAAE,uEAAyD;AAAA,MAC5D,oBAAC,SAAK,eAAK,UAAU,OAAO,MAAM,CAAC,GAAE;AAAA,MACrC,oBAAC,OAAE,sEAAwD;AAAA,OAC7D,IAAS;AAAA,KACX;AACF;","names":[]}
@@ -2,13 +2,13 @@
2
2
  "use client";
3
3
 
4
4
  // src/components-page/password-reset.tsx
5
- import MessageCard from "../components/message-cards/message-card";
5
+ import { MessageCard } from "../components/message-cards/message-card";
6
6
  import { useStackApp } from "..";
7
7
  import { use } from "react";
8
- import PasswordResetInner from "../components/password-reset-inner";
8
+ import PasswordResetForm from "../components/password-reset-form";
9
9
  import { cacheFunction } from "@stackframe/stack-shared/dist/utils/caches";
10
- import { Text } from "../components-core";
11
10
  import { KnownErrors } from "@stackframe/stack-shared";
11
+ import { Typography } from "@stackframe/stack-ui";
12
12
  import { jsx } from "react/jsx-runtime";
13
13
  var cachedVerifyPasswordResetCode = cacheFunction(async (stackApp, code) => {
14
14
  return await stackApp.verifyPasswordResetCode(code);
@@ -18,9 +18,9 @@ function PasswordReset({
18
18
  fullPage = false
19
19
  }) {
20
20
  const stackApp = useStackApp();
21
- const invalidJsx = /* @__PURE__ */ jsx(MessageCard, { title: "Invalid Password Reset Link", fullPage, children: /* @__PURE__ */ jsx(Text, { children: "Please double check if you have the correct password reset link." }) });
22
- const expiredJsx = /* @__PURE__ */ jsx(MessageCard, { title: "Expired Password Reset Link", fullPage, children: /* @__PURE__ */ jsx(Text, { children: "Your password reset link has expired. Please request a new password reset link from the login page." }) });
23
- const usedJsx = /* @__PURE__ */ jsx(MessageCard, { title: "Used Password Reset Link", fullPage, children: /* @__PURE__ */ jsx(Text, { children: "This password reset link has already been used. If you need to reset your password again, please request a new password reset link from the login page." }) });
21
+ const invalidJsx = /* @__PURE__ */ jsx(MessageCard, { title: "Invalid Password Reset Link", fullPage, children: /* @__PURE__ */ jsx(Typography, { children: "Please double check if you have the correct password reset link." }) });
22
+ const expiredJsx = /* @__PURE__ */ jsx(MessageCard, { title: "Expired Password Reset Link", fullPage, children: /* @__PURE__ */ jsx(Typography, { children: "Your password reset link has expired. Please request a new password reset link from the login page." }) });
23
+ const usedJsx = /* @__PURE__ */ jsx(MessageCard, { title: "Used Password Reset Link", fullPage, children: /* @__PURE__ */ jsx(Typography, { children: "This password reset link has already been used. If you need to reset your password again, please request a new password reset link from the login page." }) });
24
24
  const code = searchParams?.code;
25
25
  if (!code) {
26
26
  return invalidJsx;
@@ -35,9 +35,9 @@ function PasswordReset({
35
35
  } else if (error) {
36
36
  throw error;
37
37
  }
38
- return /* @__PURE__ */ jsx(PasswordResetInner, { code, fullPage });
38
+ return /* @__PURE__ */ jsx(PasswordResetForm, { code, fullPage });
39
39
  }
40
40
  export {
41
- PasswordReset as default
41
+ PasswordReset
42
42
  };
43
43
  //# sourceMappingURL=password-reset.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components-page/password-reset.tsx"],"sourcesContent":["'use client';\n\nimport MessageCard from \"../components/message-cards/message-card\";\nimport { StackClientApp, useStackApp } from \"..\";\nimport { use } from \"react\";\nimport PasswordResetInner from \"../components/password-reset-inner\";\nimport { cacheFunction } from \"@stackframe/stack-shared/dist/utils/caches\";\nimport { Text } from \"../components-core\";\nimport { KnownErrors } from \"@stackframe/stack-shared\";\n\nconst cachedVerifyPasswordResetCode = cacheFunction(async (stackApp: StackClientApp<true>, code: string) => {\n return await stackApp.verifyPasswordResetCode(code);\n});\n\nexport default function PasswordReset({\n searchParams,\n fullPage = false,\n}: { \n searchParams?: Record<string, string>,\n fullPage?: boolean, \n}) {\n const stackApp = useStackApp();\n\n const invalidJsx = (\n <MessageCard title=\"Invalid Password Reset Link\" fullPage={fullPage}>\n <Text>Please double check if you have the correct password reset link.</Text>\n </MessageCard>\n );\n\n const expiredJsx = (\n <MessageCard title=\"Expired Password Reset Link\" fullPage={fullPage}>\n <Text>Your password reset link has expired. Please request a new password reset link from the login page.</Text>\n </MessageCard>\n );\n\n const usedJsx = (\n <MessageCard title=\"Used Password Reset Link\" fullPage={fullPage}>\n <Text>This password reset link has already been used. If you need to reset your password again, please request a new password reset link from the login page.</Text>\n </MessageCard>\n );\n\n const code = searchParams?.code;\n if (!code) {\n return invalidJsx;\n }\n\n const error = use(cachedVerifyPasswordResetCode(stackApp, code));\n \n if (error instanceof KnownErrors.PasswordResetCodeNotFound) {\n return invalidJsx;\n } else if (error instanceof KnownErrors.PasswordResetCodeExpired) {\n return expiredJsx;\n } else if (error instanceof KnownErrors.PasswordResetCodeAlreadyUsed) {\n return usedJsx;\n } else if (error) {\n throw error;\n }\n\n return <PasswordResetInner code={code} fullPage={fullPage} />;\n}\n"],"mappings":";;;AAEA,OAAO,iBAAiB;AACxB,SAAyB,mBAAmB;AAC5C,SAAS,WAAW;AACpB,OAAO,wBAAwB;AAC/B,SAAS,qBAAqB;AAC9B,SAAS,YAAY;AACrB,SAAS,mBAAmB;AAiBtB;AAfN,IAAM,gCAAgC,cAAc,OAAO,UAAgC,SAAiB;AAC1G,SAAO,MAAM,SAAS,wBAAwB,IAAI;AACpD,CAAC;AAEc,SAAR,cAA+B;AAAA,EACpC;AAAA,EACA,WAAW;AACb,GAGG;AACD,QAAM,WAAW,YAAY;AAE7B,QAAM,aACJ,oBAAC,eAAY,OAAM,+BAA8B,UAC/C,8BAAC,QAAK,8EAAgE,GACxE;AAGF,QAAM,aACJ,oBAAC,eAAY,OAAM,+BAA8B,UAC/C,8BAAC,QAAK,iHAAmG,GAC3G;AAGF,QAAM,UACJ,oBAAC,eAAY,OAAM,4BAA2B,UAC5C,8BAAC,QAAK,qKAAuJ,GAC/J;AAGF,QAAM,OAAO,cAAc;AAC3B,MAAI,CAAC,MAAM;AACT,WAAO;AAAA,EACT;AAEA,QAAM,QAAQ,IAAI,8BAA8B,UAAU,IAAI,CAAC;AAE/D,MAAI,iBAAiB,YAAY,2BAA2B;AAC1D,WAAO;AAAA,EACT,WAAW,iBAAiB,YAAY,0BAA0B;AAChE,WAAO;AAAA,EACT,WAAW,iBAAiB,YAAY,8BAA8B;AACpE,WAAO;AAAA,EACT,WAAW,OAAO;AAChB,UAAM;AAAA,EACR;AAEA,SAAO,oBAAC,sBAAmB,MAAY,UAAoB;AAC7D;","names":[]}
1
+ {"version":3,"sources":["../../../src/components-page/password-reset.tsx"],"sourcesContent":["'use client';\n\nimport { MessageCard } from \"../components/message-cards/message-card\";\nimport { StackClientApp, useStackApp } from \"..\";\nimport { use } from \"react\";\nimport PasswordResetForm from \"../components/password-reset-form\";\nimport { cacheFunction } from \"@stackframe/stack-shared/dist/utils/caches\";\nimport { KnownErrors } from \"@stackframe/stack-shared\";\nimport { Typography } from \"@stackframe/stack-ui\";\n\nconst cachedVerifyPasswordResetCode = cacheFunction(async (stackApp: StackClientApp<true>, code: string) => {\n return await stackApp.verifyPasswordResetCode(code);\n});\n\nexport function PasswordReset({\n searchParams,\n fullPage = false,\n}: { \n searchParams?: Record<string, string>,\n fullPage?: boolean, \n}) {\n const stackApp = useStackApp();\n\n const invalidJsx = (\n <MessageCard title=\"Invalid Password Reset Link\" fullPage={fullPage}>\n <Typography>Please double check if you have the correct password reset link.</Typography>\n </MessageCard>\n );\n\n const expiredJsx = (\n <MessageCard title=\"Expired Password Reset Link\" fullPage={fullPage}>\n <Typography>Your password reset link has expired. Please request a new password reset link from the login page.</Typography>\n </MessageCard>\n );\n\n const usedJsx = (\n <MessageCard title=\"Used Password Reset Link\" fullPage={fullPage}>\n <Typography>This password reset link has already been used. If you need to reset your password again, please request a new password reset link from the login page.</Typography>\n </MessageCard>\n );\n\n const code = searchParams?.code;\n if (!code) {\n return invalidJsx;\n }\n\n const error = use(cachedVerifyPasswordResetCode(stackApp, code));\n \n if (error instanceof KnownErrors.PasswordResetCodeNotFound) {\n return invalidJsx;\n } else if (error instanceof KnownErrors.PasswordResetCodeExpired) {\n return expiredJsx;\n } else if (error instanceof KnownErrors.PasswordResetCodeAlreadyUsed) {\n return usedJsx;\n } else if (error) {\n throw error;\n }\n\n return <PasswordResetForm code={code} fullPage={fullPage} />;\n}\n"],"mappings":";;;AAEA,SAAS,mBAAmB;AAC5B,SAAyB,mBAAmB;AAC5C,SAAS,WAAW;AACpB,OAAO,uBAAuB;AAC9B,SAAS,qBAAqB;AAC9B,SAAS,mBAAmB;AAC5B,SAAS,kBAAkB;AAiBrB;AAfN,IAAM,gCAAgC,cAAc,OAAO,UAAgC,SAAiB;AAC1G,SAAO,MAAM,SAAS,wBAAwB,IAAI;AACpD,CAAC;AAEM,SAAS,cAAc;AAAA,EAC5B;AAAA,EACA,WAAW;AACb,GAGG;AACD,QAAM,WAAW,YAAY;AAE7B,QAAM,aACJ,oBAAC,eAAY,OAAM,+BAA8B,UAC/C,8BAAC,cAAW,8EAAgE,GAC9E;AAGF,QAAM,aACJ,oBAAC,eAAY,OAAM,+BAA8B,UAC/C,8BAAC,cAAW,iHAAmG,GACjH;AAGF,QAAM,UACJ,oBAAC,eAAY,OAAM,4BAA2B,UAC5C,8BAAC,cAAW,qKAAuJ,GACrK;AAGF,QAAM,OAAO,cAAc;AAC3B,MAAI,CAAC,MAAM;AACT,WAAO;AAAA,EACT;AAEA,QAAM,QAAQ,IAAI,8BAA8B,UAAU,IAAI,CAAC;AAE/D,MAAI,iBAAiB,YAAY,2BAA2B;AAC1D,WAAO;AAAA,EACT,WAAW,iBAAiB,YAAY,0BAA0B;AAChE,WAAO;AAAA,EACT,WAAW,iBAAiB,YAAY,8BAA8B;AACpE,WAAO;AAAA,EACT,WAAW,OAAO;AAChB,UAAM;AAAA,EACR;AAEA,SAAO,oBAAC,qBAAkB,MAAY,UAAoB;AAC5D;","names":[]}
@@ -1,10 +1,10 @@
1
1
  // src/components-page/sign-in.tsx
2
- import AuthPage from "./auth-page";
2
+ import { AuthPage } from "./auth-page";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  function SignIn({ fullPage = false }) {
5
5
  return /* @__PURE__ */ jsx(AuthPage, { fullPage, type: "sign-in" });
6
6
  }
7
7
  export {
8
- SignIn as default
8
+ SignIn
9
9
  };
10
10
  //# sourceMappingURL=sign-in.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components-page/sign-in.tsx"],"sourcesContent":["import AuthPage from './auth-page';\n\nexport default function SignIn({ fullPage=false }: { fullPage?: boolean }) {\n return <AuthPage fullPage={fullPage} type='sign-in' />;\n}\n"],"mappings":";AAAA,OAAO,cAAc;AAGZ;AADM,SAAR,OAAwB,EAAE,WAAS,MAAM,GAA2B;AACzE,SAAO,oBAAC,YAAS,UAAoB,MAAK,WAAU;AACtD;","names":[]}
1
+ {"version":3,"sources":["../../../src/components-page/sign-in.tsx"],"sourcesContent":["import { AuthPage } from './auth-page';\n\nexport function SignIn({ fullPage=false }: { fullPage?: boolean }) {\n return <AuthPage fullPage={fullPage} type='sign-in' />;\n}\n"],"mappings":";AAAA,SAAS,gBAAgB;AAGhB;AADF,SAAS,OAAO,EAAE,WAAS,MAAM,GAA2B;AACjE,SAAO,oBAAC,YAAS,UAAoB,MAAK,WAAU;AACtD;","names":[]}
@@ -4,16 +4,16 @@
4
4
  // src/components-page/sign-out.tsx
5
5
  import { use } from "react";
6
6
  import { useUser } from "..";
7
- import GoHomeMessageCard from "../components/message-cards/predefined-message-card";
7
+ import { PredefinedMessageCard } from "../components/message-cards/predefined-message-card";
8
8
  import { jsx } from "react/jsx-runtime";
9
9
  function SignOut(props) {
10
10
  const user = useUser();
11
11
  if (user) {
12
12
  use(user.signOut());
13
13
  }
14
- return /* @__PURE__ */ jsx(GoHomeMessageCard, { type: "signedOut", fullPage: props.fullPage });
14
+ return /* @__PURE__ */ jsx(PredefinedMessageCard, { type: "signedOut", fullPage: props.fullPage });
15
15
  }
16
16
  export {
17
- SignOut as default
17
+ SignOut
18
18
  };
19
19
  //# sourceMappingURL=sign-out.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components-page/sign-out.tsx"],"sourcesContent":["'use client';\n\nimport { use } from \"react\";\nimport { useUser } from \"..\";\nimport GoHomeMessageCard from \"../components/message-cards/predefined-message-card\";\n\nexport default function SignOut(props: { fullPage?: boolean }) {\n const user = useUser();\n \n if (user) {\n use(user.signOut());\n }\n \n return <GoHomeMessageCard type='signedOut' fullPage={props.fullPage} />;\n}\n"],"mappings":";;;AAEA,SAAS,WAAW;AACpB,SAAS,eAAe;AACxB,OAAO,uBAAuB;AASrB;AAPM,SAAR,QAAyB,OAA+B;AAC7D,QAAM,OAAO,QAAQ;AAErB,MAAI,MAAM;AACR,QAAI,KAAK,QAAQ,CAAC;AAAA,EACpB;AAEA,SAAO,oBAAC,qBAAkB,MAAK,aAAY,UAAU,MAAM,UAAU;AACvE;","names":[]}
1
+ {"version":3,"sources":["../../../src/components-page/sign-out.tsx"],"sourcesContent":["'use client';\n\nimport { use } from \"react\";\nimport { useUser } from \"..\";\nimport { PredefinedMessageCard } from \"../components/message-cards/predefined-message-card\";\n\nexport function SignOut(props: { fullPage?: boolean }) {\n const user = useUser();\n \n if (user) {\n use(user.signOut());\n }\n \n return <PredefinedMessageCard type='signedOut' fullPage={props.fullPage} />;\n}\n"],"mappings":";;;AAEA,SAAS,WAAW;AACpB,SAAS,eAAe;AACxB,SAAS,6BAA6B;AAS7B;AAPF,SAAS,QAAQ,OAA+B;AACrD,QAAM,OAAO,QAAQ;AAErB,MAAI,MAAM;AACR,QAAI,KAAK,QAAQ,CAAC;AAAA,EACpB;AAEA,SAAO,oBAAC,yBAAsB,MAAK,aAAY,UAAU,MAAM,UAAU;AAC3E;","names":[]}
@@ -2,12 +2,12 @@
2
2
  "use client";
3
3
 
4
4
  // src/components-page/sign-up.tsx
5
- import AuthPage from "./auth-page";
5
+ import { AuthPage } from "./auth-page";
6
6
  import { jsx } from "react/jsx-runtime";
7
7
  function SignUp({ fullPage = false }) {
8
8
  return /* @__PURE__ */ jsx(AuthPage, { fullPage, type: "sign-up" });
9
9
  }
10
10
  export {
11
- SignUp as default
11
+ SignUp
12
12
  };
13
13
  //# sourceMappingURL=sign-up.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components-page/sign-up.tsx"],"sourcesContent":["'use client';\nimport AuthPage from './auth-page';\n\nexport default function SignUp({ fullPage=false }: { fullPage?: boolean }) {\n return <AuthPage fullPage={fullPage} type='sign-up' />;\n}\n"],"mappings":";;;AACA,OAAO,cAAc;AAGZ;AADM,SAAR,OAAwB,EAAE,WAAS,MAAM,GAA2B;AACzE,SAAO,oBAAC,YAAS,UAAoB,MAAK,WAAU;AACtD;","names":[]}
1
+ {"version":3,"sources":["../../../src/components-page/sign-up.tsx"],"sourcesContent":["'use client';\nimport { AuthPage } from './auth-page';\n\nexport function SignUp({ fullPage=false }: { fullPage?: boolean }) {\n return <AuthPage fullPage={fullPage} type='sign-up' />;\n}\n"],"mappings":";;;AACA,SAAS,gBAAgB;AAGhB;AADF,SAAS,OAAO,EAAE,WAAS,MAAM,GAA2B;AACjE,SAAO,oBAAC,YAAS,UAAoB,MAAK,WAAU;AACtD;","names":[]}
@@ -1,16 +1,16 @@
1
1
  // src/components-page/stack-handler.tsx
2
- import SignUp from "./sign-up";
3
- import SignIn from "./sign-in";
2
+ import { SignUp } from "./sign-up";
3
+ import { SignIn } from "./sign-in";
4
4
  import { RedirectType, notFound, redirect } from "next/navigation";
5
- import EmailVerification from "./email-verification";
6
- import { PasswordReset } from "..";
7
- import MessageCard from "../components/message-cards/message-card";
8
- import SignOut from "./sign-out";
9
- import ForgotPassword from "./forgot-password";
10
- import OAuthCallback from "./oauth-callback";
11
- import AccountSettings from "./account-settings";
12
- import MagicLinkCallback from "./magic-link-callback";
13
- import ErrorPage from "./error-page";
5
+ import { EmailVerification } from "./email-verification";
6
+ import { MessageCard } from "../components/message-cards/message-card";
7
+ import { SignOut } from "./sign-out";
8
+ import { ForgotPassword } from "./forgot-password";
9
+ import { OAuthCallback } from "./oauth-callback";
10
+ import { AccountSettings } from "./account-settings";
11
+ import { MagicLinkCallback } from "./magic-link-callback";
12
+ import { ErrorPage } from "./error-page";
13
+ import { PasswordReset } from "./password-reset";
14
14
  import { jsx } from "react/jsx-runtime";
15
15
  async function StackHandler({
16
16
  app,