@stackframe/stack 2.4.28 → 2.5.1

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 +23 -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 +13 -19
  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 +14 -20
  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 +15 -11
  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 +6 -6
  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 +6 -6
  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 +11 -11
  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 +3 -6
  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 -4
  195. package/dist/lib/stack-app.d.ts +4 -4
  196. package/dist/lib/stack-app.js +3 -6
  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
package/CHANGELOG.md CHANGED
@@ -1,5 +1,28 @@
1
1
  # @stackframe/stack
2
2
 
3
+ ## 2.5.1
4
+
5
+ ### Patch Changes
6
+
7
+ - New backend endpoints
8
+ - Updated dependencies
9
+ - @stackframe/stack-shared@2.5.1
10
+ - @stackframe/stack-ui@2.5.1
11
+ - @stackframe/stack-sc@2.5.1
12
+
13
+ ## 2.5.0
14
+
15
+ ### Minor Changes
16
+
17
+ - Client teams and many bugfixes
18
+
19
+ ### Patch Changes
20
+
21
+ - Updated dependencies
22
+ - @stackframe/stack-shared@2.5.0
23
+ - @stackframe/stack-ui@2.5.0
24
+ - @stackframe/stack-sc@2.5.0
25
+
3
26
  ## 2.4.28
4
27
 
5
28
  ### Patch Changes
@@ -0,0 +1,5 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+
3
+ declare function CredentialSignInForm(): react_jsx_runtime.JSX.Element;
4
+
5
+ export { CredentialSignInForm };
@@ -0,0 +1,5 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+
3
+ declare function CredentialSignInForm(): react_jsx_runtime.JSX.Element;
4
+
5
+ export { CredentialSignInForm };
@@ -29,65 +29,75 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
29
29
  ));
30
30
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
31
31
 
32
- // src/components/credential-sign-in.tsx
33
- var credential_sign_in_exports = {};
34
- __export(credential_sign_in_exports, {
35
- default: () => CredentialSignIn
32
+ // src/components/credential-sign-in-form.tsx
33
+ var credential_sign_in_form_exports = {};
34
+ __export(credential_sign_in_form_exports, {
35
+ CredentialSignInForm: () => CredentialSignInForm
36
36
  });
37
- module.exports = __toCommonJS(credential_sign_in_exports);
37
+ module.exports = __toCommonJS(credential_sign_in_form_exports);
38
38
  var import_react_hook_form = require("react-hook-form");
39
39
  var import_yup = require("@hookform/resolvers/yup");
40
40
  var yup = __toESM(require("yup"));
41
- var import_form_warning = __toESM(require("./form-warning"));
42
- var import_password_field = __toESM(require("./password-field"));
41
+ var import_form_warning = require("./elements/form-warning");
43
42
  var import__ = require("..");
44
- var import_components_core = require("../components-core");
45
43
  var import_promises = require("@stackframe/stack-shared/dist/utils/promises");
44
+ var import_stack_ui = require("@stackframe/stack-ui");
45
+ var import_react = require("react");
46
46
  var import_jsx_runtime = require("react/jsx-runtime");
47
47
  var schema = yup.object().shape({
48
48
  email: yup.string().email("Please enter a valid email").required("Please enter your email"),
49
49
  password: yup.string().required("Please enter your password")
50
50
  });
51
- function CredentialSignIn() {
52
- const { register, handleSubmit, setError, formState: { errors }, clearErrors } = (0, import_react_hook_form.useForm)({
51
+ function CredentialSignInForm() {
52
+ const { register, handleSubmit, setError, formState: { errors } } = (0, import_react_hook_form.useForm)({
53
53
  resolver: (0, import_yup.yupResolver)(schema)
54
54
  });
55
55
  const app = (0, import__.useStackApp)();
56
+ const [loading, setLoading] = (0, import_react.useState)(false);
56
57
  const onSubmit = async (data) => {
57
- const { email, password } = data;
58
- const error = await app.signInWithCredential({ email, password });
59
- setError("email", { type: "manual", message: error?.message });
58
+ setLoading(true);
59
+ try {
60
+ const { email, password } = data;
61
+ const error = await app.signInWithCredential({ email, password });
62
+ setError("email", { type: "manual", message: error?.message });
63
+ } finally {
64
+ setLoading(false);
65
+ }
60
66
  };
61
67
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
62
68
  "form",
63
69
  {
64
- style: { display: "flex", flexDirection: "column", alignItems: "stretch" },
70
+ className: "flex flex-col items-stretch stack-scope",
65
71
  onSubmit: (e) => (0, import_promises.runAsynchronouslyWithAlert)(handleSubmit(onSubmit)(e)),
66
72
  noValidate: true,
67
73
  children: [
68
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components_core.Label, { htmlFor: "email", children: "Email" }),
74
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_stack_ui.Label, { htmlFor: "email", className: "mb-1", children: "Email" }),
69
75
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
70
- import_components_core.Input,
76
+ import_stack_ui.Input,
71
77
  {
72
78
  id: "email",
73
79
  type: "email",
74
80
  ...register("email")
75
81
  }
76
82
  ),
77
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_form_warning.default, { text: errors.email?.message?.toString() }),
78
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components_core.Label, { htmlFor: "password", style: { marginTop: "1rem" }, children: "Password" }),
83
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_form_warning.FormWarningText, { text: errors.email?.message?.toString() }),
84
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_stack_ui.Label, { htmlFor: "password", className: "mt-4 mb-1", children: "Password" }),
79
85
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
80
- import_password_field.default,
86
+ import_stack_ui.PasswordInput,
81
87
  {
82
88
  id: "password",
83
89
  ...register("password")
84
90
  }
85
91
  ),
86
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_form_warning.default, { text: errors.password?.message?.toString() }),
87
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components_core.Link, { href: app.urls.forgotPassword, size: "sm", style: { marginTop: "0.5rem" }, children: "Forgot password?" }),
88
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components_core.Button, { type: "submit", style: { marginTop: "1.5rem" }, children: "Sign In" })
92
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_form_warning.FormWarningText, { text: errors.password?.message?.toString() }),
93
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_stack_ui.StyledLink, { href: app.urls.forgotPassword, className: "mt-1 text-sm", children: "Forgot password?" }),
94
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_stack_ui.Button, { type: "submit", className: "mt-6", loading, children: "Sign In" })
89
95
  ]
90
96
  }
91
97
  );
92
98
  }
93
- //# sourceMappingURL=credential-sign-in.js.map
99
+ // Annotate the CommonJS export names for ESM import in node:
100
+ 0 && (module.exports = {
101
+ CredentialSignInForm
102
+ });
103
+ //# sourceMappingURL=credential-sign-in-form.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/components/credential-sign-in-form.tsx"],"sourcesContent":["'use client';\n\nimport { useForm } from \"react-hook-form\";\nimport { yupResolver } from \"@hookform/resolvers/yup\";\nimport * as yup from \"yup\";\nimport { FormWarningText } from \"./elements/form-warning\";\nimport { useStackApp } from \"..\";\nimport { runAsynchronouslyWithAlert } from \"@stackframe/stack-shared/dist/utils/promises\";\nimport { Button, Input, Label, PasswordInput, StyledLink } from \"@stackframe/stack-ui\";\nimport { useState } from \"react\";\n\nconst schema = yup.object().shape({\n email: yup.string().email('Please enter a valid email').required('Please enter your email'),\n password: yup.string().required('Please enter your password')\n});\n\nexport function CredentialSignInForm() {\n const { register, handleSubmit, setError, formState: { errors } } = useForm({\n resolver: yupResolver(schema)\n });\n const app = useStackApp();\n const [loading, setLoading] = useState(false);\n\n const onSubmit = async (data: yup.InferType<typeof schema>) => {\n setLoading(true);\n\n try {\n const { email, password } = data;\n const error = await app.signInWithCredential({ email, password });\n setError('email', { type: 'manual', message: error?.message });\n } finally {\n setLoading(false);\n }\n };\n\n return (\n <form \n className=\"flex flex-col items-stretch stack-scope\"\n onSubmit={e => runAsynchronouslyWithAlert(handleSubmit(onSubmit)(e))}\n noValidate\n >\n <Label htmlFor=\"email\" className=\"mb-1\">Email</Label>\n <Input\n id=\"email\"\n type=\"email\"\n {...register('email')}\n />\n <FormWarningText text={errors.email?.message?.toString()} />\n\n <Label htmlFor=\"password\" className=\"mt-4 mb-1\">Password</Label>\n <PasswordInput\n id=\"password\"\n {...register('password')}\n />\n <FormWarningText text={errors.password?.message?.toString()} />\n\n <StyledLink href={app.urls.forgotPassword} className=\"mt-1 text-sm\">\n Forgot password?\n </StyledLink>\n\n <Button type=\"submit\" className=\"mt-6\" loading={loading}>\n Sign In\n </Button>\n </form>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,6BAAwB;AACxB,iBAA4B;AAC5B,UAAqB;AACrB,0BAAgC;AAChC,eAA4B;AAC5B,sBAA2C;AAC3C,sBAAgE;AAChE,mBAAyB;AA2BrB;AAzBJ,IAAM,SAAa,WAAO,EAAE,MAAM;AAAA,EAChC,OAAW,WAAO,EAAE,MAAM,4BAA4B,EAAE,SAAS,yBAAyB;AAAA,EAC1F,UAAc,WAAO,EAAE,SAAS,4BAA4B;AAC9D,CAAC;AAEM,SAAS,uBAAuB;AACrC,QAAM,EAAE,UAAU,cAAc,UAAU,WAAW,EAAE,OAAO,EAAE,QAAI,gCAAQ;AAAA,IAC1E,cAAU,wBAAY,MAAM;AAAA,EAC9B,CAAC;AACD,QAAM,UAAM,sBAAY;AACxB,QAAM,CAAC,SAAS,UAAU,QAAI,uBAAS,KAAK;AAE5C,QAAM,WAAW,OAAO,SAAuC;AAC7D,eAAW,IAAI;AAEf,QAAI;AACF,YAAM,EAAE,OAAO,SAAS,IAAI;AAC5B,YAAM,QAAQ,MAAM,IAAI,qBAAqB,EAAE,OAAO,SAAS,CAAC;AAChE,eAAS,SAAS,EAAE,MAAM,UAAU,SAAS,OAAO,QAAQ,CAAC;AAAA,IAC/D,UAAE;AACA,iBAAW,KAAK;AAAA,IAClB;AAAA,EACF;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAU;AAAA,MACV,UAAU,WAAK,4CAA2B,aAAa,QAAQ,EAAE,CAAC,CAAC;AAAA,MACnE,YAAU;AAAA,MAEV;AAAA,oDAAC,yBAAM,SAAQ,SAAQ,WAAU,QAAO,mBAAK;AAAA,QAC7C;AAAA,UAAC;AAAA;AAAA,YACC,IAAG;AAAA,YACH,MAAK;AAAA,YACJ,GAAG,SAAS,OAAO;AAAA;AAAA,QACtB;AAAA,QACA,4CAAC,uCAAgB,MAAM,OAAO,OAAO,SAAS,SAAS,GAAG;AAAA,QAE1D,4CAAC,yBAAM,SAAQ,YAAW,WAAU,aAAY,sBAAQ;AAAA,QACxD;AAAA,UAAC;AAAA;AAAA,YACC,IAAG;AAAA,YACF,GAAG,SAAS,UAAU;AAAA;AAAA,QACzB;AAAA,QACA,4CAAC,uCAAgB,MAAM,OAAO,UAAU,SAAS,SAAS,GAAG;AAAA,QAE7D,4CAAC,8BAAW,MAAM,IAAI,KAAK,gBAAgB,WAAU,gBAAe,8BAEpE;AAAA,QAEA,4CAAC,0BAAO,MAAK,UAAS,WAAU,QAAO,SAAkB,qBAEzD;AAAA;AAAA;AAAA,EACF;AAEJ;","names":[]}
@@ -0,0 +1,5 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+
3
+ declare function CredentialSignUpForm(): react_jsx_runtime.JSX.Element;
4
+
5
+ export { CredentialSignUpForm };
@@ -0,0 +1,5 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+
3
+ declare function CredentialSignUpForm(): react_jsx_runtime.JSX.Element;
4
+
5
+ export { CredentialSignUpForm };
@@ -29,21 +29,21 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
29
29
  ));
30
30
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
31
31
 
32
- // src/components/credential-sign-up.tsx
33
- var credential_sign_up_exports = {};
34
- __export(credential_sign_up_exports, {
35
- default: () => CredentialSignUp
32
+ // src/components/credential-sign-up-form.tsx
33
+ var credential_sign_up_form_exports = {};
34
+ __export(credential_sign_up_form_exports, {
35
+ CredentialSignUpForm: () => CredentialSignUpForm
36
36
  });
37
- module.exports = __toCommonJS(credential_sign_up_exports);
37
+ module.exports = __toCommonJS(credential_sign_up_form_exports);
38
38
  var import_react_hook_form = require("react-hook-form");
39
39
  var import_yup = require("@hookform/resolvers/yup");
40
40
  var yup = __toESM(require("yup"));
41
- var import_password_field = __toESM(require("./password-field"));
42
- var import_form_warning = __toESM(require("./form-warning"));
41
+ var import_form_warning = require("./elements/form-warning");
43
42
  var import__ = require("..");
44
- var import_components_core = require("../components-core");
45
43
  var import_promises = require("@stackframe/stack-shared/dist/utils/promises");
46
44
  var import_password = require("@stackframe/stack-shared/dist/helpers/password");
45
+ var import_stack_ui = require("@stackframe/stack-ui");
46
+ var import_react = require("react");
47
47
  var import_jsx_runtime = require("react/jsx-runtime");
48
48
  var schema = yup.object().shape({
49
49
  email: yup.string().email("Please enter a valid email").required("Please enter your email"),
@@ -60,36 +60,42 @@ var schema = yup.object().shape({
60
60
  }),
61
61
  passwordRepeat: yup.string().nullable().oneOf([yup.ref("password"), null], "Passwords do not match").required("Please repeat your password")
62
62
  });
63
- function CredentialSignUp() {
63
+ function CredentialSignUpForm() {
64
64
  const { register, handleSubmit, setError, formState: { errors }, clearErrors } = (0, import_react_hook_form.useForm)({
65
65
  resolver: (0, import_yup.yupResolver)(schema)
66
66
  });
67
67
  const app = (0, import__.useStackApp)();
68
+ const [loading, setLoading] = (0, import_react.useState)(false);
68
69
  const onSubmit = async (data) => {
69
- const { email, password } = data;
70
- const error = await app.signUpWithCredential({ email, password });
71
- setError("email", { type: "manual", message: error?.message });
70
+ setLoading(true);
71
+ try {
72
+ const { email, password } = data;
73
+ const error = await app.signUpWithCredential({ email, password });
74
+ setError("email", { type: "manual", message: error?.message });
75
+ } finally {
76
+ setLoading(false);
77
+ }
72
78
  };
73
79
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
74
80
  "form",
75
81
  {
76
- style: { display: "flex", flexDirection: "column", alignItems: "stretch" },
82
+ className: "flex flex-col items-stretch stack-scope",
77
83
  onSubmit: (e) => (0, import_promises.runAsynchronouslyWithAlert)(handleSubmit(onSubmit)(e)),
78
84
  noValidate: true,
79
85
  children: [
80
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components_core.Label, { htmlFor: "email", children: "Email" }),
86
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_stack_ui.Label, { htmlFor: "email", className: "mb-1", children: "Email" }),
81
87
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
82
- import_components_core.Input,
88
+ import_stack_ui.Input,
83
89
  {
84
90
  id: "email",
85
91
  type: "email",
86
92
  ...register("email")
87
93
  }
88
94
  ),
89
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_form_warning.default, { text: errors.email?.message?.toString() }),
90
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components_core.Label, { htmlFor: "password", style: { marginTop: "1rem" }, children: "Password" }),
95
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_form_warning.FormWarningText, { text: errors.email?.message?.toString() }),
96
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_stack_ui.Label, { htmlFor: "password", className: "mt-4 mb-1", children: "Password" }),
91
97
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
92
- import_password_field.default,
98
+ import_stack_ui.PasswordInput,
93
99
  {
94
100
  id: "password",
95
101
  ...register("password"),
@@ -99,10 +105,10 @@ function CredentialSignUp() {
99
105
  }
100
106
  }
101
107
  ),
102
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_form_warning.default, { text: errors.password?.message?.toString() }),
103
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components_core.Label, { htmlFor: "repeat-password", style: { marginTop: "1rem" }, children: "Repeat Password" }),
108
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_form_warning.FormWarningText, { text: errors.password?.message?.toString() }),
109
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_stack_ui.Label, { htmlFor: "repeat-password", className: "mt-4 mb-1", children: "Repeat Password" }),
104
110
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
105
- import_password_field.default,
111
+ import_stack_ui.PasswordInput,
106
112
  {
107
113
  id: "repeat-password",
108
114
  ...register("passwordRepeat"),
@@ -112,10 +118,14 @@ function CredentialSignUp() {
112
118
  }
113
119
  }
114
120
  ),
115
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_form_warning.default, { text: errors.passwordRepeat?.message?.toString() }),
116
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components_core.Button, { type: "submit", style: { marginTop: "1.5rem" }, children: "Sign Up" })
121
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_form_warning.FormWarningText, { text: errors.passwordRepeat?.message?.toString() }),
122
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_stack_ui.Button, { type: "submit", className: "mt-6", children: "Sign Up" })
117
123
  ]
118
124
  }
119
125
  );
120
126
  }
121
- //# sourceMappingURL=credential-sign-up.js.map
127
+ // Annotate the CommonJS export names for ESM import in node:
128
+ 0 && (module.exports = {
129
+ CredentialSignUpForm
130
+ });
131
+ //# sourceMappingURL=credential-sign-up-form.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/components/credential-sign-up-form.tsx"],"sourcesContent":["'use client';\n\nimport { useForm } from \"react-hook-form\";\nimport { yupResolver } from \"@hookform/resolvers/yup\";\nimport * as yup from \"yup\";\nimport { FormWarningText } from \"./elements/form-warning\";\nimport { useStackApp } from \"..\";\nimport { runAsynchronouslyWithAlert } from \"@stackframe/stack-shared/dist/utils/promises\";\nimport { getPasswordError } from \"@stackframe/stack-shared/dist/helpers/password\";\nimport { Button, Input, Label, PasswordInput } from \"@stackframe/stack-ui\";\nimport { useState } from \"react\";\n\nconst schema = yup.object().shape({\n email: yup.string().email('Please enter a valid email').required('Please enter your email'),\n password: yup.string().required('Please enter your password').test({\n name: 'is-valid-password',\n test: (value, ctx) => {\n const error = getPasswordError(value);\n if (error) {\n return ctx.createError({ message: error.message });\n } else {\n return true;\n }\n }\n }),\n passwordRepeat: yup.string().nullable().oneOf([yup.ref('password'), null], 'Passwords do not match').required('Please repeat your password')\n});\n\nexport function CredentialSignUpForm() {\n const { register, handleSubmit, setError, formState: { errors }, clearErrors } = useForm({\n resolver: yupResolver(schema)\n });\n const app = useStackApp();\n const [loading, setLoading] = useState(false);\n\n const onSubmit = async (data: yup.InferType<typeof schema>) => {\n setLoading(true);\n try {\n const { email, password } = data;\n const error = await app.signUpWithCredential({ email, password });\n setError('email', { type: 'manual', message: error?.message });\n } finally {\n setLoading(false);\n }\n };\n\n return (\n <form \n className=\"flex flex-col items-stretch stack-scope\"\n onSubmit={e => runAsynchronouslyWithAlert(handleSubmit(onSubmit)(e))}\n noValidate\n >\n <Label htmlFor=\"email\" className=\"mb-1\">Email</Label>\n <Input\n id=\"email\"\n type=\"email\"\n {...register('email')}\n />\n <FormWarningText text={errors.email?.message?.toString()} />\n\n <Label htmlFor=\"password\" className=\"mt-4 mb-1\">Password</Label>\n <PasswordInput\n id=\"password\"\n {...register('password')}\n onChange={(e) => {\n clearErrors('password');\n clearErrors('passwordRepeat');\n }}\n />\n <FormWarningText text={errors.password?.message?.toString()} />\n \n <Label htmlFor=\"repeat-password\" className=\"mt-4 mb-1\">Repeat Password</Label>\n <PasswordInput\n id=\"repeat-password\"\n {...register('passwordRepeat')}\n onChange={(e) => {\n clearErrors('password');\n clearErrors('passwordRepeat');\n }}\n />\n <FormWarningText text={errors.passwordRepeat?.message?.toString()} />\n \n <Button type=\"submit\" className=\"mt-6\">\n Sign Up\n </Button>\n </form>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,6BAAwB;AACxB,iBAA4B;AAC5B,UAAqB;AACrB,0BAAgC;AAChC,eAA4B;AAC5B,sBAA2C;AAC3C,sBAAiC;AACjC,sBAAoD;AACpD,mBAAyB;AAqCrB;AAnCJ,IAAM,SAAa,WAAO,EAAE,MAAM;AAAA,EAChC,OAAW,WAAO,EAAE,MAAM,4BAA4B,EAAE,SAAS,yBAAyB;AAAA,EAC1F,UAAc,WAAO,EAAE,SAAS,4BAA4B,EAAE,KAAK;AAAA,IACjE,MAAM;AAAA,IACN,MAAM,CAAC,OAAO,QAAQ;AACpB,YAAM,YAAQ,kCAAiB,KAAK;AACpC,UAAI,OAAO;AACT,eAAO,IAAI,YAAY,EAAE,SAAS,MAAM,QAAQ,CAAC;AAAA,MACnD,OAAO;AACL,eAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF,CAAC;AAAA,EACD,gBAAoB,WAAO,EAAE,SAAS,EAAE,MAAM,CAAK,QAAI,UAAU,GAAG,IAAI,GAAG,wBAAwB,EAAE,SAAS,6BAA6B;AAC7I,CAAC;AAEM,SAAS,uBAAuB;AACrC,QAAM,EAAE,UAAU,cAAc,UAAU,WAAW,EAAE,OAAO,GAAG,YAAY,QAAI,gCAAQ;AAAA,IACvF,cAAU,wBAAY,MAAM;AAAA,EAC9B,CAAC;AACD,QAAM,UAAM,sBAAY;AACxB,QAAM,CAAC,SAAS,UAAU,QAAI,uBAAS,KAAK;AAE5C,QAAM,WAAW,OAAO,SAAuC;AAC7D,eAAW,IAAI;AACf,QAAI;AACF,YAAM,EAAE,OAAO,SAAS,IAAI;AAC5B,YAAM,QAAQ,MAAM,IAAI,qBAAqB,EAAE,OAAO,SAAS,CAAC;AAClE,eAAS,SAAS,EAAE,MAAM,UAAU,SAAS,OAAO,QAAQ,CAAC;AAAA,IAC7D,UAAE;AACA,iBAAW,KAAK;AAAA,IAClB;AAAA,EACF;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAU;AAAA,MACV,UAAU,WAAK,4CAA2B,aAAa,QAAQ,EAAE,CAAC,CAAC;AAAA,MACnE,YAAU;AAAA,MAEV;AAAA,oDAAC,yBAAM,SAAQ,SAAQ,WAAU,QAAO,mBAAK;AAAA,QAC7C;AAAA,UAAC;AAAA;AAAA,YACC,IAAG;AAAA,YACH,MAAK;AAAA,YACJ,GAAG,SAAS,OAAO;AAAA;AAAA,QACtB;AAAA,QACA,4CAAC,uCAAgB,MAAM,OAAO,OAAO,SAAS,SAAS,GAAG;AAAA,QAE1D,4CAAC,yBAAM,SAAQ,YAAW,WAAU,aAAY,sBAAQ;AAAA,QACxD;AAAA,UAAC;AAAA;AAAA,YACC,IAAG;AAAA,YACF,GAAG,SAAS,UAAU;AAAA,YACvB,UAAU,CAAC,MAAM;AACf,0BAAY,UAAU;AACtB,0BAAY,gBAAgB;AAAA,YAC9B;AAAA;AAAA,QACF;AAAA,QACA,4CAAC,uCAAgB,MAAM,OAAO,UAAU,SAAS,SAAS,GAAG;AAAA,QAE7D,4CAAC,yBAAM,SAAQ,mBAAkB,WAAU,aAAY,6BAAe;AAAA,QACtE;AAAA,UAAC;AAAA;AAAA,YACC,IAAG;AAAA,YACF,GAAG,SAAS,gBAAgB;AAAA,YAC7B,UAAU,CAAC,MAAM;AACf,0BAAY,UAAU;AACtB,0BAAY,gBAAgB;AAAA,YAC9B;AAAA;AAAA,QACF;AAAA,QACA,4CAAC,uCAAgB,MAAM,OAAO,gBAAgB,SAAS,SAAS,GAAG;AAAA,QAEnE,4CAAC,0BAAO,MAAK,UAAS,WAAU,QAAO,qBAEvC;AAAA;AAAA;AAAA,EACF;AAEJ;","names":[]}
@@ -4,4 +4,4 @@ declare function FormWarningText({ text }: {
4
4
  text?: string;
5
5
  }): react_jsx_runtime.JSX.Element | null;
6
6
 
7
- export { FormWarningText as default };
7
+ export { FormWarningText };
@@ -4,4 +4,4 @@ declare function FormWarningText({ text }: {
4
4
  text?: string;
5
5
  }): react_jsx_runtime.JSX.Element | null;
6
6
 
7
- export { FormWarningText as default };
7
+ export { FormWarningText };
@@ -19,18 +19,21 @@ var __copyProps = (to, from, except, desc) => {
19
19
  };
20
20
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
21
21
 
22
- // src/components/form-warning.tsx
22
+ // src/components/elements/form-warning.tsx
23
23
  var form_warning_exports = {};
24
24
  __export(form_warning_exports, {
25
- default: () => FormWarningText
25
+ FormWarningText: () => FormWarningText
26
26
  });
27
27
  module.exports = __toCommonJS(form_warning_exports);
28
- var import_components_core = require("../components-core");
29
28
  var import_jsx_runtime = require("react/jsx-runtime");
30
29
  function FormWarningText({ text }) {
31
30
  if (!text) {
32
31
  return null;
33
32
  }
34
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components_core.Text, { size: "sm", variant: "warning", children: text });
33
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "text-red-500 text-sm mt-1", children: text });
35
34
  }
35
+ // Annotate the CommonJS export names for ESM import in node:
36
+ 0 && (module.exports = {
37
+ FormWarningText
38
+ });
36
39
  //# sourceMappingURL=form-warning.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/elements/form-warning.tsx"],"sourcesContent":["'use client';\n\nexport function FormWarningText({ text }: { text?: string }) {\n if (!text) {\n return null;\n }\n return (\n <div className=\"text-red-500 text-sm mt-1\">\n {text}\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOI;AALG,SAAS,gBAAgB,EAAE,KAAK,GAAsB;AAC3D,MAAI,CAAC,MAAM;AACT,WAAO;AAAA,EACT;AACA,SACE,4CAAC,SAAI,WAAU,6BACZ,gBACH;AAEJ;","names":[]}
@@ -1,9 +1,9 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import React__default from 'react';
2
+ import React from 'react';
3
3
 
4
4
  declare function MaybeFullPage({ children, fullPage }: {
5
- children: React__default.ReactNode;
5
+ children: React.ReactNode;
6
6
  fullPage?: boolean;
7
7
  }): react_jsx_runtime.JSX.Element;
8
8
 
9
- export { MaybeFullPage as default };
9
+ export { MaybeFullPage };
@@ -1,9 +1,9 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import React__default from 'react';
2
+ import React from 'react';
3
3
 
4
4
  declare function MaybeFullPage({ children, fullPage }: {
5
- children: React__default.ReactNode;
5
+ children: React.ReactNode;
6
6
  fullPage?: boolean;
7
7
  }): react_jsx_runtime.JSX.Element;
8
8
 
9
- export { MaybeFullPage as default };
9
+ export { MaybeFullPage };
@@ -19,14 +19,15 @@ var __copyProps = (to, from, except, desc) => {
19
19
  };
20
20
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
21
21
 
22
- // src/components/maybe-full-page.tsx
22
+ // src/components/elements/maybe-full-page.tsx
23
23
  var maybe_full_page_exports = {};
24
24
  __export(maybe_full_page_exports, {
25
- default: () => MaybeFullPage
25
+ MaybeFullPage: () => MaybeFullPage
26
26
  });
27
27
  module.exports = __toCommonJS(maybe_full_page_exports);
28
- var import_components_core = require("../components-core");
28
+ var import_stack_ui = require("@stackframe/stack-ui");
29
29
  var import_react = require("react");
30
+ var import_ssr_layout_effect = require("./ssr-layout-effect");
30
31
  var import_jsx_runtime = require("react/jsx-runtime");
31
32
  function MaybeFullPage({
32
33
  children,
@@ -43,9 +44,6 @@ function MaybeFullPage({
43
44
  const offset = el.getBoundingClientRect().top + document.documentElement.scrollTop;
44
45
  el.style.minHeight = \`calc(100vh - \${offset}px)\`;
45
46
  })(${JSON.stringify([id])})`;
46
- (0, import_react.useEffect)(() => {
47
- (0, eval)(scriptString);
48
- }, []);
49
47
  if (fullPage) {
50
48
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
51
49
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
@@ -60,15 +58,18 @@ function MaybeFullPage({
60
58
  alignItems: "center",
61
59
  justifyContent: "center"
62
60
  },
63
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components_core.Container, { size: 380, style: { padding: "1rem 1rem" }, children })
61
+ className: "stack-scope",
62
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_stack_ui.Container, { size: 380, style: { padding: "1rem 1rem" }, children })
64
63
  }
65
64
  ),
66
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("script", { dangerouslySetInnerHTML: {
67
- __html: scriptString
68
- } })
65
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ssr_layout_effect.SsrScript, { script: scriptString })
69
66
  ] });
70
67
  } else {
71
68
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children });
72
69
  }
73
70
  }
71
+ // Annotate the CommonJS export names for ESM import in node:
72
+ 0 && (module.exports = {
73
+ MaybeFullPage
74
+ });
74
75
  //# sourceMappingURL=maybe-full-page.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/elements/maybe-full-page.tsx"],"sourcesContent":["\"use client\";\n\nimport { Container } from \"@stackframe/stack-ui\";\nimport React, { useId } from \"react\";\nimport { SsrScript } from \"./ssr-layout-effect\";\n\nexport function MaybeFullPage({ \n children, \n fullPage=true\n}: { \n children: React.ReactNode, \n fullPage?: boolean, \n}) {\n const uniqueId = useId();\n const id = `stack-card-frame-${uniqueId}`;\n\n const scriptString = `(([id]) => {\n const el = document.getElementById(id);\n if (!el) {\n // component is not full page\n return;\n }\n const offset = el.getBoundingClientRect().top + document.documentElement.scrollTop;\n el.style.minHeight = \\`calc(100vh - \\${offset}px)\\`;\n })(${JSON.stringify([id])})`;\n\n if (fullPage) {\n return (\n <>\n <div \n id={id}\n suppressHydrationWarning\n style={{ \n minHeight: '100vh',\n alignSelf: 'stretch',\n display: 'flex', \n alignItems: 'center', \n justifyContent: 'center',\n }}\n className=\"stack-scope\"\n >\n <Container size={380} style={{ padding: '1rem 1rem' }}>\n {children}\n </Container>\n </div>\n <SsrScript script={scriptString} />\n </>\n );\n } else {\n return <>\n {children}\n </>;\n }\n \n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,sBAA0B;AAC1B,mBAA6B;AAC7B,+BAA0B;AAwBpB;AAtBC,SAAS,cAAc;AAAA,EAC5B;AAAA,EACA,WAAS;AACX,GAGG;AACD,QAAM,eAAW,oBAAM;AACvB,QAAM,KAAK,oBAAoB,QAAQ;AAEvC,QAAM,eAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAQhB,KAAK,UAAU,CAAC,EAAE,CAAC,CAAC;AAEzB,MAAI,UAAU;AACZ,WACE,4EACE;AAAA;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA,0BAAwB;AAAA,UACxB,OAAO;AAAA,YACL,WAAW;AAAA,YACX,WAAW;AAAA,YACX,SAAS;AAAA,YACT,YAAY;AAAA,YACZ,gBAAgB;AAAA,UAClB;AAAA,UACA,WAAU;AAAA,UAEV,sDAAC,6BAAU,MAAM,KAAK,OAAO,EAAE,SAAS,YAAY,GACjD,UACH;AAAA;AAAA,MACF;AAAA,MACA,4CAAC,sCAAU,QAAQ,cAAc;AAAA,OACnC;AAAA,EAEJ,OAAO;AACL,WAAO,2EACJ,UACH;AAAA,EACF;AAEF;","names":[]}
@@ -4,4 +4,4 @@ declare function SeparatorWithText({ text }: {
4
4
  text: string;
5
5
  }): react_jsx_runtime.JSX.Element;
6
6
 
7
- export { SeparatorWithText as default };
7
+ export { SeparatorWithText };
@@ -4,4 +4,4 @@ declare function SeparatorWithText({ text }: {
4
4
  text: string;
5
5
  }): react_jsx_runtime.JSX.Element;
6
6
 
7
- export { SeparatorWithText as default };
7
+ export { SeparatorWithText };
@@ -19,19 +19,23 @@ var __copyProps = (to, from, except, desc) => {
19
19
  };
20
20
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
21
21
 
22
- // src/components/separator-with-text.tsx
22
+ // src/components/elements/separator-with-text.tsx
23
23
  var separator_with_text_exports = {};
24
24
  __export(separator_with_text_exports, {
25
- default: () => SeparatorWithText
25
+ SeparatorWithText: () => SeparatorWithText
26
26
  });
27
27
  module.exports = __toCommonJS(separator_with_text_exports);
28
- var import_components_core = require("../components-core");
28
+ var import_stack_ui = require("@stackframe/stack-ui");
29
29
  var import_jsx_runtime = require("react/jsx-runtime");
30
30
  function SeparatorWithText({ text }) {
31
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { style: { display: "flex", alignItems: "center", justifyContent: "center", marginTop: "1.5rem", marginBottom: "1.5rem" }, children: [
32
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { style: { flex: 1 }, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components_core.Separator, {}) }),
33
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components_core.Text, { style: { padding: "0 16px" }, variant: "secondary", size: "sm", children: text }),
34
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { style: { flex: 1 }, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components_core.Separator, {}) })
31
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex items-center justify-center my-6 stack-scope", children: [
32
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_stack_ui.Separator, {}) }),
33
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "mx-2 text-sm text-zinc-500", children: text }),
34
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_stack_ui.Separator, {}) })
35
35
  ] });
36
36
  }
37
+ // Annotate the CommonJS export names for ESM import in node:
38
+ 0 && (module.exports = {
39
+ SeparatorWithText
40
+ });
37
41
  //# sourceMappingURL=separator-with-text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/elements/separator-with-text.tsx"],"sourcesContent":["'use client';\n\nimport { Separator } from \"@stackframe/stack-ui\";\n\nexport function SeparatorWithText({ text }: { text: string }) {\n return (\n <div className=\"flex items-center justify-center my-6 stack-scope\">\n <div className=\"flex-1\">\n <Separator />\n </div>\n <div className=\"mx-2 text-sm text-zinc-500\">{text}</div>\n <div className=\"flex-1\">\n <Separator />\n </div>\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,sBAA0B;AAItB;AAFG,SAAS,kBAAkB,EAAE,KAAK,GAAqB;AAC5D,SACE,6CAAC,SAAI,WAAU,qDACb;AAAA,gDAAC,SAAI,WAAU,UACb,sDAAC,6BAAU,GACb;AAAA,IACA,4CAAC,SAAI,WAAU,8BAA8B,gBAAK;AAAA,IAClD,4CAAC,SAAI,WAAU,UACb,sDAAC,6BAAU,GACb;AAAA,KACF;AAEJ;","names":[]}
@@ -0,0 +1,7 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+
3
+ declare function SsrScript(props: {
4
+ script: string;
5
+ }): react_jsx_runtime.JSX.Element;
6
+
7
+ export { SsrScript };
@@ -0,0 +1,7 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+
3
+ declare function SsrScript(props: {
4
+ script: string;
5
+ }): react_jsx_runtime.JSX.Element;
6
+
7
+ export { SsrScript };
@@ -1,4 +1,6 @@
1
+ "use client";
1
2
  "use strict";
3
+ "use client";
2
4
  var __defProp = Object.defineProperty;
3
5
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
6
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -17,15 +19,22 @@ var __copyProps = (to, from, except, desc) => {
17
19
  };
18
20
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
21
 
20
- // src/joy.tsx
21
- var joy_exports = {};
22
- __export(joy_exports, {
23
- StackJoyTheme: () => import_joy_provider.StackJoyTheme
22
+ // src/components/elements/ssr-layout-effect.tsx
23
+ var ssr_layout_effect_exports = {};
24
+ __export(ssr_layout_effect_exports, {
25
+ SsrScript: () => SsrScript
24
26
  });
25
- module.exports = __toCommonJS(joy_exports);
26
- var import_joy_provider = require("./providers/joy-provider");
27
+ module.exports = __toCommonJS(ssr_layout_effect_exports);
28
+ var import_react = require("react");
29
+ var import_jsx_runtime = require("react/jsx-runtime");
30
+ function SsrScript(props) {
31
+ (0, import_react.useLayoutEffect)(() => {
32
+ (0, eval)(props.script);
33
+ }, []);
34
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("script", { dangerouslySetInnerHTML: { __html: props.script } });
35
+ }
27
36
  // Annotate the CommonJS export names for ESM import in node:
28
37
  0 && (module.exports = {
29
- StackJoyTheme
38
+ SsrScript
30
39
  });
31
- //# sourceMappingURL=joy.js.map
40
+ //# sourceMappingURL=ssr-layout-effect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/elements/ssr-layout-effect.tsx"],"sourcesContent":["\"use client\";\nimport { useLayoutEffect } from \"react\";\n\nexport function SsrScript(props: { script: string }) {\n useLayoutEffect(() => {\n // TODO fix workaround: React has a bug where it doesn't run the script on the first CSR render if SSR has been skipped due to suspense\n // As a workaround, we run the script in the <script> tag again after the first render\n // Note that we do an indirect eval as described here: https://esbuild.github.io/content-types/#direct-eval\n (0, eval)(props.script);\n }, []);\n\n return <script dangerouslySetInnerHTML={{ __html: props.script }} />;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mBAAgC;AAUvB;AARF,SAAS,UAAU,OAA2B;AACnD,oCAAgB,MAAM;AAIpB,KAAC,GAAG,MAAM,MAAM,MAAM;AAAA,EACxB,GAAG,CAAC,CAAC;AAEL,SAAO,4CAAC,YAAO,yBAAyB,EAAE,QAAQ,MAAM,OAAO,GAAG;AACpE;","names":[]}
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { User } from '../lib/stack-app.mjs';
2
+ import { User } from '../../lib/stack-app.mjs';
3
3
  import '@stackframe/stack-shared';
4
4
  import '@stackframe/stack-shared/dist/interface/clientInterface';
5
5
  import '@stackframe/stack-shared/dist/utils/json';
@@ -13,4 +13,4 @@ declare function UserAvatar(props: {
13
13
  user: User | null;
14
14
  }): react_jsx_runtime.JSX.Element;
15
15
 
16
- export { UserAvatar as default };
16
+ export { UserAvatar };
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { User } from '../lib/stack-app.js';
2
+ import { User } from '../../lib/stack-app.js';
3
3
  import '@stackframe/stack-shared';
4
4
  import '@stackframe/stack-shared/dist/interface/clientInterface';
5
5
  import '@stackframe/stack-shared/dist/utils/json';
@@ -13,4 +13,4 @@ declare function UserAvatar(props: {
13
13
  user: User | null;
14
14
  }): react_jsx_runtime.JSX.Element;
15
15
 
16
- export { UserAvatar as default };
16
+ export { UserAvatar };
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/components/elements/user-avatar.tsx
21
+ var user_avatar_exports = {};
22
+ __export(user_avatar_exports, {
23
+ UserAvatar: () => UserAvatar
24
+ });
25
+ module.exports = __toCommonJS(user_avatar_exports);
26
+ var import_lucide_react = require("lucide-react");
27
+ var import_stack_ui = require("@stackframe/stack-ui");
28
+ var import_jsx_runtime = require("react/jsx-runtime");
29
+ function UserAvatar(props) {
30
+ const user = props.user;
31
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_stack_ui.Avatar, { style: { height: props.size || "34px", width: props.size || "34px" }, children: [
32
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_stack_ui.AvatarImage, { src: user?.profileImageUrl || "" }),
33
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_stack_ui.AvatarFallback, { children: user ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "font-medium", children: (user.displayName || user.primaryEmail)?.slice(0, 2).toUpperCase() }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.UserRound, { className: "h-5 w-5 text-zinc-500" }) })
34
+ ] });
35
+ }
36
+ // Annotate the CommonJS export names for ESM import in node:
37
+ 0 && (module.exports = {
38
+ UserAvatar
39
+ });
40
+ //# sourceMappingURL=user-avatar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/elements/user-avatar.tsx"],"sourcesContent":["import { UserRound } from \"lucide-react\";\nimport { User } from \"../../lib/stack-app\";\nimport { Avatar, AvatarFallback, AvatarImage } from \"@stackframe/stack-ui\";\n\nexport function UserAvatar(props: { size?: number, user: User | null }) {\n const user = props.user;\n return (\n <Avatar style={{ height: props.size || '34px', width: props.size || '34px' }}>\n <AvatarImage src={user?.profileImageUrl || ''} />\n <AvatarFallback>\n {user ? \n <div className='font-medium'>\n {(user.displayName || user.primaryEmail)?.slice(0, 2).toUpperCase()}\n </div> :\n <UserRound className=\"h-5 w-5 text-zinc-500\" />}\n </AvatarFallback>\n </Avatar>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAA0B;AAE1B,sBAAoD;AAKhD;AAHG,SAAS,WAAW,OAA6C;AACtE,QAAM,OAAO,MAAM;AACnB,SACE,6CAAC,0BAAO,OAAO,EAAE,QAAQ,MAAM,QAAQ,QAAQ,OAAO,MAAM,QAAQ,OAAO,GACzE;AAAA,gDAAC,+BAAY,KAAK,MAAM,mBAAmB,IAAI;AAAA,IAC/C,4CAAC,kCACE,iBACC,4CAAC,SAAI,WAAU,eACX,gBAAK,eAAe,KAAK,eAAe,MAAM,GAAG,CAAC,EAAE,YAAY,GACpE,IACA,4CAAC,iCAAU,WAAU,yBAAwB,GACjD;AAAA,KACF;AAEJ;","names":[]}