zudoku 0.3.0-dev.60 → 0.3.0-dev.61
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/config/config.d.ts +6 -0
- package/dist/config/validators/validate.d.ts +30 -0
- package/dist/config/validators/validate.js +6 -0
- package/dist/config/validators/validate.js.map +1 -1
- package/dist/lib/authentication/AuthenticationPlugin.d.ts +2 -5
- package/dist/lib/authentication/AuthenticationPlugin.js +12 -12
- package/dist/lib/authentication/AuthenticationPlugin.js.map +1 -1
- package/dist/lib/authentication/authentication.d.ts +3 -5
- package/dist/lib/authentication/components/SignIn.d.ts +1 -0
- package/dist/lib/authentication/components/{Logout.js → SignIn.js} +3 -3
- package/dist/lib/authentication/components/{Logout.js.map → SignIn.js.map} +1 -1
- package/dist/lib/authentication/components/SignOut.d.ts +1 -0
- package/dist/lib/authentication/components/SignOut.js +10 -0
- package/dist/lib/authentication/components/SignOut.js.map +1 -0
- package/dist/lib/authentication/components/SignUp.d.ts +1 -0
- package/dist/lib/authentication/components/{Login.js → SignUp.js} +3 -3
- package/dist/lib/authentication/components/SignUp.js.map +1 -0
- package/dist/lib/authentication/hook.js +2 -2
- package/dist/lib/authentication/hook.js.map +1 -1
- package/dist/lib/authentication/providers/auth0.js +2 -2
- package/dist/lib/authentication/providers/auth0.js.map +1 -1
- package/dist/lib/authentication/providers/clerk.js +17 -6
- package/dist/lib/authentication/providers/clerk.js.map +1 -1
- package/dist/lib/authentication/providers/openid.d.ts +10 -5
- package/dist/lib/authentication/providers/openid.js +24 -6
- package/dist/lib/authentication/providers/openid.js.map +1 -1
- package/dist/lib/components/Header.js +1 -1
- package/dist/lib/components/Header.js.map +1 -1
- package/dist/lib/core/DevPortalContext.js.map +1 -1
- package/lib/AuthenticationPlugin-RvXALgvS.js +52 -0
- package/lib/AuthenticationPlugin-RvXALgvS.js.map +1 -0
- package/lib/{hook-Q_gAL2NZ.js → hook-BY1NP0kj.js} +9 -9
- package/lib/{hook-Q_gAL2NZ.js.map → hook-BY1NP0kj.js.map} +1 -1
- package/lib/zudoku.auth-auth0.js +9 -7
- package/lib/zudoku.auth-auth0.js.map +1 -1
- package/lib/zudoku.auth-clerk.js +48 -35
- package/lib/zudoku.auth-clerk.js.map +1 -1
- package/lib/zudoku.auth-openid.js +472 -456
- package/lib/zudoku.auth-openid.js.map +1 -1
- package/lib/zudoku.components.js +2 -2
- package/lib/zudoku.components.js.map +1 -1
- package/lib/zudoku.plugin-api-keys.js +1 -1
- package/package.json +1 -1
- package/src/lib/authentication/AuthenticationPlugin.tsx +12 -10
- package/src/lib/authentication/authentication.ts +3 -5
- package/src/lib/authentication/components/{Login.tsx → SignIn.tsx} +2 -2
- package/src/lib/authentication/components/SignOut.tsx +11 -0
- package/src/lib/authentication/components/{Logout.tsx → SignUp.tsx} +2 -2
- package/src/lib/authentication/hook.ts +2 -2
- package/src/lib/authentication/providers/auth0.tsx +4 -2
- package/src/lib/authentication/providers/clerk.tsx +22 -7
- package/src/lib/authentication/providers/openid.tsx +33 -5
- package/src/lib/components/Header.tsx +1 -1
- package/src/lib/core/DevPortalContext.ts +2 -0
- package/dist/lib/authentication/components/Login.d.ts +0 -1
- package/dist/lib/authentication/components/Login.js.map +0 -1
- package/dist/lib/authentication/components/Logout.d.ts +0 -1
- package/dist/lib/authentication/routes.d.ts +0 -5
- package/dist/lib/authentication/routes.js +0 -12
- package/dist/lib/authentication/routes.js.map +0 -1
- package/lib/AuthenticationPlugin-CG6Bw32B.js +0 -46
- package/lib/AuthenticationPlugin-CG6Bw32B.js.map +0 -1
- package/src/lib/authentication/routes.tsx +0 -10
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { j as e } from "./jsx-runtime-BIr0WBt_.js";
|
|
2
|
+
import { useEffect as i } from "react";
|
|
3
|
+
import { u as o } from "./DevPortalProvider-BBhQ8kgI.js";
|
|
4
|
+
const u = () => {
|
|
5
|
+
const t = o();
|
|
6
|
+
return i(() => {
|
|
7
|
+
var n;
|
|
8
|
+
(n = t.authentication) == null || n.signIn();
|
|
9
|
+
}, [t.authentication]), null;
|
|
10
|
+
}, s = () => {
|
|
11
|
+
const t = o();
|
|
12
|
+
return i(() => {
|
|
13
|
+
var n;
|
|
14
|
+
(n = t.authentication) == null || n.signOut();
|
|
15
|
+
}, [t.authentication]), null;
|
|
16
|
+
}, a = () => {
|
|
17
|
+
const t = o();
|
|
18
|
+
return i(() => {
|
|
19
|
+
var n;
|
|
20
|
+
(n = t.authentication) == null || n.signUp();
|
|
21
|
+
}, [t.authentication]), null;
|
|
22
|
+
};
|
|
23
|
+
class g {
|
|
24
|
+
getRoutes() {
|
|
25
|
+
return [
|
|
26
|
+
{
|
|
27
|
+
path: "/signout",
|
|
28
|
+
element: /* @__PURE__ */ e.jsx(s, {})
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
path: "/signin",
|
|
32
|
+
element: /* @__PURE__ */ e.jsx(u, {})
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
path: "/signup",
|
|
36
|
+
element: /* @__PURE__ */ e.jsx(a, {})
|
|
37
|
+
}
|
|
38
|
+
];
|
|
39
|
+
}
|
|
40
|
+
getProfileMenuItems() {
|
|
41
|
+
return [
|
|
42
|
+
{
|
|
43
|
+
label: "Logout",
|
|
44
|
+
path: "/signout"
|
|
45
|
+
}
|
|
46
|
+
];
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
export {
|
|
50
|
+
g as A
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=AuthenticationPlugin-RvXALgvS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AuthenticationPlugin-RvXALgvS.js","sources":["../src/lib/authentication/components/SignIn.tsx","../src/lib/authentication/components/SignOut.tsx","../src/lib/authentication/components/SignUp.tsx","../src/lib/authentication/AuthenticationPlugin.tsx"],"sourcesContent":["import { useEffect } from \"react\";\nimport { useDevPortal } from \"../../components/context/DevPortalProvider.js\";\n\nexport const SignIn = () => {\n const context = useDevPortal();\n useEffect(() => {\n void context.authentication?.signIn();\n }, [context.authentication]);\n\n return null;\n};\n","import { useEffect } from \"react\";\nimport { useDevPortal } from \"../../components/context/DevPortalProvider.js\";\n\nexport const SignOut = () => {\n const context = useDevPortal();\n useEffect(() => {\n void context.authentication?.signOut();\n }, [context.authentication]);\n\n return null;\n};\n","import { useEffect } from \"react\";\nimport { useDevPortal } from \"../../components/context/DevPortalProvider.js\";\n\nexport const SignUp = () => {\n const context = useDevPortal();\n useEffect(() => {\n void context.authentication?.signUp();\n }, [context.authentication]);\n\n return null;\n};\n","import {\n CommonPlugin,\n NavigationPlugin,\n ProfileMenuPlugin,\n} from \"../core/plugins.js\";\nimport { SignIn } from \"./components/SignIn.js\";\nimport { SignOut } from \"./components/SignOut.js\";\nimport { SignUp } from \"./components/SignUp.js\";\n\ntype PluginInterface = NavigationPlugin & CommonPlugin & ProfileMenuPlugin;\n\nexport class AuthenticationPlugin implements PluginInterface {\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 },\n ];\n }\n}\n"],"names":["SignIn","context","useDevPortal","useEffect","_a","SignOut","SignUp","AuthenticationPlugin"],"mappings":";;;AAGO,MAAMA,IAAS,MAAM;AAC1B,QAAMC,IAAUC;AAChB,SAAAC,EAAU,MAAM;;AACT,KAAAC,IAAAH,EAAQ,mBAAR,QAAAG,EAAwB;AAAA,EAAO,GACnC,CAACH,EAAQ,cAAc,CAAC,GAEpB;AACT,GCPaI,IAAU,MAAM;AAC3B,QAAMJ,IAAUC;AAChB,SAAAC,EAAU,MAAM;;AACT,KAAAC,IAAAH,EAAQ,mBAAR,QAAAG,EAAwB;AAAA,EAAQ,GACpC,CAACH,EAAQ,cAAc,CAAC,GAEpB;AACT,GCPaK,IAAS,MAAM;AAC1B,QAAML,IAAUC;AAChB,SAAAC,EAAU,MAAM;;AACT,KAAAC,IAAAH,EAAQ,mBAAR,QAAAG,EAAwB;AAAA,EAAO,GACnC,CAACH,EAAQ,cAAc,CAAC,GAEpB;AACT;ACCO,MAAMM,EAAgD;AAAA,EAC3D,YAAY;AACH,WAAA;AAAA,MACL;AAAA,QACE,MAAM;AAAA,QACN,+BAAUF,GAAQ,EAAA;AAAA,MACpB;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,+BAAUL,GAAO,EAAA;AAAA,MACnB;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,+BAAUM,GAAO,EAAA;AAAA,MACnB;AAAA,IAAA;AAAA,EAEJ;AAAA,EAEA,sBAAsB;AACb,WAAA;AAAA,MACL;AAAA,QACE,OAAO;AAAA,QACP,MAAM;AAAA,MACR;AAAA,IAAA;AAAA,EAEJ;AACF;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { c as
|
|
2
|
-
import { c as i, P as r, H as
|
|
1
|
+
import { c as a, j as t, e as o } from "./jsx-runtime-BIr0WBt_.js";
|
|
2
|
+
import { c as i, P as r, H as c, L as l } from "./Markdown-BjRJKl_E.js";
|
|
3
3
|
import { C as d } from "./CategoryHeading-DMkTmmBh.js";
|
|
4
4
|
import { p as m } from "./Combination-lAFQBd6U.js";
|
|
5
5
|
import { i as x } from "./router-BiRCp01d.js";
|
|
@@ -31,10 +31,10 @@ const p = i("Unlink", [
|
|
|
31
31
|
["line", { x1: "16", x2: "16", y1: "19", y2: "22", key: "rzdirn" }],
|
|
32
32
|
["line", { x1: "19", x2: "22", y1: "16", y2: "16", key: "ox905f" }]
|
|
33
33
|
]), f = () => {
|
|
34
|
-
const e =
|
|
34
|
+
const e = a();
|
|
35
35
|
return /* @__PURE__ */ t.jsxs("div", { className: r + " h-full pt-[--padding-content-top]", children: [
|
|
36
36
|
/* @__PURE__ */ t.jsx(d, { children: "404" }),
|
|
37
|
-
/* @__PURE__ */ t.jsxs(
|
|
37
|
+
/* @__PURE__ */ t.jsxs(c, { level: 1, className: "flex gap-3.5 items-center", children: [
|
|
38
38
|
"Page not found",
|
|
39
39
|
/* @__PURE__ */ t.jsx(p, { size: 24 })
|
|
40
40
|
] }),
|
|
@@ -51,7 +51,7 @@ const p = i("Unlink", [
|
|
|
51
51
|
"and add some content to make this error go away."
|
|
52
52
|
] }),
|
|
53
53
|
/* @__PURE__ */ t.jsx("p", { children: "It seems that the page you are looking for does not exist or may have been moved. Please check the URL for any typos or use the navigation menu to find the correct page." }),
|
|
54
|
-
/* @__PURE__ */ t.jsx(
|
|
54
|
+
/* @__PURE__ */ t.jsx(l, { to: "/", children: "Go back home" })
|
|
55
55
|
] });
|
|
56
56
|
};
|
|
57
57
|
function g({ error: e }) {
|
|
@@ -63,7 +63,7 @@ function g({ error: e }) {
|
|
|
63
63
|
] }) });
|
|
64
64
|
}
|
|
65
65
|
function P() {
|
|
66
|
-
const e =
|
|
66
|
+
const e = o();
|
|
67
67
|
return x(e) && e.status === 404 ? /* @__PURE__ */ t.jsx(f, {}) : /* @__PURE__ */ t.jsx(g, { error: e });
|
|
68
68
|
}
|
|
69
69
|
const R = () => {
|
|
@@ -76,12 +76,12 @@ const R = () => {
|
|
|
76
76
|
login: async () => {
|
|
77
77
|
if (!n)
|
|
78
78
|
throw new Error("Authentication is not enabled.");
|
|
79
|
-
await e.
|
|
79
|
+
await e.signIn();
|
|
80
80
|
},
|
|
81
81
|
logout: async () => {
|
|
82
82
|
if (!n)
|
|
83
83
|
throw new Error("Authentication is not enabled.");
|
|
84
|
-
await e.
|
|
84
|
+
await e.signOut(), window.location.href = "/";
|
|
85
85
|
}
|
|
86
86
|
};
|
|
87
87
|
};
|
|
@@ -90,4 +90,4 @@ export {
|
|
|
90
90
|
P as R,
|
|
91
91
|
R as u
|
|
92
92
|
};
|
|
93
|
-
//# sourceMappingURL=hook-
|
|
93
|
+
//# sourceMappingURL=hook-BY1NP0kj.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook-
|
|
1
|
+
{"version":3,"file":"hook-BY1NP0kj.js","sources":["../../../node_modules/.pnpm/lucide-react@0.378.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/unlink.js","../src/lib/components/NotFoundPage.tsx","../src/lib/errors/ErrorAlert.tsx","../src/lib/errors/RouterError.tsx","../src/lib/authentication/hook.ts"],"sourcesContent":["/**\n * @license lucide-react v0.378.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Unlink = createLucideIcon(\"Unlink\", [\n [\n \"path\",\n {\n d: \"m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71\",\n key: \"yqzxt4\"\n }\n ],\n [\n \"path\",\n {\n d: \"m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71\",\n key: \"4qinb0\"\n }\n ],\n [\"line\", { x1: \"8\", x2: \"8\", y1: \"2\", y2: \"5\", key: \"1041cp\" }],\n [\"line\", { x1: \"2\", x2: \"5\", y1: \"8\", y2: \"8\", key: \"14m1p5\" }],\n [\"line\", { x1: \"16\", x2: \"16\", y1: \"19\", y2: \"22\", key: \"rzdirn\" }],\n [\"line\", { x1: \"19\", x2: \"22\", y1: \"16\", y2: \"16\", key: \"ox905f\" }]\n]);\n\nexport { Unlink as default };\n//# sourceMappingURL=unlink.js.map\n","import { UnlinkIcon } from \"lucide-react\";\nimport { Link, useParams } from \"react-router-dom\";\nimport { CategoryHeading } from \"./CategoryHeading.js\";\nimport { DeveloperHint } from \"./DeveloperHint.js\";\nimport { Heading } from \"./Heading.js\";\nimport { ProseClasses } from \"./Markdown.js\";\n\nexport const NotFoundPage = () => {\n const params = useParams();\n\n return (\n <div className={ProseClasses + \" h-full pt-[--padding-content-top]\"}>\n <CategoryHeading>404</CategoryHeading>\n <Heading level={1} className=\"flex gap-3.5 items-center\">\n Page not found\n <UnlinkIcon size={24} />\n </Heading>\n <DeveloperHint>\n Start by adding a file at{\" \"}\n <code>\n {\"{PROJECT_ROOT}\"}/{params[\"*\"]}.mdx\n </code>{\" \"}\n and add some content to make this error go away.\n </DeveloperHint>\n <p>\n It seems that the page you are looking for does not exist or may have\n been moved. Please check the URL for any typos or use the navigation\n menu to find the correct page.\n </p>\n <Link to=\"/\">Go back home</Link>\n </div>\n );\n};\n","// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function ErrorAlert({ error }: { error: any }) {\n const message = error?.message ?? \"Something went wrong\";\n const stack = error?.stack;\n\n return (\n <div className=\"flex h-screen max-h-screen min-h-full items-center justify-center bg-primary-background px-4 py-16 lg:px-8\">\n <div className=\"mx-auto max-w-[85%] sm:max-w-[50%]\">\n <h1 className=\"text-4xl font-bold tracking-tight text-h1-text sm:text-5xl\">\n Something went wrong\n </h1>\n <p className=\"mt-5 text-h1-text\">{message}</p>\n {stack ? (\n <pre className=\"mt-5 max-h-[400px] w-full overflow-scroll rounded-md border border-input-border bg-input-background p-3 text-property-name-text text-red-700\">\n {stack}\n </pre>\n ) : null}\n </div>\n </div>\n );\n}\n","import { isRouteErrorResponse, useRouteError } from \"react-router-dom\";\nimport { NotFoundPage } from \"../components/NotFoundPage.js\";\nimport { ErrorAlert } from \"./ErrorAlert.js\";\n\nexport function RouterError() {\n const error = useRouteError();\n\n if (isRouteErrorResponse(error) && error.status === 404) {\n return <NotFoundPage />;\n }\n\n return <ErrorAlert error={error} />;\n}\n","import { useDevPortal } from \"../components/context/DevPortalProvider.js\";\nimport { useAuthState } from \"./state.js\";\n\nexport const useAuth = () => {\n const { authentication } = useDevPortal();\n const authState = useAuthState();\n const isAuthEnabled = typeof authentication !== \"undefined\";\n\n return {\n isAuthEnabled,\n isPending: authState.isPending,\n profile: authState.profile,\n isAuthenticated: authState.profile,\n\n login: async () => {\n if (!isAuthEnabled) {\n throw new Error(\"Authentication is not enabled.\");\n }\n // TODO: Should handle errors/state\n await authentication.signIn();\n },\n\n logout: async () => {\n if (!isAuthEnabled) {\n throw new Error(\"Authentication is not enabled.\");\n }\n // TODO: Should handle errors/state\n await authentication.signOut();\n\n // Redirect to home\n window.location.href = \"/\";\n },\n };\n};\n"],"names":["Unlink","createLucideIcon","NotFoundPage","params","useParams","jsxs","ProseClasses","jsx","CategoryHeading","Heading","UnlinkIcon","DeveloperHint","Link","ErrorAlert","error","message","stack","RouterError","useRouteError","isRouteErrorResponse","useAuth","authentication","useDevPortal","authState","useAuthState","isAuthEnabled"],"mappings":";;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,IAASC,EAAiB,UAAU;AAAA,EACxC;AAAA,IACE;AAAA,IACA;AAAA,MACE,GAAG;AAAA,MACH,KAAK;AAAA,IACN;AAAA,EACF;AAAA,EACD;AAAA,IACE;AAAA,IACA;AAAA,MACE,GAAG;AAAA,MACH,KAAK;AAAA,IACN;AAAA,EACF;AAAA,EACD,CAAC,QAAQ,EAAE,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,SAAQ,CAAE;AAAA,EAC9D,CAAC,QAAQ,EAAE,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,SAAQ,CAAE;AAAA,EAC9D,CAAC,QAAQ,EAAE,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,KAAK,SAAQ,CAAE;AAAA,EAClE,CAAC,QAAQ,EAAE,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,KAAK,SAAQ,CAAE;AACpE,CAAC,GCrBYC,IAAe,MAAM;AAChC,QAAMC,IAASC;AAEf,SACGC,gBAAAA,EAAAA,KAAA,OAAA,EAAI,WAAWC,IAAe,sCAC7B,UAAA;AAAA,IAAAC,gBAAAA,EAAAA,IAACC,KAAgB,UAAG,MAAA,CAAA;AAAA,IACnBH,gBAAAA,EAAA,KAAAI,GAAA,EAAQ,OAAO,GAAG,WAAU,6BAA4B,UAAA;AAAA,MAAA;AAAA,MAEvDF,gBAAAA,EAAAA,IAACG,GAAW,EAAA,MAAM,GAAI,CAAA;AAAA,IAAA,GACxB;AAAA,2BACCC,GAAc,EAAA,UAAA;AAAA,MAAA;AAAA,MACa;AAAA,6BACzB,QACE,EAAA,UAAA;AAAA,QAAA;AAAA,QAAiB;AAAA,QAAER,EAAO,GAAG;AAAA,QAAE;AAAA,MAAA,GAClC;AAAA,MAAQ;AAAA,MAAI;AAAA,IAAA,GAEd;AAAA,IACAI,gBAAAA,EAAAA,IAAC,OAAE,UAIH,4KAAA,CAAA;AAAA,IACCA,gBAAAA,EAAA,IAAAK,GAAA,EAAK,IAAG,KAAI,UAAY,gBAAA;AAAA,EAC3B,EAAA,CAAA;AAEJ;AC/BgB,SAAAC,EAAW,EAAE,OAAAC,KAAyB;AAC9C,QAAAC,KAAUD,KAAA,gBAAAA,EAAO,YAAW,wBAC5BE,IAAQF,KAAA,gBAAAA,EAAO;AAErB,+BACG,OAAI,EAAA,WAAU,8GACb,UAACT,gBAAAA,EAAA,KAAA,OAAA,EAAI,WAAU,sCACb,UAAA;AAAA,IAACE,gBAAAA,EAAA,IAAA,MAAA,EAAG,WAAU,8DAA6D,UAE3E,wBAAA;AAAA,IACCA,gBAAAA,EAAA,IAAA,KAAA,EAAE,WAAU,qBAAqB,UAAQQ,GAAA;AAAA,IACzCC,IACET,gBAAAA,EAAAA,IAAA,OAAA,EAAI,WAAU,gJACZ,YACH,CAAA,IACE;AAAA,EAAA,EACN,CAAA,EACF,CAAA;AAEJ;AChBO,SAASU,IAAc;AAC5B,QAAMH,IAAQI;AAEd,SAAIC,EAAqBL,CAAK,KAAKA,EAAM,WAAW,4BAC1CZ,GAAa,CAAA,CAAA,IAGhBK,gBAAAA,MAACM,KAAW,OAAAC,EAAc,CAAA;AACnC;ACTO,MAAMM,IAAU,MAAM;AACrB,QAAA,EAAE,gBAAAC,MAAmBC,KACrBC,IAAYC,KACZC,IAAgB,OAAOJ,IAAmB;AAEzC,SAAA;AAAA,IACL,eAAAI;AAAA,IACA,WAAWF,EAAU;AAAA,IACrB,SAASA,EAAU;AAAA,IACnB,iBAAiBA,EAAU;AAAA,IAE3B,OAAO,YAAY;AACjB,UAAI,CAACE;AACG,cAAA,IAAI,MAAM,gCAAgC;AAGlD,YAAMJ,EAAe;IACvB;AAAA,IAEA,QAAQ,YAAY;AAClB,UAAI,CAACI;AACG,cAAA,IAAI,MAAM,gCAAgC;AAGlD,YAAMJ,EAAe,WAGrB,OAAO,SAAS,OAAO;AAAA,IACzB;AAAA,EAAA;AAEJ;","x_google_ignoreList":[0]}
|
package/lib/zudoku.auth-auth0.js
CHANGED
|
@@ -1,19 +1,21 @@
|
|
|
1
|
-
import { u as
|
|
1
|
+
import { u as o } from "./state-DKdaQzvh.js";
|
|
2
2
|
import { OpenIDAuthenticationProvider as n } from "./zudoku.auth-openid.js";
|
|
3
3
|
class r extends n {
|
|
4
|
-
async
|
|
5
|
-
|
|
4
|
+
async signOut() {
|
|
5
|
+
o.setState({
|
|
6
6
|
isAuthenticated: !1,
|
|
7
7
|
isPending: !1,
|
|
8
8
|
profile: void 0
|
|
9
9
|
});
|
|
10
|
-
const t = await this.getAuthServer(), e = new URL(
|
|
10
|
+
const t = await this.getAuthServer(), e = new URL(
|
|
11
|
+
window.location.origin + this.logoutRedirectUrlPath
|
|
12
|
+
);
|
|
11
13
|
e.pathname = this.logoutRedirectUrlPath;
|
|
12
|
-
let
|
|
13
|
-
t.end_session_endpoint ? (
|
|
14
|
+
let i;
|
|
15
|
+
t.end_session_endpoint ? (i = new URL(t.end_session_endpoint), i.searchParams.set(
|
|
14
16
|
"post_logout_redirect_uri",
|
|
15
17
|
e.toString()
|
|
16
|
-
)) :
|
|
18
|
+
)) : i = new URL(`${this.issuer}oidc/logout`);
|
|
17
19
|
}
|
|
18
20
|
}
|
|
19
21
|
const d = ({ domain: s, clientId: t, audience: e }) => new r({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zudoku.auth-auth0.js","sources":["../src/lib/authentication/providers/auth0.tsx"],"sourcesContent":["import { Auth0AuthenticationConfig } from \"../../../config/config.js\";\nimport { AuthenticationProviderInitializer } from \"../authentication.js\";\nimport { useAuthState } from \"../state.js\";\nimport { OpenIDAuthenticationProvider } from \"./openid.js\";\n\nclass Auth0AuthenticationProvider extends OpenIDAuthenticationProvider {\n override async
|
|
1
|
+
{"version":3,"file":"zudoku.auth-auth0.js","sources":["../src/lib/authentication/providers/auth0.tsx"],"sourcesContent":["import { Auth0AuthenticationConfig } from \"../../../config/config.js\";\nimport { AuthenticationProviderInitializer } from \"../authentication.js\";\nimport { useAuthState } from \"../state.js\";\nimport { OpenIDAuthenticationProvider } from \"./openid.js\";\n\nclass Auth0AuthenticationProvider extends OpenIDAuthenticationProvider {\n override async signOut(): Promise<void> {\n useAuthState.setState({\n isAuthenticated: false,\n isPending: false,\n profile: undefined,\n });\n const as = await this.getAuthServer();\n\n const redirectUrl = new URL(\n window.location.origin + this.logoutRedirectUrlPath,\n );\n redirectUrl.pathname = this.logoutRedirectUrlPath;\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 let logoutUrl: URL;\n // The endSessionEndpoint is set, the IdP supports some form of logout,\n // so we use the IdP logout. Otherwise, just redirect the user to home\n if (as.end_session_endpoint) {\n logoutUrl = new URL(as.end_session_endpoint);\n // TODO: get id_token and set hint\n // const { id_token } = session;\n // if (id_token) {\n // logoutUrl.searchParams.set(\"id_token_hint\", id_token);\n // }\n logoutUrl.searchParams.set(\n \"post_logout_redirect_uri\",\n redirectUrl.toString(),\n );\n } else {\n logoutUrl = new URL(`${this.issuer}oidc/logout`);\n }\n }\n}\n\nconst auth0Auth: AuthenticationProviderInitializer<\n Auth0AuthenticationConfig\n> = ({ domain, clientId, audience }) =>\n new Auth0AuthenticationProvider({\n type: \"openid\",\n issuer: `https://${domain}`,\n clientId: clientId,\n audience: audience,\n });\n\nexport default auth0Auth;\n"],"names":["Auth0AuthenticationProvider","OpenIDAuthenticationProvider","useAuthState","as","redirectUrl","logoutUrl","auth0Auth","domain","clientId","audience"],"mappings":";;AAKA,MAAMA,UAAoCC,EAA6B;AAAA,EACrE,MAAe,UAAyB;AACtC,IAAAC,EAAa,SAAS;AAAA,MACpB,iBAAiB;AAAA,MACjB,WAAW;AAAA,MACX,SAAS;AAAA,IAAA,CACV;AACK,UAAAC,IAAK,MAAM,KAAK,iBAEhBC,IAAc,IAAI;AAAA,MACtB,OAAO,SAAS,SAAS,KAAK;AAAA,IAAA;AAEhC,IAAAA,EAAY,WAAW,KAAK;AAOxB,QAAAC;AAGJ,IAAIF,EAAG,wBACOE,IAAA,IAAI,IAAIF,EAAG,oBAAoB,GAM3CE,EAAU,aAAa;AAAA,MACrB;AAAA,MACAD,EAAY,SAAS;AAAA,IAAA,KAGvBC,IAAY,IAAI,IAAI,GAAG,KAAK,MAAM,aAAa;AAAA,EAEnD;AACF;AAEM,MAAAC,IAEF,CAAC,EAAE,QAAAC,GAAQ,UAAAC,GAAU,UAAAC,EAAS,MAChC,IAAIT,EAA4B;AAAA,EAC9B,MAAM;AAAA,EACN,QAAQ,WAAWO,CAAM;AAAA,EACzB,UAAAC;AAAA,EACA,UAAAC;AACF,CAAC;"}
|
package/lib/zudoku.auth-clerk.js
CHANGED
|
@@ -1,62 +1,75 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var
|
|
4
|
-
import { A as
|
|
5
|
-
import { u as
|
|
6
|
-
class
|
|
7
|
-
constructor(
|
|
1
|
+
var u = Object.defineProperty;
|
|
2
|
+
var d = (n, i, e) => i in n ? u(n, i, { enumerable: !0, configurable: !0, writable: !0, value: e }) : n[i] = e;
|
|
3
|
+
var a = (n, i, e) => d(n, typeof i != "symbol" ? i + "" : i, e);
|
|
4
|
+
import { A as w } from "./AuthenticationPlugin-RvXALgvS.js";
|
|
5
|
+
import { u as l } from "./state-DKdaQzvh.js";
|
|
6
|
+
class g extends w {
|
|
7
|
+
constructor(e) {
|
|
8
8
|
super();
|
|
9
|
-
|
|
10
|
-
var
|
|
11
|
-
const
|
|
12
|
-
|
|
9
|
+
a(this, "initialize", async () => {
|
|
10
|
+
var t;
|
|
11
|
+
const e = await this.clerk;
|
|
12
|
+
e && (e.session ? l.setState({
|
|
13
13
|
isAuthenticated: !0,
|
|
14
14
|
isPending: !1,
|
|
15
15
|
profile: {
|
|
16
|
-
sub:
|
|
17
|
-
name:
|
|
18
|
-
email: (
|
|
16
|
+
sub: e.session.user.id,
|
|
17
|
+
name: e.session.user.fullName ?? void 0,
|
|
18
|
+
email: (t = e.session.user.emailAddresses[0]) == null ? void 0 : t.emailAddress,
|
|
19
19
|
emailVerified: !1,
|
|
20
20
|
// TODO: Check this
|
|
21
|
-
pictureUrl:
|
|
21
|
+
pictureUrl: e.session.user.imageUrl
|
|
22
22
|
}
|
|
23
|
-
}) :
|
|
23
|
+
}) : l.setState({
|
|
24
24
|
isAuthenticated: !1,
|
|
25
25
|
isPending: !1,
|
|
26
26
|
profile: void 0
|
|
27
27
|
}));
|
|
28
28
|
});
|
|
29
|
-
this.clerk =
|
|
29
|
+
this.clerk = e;
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
|
-
const h = ({
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
const h = ({
|
|
33
|
+
clerkPubKey: n,
|
|
34
|
+
redirectToAfterSignOut: i = "/",
|
|
35
|
+
redirectToAfterSignUp: e = "/",
|
|
36
|
+
redirectToAfterSignIn: t = "/"
|
|
37
|
+
}) => {
|
|
38
|
+
let s;
|
|
39
|
+
const r = (async () => {
|
|
35
40
|
if (typeof window > "u") return;
|
|
36
|
-
const { Clerk:
|
|
37
|
-
return
|
|
41
|
+
const { Clerk: o } = await import("@clerk/clerk-js");
|
|
42
|
+
return s = new o(n), await s.load(), s;
|
|
38
43
|
})();
|
|
39
|
-
async function
|
|
40
|
-
if (await
|
|
44
|
+
async function c() {
|
|
45
|
+
if (await r, !s.session)
|
|
41
46
|
throw new Error("No session available");
|
|
42
|
-
const
|
|
43
|
-
if (!
|
|
47
|
+
const o = await s.session.getToken();
|
|
48
|
+
if (!o)
|
|
44
49
|
throw new Error("Could not get access token from Clerk");
|
|
45
|
-
return
|
|
50
|
+
return o;
|
|
46
51
|
}
|
|
47
52
|
return {
|
|
48
|
-
getAccessToken:
|
|
49
|
-
|
|
50
|
-
await
|
|
53
|
+
getAccessToken: c,
|
|
54
|
+
signOut: async () => {
|
|
55
|
+
await r, await s.signOut({
|
|
56
|
+
redirectUrl: window.location.origin + i
|
|
57
|
+
});
|
|
58
|
+
},
|
|
59
|
+
signIn: async () => {
|
|
60
|
+
await r, await s.redirectToSignIn({
|
|
61
|
+
signInForceRedirectUrl: window.location.origin + t,
|
|
62
|
+
signUpForceRedirectUrl: window.location.origin + e
|
|
63
|
+
});
|
|
51
64
|
},
|
|
52
|
-
|
|
53
|
-
await
|
|
54
|
-
signInForceRedirectUrl:
|
|
55
|
-
signUpForceRedirectUrl:
|
|
65
|
+
signUp: async () => {
|
|
66
|
+
await r, await s.redirectToSignUp({
|
|
67
|
+
signInForceRedirectUrl: window.location.origin + t,
|
|
68
|
+
signUpForceRedirectUrl: window.location.origin + e
|
|
56
69
|
});
|
|
57
70
|
},
|
|
58
71
|
getAuthenticationPlugin() {
|
|
59
|
-
return new
|
|
72
|
+
return new g(r);
|
|
60
73
|
}
|
|
61
74
|
};
|
|
62
75
|
};
|
|
@@ -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 { ClerkAuthenticationConfig } from \"../../../config/config.js\";\nimport { AuthenticationProviderInitializer } from \"../authentication.js\";\nimport { AuthenticationPlugin } from \"../AuthenticationPlugin.js\";\nimport { useAuthState } from \"../state.js\";\n\nclass ClerkAuthPlugin extends AuthenticationPlugin {\n constructor(private clerk: Promise<Clerk | undefined>) {\n super();\n }\n initialize = async () => {\n const clerk = await this.clerk;\n\n if (!clerk) {\n return;\n }\n\n if (clerk.session) {\n useAuthState.setState({\n isAuthenticated: true,\n isPending: false,\n profile: {\n sub: clerk.session.user.id,\n name: clerk.session.user.fullName ?? undefined,\n email: clerk.session.user.emailAddresses[0]?.emailAddress,\n emailVerified: false, // TODO: Check this\n pictureUrl: clerk.session.user.imageUrl,\n },\n });\n } else {\n useAuthState.setState({\n isAuthenticated: false,\n isPending: false,\n profile: undefined,\n });\n }\n };\n}\n\nconst clerkAuth: AuthenticationProviderInitializer<\n ClerkAuthenticationConfig\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 { ClerkAuthenticationConfig } from \"../../../config/config.js\";\nimport { AuthenticationProviderInitializer } from \"../authentication.js\";\nimport { AuthenticationPlugin } from \"../AuthenticationPlugin.js\";\nimport { useAuthState } from \"../state.js\";\n\nclass ClerkAuthPlugin extends AuthenticationPlugin {\n constructor(private clerk: Promise<Clerk | undefined>) {\n super();\n }\n initialize = async () => {\n const clerk = await this.clerk;\n\n if (!clerk) {\n return;\n }\n\n if (clerk.session) {\n useAuthState.setState({\n isAuthenticated: true,\n isPending: false,\n profile: {\n sub: clerk.session.user.id,\n name: clerk.session.user.fullName ?? undefined,\n email: clerk.session.user.emailAddresses[0]?.emailAddress,\n emailVerified: false, // TODO: Check this\n pictureUrl: clerk.session.user.imageUrl,\n },\n });\n } else {\n useAuthState.setState({\n isAuthenticated: false,\n isPending: false,\n profile: undefined,\n });\n }\n };\n}\n\nconst clerkAuth: AuthenticationProviderInitializer<\n ClerkAuthenticationConfig\n> = ({\n clerkPubKey,\n redirectToAfterSignOut = \"/\",\n redirectToAfterSignUp = \"/\",\n redirectToAfterSignIn = \"/\",\n}) => {\n let clerkApi: Clerk;\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 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 if (!response) {\n throw new Error(\"Could not get access token from Clerk\");\n }\n return response;\n }\n\n return {\n getAccessToken,\n signOut: async () => {\n await ensureLoaded;\n await clerkApi.signOut({\n redirectUrl: window.location.origin + redirectToAfterSignOut,\n });\n },\n signIn: async () => {\n await ensureLoaded;\n await clerkApi.redirectToSignIn({\n signInForceRedirectUrl: window.location.origin + redirectToAfterSignIn,\n signUpForceRedirectUrl: window.location.origin + redirectToAfterSignUp,\n });\n },\n signUp: async () => {\n await ensureLoaded;\n await clerkApi.redirectToSignUp({\n signInForceRedirectUrl: window.location.origin + redirectToAfterSignIn,\n signUpForceRedirectUrl: window.location.origin + redirectToAfterSignUp,\n });\n },\n getAuthenticationPlugin() {\n return new ClerkAuthPlugin(ensureLoaded);\n },\n };\n};\n\nexport default clerkAuth;\n"],"names":["ClerkAuthPlugin","AuthenticationPlugin","clerk","__publicField","useAuthState","_a","clerkAuth","clerkPubKey","redirectToAfterSignOut","redirectToAfterSignUp","redirectToAfterSignIn","clerkApi","ensureLoaded","Clerk","getAccessToken","response"],"mappings":";;;;;AAMA,MAAMA,UAAwBC,EAAqB;AAAA,EACjD,YAAoBC,GAAmC;AAC/C;AAER,IAAAC,EAAA,oBAAa,YAAY;;AACjB,YAAAD,IAAQ,MAAM,KAAK;AAEzB,MAAKA,MAIDA,EAAM,UACRE,EAAa,SAAS;AAAA,QACpB,iBAAiB;AAAA,QACjB,WAAW;AAAA,QACX,SAAS;AAAA,UACP,KAAKF,EAAM,QAAQ,KAAK;AAAA,UACxB,MAAMA,EAAM,QAAQ,KAAK,YAAY;AAAA,UACrC,QAAOG,IAAAH,EAAM,QAAQ,KAAK,eAAe,CAAC,MAAnC,gBAAAG,EAAsC;AAAA,UAC7C,eAAe;AAAA;AAAA,UACf,YAAYH,EAAM,QAAQ,KAAK;AAAA,QACjC;AAAA,MAAA,CACD,IAEDE,EAAa,SAAS;AAAA,QACpB,iBAAiB;AAAA,QACjB,WAAW;AAAA,QACX,SAAS;AAAA,MAAA,CACV;AAAA,IACH;AA5BkB,SAAA,QAAAF;AAAA,EAEpB;AA4BF;AAEA,MAAMI,IAEF,CAAC;AAAA,EACH,aAAAC;AAAA,EACA,wBAAAC,IAAyB;AAAA,EACzB,uBAAAC,IAAwB;AAAA,EACxB,uBAAAC,IAAwB;AAC1B,MAAM;AACA,MAAAC;AACJ,QAAMC,KAAgB,YAAY;AAC5B,QAAA,OAAO,SAAW,IAAa;AACnC,UAAM,EAAE,OAAAC,EAAA,IAAU,MAAM,OAAO,iBAAiB;AACrC,WAAAF,IAAA,IAAIE,EAAMN,CAAW,GAEhC,MAAMI,EAAS,QACRA;AAAA,EAAA;AAGT,iBAAeG,IAAiB;AAE1B,QADE,MAAAF,GACF,CAACD,EAAS;AACN,YAAA,IAAI,MAAM,sBAAsB;AAExC,UAAMI,IAAW,MAAMJ,EAAS,QAAQ,SAAS;AACjD,QAAI,CAACI;AACG,YAAA,IAAI,MAAM,uCAAuC;AAElD,WAAAA;AAAA,EACT;AAEO,SAAA;AAAA,IACL,gBAAAD;AAAA,IACA,SAAS,YAAY;AACb,YAAAF,GACN,MAAMD,EAAS,QAAQ;AAAA,QACrB,aAAa,OAAO,SAAS,SAASH;AAAA,MAAA,CACvC;AAAA,IACH;AAAA,IACA,QAAQ,YAAY;AACZ,YAAAI,GACN,MAAMD,EAAS,iBAAiB;AAAA,QAC9B,wBAAwB,OAAO,SAAS,SAASD;AAAA,QACjD,wBAAwB,OAAO,SAAS,SAASD;AAAA,MAAA,CAClD;AAAA,IACH;AAAA,IACA,QAAQ,YAAY;AACZ,YAAAG,GACN,MAAMD,EAAS,iBAAiB;AAAA,QAC9B,wBAAwB,OAAO,SAAS,SAASD;AAAA,QACjD,wBAAwB,OAAO,SAAS,SAASD;AAAA,MAAA,CAClD;AAAA,IACH;AAAA,IACA,0BAA0B;AACjB,aAAA,IAAIT,EAAgBY,CAAY;AAAA,IACzC;AAAA,EAAA;AAEJ;"}
|