@stackframe/stack 2.3.5 → 2.3.7

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 (261) hide show
  1. package/dist/components/card-frame.d.mts +9 -0
  2. package/dist/components/card-frame.d.ts +8 -5
  3. package/dist/components/card-frame.js +58 -23
  4. package/dist/components/credential-sign-in.d.mts +5 -0
  5. package/dist/components/credential-sign-in.d.ts +5 -1
  6. package/dist/components/credential-sign-in.js +109 -41
  7. package/dist/components/credential-sign-up.d.mts +5 -0
  8. package/dist/components/credential-sign-up.d.ts +5 -1
  9. package/dist/components/credential-sign-up.js +140 -62
  10. package/dist/components/forgot-password.d.mts +7 -0
  11. package/dist/components/forgot-password.d.ts +6 -2
  12. package/dist/components/forgot-password.js +83 -26
  13. package/dist/components/form-warning.d.mts +7 -0
  14. package/dist/components/form-warning.d.ts +6 -2
  15. package/dist/components/form-warning.js +34 -8
  16. package/dist/components/magic-link-sign-in.d.mts +5 -0
  17. package/dist/components/magic-link-sign-in.d.ts +5 -1
  18. package/dist/components/magic-link-sign-in.js +89 -31
  19. package/dist/components/message-card.d.mts +10 -0
  20. package/dist/components/message-card.d.ts +8 -4
  21. package/dist/components/message-card.js +45 -6
  22. package/dist/components/oauth-button.d.mts +8 -0
  23. package/dist/components/oauth-button.d.ts +6 -2
  24. package/dist/components/oauth-button.js +142 -63
  25. package/dist/components/oauth-group.d.mts +7 -0
  26. package/dist/components/oauth-group.d.ts +6 -2
  27. package/dist/components/oauth-group.js +46 -8
  28. package/dist/components/password-field.d.mts +5 -0
  29. package/dist/components/password-field.d.ts +5 -3
  30. package/dist/components/password-field.js +111 -41
  31. package/dist/components/password-reset-inner.d.mts +8 -0
  32. package/dist/components/password-reset-inner.d.ts +6 -2
  33. package/dist/components/password-reset-inner.js +120 -58
  34. package/dist/components/redirect-message-card.d.mts +8 -0
  35. package/dist/components/redirect-message-card.d.ts +6 -2
  36. package/dist/components/redirect-message-card.js +110 -58
  37. package/dist/components/separator-with-text.d.mts +7 -0
  38. package/dist/components/separator-with-text.d.ts +6 -2
  39. package/dist/components/separator-with-text.js +35 -5
  40. package/dist/components/user-avatar.d.mts +13 -0
  41. package/dist/components/user-avatar.d.ts +11 -3
  42. package/dist/components/user-avatar.js +34 -6
  43. package/dist/components/user-button.d.mts +15 -0
  44. package/dist/components/user-button.d.ts +12 -3
  45. package/dist/components/user-button.js +156 -26
  46. package/dist/components-core/avatar.d.mts +8 -0
  47. package/dist/components-core/avatar.d.ts +7 -5
  48. package/dist/components-core/avatar.js +73 -18
  49. package/dist/components-core/button.d.mts +12 -0
  50. package/dist/components-core/button.d.ts +8 -6
  51. package/dist/components-core/button.js +177 -113
  52. package/dist/components-core/card.d.mts +8 -0
  53. package/dist/components-core/card.d.ts +4 -2
  54. package/dist/components-core/card.js +73 -22
  55. package/dist/components-core/collapsible.d.mts +8 -0
  56. package/dist/components-core/collapsible.d.ts +8 -6
  57. package/dist/components-core/collapsible.js +48 -5
  58. package/dist/components-core/container.d.mts +8 -0
  59. package/dist/components-core/container.d.ts +5 -3
  60. package/dist/components-core/container.js +61 -11
  61. package/dist/components-core/dropdown.d.mts +15 -0
  62. package/dist/components-core/dropdown.d.ts +10 -8
  63. package/dist/components-core/dropdown.js +108 -36
  64. package/dist/components-core/index.d.mts +59 -0
  65. package/dist/components-core/index.d.ts +51 -40
  66. package/dist/components-core/index.js +144 -46
  67. package/dist/components-core/input.d.mts +6 -0
  68. package/dist/components-core/input.d.ts +5 -3
  69. package/dist/components-core/input.js +97 -28
  70. package/dist/components-core/label.d.mts +6 -0
  71. package/dist/components-core/label.d.ts +5 -3
  72. package/dist/components-core/label.js +65 -15
  73. package/dist/components-core/link.d.mts +10 -0
  74. package/dist/components-core/link.d.ts +7 -6
  75. package/dist/components-core/link.js +72 -18
  76. package/dist/components-core/loading-indicator.d.mts +13 -0
  77. package/dist/components-core/loading-indicator.d.ts +11 -4
  78. package/dist/components-core/loading-indicator.js +46 -6
  79. package/dist/components-core/popover.d.mts +8 -0
  80. package/dist/components-core/popover.d.ts +8 -6
  81. package/dist/components-core/popover.js +72 -16
  82. package/dist/components-core/separator.d.mts +6 -0
  83. package/dist/components-core/separator.d.ts +5 -3
  84. package/dist/components-core/separator.js +66 -16
  85. package/dist/components-core/skeleton.d.mts +7 -0
  86. package/dist/components-core/skeleton.d.ts +5 -3
  87. package/dist/components-core/skeleton.js +75 -21
  88. package/dist/components-core/tabs.d.mts +9 -0
  89. package/dist/components-core/tabs.d.ts +8 -6
  90. package/dist/components-core/tabs.js +87 -20
  91. package/dist/components-core/text.d.mts +10 -0
  92. package/dist/components-core/text.d.ts +5 -3
  93. package/dist/components-core/text.js +95 -40
  94. package/dist/components-core-joy/button.d.mts +6 -0
  95. package/dist/components-core-joy/button.d.ts +6 -2
  96. package/dist/components-core-joy/button.js +86 -28
  97. package/dist/components-core-joy/input.d.mts +5 -0
  98. package/dist/components-core-joy/input.d.ts +5 -2
  99. package/dist/components-core-joy/input.js +51 -6
  100. package/dist/components-core-joy/separator.d.mts +6 -0
  101. package/dist/components-core-joy/separator.d.ts +6 -2
  102. package/dist/components-core-joy/separator.js +50 -6
  103. package/dist/components-core-joy/tabs.d.mts +9 -0
  104. package/dist/components-core-joy/tabs.d.ts +9 -5
  105. package/dist/components-core-joy/tabs.js +62 -16
  106. package/dist/components-core-joy/text.d.mts +9 -0
  107. package/dist/components-core-joy/text.d.ts +6 -3
  108. package/dist/components-core-joy/text.js +68 -28
  109. package/dist/components-page/account-settings.d.mts +7 -0
  110. package/dist/components-page/account-settings.d.ts +6 -2
  111. package/dist/components-page/account-settings.js +213 -81
  112. package/dist/components-page/auth-page.d.mts +8 -0
  113. package/dist/components-page/auth-page.d.ts +6 -2
  114. package/dist/components-page/auth-page.js +79 -19
  115. package/dist/components-page/email-verification.d.mts +8 -0
  116. package/dist/components-page/email-verification.d.ts +6 -2
  117. package/dist/components-page/email-verification.js +65 -28
  118. package/dist/components-page/forgot-password.d.mts +7 -0
  119. package/dist/components-page/forgot-password.d.ts +6 -2
  120. package/dist/components-page/forgot-password.js +64 -20
  121. package/dist/components-page/magic-link-callback.d.mts +8 -0
  122. package/dist/components-page/magic-link-callback.d.ts +6 -2
  123. package/dist/components-page/magic-link-callback.js +72 -34
  124. package/dist/components-page/oauth-callback.d.mts +5 -0
  125. package/dist/components-page/oauth-callback.d.ts +5 -1
  126. package/dist/components-page/oauth-callback.js +52 -16
  127. package/dist/components-page/password-reset.d.mts +8 -0
  128. package/dist/components-page/password-reset.d.ts +6 -2
  129. package/dist/components-page/password-reset.js +70 -34
  130. package/dist/components-page/sign-in.d.mts +7 -0
  131. package/dist/components-page/sign-in.d.ts +6 -2
  132. package/dist/components-page/sign-in.js +41 -5
  133. package/dist/components-page/sign-out.d.mts +5 -0
  134. package/dist/components-page/sign-out.d.ts +5 -1
  135. package/dist/components-page/sign-out.js +47 -11
  136. package/dist/components-page/sign-up.d.mts +7 -0
  137. package/dist/components-page/sign-up.d.ts +6 -2
  138. package/dist/components-page/sign-up.js +41 -5
  139. package/dist/components-page/stack-handler.d.mts +16 -0
  140. package/dist/components-page/stack-handler.d.ts +11 -3
  141. package/dist/components-page/stack-handler.js +102 -64
  142. package/dist/esm/components/card-frame.js +39 -0
  143. package/dist/esm/components/credential-sign-in.js +82 -0
  144. package/dist/esm/components/credential-sign-up.js +114 -0
  145. package/dist/esm/components/forgot-password.js +55 -0
  146. package/dist/esm/components/form-warning.js +15 -0
  147. package/dist/esm/components/magic-link-sign-in.js +61 -0
  148. package/dist/esm/components/message-card.js +16 -0
  149. package/dist/esm/components/oauth-button.js +124 -0
  150. package/dist/esm/components/oauth-group.js +17 -0
  151. package/dist/esm/components/password-field.js +82 -0
  152. package/dist/esm/components/password-reset-inner.js +93 -0
  153. package/dist/esm/components/redirect-message-card.js +83 -0
  154. package/dist/esm/components/separator-with-text.js +16 -0
  155. package/dist/esm/components/user-avatar.js +14 -0
  156. package/dist/esm/components/user-button.js +133 -0
  157. package/dist/esm/components-core/avatar.js +56 -0
  158. package/dist/esm/components-core/button.js +165 -0
  159. package/dist/esm/components-core/card.js +51 -0
  160. package/dist/esm/components-core/collapsible.js +13 -0
  161. package/dist/esm/components-core/container.js +35 -0
  162. package/dist/esm/components-core/dropdown.js +106 -0
  163. package/dist/esm/components-core/index.js +93 -0
  164. package/dist/esm/components-core/input.js +80 -0
  165. package/dist/esm/components-core/label.js +38 -0
  166. package/dist/esm/components-core/link.js +38 -0
  167. package/dist/esm/components-core/loading-indicator.js +27 -0
  168. package/dist/esm/components-core/popover.js +43 -0
  169. package/dist/esm/components-core/separator.js +36 -0
  170. package/dist/esm/components-core/skeleton.js +52 -0
  171. package/dist/esm/components-core/tabs.js +79 -0
  172. package/dist/esm/components-core/text.js +63 -0
  173. package/dist/esm/components-core-joy/button.js +53 -0
  174. package/dist/esm/components-core-joy/input.js +18 -0
  175. package/dist/esm/components-core-joy/separator.js +17 -0
  176. package/dist/esm/components-core-joy/tabs.js +29 -0
  177. package/dist/esm/components-core-joy/text.js +35 -0
  178. package/dist/esm/components-page/account-settings.js +197 -0
  179. package/dist/esm/components-page/auth-page.js +50 -0
  180. package/dist/esm/components-page/email-verification.js +36 -0
  181. package/dist/esm/components-page/forgot-password.js +35 -0
  182. package/dist/esm/components-page/magic-link-callback.js +43 -0
  183. package/dist/esm/components-page/oauth-callback.js +23 -0
  184. package/dist/esm/components-page/password-reset.js +42 -0
  185. package/dist/esm/components-page/sign-in.js +12 -0
  186. package/dist/esm/components-page/sign-out.js +18 -0
  187. package/dist/esm/components-page/sign-up.js +12 -0
  188. package/dist/esm/components-page/stack-handler.js +75 -0
  189. package/dist/esm/index.js +47 -0
  190. package/dist/esm/joy.js +5 -0
  191. package/dist/esm/lib/auth.js +62 -0
  192. package/dist/esm/lib/cookie.js +185 -0
  193. package/dist/esm/lib/hooks.js +29 -0
  194. package/dist/esm/lib/stack-app.js +940 -0
  195. package/dist/esm/providers/component-provider.js +76 -0
  196. package/dist/esm/providers/design-provider.js +36 -0
  197. package/dist/esm/providers/joy-provider.js +35 -0
  198. package/dist/esm/providers/stack-provider-client.js +31 -0
  199. package/dist/esm/providers/stack-provider.js +21 -0
  200. package/dist/esm/providers/styled-components-registry.js +24 -0
  201. package/dist/esm/providers/theme-provider.js +22 -0
  202. package/dist/esm/utils/browser-script.js +25 -0
  203. package/dist/esm/utils/constants.js +34 -0
  204. package/dist/esm/utils/email.js +10 -0
  205. package/dist/esm/utils/next.js +7 -0
  206. package/dist/esm/utils/url.js +21 -0
  207. package/dist/index.d.mts +37 -0
  208. package/dist/index.d.ts +37 -22
  209. package/dist/index.js +106 -21
  210. package/dist/joy.d.mts +16 -0
  211. package/dist/joy.d.ts +16 -1
  212. package/dist/joy.js +30 -1
  213. package/dist/lib/auth.d.mts +11 -0
  214. package/dist/lib/auth.d.ts +8 -4
  215. package/dist/lib/auth.js +83 -57
  216. package/dist/lib/cookie.d.mts +14 -0
  217. package/dist/lib/cookie.d.ts +8 -6
  218. package/dist/lib/cookie.js +217 -45
  219. package/dist/lib/hooks.d.mts +35 -0
  220. package/dist/lib/hooks.d.ts +14 -8
  221. package/dist/lib/hooks.js +53 -28
  222. package/dist/lib/stack-app.d.mts +227 -0
  223. package/dist/lib/stack-app.d.ts +43 -41
  224. package/dist/lib/stack-app.js +937 -849
  225. package/dist/providers/component-provider.d.mts +113 -0
  226. package/dist/providers/component-provider.d.ts +95 -77
  227. package/dist/providers/component-provider.js +92 -58
  228. package/dist/providers/design-provider.d.mts +34 -0
  229. package/dist/providers/design-provider.d.ts +16 -21
  230. package/dist/providers/design-provider.js +57 -58
  231. package/dist/providers/joy-provider.d.mts +36 -0
  232. package/dist/providers/joy-provider.d.ts +30 -14
  233. package/dist/providers/joy-provider.js +58 -30
  234. package/dist/providers/stack-provider-client.d.mts +20 -0
  235. package/dist/providers/stack-provider-client.d.ts +15 -8
  236. package/dist/providers/stack-provider-client.js +64 -20
  237. package/dist/providers/stack-provider.d.mts +14 -0
  238. package/dist/providers/stack-provider.d.ts +13 -5
  239. package/dist/providers/stack-provider.js +39 -8
  240. package/dist/providers/styled-components-registry.d.mts +8 -0
  241. package/dist/providers/styled-components-registry.d.ts +8 -4
  242. package/dist/providers/styled-components-registry.js +43 -17
  243. package/dist/providers/theme-provider.d.mts +22 -0
  244. package/dist/providers/theme-provider.d.ts +21 -9
  245. package/dist/providers/theme-provider.js +55 -19
  246. package/dist/utils/browser-script.d.mts +5 -0
  247. package/dist/utils/browser-script.d.ts +5 -0
  248. package/dist/utils/browser-script.js +50 -0
  249. package/dist/utils/constants.d.mts +48 -0
  250. package/dist/utils/constants.d.ts +11 -9
  251. package/dist/utils/constants.js +66 -21
  252. package/dist/utils/email.d.mts +3 -0
  253. package/dist/utils/email.d.ts +3 -1
  254. package/dist/utils/email.js +44 -6
  255. package/dist/utils/next.d.mts +3 -0
  256. package/dist/utils/next.d.ts +3 -1
  257. package/dist/utils/next.js +31 -3
  258. package/dist/utils/url.d.mts +4 -0
  259. package/dist/utils/url.d.ts +4 -2
  260. package/dist/utils/url.js +44 -13
  261. package/package.json +19 -10
@@ -0,0 +1,9 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import React__default from 'react';
3
+
4
+ declare function CardFrame({ children, fullPage }: {
5
+ children: React__default.ReactNode;
6
+ fullPage?: boolean;
7
+ }): string | number | boolean | Iterable<React__default.ReactNode> | Promise<React__default.AwaitedReactNode> | react_jsx_runtime.JSX.Element | null | undefined;
8
+
9
+ export { CardFrame as default };
@@ -1,6 +1,9 @@
1
- /// <reference types="react/experimental" />
2
- import React from "react";
3
- export default function CardFrame({ children, fullPage }: {
4
- children: React.ReactNode;
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import React__default from 'react';
3
+
4
+ declare function CardFrame({ children, fullPage }: {
5
+ children: React__default.ReactNode;
5
6
  fullPage?: boolean;
6
- }): string | number | boolean | Iterable<React.ReactNode> | Promise<React.AwaitedReactNode> | import("react/jsx-runtime").JSX.Element | null | undefined;
7
+ }): string | number | boolean | Iterable<React__default.ReactNode> | Promise<React__default.AwaitedReactNode> | react_jsx_runtime.JSX.Element | null | undefined;
8
+
9
+ export { CardFrame as default };
@@ -1,24 +1,59 @@
1
- 'use client';
2
- import { jsx as _jsx } from "react/jsx-runtime";
3
- import { Container } from "../components-core";
4
- import { useEffect, useState } from "react";
5
- export default function CardFrame({ children, fullPage = true }) {
6
- const [hasNoParent, setHasNoParent] = useState(false);
7
- useEffect(() => {
8
- const component = document.getElementById('stack-card-frame');
9
- setHasNoParent(!component?.parentElement ||
10
- component?.parentElement === document.body ||
11
- component?.parentElement === document.documentElement);
12
- }, []);
13
- if (fullPage) {
14
- return (_jsx("div", { id: 'stack-card-frame', style: {
15
- height: hasNoParent ? '100vh' : '100%',
16
- display: 'flex',
17
- alignItems: 'center',
18
- justifyContent: 'center',
19
- }, children: _jsx(Container, { size: 380, style: { padding: '1rem 1rem' }, children: children }) }));
20
- }
21
- else {
22
- return children;
23
- }
1
+ "use client";
2
+ "use strict";
3
+ "use client";
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
21
+
22
+ // src/components/card-frame.tsx
23
+ var card_frame_exports = {};
24
+ __export(card_frame_exports, {
25
+ default: () => CardFrame
26
+ });
27
+ module.exports = __toCommonJS(card_frame_exports);
28
+ var import_components_core = require("../components-core");
29
+ var import_react = require("react");
30
+ var import_jsx_runtime = require("react/jsx-runtime");
31
+ function CardFrame({
32
+ children,
33
+ fullPage = true
34
+ }) {
35
+ const [hasNoParent, setHasNoParent] = (0, import_react.useState)(false);
36
+ (0, import_react.useEffect)(() => {
37
+ const component = document.getElementById("stack-card-frame");
38
+ setHasNoParent(
39
+ !component?.parentElement || component?.parentElement === document.body || component?.parentElement === document.documentElement
40
+ );
41
+ }, []);
42
+ if (fullPage) {
43
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
44
+ "div",
45
+ {
46
+ id: "stack-card-frame",
47
+ style: {
48
+ height: hasNoParent ? "100vh" : "100%",
49
+ display: "flex",
50
+ alignItems: "center",
51
+ justifyContent: "center"
52
+ },
53
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components_core.Container, { size: 380, style: { padding: "1rem 1rem" }, children })
54
+ }
55
+ );
56
+ } else {
57
+ return children;
58
+ }
24
59
  }
@@ -0,0 +1,5 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+
3
+ declare function CredentialSignIn(): react_jsx_runtime.JSX.Element;
4
+
5
+ export { CredentialSignIn as default };
@@ -1 +1,5 @@
1
- export default function CredentialSignIn(): import("react/jsx-runtime").JSX.Element;
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+
3
+ declare function CredentialSignIn(): react_jsx_runtime.JSX.Element;
4
+
5
+ export { CredentialSignIn as default };
@@ -1,44 +1,112 @@
1
- 'use client';
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { useState } from "react";
4
- import FormWarningText from "./form-warning";
5
- import PasswordField from "./password-field";
6
- import { validateEmail } from "../utils/email";
7
- import { useStackApp } from "..";
8
- import { Button, Input, Label, Link } from "../components-core";
9
- import { KnownErrors } from "@stackframe/stack-shared";
10
- export default function CredentialSignIn() {
11
- const [email, setEmail] = useState('');
12
- const [emailError, setEmailError] = useState('');
13
- const [password, setPassword] = useState('');
14
- const [passwordError, setPasswordError] = useState('');
15
- const app = useStackApp();
16
- const onSubmit = async () => {
17
- if (!email) {
18
- setEmailError('Please enter your email');
19
- return;
1
+ "use client";
2
+ "use strict";
3
+ "use client";
4
+ var __create = Object.create;
5
+ var __defProp = Object.defineProperty;
6
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
7
+ var __getOwnPropNames = Object.getOwnPropertyNames;
8
+ var __getProtoOf = Object.getPrototypeOf;
9
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
10
+ var __export = (target, all) => {
11
+ for (var name in all)
12
+ __defProp(target, name, { get: all[name], enumerable: true });
13
+ };
14
+ var __copyProps = (to, from, except, desc) => {
15
+ if (from && typeof from === "object" || typeof from === "function") {
16
+ for (let key of __getOwnPropNames(from))
17
+ if (!__hasOwnProp.call(to, key) && key !== except)
18
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
19
+ }
20
+ return to;
21
+ };
22
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
23
+ // If the importer is in node compatibility mode or this is not an ESM
24
+ // file that has been converted to a CommonJS file using a Babel-
25
+ // compatible transform (i.e. "__esModule" has not been set), then set
26
+ // "default" to the CommonJS "module.exports" for node compatibility.
27
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
28
+ mod
29
+ ));
30
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
31
+
32
+ // src/components/credential-sign-in.tsx
33
+ var credential_sign_in_exports = {};
34
+ __export(credential_sign_in_exports, {
35
+ default: () => CredentialSignIn
36
+ });
37
+ module.exports = __toCommonJS(credential_sign_in_exports);
38
+ var import_react = require("react");
39
+ var import_form_warning = __toESM(require("./form-warning"));
40
+ var import_password_field = __toESM(require("./password-field"));
41
+ var import_email = require("../utils/email");
42
+ var import__ = require("..");
43
+ var import_components_core = require("../components-core");
44
+ var import_stack_shared = require("@stackframe/stack-shared");
45
+ var import_jsx_runtime = require("react/jsx-runtime");
46
+ function CredentialSignIn() {
47
+ const [email, setEmail] = (0, import_react.useState)("");
48
+ const [emailError, setEmailError] = (0, import_react.useState)("");
49
+ const [password, setPassword] = (0, import_react.useState)("");
50
+ const [passwordError, setPasswordError] = (0, import_react.useState)("");
51
+ const app = (0, import__.useStackApp)();
52
+ const onSubmit = async () => {
53
+ if (!email) {
54
+ setEmailError("Please enter your email");
55
+ return;
56
+ }
57
+ if (!(0, import_email.validateEmail)(email)) {
58
+ setEmailError("Please enter a valid email");
59
+ return;
60
+ }
61
+ if (!password) {
62
+ setPasswordError("Please enter your password");
63
+ return;
64
+ }
65
+ const error = await app.signInWithCredential({ email, password });
66
+ if (error instanceof import_stack_shared.KnownErrors.EmailPasswordMismatch) {
67
+ setPasswordError("Wrong email or password");
68
+ } else if (error) {
69
+ setEmailError(`An error occurred. ${error.message}`);
70
+ }
71
+ };
72
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { style: { display: "flex", flexDirection: "column", alignItems: "stretch" }, children: [
73
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components_core.Label, { htmlFor: "email", children: "Email" }),
74
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
75
+ import_components_core.Input,
76
+ {
77
+ id: "email",
78
+ type: "email",
79
+ name: "email",
80
+ value: email,
81
+ onChange: (e) => {
82
+ setEmail(e.target.value);
83
+ setEmailError("");
20
84
  }
21
- if (!validateEmail(email)) {
22
- setEmailError('Please enter a valid email');
23
- return;
85
+ }
86
+ ),
87
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_form_warning.default, { text: emailError }),
88
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components_core.Label, { htmlFor: "password", style: { marginTop: "1rem" }, children: "Password" }),
89
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
90
+ import_password_field.default,
91
+ {
92
+ id: "password",
93
+ name: "password",
94
+ value: password,
95
+ onChange: (e) => {
96
+ setPassword(e.target.value);
97
+ setPasswordError("");
24
98
  }
25
- if (!password) {
26
- setPasswordError('Please enter your password');
27
- return;
28
- }
29
- const error = await app.signInWithCredential({ email, password });
30
- if (error instanceof KnownErrors.EmailPasswordMismatch) {
31
- setPasswordError('Wrong email or password');
32
- }
33
- else if (error) {
34
- setEmailError(`An error occurred. ${error.message}`);
35
- }
36
- };
37
- return (_jsxs("div", { style: { display: 'flex', flexDirection: 'column', alignItems: 'stretch' }, children: [_jsx(Label, { htmlFor: "email", children: "Email" }), _jsx(Input, { id: "email", type: "email", name: "email", value: email, onChange: (e) => {
38
- setEmail(e.target.value);
39
- setEmailError('');
40
- } }), _jsx(FormWarningText, { text: emailError }), _jsx(Label, { htmlFor: "password", style: { marginTop: '1rem' }, children: "Password" }), _jsx(PasswordField, { id: "password", name: "password", value: password, onChange: (e) => {
41
- setPassword(e.target.value);
42
- setPasswordError('');
43
- } }), _jsx(FormWarningText, { text: passwordError }), _jsx(Link, { href: app.urls.forgotPassword, size: 'sm', style: { marginTop: '0.5rem' }, children: "Forgot password?" }), _jsx(Button, { style: { marginTop: '1.5rem' }, onClick: onSubmit, children: "Sign In" })] }));
99
+ }
100
+ ),
101
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_form_warning.default, { text: passwordError }),
102
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components_core.Link, { href: app.urls.forgotPassword, size: "sm", style: { marginTop: "0.5rem" }, children: "Forgot password?" }),
103
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
104
+ import_components_core.Button,
105
+ {
106
+ style: { marginTop: "1.5rem" },
107
+ onClick: onSubmit,
108
+ children: "Sign In"
109
+ }
110
+ )
111
+ ] });
44
112
  }
@@ -0,0 +1,5 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+
3
+ declare function CredentialSignUp(): react_jsx_runtime.JSX.Element;
4
+
5
+ export { CredentialSignUp as default };
@@ -1 +1,5 @@
1
- export default function CredentialSignUp(): import("react/jsx-runtime").JSX.Element;
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+
3
+ declare function CredentialSignUp(): react_jsx_runtime.JSX.Element;
4
+
5
+ export { CredentialSignUp as default };
@@ -1,66 +1,144 @@
1
- 'use client';
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { useState } from "react";
4
- import PasswordField from "./password-field";
5
- import FormWarningText from "./form-warning";
6
- import { validateEmail } from "../utils/email";
7
- import { getPasswordError } from "@stackframe/stack-shared/dist/helpers/password";
8
- import { useStackApp } from "..";
9
- import { Label, Input, Button } from "../components-core";
10
- import { KnownErrors } from "@stackframe/stack-shared";
11
- export default function CredentialSignUp() {
12
- const [email, setEmail] = useState('');
13
- const [emailError, setEmailError] = useState('');
14
- const [password, setPassword] = useState('');
15
- const [passwordError, setPasswordError] = useState('');
16
- const [passwordRepeat, setPasswordRepeat] = useState('');
17
- const [passwordRepeatError, setPasswordRepeatError] = useState('');
18
- const app = useStackApp();
19
- const onSubmit = async () => {
20
- if (!email) {
21
- setEmailError('Please enter your email');
22
- return;
1
+ "use client";
2
+ "use strict";
3
+ "use client";
4
+ var __create = Object.create;
5
+ var __defProp = Object.defineProperty;
6
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
7
+ var __getOwnPropNames = Object.getOwnPropertyNames;
8
+ var __getProtoOf = Object.getPrototypeOf;
9
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
10
+ var __export = (target, all) => {
11
+ for (var name in all)
12
+ __defProp(target, name, { get: all[name], enumerable: true });
13
+ };
14
+ var __copyProps = (to, from, except, desc) => {
15
+ if (from && typeof from === "object" || typeof from === "function") {
16
+ for (let key of __getOwnPropNames(from))
17
+ if (!__hasOwnProp.call(to, key) && key !== except)
18
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
19
+ }
20
+ return to;
21
+ };
22
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
23
+ // If the importer is in node compatibility mode or this is not an ESM
24
+ // file that has been converted to a CommonJS file using a Babel-
25
+ // compatible transform (i.e. "__esModule" has not been set), then set
26
+ // "default" to the CommonJS "module.exports" for node compatibility.
27
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
28
+ mod
29
+ ));
30
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
31
+
32
+ // src/components/credential-sign-up.tsx
33
+ var credential_sign_up_exports = {};
34
+ __export(credential_sign_up_exports, {
35
+ default: () => CredentialSignUp
36
+ });
37
+ module.exports = __toCommonJS(credential_sign_up_exports);
38
+ var import_react = require("react");
39
+ var import_password_field = __toESM(require("./password-field"));
40
+ var import_form_warning = __toESM(require("./form-warning"));
41
+ var import_email = require("../utils/email");
42
+ var import_password = require("@stackframe/stack-shared/dist/helpers/password");
43
+ var import__ = require("..");
44
+ var import_components_core = require("../components-core");
45
+ var import_stack_shared = require("@stackframe/stack-shared");
46
+ var import_jsx_runtime = require("react/jsx-runtime");
47
+ function CredentialSignUp() {
48
+ const [email, setEmail] = (0, import_react.useState)("");
49
+ const [emailError, setEmailError] = (0, import_react.useState)("");
50
+ const [password, setPassword] = (0, import_react.useState)("");
51
+ const [passwordError, setPasswordError] = (0, import_react.useState)("");
52
+ const [passwordRepeat, setPasswordRepeat] = (0, import_react.useState)("");
53
+ const [passwordRepeatError, setPasswordRepeatError] = (0, import_react.useState)("");
54
+ const app = (0, import__.useStackApp)();
55
+ const onSubmit = async () => {
56
+ if (!email) {
57
+ setEmailError("Please enter your email");
58
+ return;
59
+ }
60
+ if (!(0, import_email.validateEmail)(email)) {
61
+ setEmailError("Please enter a valid email");
62
+ return;
63
+ }
64
+ if (!password) {
65
+ setPasswordError("Please enter your password");
66
+ return;
67
+ }
68
+ if (!passwordRepeat) {
69
+ setPasswordRepeatError("Please repeat your password");
70
+ return;
71
+ }
72
+ if (password !== passwordRepeat) {
73
+ setPasswordRepeatError("Passwords do not match");
74
+ return;
75
+ }
76
+ const passwordError2 = (0, import_password.getPasswordError)(password);
77
+ if (passwordError2) {
78
+ setPasswordError(passwordError2.message);
79
+ return;
80
+ }
81
+ let error;
82
+ error = await app.signUpWithCredential({ email, password });
83
+ if (error instanceof import_stack_shared.KnownErrors.UserEmailAlreadyExists) {
84
+ setEmailError("User already exists");
85
+ } else if (error) {
86
+ setEmailError(`An error occurred. ${error.message}`);
87
+ }
88
+ };
89
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { style: { display: "flex", flexDirection: "column", alignItems: "stretch" }, children: [
90
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components_core.Label, { htmlFor: "email", children: "Email" }),
91
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
92
+ import_components_core.Input,
93
+ {
94
+ id: "email",
95
+ type: "email",
96
+ name: "email",
97
+ value: email,
98
+ onChange: (e) => {
99
+ setEmail(e.target.value);
100
+ setEmailError("");
23
101
  }
24
- if (!validateEmail(email)) {
25
- setEmailError('Please enter a valid email');
26
- return;
102
+ }
103
+ ),
104
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_form_warning.default, { text: emailError }),
105
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components_core.Label, { htmlFor: "password", style: { marginTop: "1rem" }, children: "Password" }),
106
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
107
+ import_password_field.default,
108
+ {
109
+ id: "password",
110
+ name: "password",
111
+ value: password,
112
+ onChange: (e) => {
113
+ setPassword(e.target.value);
114
+ setPasswordError("");
115
+ setPasswordRepeatError("");
27
116
  }
28
- if (!password) {
29
- setPasswordError('Please enter your password');
30
- return;
117
+ }
118
+ ),
119
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_form_warning.default, { text: passwordError }),
120
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components_core.Label, { htmlFor: "repeat-password", style: { marginTop: "1rem" }, children: "Repeat Password" }),
121
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
122
+ import_password_field.default,
123
+ {
124
+ id: "repeat-password",
125
+ name: "repeat-password",
126
+ value: passwordRepeat,
127
+ onChange: (e) => {
128
+ setPasswordRepeat(e.target.value);
129
+ setPasswordError("");
130
+ setPasswordRepeatError("");
31
131
  }
32
- if (!passwordRepeat) {
33
- setPasswordRepeatError('Please repeat your password');
34
- return;
35
- }
36
- if (password !== passwordRepeat) {
37
- setPasswordRepeatError('Passwords do not match');
38
- return;
39
- }
40
- const passwordError = getPasswordError(password);
41
- if (passwordError) {
42
- setPasswordError(passwordError.message);
43
- return;
44
- }
45
- let error;
46
- error = await app.signUpWithCredential({ email, password });
47
- if (error instanceof KnownErrors.UserEmailAlreadyExists) {
48
- setEmailError('User already exists');
49
- }
50
- else if (error) {
51
- setEmailError(`An error occurred. ${error.message}`);
52
- }
53
- };
54
- return (_jsxs("div", { style: { display: 'flex', flexDirection: 'column', alignItems: 'stretch' }, children: [_jsx(Label, { htmlFor: "email", children: "Email" }), _jsx(Input, { id: "email", type: "email", name: "email", value: email, onChange: (e) => {
55
- setEmail(e.target.value);
56
- setEmailError('');
57
- } }), _jsx(FormWarningText, { text: emailError }), _jsx(Label, { htmlFor: "password", style: { marginTop: '1rem' }, children: "Password" }), _jsx(PasswordField, { id: "password", name: "password", value: password, onChange: (e) => {
58
- setPassword(e.target.value);
59
- setPasswordError('');
60
- setPasswordRepeatError('');
61
- } }), _jsx(FormWarningText, { text: passwordError }), _jsx(Label, { htmlFor: "repeat-password", style: { marginTop: '1rem' }, children: "Repeat Password" }), _jsx(PasswordField, { id: "repeat-password", name: "repeat-password", value: passwordRepeat, onChange: (e) => {
62
- setPasswordRepeat(e.target.value);
63
- setPasswordError('');
64
- setPasswordRepeatError('');
65
- } }), _jsx(FormWarningText, { text: passwordRepeatError }), _jsx(Button, { style: { marginTop: '1.5rem' }, onClick: onSubmit, children: "Sign Up" })] }));
132
+ }
133
+ ),
134
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_form_warning.default, { text: passwordRepeatError }),
135
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
136
+ import_components_core.Button,
137
+ {
138
+ style: { marginTop: "1.5rem" },
139
+ onClick: onSubmit,
140
+ children: "Sign Up"
141
+ }
142
+ )
143
+ ] });
66
144
  }
@@ -0,0 +1,7 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+
3
+ declare function ForgotPassword({ onSent }: {
4
+ onSent?: () => void;
5
+ }): react_jsx_runtime.JSX.Element;
6
+
7
+ export { ForgotPassword as default };
@@ -1,3 +1,7 @@
1
- export default function ForgotPassword({ onSent }: {
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+
3
+ declare function ForgotPassword({ onSent }: {
2
4
  onSent?: () => void;
3
- }): import("react/jsx-runtime").JSX.Element;
5
+ }): react_jsx_runtime.JSX.Element;
6
+
7
+ export { ForgotPassword as default };
@@ -1,28 +1,85 @@
1
- 'use client';
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { useState } from "react";
4
- import FormWarningText from "./form-warning";
5
- import { validateEmail } from "../utils/email";
6
- import { useStackApp } from "..";
7
- import { Button, Input, Label } from "../components-core";
8
- export default function ForgotPassword({ onSent }) {
9
- const [email, setEmail] = useState('');
10
- const [emailError, setEmailError] = useState('');
11
- const stackApp = useStackApp();
12
- const onSubmit = async () => {
13
- if (!email) {
14
- setEmailError('Please enter your email');
15
- return;
1
+ "use client";
2
+ "use strict";
3
+ "use client";
4
+ var __create = Object.create;
5
+ var __defProp = Object.defineProperty;
6
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
7
+ var __getOwnPropNames = Object.getOwnPropertyNames;
8
+ var __getProtoOf = Object.getPrototypeOf;
9
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
10
+ var __export = (target, all) => {
11
+ for (var name in all)
12
+ __defProp(target, name, { get: all[name], enumerable: true });
13
+ };
14
+ var __copyProps = (to, from, except, desc) => {
15
+ if (from && typeof from === "object" || typeof from === "function") {
16
+ for (let key of __getOwnPropNames(from))
17
+ if (!__hasOwnProp.call(to, key) && key !== except)
18
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
19
+ }
20
+ return to;
21
+ };
22
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
23
+ // If the importer is in node compatibility mode or this is not an ESM
24
+ // file that has been converted to a CommonJS file using a Babel-
25
+ // compatible transform (i.e. "__esModule" has not been set), then set
26
+ // "default" to the CommonJS "module.exports" for node compatibility.
27
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
28
+ mod
29
+ ));
30
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
31
+
32
+ // src/components/forgot-password.tsx
33
+ var forgot_password_exports = {};
34
+ __export(forgot_password_exports, {
35
+ default: () => ForgotPassword
36
+ });
37
+ module.exports = __toCommonJS(forgot_password_exports);
38
+ var import_react = require("react");
39
+ var import_form_warning = __toESM(require("./form-warning"));
40
+ var import_email = require("../utils/email");
41
+ var import__ = require("..");
42
+ var import_components_core = require("../components-core");
43
+ var import_jsx_runtime = require("react/jsx-runtime");
44
+ function ForgotPassword({ onSent }) {
45
+ const [email, setEmail] = (0, import_react.useState)("");
46
+ const [emailError, setEmailError] = (0, import_react.useState)("");
47
+ const stackApp = (0, import__.useStackApp)();
48
+ const onSubmit = async () => {
49
+ if (!email) {
50
+ setEmailError("Please enter your email");
51
+ return;
52
+ }
53
+ if (!(0, import_email.validateEmail)(email)) {
54
+ setEmailError("Please enter a valid email");
55
+ return;
56
+ }
57
+ await stackApp.sendForgotPasswordEmail(email);
58
+ onSent?.();
59
+ };
60
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { style: { display: "flex", flexDirection: "column", alignItems: "stretch" }, children: [
61
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components_core.Label, { htmlFor: "email", children: "Your Email" }),
62
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
63
+ import_components_core.Input,
64
+ {
65
+ id: "email",
66
+ type: "email",
67
+ name: "email",
68
+ value: email,
69
+ onChange: (e) => {
70
+ setEmail(e.target.value);
71
+ setEmailError("");
16
72
  }
17
- if (!validateEmail(email)) {
18
- setEmailError('Please enter a valid email');
19
- return;
20
- }
21
- await stackApp.sendForgotPasswordEmail(email);
22
- onSent?.();
23
- };
24
- return (_jsxs("div", { style: { display: 'flex', flexDirection: 'column', alignItems: 'stretch' }, children: [_jsx(Label, { htmlFor: "email", children: "Your Email" }), _jsx(Input, { id: "email", type: "email", name: "email", value: email, onChange: (e) => {
25
- setEmail(e.target.value);
26
- setEmailError('');
27
- } }), _jsx(FormWarningText, { text: emailError }), _jsx(Button, { style: { marginTop: '1.5rem' }, onClick: onSubmit, children: "Send Email" })] }));
73
+ }
74
+ ),
75
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_form_warning.default, { text: emailError }),
76
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
77
+ import_components_core.Button,
78
+ {
79
+ style: { marginTop: "1.5rem" },
80
+ onClick: onSubmit,
81
+ children: "Send Email"
82
+ }
83
+ )
84
+ ] });
28
85
  }
@@ -0,0 +1,7 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+
3
+ declare function FormWarningText({ text }: {
4
+ text?: string;
5
+ }): react_jsx_runtime.JSX.Element | null;
6
+
7
+ export { FormWarningText as default };