zudoku 0.66.5 → 0.66.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.
- package/dist/app/main.d.ts +6 -6
- package/dist/config/validators/InputNavigationSchema.d.ts +2 -0
- package/dist/config/validators/InputNavigationSchema.js +1 -0
- package/dist/config/validators/InputNavigationSchema.js.map +1 -1
- package/dist/config/validators/NavigationSchema.js +6 -1
- package/dist/config/validators/NavigationSchema.js.map +1 -1
- package/dist/flat-config.d.ts +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/authentication/providers/auth0.js +11 -7
- package/dist/lib/authentication/providers/auth0.js.map +1 -1
- package/dist/lib/authentication/providers/clerk.js +0 -22
- package/dist/lib/authentication/providers/clerk.js.map +1 -1
- package/dist/lib/authentication/providers/supabase.js +6 -15
- package/dist/lib/authentication/providers/supabase.js.map +1 -1
- package/dist/lib/components/Pagination.js +2 -2
- package/dist/lib/components/Pagination.js.map +1 -1
- package/dist/lib/components/index.d.ts +3 -0
- package/dist/lib/components/index.js +4 -0
- package/dist/lib/components/index.js.map +1 -1
- package/dist/lib/components/navigation/NavigationItem.js +2 -2
- package/dist/lib/components/navigation/NavigationItem.js.map +1 -1
- package/dist/lib/core/react-query.d.ts +1 -0
- package/dist/lib/core/react-query.js +2 -0
- package/dist/lib/core/react-query.js.map +1 -0
- package/dist/lib/oas/graphql/circular.d.ts +2 -0
- package/dist/lib/oas/graphql/circular.js +32 -10
- package/dist/lib/oas/graphql/circular.js.map +1 -1
- package/dist/lib/oas/graphql/circular.test.d.ts +1 -0
- package/dist/lib/oas/graphql/circular.test.js +152 -0
- package/dist/lib/oas/graphql/circular.test.js.map +1 -0
- package/dist/lib/plugins/openapi/OperationList.js +5 -1
- package/dist/lib/plugins/openapi/OperationList.js.map +1 -1
- package/dist/lib/plugins/openapi/schema/utils.js +11 -3
- package/dist/lib/plugins/openapi/schema/utils.js.map +1 -1
- package/dist/vite/api/SchemaManager.d.ts +1 -0
- package/dist/vite/api/SchemaManager.js +9 -3
- package/dist/vite/api/SchemaManager.js.map +1 -1
- package/dist/vite/config.js +2 -0
- package/dist/vite/config.js.map +1 -1
- package/dist/vite/prerender/utils.js +9 -3
- package/dist/vite/prerender/utils.js.map +1 -1
- package/lib/{ClaudeLogo-ByzA8TYR.js → ClaudeLogo-DHxJUhN_.js} +21 -21
- package/lib/ClaudeLogo-DHxJUhN_.js.map +1 -0
- package/lib/HydrationBoundary-CNF2ZV3E.js +601 -0
- package/lib/HydrationBoundary-CNF2ZV3E.js.map +1 -0
- package/lib/Input-Cx-GeKoF.js +22 -0
- package/lib/Input-Cx-GeKoF.js.map +1 -0
- package/lib/{MdxPage-Bh5YNRV9.js → MdxPage-CD36PJ17.js} +8 -8
- package/lib/{MdxPage-Bh5YNRV9.js.map → MdxPage-CD36PJ17.js.map} +1 -1
- package/lib/{Mermaid-CGRoylZf.js → Mermaid-Koc3z8mU.js} +3 -3
- package/lib/{Mermaid-CGRoylZf.js.map → Mermaid-Koc3z8mU.js.map} +1 -1
- package/lib/{OAuthErrorPage-CsTKz5hX.js → OAuthErrorPage-4mN5DA86.js} +23 -22
- package/lib/{OAuthErrorPage-CsTKz5hX.js.map → OAuthErrorPage-4mN5DA86.js.map} +1 -1
- package/lib/{OasProvider-BBAbJiYa.js → OasProvider-DSe-hk5Y.js} +4 -4
- package/lib/{OasProvider-BBAbJiYa.js.map → OasProvider-DSe-hk5Y.js.map} +1 -1
- package/lib/{OperationList-DUxrNisd.js → OperationList-CaknPbvq.js} +148 -144
- package/lib/{OperationList-DUxrNisd.js.map → OperationList-CaknPbvq.js.map} +1 -1
- package/lib/{RouteGuard-CIN9Ou-r.js → RouteGuard--A04ESy8.js} +4 -4
- package/lib/{RouteGuard-CIN9Ou-r.js.map → RouteGuard--A04ESy8.js.map} +1 -1
- package/lib/{SchemaList-BbnkfjIe.js → SchemaList-Dw3-CJPb.js} +7 -7
- package/lib/{SchemaList-BbnkfjIe.js.map → SchemaList-Dw3-CJPb.js.map} +1 -1
- package/lib/{SchemaView-BrUf6_nP.js → SchemaView-DyJkiQkD.js} +94 -91
- package/lib/SchemaView-DyJkiQkD.js.map +1 -0
- package/lib/{SignUp-AlaaduyY.js → SignUp-DRvN-8cq.js} +4 -4
- package/lib/{SignUp-AlaaduyY.js.map → SignUp-DRvN-8cq.js.map} +1 -1
- package/lib/{SyntaxHighlight-DveJcTOQ.js → SyntaxHighlight-klTH8c6-.js} +372 -363
- package/lib/SyntaxHighlight-klTH8c6-.js.map +1 -0
- package/lib/{Toc-B4ShtN-I.js → Toc-PbuF-u9x.js} +2 -2
- package/lib/{Toc-B4ShtN-I.js.map → Toc-PbuF-u9x.js.map} +1 -1
- package/lib/ZudokuContext-BZB1TWdT.js +387 -0
- package/lib/ZudokuContext-BZB1TWdT.js.map +1 -0
- package/lib/chunk-EPOLDU6W-C6C8jAwd.js +8558 -0
- package/lib/chunk-EPOLDU6W-C6C8jAwd.js.map +1 -0
- package/lib/{circular-CuSWVYOZ.js → circular-DFquXeY2.js} +771 -749
- package/lib/{circular-CuSWVYOZ.js.map → circular-DFquXeY2.js.map} +1 -1
- package/lib/{createServer-B1_RUTJP.js → createServer-BXZ0CAUn.js} +4 -4
- package/lib/{createServer-B1_RUTJP.js.map → createServer-BXZ0CAUn.js.map} +1 -1
- package/lib/{errors-iDfQAr_v.js → errors-rWHkzVTd.js} +2 -2
- package/lib/{errors-iDfQAr_v.js.map → errors-rWHkzVTd.js.map} +1 -1
- package/lib/{firebase-I54w2ZsH.js → firebase-BmGU1FuD.js} +18 -16
- package/lib/{firebase-I54w2ZsH.js.map → firebase-BmGU1FuD.js.map} +1 -1
- package/lib/{hook-BxWvqzB0.js → hook-BGlHBdET.js} +3 -3
- package/lib/{hook-BxWvqzB0.js.map → hook-BGlHBdET.js.map} +1 -1
- package/lib/{index-A5Cre871.js → index-BDsEwofZ.js} +1709 -1707
- package/lib/index-BDsEwofZ.js.map +1 -0
- package/lib/{index-B4puReRo.js → index-BQB9hb6n.js} +152 -150
- package/lib/{index-B4puReRo.js.map → index-BQB9hb6n.js.map} +1 -1
- package/lib/{index-CjTisMeX.js → index-DBjOT2H1.js} +4 -4
- package/lib/{index-CjTisMeX.js.map → index-DBjOT2H1.js.map} +1 -1
- package/lib/{index-Dbrv6d94.js → index-DRBOFufT.js} +2 -2
- package/lib/{index-Dbrv6d94.js.map → index-DRBOFufT.js.map} +1 -1
- package/lib/{index.esm-BxIXRKtj.js → index.esm-Cx8B1YJQ.js} +2 -2
- package/lib/index.esm-Cx8B1YJQ.js.map +1 -0
- package/lib/{mutation-Cq0wKBqW.js → mutation-BISOc7OM.js} +2 -2
- package/lib/{mutation-Cq0wKBqW.js.map → mutation-BISOc7OM.js.map} +1 -1
- package/lib/ui/SyntaxHighlight.js +2 -2
- package/lib/{Input-nskrp_mj.js → useMutation-CFMGlAMW.js} +23 -40
- package/lib/useMutation-CFMGlAMW.js.map +1 -0
- package/lib/useSuspenseQuery-CSB_rVek.js +1226 -0
- package/lib/useSuspenseQuery-CSB_rVek.js.map +1 -0
- package/lib/zudoku.__internal.js +929 -1458
- package/lib/zudoku.__internal.js.map +1 -1
- package/lib/zudoku.auth-auth0.js +16 -16
- package/lib/zudoku.auth-auth0.js.map +1 -1
- package/lib/zudoku.auth-azureb2c.js +4 -4
- package/lib/zudoku.auth-clerk.js +52 -75
- package/lib/zudoku.auth-clerk.js.map +1 -1
- package/lib/zudoku.auth-firebase.js +4 -4
- package/lib/zudoku.auth-openid.js +4 -4
- package/lib/zudoku.auth-supabase.js +31 -40
- package/lib/zudoku.auth-supabase.js.map +1 -1
- package/lib/zudoku.components.js +22 -19
- package/lib/zudoku.components.js.map +1 -1
- package/lib/zudoku.hooks.js +3 -3
- package/lib/zudoku.mermaid.js +3 -3
- package/lib/zudoku.plugin-api-catalog.js +7 -6
- package/lib/zudoku.plugin-api-catalog.js.map +1 -1
- package/lib/zudoku.plugin-api-keys.js +23 -21
- package/lib/zudoku.plugin-api-keys.js.map +1 -1
- package/lib/zudoku.plugin-custom-pages.js +1 -1
- package/lib/zudoku.plugin-markdown.js +1 -1
- package/lib/zudoku.plugin-openapi.js +3 -3
- package/lib/zudoku.plugin-redirect.js +1 -1
- package/lib/zudoku.plugin-search-pagefind.js +30 -29
- package/lib/zudoku.plugin-search-pagefind.js.map +1 -1
- package/lib/zudoku.react-query.js +440 -0
- package/lib/zudoku.react-query.js.map +1 -0
- package/lib/zudoku.router.js +1130 -1404
- package/lib/zudoku.router.js.map +1 -1
- package/package.json +14 -10
- package/src/lib/authentication/providers/auth0.tsx +15 -9
- package/src/lib/authentication/providers/clerk.tsx +0 -26
- package/src/lib/authentication/providers/supabase.tsx +6 -15
- package/src/lib/components/Pagination.tsx +4 -5
- package/src/lib/components/index.ts +4 -0
- package/src/lib/components/navigation/NavigationItem.tsx +9 -3
- package/src/lib/core/react-query.ts +1 -0
- package/src/lib/oas/graphql/circular.test.ts +186 -0
- package/src/lib/oas/graphql/circular.ts +49 -10
- package/src/lib/plugins/openapi/OperationList.tsx +6 -1
- package/src/lib/plugins/openapi/schema/utils.ts +15 -4
- package/lib/ClaudeLogo-ByzA8TYR.js.map +0 -1
- package/lib/Input-nskrp_mj.js.map +0 -1
- package/lib/SchemaView-BrUf6_nP.js.map +0 -1
- package/lib/SyntaxHighlight-DveJcTOQ.js.map +0 -1
- package/lib/ZudokuContext-CDJYKqMY.js +0 -1581
- package/lib/ZudokuContext-CDJYKqMY.js.map +0 -1
- package/lib/chunk-PVWAREVJ-ClM0m2aJ.js +0 -7965
- package/lib/chunk-PVWAREVJ-ClM0m2aJ.js.map +0 -1
- package/lib/index-A5Cre871.js.map +0 -1
- package/lib/index.esm-BxIXRKtj.js.map +0 -1
package/lib/zudoku.auth-auth0.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { u as r } from "./ZudokuContext-
|
|
2
|
-
import { OpenIDAuthenticationProvider as
|
|
3
|
-
class
|
|
1
|
+
import { u as r, j as a } from "./ZudokuContext-BZB1TWdT.js";
|
|
2
|
+
import { OpenIDAuthenticationProvider as p } from "./zudoku.auth-openid.js";
|
|
3
|
+
class d extends p {
|
|
4
4
|
options;
|
|
5
5
|
constructor(t) {
|
|
6
6
|
super({
|
|
@@ -16,28 +16,28 @@ class p extends a {
|
|
|
16
16
|
this.options?.prompt !== void 0 ? this.options.prompt !== "" && t.searchParams.set("prompt", this.options.prompt) : this.options?.alwaysPromptLogin !== !1 && t.searchParams.set("prompt", "login"), e && t.searchParams.set("screen_hint", "signup");
|
|
17
17
|
};
|
|
18
18
|
signOut = async (t) => {
|
|
19
|
-
const e = await this.getAuthServer(),
|
|
19
|
+
const e = await this.getAuthServer(), s = r.getState().providerData?.idToken;
|
|
20
20
|
r.setState({
|
|
21
21
|
isAuthenticated: !1,
|
|
22
22
|
isPending: !1,
|
|
23
23
|
profile: void 0,
|
|
24
24
|
providerData: void 0
|
|
25
25
|
});
|
|
26
|
-
const
|
|
27
|
-
if (
|
|
28
|
-
|
|
29
|
-
|
|
26
|
+
const n = new URL(window.location.origin);
|
|
27
|
+
if (n.pathname = a(
|
|
28
|
+
"/",
|
|
29
|
+
this.redirectToAfterSignOut
|
|
30
|
+
), e.end_session_endpoint) {
|
|
31
|
+
const i = new URL(e.end_session_endpoint);
|
|
32
|
+
s && i.searchParams.set("id_token_hint", s), i.searchParams.set(
|
|
30
33
|
"post_logout_redirect_uri",
|
|
31
|
-
|
|
32
|
-
);
|
|
33
|
-
}
|
|
34
|
-
new URL(
|
|
35
|
-
`${this.issuer.replace(/\/$/, "")}/oidc/logout`
|
|
36
|
-
);
|
|
34
|
+
n.toString()
|
|
35
|
+
), window.location.href = i.toString();
|
|
36
|
+
}
|
|
37
37
|
};
|
|
38
38
|
}
|
|
39
|
-
const
|
|
39
|
+
const l = (o) => new d(o);
|
|
40
40
|
export {
|
|
41
|
-
|
|
41
|
+
l as default
|
|
42
42
|
};
|
|
43
43
|
//# sourceMappingURL=zudoku.auth-auth0.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zudoku.auth-auth0.js","sources":["../src/lib/authentication/providers/auth0.tsx"],"sourcesContent":["import type { Auth0AuthenticationConfig } from \"../../../config/config.js\";\nimport type {\n AuthActionContext,\n AuthenticationPlugin,\n AuthenticationProviderInitializer,\n} from \"../authentication.js\";\nimport { useAuthState } from \"../state.js\";\nimport { OpenIDAuthenticationProvider } from \"./openid.js\";\n\nclass Auth0AuthenticationProvider\n extends OpenIDAuthenticationProvider\n implements AuthenticationPlugin\n{\n private readonly options: Auth0AuthenticationConfig[\"options\"];\n constructor(config: Auth0AuthenticationConfig) {\n super({\n ...config,\n type: \"openid\",\n issuer: `https://${config.domain}/`,\n clientId: config.clientId,\n audience: config.audience,\n scopes: config.scopes,\n });\n this.options = config.options;\n }\n\n onAuthorizationUrl = async (\n url: URL,\n { isSignUp }: { isSignUp: boolean },\n ) => {\n if (this.options?.prompt !== undefined) {\n if (this.options.prompt !== \"\") {\n url.searchParams.set(\"prompt\", this.options.prompt);\n }\n } else if (this.options?.alwaysPromptLogin !== false) {\n url.searchParams.set(\"prompt\", \"login\");\n }\n\n if (isSignUp) {\n url.searchParams.set(\"screen_hint\", \"signup\");\n }\n };\n\n signOut = async (_: AuthActionContext): Promise<void> => {\n const as = await this.getAuthServer();\n const
|
|
1
|
+
{"version":3,"file":"zudoku.auth-auth0.js","sources":["../src/lib/authentication/providers/auth0.tsx"],"sourcesContent":["import type { Auth0AuthenticationConfig } from \"../../../config/config.js\";\nimport { joinUrl } from \"../../util/joinUrl.js\";\nimport type {\n AuthActionContext,\n AuthenticationPlugin,\n AuthenticationProviderInitializer,\n} from \"../authentication.js\";\nimport { useAuthState } from \"../state.js\";\nimport { OpenIDAuthenticationProvider } from \"./openid.js\";\n\nclass Auth0AuthenticationProvider\n extends OpenIDAuthenticationProvider\n implements AuthenticationPlugin\n{\n private readonly options: Auth0AuthenticationConfig[\"options\"];\n constructor(config: Auth0AuthenticationConfig) {\n super({\n ...config,\n type: \"openid\",\n issuer: `https://${config.domain}/`,\n clientId: config.clientId,\n audience: config.audience,\n scopes: config.scopes,\n });\n this.options = config.options;\n }\n\n onAuthorizationUrl = async (\n url: URL,\n { isSignUp }: { isSignUp: boolean },\n ) => {\n if (this.options?.prompt !== undefined) {\n if (this.options.prompt !== \"\") {\n url.searchParams.set(\"prompt\", this.options.prompt);\n }\n } else if (this.options?.alwaysPromptLogin !== false) {\n url.searchParams.set(\"prompt\", \"login\");\n }\n\n if (isSignUp) {\n url.searchParams.set(\"screen_hint\", \"signup\");\n }\n };\n\n signOut = async (_: AuthActionContext): Promise<void> => {\n const as = await this.getAuthServer();\n\n // biome-ignore lint/suspicious/noExplicitAny: We don't have a good way for typing provider-data yet.\n const providerData = useAuthState.getState().providerData as any;\n const idToken = providerData?.idToken;\n\n useAuthState.setState({\n isAuthenticated: false,\n isPending: false,\n profile: undefined,\n providerData: undefined,\n });\n\n const redirectUrl = new URL(window.location.origin);\n redirectUrl.pathname = joinUrl(\n import.meta.env.BASE_URL,\n this.redirectToAfterSignOut,\n );\n\n // SEE: https://auth0.com/docs/authenticate/login/logout/log-users-out-of-auth0\n // For Auth0 tenants created on or after 14 November 2023, RP-Initiated\n // Logout End Session Endpoint Discovery is enabled by default.\n // Otherwise we fallback to the old non-compliant logout\n\n // The end_session_endpoint is set, the IdP supports some form of logout,\n // so we use auth0 logout. Otherwise, just redirect the user to home\n if (as.end_session_endpoint) {\n const logoutUrl = new URL(as.end_session_endpoint);\n if (idToken) {\n logoutUrl.searchParams.set(\"id_token_hint\", idToken);\n }\n logoutUrl.searchParams.set(\n \"post_logout_redirect_uri\",\n redirectUrl.toString(),\n );\n\n window.location.href = logoutUrl.toString();\n } else {\n // const logoutUrl = new URL(`${this.issuer.replace(/\\/$/, \"\")}/v2/logout`);\n // logoutUrl.searchParams.set(\"returnTo\", redirectUrl.toString());\n // don't support the deprecated logout today\n }\n };\n}\n\nconst auth0Auth: AuthenticationProviderInitializer<\n Auth0AuthenticationConfig\n> = (options) => new Auth0AuthenticationProvider(options);\n\nexport default auth0Auth;\n"],"names":["Auth0AuthenticationProvider","OpenIDAuthenticationProvider","config","url","isSignUp","_","as","idToken","useAuthState","redirectUrl","joinUrl","logoutUrl","auth0Auth","options"],"mappings":";;AAUA,MAAMA,UACIC,EAEV;AAAA,EACmB;AAAA,EACjB,YAAYC,GAAmC;AAC7C,UAAM;AAAA,MACJ,GAAGA;AAAA,MACH,MAAM;AAAA,MACN,QAAQ,WAAWA,EAAO,MAAM;AAAA,MAChC,UAAUA,EAAO;AAAA,MACjB,UAAUA,EAAO;AAAA,MACjB,QAAQA,EAAO;AAAA,IAAA,CAChB,GACD,KAAK,UAAUA,EAAO;AAAA,EACxB;AAAA,EAEA,qBAAqB,OACnBC,GACA,EAAE,UAAAC,QACC;AACH,IAAI,KAAK,SAAS,WAAW,SACvB,KAAK,QAAQ,WAAW,MAC1BD,EAAI,aAAa,IAAI,UAAU,KAAK,QAAQ,MAAM,IAE3C,KAAK,SAAS,sBAAsB,MAC7CA,EAAI,aAAa,IAAI,UAAU,OAAO,GAGpCC,KACFD,EAAI,aAAa,IAAI,eAAe,QAAQ;AAAA,EAEhD;AAAA,EAEA,UAAU,OAAOE,MAAwC;AACvD,UAAMC,IAAK,MAAM,KAAK,cAAA,GAIhBC,IADeC,EAAa,SAAA,EAAW,cACf;AAE9B,IAAAA,EAAa,SAAS;AAAA,MACpB,iBAAiB;AAAA,MACjB,WAAW;AAAA,MACX,SAAS;AAAA,MACT,cAAc;AAAA,IAAA,CACf;AAED,UAAMC,IAAc,IAAI,IAAI,OAAO,SAAS,MAAM;AAalD,QAZAA,EAAY,WAAWC;AAAA,MACrB;AAAA,MACA,KAAK;AAAA,IAAA,GAUHJ,EAAG,sBAAsB;AAC3B,YAAMK,IAAY,IAAI,IAAIL,EAAG,oBAAoB;AACjD,MAAIC,KACFI,EAAU,aAAa,IAAI,iBAAiBJ,CAAO,GAErDI,EAAU,aAAa;AAAA,QACrB;AAAA,QACAF,EAAY,SAAA;AAAA,MAAS,GAGvB,OAAO,SAAS,OAAOE,EAAU,SAAA;AAAA,IACnC;AAAA,EAKF;AACF;AAEA,MAAMC,IAEF,CAACC,MAAY,IAAIb,EAA4Ba,CAAO;"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { j as n } from "./jsx-runtime-BzflLqGi.js";
|
|
2
2
|
import { PublicClientApplication as A, EventType as f } from "@azure/msal-browser";
|
|
3
|
-
import { E as I } from "./index-
|
|
3
|
+
import { E as I } from "./index-BDsEwofZ.js";
|
|
4
4
|
import { C as T } from "./ClientOnly-E7hGysn1.js";
|
|
5
|
-
import { j as S, u as h } from "./ZudokuContext-
|
|
6
|
-
import { C, A as c } from "./errors-
|
|
7
|
-
import { C as k, O as w } from "./OAuthErrorPage-
|
|
5
|
+
import { j as S, u as h } from "./ZudokuContext-BZB1TWdT.js";
|
|
6
|
+
import { C, A as c } from "./errors-rWHkzVTd.js";
|
|
7
|
+
import { C as k, O as w } from "./OAuthErrorPage-4mN5DA86.js";
|
|
8
8
|
const u = "/oauth/callback";
|
|
9
9
|
class y extends C {
|
|
10
10
|
msalInstance;
|
package/lib/zudoku.auth-clerk.js
CHANGED
|
@@ -1,70 +1,47 @@
|
|
|
1
|
-
import { j as
|
|
2
|
-
import { LogOutIcon as
|
|
3
|
-
import { S as
|
|
4
|
-
import { u as
|
|
5
|
-
const
|
|
6
|
-
clerkPubKey:
|
|
7
|
-
jwtTemplateName:
|
|
8
|
-
redirectToAfterSignOut:
|
|
9
|
-
redirectToAfterSignUp:
|
|
10
|
-
redirectToAfterSignIn:
|
|
1
|
+
import { j as a } from "./jsx-runtime-BzflLqGi.js";
|
|
2
|
+
import { LogOutIcon as m } from "lucide-react";
|
|
3
|
+
import { S as p, a as f, b as h } from "./SignUp-DRvN-8cq.js";
|
|
4
|
+
import { u as r } from "./ZudokuContext-BZB1TWdT.js";
|
|
5
|
+
const R = ({
|
|
6
|
+
clerkPubKey: u,
|
|
7
|
+
jwtTemplateName: c,
|
|
8
|
+
redirectToAfterSignOut: d = "/",
|
|
9
|
+
redirectToAfterSignUp: n,
|
|
10
|
+
redirectToAfterSignIn: o
|
|
11
11
|
}) => {
|
|
12
|
-
let
|
|
12
|
+
let i;
|
|
13
13
|
const t = (async () => {
|
|
14
14
|
if (typeof window > "u") return;
|
|
15
|
-
const { Clerk:
|
|
16
|
-
|
|
17
|
-
const i = e.user.emailAddresses.find(
|
|
18
|
-
(o) => o.verification.status === "verified"
|
|
19
|
-
);
|
|
20
|
-
n.getState().setLoggedIn({
|
|
21
|
-
profile: {
|
|
22
|
-
sub: e.user.id,
|
|
23
|
-
name: e.user.fullName ?? void 0,
|
|
24
|
-
email: i?.emailAddress ?? e.user.emailAddresses[0]?.emailAddress,
|
|
25
|
-
emailVerified: i !== void 0,
|
|
26
|
-
pictureUrl: e.user.imageUrl
|
|
27
|
-
},
|
|
28
|
-
providerData: {
|
|
29
|
-
user: {
|
|
30
|
-
publicMetadata: e.user.publicMetadata,
|
|
31
|
-
id: e.user.id,
|
|
32
|
-
emailAddresses: e.user.emailAddresses,
|
|
33
|
-
imageUrl: e.user.imageUrl,
|
|
34
|
-
fullName: e.user.fullName
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
return e;
|
|
15
|
+
const { Clerk: e } = await import("@clerk/clerk-js");
|
|
16
|
+
return i = new e(u), await i.load(), i;
|
|
40
17
|
})();
|
|
41
|
-
async function
|
|
42
|
-
if (await t, !
|
|
18
|
+
async function l() {
|
|
19
|
+
if (await t, !i?.session)
|
|
43
20
|
throw new Error("No session available");
|
|
44
|
-
const
|
|
45
|
-
template:
|
|
21
|
+
const e = await i.session.getToken({
|
|
22
|
+
template: c
|
|
46
23
|
});
|
|
47
|
-
if (!
|
|
24
|
+
if (!e)
|
|
48
25
|
throw new Error("Could not get access token from Clerk");
|
|
49
|
-
return
|
|
26
|
+
return e;
|
|
50
27
|
}
|
|
51
|
-
async function g(
|
|
52
|
-
const
|
|
53
|
-
return
|
|
28
|
+
async function g(e) {
|
|
29
|
+
const s = await l();
|
|
30
|
+
return e.headers.set("Authorization", `Bearer ${s}`), e;
|
|
54
31
|
}
|
|
55
32
|
return {
|
|
56
33
|
getRoutes: () => [
|
|
57
34
|
{
|
|
58
35
|
path: "/signout",
|
|
59
|
-
element: /* @__PURE__ */
|
|
36
|
+
element: /* @__PURE__ */ a.jsx(p, {})
|
|
60
37
|
},
|
|
61
38
|
{
|
|
62
39
|
path: "/signin",
|
|
63
|
-
element: /* @__PURE__ */
|
|
40
|
+
element: /* @__PURE__ */ a.jsx(f, {})
|
|
64
41
|
},
|
|
65
42
|
{
|
|
66
43
|
path: "/signup",
|
|
67
|
-
element: /* @__PURE__ */
|
|
44
|
+
element: /* @__PURE__ */ a.jsx(h, {})
|
|
68
45
|
}
|
|
69
46
|
],
|
|
70
47
|
getProfileMenuItems() {
|
|
@@ -73,58 +50,58 @@ const b = ({
|
|
|
73
50
|
label: "Logout",
|
|
74
51
|
path: "/signout",
|
|
75
52
|
category: "bottom",
|
|
76
|
-
icon:
|
|
53
|
+
icon: m
|
|
77
54
|
}
|
|
78
55
|
];
|
|
79
56
|
},
|
|
80
57
|
initialize: async () => {
|
|
81
|
-
const
|
|
82
|
-
if (
|
|
83
|
-
if (
|
|
84
|
-
const
|
|
85
|
-
(
|
|
58
|
+
const e = await t;
|
|
59
|
+
if (e)
|
|
60
|
+
if (e.session) {
|
|
61
|
+
const s = e.session.user.emailAddresses.find(
|
|
62
|
+
(w) => w.verification.status === "verified"
|
|
86
63
|
);
|
|
87
|
-
|
|
64
|
+
r.getState().setLoggedIn({
|
|
88
65
|
profile: {
|
|
89
|
-
sub:
|
|
90
|
-
name:
|
|
91
|
-
email:
|
|
92
|
-
emailVerified:
|
|
93
|
-
pictureUrl:
|
|
66
|
+
sub: e.session.user.id,
|
|
67
|
+
name: e.session.user.fullName ?? void 0,
|
|
68
|
+
email: s?.emailAddress ?? e.session.user.emailAddresses[0]?.emailAddress,
|
|
69
|
+
emailVerified: s !== void 0,
|
|
70
|
+
pictureUrl: e.session.user.imageUrl
|
|
94
71
|
},
|
|
95
72
|
providerData: {
|
|
96
|
-
user:
|
|
73
|
+
user: e.session.user
|
|
97
74
|
}
|
|
98
75
|
});
|
|
99
76
|
} else
|
|
100
|
-
|
|
77
|
+
r.setState({
|
|
101
78
|
isAuthenticated: !1,
|
|
102
79
|
isPending: !1,
|
|
103
80
|
profile: void 0
|
|
104
81
|
});
|
|
105
82
|
},
|
|
106
|
-
getAccessToken:
|
|
83
|
+
getAccessToken: l,
|
|
107
84
|
signRequest: g,
|
|
108
85
|
signOut: async () => {
|
|
109
|
-
await t, await
|
|
110
|
-
redirectUrl: window.location.origin +
|
|
111
|
-
}),
|
|
86
|
+
await t, await i?.signOut({
|
|
87
|
+
redirectUrl: window.location.origin + d
|
|
88
|
+
}), r.getState().setLoggedOut();
|
|
112
89
|
},
|
|
113
|
-
signIn: async (
|
|
114
|
-
await t, await
|
|
115
|
-
signInForceRedirectUrl:
|
|
116
|
-
signUpForceRedirectUrl:
|
|
90
|
+
signIn: async (e, { redirectTo: s } = {}) => {
|
|
91
|
+
await t, await i?.redirectToSignIn({
|
|
92
|
+
signInForceRedirectUrl: o ? window.location.origin + o : s,
|
|
93
|
+
signUpForceRedirectUrl: n ? window.location.origin + n : s
|
|
117
94
|
});
|
|
118
95
|
},
|
|
119
|
-
signUp: async (
|
|
120
|
-
await t, await
|
|
121
|
-
signInForceRedirectUrl:
|
|
122
|
-
signUpForceRedirectUrl:
|
|
96
|
+
signUp: async (e, { redirectTo: s } = {}) => {
|
|
97
|
+
await t, await i?.redirectToSignUp({
|
|
98
|
+
signInForceRedirectUrl: o ? window.location.origin + o : s,
|
|
99
|
+
signUpForceRedirectUrl: n ? window.location.origin + n : s
|
|
123
100
|
});
|
|
124
101
|
}
|
|
125
102
|
};
|
|
126
103
|
};
|
|
127
104
|
export {
|
|
128
|
-
|
|
105
|
+
R as default
|
|
129
106
|
};
|
|
130
107
|
//# sourceMappingURL=zudoku.auth-clerk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zudoku.auth-clerk.js","sources":["../src/lib/authentication/providers/clerk.tsx"],"sourcesContent":["import type { Clerk } from \"@clerk/clerk-js\";\nimport { LogOutIcon } from \"lucide-react\";\nimport type { ZudokuPlugin } from \"zudoku/plugins\";\nimport type { ClerkAuthenticationConfig } from \"../../../config/config.js\";\nimport type {\n AuthActionContext,\n AuthenticationPlugin,\n AuthenticationProviderInitializer,\n} from \"../authentication.js\";\nimport { SignIn } from \"../components/SignIn.js\";\nimport { SignOut } from \"../components/SignOut.js\";\nimport { SignUp } from \"../components/SignUp.js\";\nimport { useAuthState } from \"../state.js\";\n\nconst clerkAuth: AuthenticationProviderInitializer<\n ClerkAuthenticationConfig\n> = ({\n clerkPubKey,\n jwtTemplateName,\n redirectToAfterSignOut = \"/\",\n redirectToAfterSignUp,\n redirectToAfterSignIn,\n}): AuthenticationPlugin & ZudokuPlugin => {\n let clerkApi: Clerk | undefined;\n const ensureLoaded = (async () => {\n if (typeof window === \"undefined\") return;\n const { Clerk } = await import(\"@clerk/clerk-js\");\n clerkApi = new Clerk(clerkPubKey);\n\n await clerkApi.load();\n\n
|
|
1
|
+
{"version":3,"file":"zudoku.auth-clerk.js","sources":["../src/lib/authentication/providers/clerk.tsx"],"sourcesContent":["import type { Clerk } from \"@clerk/clerk-js\";\nimport { LogOutIcon } from \"lucide-react\";\nimport type { ZudokuPlugin } from \"zudoku/plugins\";\nimport type { ClerkAuthenticationConfig } from \"../../../config/config.js\";\nimport type {\n AuthActionContext,\n AuthenticationPlugin,\n AuthenticationProviderInitializer,\n} from \"../authentication.js\";\nimport { SignIn } from \"../components/SignIn.js\";\nimport { SignOut } from \"../components/SignOut.js\";\nimport { SignUp } from \"../components/SignUp.js\";\nimport { useAuthState } from \"../state.js\";\n\nconst clerkAuth: AuthenticationProviderInitializer<\n ClerkAuthenticationConfig\n> = ({\n clerkPubKey,\n jwtTemplateName,\n redirectToAfterSignOut = \"/\",\n redirectToAfterSignUp,\n redirectToAfterSignIn,\n}): AuthenticationPlugin & ZudokuPlugin => {\n let clerkApi: Clerk | undefined;\n const ensureLoaded = (async () => {\n if (typeof window === \"undefined\") return;\n const { Clerk } = await import(\"@clerk/clerk-js\");\n clerkApi = new Clerk(clerkPubKey);\n\n await clerkApi.load();\n\n return clerkApi;\n })();\n\n async function getAccessToken() {\n await ensureLoaded;\n if (!clerkApi?.session) {\n throw new Error(\"No session available\");\n }\n const response = await clerkApi.session.getToken({\n template: jwtTemplateName,\n });\n if (!response) {\n throw new Error(\"Could not get access token from Clerk\");\n }\n return response;\n }\n\n async function signRequest(request: Request): Promise<Request> {\n const response = await getAccessToken();\n request.headers.set(\"Authorization\", `Bearer ${response}`);\n return request;\n }\n\n return {\n getRoutes: () => {\n return [\n {\n path: \"/signout\",\n element: <SignOut />,\n },\n {\n path: \"/signin\",\n element: <SignIn />,\n },\n {\n path: \"/signup\",\n element: <SignUp />,\n },\n ];\n },\n\n getProfileMenuItems() {\n return [\n {\n label: \"Logout\",\n path: \"/signout\",\n category: \"bottom\",\n icon: LogOutIcon,\n } as const,\n ];\n },\n initialize: async () => {\n const clerk = await ensureLoaded;\n\n if (!clerk) {\n return;\n }\n\n if (clerk.session) {\n const verifiedEmail = clerk.session.user.emailAddresses.find(\n (email) => email.verification.status === \"verified\",\n );\n useAuthState.getState().setLoggedIn({\n profile: {\n sub: clerk.session.user.id,\n name: clerk.session.user.fullName ?? undefined,\n email:\n verifiedEmail?.emailAddress ??\n clerk.session.user.emailAddresses[0]?.emailAddress,\n emailVerified: verifiedEmail !== undefined,\n pictureUrl: clerk.session.user.imageUrl,\n },\n providerData: {\n user: clerk.session.user,\n },\n });\n } else {\n useAuthState.setState({\n isAuthenticated: false,\n isPending: false,\n profile: undefined,\n });\n }\n },\n getAccessToken,\n signRequest,\n signOut: async () => {\n await ensureLoaded;\n await clerkApi?.signOut({\n redirectUrl: window.location.origin + redirectToAfterSignOut,\n });\n useAuthState.getState().setLoggedOut();\n },\n signIn: async (\n _: AuthActionContext,\n { redirectTo }: { redirectTo?: string } = {},\n ) => {\n await ensureLoaded;\n await clerkApi?.redirectToSignIn({\n signInForceRedirectUrl: redirectToAfterSignIn\n ? window.location.origin + redirectToAfterSignIn\n : redirectTo,\n signUpForceRedirectUrl: redirectToAfterSignUp\n ? window.location.origin + redirectToAfterSignUp\n : redirectTo,\n });\n },\n signUp: async (\n _: AuthActionContext,\n { redirectTo }: { redirectTo?: string } = {},\n ) => {\n await ensureLoaded;\n await clerkApi?.redirectToSignUp({\n signInForceRedirectUrl: redirectToAfterSignIn\n ? window.location.origin + redirectToAfterSignIn\n : redirectTo,\n signUpForceRedirectUrl: redirectToAfterSignUp\n ? window.location.origin + redirectToAfterSignUp\n : redirectTo,\n });\n },\n };\n};\n\nexport default clerkAuth;\n"],"names":["clerkAuth","clerkPubKey","jwtTemplateName","redirectToAfterSignOut","redirectToAfterSignUp","redirectToAfterSignIn","clerkApi","ensureLoaded","Clerk","getAccessToken","response","signRequest","request","SignOut","SignIn","SignUp","LogOutIcon","clerk","verifiedEmail","email","useAuthState","_","redirectTo"],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import "./jsx-runtime-BzflLqGi.js";
|
|
2
|
-
import { y as e } from "./firebase-
|
|
2
|
+
import { y as e } from "./firebase-BmGU1FuD.js";
|
|
3
3
|
import "./invariant-BJAl77rw.js";
|
|
4
|
-
import "./errors-
|
|
5
|
-
import "./SignUp-
|
|
6
|
-
import "./ZudokuContext-
|
|
4
|
+
import "./errors-rWHkzVTd.js";
|
|
5
|
+
import "./SignUp-DRvN-8cq.js";
|
|
6
|
+
import "./ZudokuContext-BZB1TWdT.js";
|
|
7
7
|
export {
|
|
8
8
|
e as default
|
|
9
9
|
};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { j as D } from "./jsx-runtime-BzflLqGi.js";
|
|
2
2
|
import { a as Le } from "./invariant-BJAl77rw.js";
|
|
3
|
-
import { E as Ue } from "./index-
|
|
3
|
+
import { E as Ue } from "./index-BDsEwofZ.js";
|
|
4
4
|
import { C as xe } from "./ClientOnly-E7hGysn1.js";
|
|
5
|
-
import { j as Ce, u as S } from "./ZudokuContext-
|
|
6
|
-
import { C as Ie, O as re, A as R } from "./errors-
|
|
7
|
-
import { C as je, O as Oe } from "./OAuthErrorPage-
|
|
5
|
+
import { j as Ce, u as S } from "./ZudokuContext-BZB1TWdT.js";
|
|
6
|
+
import { C as Ie, O as re, A as R } from "./errors-rWHkzVTd.js";
|
|
7
|
+
import { C as je, O as Oe } from "./OAuthErrorPage-4mN5DA86.js";
|
|
8
8
|
var J = { exports: {} }, De = J.exports, oe;
|
|
9
9
|
function Je() {
|
|
10
10
|
return oe || (oe = 1, (function(t) {
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
import { j as
|
|
2
|
-
import { createClient as
|
|
3
|
-
import { C as m, A as
|
|
4
|
-
import { S as f } from "./SignUp-
|
|
5
|
-
import { u } from "./ZudokuContext-
|
|
1
|
+
import { j as a } from "./jsx-runtime-BzflLqGi.js";
|
|
2
|
+
import { createClient as g } from "@supabase/supabase-js";
|
|
3
|
+
import { C as m, A as h } from "./errors-rWHkzVTd.js";
|
|
4
|
+
import { S as f } from "./SignUp-DRvN-8cq.js";
|
|
5
|
+
import { u } from "./ZudokuContext-BZB1TWdT.js";
|
|
6
6
|
import { Auth as v } from "@supabase/auth-ui-react";
|
|
7
7
|
import { ThemeSupa as S } from "@supabase/auth-ui-shared";
|
|
8
|
-
import { b as
|
|
9
|
-
import { H as
|
|
10
|
-
const
|
|
11
|
-
client:
|
|
8
|
+
import { b as T } from "./chunk-EPOLDU6W-C6C8jAwd.js";
|
|
9
|
+
import { H as A } from "./index-BDsEwofZ.js";
|
|
10
|
+
const c = ({
|
|
11
|
+
client: i,
|
|
12
12
|
config: e,
|
|
13
13
|
view: t = "sign_in"
|
|
14
14
|
}) => {
|
|
15
|
-
const [
|
|
16
|
-
return /* @__PURE__ */
|
|
17
|
-
/* @__PURE__ */
|
|
18
|
-
/* @__PURE__ */
|
|
15
|
+
const [s] = T(), r = s.get("redirectTo"), n = e.provider ? [e.provider] : e.providers, o = e.basePath ?? "/", d = r ?? e.redirectToAfterSignUp ?? o, l = r ?? e.redirectToAfterSignIn ?? o, p = r ?? e.redirectToAfterSignOut ?? o;
|
|
16
|
+
return /* @__PURE__ */ a.jsx("div", { className: "flex items-center justify-center", children: /* @__PURE__ */ a.jsxs("div", { className: "max-w-md w-full mt-10", children: [
|
|
17
|
+
/* @__PURE__ */ a.jsx(A, { level: 1, children: t === "sign_in" ? "Sign in" : "Sign up" }),
|
|
18
|
+
/* @__PURE__ */ a.jsx(
|
|
19
19
|
v,
|
|
20
20
|
{
|
|
21
21
|
view: t,
|
|
22
22
|
redirectToAfterSignIn: l,
|
|
23
|
-
redirectToAfterSignUp:
|
|
23
|
+
redirectToAfterSignUp: d,
|
|
24
24
|
redirectToAfterSignOut: p,
|
|
25
|
-
supabaseClient:
|
|
25
|
+
supabaseClient: i,
|
|
26
26
|
onlyThirdPartyProviders: e.onlyThirdPartyProviders,
|
|
27
27
|
appearance: {
|
|
28
28
|
theme: S,
|
|
@@ -58,18 +58,18 @@ class b extends m {
|
|
|
58
58
|
client;
|
|
59
59
|
config;
|
|
60
60
|
constructor(e) {
|
|
61
|
-
const { supabaseUrl: t, supabaseKey:
|
|
62
|
-
super(), this.client =
|
|
61
|
+
const { supabaseUrl: t, supabaseKey: s } = e;
|
|
62
|
+
super(), this.client = g(t, s, {
|
|
63
63
|
auth: {
|
|
64
64
|
autoRefreshToken: !0,
|
|
65
65
|
persistSession: !0
|
|
66
66
|
}
|
|
67
|
-
}), this.config = e, this.client.auth.onAuthStateChange(async (
|
|
68
|
-
n && (
|
|
67
|
+
}), this.config = e, this.client.auth.onAuthStateChange(async (r, n) => {
|
|
68
|
+
n && (r === "SIGNED_IN" || r === "TOKEN_REFRESHED") ? await this.updateUserState(n) : r === "SIGNED_OUT" && u.getState().setLoggedOut();
|
|
69
69
|
});
|
|
70
70
|
}
|
|
71
71
|
async updateUserState(e) {
|
|
72
|
-
const { user: t } = e,
|
|
72
|
+
const { user: t } = e, s = {
|
|
73
73
|
sub: t.id,
|
|
74
74
|
email: t.email,
|
|
75
75
|
name: t.user_metadata.full_name || t.user_metadata.name,
|
|
@@ -77,14 +77,14 @@ class b extends m {
|
|
|
77
77
|
pictureUrl: t.user_metadata.avatar_url
|
|
78
78
|
};
|
|
79
79
|
u.getState().setLoggedIn({
|
|
80
|
-
profile:
|
|
80
|
+
profile: s,
|
|
81
81
|
providerData: { session: e }
|
|
82
82
|
});
|
|
83
83
|
}
|
|
84
84
|
async getAccessToken() {
|
|
85
85
|
const { data: e, error: t } = await this.client.auth.getSession();
|
|
86
86
|
if (t || !e.session)
|
|
87
|
-
throw new
|
|
87
|
+
throw new h("User is not authenticated");
|
|
88
88
|
return e.session.access_token;
|
|
89
89
|
}
|
|
90
90
|
async signRequest(e) {
|
|
@@ -104,8 +104,8 @@ class b extends m {
|
|
|
104
104
|
getRoutes = () => [
|
|
105
105
|
{
|
|
106
106
|
path: "/signin",
|
|
107
|
-
element: /* @__PURE__ */
|
|
108
|
-
|
|
107
|
+
element: /* @__PURE__ */ a.jsx(
|
|
108
|
+
c,
|
|
109
109
|
{
|
|
110
110
|
view: "sign_in",
|
|
111
111
|
client: this.client,
|
|
@@ -115,8 +115,8 @@ class b extends m {
|
|
|
115
115
|
},
|
|
116
116
|
{
|
|
117
117
|
path: "/signup",
|
|
118
|
-
element: /* @__PURE__ */
|
|
119
|
-
|
|
118
|
+
element: /* @__PURE__ */ a.jsx(
|
|
119
|
+
c,
|
|
120
120
|
{
|
|
121
121
|
view: "sign_up",
|
|
122
122
|
client: this.client,
|
|
@@ -126,29 +126,20 @@ class b extends m {
|
|
|
126
126
|
},
|
|
127
127
|
{
|
|
128
128
|
path: "/signout",
|
|
129
|
-
element: /* @__PURE__ */
|
|
129
|
+
element: /* @__PURE__ */ a.jsx(f, {})
|
|
130
130
|
}
|
|
131
131
|
];
|
|
132
132
|
signOut = async () => {
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
r === "SIGNED_OUT" && (t.subscription.unsubscribe(), e());
|
|
136
|
-
});
|
|
137
|
-
this.client.auth.signOut();
|
|
138
|
-
}), u.setState({
|
|
139
|
-
isAuthenticated: !1,
|
|
140
|
-
isPending: !1,
|
|
141
|
-
profile: void 0,
|
|
142
|
-
providerData: void 0
|
|
143
|
-
});
|
|
133
|
+
const { error: e } = await this.client.auth.signOut({ scope: "local" });
|
|
134
|
+
e && console.error("Error signing out", e), u.getState().setLoggedOut();
|
|
144
135
|
};
|
|
145
136
|
onPageLoad = async () => {
|
|
146
137
|
const { data: e, error: t } = await this.client.auth.getSession();
|
|
147
138
|
!t && e.session && await this.updateUserState(e.session);
|
|
148
139
|
};
|
|
149
140
|
}
|
|
150
|
-
const
|
|
141
|
+
const P = (i) => new b(i);
|
|
151
142
|
export {
|
|
152
|
-
|
|
143
|
+
P as default
|
|
153
144
|
};
|
|
154
145
|
//# sourceMappingURL=zudoku.auth-supabase.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zudoku.auth-supabase.js","sources":["../src/lib/authentication/providers/supabase/SupabaseAuthUI.tsx","../src/lib/authentication/providers/supabase.tsx"],"sourcesContent":["import { Auth } from \"@supabase/auth-ui-react\";\nimport {\n ThemeSupa,\n type ThemeVariables,\n type ViewType,\n} from \"@supabase/auth-ui-shared\";\nimport type { SupabaseClient } from \"@supabase/supabase-js\";\nimport { useSearchParams } from \"react-router\";\nimport type { SupabaseAuthenticationConfig } from \"../../../../config/config.js\";\nimport { Heading } from \"../../../components/Heading.js\";\n\nexport const SupabaseAuthUI = ({\n client,\n config,\n view = \"sign_in\",\n}: {\n client: SupabaseClient;\n config: SupabaseAuthenticationConfig;\n view: ViewType;\n}) => {\n const [searchParams] = useSearchParams();\n const redirectTo = searchParams.get(\"redirectTo\");\n const providers = config.provider ? [config.provider] : config.providers;\n const root = config.basePath ?? \"/\";\n const redirectToAfterSignUp =\n redirectTo ?? config.redirectToAfterSignUp ?? root;\n const redirectToAfterSignIn =\n redirectTo ?? config.redirectToAfterSignIn ?? root;\n const redirectToAfterSignOut =\n redirectTo ?? config.redirectToAfterSignOut ?? root;\n\n return (\n <div className=\"flex items-center justify-center\">\n <div className=\"max-w-md w-full mt-10\">\n <Heading level={1}>\n {view === \"sign_in\" ? \"Sign in\" : \"Sign up\"}\n </Heading>\n <Auth\n view={view}\n redirectToAfterSignIn={redirectToAfterSignIn}\n redirectToAfterSignUp={redirectToAfterSignUp}\n redirectToAfterSignOut={redirectToAfterSignOut}\n supabaseClient={client}\n onlyThirdPartyProviders={config.onlyThirdPartyProviders}\n appearance={{\n theme: ThemeSupa,\n variables: {\n default: {\n colors: {\n dividerBackground: \"var(--border)\",\n brand: \"var(--primary)\",\n brandAccent: \"hsla(from var(--primary) h s l / 0.8)\",\n brandButtonText: \"var(--primary-foreground)\",\n defaultButtonBorder: \"var(--border)\",\n inputBorder: \"var(--border)\",\n inputText: \"var(--foreground)\",\n inputBorderHover: \"var(--accent)\",\n defaultButtonBackground: \"var(--secondary)\",\n defaultButtonBackgroundHover: \"var(--accent)\",\n },\n radii: {\n borderRadiusButton: \"var(--radius)\",\n buttonBorderRadius: \"var(--radius)\",\n inputBorderRadius: \"var(--radius)\",\n },\n } satisfies ThemeVariables,\n },\n }}\n providers={providers}\n redirectTo={config.redirectToAfterSignIn ?? \"/\"}\n />\n </div>\n </div>\n );\n};\n","import {\n createClient,\n type Session,\n type SupabaseClient,\n} from \"@supabase/supabase-js\";\nimport type { SupabaseAuthenticationConfig } from \"../../../config/config.js\";\nimport { CoreAuthenticationPlugin } from \"../AuthenticationPlugin.js\";\nimport type {\n AuthActionContext,\n AuthActionOptions,\n AuthenticationPlugin,\n AuthenticationProviderInitializer,\n} from \"../authentication.js\";\nimport { SignOut } from \"../components/SignOut.js\";\nimport { AuthorizationError } from \"../errors.js\";\nimport { type UserProfile, useAuthState } from \"../state.js\";\nimport { SupabaseAuthUI } from \"./supabase/SupabaseAuthUI.js\";\n\nclass SupabaseAuthenticationProvider\n extends CoreAuthenticationPlugin\n implements AuthenticationPlugin\n{\n private readonly client: SupabaseClient;\n private readonly config: SupabaseAuthenticationConfig;\n\n constructor(config: SupabaseAuthenticationConfig) {\n const { supabaseUrl, supabaseKey } = config;\n super();\n\n this.client = createClient(supabaseUrl, supabaseKey, {\n auth: {\n autoRefreshToken: true,\n persistSession: true,\n },\n });\n this.config = config;\n\n this.client.auth.onAuthStateChange(async (event, session) => {\n if (session && (event === \"SIGNED_IN\" || event === \"TOKEN_REFRESHED\")) {\n await this.updateUserState(session);\n } else if (event === \"SIGNED_OUT\") {\n useAuthState.getState().setLoggedOut();\n }\n });\n }\n\n private async updateUserState(session: Session) {\n const { user } = session;\n\n const profile: UserProfile = {\n sub: user.id,\n email: user.email,\n name: user.user_metadata.full_name || user.user_metadata.name,\n emailVerified: user.email_confirmed_at != null,\n pictureUrl: user.user_metadata.avatar_url,\n };\n\n useAuthState.getState().setLoggedIn({\n profile,\n providerData: { session },\n });\n }\n\n async getAccessToken(): Promise<string> {\n const { data, error } = await this.client.auth.getSession();\n\n if (error || !data.session) {\n throw new AuthorizationError(\"User is not authenticated\");\n }\n\n return data.session.access_token;\n }\n\n async signRequest(request: Request): Promise<Request> {\n const accessToken = await this.getAccessToken();\n request.headers.set(\"Authorization\", `Bearer ${accessToken}`);\n return request;\n }\n\n signUp = async (\n { navigate }: AuthActionContext,\n { redirectTo }: AuthActionOptions,\n ) => {\n void navigate(\n redirectTo\n ? `/signup?redirectTo=${encodeURIComponent(redirectTo)}`\n : `/signup`,\n );\n };\n\n signIn = async (\n { navigate }: AuthActionContext,\n { redirectTo }: AuthActionOptions,\n ) => {\n void navigate(\n redirectTo\n ? `/signin?redirectTo=${encodeURIComponent(redirectTo)}`\n : `/signin`,\n );\n };\n\n getRoutes = () => {\n return [\n {\n path: \"/signin\",\n element: (\n <SupabaseAuthUI\n view=\"sign_in\"\n client={this.client}\n config={this.config}\n />\n ),\n },\n {\n path: \"/signup\",\n element: (\n <SupabaseAuthUI\n view=\"sign_up\"\n client={this.client}\n config={this.config}\n />\n ),\n },\n {\n path: \"/signout\",\n element: <SignOut />,\n },\n ];\n };\n\n signOut = async () => {\n await new Promise<void>((resolve) => {\n const { data } = this.client.auth.onAuthStateChange(async (event) => {\n if (event !== \"SIGNED_OUT\") return;\n data.subscription.unsubscribe();\n resolve();\n });\n void this.client.auth.signOut();\n });\n\n useAuthState.setState({\n isAuthenticated: false,\n isPending: false,\n profile: undefined,\n providerData: undefined,\n });\n };\n\n onPageLoad = async () => {\n const { data, error } = await this.client.auth.getSession();\n\n if (!error && data.session) {\n await this.updateUserState(data.session);\n }\n };\n}\n\nconst supabaseAuth: AuthenticationProviderInitializer<\n SupabaseAuthenticationConfig\n> = (options) => new SupabaseAuthenticationProvider(options);\n\nexport default supabaseAuth;\n"],"names":["SupabaseAuthUI","client","config","view","searchParams","useSearchParams","redirectTo","providers","root","redirectToAfterSignUp","redirectToAfterSignIn","redirectToAfterSignOut","jsxs","jsx","Heading","Auth","ThemeSupa","SupabaseAuthenticationProvider","CoreAuthenticationPlugin","supabaseUrl","supabaseKey","createClient","event","session","useAuthState","user","profile","data","error","AuthorizationError","request","accessToken","navigate","SignOut","resolve","supabaseAuth","options"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"zudoku.auth-supabase.js","sources":["../src/lib/authentication/providers/supabase/SupabaseAuthUI.tsx","../src/lib/authentication/providers/supabase.tsx"],"sourcesContent":["import { Auth } from \"@supabase/auth-ui-react\";\nimport {\n ThemeSupa,\n type ThemeVariables,\n type ViewType,\n} from \"@supabase/auth-ui-shared\";\nimport type { SupabaseClient } from \"@supabase/supabase-js\";\nimport { useSearchParams } from \"react-router\";\nimport type { SupabaseAuthenticationConfig } from \"../../../../config/config.js\";\nimport { Heading } from \"../../../components/Heading.js\";\n\nexport const SupabaseAuthUI = ({\n client,\n config,\n view = \"sign_in\",\n}: {\n client: SupabaseClient;\n config: SupabaseAuthenticationConfig;\n view: ViewType;\n}) => {\n const [searchParams] = useSearchParams();\n const redirectTo = searchParams.get(\"redirectTo\");\n const providers = config.provider ? [config.provider] : config.providers;\n const root = config.basePath ?? \"/\";\n const redirectToAfterSignUp =\n redirectTo ?? config.redirectToAfterSignUp ?? root;\n const redirectToAfterSignIn =\n redirectTo ?? config.redirectToAfterSignIn ?? root;\n const redirectToAfterSignOut =\n redirectTo ?? config.redirectToAfterSignOut ?? root;\n\n return (\n <div className=\"flex items-center justify-center\">\n <div className=\"max-w-md w-full mt-10\">\n <Heading level={1}>\n {view === \"sign_in\" ? \"Sign in\" : \"Sign up\"}\n </Heading>\n <Auth\n view={view}\n redirectToAfterSignIn={redirectToAfterSignIn}\n redirectToAfterSignUp={redirectToAfterSignUp}\n redirectToAfterSignOut={redirectToAfterSignOut}\n supabaseClient={client}\n onlyThirdPartyProviders={config.onlyThirdPartyProviders}\n appearance={{\n theme: ThemeSupa,\n variables: {\n default: {\n colors: {\n dividerBackground: \"var(--border)\",\n brand: \"var(--primary)\",\n brandAccent: \"hsla(from var(--primary) h s l / 0.8)\",\n brandButtonText: \"var(--primary-foreground)\",\n defaultButtonBorder: \"var(--border)\",\n inputBorder: \"var(--border)\",\n inputText: \"var(--foreground)\",\n inputBorderHover: \"var(--accent)\",\n defaultButtonBackground: \"var(--secondary)\",\n defaultButtonBackgroundHover: \"var(--accent)\",\n },\n radii: {\n borderRadiusButton: \"var(--radius)\",\n buttonBorderRadius: \"var(--radius)\",\n inputBorderRadius: \"var(--radius)\",\n },\n } satisfies ThemeVariables,\n },\n }}\n providers={providers}\n redirectTo={config.redirectToAfterSignIn ?? \"/\"}\n />\n </div>\n </div>\n );\n};\n","import {\n createClient,\n type Session,\n type SupabaseClient,\n} from \"@supabase/supabase-js\";\nimport type { SupabaseAuthenticationConfig } from \"../../../config/config.js\";\nimport { CoreAuthenticationPlugin } from \"../AuthenticationPlugin.js\";\nimport type {\n AuthActionContext,\n AuthActionOptions,\n AuthenticationPlugin,\n AuthenticationProviderInitializer,\n} from \"../authentication.js\";\nimport { SignOut } from \"../components/SignOut.js\";\nimport { AuthorizationError } from \"../errors.js\";\nimport { type UserProfile, useAuthState } from \"../state.js\";\nimport { SupabaseAuthUI } from \"./supabase/SupabaseAuthUI.js\";\n\nclass SupabaseAuthenticationProvider\n extends CoreAuthenticationPlugin\n implements AuthenticationPlugin\n{\n private readonly client: SupabaseClient;\n private readonly config: SupabaseAuthenticationConfig;\n\n constructor(config: SupabaseAuthenticationConfig) {\n const { supabaseUrl, supabaseKey } = config;\n super();\n\n this.client = createClient(supabaseUrl, supabaseKey, {\n auth: {\n autoRefreshToken: true,\n persistSession: true,\n },\n });\n this.config = config;\n\n this.client.auth.onAuthStateChange(async (event, session) => {\n if (session && (event === \"SIGNED_IN\" || event === \"TOKEN_REFRESHED\")) {\n await this.updateUserState(session);\n } else if (event === \"SIGNED_OUT\") {\n useAuthState.getState().setLoggedOut();\n }\n });\n }\n\n private async updateUserState(session: Session) {\n const { user } = session;\n\n const profile: UserProfile = {\n sub: user.id,\n email: user.email,\n name: user.user_metadata.full_name || user.user_metadata.name,\n emailVerified: user.email_confirmed_at != null,\n pictureUrl: user.user_metadata.avatar_url,\n };\n\n useAuthState.getState().setLoggedIn({\n profile,\n providerData: { session },\n });\n }\n\n async getAccessToken(): Promise<string> {\n const { data, error } = await this.client.auth.getSession();\n\n if (error || !data.session) {\n throw new AuthorizationError(\"User is not authenticated\");\n }\n\n return data.session.access_token;\n }\n\n async signRequest(request: Request): Promise<Request> {\n const accessToken = await this.getAccessToken();\n request.headers.set(\"Authorization\", `Bearer ${accessToken}`);\n return request;\n }\n\n signUp = async (\n { navigate }: AuthActionContext,\n { redirectTo }: AuthActionOptions,\n ) => {\n void navigate(\n redirectTo\n ? `/signup?redirectTo=${encodeURIComponent(redirectTo)}`\n : `/signup`,\n );\n };\n\n signIn = async (\n { navigate }: AuthActionContext,\n { redirectTo }: AuthActionOptions,\n ) => {\n void navigate(\n redirectTo\n ? `/signin?redirectTo=${encodeURIComponent(redirectTo)}`\n : `/signin`,\n );\n };\n\n getRoutes = () => {\n return [\n {\n path: \"/signin\",\n element: (\n <SupabaseAuthUI\n view=\"sign_in\"\n client={this.client}\n config={this.config}\n />\n ),\n },\n {\n path: \"/signup\",\n element: (\n <SupabaseAuthUI\n view=\"sign_up\"\n client={this.client}\n config={this.config}\n />\n ),\n },\n {\n path: \"/signout\",\n element: <SignOut />,\n },\n ];\n };\n\n signOut = async () => {\n const { error } = await this.client.auth.signOut({ scope: \"local\" });\n if (error) {\n // biome-ignore lint/suspicious: Logging is better than not doing anything\n console.error(\"Error signing out\", error);\n }\n useAuthState.getState().setLoggedOut();\n };\n\n onPageLoad = async () => {\n const { data, error } = await this.client.auth.getSession();\n\n if (!error && data.session) {\n await this.updateUserState(data.session);\n }\n };\n}\n\nconst supabaseAuth: AuthenticationProviderInitializer<\n SupabaseAuthenticationConfig\n> = (options) => new SupabaseAuthenticationProvider(options);\n\nexport default supabaseAuth;\n"],"names":["SupabaseAuthUI","client","config","view","searchParams","useSearchParams","redirectTo","providers","root","redirectToAfterSignUp","redirectToAfterSignIn","redirectToAfterSignOut","jsxs","jsx","Heading","Auth","ThemeSupa","SupabaseAuthenticationProvider","CoreAuthenticationPlugin","supabaseUrl","supabaseKey","createClient","event","session","useAuthState","user","profile","data","error","AuthorizationError","request","accessToken","navigate","SignOut","supabaseAuth","options"],"mappings":"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"}
|
package/lib/zudoku.components.js
CHANGED
|
@@ -1,29 +1,32 @@
|
|
|
1
1
|
import "./index.esm-B_0dvNjB.js";
|
|
2
|
-
import "./index-
|
|
3
|
-
import "./chunk-
|
|
4
|
-
import "./hook-
|
|
2
|
+
import "./index-DBjOT2H1.js";
|
|
3
|
+
import "./chunk-EPOLDU6W-C6C8jAwd.js";
|
|
4
|
+
import "./hook-BGlHBdET.js";
|
|
5
5
|
import "./ui/Button.js";
|
|
6
6
|
import "./ui/Callout.js";
|
|
7
|
+
import "./invariant-BJAl77rw.js";
|
|
7
8
|
import "./ClientOnly-E7hGysn1.js";
|
|
8
|
-
import "./ZudokuContext-
|
|
9
|
-
import { B as
|
|
9
|
+
import "./ZudokuContext-BZB1TWdT.js";
|
|
10
|
+
import { B as d, F as k, C as l, r as h, p as y, q as S, L as Z, o as E, v as H, S as g, t as w, Z as x, w as A, y as B, z as L, x as M, G as T, a as c } from "./index-BDsEwofZ.js";
|
|
10
11
|
import "./Spinner-CI6bRyZw.js";
|
|
11
12
|
export {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
d as Button,
|
|
14
|
+
k as CACHE_KEYS,
|
|
15
|
+
l as Callout,
|
|
15
16
|
h as ClientOnly,
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
y as Head,
|
|
18
|
+
S as Heading,
|
|
19
|
+
Z as Link,
|
|
20
|
+
E as Markdown,
|
|
21
|
+
H as Slot,
|
|
22
|
+
g as Spinner,
|
|
23
|
+
w as Typography,
|
|
24
|
+
x as Zudoku,
|
|
25
|
+
A as ZudokuError,
|
|
23
26
|
B as useAuth,
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
27
|
+
L as useCache,
|
|
28
|
+
M as useMDXComponents,
|
|
29
|
+
T as useTheme,
|
|
30
|
+
c as useZudoku
|
|
28
31
|
};
|
|
29
32
|
//# sourceMappingURL=zudoku.components.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zudoku.components.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"zudoku.components.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
|
package/lib/zudoku.hooks.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { b as o, h as u, e as p, f as r, g as t, a as m, c as C } from "./index-
|
|
2
|
-
import "./hook-
|
|
3
|
-
import { C as E } from "./ZudokuContext-
|
|
1
|
+
import { b as o, h as u, e as p, f as r, g as t, a as m, c as C } from "./index-DBjOT2H1.js";
|
|
2
|
+
import "./hook-BGlHBdET.js";
|
|
3
|
+
import { C as E } from "./ZudokuContext-BZB1TWdT.js";
|
|
4
4
|
export {
|
|
5
5
|
E as CACHE_KEYS,
|
|
6
6
|
o as useAuth,
|
package/lib/zudoku.mermaid.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import "./jsx-runtime-BzflLqGi.js";
|
|
2
|
-
import "./
|
|
2
|
+
import "./useSuspenseQuery-CSB_rVek.js";
|
|
3
3
|
import "react";
|
|
4
|
-
import { M as e } from "./Mermaid-
|
|
5
|
-
import "./index-
|
|
4
|
+
import { M as e } from "./Mermaid-Koc3z8mU.js";
|
|
5
|
+
import "./index-DBjOT2H1.js";
|
|
6
6
|
import "./Spinner-CI6bRyZw.js";
|
|
7
7
|
export {
|
|
8
8
|
e as Mermaid
|