@stackframe/stack 1.2.1 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/card-frame.d.ts +7 -0
- package/dist/components/card-frame.d.ts.map +1 -0
- package/dist/components/card-frame.js +24 -0
- package/dist/{elements/CardHeader.d.ts → components/card-header.d.ts} +1 -1
- package/dist/components/card-header.d.ts.map +1 -0
- package/dist/components/card-header.js +5 -0
- package/dist/components/credential-sign-in.d.ts +2 -0
- package/dist/components/credential-sign-in.d.ts.map +1 -0
- package/dist/components/credential-sign-in.js +56 -0
- package/dist/components/credential-sign-up.d.ts +2 -0
- package/dist/components/credential-sign-up.d.ts.map +1 -0
- package/dist/components/credential-sign-up.js +73 -0
- package/dist/{elements/DividerWithText.d.ts → components/divider-with-text.d.ts} +1 -1
- package/dist/components/divider-with-text.d.ts.map +1 -0
- package/dist/components/divider-with-text.js +6 -0
- package/dist/components/email-verification.d.ts +5 -0
- package/dist/components/email-verification.d.ts.map +1 -0
- package/dist/components/{EmailVerification.js → email-verification.js} +2 -2
- package/dist/{elements/ForgotPassword.d.ts → components/forgot-password.d.ts} +1 -1
- package/dist/components/forgot-password.d.ts.map +1 -0
- package/dist/components/forgot-password.js +32 -0
- package/dist/components/form-warning.d.ts +4 -0
- package/dist/components/form-warning.d.ts.map +1 -0
- package/dist/components/form-warning.js +9 -0
- package/dist/{elements/MessageCard.d.ts → components/message-card.d.ts} +1 -1
- package/dist/components/message-card.d.ts.map +1 -0
- package/dist/components/message-card.js +7 -0
- package/dist/components/oauth-button.d.ts +5 -0
- package/dist/components/oauth-button.d.ts.map +1 -0
- package/dist/components/oauth-button.js +66 -0
- package/dist/components/oauth-callback.d.ts +2 -0
- package/dist/components/oauth-callback.d.ts.map +1 -0
- package/dist/components/oauth-callback.js +17 -0
- package/dist/components/oauth-group.d.ts +4 -0
- package/dist/components/oauth-group.d.ts.map +1 -0
- package/dist/components/oauth-group.js +9 -0
- package/dist/components/password-field.d.ts +4 -0
- package/dist/components/password-field.d.ts.map +1 -0
- package/dist/components/password-field.js +41 -0
- package/dist/{elements/PasswordResetInner.d.ts → components/password-reset-inner.d.ts} +1 -1
- package/dist/components/password-reset-inner.d.ts.map +1 -0
- package/dist/{elements/PasswordResetInner.js → components/password-reset-inner.js} +18 -16
- package/dist/components/password-reset.d.ts +5 -0
- package/dist/components/password-reset.d.ts.map +1 -0
- package/dist/components/{PasswordReset.js → password-reset.js} +6 -5
- package/dist/{elements/RedirectMessageCard.d.ts → components/redirect-message-card.d.ts} +1 -1
- package/dist/components/redirect-message-card.d.ts.map +1 -0
- package/dist/{elements/RedirectMessageCard.js → components/redirect-message-card.js} +19 -15
- package/dist/components/sign-in.d.ts +4 -0
- package/dist/components/sign-in.d.ts.map +1 -0
- package/dist/components/sign-in.js +20 -0
- package/dist/components/sign-out.d.ts +2 -0
- package/dist/components/sign-out.d.ts.map +1 -0
- package/dist/components/{SignOut.js → sign-out.js} +5 -4
- package/dist/components/sign-up.d.ts +4 -0
- package/dist/components/sign-up.d.ts.map +1 -0
- package/dist/components/sign-up.js +20 -0
- package/dist/components/stack-handler.d.ts +9 -0
- package/dist/components/stack-handler.d.ts.map +1 -0
- package/dist/components/stack-handler.js +58 -0
- package/dist/components-core/button.d.ts +10 -0
- package/dist/components-core/button.d.ts.map +1 -0
- package/dist/components-core/button.js +115 -0
- package/dist/components-core/container.d.ts +6 -0
- package/dist/components-core/container.d.ts.map +1 -0
- package/dist/components-core/container.js +19 -0
- package/dist/components-core/divider.d.ts +7 -0
- package/dist/components-core/divider.d.ts.map +1 -0
- package/dist/components-core/divider.js +17 -0
- package/dist/components-core/index.d.ts +17 -0
- package/dist/components-core/index.d.ts.map +1 -0
- package/dist/components-core/index.js +32 -0
- package/dist/components-core/input.d.ts +5 -0
- package/dist/components-core/input.d.ts.map +1 -0
- package/dist/components-core/input.js +45 -0
- package/dist/components-core/label.d.ts +6 -0
- package/dist/components-core/label.d.ts.map +1 -0
- package/dist/components-core/label.js +22 -0
- package/dist/components-core/link.d.ts +9 -0
- package/dist/components-core/link.d.ts.map +1 -0
- package/dist/components-core/link.js +18 -0
- package/dist/components-core/text.d.ts +9 -0
- package/dist/components-core/text.d.ts.map +1 -0
- package/dist/components-core/text.js +42 -0
- package/dist/components-core-joy/button.d.ts +3 -0
- package/dist/components-core-joy/button.d.ts.map +1 -0
- package/dist/components-core-joy/button.js +26 -0
- package/dist/components-core-joy/divider.d.ts +3 -0
- package/dist/components-core-joy/divider.d.ts.map +1 -0
- package/dist/components-core-joy/divider.js +7 -0
- package/dist/components-core-joy/input.d.ts +3 -0
- package/dist/components-core-joy/input.d.ts.map +1 -0
- package/dist/components-core-joy/input.js +7 -0
- package/dist/components-core-joy/text.d.ts +3 -0
- package/dist/components-core-joy/text.d.ts.map +1 -0
- package/dist/components-core-joy/text.js +28 -0
- package/dist/{components/EmailVerification.d.ts → components-page/email-verification.d.ts} +1 -2
- package/dist/components-page/email-verification.d.ts.map +1 -0
- package/dist/components-page/email-verification.js +29 -0
- package/dist/{components/ForgotPassword.d.ts → components-page/forgot-password.d.ts} +1 -1
- package/dist/components-page/forgot-password.d.ts.map +1 -0
- package/dist/{components/ForgotPassword.js → components-page/forgot-password.js} +6 -6
- package/dist/{components/OAuthCallback.d.ts → components-page/oauth-callback.d.ts} +1 -1
- package/dist/components-page/oauth-callback.d.ts.map +1 -0
- package/dist/{components/OAuthCallback.js → components-page/oauth-callback.js} +1 -4
- package/dist/{components/PasswordReset.d.ts → components-page/password-reset.d.ts} +1 -1
- package/dist/components-page/password-reset.d.ts.map +1 -0
- package/dist/components-page/password-reset.js +37 -0
- package/dist/components-page/sign-in.d.ts +4 -0
- package/dist/components-page/sign-in.d.ts.map +1 -0
- package/dist/components-page/sign-in.js +20 -0
- package/dist/components-page/sign-out.d.ts +2 -0
- package/dist/components-page/sign-out.d.ts.map +1 -0
- package/dist/components-page/sign-out.js +13 -0
- package/dist/components-page/sign-up.d.ts +4 -0
- package/dist/components-page/sign-up.d.ts.map +1 -0
- package/dist/components-page/sign-up.js +20 -0
- package/dist/{components/StackHandler.d.ts → components-page/stack-handler.d.ts} +1 -1
- package/dist/components-page/stack-handler.d.ts.map +1 -0
- package/dist/{components/StackHandler.js → components-page/stack-handler.js} +11 -11
- package/dist/elements/card-frame.d.ts +7 -0
- package/dist/elements/card-frame.d.ts.map +1 -0
- package/dist/elements/card-frame.js +24 -0
- package/dist/elements/card-header.d.ts +6 -0
- package/dist/elements/card-header.d.ts.map +1 -0
- package/dist/elements/card-header.js +5 -0
- package/dist/elements/credential-sign-in.d.ts +2 -0
- package/dist/elements/credential-sign-in.d.ts.map +1 -0
- package/dist/elements/credential-sign-in.js +56 -0
- package/dist/elements/credential-sign-up.d.ts +2 -0
- package/dist/elements/credential-sign-up.d.ts.map +1 -0
- package/dist/elements/credential-sign-up.js +73 -0
- package/dist/elements/divider-with-text.d.ts +4 -0
- package/dist/elements/divider-with-text.d.ts.map +1 -0
- package/dist/elements/divider-with-text.js +6 -0
- package/dist/elements/forgot-password.d.ts +4 -0
- package/dist/elements/forgot-password.d.ts.map +1 -0
- package/dist/elements/forgot-password.js +32 -0
- package/dist/elements/{FormWarning.d.ts → form-warning.d.ts} +1 -1
- package/dist/elements/form-warning.d.ts.map +1 -0
- package/dist/elements/{FormWarning.js → form-warning.js} +2 -1
- package/dist/elements/message-card.d.ts +7 -0
- package/dist/elements/message-card.d.ts.map +1 -0
- package/dist/elements/message-card.js +7 -0
- package/dist/elements/oauth-button.d.ts +5 -0
- package/dist/elements/oauth-button.d.ts.map +1 -0
- package/dist/elements/{OAuthButton.js → oauth-button.js} +8 -10
- package/dist/elements/oauth-group.d.ts +4 -0
- package/dist/elements/oauth-group.d.ts.map +1 -0
- package/dist/elements/oauth-group.js +8 -0
- package/dist/elements/{PasswordField.d.ts → password-field.d.ts} +1 -1
- package/dist/elements/password-field.d.ts.map +1 -0
- package/dist/elements/password-field.js +38 -0
- package/dist/elements/password-reset-inner.d.ts +5 -0
- package/dist/elements/password-reset-inner.d.ts.map +1 -0
- package/dist/elements/password-reset-inner.js +63 -0
- package/dist/elements/redirect-message-card.d.ts +5 -0
- package/dist/elements/redirect-message-card.d.ts.map +1 -0
- package/dist/elements/redirect-message-card.js +54 -0
- package/dist/index.d.ts +17 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -9
- package/dist/lib/auth.d.ts +1 -13
- package/dist/lib/auth.d.ts.map +1 -1
- package/dist/lib/auth.js +6 -30
- package/dist/lib/hooks.js +1 -1
- package/dist/lib/stack-app.d.ts +6 -8
- package/dist/lib/stack-app.d.ts.map +1 -1
- package/dist/lib/stack-app.js +43 -35
- package/dist/providers/component-provider.d.ts +25 -0
- package/dist/providers/component-provider.d.ts.map +1 -0
- package/dist/providers/component-provider.js +29 -0
- package/dist/providers/design-provider.d.ts +41 -0
- package/dist/providers/design-provider.d.ts.map +1 -0
- package/dist/providers/design-provider.js +65 -0
- package/dist/providers/joy-provider.d.ts +17 -0
- package/dist/providers/joy-provider.d.ts.map +1 -0
- package/dist/providers/joy-provider.js +27 -0
- package/dist/providers/{StackProviderClient.d.ts → stack-provider-client.d.ts} +1 -1
- package/dist/providers/stack-provider-client.d.ts.map +1 -0
- package/dist/providers/{StackProvider.d.ts → stack-provider.d.ts} +3 -3
- package/dist/providers/stack-provider.d.ts.map +1 -0
- package/dist/providers/{StackProvider.js → stack-provider.js} +1 -1
- package/dist/providers/styled-components-registry.d.ts +5 -0
- package/dist/providers/styled-components-registry.d.ts.map +1 -0
- package/dist/providers/styled-components-registry.js +18 -0
- package/dist/providers/theme-provider.d.ts +11 -0
- package/dist/providers/theme-provider.d.ts.map +1 -0
- package/dist/providers/theme-provider.js +20 -0
- package/dist/providers/ui-provider.d.ts +10 -0
- package/dist/providers/ui-provider.js +20 -0
- package/dist/utils/constants.d.ts +41 -0
- package/dist/utils/constants.d.ts.map +1 -0
- package/dist/utils/constants.js +22 -0
- package/dist/utils/email.d.ts.map +1 -1
- package/dist/utils/next.d.ts.map +1 -1
- package/dist/utils/react.d.ts.map +1 -1
- package/dist/utils/results.d.ts.map +1 -1
- package/dist/utils/url.d.ts.map +1 -1
- package/package.json +22 -27
- package/dist/components/EmailVerification.d.ts.map +0 -1
- package/dist/components/ForgotPassword.d.ts.map +0 -1
- package/dist/components/OAuthCallback.d.ts.map +0 -1
- package/dist/components/PasswordReset.d.ts.map +0 -1
- package/dist/components/SignIn.d.ts +0 -5
- package/dist/components/SignIn.d.ts.map +0 -1
- package/dist/components/SignIn.js +0 -20
- package/dist/components/SignOut.d.ts +0 -4
- package/dist/components/SignOut.d.ts.map +0 -1
- package/dist/components/SignUp.d.ts +0 -5
- package/dist/components/SignUp.d.ts.map +0 -1
- package/dist/components/SignUp.js +0 -19
- package/dist/components/StackHandler.d.ts.map +0 -1
- package/dist/elements/Button.d.ts +0 -11
- package/dist/elements/Button.d.ts.map +0 -1
- package/dist/elements/Button.js +0 -18
- package/dist/elements/CardFrame.d.ts +0 -6
- package/dist/elements/CardFrame.d.ts.map +0 -1
- package/dist/elements/CardFrame.js +0 -10
- package/dist/elements/CardHeader.d.ts.map +0 -1
- package/dist/elements/CardHeader.js +0 -4
- package/dist/elements/CredentialSignIn.d.ts +0 -4
- package/dist/elements/CredentialSignIn.d.ts.map +0 -1
- package/dist/elements/CredentialSignIn.js +0 -57
- package/dist/elements/CredentialSignUp.d.ts +0 -4
- package/dist/elements/CredentialSignUp.d.ts.map +0 -1
- package/dist/elements/CredentialSignUp.js +0 -73
- package/dist/elements/DividerWithText.d.ts.map +0 -1
- package/dist/elements/DividerWithText.js +0 -5
- package/dist/elements/ForgotPassword.d.ts.map +0 -1
- package/dist/elements/ForgotPassword.js +0 -32
- package/dist/elements/FormWarning.d.ts.map +0 -1
- package/dist/elements/MessageCard.d.ts.map +0 -1
- package/dist/elements/MessageCard.js +0 -5
- package/dist/elements/OAuthButton.d.ts +0 -6
- package/dist/elements/OAuthButton.d.ts.map +0 -1
- package/dist/elements/OAuthGroup.d.ts +0 -5
- package/dist/elements/OAuthGroup.d.ts.map +0 -1
- package/dist/elements/OAuthGroup.js +0 -8
- package/dist/elements/PasswordField.d.ts.map +0 -1
- package/dist/elements/PasswordField.js +0 -27
- package/dist/elements/PasswordResetInner.d.ts.map +0 -1
- package/dist/elements/RedirectMessageCard.d.ts.map +0 -1
- package/dist/providers/StackProvider.d.ts.map +0 -1
- package/dist/providers/StackProviderClient.d.ts.map +0 -1
- package/dist/tailwind.css +0 -1293
- package/dist/utils/types.d.ts +0 -4
- package/dist/utils/types.d.ts.map +0 -1
- package/dist/utils/types.js +0 -1
- /package/dist/providers/{StackProviderClient.js → stack-provider-client.js} +0 -0
package/dist/lib/auth.js
CHANGED
|
@@ -35,51 +35,27 @@ function consumeOAuthCallbackQueryParams(expectedState) {
|
|
|
35
35
|
// We use history.replaceState instead of location.assign(...) to
|
|
36
36
|
// prevent an unnecessary reload
|
|
37
37
|
window.history.replaceState({}, "", newUrl.toString());
|
|
38
|
-
return
|
|
38
|
+
return originalUrl;
|
|
39
39
|
}
|
|
40
40
|
export async function callOAuthCallback(iface, tokenStore, redirectUrl) {
|
|
41
41
|
// note: this part of the function (until the return) needs
|
|
42
42
|
// to be synchronous, to prevent race conditions when
|
|
43
43
|
// callOAuthCallback is called multiple times in parallel
|
|
44
44
|
const { codeVerifier, state } = getVerifierAndState();
|
|
45
|
-
const
|
|
46
|
-
if (!
|
|
47
|
-
|
|
45
|
+
const originalUrl = consumeOAuthCallbackQueryParams(state);
|
|
46
|
+
if (!originalUrl) {
|
|
47
|
+
throw new Error("Invalid OAuth callback URL");
|
|
48
48
|
}
|
|
49
49
|
if (!codeVerifier || !state) {
|
|
50
|
-
|
|
50
|
+
throw new Error("Invalid OAuth callback URL");
|
|
51
51
|
}
|
|
52
52
|
// the rest can be asynchronous (we now know that we are the
|
|
53
53
|
// intended recipient of the callback)
|
|
54
|
-
const { newUrl, originalUrl } = consumeResult;
|
|
55
|
-
if (!redirectUrl) {
|
|
56
|
-
redirectUrl = newUrl.toString();
|
|
57
|
-
}
|
|
58
|
-
redirectUrl = redirectUrl.split("#")[0]; // remove hash
|
|
59
54
|
try {
|
|
60
|
-
await iface.callOAuthCallback(originalUrl.searchParams, redirectUrl, codeVerifier, state, tokenStore);
|
|
61
|
-
// reload/redirect so the server can update now that the user is signed in
|
|
62
|
-
window.location.assign(redirectUrl);
|
|
55
|
+
return await iface.callOAuthCallback(originalUrl.searchParams, constructRedirectUrl(redirectUrl), codeVerifier, state, tokenStore);
|
|
63
56
|
}
|
|
64
57
|
catch (e) {
|
|
65
58
|
console.error("Error signing in during OAuth callback", e);
|
|
66
59
|
throw new Error("Error signing in. Please try again.");
|
|
67
60
|
}
|
|
68
61
|
}
|
|
69
|
-
export async function signInWithCredential(iface, tokenStore, { email, password, redirectUrl, }) {
|
|
70
|
-
const errorCode = await iface.signInWithCredential(email, password, tokenStore);
|
|
71
|
-
if (!errorCode) {
|
|
72
|
-
redirectUrl = constructRedirectUrl(redirectUrl);
|
|
73
|
-
window.location.assign(redirectUrl);
|
|
74
|
-
}
|
|
75
|
-
return errorCode;
|
|
76
|
-
}
|
|
77
|
-
export async function signUpWithCredential(iface, tokenStore, { email, password, redirectUrl, emailVerificationRedirectUrl = "/" }) {
|
|
78
|
-
emailVerificationRedirectUrl = constructRedirectUrl(emailVerificationRedirectUrl);
|
|
79
|
-
const errorCode = await iface.signUpWithCredential(email, password, emailVerificationRedirectUrl, tokenStore);
|
|
80
|
-
if (!errorCode) {
|
|
81
|
-
redirectUrl = constructRedirectUrl(redirectUrl);
|
|
82
|
-
window.location.assign(redirectUrl);
|
|
83
|
-
}
|
|
84
|
-
return errorCode;
|
|
85
|
-
}
|
package/dist/lib/hooks.js
CHANGED
package/dist/lib/stack-app.d.ts
CHANGED
|
@@ -7,13 +7,15 @@ export type TokenStoreOptions<HasTokenStore extends boolean = boolean> = HasToke
|
|
|
7
7
|
export type HandlerUrls = {
|
|
8
8
|
handler: string;
|
|
9
9
|
signIn: string;
|
|
10
|
+
afterSignIn: string;
|
|
10
11
|
signUp: string;
|
|
12
|
+
afterSignUp: string;
|
|
11
13
|
signOut: string;
|
|
14
|
+
afterSignOut: string;
|
|
12
15
|
emailVerification: string;
|
|
13
16
|
passwordReset: string;
|
|
14
17
|
forgotPassword: string;
|
|
15
18
|
home: string;
|
|
16
|
-
userHome: string;
|
|
17
19
|
oauthCallback: string;
|
|
18
20
|
};
|
|
19
21
|
export type StackClientAppConstructorOptions<HasTokenStore extends boolean, ProjectId extends string> = {
|
|
@@ -38,7 +40,7 @@ export declare const stackAppInternalsSymbol: unique symbol;
|
|
|
38
40
|
type Auth<T, C> = {
|
|
39
41
|
readonly tokenStore: ReadonlyTokenStore;
|
|
40
42
|
update(this: T, user: Partial<C>): Promise<void>;
|
|
41
|
-
signOut(this: T
|
|
43
|
+
signOut(this: T): Promise<void>;
|
|
42
44
|
};
|
|
43
45
|
export type User = {
|
|
44
46
|
readonly projectId: string;
|
|
@@ -139,16 +141,12 @@ export type StackClientApp<HasTokenStore extends boolean = boolean, ProjectId ex
|
|
|
139
141
|
signInWithCredential(options: {
|
|
140
142
|
email: string;
|
|
141
143
|
password: string;
|
|
142
|
-
redirectUrl?: string;
|
|
143
144
|
}): Promise<SignInErrorCode | undefined>;
|
|
144
145
|
signUpWithCredential(options: {
|
|
145
146
|
email: string;
|
|
146
147
|
password: string;
|
|
147
|
-
redirectUrl?: string;
|
|
148
148
|
}): Promise<SignUpErrorCode | undefined>;
|
|
149
|
-
callOAuthCallback(
|
|
150
|
-
redirectUrl?: string;
|
|
151
|
-
}): Promise<void>;
|
|
149
|
+
callOAuthCallback(): Promise<void>;
|
|
152
150
|
sendForgotPasswordEmail(email: string): Promise<void>;
|
|
153
151
|
resetPassword(options: {
|
|
154
152
|
code: string;
|
|
@@ -160,7 +158,7 @@ export type StackClientApp<HasTokenStore extends boolean = boolean, ProjectId ex
|
|
|
160
158
|
toClientJson(): Promise<StackClientAppJson<HasTokenStore, ProjectId>>;
|
|
161
159
|
};
|
|
162
160
|
} & AsyncStoreProperty<"project", ClientProjectJson, false> & {
|
|
163
|
-
[K in `redirectTo${Capitalize<keyof Omit<HandlerUrls, 'oauthCallback'>>}`]: () => Promise<never>;
|
|
161
|
+
[K in `redirectTo${Capitalize<keyof Omit<HandlerUrls, 'handler' | 'oauthCallback'>>}`]: () => Promise<never>;
|
|
164
162
|
} & (HasTokenStore extends false ? {} : {
|
|
165
163
|
redirectToOAuthCallback(): Promise<never>;
|
|
166
164
|
useUser(options: GetUserOptions & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stack-app.d.ts","sourceRoot":"","sources":["../../src/lib/stack-app.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,cAAc,EAAmE,MAAM,0BAA0B,CAAC;AAOhL,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,QAAQ,EAA2B,WAAW,EAAE,eAAe,EAAE,gBAAgB,EAAE,kBAAkB,EAA2B,mBAAmB,EAAE,MAAM,yDAAyD,CAAC;AAIvQ,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAExE,OAAO,EAAE,8BAA8B,EAAE,0BAA0B,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAIzJ,OAAO,EAAqB,sBAAsB,EAAyC,oBAAoB,EAAE,MAAM,wDAAwD,CAAC;AAIhL,MAAM,MAAM,iBAAiB,CAAC,aAAa,SAAS,OAAO,GAAG,OAAO,IACnE,aAAa,SAAS,IAAI,GAAG,QAAQ,GAAG,eAAe,GAAG,QAAQ,GAClE,aAAa,SAAS,KAAK,GAAG,IAAI,GAClC,iBAAiB,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAErD,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,
|
|
1
|
+
{"version":3,"file":"stack-app.d.ts","sourceRoot":"","sources":["../../src/lib/stack-app.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/stack-app.js
CHANGED
|
@@ -8,7 +8,7 @@ import { suspendIfSsr } from "@stackframe/stack-shared/dist/utils/react";
|
|
|
8
8
|
import { AsyncStore } from "@stackframe/stack-shared/dist/utils/stores";
|
|
9
9
|
import { getProductionModeErrors } from "@stackframe/stack-shared/dist/interface/clientInterface";
|
|
10
10
|
import { isClient } from "../utils/next";
|
|
11
|
-
import { callOAuthCallback,
|
|
11
|
+
import { callOAuthCallback, signInWithOAuth } from "./auth";
|
|
12
12
|
import { RedirectType, redirect, useRouter } from "next/navigation";
|
|
13
13
|
import { constructRedirectUrl } from "../utils/url";
|
|
14
14
|
import { filterUndefined } from "@stackframe/stack-shared/dist/utils/objects";
|
|
@@ -20,14 +20,16 @@ function getUrls(partial) {
|
|
|
20
20
|
return {
|
|
21
21
|
handler,
|
|
22
22
|
signIn: `${handler}/signin`,
|
|
23
|
+
afterSignIn: "/",
|
|
23
24
|
signUp: `${handler}/signup`,
|
|
25
|
+
afterSignUp: "/",
|
|
24
26
|
signOut: `${handler}/signout`,
|
|
27
|
+
afterSignOut: "/",
|
|
25
28
|
emailVerification: `${handler}/email-verification`,
|
|
26
29
|
passwordReset: `${handler}/password-reset`,
|
|
27
30
|
forgotPassword: `${handler}/forgot-password`,
|
|
28
31
|
oauthCallback: `${handler}/oauth-callback`,
|
|
29
32
|
home: "/",
|
|
30
|
-
userHome: "/",
|
|
31
33
|
...filterUndefined(partial),
|
|
32
34
|
};
|
|
33
35
|
}
|
|
@@ -122,9 +124,9 @@ function getTokenStore(tokenStoreOptions) {
|
|
|
122
124
|
return (tokenStoreInitializers.get(tokenStoreOptions) ?? throwErr(`Invalid token store ${tokenStoreOptions}`))();
|
|
123
125
|
}
|
|
124
126
|
const loadingSentinel = Symbol("stackAppCacheLoadingSentinel");
|
|
125
|
-
function useCache(cache, dependencies) {
|
|
127
|
+
function useCache(cache, dependencies, caller) {
|
|
126
128
|
// we explicitly don't want to run this hook in SSR
|
|
127
|
-
suspendIfSsr();
|
|
129
|
+
suspendIfSsr(caller);
|
|
128
130
|
const subscribe = useCallback((cb) => {
|
|
129
131
|
const { unsubscribe } = cache.onChange(dependencies, () => cb());
|
|
130
132
|
return unsubscribe;
|
|
@@ -232,8 +234,8 @@ class _StackClientAppImpl {
|
|
|
232
234
|
update(update) {
|
|
233
235
|
return app._updateUser(update, tokenStore);
|
|
234
236
|
},
|
|
235
|
-
signOut(
|
|
236
|
-
return app._signOut(tokenStore
|
|
237
|
+
signOut() {
|
|
238
|
+
return app._signOut(tokenStore);
|
|
237
239
|
},
|
|
238
240
|
};
|
|
239
241
|
Object.freeze(res);
|
|
@@ -302,7 +304,6 @@ class _StackClientAppImpl {
|
|
|
302
304
|
window.location.href = this.urls[handlerName];
|
|
303
305
|
return neverResolve();
|
|
304
306
|
}
|
|
305
|
-
async redirectToHandler() { return await this._redirectTo("handler"); }
|
|
306
307
|
async redirectToSignIn() { return await this._redirectTo("signIn"); }
|
|
307
308
|
async redirectToSignUp() { return await this._redirectTo("signUp"); }
|
|
308
309
|
async redirectToSignOut() { return await this._redirectTo("signOut"); }
|
|
@@ -310,8 +311,10 @@ class _StackClientAppImpl {
|
|
|
310
311
|
async redirectToPasswordReset() { return await this._redirectTo("passwordReset"); }
|
|
311
312
|
async redirectToForgotPassword() { return await this._redirectTo("forgotPassword"); }
|
|
312
313
|
async redirectToHome() { return await this._redirectTo("home"); }
|
|
313
|
-
async redirectToUserHome() { return await this._redirectTo("userHome"); }
|
|
314
314
|
async redirectToOAuthCallback() { return await this._redirectTo("oauthCallback"); }
|
|
315
|
+
async redirectToAfterSignIn() { return await this._redirectTo("afterSignIn"); }
|
|
316
|
+
async redirectToAfterSignUp() { return await this._redirectTo("afterSignUp"); }
|
|
317
|
+
async redirectToAfterSignOut() { return await this._redirectTo("afterSignOut"); }
|
|
315
318
|
async sendForgotPasswordEmail(email) {
|
|
316
319
|
const redirectUrl = constructRedirectUrl(this.urls.passwordReset);
|
|
317
320
|
await this._interface.sendForgotPasswordEmail(email, redirectUrl);
|
|
@@ -349,7 +352,7 @@ class _StackClientAppImpl {
|
|
|
349
352
|
this._ensurePersistentTokenStore();
|
|
350
353
|
const router = useRouter();
|
|
351
354
|
const tokenStore = getTokenStore(this._tokenStoreOptions);
|
|
352
|
-
const userJson = useCache(this._currentUserCache, [tokenStore]);
|
|
355
|
+
const userJson = useCache(this._currentUserCache, [tokenStore], "useUser()");
|
|
353
356
|
if (userJson === null) {
|
|
354
357
|
switch (options?.or) {
|
|
355
358
|
case 'redirect': {
|
|
@@ -384,45 +387,50 @@ class _StackClientAppImpl {
|
|
|
384
387
|
await signInWithOAuth(this._interface, { provider, redirectUrl: this.urls.oauthCallback });
|
|
385
388
|
}
|
|
386
389
|
async signInWithCredential(options) {
|
|
387
|
-
if (!options.redirectUrl) {
|
|
388
|
-
options.redirectUrl = constructRedirectUrl(options.redirectUrl);
|
|
389
|
-
}
|
|
390
390
|
this._ensurePersistentTokenStore();
|
|
391
391
|
const tokenStore = getTokenStore(this._tokenStoreOptions);
|
|
392
|
-
|
|
392
|
+
const errorCode = await this._interface.signInWithCredential(options.email, options.password, tokenStore);
|
|
393
|
+
if (!errorCode) {
|
|
394
|
+
window.location.assign(this.urls.afterSignIn);
|
|
395
|
+
}
|
|
396
|
+
return errorCode;
|
|
393
397
|
}
|
|
394
398
|
async signUpWithCredential(options) {
|
|
395
|
-
if (!options.redirectUrl) {
|
|
396
|
-
options.redirectUrl = constructRedirectUrl(options.redirectUrl);
|
|
397
|
-
}
|
|
398
399
|
this._ensurePersistentTokenStore();
|
|
399
400
|
const tokenStore = getTokenStore(this._tokenStoreOptions);
|
|
400
|
-
|
|
401
|
+
const emailVerificationRedirectUrl = constructRedirectUrl(this.urls.emailVerification);
|
|
402
|
+
const errorCode = await this._interface.signUpWithCredential(options.email, options.password, emailVerificationRedirectUrl, tokenStore);
|
|
403
|
+
if (!errorCode) {
|
|
404
|
+
window.location.assign(this.urls.afterSignUp);
|
|
405
|
+
}
|
|
406
|
+
return errorCode;
|
|
401
407
|
}
|
|
402
|
-
async callOAuthCallback(
|
|
408
|
+
async callOAuthCallback() {
|
|
403
409
|
this._ensurePersistentTokenStore();
|
|
404
410
|
const tokenStore = getTokenStore(this._tokenStoreOptions);
|
|
405
|
-
await callOAuthCallback(this._interface, tokenStore,
|
|
411
|
+
const result = await callOAuthCallback(this._interface, tokenStore, this.urls.oauthCallback);
|
|
412
|
+
if (result.newUser) {
|
|
413
|
+
await window.location.replace(this.urls.afterSignUp);
|
|
414
|
+
}
|
|
415
|
+
else {
|
|
416
|
+
await window.location.replace(this.urls.afterSignIn);
|
|
417
|
+
}
|
|
406
418
|
}
|
|
407
|
-
async _signOut(tokenStore
|
|
408
|
-
redirectUrl = constructRedirectUrl(redirectUrl);
|
|
419
|
+
async _signOut(tokenStore) {
|
|
409
420
|
await this._interface.signOut(tokenStore);
|
|
410
|
-
window.location.assign(
|
|
411
|
-
return await neverResolve();
|
|
421
|
+
window.location.assign(this.urls.afterSignOut);
|
|
412
422
|
}
|
|
413
|
-
async signOut(
|
|
423
|
+
async signOut() {
|
|
414
424
|
const user = await this.getUser();
|
|
415
425
|
if (user) {
|
|
416
|
-
await user.signOut(
|
|
426
|
+
await user.signOut();
|
|
417
427
|
}
|
|
418
|
-
window.location.assign(redirectUrl);
|
|
419
|
-
return await neverResolve();
|
|
420
428
|
}
|
|
421
429
|
async getProject() {
|
|
422
430
|
return await this._currentProjectCache.getOrWait([], "never");
|
|
423
431
|
}
|
|
424
432
|
useProject() {
|
|
425
|
-
return useCache(this._currentProjectCache, []);
|
|
433
|
+
return useCache(this._currentProjectCache, [], "useProject()");
|
|
426
434
|
}
|
|
427
435
|
onProjectChange(callback) {
|
|
428
436
|
return this._currentProjectCache.onChange([], callback);
|
|
@@ -436,7 +444,7 @@ class _StackClientAppImpl {
|
|
|
436
444
|
useOwnedProjects() {
|
|
437
445
|
this._ensureInternalProject();
|
|
438
446
|
const tokenStore = getTokenStore(this._tokenStoreOptions);
|
|
439
|
-
const json = useCache(this._ownedProjectsCache, [tokenStore]);
|
|
447
|
+
const json = useCache(this._ownedProjectsCache, [tokenStore], "useOwnedProjects()");
|
|
440
448
|
return json.map((j) => this._projectAdminFromJson(j, this._createAdminInterface(j.id, tokenStore), () => this._refreshOwnedProjects(tokenStore)));
|
|
441
449
|
}
|
|
442
450
|
onOwnedProjectsChange(callback) {
|
|
@@ -577,8 +585,8 @@ class _StackServerAppImpl extends _StackClientAppImpl {
|
|
|
577
585
|
await app._refreshUser(tokenStore);
|
|
578
586
|
return res;
|
|
579
587
|
},
|
|
580
|
-
signOut(
|
|
581
|
-
return app._signOut(tokenStore
|
|
588
|
+
signOut() {
|
|
589
|
+
return app._signOut(tokenStore);
|
|
582
590
|
},
|
|
583
591
|
getClientUser() {
|
|
584
592
|
return app._currentUserFromJson(json, tokenStore);
|
|
@@ -609,7 +617,7 @@ class _StackServerAppImpl extends _StackClientAppImpl {
|
|
|
609
617
|
useServerUser(options) {
|
|
610
618
|
this._ensurePersistentTokenStore();
|
|
611
619
|
const tokenStore = getTokenStore(this._tokenStoreOptions);
|
|
612
|
-
const userJson = useCache(this._currentServerUserCache, [tokenStore]);
|
|
620
|
+
const userJson = useCache(this._currentServerUserCache, [tokenStore], "useServerUser()");
|
|
613
621
|
if (options?.required && userJson === null) {
|
|
614
622
|
use(this.redirectToSignIn());
|
|
615
623
|
}
|
|
@@ -627,7 +635,7 @@ class _StackServerAppImpl extends _StackClientAppImpl {
|
|
|
627
635
|
return json.map((j) => this._serverUserFromJson(j));
|
|
628
636
|
}
|
|
629
637
|
useServerUsers() {
|
|
630
|
-
const json = useCache(this._serverUsersCache, []);
|
|
638
|
+
const json = useCache(this._serverUsersCache, [], "useServerUsers()");
|
|
631
639
|
return json.map((j) => this._serverUserFromJson(j));
|
|
632
640
|
}
|
|
633
641
|
onServerUsersChange(callback) {
|
|
@@ -717,7 +725,7 @@ class _StackAdminAppImpl extends _StackServerAppImpl {
|
|
|
717
725
|
return this._projectAdminFromJson(await this._adminProjectCache.getOrWait([], "never"), this._interface, () => this._refreshProject());
|
|
718
726
|
}
|
|
719
727
|
useProjectAdmin() {
|
|
720
|
-
return this._projectAdminFromJson(useCache(this._adminProjectCache, []), this._interface, () => this._refreshProject());
|
|
728
|
+
return this._projectAdminFromJson(useCache(this._adminProjectCache, [], "useProjectAdmin()"), this._interface, () => this._refreshProject());
|
|
721
729
|
}
|
|
722
730
|
onProjectAdminChange(callback) {
|
|
723
731
|
return this._adminProjectCache.onChange([], (project) => {
|
|
@@ -729,7 +737,7 @@ class _StackAdminAppImpl extends _StackServerAppImpl {
|
|
|
729
737
|
return json.map((j) => this._createApiKeySetFromJson(j));
|
|
730
738
|
}
|
|
731
739
|
useApiKeySets() {
|
|
732
|
-
const json = useCache(this._apiKeySetsCache, []);
|
|
740
|
+
const json = useCache(this._apiKeySetsCache, [], "useApiKeySets()");
|
|
733
741
|
return json.map((j) => this._createApiKeySetFromJson(j));
|
|
734
742
|
}
|
|
735
743
|
onApiKeySetsChange(callback) {
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ButtonProps } from '../components-core/button';
|
|
3
|
+
import { ContainerProps } from '../components-core/container';
|
|
4
|
+
import { DividerProps } from '../components-core/divider';
|
|
5
|
+
import { InputProps } from '../components-core/input';
|
|
6
|
+
import { LinkProps } from '../components-core/link';
|
|
7
|
+
import { LabelProps } from '../components-core/label';
|
|
8
|
+
import { TextProps } from '../components-core/text';
|
|
9
|
+
export type Components = {
|
|
10
|
+
Button: React.ComponentType<ButtonProps>;
|
|
11
|
+
Container: React.ComponentType<ContainerProps>;
|
|
12
|
+
Divider: React.ComponentType<DividerProps>;
|
|
13
|
+
Input: React.ComponentType<InputProps>;
|
|
14
|
+
Label: React.ComponentType<LabelProps>;
|
|
15
|
+
Link: React.ComponentType<LinkProps>;
|
|
16
|
+
Text: React.ComponentType<TextProps>;
|
|
17
|
+
};
|
|
18
|
+
export type ComponentConfig = {
|
|
19
|
+
components?: Partial<Components>;
|
|
20
|
+
};
|
|
21
|
+
export declare function useComponents(): Components;
|
|
22
|
+
export declare function StackComponentProvider(props: {
|
|
23
|
+
children?: React.ReactNode;
|
|
24
|
+
} & ComponentConfig): import("react/jsx-runtime").JSX.Element;
|
|
25
|
+
//# sourceMappingURL=component-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component-provider.d.ts","sourceRoot":"","sources":["../../src/providers/component-provider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAoC,MAAM,OAAO,CAAC;AACzD,OAAe,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAkB,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAgB,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAc,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAa,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAc,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAa,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAE1D,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IACzC,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IAC/C,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IAC3C,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACvC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACvC,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IACrC,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;CACtC,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;CAClC,CAAA;AAID,wBAAgB,aAAa,eAM5B;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,GAAG,eAAe,2CAc7F"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { createContext, useContext } from 'react';
|
|
4
|
+
import Button from '../components-core/button';
|
|
5
|
+
import Container from '../components-core/container';
|
|
6
|
+
import Divider from '../components-core/divider';
|
|
7
|
+
import Input from '../components-core/input';
|
|
8
|
+
import Link from '../components-core/link';
|
|
9
|
+
import Label from '../components-core/label';
|
|
10
|
+
import Text from '../components-core/text';
|
|
11
|
+
const ComponentContext = createContext(undefined);
|
|
12
|
+
export function useComponents() {
|
|
13
|
+
const context = useContext(ComponentContext);
|
|
14
|
+
if (!context) {
|
|
15
|
+
throw new Error('Stack UI components must be used within a StackTheme');
|
|
16
|
+
}
|
|
17
|
+
return context;
|
|
18
|
+
}
|
|
19
|
+
export function StackComponentProvider(props) {
|
|
20
|
+
return (_jsx(ComponentContext.Provider, { value: {
|
|
21
|
+
Button: props.components?.Button || Button,
|
|
22
|
+
Container: props.components?.Container || Container,
|
|
23
|
+
Divider: props.components?.Divider || Divider,
|
|
24
|
+
Input: props.components?.Input || Input,
|
|
25
|
+
Label: props.components?.Label || Label,
|
|
26
|
+
Link: props.components?.Link || Link,
|
|
27
|
+
Text: props.components?.Text || Text,
|
|
28
|
+
}, children: props.children }));
|
|
29
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
type ColorPalette = {
|
|
3
|
+
primaryColor: string;
|
|
4
|
+
secondaryColor: string;
|
|
5
|
+
primaryBgColor: string;
|
|
6
|
+
secondaryBgColor: string;
|
|
7
|
+
neutralColor: string;
|
|
8
|
+
};
|
|
9
|
+
type Breakpoints = {
|
|
10
|
+
xs: number;
|
|
11
|
+
sm: number;
|
|
12
|
+
md: number;
|
|
13
|
+
lg: number;
|
|
14
|
+
xl: number;
|
|
15
|
+
};
|
|
16
|
+
type DesignContextValue = {
|
|
17
|
+
colors: ColorPalette;
|
|
18
|
+
breakpoints: Breakpoints;
|
|
19
|
+
colorMode: 'dark' | 'light';
|
|
20
|
+
setColorMode: (theme: 'dark' | 'light') => void;
|
|
21
|
+
};
|
|
22
|
+
export type DesignConfig = {
|
|
23
|
+
colors?: {
|
|
24
|
+
dark: Partial<ColorPalette>;
|
|
25
|
+
light: Partial<ColorPalette>;
|
|
26
|
+
};
|
|
27
|
+
breakpoints?: Partial<Breakpoints>;
|
|
28
|
+
} & ({} | {
|
|
29
|
+
colorMode: 'dark' | 'light';
|
|
30
|
+
setColorMode: (theme: 'dark' | 'light') => void;
|
|
31
|
+
});
|
|
32
|
+
export declare function hasCustomColorMode(config: DesignConfig): config is DesignConfig & {
|
|
33
|
+
colorMode: 'dark' | 'light';
|
|
34
|
+
setColorMode: (theme: 'dark' | 'light') => void;
|
|
35
|
+
};
|
|
36
|
+
export declare function StackDesignProvider(props: {
|
|
37
|
+
children?: React.ReactNode;
|
|
38
|
+
} & DesignConfig): import("react/jsx-runtime").JSX.Element | null;
|
|
39
|
+
export declare function useDesign(): DesignContextValue;
|
|
40
|
+
export {};
|
|
41
|
+
//# sourceMappingURL=design-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"design-provider.d.ts","sourceRoot":"","sources":["../../src/providers/design-provider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,KAAK,YAAY,GAAG;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,KAAK,WAAW,GAAG;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACxB,MAAM,EAAE,YAAY,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,KAAK,IAAI,CAAC;CACjD,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,CAAC,EAAE;QACP,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QAC5B,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;KAC9B,CAAC;IACF,WAAW,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;CACpC,GAAG,CACF,EAAE,GACA;IACA,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,KAAK,IAAI,CAAC;CACjD,CACF,CAAA;AAYD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,IAAI,YAAY,GAAG;IACjF,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,KAAK,IAAI,CAAC;CACjD,CAEA;AA4BD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,GAAG,YAAY,kDA6BvF;AAED,wBAAgB,SAAS,IAAI,kBAAkB,CAM9C"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { useTheme } from "next-themes";
|
|
4
|
+
import { createContext, useContext, useEffect, useState } from "react";
|
|
5
|
+
import { DEFAULT_COLORS } from '../utils/constants';
|
|
6
|
+
const DesignContext = createContext(undefined);
|
|
7
|
+
const defaultBreakpoints = {
|
|
8
|
+
xs: 400,
|
|
9
|
+
sm: 600,
|
|
10
|
+
md: 900,
|
|
11
|
+
lg: 1200,
|
|
12
|
+
xl: 1536,
|
|
13
|
+
};
|
|
14
|
+
export function hasCustomColorMode(config) {
|
|
15
|
+
return 'colorMode' in config && 'setColorMode' in config;
|
|
16
|
+
}
|
|
17
|
+
function getColors(theme, colors) {
|
|
18
|
+
return { ...DEFAULT_COLORS[theme], ...colors?.[theme] };
|
|
19
|
+
}
|
|
20
|
+
const useColorMode = (props) => {
|
|
21
|
+
const { resolvedTheme: nextColorMode, setTheme: setNextColorMode } = useTheme();
|
|
22
|
+
const nextColorModeValue = nextColorMode === 'dark' ? 'dark' : 'light';
|
|
23
|
+
if (hasCustomColorMode(props)) {
|
|
24
|
+
return [
|
|
25
|
+
props.colorMode,
|
|
26
|
+
props.setColorMode,
|
|
27
|
+
];
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
return [
|
|
31
|
+
nextColorModeValue,
|
|
32
|
+
setNextColorMode,
|
|
33
|
+
];
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
export function StackDesignProvider(props) {
|
|
37
|
+
const [mounted, setMounted] = useState(false);
|
|
38
|
+
const [colorMode, setColorMode] = useColorMode(props);
|
|
39
|
+
const [designValue, setDesignValue] = useState({
|
|
40
|
+
colors: getColors(colorMode, props.colors),
|
|
41
|
+
breakpoints: { ...defaultBreakpoints, ...props.breakpoints },
|
|
42
|
+
colorMode,
|
|
43
|
+
setColorMode,
|
|
44
|
+
});
|
|
45
|
+
useEffect(() => {
|
|
46
|
+
setDesignValue((v) => ({
|
|
47
|
+
...v,
|
|
48
|
+
colors: getColors(colorMode, props.colors),
|
|
49
|
+
colorMode,
|
|
50
|
+
}));
|
|
51
|
+
}, [colorMode]);
|
|
52
|
+
useEffect(() => {
|
|
53
|
+
setMounted(true);
|
|
54
|
+
}, []);
|
|
55
|
+
if (!mounted)
|
|
56
|
+
return null;
|
|
57
|
+
return (_jsx(DesignContext.Provider, { value: designValue, children: props.children }));
|
|
58
|
+
}
|
|
59
|
+
export function useDesign() {
|
|
60
|
+
const context = useContext(DesignContext);
|
|
61
|
+
if (!context) {
|
|
62
|
+
throw new Error("useDesign must be used within a StackTheme");
|
|
63
|
+
}
|
|
64
|
+
return context;
|
|
65
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { ThemeConfig } from "./theme-provider";
|
|
3
|
+
import Button from '../components-core-joy/button';
|
|
4
|
+
import Input from '../components-core-joy/input';
|
|
5
|
+
import Text from '../components-core-joy/text';
|
|
6
|
+
import Divider from '../components-core-joy/divider';
|
|
7
|
+
export declare const defaultComponents: {
|
|
8
|
+
Button: typeof Button;
|
|
9
|
+
Input: typeof Input;
|
|
10
|
+
Text: typeof Text;
|
|
11
|
+
Divider: typeof Divider;
|
|
12
|
+
};
|
|
13
|
+
export declare function StackJoyTheme(props: {
|
|
14
|
+
theme?: ThemeConfig;
|
|
15
|
+
children?: React.ReactNode;
|
|
16
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
//# sourceMappingURL=joy-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"joy-provider.d.ts","sourceRoot":"","sources":["../../src/providers/joy-provider.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAc,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,MAAM,MAAM,+BAA+B,CAAC;AACnD,OAAO,KAAK,MAAM,8BAA8B,CAAC;AACjD,OAAO,IAAI,MAAM,6BAA6B,CAAC;AAC/C,OAAO,OAAO,MAAM,gCAAgC,CAAC;AAErD,eAAO,MAAM,iBAAiB;;;;;CAK7B,CAAC;AAEF,wBAAgB,aAAa,CAAC,KAAK,EAAG;IAAE,KAAK,CAAC,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,2CAiBxF"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { StackTheme } from "./theme-provider";
|
|
4
|
+
import { useColorScheme } from "@mui/joy";
|
|
5
|
+
import Button from '../components-core-joy/button';
|
|
6
|
+
import Input from '../components-core-joy/input';
|
|
7
|
+
import Text from '../components-core-joy/text';
|
|
8
|
+
import Divider from '../components-core-joy/divider';
|
|
9
|
+
export const defaultComponents = {
|
|
10
|
+
Button,
|
|
11
|
+
Input,
|
|
12
|
+
Text,
|
|
13
|
+
Divider
|
|
14
|
+
};
|
|
15
|
+
export function StackJoyTheme(props) {
|
|
16
|
+
const { mode, setMode } = useColorScheme();
|
|
17
|
+
const mergedTheme = {
|
|
18
|
+
components: {
|
|
19
|
+
...defaultComponents,
|
|
20
|
+
...props.theme?.components,
|
|
21
|
+
},
|
|
22
|
+
colorMode: mode,
|
|
23
|
+
setColorMode: setMode,
|
|
24
|
+
...props.theme,
|
|
25
|
+
};
|
|
26
|
+
return (_jsx(StackTheme, { theme: mergedTheme, children: props.children }));
|
|
27
|
+
}
|
|
@@ -7,4 +7,4 @@ export declare function StackProviderClient(props: {
|
|
|
7
7
|
appJsonPromise: Promise<StackClientAppJson<true, string>>;
|
|
8
8
|
children?: React.ReactNode;
|
|
9
9
|
}): import("react/jsx-runtime").JSX.Element;
|
|
10
|
-
//# sourceMappingURL=
|
|
10
|
+
//# sourceMappingURL=stack-provider-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stack-provider-client.d.ts","sourceRoot":"","sources":["../../src/providers/stack-provider-client.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAA2B,MAAM,kBAAkB,CAAC;AAC/F,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,eAAO,MAAM,YAAY;SAClB,eAAe,IAAI,CAAC;SACnB,CAAC;AAET,wBAAgB,mBAAmB,CAAC,KAAK,EAAE;IACzC,cAAc,EAAE,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1D,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,2CAaA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import { StackClientApp } from '../lib/stack-app';
|
|
3
3
|
export default function StackProvider({ children, app, }: {
|
|
4
|
-
children: ReactNode;
|
|
4
|
+
children: React.ReactNode;
|
|
5
5
|
app: StackClientApp<true>;
|
|
6
6
|
}): import("react/jsx-runtime").JSX.Element;
|
|
7
|
-
//# sourceMappingURL=
|
|
7
|
+
//# sourceMappingURL=stack-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stack-provider.d.ts","sourceRoot":"","sources":["../../src/providers/stack-provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAA2B,MAAM,kBAAkB,CAAC;AAI3E,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EACpC,QAAQ,EACR,GAAG,GACJ,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,GAAG,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;CAC3B,2CAMA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { stackAppInternalsSymbol } from '../lib/stack-app';
|
|
3
|
-
import { StackProviderClient } from './
|
|
3
|
+
import { StackProviderClient } from './stack-provider-client';
|
|
4
4
|
export default function StackProvider({ children, app, }) {
|
|
5
5
|
return (_jsx(StackProviderClient, { appJsonPromise: app[stackAppInternalsSymbol].toClientJson(), children: children }));
|
|
6
6
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styled-components-registry.d.ts","sourceRoot":"","sources":["../../src/providers/styled-components-registry.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAIxC,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAAC,EAC/C,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,2CAkBA"}
|